0001159167-19-000037.txt : 20191031 0001159167-19-000037.hdr.sgml : 20191031 20191031160458 ACCESSION NUMBER: 0001159167-19-000037 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 73 CONFORMED PERIOD OF REPORT: 20190928 FILED AS OF DATE: 20191031 DATE AS OF CHANGE: 20191031 FILER: COMPANY DATA: COMPANY CONFORMED NAME: IROBOT CORP CENTRAL INDEX KEY: 0001159167 STANDARD INDUSTRIAL CLASSIFICATION: HOUSEHOLD APPLIANCES [3630] IRS NUMBER: 770259335 STATE OF INCORPORATION: DE FISCAL YEAR END: 1228 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-36414 FILM NUMBER: 191183667 BUSINESS ADDRESS: STREET 1: 8 CROSBY DRIVE CITY: BEDFORD STATE: MA ZIP: 01730 BUSINESS PHONE: 781-430-3000 MAIL ADDRESS: STREET 1: 8 CROSBY DRIVE CITY: BEDFORD STATE: MA ZIP: 01730 10-Q 1 irbt-201992810q.htm 10-Q Document
false--12-28Q32019000115916730035000205160000.010.011000000001000000002778800028245000277880002824500050000005000000 0001159167 2018-12-30 2019-09-28 0001159167 2019-10-26 0001159167 2019-09-28 0001159167 2018-12-29 0001159167 2019-06-30 2019-09-28 0001159167 2018-07-01 2018-09-29 0001159167 2017-12-31 2018-09-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-12-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-12-30 2019-09-28 0001159167 us-gaap:CommonStockMember 2018-12-30 2019-09-28 0001159167 us-gaap:RetainedEarningsMember 2018-12-29 0001159167 us-gaap:RetainedEarningsMember 2018-12-30 2019-09-28 0001159167 us-gaap:CommonStockMember 2019-09-28 0001159167 us-gaap:RetainedEarningsMember 2019-09-28 0001159167 us-gaap:CommonStockMember 2018-12-29 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-29 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-30 2019-09-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-09-28 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-09-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-09-29 0001159167 us-gaap:CommonStockMember 2018-07-01 2018-09-29 0001159167 2018-09-29 0001159167 us-gaap:RetainedEarningsMember 2018-07-01 2018-09-29 0001159167 2018-06-30 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-07-01 2018-09-29 0001159167 us-gaap:RetainedEarningsMember 2018-06-30 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-07-01 2018-09-29 0001159167 us-gaap:CommonStockMember 2018-09-29 0001159167 us-gaap:CommonStockMember 2018-06-30 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-06-30 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-06-30 0001159167 us-gaap:RetainedEarningsMember 2018-09-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-09-29 0001159167 us-gaap:CommonStockMember 2017-12-31 2018-09-29 0001159167 us-gaap:CommonStockMember 2017-12-30 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2017-12-31 2018-09-29 0001159167 us-gaap:RetainedEarningsMember 2017-12-31 2018-09-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2017-12-31 2018-09-29 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2017-12-30 0001159167 us-gaap:RetainedEarningsMember 2017-12-30 0001159167 2017-12-30 0001159167 us-gaap:AdditionalPaidInCapitalMember 2017-12-30 0001159167 us-gaap:RetainedEarningsMember 2019-06-29 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-06-30 2019-09-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-06-29 0001159167 us-gaap:CommonStockMember 2019-06-30 2019-09-28 0001159167 us-gaap:CommonStockMember 2019-06-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-06-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-06-30 2019-09-28 0001159167 us-gaap:RetainedEarningsMember 2019-06-30 2019-09-28 0001159167 2019-06-29 0001159167 2019-10-17 2019-10-17 0001159167 country:US 2017-12-31 2018-09-29 0001159167 us-gaap:EMEAMember 2018-07-01 2018-09-29 0001159167 irbt:AllOtherRegionsMember 2017-12-31 2018-09-29 0001159167 irbt:AllOtherRegionsMember 2019-06-30 2019-09-28 0001159167 country:US 2018-07-01 2018-09-29 0001159167 us-gaap:EMEAMember 2019-06-30 2019-09-28 0001159167 country:US 2019-06-30 2019-09-28 0001159167 country:US 2018-12-30 2019-09-28 0001159167 us-gaap:EMEAMember 2017-12-31 2018-09-29 0001159167 us-gaap:EMEAMember 2018-12-30 2019-09-28 0001159167 irbt:AllOtherRegionsMember 2018-12-30 2019-09-28 0001159167 irbt:AllOtherRegionsMember 2018-07-01 2018-09-29 0001159167 2018-12-30 0001159167 us-gaap:NoncompeteAgreementsMember 2019-09-28 0001159167 us-gaap:TradeNamesMember 2018-12-29 0001159167 us-gaap:CustomerRelatedIntangibleAssetsMember 2019-09-28 0001159167 us-gaap:PatentedTechnologyMember 2018-12-29 0001159167 us-gaap:DistributionRightsMember 2019-09-28 0001159167 us-gaap:CustomerRelatedIntangibleAssetsMember 2018-12-29 0001159167 us-gaap:NoncompeteAgreementsMember 2018-12-29 0001159167 us-gaap:PatentedTechnologyMember 2019-09-28 0001159167 us-gaap:TradeNamesMember 2019-09-28 0001159167 us-gaap:DistributionRightsMember 2018-12-29 0001159167 us-gaap:CostOfSalesMember 2019-09-28 0001159167 us-gaap:OperatingExpenseMember 2019-09-28 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2018-07-01 2018-09-29 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2019-06-30 2019-09-28 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2018-12-30 2019-09-28 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2017-12-31 2018-09-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesRevenueNetMember 2017-12-31 2018-09-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:CostOfSalesMember 2018-12-30 2019-09-28 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:CostOfSalesMember 2017-12-31 2018-09-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesRevenueNetMember 2018-12-30 2019-09-28 0001159167 us-gaap:OtherNoncurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-09-28 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2019-09-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2018-12-29 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember 2019-09-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember 2018-12-29 0001159167 us-gaap:OtherNoncurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2018-12-29 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2018-12-29 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-09-28 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-09-28 0001159167 us-gaap:OtherNoncurrentLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-09-28 0001159167 us-gaap:OtherNoncurrentLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2018-12-29 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2018-12-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesRevenueNetMember 2018-07-01 2018-09-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesRevenueNetMember 2019-06-30 2019-09-28 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:CostOfSalesMember 2018-07-01 2018-09-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:CostOfSalesMember 2019-06-30 2019-09-28 0001159167 us-gaap:NondesignatedMember 2019-09-28 0001159167 us-gaap:NondesignatedMember 2018-12-29 0001159167 us-gaap:DesignatedAsHedgingInstrumentMember 2019-09-28 0001159167 us-gaap:DesignatedAsHedgingInstrumentMember 2018-12-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2018-07-01 2018-09-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2017-12-31 2018-09-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2018-12-30 2019-09-28 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2019-06-30 2019-09-28 0001159167 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2018-12-29 0001159167 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2018-12-29 0001159167 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2018-12-29 0001159167 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-09-28 0001159167 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-09-28 0001159167 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-09-28 0001159167 2018-02-27 0001159167 2017-12-31 2018-12-29 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2019-06-30 2019-09-28 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2018-12-30 2019-09-28 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2018-07-01 2018-09-29 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2017-12-31 2018-09-29 xbrli:pure irbt:segment xbrli:shares iso4217:USD xbrli:shares iso4217:USD
 
 
 

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
WASHINGTON, D.C. 20549
______________________________________________ 
FORM 10-Q
 ______________________________________________
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
FOR THE QUARTERLY PERIOD ENDED September 28, 2019
OR
TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
FOR THE TRANSITION PERIOD FROM              TO             
COMMISSION FILE NUMBER 001-36414
______________________________________________ 
iROBOT CORPORATION
(Exact name of registrant as specified in its charter)
 ______________________________________________
Delaware
77-0259335
(State or other jurisdiction of
incorporation or organization)
(I.R.S. Employer
Identification No.)
8 Crosby Drive
Bedford, MA 01730
(Address of principal executive offices, including zip code)

(781) 430-3000
(Registrant’s telephone number, including area code)

Securities registered pursuant to Section 12(b) of the Act:
Title of each class
Trading Symbol(s)
Name of each exchange on which registered
Common Stock, $0.01 par value
IRBT
The Nasdaq Stock Market LLC
______________________________________________ 
Indicate by check mark whether the registrant (1) has 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 the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.    Yes  x    No  o
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 (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).    Yes  x    No  o
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 “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

 
 
 
 
 
        

 
 
 

Large accelerated filer
Accelerated filer
 
 
 
 
Non-accelerated filer
Smaller reporting company
 
 
 
 
 
 
Emerging growth company
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. o    
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).    Yes      No  x 
The number of shares outstanding of the Registrant’s Common Stock as of October 26, 2019 was 28,270,544.

 
 
 
 
 
        




iROBOT CORPORATION
FORM 10-Q
FOR THE QUARTER ENDED SEPTEMBER 28, 2019
INDEX
 
Page
PART I: FINANCIAL INFORMATION
 
 
Item 1. Financial Statements (unaudited)
 
 
 
 
 

2






iROBOT CORPORATION
CONSOLIDATED BALANCE SHEETS
(in thousands, except per share amounts)
(unaudited)
 
 
September 28, 2019
 
December 29, 2018
ASSETS
Current assets:
 
 
 
Cash and cash equivalents
$
70,542

 
$
130,373

Short term investments
20,530

 
31,605

Accounts receivable, net
169,562

 
162,166

Inventory
248,303

 
164,633

Other current assets
39,112

 
25,660

   Total current assets
548,049

 
514,437

Property and equipment, net
75,019

 
57,026

Operating lease right-of-use assets
48,948

 

Deferred tax assets
37,177

 
36,979

Goodwill
117,537

 
118,896

Intangible assets, net
14,931

 
24,273

Other assets
32,003

 
15,350

   Total assets
$
873,664

 
$
766,961

LIABILITIES AND STOCKHOLDERS’ EQUITY
Current liabilities:
 
 
 
Accounts payable
$
108,331

 
$
136,742

Accrued expenses
70,586

 
71,259

Deferred revenue and customer advances
4,902

 
5,756

   Total current liabilities
183,819

 
213,757

Operating lease liabilities
56,341

 

Deferred tax liabilities
1,560

 
4,005

Other long-term liabilities
9,059

 
13,877

   Total long-term liabilities
66,960

 
17,882

   Total liabilities
250,779

 
231,639

Commitments and contingencies (Note 11)


 


Preferred stock, 5,000 shares authorized and none outstanding

 

Common stock, $0.01 par value, 100,000 shares authorized; 28,245 and 27,788 shares issued and outstanding, respectively
282

 
278

Additional paid-in capital
189,268

 
172,771

Retained earnings
432,280

 
367,021

Accumulated other comprehensive income (loss)
1,055

 
(4,748
)
   Total stockholders’ equity
622,885

 
535,322

   Total liabilities and stockholders’ equity
$
873,664

 
$
766,961

The accompanying notes are an integral part of the consolidated financial statements.

3




iROBOT CORPORATION
CONSOLIDATED STATEMENTS OF INCOME
(in thousands, except per share amounts)
(unaudited)
 
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Revenue
$
289,399

 
$
264,534

 
$
787,232

 
$
707,919

Cost of revenue:
 
 
 
 
 
 
 
Cost of product revenue
149,463

 
124,754

 
403,392

 
324,967

Amortization of acquired intangible assets
3,095

 
4,574

 
9,283

 
14,035

Total cost of revenue
152,558

 
129,328

 
412,675

 
339,002

Gross profit
136,841

 
135,206

 
374,557

 
368,917

Operating expenses:
 
 
 
 
 
 
 
Research and development
33,401

 
35,309

 
104,320

 
103,178

Selling and marketing
42,257

 
39,030

 
137,502

 
116,269

General and administrative
18,372

 
23,329

 
61,871

 
72,630

Amortization of acquired intangible assets
256

 
263

 
796

 
805

Total operating expenses
94,286

 
97,931

 
304,489

 
292,882

Operating income
42,555

 
37,275

 
70,068

 
76,035

Other income, net
900

 
337

 
3,713

 
2,363

Income before income taxes
43,455

 
37,612

 
73,781

 
78,398

Income tax expense
7,923

 
5,683

 
8,522

 
15,597

Net income
$
35,532

 
$
31,929

 
$
65,259

 
$
62,801

Net income per share:
 
 
 
 
 
 
 
Basic
$
1.26

 
$
1.16

 
$
2.33

 
$
2.27

Diluted
$
1.24

 
$
1.12

 
$
2.27

 
$
2.19

Number of shares used in per share calculations:
 
 
 
 
 
 
 
Basic
28,154

 
27,493

 
28,029

 
27,692

Diluted
28,650

 
28,506

 
28,759

 
28,629


The accompanying notes are an integral part of the consolidated financial statements.

4




iROBOT CORPORATION
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME
(in thousands)
(unaudited)
 
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Net income
$
35,532

 
$
31,929

 
$
65,259

 
$
62,801

Other comprehensive income (loss):
 
 
 
 
 
 
 
Net foreign currency translation adjustments
(4,902
)
 
1,826

 
(5,578
)
 
(3,960
)
Net unrealized gains (losses) on cash flow hedges, net of tax
8,175

 
272

 
11,437

 
40

Net (gains) losses on cash flow hedge reclassified into earnings, net of tax
(138
)
 
(412
)
 
(300
)
 
9

Net unrealized gains (losses) on marketable securities, net of tax
36

 
(28
)
 
244

 
(113
)
Total comprehensive income
$
38,703

 
$
33,587

 
$
71,062

 
$
58,777

The accompanying notes are an integral part of the consolidated financial statements.

5




iROBOT CORPORATION
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY
(in thousands)
(unaudited)

 
Three Months Ended
 
Common Stock
 
Additional
Paid-In
Capital
 
Retained
Earnings
 
Accumulated
Other
Comprehensive
Income (Loss) ("AOCI")
 
Stockholders’
Equity
 
Shares
 
Value
 
Balance at June 29, 2019
28,123

 
$
281

 
$
184,663

 
$
396,748

 
$
(2,116
)
 
$
579,576

Issuance of common stock under employee stock plans
9

 

 
301

 
 
 
 
 
301

Vesting of restricted stock units
113

 
1

 
(1
)
 
 
 
 
 

Stock-based compensation
 
 
 
 
4,284

 
 
 
 
 
4,284

Other comprehensive income
 
 
 
 
 
 
 
 
3,171

 
3,171

Directors' deferred compensation
 
 
 
 
21

 
 
 
 
 
21

Net income
 
 
 
 
 
 
35,532

 
 
 
35,532

Balance at September 28, 2019
28,245

 
$
282

 
$
189,268

 
$
432,280

 
$
1,055

 
$
622,885


 
Nine Months Ended
 
Common Stock
 
Additional
Paid-In
Capital
 
Retained
Earnings
 
Accumulated
Other
Comprehensive
Income (Loss) ("AOCI")
 
Stockholders’
Equity
 
Shares
 
Value
 
Balance at December 29, 2018
27,788

 
$
278

 
$
172,771

 
$
367,021

 
$
(4,748
)
 
$
535,322

Issuance of common stock under employee stock plans
125

 
1

 
4,980

 

 

 
4,981

Vesting of restricted stock units
391

 
4

 
(4
)
 

 

 

Stock-based compensation


 


 
18,742

 

 

 
18,742

Stock withheld to cover tax withholdings requirements upon restricted stock vesting
(59
)
 
(1
)
 
(7,276
)
 

 

 
(7,277
)
Other comprehensive income


 


 


 

 
5,803

 
5,803

Directors' deferred compensation


 


 
55

 

 


 
55

Net income


 


 


 
65,259

 

 
65,259

Balance at September 28, 2019
28,245

 
$
282

 
$
189,268

 
$
432,280

 
$
1,055

 
$
622,885

The accompanying notes are an integral part of the consolidated financial statements.










6




iROBOT CORPORATION
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY
(in thousands)
(unaudited)
 
Three Months Ended
 
Common Stock
 
Additional
Paid-In
Capital
 
Retained
Earnings
 
Accumulated
Other
Comprehensive
Income (Loss) ("AOCI")
 
Stockholders’
Equity
 
Shares
 
Value
 
Balance at June 30, 2018
27,402

 
$
274

 
$
151,556

 
$
309,901

 
$
(3,690
)
 
$
458,041

Issuance of common stock under employee stock plans
149

 
2

 
5,340

 
 
 
 
 
5,342

Vesting of restricted stock units
120

 
1

 
(1
)
 
 
 
 
 

Stock-based compensation
 
 
 
 
6,592

 
 
 
 
 
6,592

Other comprehensive income
 
 
 
 
 
 
 
 
1,658

 
1,658

Directors' deferred compensation
 
 
 
 
16

 
 
 
 
 
16

Net income
 
 
 
 
 
 
31,929

 
 
 
31,929

Balance at September 29, 2018
27,671

 
$
277

 
$
163,503

 
$
341,830

 
$
(2,032
)
 
$
503,578


 
Nine Months Ended
 
Common Stock
 
Additional
Paid-In
Capital
 
Retained
Earnings
 
Accumulated
Other
Comprehensive
Income (Loss) ("AOCI")
 
Stockholders’
Equity
 
Shares
 
Value
 
Balance at December 30, 2017
27,945

 
$
279

 
$
190,067

 
$
277,989

 
$
1,992

 
$
470,327

Issuance of common stock under employee stock plans
216

 
3

 
7,945

 
 
 
 
 
7,948

Vesting of restricted stock units
360

 
4

 
(4
)
 
 
 
 
 

Stock-based compensation
 
 
 
 
18,969

 
 
 
 
 
18,969

Stock withheld to cover tax withholdings requirements upon restricted stock vesting
(51
)
 
(1
)
 
(3,531
)
 
 
 
 
 
(3,532
)
Other comprehensive income
 
 
 
 
 
 
 
 
(4,024
)
 
(4,024
)
Directors' deferred compensation
 
 
 
 
49

 
 
 
 
 
49

Share repurchases
(799
)
 
(8
)
 
(49,992
)
 
 
 
 
 
(50,000
)
Cumulative effect of a change in accounting principle related to adoption of ASC 606
 
 
 
 
 
 
1,040

 
 
 
1,040

Net income
 
 
 
 
 
 
62,801

 
 
 
62,801

Balance at September 29, 2018
27,671

 
$
277

 
$
163,503

 
$
341,830

 
$
(2,032
)
 
$
503,578

The accompanying notes are an integral part of the consolidated financial statements.


7




iROBOT CORPORATION
CONSOLIDATED STATEMENTS OF CASH FLOWS
(in thousands)
(unaudited)
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
Cash flows from operating activities:
 
 
 
Net income
$
65,259

 
$
62,801

Adjustments to reconcile net income to net cash (used in) provided by operating activities, net of the effects of acquisition:
 
 
 
Depreciation and amortization
27,744

 
27,000

Stock-based compensation
18,742

 
18,969

Deferred income taxes, net
(5,873
)
 
(4,296
)
Other
4,687

 
1,032

Changes in operating assets and liabilities — (use) source
 
 
 
Accounts receivable
(10,948
)
 
31,930

Inventory
(83,863
)
 
(54,619
)
Other current assets
(8,155
)
 
(18,418
)
Accounts payable
(27,256
)
 
(10,512
)
Accrued expenses and other liabilities
(11,916
)
 
(13,594
)
Net cash (used in) provided by operating activities
(31,579
)
 
40,293

Cash flows from investing activities:
 
 
 
Additions of property and equipment
(27,080
)
 
(25,284
)
Change in other assets
(5,336
)
 
(2,263
)
Proceeds from sale of equity investment

 
856

Cash paid for business acquisition, net of cash acquired
(2,817
)
 

Purchases of investments

 
(6,438
)
Sales and maturities of investments
9,380

 
10,500

Net cash used in investing activities
(25,853
)
 
(22,629
)
Cash flows from financing activities:
 
 
 
Proceeds from employee stock plans
4,981

 
7,948

Income tax withholding payment associated with restricted stock vesting
(7,277
)
 
(3,532
)
Stock repurchases

 
(50,000
)
Net cash used in financing activities
(2,296
)
 
(45,584
)
Effect of exchange rate changes on cash and cash equivalents
(103
)
 
(593
)
Net decrease in cash and cash equivalents
(59,831
)
 
(28,513
)
Cash and cash equivalents, at beginning of period
130,373

 
128,635

Cash and cash equivalents, at end of period
$
70,542

 
$
100,122

The accompanying notes are an integral part of the consolidated financial statements.

8




iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(unaudited)
1. Description of Business
iRobot Corporation ("iRobot" or the "Company") designs and builds robots that empower people to do more. The Company develops robotic technology and applies it to produce and market consumer robots. The Company’s revenue is primarily generated from product sales through distributor and retail sales channels, as well as its on-line stores.
2. Summary of Significant Accounting Policies
Basis of Presentation
The accompanying consolidated financial statements include those of iRobot and its subsidiaries, after elimination of all intercompany balances and transactions. iRobot has prepared the accompanying unaudited consolidated financial statements in conformity with accounting principles generally accepted in the United States of America ("GAAP"). In addition, certain prior year amounts have been reclassified to conform to the current year presentation.
In the opinion of management, all adjustments necessary to the unaudited interim consolidated financial statements have been made to state fairly the Company's financial position. Interim results are not necessarily indicative of results for the full fiscal year or any future periods. The information included in this Form 10-Q should be read in conjunction with the Company's audited consolidated financial statements and notes thereto included in its Annual Report on Form 10-K for the fiscal year ended December 29, 2018, filed with the Securities and Exchange Commission on February 14, 2019.
The Company operates and reports using a 52-53 week fiscal year ending on the Saturday closest to December 31. Accordingly, the Company’s fiscal quarters end on the Saturday that falls closest to the last day of the third month of each quarter.
Use of Estimates
The preparation of these financial statements in conformity with GAAP requires the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition, including performance obligations, variable consideration and other obligations such as product returns and incentives; warranty costs; valuation of goodwill and acquired intangible assets; valuation of financial instruments; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. The Company bases these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that the Company believes are reasonable under the circumstances. Actual results may differ from the Company’s estimates.
Other Assets
The Company holds non-marketable equity securities as part of its strategic investments portfolio. The Company classifies the majority of these securities as equity securities without readily determinable fair values and measures these investments at cost, less any impairment, adjusted for observable price changes. At September 28, 2019 and December 29, 2018, other assets consisted primarily of equity securities without readily determinable fair values and an equity method investment totaling $22.4 million and $15.1 million, respectively. On October 17, 2019, the Company disposed of one of these non-marketable equity securities, resulting in a gain of approximately $8.0 million which will be recorded as other income during the fourth quarter of fiscal 2019.
Net Income Per Share
Basic income per share is calculated using the Company's weighted-average outstanding common shares. Diluted income
per share is calculated using the Company's weighted-average outstanding common shares including the dilutive effect of stock
awards as determined under the treasury stock method.


9

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

The following table presents the calculation of both basic and diluted net income per share (in thousands, except per share amounts): 
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Net income
$
35,532

 
$
31,929

 
$
65,259

 
$
62,801

Basic weighted-average common shares outstanding
28,154

 
27,493

 
28,029

 
27,692

Dilutive effect of employee stock awards
496

 
1,013

 
730

 
937

Diluted weighted-average common shares outstanding
28,650

 
28,506

 
28,759

 
28,629

Basic income per share
$
1.26

 
$
1.16

 
$
2.33

 
$
2.27

Diluted income per share
$
1.24

 
$
1.12

 
$
2.27

 
$
2.19

Employee stock awards representing approximately 0.4 million and 0.0 million shares of common stock for the three months ended September 28, 2019 and September 29, 2018, respectively, and approximately 0.1 million shares of common stock for the nine months ended September 28, 2019 and September 29, 2018, were excluded from the computation of diluted earnings per share as their effect would have been antidilutive.
Recently Adopted Accounting Standards
In June 2018, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2018-07, "Compensation - Stock Compensation: Improvements to Nonemployee Share-Based Payment Accounting (Topic 718)." The amendments in ASU No. 2018-07 expand the scope of Topic 718 to include share-based payments issued to nonemployees for goods or services. The amendments in this ASU are effective for annual periods beginning after December 15, 2018 and interim periods within those annual periods, with early adoption permitted. The Company adopted this standard effective December 30, 2018 which did not have a material impact on the Company's consolidated financial statements and related disclosures.
In February 2016, the FASB issued ASU No. 2016-02 "Leases." This ASU and subsequently issued amendments require lessees to recognize the assets and liabilities on their balance sheet for the rights and obligations created by most leases and continue to recognize expenses on their income statements over the lease term. The standard also requires disclosures designed to give financial statement users information on the amount, timing and uncertainty of cash flows arising from leases. In July 2018, the FASB issued ASU No. 2018-11, "Leases (Topic 842): Targeted Improvements," which provides an alternative transition method that entities can elect when adopting the new standard. Under this alternative transition method, a company is permitted to use its effective date as the date of initial application without restating comparative period financial statements. The Company adopted the standard effective December 30, 2018 using the alternative transition method which resulted in the recognition of operating lease right-of-use assets and operating lease liabilities of approximately $52.8 million and $67.3 million, respectively. The Company's consolidated financial statements as of and for the three and nine months ended September 28, 2019 are presented under the new standard, while the comparative quarter presented is not adjusted and continues to be reported in accordance with the historical accounting policy. See Note 4, "Leases," for the required disclosures related to the impact of adopting this standard and a discussion of the Company's updated policies related to lease accounting.
Recently Issued Accounting Standards
In August 2018, the FASB issued ASU No. 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software." The new standard aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. Implementation should be applied either retrospectively or prospectively to all implementation costs incurred after the date of adoption. The Company intends to adopt the ASU using the prospective method effective December 29, 2019, and does not expect the new standard will have a material impact on its consolidated financial statements.
In August 2018, the FASB issued ASU No. 2018-13, "Fair Value Measurement: Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement." The amendment modifies disclosure requirements related to fair value measurement. The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2019. Implementation on a prospective or retrospective basis varies by specific disclosure requirement. Early adoption is permitted. The standard also allows for early adoption of any removed or modified disclosures upon issuance of this ASU while delaying adoption of the additional disclosures until their effective date. The Company does not believe this amendment will have a material impact on its consolidated financial statements.

10

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

In June 2016, the FASB issued ASU No. 2016-13, "Measurement of Credit Losses on Financial Instruments," as clarified in ASU No. 2019-04 and ASU No. 2019-05. The guidance amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments. This may result in the earlier recognition of allowances for losses. The guidance is effective for fiscal years beginning after December 15, 2019, including interim periods within those fiscal years, with early adoption permitted. The Company intends to adopt the ASU effective December 29, 2019. The Company does not believe the new standard will have a material impact on its consolidated financial statements.
From time to time, new accounting pronouncements are issued by FASB that are adopted by the Company as of the specified effective date. Unless otherwise discussed, the Company believes that recently issued standards, which are not yet effective, will not have a material impact on the Company’s consolidated financial statements upon adoption.

3. Revenue Recognition
The Company primarily derives its revenue from product sales. The Company sells products directly to consumers through on-line stores and indirectly through resellers and distributors. Revenue is recognized upon transfer of control of promised products or services to customers, generally as title and risk of loss passes, in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. Taxes collected from customers, which are subsequently remitted to governmental authorities, are excluded from revenue. Shipping and handling expenses are considered fulfillment activities and are expensed as incurred.
The Company’s product portfolio includes various consumer robots, many of which are Wi-Fi connected. The consumer robots are generally highly dependent on, and interrelated with, the embedded software and cannot function without the software. As such, the consumer robots are accounted for as a single performance obligation, and the revenue is recognized at a point in time when the control is transferred to distributors, resellers or directly to end customers through on-line stores. For consumer robots with Wi-Fi capability ("connected robots"), each sale represents an arrangement with multiple promises consisting of the robot, an app, cloud services and potential future unspecified software upgrades. The Company has determined that the app, cloud services and potential future unspecified software upgrades represent one promised service to the customer to enhance the functionality and interaction with the robot (referred to collectively as "Cloud Services"). For certain connected robots, the Company has concluded that, on a quantitative and qualitative basis, the Cloud Services do not constitute a material performance obligation and, as such, these services are not considered a separate performance obligation that requires allocation of transaction price.
During the third quarter of 2018, the Company launched Roomba i7 and i7+ which brought a new level of intelligence and automation to robotic vacuum cleaners with the ability to learn, map and adapt to a home's floor plan. The Company has concluded that beginning with this launch, the Cloud Services related to these new products are a material performance obligation. For contracts that contain multiple performance obligations, the transaction price is allocated to each performance obligation based on a relative standalone selling price ("SSP"). The SSP reflects the Company's best estimate of what the selling prices of performance obligations would be if they were sold regularly on a standalone basis. Revenue allocated to the robots is recognized at a point in time when control is transferred. Revenue allocated to the Cloud Services is deferred and recognized on a straight-line basis over the estimated period the software upgrades and services are expected to be provided. For contracts with a duration of greater than one year, the transaction price allocated to performance obligations that are unsatisfied as of September 28, 2019 is not material. The Company does not disclose the value of unsatisfied performance obligations for contracts with an original expected duration of one year or less.
The Company’s products generally carry a one-year limited warranty that promises customers that delivered products are as specified. The Company does not consider these assurance-type warranties as a separate performance obligation and therefore, the Company accounts for such warranties under ASC 460, "Guarantees."
Significant Judgments
The Company provides limited rights of returns for direct-to-consumer sales generated through its on-line stores and certain resellers and distributors. In addition, the Company may provide other credits or incentives, including price protection, which are accounted for as variable consideration when estimating the amount of revenue to recognize. Where appropriate, these estimates take into consideration relevant factors such as the Company’s historical experience, current contractual requirements, specific known market events and trends and forecasted customer buying and payment patterns. Overall, these reserves reflect the Company’s best estimates, and the actual amounts of consideration ultimately received may differ from the Company’s estimates. Returns and credits are estimated at contract inception and updated at the end of each reporting period as additional information becomes available and only to the extent that it is probable that a significant reversal of any incremental revenue will not occur. As of September 28, 2019, the Company has reserves for product returns of $41.7 million and other credits and incentives of $78.6 million. As of December 29, 2018, the Company had reserves for product returns of $53.9 million and other credits and incentives of $97.7 million. Revenue recognized during the three and nine months

11

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

ended September 28, 2019 and September 29, 2018 related to performance obligations satisfied in a prior period was not material.
Disaggregation of Revenue
The following table provides information about disaggregated revenue by geographical region (in thousands):
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
United States
$
117,929

 
$
127,240

 
$
356,466

 
$
345,628

EMEA
93,688

 
73,831

 
251,150

 
213,541

Other
77,782

 
63,463

 
179,616

 
148,750

Total revenue
$
289,399

 
$
264,534

 
$
787,232

 
$
707,919


Contract Balances
The following table provides information about receivables and contract liabilities from contracts with customers (in thousands):
 
September 28, 2019
 
December 29, 2018
Accounts receivable, net
$
169,562

 
$
162,166

Contract liabilities
6,412

 
5,756

The Company invoices customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract liabilities primarily relate to prepayments received from customers in advance of product shipments. The change in the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and the customer’s payment. During the three months ended September 28, 2019 and September 29, 2018, the Company recognized $1.7 million and $2.2 million, respectively, of the contract liability balance as revenue upon transfer of the products to customers. During the nine months ended September 28, 2019 and September 29, 2018, the Company recognized $5.8 million and $6.7 million, respectively, of the contract liability balance as revenue upon transfer of the products to customers. The Company does not assess whether a prepayment received represents a significant financing component as the period between when the payment is received and the transfer of the products to the customer is generally one year or less.

4. Leases
The Company's leasing arrangements primarily consist of operating leases for its facilities which include corporate, sales and research and development offices. For leases with terms greater than 12 months, the Company records the related right-of-use asset and lease obligation at the present value of lease payments over the term. The Company's leases typically include rental escalation clauses, renewal options and/or termination options that are factored into the determination of lease payments when appropriate. The Company does not separate lease and nonlease components of contracts and excludes all variable lease payments from the measurement of right-of-use assets and lease liabilities. The Company's variable lease payments generally include usage based nonlease components. The Company's lease agreements do not contain any residual value guarantees or restrictive covenants. Leases with an initial term of 12 months or less are not recorded on the balance sheet; lease expense is recognized on a straight-line basis over the lease term.
The Company's existing leases do not provide a readily determinable implicit rate. Therefore, the Company estimates its incremental borrowing rate to discount the lease payments based on information available at December 30, 2018 (date of initial application) or the lease commencement date for existing leases upon adoption or new leases post adoption, respectively. At September 28, 2019, the Company's weighted average discount rate was 3.61%, while the weighted average remaining lease term was 9.40 years.

12

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

The components of lease expense were as follows (in thousands):
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
Operating lease cost
$
2,250

 
$
6,539

Variable lease cost
828

 
2,965

Total lease cost
$
3,078

 
$
9,504


Supplemental cash flow information related to leases was as follows (in thousands):
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
Cash paid for amounts included in the measurement of lease liabilities:
 
 
 
Operating cash flows from operating leases
$
2,566

 
$
7,447

Right-of-use assets obtained in exchange for lease obligations:
 
 
 
Operating leases
$
460

 
$
53,227


Maturities of operating lease liabilities were as follows as of September 28, 2019 (in thousands):
 
Operating leases
Remainder of 2019
$
1,774

2020
8,798

2021
8,232

2022
7,560

2023
7,109

Thereafter
41,128

Total minimum lease payments
$
74,601

Less: imputed interest
11,953

Present value of future minimum lease payments
$
62,648

Less: current portion of operating lease liabilities (Note 7)
6,307

Long-term lease liabilities
$
56,341



Financial Statement Impact of Adopting ASC 842
The Company adopted ASC 842 effective December 30, 2018 using the alternative transition method. Under this alternative transition method, a company is permitted to use its effective date as the date of initial application without restating comparative period financial statements. The Company elected the package of practical expedients permitted under the transition guidance, which allowed the Company to carryforward its historical assessments of (1) whether contracts are or contain leases, (2) lease classification and (3) initial direct costs. In addition, the Company elected the practical expedient to use hindsight in determining lease term. The adoption of the new standard resulted in the recognition of right-of-use assets and lease liabilities of approximately $52.8 million and $67.3 million, respectively. The standard did not materially impact the Company's consolidated income or cash flows.


13

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

5. Inventory
Inventory consists of the following (in thousands):
 
September 28, 2019
 
December 29, 2018
Raw materials
$
2,801

 
$
2,992

Finished goods
245,502

 
161,641

 
$
248,303

 
$
164,633



6. Goodwill and Other Intangible Assets
The following table summarizes the activity in the carrying amount of goodwill for the nine months ended September 28, 2019 (in thousands):
Balance as of December 29, 2018
$
118,896

Acquisition
2,050

Effect of foreign currency translation
(3,409
)
Balance as of September 28, 2019
$
117,537



Intangible assets consisted of the following (in thousands):
 
September 28, 2019
 
December 29, 2018
 
Cost
 
Accumulated
Amortization
 
Net
 
Cost
 
Accumulated
Amortization
 
Net
Completed technology
$
28,100

 
$
24,320

 
$
3,780

 
$
26,900

 
$
21,607

 
$
5,293

Tradename
100

 
100

 

 
100

 
100

 

Customer relationships
10,989

 
2,049

 
8,940

 
11,291

 
1,365

 
9,926

Reacquired distribution rights
31,239

 
29,112

 
2,127

 
32,499

 
23,598

 
8,901

Non-competition agreements
251

 
167


84

 
263

 
110

 
153

Total
$
70,679

 
$
55,748

 
$
14,931

 
$
71,053

 
$
46,780

 
$
24,273


Amortization expense related to acquired intangible assets was $3.4 million and $4.8 million for the three months ended September 28, 2019 and September 29, 2018, respectively. Amortization expense related to acquired intangible assets was $10.1 million and $14.8 million for the nine months ended September 28, 2019 and September 29, 2018, respectively.
The estimated future amortization expense related to current intangible assets in each of the five succeeding fiscal years is expected to be as follows (in thousands):
 
Cost of Revenue
 
Operating Expenses
 
Total
Remainder of 2019
$
2,411

 
$
231

 
$
2,642

2020
1,140

 
990

 
2,130

2021
1,140

 
774

 
1,914

2022
915

 
774

 
1,689

2023
240

 
774

 
1,014

Thereafter
61

 
5,481

 
5,542

Total
$
5,907

 
$
9,024

 
$
14,931




14

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

7. Accrued Expenses
Accrued expenses consisted of the following at (in thousands):
 
September 28, 2019
 
December 29, 2018
Accrued other compensation
$
14,625

 
$
10,518

Accrued warranty
12,372

 
11,964

Accrued direct fulfillment costs
13,000

 
5,372

Accrued bonus
9,050

 
21,226

Current portion of operating lease liabilities
6,307

 

Accrued sales and other indirect taxes payable
3,073

 
11,397

Accrued federal and state income taxes
3,146

 
1,936

Accrued accounting fees
1,985

 
2,052

Accrued other
7,028

 
6,794

 
$
70,586

 
$
71,259



8. Derivative Instruments
The Company operates internationally and, in the normal course of business, is exposed to fluctuations in foreign currency exchange rates. The foreign currency exposures typically arise from transactions denominated in currencies other than the functional currency of the Company's operations, primarily the British Pound, Canadian Dollar, Euro and Japanese Yen. The Company uses derivative instruments that are designated in cash flow hedge relationships to reduce or eliminate the effects of foreign exchange rate changes on sales. These contracts typically have maturities of thirty-seven months or less. At September 28, 2019 and December 29, 2018, the Company had outstanding cash flow hedges with a total notional value of $387.8 million and $366.7 million, respectively.
The Company also enters into economic hedges that are not designated as hedges from an accounting standpoint to reduce or eliminate the effects of foreign exchange rate changes typically related to short term trade receivables and payables. These contracts typically have maturities of ten months or less. At September 28, 2019 and December 29, 2018, the Company had outstanding economic hedges with a total notional value of $75.9 million and $56.0 million, respectively.
The fair values of derivative instruments are as follows (in thousands):
 
 
 
Fair Value
 
Classification
 
September 28, 2019
 
December 29, 2018
Derivatives not designated as hedging instruments:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
1,342

 
$
551

Foreign currency forward contracts
Accrued expenses
 
727

 

Derivatives designated as cash flow hedges:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
4,580

 
$
53

Foreign currency forward contracts
Other assets
 
9,574

 
172

Foreign currency forward contracts
Accrued expenses
 
355

 
335

Foreign currency forward contracts
Long-term liabilities
 
363

 
795


Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):
 
 
 
Three Months Ended
 
Nine Months Ended
 
Classification
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Gain (loss) recognized in income
Other income, net
 
$
852

 
$
435

 
$
200

 
$
973



15

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): 
 
 
Gain (loss) recognized in OCI on Derivative (1)
 
 
Three Months Ended
 
Nine Months Ended
 
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Foreign currency forward contracts
 
$
10,905

 
$
362

 
$
15,254

 
$
(198
)

(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
 
 
Gain (loss) recognized in earnings on cash flow hedging instruments
 
 
Three Months Ended
 
 
September 28, 2019
 
September 29, 2018
 
 
Revenue
 
Cost of revenue
 
Revenue
 
Cost of revenue
Consolidated statements of income in which the effects of cash flow hedging instruments are recorded
 
$
289,399

 
$
152,558

 
$
264,534

 
$
129,328

 
 
 
 
 
 
 
 
 
Gain (loss) on cash flow hedging relationships:
 
 
 
 
 
 
 
 
Foreign currency forward contracts:
 
 
 
 
 
 
 
 
Amount of gain (loss) reclassified from AOCI into earnings
 
$
185

 
$

 
$
549

 
$


 
 
Gain (loss) recognized in earnings on cash flow hedging instruments
 
 
Nine Months Ended
 
 
September 28, 2019
 
September 29, 2018
 
 
Revenue
 
Cost of revenue
 
Revenue
 
Cost of revenue
Consolidated statements of income in which the effects of cash flow hedging instruments are recorded
 
$
787,232

 
$
412,675

 
$
707,919

 
$
339,002

 
 
 
 
 
 
 
 
 
Gain (loss) on cash flow hedging relationships:
 
 
 
 
 
 
 
 
Foreign currency forward contracts:
 
 
 
 
 
 
 
 
Amount of gain (loss) reclassified from AOCI into earnings
 
$
400

 
$

 
$
270

 
$
(386
)



9. Fair Value Measurements
The Company’s financial assets and liabilities measured at fair value on a recurring basis were as follows (in thousands):
 
Fair Value Measurements as of
September 28, 2019

Level 1
 
Level 2 (1)
 
Level 3 (2)
Assets:
 
 
 
 
 
Corporate and government bonds, $20,516 at cost (3)
$

 
$
20,530

 
$

Derivative instruments (Note 8)

 
15,496

 

Total assets measured at fair value
$

 
$
36,026

 
$

 
 
 
 
 
 
Liabilities:
 
 
 
 
 
Derivative instruments (Note 8)
$

 
$
1,445

 
$

Total liabilities measured at fair value
$

 
$
1,445

 
$


16

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)


 
Fair Value Measurements as of
December 29, 2018
 
Level 1
 
Level 2 (1)
 
Level 3 (2)
Assets:
 
 
 
 
 
Money market funds
$
3,730

 
$

 
$

Corporate and government bonds, $30,035 at cost

 
29,605

 

Convertible note

 

 
2,000

Derivative instruments (Note 8)

 
776

 

Total assets measured at fair value
$
3,730

 
$
30,381

 
$
2,000

 
 
 
 
 
 
Liabilities:
 
 
 
 
 
Derivative instruments (Note 8)
$

 
$
1,130

 
$

Total liabilities measured at fair value
$

 
$
1,130

 
$

(1)
Level 2 fair value estimates are based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.
(2)
Level 3 fair value estimates are based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability. The fair values are therefore determined using model-based techniques, including option pricing and discounted cash flow models. Unobservable inputs used in the models are significant to the fair values of the assets and liabilities.
(3)
As of September 28, 2019, the Company’s investments had maturity dates ranging from October 2019 to March 2021.
    
The following table provides a summary of changes in fair value of our Level 3 investment for the nine months ended September 28, 2019 (in thousands):
Balance as of December 29, 2018
$
2,000

Conversion of convertible note
(2,000
)
Balance as of September 28, 2019
$



10. Stockholders' Equity
Share Repurchase Activity
On February 27, 2018, the Company's board of directors approved a stock repurchase program authorizing up to $50.0 million in share repurchases. This share repurchase program commenced on March 28, 2018 with an expiration date of December 28, 2018. As of June 30, 2018, the Company completed the repurchase program and repurchased 798,794 shares of common stock totaling $50.0 million.

11. Commitments and Contingencies
Legal Proceedings
From time to time and in the ordinary course of business, the Company is subject to various claims, charges and litigation. The outcome of litigation cannot be predicted with certainty and some lawsuits, claims or proceedings may be disposed of unfavorably to us, which could materially affect our financial condition or results of operations.
On October 24, 2019, purported Company shareholder Miramar Firefighters’ Pension Fund filed a putative class action in the U.S. District Court for the Southern District of New York against the Company and certain of its directors and officers, captioned Miramar Firefighters’ Pension Fund v. iRobot Corporation, et al., No. 1:19-cv-09837.  The complaint alleges violations of Sections 10(b) and 20(a) of the Securities Exchange Act of 1934 and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company’s acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company’s subsequent financial performance.  The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company’s allegedly inflated stock price, attorneys’ fees and costs, and unspecified equitable/injunctive relief.

17

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

Outstanding Purchase Orders
At September 28, 2019, the Company had outstanding purchase orders of approximately $135.2 million. These purchase orders, the majority of which are with contract manufacturers for the purchase of inventory in the normal course of business, are for manufacturing and non-manufacturing related goods and services, and are generally cancelable without penalty.
Guarantees and Indemnification Obligations
The Company enters into standard indemnification agreements in the ordinary course of business. Pursuant to these agreements, the Company indemnifies and agrees to reimburse the indemnified party for losses incurred by the indemnified party, generally the Company’s customers, in connection with any patent, copyright, trade secret or other proprietary right infringement claim by any third party. The term of these indemnification agreements is generally perpetual any time after execution of the agreement. The maximum potential amount of future payments the Company could be required to make under these indemnification agreements is unlimited. The Company has never incurred costs to defend lawsuits or settle claims related to these indemnification agreements. As a result, the Company believes the estimated fair value of these agreements is minimal. Accordingly, the Company has no liabilities recorded for these agreements as of September 28, 2019 and December 29, 2018, respectively.
Warranty
The Company provides warranties on most products and has established a reserve for warranty obligations based on estimated warranty costs. The reserve is included as part of accrued expenses (Note 7) in the accompanying consolidated balance sheets.    
Activity related to the warranty accrual was as follows (in thousands):
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Balance at beginning of period
$
11,970

 
$
11,233

 
$
11,964

 
$
11,264

Provision
3,484

 
2,682

 
8,817

 
7,310

Warranty usage
(3,082
)
 
(2,485
)
 
(8,409
)
 
(7,144
)
Balance at end of period
$
12,372

 
$
11,430

 
$
12,372

 
$
11,430



12. Income Taxes
The Company’s effective income tax rate for the three months ended September 28, 2019 and September 29, 2018, was 18.2% and 15.1%, respectively. The increase in the effective income tax rate was primarily due to lower tax benefits recognized related to excess stock-based compensation.
The Company's effective income tax rate of 18.2% for the three months ended September 28, 2019 differed from the federal statutory tax rate of 21% primarily due to the recognition of higher tax benefits related to federal and state income tax credits.
The Company’s effective income tax rate for the nine months ended September 28, 2019 and September 29, 2018, was 11.6% and 19.9%, respectively. The decrease in the effective income tax rate was primarily due to increased tax benefits related to excess stock-based compensation and a decrease in foreign taxes related to a discrete charge for estimated taxes associated with a restructuring of the EMEA business in the nine months ended September 29, 2018.
The Company's effective income tax rate of 11.6% for the nine months ended September 28, 2019 differed from the federal statutory tax rate of 21% primarily due to the recognition of tax benefits related to excess stock-based compensation.
13. Industry Segment, Geographic Information and Significant Customers
The Company operates as one operating segment. The Company's consumer robots products are offered to consumers around the world through distributor and retail sales channels, as well as its on-line stores.
Significant Customers
For the three months ended September 28, 2019 and September 29, 2018, the Company generated 29.6% and 24.8% of total revenue, respectively, from one of its retailers (Amazon).
For the nine months ended September 28, 2019 and September 29, 2018, the Company generated 25.0% and 20.4% of total revenue, respectively, from one of its retailers (Amazon).

18

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)


Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations

The information contained in this section has been derived from our consolidated financial statements and should be read together with our consolidated financial statements and related notes included elsewhere in this Quarterly Report on Form 10-Q. This Quarterly Report on Form 10-Q contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities and Exchange Act of 1934, as amended, or the Exchange Act, and are subject to the "safe harbor" created by those sections. In particular, statements contained in this Quarterly Report on Form 10-Q that are not historical facts, including, but not limited to statements concerning new product sales, the timing of product launches, product development and offerings, our consumer robots, our competition, our strategy, our market position, the impact of tariffs, market acceptance of our products, seasonal factors, revenue recognition, our profits, growth of our revenues, composition of our revenues, our cost of revenues, units shipped, average selling prices, operating expenses, selling and marketing expenses, general and administrative expenses, research and development expenses, compensation costs, our projected income tax rate, our credit and letter of credit facilities, our valuations of investments, valuation and composition of our stock-based awards, and liquidity, constitute forward-looking statements and are made under these safe harbor provisions. Some of the forward-looking statements can be identified by the use of forward-looking terms such as "believes," "expects," "may," "will," "should," "could," "seek," "intends," "plans," "estimates," "anticipates," or other comparable terms. Forward-looking statements involve inherent risks and uncertainties, which could cause actual results to differ materially from those in the forward-looking statements. We urge you to consider the risks and uncertainties discussed in greater detail under the heading "Risk Factors" in evaluating our forward-looking statements. We have no plans to update our forward-looking statements to reflect events or circumstances after the date of this report. We caution readers not to place undue reliance upon any such forward-looking statements, which speak only as of the date made.

Overview
iRobot is a leading consumer robot company that designs and builds robots that empower people to do more both inside and outside of the home. Our consumer robots help people find smarter ways to clean and accomplish more in their daily lives. Our portfolio of solutions features proprietary technologies for the connected home and advanced concepts in cleaning, mapping and navigation, human-robot interaction and physical solutions. Leveraging this portfolio, our engineers are building an ecosystem of robots to empower the smart home. For more than 25 years, we have been a pioneer in the robotics and consumer products industries. We sell our robots through a variety of distribution channels, including chain stores and other national retailers, through our on-line store, and through value-added distributors and resellers worldwide.
As of September 28, 2019, we had 1,132 full-time employees. We have developed expertise in the disciplines necessary to build durable, high-performance and cost-effective robots through the close integration of software, electronics and hardware. Our core technologies serve as reusable building blocks that we adapt and expand to enhance existing products, develop next-generation versions of our products and design and launch new products, reducing the time, cost and risk associated with product development. Our significant expertise in consumer needs, robot design, engineering and smart home technologies and trends positions us to capitalize on the growth we expect in the market for robot-based consumer products.
Our continued success depends upon our ability to respond to a number of challenges in the consumer robots market. We believe the most significant of these include increasing competition and our ability to successfully develop and introduce products and product enhancements into both new and existing markets. Furthermore, we believe that our efforts to cost-optimize our products and diversify our contract manufacturing and broader supply chain will continue to play an important role in maintaining competitive product pricing, reducing supply-chain risk and limiting China-related tariff exposure, among other factors that impact our results of operations.
In the third quarter of 2018, we introduced the Roomba i7 and i7+ in the U.S., which are robot vacuums that remember a home's floor plan and clean specific rooms by name. Using Imprint™ Smart Mapping, the Roomba i7+ learns the home's floor plan, giving customers total control over which rooms to clean and when. When the Roomba i7+ robot vacuum is finished cleaning, it empties its own dust bin into the Clean Base™, which holds 30 bins of dirt. In the third quarter of 2018, the Company also introduced the Roomba e5, a highly-featured product at a more accessible price, to our lineup in the U.S. In the fourth quarter of 2018, we introduced the Roomba e5 in markets outside of the U.S. in advance of the holiday season.
During the first quarter of 2019, we launched Roomba i7 and i7+ in EMEA, Japan and China. During the second quarter of 2019, we successfully launched two new cleaning robots in the U.S., the Roomba s9 and s9+, which, along with the features of the Roomba i7 and i7+, are robot vacuums that can clean deep into corners and along edges, and the Braava jet m6 robot mop, which can tackle multiple rooms and large spaces with advanced navigation and mapping capabilities. Together, these two robots can use Imprint Link Technology to talk to each other, automatically vacuuming and then mopping without additional action by the user. During the third quarter of 2019, the s9 and s9+ were launched in EMEA, while the m6 was launched in both EMEA and Japan. We anticipate that the s9, s9+ and m6 will launch in all other target markets in early 2020.

19





Critical Accounting Policies and Estimates
The preparation of financial statements in conformity with generally accepted accounting principles in the United States requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition including performance obligations, variable consideration and other obligations such as product returns and incentives; warranty costs, valuation of goodwill and acquired intangible assets; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. We base these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that we believe are reasonable under the circumstances. Actual results may differ from our estimates. Additional information about these critical accounting policies may be found in the "Management’s Discussion and Analysis of Financial Condition and Results of Operations" section included in our Annual Report on Form 10-K for the fiscal year ended December 29, 2018.
Effective December 30, 2018, we adopted the new leasing standard under ASC 842 using the alternative transition method. The adoption of the new standard resulted in a material increase in the assets and liabilities, while the impact on the Company's results of operations and cash flows was not material for the three and nine months ended September 28, 2019. We have updated our accounting policy as it relates to lease accounting. Refer to Note 4 of the consolidated financial statements.
Overview of Results of Operations
The following table sets forth our results of operations as a percentage of revenue:
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Revenue
100.0
%
 
100.0
%
 
100.0
%
 
100.0
%
Cost of revenue:
 
 
 
 
 
 
 
Cost of product revenue
51.6

 
47.2

 
51.2

 
45.9

Amortization of acquired intangible assets
1.1

 
1.7

 
1.2

 
2.0

Total cost of revenue
52.7

 
48.9

 
52.4

 
47.9

Gross profit
47.3

 
51.1

 
47.6

 
52.1

Operating expenses:
 
 
 
 
 
 
 
Research and development
11.5

 
13.3

 
13.2

 
14.6

Selling and marketing
14.6

 
14.8

 
17.5

 
16.4

General and administrative
6.4

 
8.8

 
7.9

 
10.3

Amortization of acquired intangible assets
0.1

 
0.1

 
0.1

 
0.1

Total operating expenses
32.6

 
37.0

 
38.7

 
41.4

Operating income
14.7

 
14.1

 
8.9

 
10.7

Other income, net
0.3

 
0.1

 
0.5

 
0.4

Income before income taxes
15.0

 
14.2

 
9.4

 
11.1

Income tax expense
2.7

 
2.1

 
1.1

 
2.2

Net income
12.3
%
 
12.1
%
 
8.3
%
 
8.9
%

20




Comparison of Three and Nine Months Ended September 28, 2019 and September 29, 2018
Revenue
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
 
 
(In thousands)
 
 
 
 
 
(In thousands)
 
 
Revenue
$
289,399

 
$
264,534

 
$
24,865

 
9.4
%
 
$
787,232

 
$
707,919

 
$
79,313

 
11.2
%
Revenue for the three months ended September 28, 2019 increased to $289.4 million, or 9.4%, compared to $264.5 million for the three months ended September 29, 2018. The $24.9 million increase in revenue for the three months ended September 28, 2019 was primarily driven by an increase in the average gross selling price of 10.5% for the three months ended September 28, 2019 as compared to the three months ended September 29, 2018. The increase in average gross selling price was primarily driven by the launch of our new products during the second half of fiscal 2018 and the first three quarters of fiscal 2019. Total robots shipped in the three months ended September 28, 2019 increased 4.0% to approximately 1.1 million units, compared to the three months ended September 29, 2018. In the three months ended September 28, 2019, domestic revenue decreased $9.3 million, or 7.3%, and international revenue increased $34.2 million, or 24.9%, as compared to the three months ended September 29, 2018.
Revenue for the nine months ended September 28, 2019 increased to $787.2 million, or 11.2%, compared to $707.9 million for the nine months ended September 29, 2018. The $79.3 million increase in revenue for the nine months ended September 28, 2019 was primarily driven by an increase in the average gross selling price of 5.9% for the nine months ended September 28, 2019 as compared to the nine months ended September 29, 2018. The increase in average gross selling price was primarily driven by the launch of our new products during the second half of fiscal 2018 and the first three quarters of fiscal 2019. Total robots shipped in the nine months ended September 28, 2019 increased 7.9% to approximately 3.1 million units, compared to approximately 2.9 million units in the nine months ended September 29, 2018. In the nine months ended September 28, 2019, domestic revenue increased $10.8 million, or 3.1%, and international revenue increased $68.5 million, or 18.9%, as compared to the nine months ended September 29, 2018.
Cost of Product Revenue
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
Cost of product revenue
$
149,463

 
$
124,754

 
$
24,709

 
19.8
%
 
$
403,392

 
$
324,967

 
$
78,425

 
24.1
%
As a percentage of revenue
51.6
%
 
47.2
%
 
 
 
 
 
51.2
%
 
45.9
%
 
 
 
 
Cost of product revenue increased to $149.5 million in the three months ended September 28, 2019, compared to $124.8 million in the three months ended September 29, 2018. The $24.7 million increase in cost of product revenue is primarily due to the increase in revenue and higher tariffs on our Roomba products imported into the United States from China. Effective September 24, 2018, tariffs were set at 10%, and effective May 10, 2019, tariffs further increased to 25%.
Cost of product revenue increased to $403.4 million in the nine months ended September 28, 2019, compared to $325.0 million in the nine months ended September 29, 2018. The $78.4 million increase in cost of product revenue is primarily due to the increase in revenue and higher tariffs on our Roomba products imported into the United States from China. Effective September 24, 2018, tariffs were set at 10%, and effective May 10, 2019, tariffs further increased to 25%.
Gross Profit
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
Gross profit
$
136,841

 
$
135,206

 
$
1,635

 
1.2
%
 
$
374,557

 
$
368,917

 
$
5,640

 
1.5
%
Gross margin
47.3
%
 
51.1
%
 
 
 
 
 
47.6
%
 
52.1
%
 
 
 
 

21




Gross margin decreased to 47.3% in the three months ended September 28, 2019 compared to 51.1% in the three months ended September 29, 2018. The decrease in gross margin is primarily related to increased promotional activity as well as the increased tariffs on our Roomba products imported to the United States from China.
Gross margin decreased to 47.6% in the nine months ended September 28, 2019 compared to 52.1% in the nine months ended September 29, 2018. The decrease in gross margin is primarily related to increased promotional activity as well as the increased tariffs on our Roomba products imported to the United States from China.
Research and Development
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
Research and development
$
33,401

 
$
35,309

 
$
(1,908
)
 
(5.4
)%
 
$
104,320

 
$
103,178

 
$
1,142

 
1.1
%
As a percentage of revenue
11.5
%
 
13.3
%
 
 
 
 
 
13.2
%
 
14.6
%
 
 
 
 
Research and development expenses decreased $1.9 million, or 5.4%, to $33.4 million (11.5% of revenue) in the three months ended September 28, 2019 from $35.3 million (13.3% of revenue) in the three months ended September 29, 2018. This decrease is primarily due to lower program-related costs of $3.3 million, partially offset by an increase in people-related costs of $1.5 million resulting from increased headcount.
Research and development expenses increased $1.1 million, or 1.1%, to $104.3 million (13.2% of revenue) in the nine months ended September 28, 2019 from $103.2 million (14.6% of revenue) in the nine months ended September 29, 2018. This increase is primarily due to an increase in people-related costs of $7.4 million resulting from increased headcount, partially offset by lower program-related costs of $6.3 million during the nine months ended September 28, 2019.
Selling and Marketing
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
Selling and marketing
$
42,257

 
$
39,030

 
$
3,227

 
8.3
%
 
$
137,502

 
$
116,269

 
$
21,233

 
18.3
%
As a percentage of revenue
14.6
%
 
14.8
%
 
 
 
 
 
17.5
%
 
16.4
%
 
 
 
 
Selling and marketing expenses increased $3.2 million, or 8.3%, to $42.3 million (14.6% of revenue) in the three months ended September 28, 2019 from $39.0 million (14.8% of revenue) in the three months ended September 29, 2018. This increase was primarily attributable to an increase in marketing investments totaling $2.2 million to support our new product launches in EMEA and Japan and certain promotional and advertising campaigns in the United States and abroad as well as higher people-related costs of $0.9 million.
Selling and marketing expenses increased $21.2 million, or 18.3%, to $137.5 million (17.5% of revenue) in the nine months ended September 28, 2019 from $116.3 million (16.4% of revenue) in the nine months ended September 29, 2018. This increase was primarily attributable to an increase in marketing investments totaling $16.0 million to support our new product launches and certain promotional and advertising campaigns in all regions as well as higher people-related costs of $4.0 million.
General and Administrative
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
General and administrative
$
18,372

 
$
23,329

 
$
(4,957
)
 
(21.2
)%
 
$
61,871

 
$
72,630

 
$
(10,759
)
 
(14.8
)%
As a percentage of revenue
6.4
%
 
8.8
%
 
 
 
 
 
7.9
%
 
10.3
%
 
 
 
 

22




General and administrative expenses decreased $5.0 million, or 21.2%, to $18.4 million (6.4% of revenue) in the three months ended September 28, 2019 from $23.3 million (8.8% of revenue) in the three months ended September 29, 2018 primarily attributable to lower stock-based and other incentive compensation costs.
General and administrative expenses decreased $10.8 million, or 14.8%, to $61.9 million (7.9% of revenue) in the nine months ended September 28, 2019 from $72.6 million (10.3% of revenue) in the nine months ended September 29, 2018 primarily attributable to lower short-term and long-term incentive compensation costs of $5.0 million and a decrease in legal costs of $4.9 million after favorable determination of a previously-disclosed intellectual property litigation suit in the fourth quarter of 2018.
Amortization of Acquired Intangible Assets
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
Cost of revenue
$
3,095

 
$
4,574

 
$
(1,479
)
 
(32.3
)%
 
$
9,283

 
$
14,035

 
$
(4,752
)
 
(33.9
)%
Operating expense
256

 
263

 
(7
)
 
(2.7
)%
 
796

 
805

 
(9
)
 
(1.1
)%
Total amortization expense
$
3,351

 
$
4,837

 
$
(1,486
)
 
(30.7
)%
 
$
10,079

 
$
14,840

 
$
(4,761
)
 
(32.1
)%
As a percentage of revenue
1.2
%
 
1.8
%
 
 
 
 
 
1.3
%
 
2.1
%
 
 
 
 
The decrease in amortization of acquired intangible assets in the three and nine months ended September 28, 2019 as compared to the three and nine months ended September 29, 2018, was primarily related to the reacquired distribution rights intangible asset, which is being amortized on an accelerated basis.
Other Income, Net
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
Other income, net
$
900

 
$
337

 
$
563

 
167.1
%
 
$
3,713

 
$
2,363

 
$
1,350

 
57.1
%
As a percentage of revenue
0.3
%
 
0.1
%
 
 
 
 
 
0.5
%
 
0.4
%
 
 
 
 
Other income, net, amounted to $0.9 million and $0.3 million for the three months ended September 28, 2019 and September 29, 2018, respectively. Other income, net, amounted to $3.7 million and $2.4 million for the nine months ended September 28, 2019 and September 29, 2018, respectively. Other income, net includes interest income, interest expense, foreign currency gains (losses) as well as gains (losses) from strategic investments.

Income Tax Expense
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
September 28, 2019
 
September 29, 2018
 
Dollar
Change
 
Percent
Change
 
(In thousands)
 
(In thousands)
Income tax expense
$
7,923

 
$
5,683

 
$
2,240

 
39.4
%
 
$
8,522

 
$
15,597

 
$
(7,075
)
 
(45.4
)%
Effective income tax rate
18.2
%
 
15.1
%
 

 

 
11.6
%
 
19.9
%
 
 
 
 

We recorded an income tax expense of $7.9 million and $5.7 million for the three months ended September 28, 2019 and September 29, 2018, respectively. The $7.9 million income tax expense for the three months ended September 28, 2019 resulted in an effective income tax rate of 18.2%. The $5.7 million income tax expense for the three months ended September 29, 2018 resulted in an effective income tax rate of 15.1%. The increase in the effective income tax rate was primarily due to lower tax benefits recognized related to excess stock-based compensation.

23




Our effective income tax rate of 18.2% for the three months ended September 28, 2019 differed from the federal statutory tax rate of 21% primarily due to the recognition of higher tax benefits related to federal and state income tax credits.
We recorded an income tax expense of $8.5 million and $15.6 million for the nine months ended September 28, 2019 and September 29, 2018, respectively. The $8.5 million income tax expense for the nine months ended September 28, 2019 resulted in an effective income tax rate of 11.6%. The $15.6 million income tax expense for the nine months ended September 29, 2018 resulted in an effective income tax rate of 19.9%. The decrease in the effective income tax rate was primarily due to increased tax benefits related to excess stock-based compensation and a decrease in foreign taxes related to a discrete charge for estimated taxes associated with a restructuring of the EMEA business recorded in the nine months ended September 29, 2018.
Our effective income tax rate of 11.6% for the nine months ended September 28, 2019 differed from the federal statutory tax rate of 21% primarily due to the recognition of tax benefits related to excess stock-based compensation.

Liquidity and Capital Resources
At September 28, 2019, our principal sources of liquidity were cash and cash equivalents totaling $70.5 million and short-term investments of $20.5 million. Our working capital, which represents our total current assets less total current liabilities, was $364.2 million as of September 28, 2019, compared to $271.1 million as of September 29, 2018.
We manufacture and distribute our products through contract manufacturers and third-party logistics providers. We believe this approach gives us the advantages of relatively low capital investment and significant flexibility in scheduling production and managing inventory levels. By leasing our office facilities, we also minimize the cash needed for expansion. Accordingly, our capital spending is generally limited to leasehold improvements, computers, office furniture, product-specific production tooling, internal use software and test equipment. In the nine months ended September 28, 2019 and September 29, 2018, we spent $27.1 million and $25.3 million, respectively, on capital expenditures.
Our strategy for delivering consumer products to our distributors and retail customers gives us the flexibility to provide container shipments directly from our contract manufacturers in Southern China to our customers and, alternatively, allows our distributors and certain retail customers to take possession of product on a domestic basis. Accordingly, our consumer product inventory consists of goods shipped to our third-party logistics providers for the fulfillment of distributor, retail and direct-to-consumer sales. Our contract manufacturers are also responsible for purchasing and stocking components required for the production of our products, and they typically invoice us when the finished goods are shipped.
Cash used in operating activities
Net cash used in operating activities for the nine months ended September 28, 2019 was $31.6 million, of which the principal components were our net income of $65.3 million, non-cash charges of $45.3 million and changes in working capital. The change in working capital mainly includes increases in accounts receivable, inventory and other current assets of $10.9 million, $83.9 million and $8.2 million, respectively, partially offset by a decrease in accounts payable and accrued expenses of $39.2 million.
Cash used in investing activities
Net cash used in investing activities for the nine months ended September 28, 2019 was $25.9 million. During the nine months ended September 28, 2019, we invested $27.1 million in the purchase of property and equipment, including machinery and tooling for new products. In addition, we made strategic investments of $5.3 million and paid $2.8 million for a business acquisition, while proceeds from the sales and maturities of marketable securities amounted to $9.4 million.
Cash used in financing activities
Net cash used in financing activities for the nine months ended September 28, 2019 was $2.3 million. During the nine months ended September 28, 2019, we received $5.0 million from employee stock plans and paid $7.3 million upon vesting of restricted stock where 59,260 shares were retained by us to cover employee tax withholdings.
Working Capital Facilities
Credit Facility
In June 2018, we entered into a new agreement with Bank of America, N.A., increasing the amount of our unsecured revolving line of credit from $75.0 million to $150.0 million and extending the term of the credit facility to June 2023. As of September 28, 2019, we had no outstanding borrowings under our revolving credit facility. The revolving line of credit is available to fund working capital and other corporate purposes. The interest on loans under our credit facility accrues, at our election, at either (1) LIBOR plus a margin, currently equal to 1.0%, based on our ratio of indebtedness to Adjusted EBITDA (the "Eurodollar Rate"), or (2) the lender’s base rate. The lender’s base rate is equal to the highest of (1) the federal funds rate

24




plus 0.5%, (2) the lender’s prime rate and (3) the Eurodollar Rate plus 1.0%. In the event that LIBOR is discontinued as expected in 2021, we expect the interest rates for our debt following such event will be based on either alternate base rates or agreed upon replacement rates. While we do not expect a LIBOR discontinuation would affect our ability to borrow or maintain already outstanding borrowings, it could result in higher interest rates.
The credit facility contains customary terms and conditions for credit facilities of this type, including restrictions on our ability to incur or guarantee additional indebtedness, create liens, enter into transactions with affiliates, make loans or investments, sell assets, pay dividends or make distributions on, or repurchase, our stock, and consolidate or merge with other entities. In addition, we are required to meet certain financial covenants customary with this type of agreement, including maintaining a maximum ratio of indebtedness to Adjusted EBITDA and a minimum specified interest coverage ratio.
The credit facility contains customary events of default, including for payment defaults, breaches of representations, breaches of affirmative or negative covenants, cross defaults to other material indebtedness, bankruptcy and failure to discharge certain judgments. If a default occurs and is not cured within any applicable cure period or is not waived, our obligations under the credit facility may be accelerated.
As of September 28, 2019, we were in compliance with all covenants under the revolving credit facility.
Working Capital and Capital Expenditure Needs
We currently have no material cash commitments, except for normal recurring trade payables, expense accruals, capital expenditures and operating leases, all of which we anticipate funding through working capital, funds provided by operating activities and our existing revolving line of credit. We believe our outsourced approach to manufacturing provides us with flexibility in both managing inventory levels and financing our inventory. We believe our existing cash and cash equivalents, short-term investments, cash provided by operating activities, and funds available through our revolving line of credit will be sufficient to meet our working capital and capital expenditure needs over at least the next twelve months. In the event our revenue plan does not meet our expectations, we may eliminate or curtail expenditures to mitigate the impact on our working capital. Our future capital requirements will depend on many factors, including our rate of revenue growth, the expansion of our marketing and sales activities, the timing and extent of spending to support product development efforts, the timing of introductions of new products and enhancements to existing products, the acquisition of new capabilities or technologies, and the continuing market acceptance of our products and services. Moreover, to the extent existing cash and cash equivalents, short-term investments, cash from operations, and cash from short-term borrowing are insufficient to fund our future activities, we may need to raise additional funds through public or private equity or debt financing. As part of our business strategy, we may consider additional acquisitions of companies, technologies and products, which could also require us to seek additional equity or debt financing. Additional funds may not be available on terms favorable to us or at all.
Contractual Obligations
The disclosure of our contractual obligations and commitments is set forth under the heading "Management's Discussion and Analysis of Financial Condition and Results of Operations - Contractual Obligations" in our Annual Report on Form 10-K for the year ended December 29, 2018. Our principal commitments generally consist of obligations under our credit facility, leases for office space and minimum purchase commitments for services such as cloud support and other non-cancelable contractual obligations for subscription software services. There have been no material changes in our contractual obligations and commitments since December 29, 2018.
Off-Balance Sheet Arrangements
As of September 28, 2019, we had no off-balance sheet arrangements as defined in Item 303(a)(4) of Regulation S-K.
Recently Adopted Accounting Pronouncements
See Note 2 to the Consolidated Financial Statements for a discussion of recently adopted accounting pronouncements.
Recently Issued Accounting Pronouncements
See Note 2 to the Consolidated Financial Statements for a discussion of recently issued accounting pronouncements.
Item 3. Quantitative and Qualitative Disclosure About Market Risk
Exchange Rate Sensitivity
Our international revenue and expenses are denominated in multiple currencies, including British Pounds, Canadian Dollars, Chinese Renminbi, Euros and Japanese Yen. As such, we have exposure to adverse changes in exchange rates associated with the revenue and operating expenses of our foreign operations. Any fluctuations in other currencies will have minimal direct impact on our international revenue.

25




In addition to international business conducted in foreign currencies, we have international revenue denominated in U.S. dollars. As the U.S. dollar strengthens or weakens against other currencies, our international distributors may be impacted, which could affect their profitability and our ability to maintain current pricing levels on our international consumer products.
We regularly monitor the forecast of non-U.S. dollar revenue and expenses and the level of non-U.S. dollar monetary asset and liability balances to determine if any actions, including possibly entering into foreign currency contracts should be taken to minimize the impact of fluctuating exchange rates on our results of operations. Periodically, we enter into forward exchange contracts to hedge against foreign currency fluctuations. These contracts may or may not be designated as cash flow hedges for accounting purposes. We use cash flow hedges primarily to reduce the effects of foreign exchange rate changes on sales primarily in Japanese Yen and Euros. At September 28, 2019 and December 29, 2018, we had outstanding cash flow hedges with a total notional value of $387.8 million and $366.7 million, respectively.
We also enter into economic hedges that are not designated as hedges from an accounting standpoint to reduce or eliminate the effects of foreign exchange rate changes typically related to short term trade receivables and payables. These contracts have maturities of ten months or less. At September 28, 2019 and December 29, 2018, we had outstanding economic hedges with a total notional value of $75.9 million and $56.0 million, respectively.
At September 28, 2019, assuming all other variables are constant, if the U.S. Dollar weakened or strengthened by 10%, the fair market value of our foreign currency contracts would increase or decrease by approximately $46.4 million.

Item 4. Controls and Procedures
Our management, with the participation of our Chief Executive Officer and Chief Financial Officer, evaluated the effectiveness of our disclosure controls and procedures (as defined in Rule 13a-15(e) of the Exchange Act as of the end of the period covered by this report. Based on that evaluation, our Chief Executive Officer and Chief Financial Officer concluded that our disclosure controls and procedures as of the end of the period covered by this report were effective at a reasonable assurance level in ensuring that information required to be disclosed by us in reports that we file or submit under the Exchange Act (i) is recorded, processed, summarized and reported within the time periods specified in the Securities and Exchange Commission’s rules and forms; and (ii) accumulated and communicated to management, including our Chief Executive Officer and Chief Financial Officer, as appropriate, to allow timely discussions regarding required disclosure. We believe that a control system, no matter how well designed and operated, cannot provide absolute assurance that the objectives of the control system are met, and no evaluation of controls can provide absolute assurance that all control issues and instances of fraud, if any, within a company have been detected.
There was no change in our internal control over financial reporting (as defined in Rule 13a-15(f) 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.
Part II. Other Information
Item 1. Legal Proceedings
From time to time and in the ordinary course of business, we are subject to various claims, charges and litigation. The outcome of litigation cannot be predicted with certainty and some lawsuits, claims or proceedings may be disposed of unfavorably to us, which could materially affect our financial condition or results of operations.
On October 24, 2019, purported Company shareholder Miramar Firefighters’ Pension Fund filed a putative class action in the U.S. District Court for the Southern District of New York against the Company and certain of its directors and officers, captioned Miramar Firefighters’ Pension Fund v. iRobot Corporation, et al., No. 1:19-cv-09837.  The complaint alleges violations of Sections 10(b) and 20(a) of the Securities Exchange Act of 1934 and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company’s acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company’s subsequent financial performance.  The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company’s allegedly inflated stock price, attorneys’ fees and costs, and unspecified equitable/injunctive relief.

Item 1A. Risk Factors

We operate in a rapidly changing environment that involves a number of risks that could materially affect our business, financial condition or future results, some of which are beyond our control. In addition to the other information set forth in this report, the risks and uncertainties that we believe are most important for you to consider are discussed in Part I, "Item 1A. Risk Factors" in our Annual Report on Form 10-K for the year ended December 29, 2018, which could materially affect our business, financial condition or future results. Additional risks and uncertainties not presently known to us, which we

26




currently deem immaterial or which are similar to those faced by other companies in our industry or business in general, may also impair our business operations. There are no material changes to the Risk Factors described in our Annual Report on Form 10-K for the year ended December 29, 2018, other than updates to the Risk Factor set forth below:

Significant developments from the recent and potential changes in U.S. trade policies have had, and we expect will continue to have, a material adverse effect on our business, financial condition and results of operations.

The U.S. government has indicated its intent to alter its approach to international trade policy and in some cases to renegotiate, or potentially terminate, certain existing bilateral or multi-lateral trade agreements and treaties with foreign countries. Effective September 24, 2018, the U.S. government implemented a 10% tariff on certain goods imported from China, which include the majority of those imported by the Company. These tariffs were increased to 25% on May 10, 2019 and were slated to further increase to 30% in October 2019 until a last-minute interim deal was reached between the United States and China. In addition, the U.S. government has indicated a desire to implement tariffs on the remainder of the goods the Company imports from China, with tariffs on the Company’s mopping products set to increase to 15% on December 15, 2019.  These tariffs, and other governmental action relating to international trade agreements or policies, have adversely impacted demand for our products, our costs, customers, suppliers, distributors, resellers and/or the U.S. economy or certain sectors thereof and, as a result, have adversely impacted, and we expect will continue to adversely impact, our business, financial condition and results of operations. The already-implemented, and any additional or increased, tariffs have caused and may in the future cause us to further increase prices to our customers which we believe has reduced, and in the future may reduce, demand for our products. The increased tariffs are a contributing cause for lowering our margin on products sold, and we expect a reduced margin going forward due to continuing tariffs. It remains unclear what the U.S. or foreign governments will or will not do with respect to tariffs, international trade agreements and policies on a short-term or long-term basis. We cannot predict future trade policy or the terms of any renegotiated trade agreements and their impacts on our business. The adoption and expansion of trade restrictions, the occurrence of a trade war, or other governmental action related to tariffs or trade agreements or policies has the potential to further adversely impact demand for our products, our costs, our customers, our suppliers, and the U.S. economy, which in turn could further adversely impact our business, financial condition and results of operations.

27




Item 5. Other Information

Our policy governing transactions in our securities by our directors, officers, and employees permits our officers, directors, funds affiliated with our directors, and certain other persons to enter into trading plans complying with Rule 10b5-l under the Exchange Act. We have been advised that certain of our officers and directors (including Colin Angle, Chief Executive Officer, Russell Campanello, EVP, Human Resources and Corporate Communications, Timothy Saeger, EVP & Chief R&D Officer, Glen Weinstein, EVP & Chief Legal Officer, as well as Mohamad Ali, Deborah Ellinger, Andrew Miller and Michelle Stacy, each a director of the Company) have entered into trading plans (each a "Plan" and collectively, the "Plans") covering periods after the date of this quarterly report on Form 10-Q in accordance with Rule 10b5-1 and our policy governing transactions in our securities. Generally, under these trading plans, the individual relinquishes control over the transactions once the trading plan is put into place. Accordingly, sales under these plans may occur at any time, including possibly before, simultaneously with, or immediately after significant events involving our company.
We anticipate that, as permitted by Rule 10b5-l and our policy governing transactions in our securities, some or all of our officers, directors and employees may establish trading plans in the future. We intend to disclose the names of our executive officers and directors who establish a trading plan in compliance with Rule 10b5-1 and the requirements of our policy governing transactions in our securities in our future quarterly reports on Form 10-Q and annual reports on Form 10-K filed with the Securities and Exchange Commission. We undertake no obligation to update or revise the information provided herein.


28




Item 6. Exhibits
 
EXHIBIT INDEX
Exhibit
Number
 
Description
 
 
 
 
Certification Pursuant to Rule 13a-14(a) or Rule 15d-14(a) of the Securities Exchange Act of 1934
 
 
 
 
Certification Pursuant to Rule 13a-14(a) or Rule 15d-14(a) of the Securities Exchange Act of 1934
 
 
 
 
Certification Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002
 
 
 
101.SCH*
 
Inline XBRL Taxonomy Extension Schema Document
 
 
 
101.CAL*
 
Inline XBRL Taxonomy Extension Calculation Linkbase Document
 
 
 
101.LAB*
 
Inline XBRL Taxonomy Extension Label Linkbase Document
 
 
 
101.PRE*
 
Inline XBRL Taxonomy Extension Presentation Linkbase Document
 
 
 
101.DEF*
 
Inline XBRL Taxonomy Extension Definition Linkbase Document
 
 
 
104*
 
Cover Page Interactive Data File (formatted as inline XBRL with applicable taxonomy extension information contained in Exhibits 101.*)
 __________________________
*
Filed herewith
**
Furnished herewith



29




SIGNATURES
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.
 
 
iROBOT CORPORATION
 
 
 
Date: October 31, 2019
By:
/s/ Alison Dean
 
 
Alison Dean
 
 
Executive Vice President and Chief Financial Officer (Duly Authorized Officer and Principal Financial Officer)

30
EX-31.1 2 irbtexhibit31192819.htm EXHIBIT 31.1 Exhibit


Exhibit 31.1
Certifications
I, Colin M. Angle, certify that:
1.
I have reviewed this Quarterly Report on Form 10-Q of iRobot Corporation;
2.
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;
3.
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;
4.
The registrant'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:
a)
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;
b)
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;
c)
Evaluated the effectiveness of the registrant's disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
d)
Disclosed in this report any change in the registrant's internal control over financial reporting that occurred during the registrant's most recent fiscal quarter (the registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant's internal control over financial reporting; and
5.
The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):
a)
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's ability to record, process, summarize and report financial information; and
b)
Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.

Date: October 31, 2019
/s/ COLIN M. ANGLE
 
Colin M. Angle
Chairman of the Board and Chief Executive Officer




EX-31.2 3 irbtexhibit31292819.htm EXHIBIT 31.2 Exhibit


Exhibit 31.2
Certifications
I, Alison Dean, certify that:
1.
I have reviewed this Quarterly Report on Form 10-Q of iRobot Corporation;
2.
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;
3.
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;
4.
The registrant'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:
a)
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;
b)
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;
c)
Evaluated the effectiveness of the registrant's disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
d)
Disclosed in this report any change in the registrant's internal control over financial reporting that occurred during the registrant's most recent fiscal quarter (the registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant's internal control over financial reporting; and
5.
The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):
a)
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's ability to record, process, summarize and report financial information; and
b)
Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.

Date: October 31, 2019
/s/ ALISON DEAN
 
Alison Dean
Chief Financial Officer




EX-32.1 4 irbtexhibit32192819.htm EXHIBIT 32.1 Exhibit


Exhibit 32.1

CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
In connection with the Quarterly Report on Form 10-Q of iRobot Corporation (the "Company") for the period ended September 28, 2019 as filed with the Securities and Exchange Commission on the date hereof (the "Report"), we, Colin M. Angle, the Chief Executive Officer of the Company and Alison Dean, the Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, to our knowledge, that:
(1)
the Report fully complies with the requirements of Section 13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended; and
(2)
the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
This certification is being provided pursuant to 18 U.S.C. 1350 and is not to be deemed a part of the Report, nor is it to be deemed to be "filed" for any purpose whatsoever.

Date: October 31, 2019
/s/ COLIN M. ANGLE
 
Colin M. Angle
Chairman of the Board and Chief Executive Officer
 
 
Date: October 31, 2019
/s/ ALISON DEAN
 
Alison Dean
Chief Financial Officer



EX-101.SCH 5 irbt-20190928.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 2118100 - Disclosure - Accrued Expenses link:presentationLink link:calculationLink link:definitionLink 2418402 - Disclosure - Accrued Expenses (Details) link:presentationLink link:calculationLink link:definitionLink 2318301 - Disclosure - Accrued Expenses (Tables) link:presentationLink link:calculationLink link:definitionLink 2124100 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 2424404 - Disclosure - Commitments and Contingencies - Activity Related to Warranty Accrual (Detail) link:presentationLink link:calculationLink link:definitionLink 2424402 - Disclosure - Commitments and Contingencies - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 2424403 - Disclosure - Commitments and Contingencies - Summary of Future Minimum Rental Payments under Operating Leases (Detail) link:presentationLink link:calculationLink link:definitionLink 2324301 - Disclosure - Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 1001000 - Statement - Consolidated Balance Sheets (Unaudited) link:presentationLink link:calculationLink link:definitionLink 1001501 - Statement - Consolidated Balance Sheets (Unaudited) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 1005000 - Statement - Consolidated Statement of Shareholders' Equity Statement link:presentationLink link:calculationLink link:definitionLink 1006000 - Statement - Consolidated Statements of Cash Flows (Unaudited) link:presentationLink link:calculationLink link:definitionLink 1004000 - Statement - Consolidated Statements of Comprehensive Income (Unaudited) link:presentationLink link:calculationLink link:definitionLink 1003000 - Statement - Consolidated Statements of Income Statement link:presentationLink link:calculationLink link:definitionLink 2419404 - Disclosure - Derivative Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 2119100 - Disclosure - Derivative Instruments (Notes) link:presentationLink link:calculationLink link:definitionLink 2419403 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 2319302 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 2319301 - Disclosure - Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 2101100 - Disclosure - Description of Business link:presentationLink link:calculationLink link:definitionLink 0001000 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 2422401 - Disclosure - Fair Value Measurements Fair Value on a Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 2122100 - Disclosure - Fair Value Measurements (Notes) link:presentationLink link:calculationLink link:definitionLink 2117100 - Disclosure - Goodwill, Other Intangible Assets and Other Assets link:presentationLink link:calculationLink link:definitionLink 2417402 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 2417405 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details) link:presentationLink link:calculationLink link:definitionLink 2417403 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail) link:presentationLink link:calculationLink link:definitionLink 2417404 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 2317301 - Disclosure - Goodwill, Other Intangible Assets and Other Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 2426402 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 2126100 - Disclosure - Income Taxes (Notes) link:presentationLink link:calculationLink link:definitionLink 2326301 - Disclosure - Income Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 2127100 - Disclosure - Industry Segment, Geographic Information and Significant Customers link:presentationLink link:calculationLink link:definitionLink 2427403 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 2427402 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail) link:presentationLink link:calculationLink link:definitionLink 2327301 - Disclosure - Industry Segment, Geographic Information and Significant Customers (Tables) link:presentationLink link:calculationLink link:definitionLink 2116100 - Disclosure - Inventory link:presentationLink link:calculationLink link:definitionLink 2416402 - Disclosure - Inventory (Details) link:presentationLink link:calculationLink link:definitionLink 2316301 - Disclosure - Inventory (Tables) link:presentationLink link:calculationLink link:definitionLink 2409405 - Disclosure - Leases Financial Statement Impact of Adopting ASC 842 (Details) link:presentationLink link:calculationLink link:definitionLink 2409402 - Disclosure - Leases Lease Cost (Details) link:presentationLink link:calculationLink link:definitionLink 2409404 - Disclosure - Leases Maturity of Operating Lease LIability (Details) link:presentationLink link:calculationLink link:definitionLink 2109100 - Disclosure - Leases (Notes) link:presentationLink link:calculationLink link:definitionLink 2409403 - Disclosure - Leases Supplemental Cash Flow (Details) link:presentationLink link:calculationLink link:definitionLink 2309301 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 2408407 - Disclosure - Revenue Recognition Contract Balances (Details) link:presentationLink link:calculationLink link:definitionLink 2308304 - Disclosure - Revenue Recognition Contract Balances (Tables) link:presentationLink link:calculationLink link:definitionLink 2408406 - Disclosure - Revenue Recognition Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 2308303 - Disclosure - Revenue Recognition Disaggregation of Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 2108100 - Disclosure - Revenue Recognition (Notes) link:presentationLink link:calculationLink link:definitionLink 2208201 - Disclosure - Revenue Recognition (Policies) link:presentationLink link:calculationLink link:definitionLink 2408405 - Disclosure - Revenue Recognition Significant Judgments (Details) link:presentationLink link:calculationLink link:definitionLink 2308302 - Disclosure - Revenue Recognition Significant Judgments (Tables) link:presentationLink link:calculationLink link:definitionLink 2423402 - Disclosure - Stockholders Equity (Details) link:presentationLink link:calculationLink link:definitionLink 2123100 - Disclosure - Stockholders Equity (Notes) link:presentationLink link:calculationLink link:definitionLink 2323301 - Disclosure - Stockholders Equity (Tables) link:presentationLink link:calculationLink link:definitionLink 2428402 - Disclosure - Subsequent Event (Details) link:presentationLink link:calculationLink link:definitionLink 2128100 - Disclosure - Subsequent Event (Notes) link:presentationLink link:calculationLink link:definitionLink 2328301 - Disclosure - Subsequent Event (Tables) link:presentationLink link:calculationLink link:definitionLink 2102100 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 2402403 - Disclosure - Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail) link:presentationLink link:calculationLink link:definitionLink 2402405 - Disclosure - Summary of Significant Accounting Policies Other Assets (Details) link:presentationLink link:calculationLink link:definitionLink 2202201 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 2402404 - Disclosure - Summary of Significant Accounting Policies Revenue Recognition (Details) link:presentationLink link:calculationLink link:definitionLink 2302302 - Disclosure - Summary of Significant Accounting Policies (Tables) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 irbt-20190928_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 7 irbt-20190928_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 8 irbt-20190928_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Organization, Consolidation and Presentation of Financial Statements [Abstract] Description of Business Nature of Operations [Text Block] Statement of Cash Flows [Abstract] Cash flows from operating activities: Net Cash Provided by (Used in) Operating Activities [Abstract] Net income Net Income (Loss) Attributable to Parent Adjustments to reconcile net income to net cash (used in) provided by operating activities, net of the effects of acquisition: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Depreciation and amortization Depreciation, Depletion and Amortization Stock-based compensation Share-based Compensation Deferred income taxes, net Increase (Decrease) in Deferred Income Taxes Other Other Noncash Income (Expense) Changes in operating assets and liabilities — (use) source Increase (Decrease) in Operating Capital [Abstract] Accounts receivable Increase (Decrease) in Accounts Receivable Inventory Increase (Decrease) in Inventories Other current assets Increase (Decrease) in Other Operating Assets Accounts payable Increase (Decrease) in Accounts Payable Accrued expenses and other liabilities Increase (Decrease) in Other Accrued Liabilities Net cash (used in) provided by operating activities Net Cash Provided by (Used in) Operating Activities Cash flows from investing activities: Net Cash Provided by (Used in) Investing Activities [Abstract] Additions of property and equipment Payments to Acquire Property, Plant, and Equipment Change in other assets Payments for (Proceeds from) Other Investing Activities Proceeds from sale of equity investment Proceeds from Sale of Other Assets, Investing Activities Cash paid for business acquisition, net of cash acquired Payments to Acquire Businesses, Net of Cash Acquired Purchases of investments Payments to Acquire Available-for-sale Securities Sales and maturities of investments Proceeds from Sale and Maturity of Debt Securities, Available-for-sale Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Cash flows from financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Proceeds from employee stock plans Proceeds from Stock Plans Income tax withholding payment associated with restricted stock vesting Payments Related to Tax Withholding for Share-based Compensation Stock repurchases Payments for Repurchase of Common Stock Net cash used in financing activities Net Cash Provided by (Used in) Financing Activities Effect of exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash and Cash Equivalents Net decrease in cash and cash equivalents Cash and Cash Equivalents, Period Increase (Decrease) Cash and cash equivalents, at beginning of period Cash and Cash Equivalents, at Carrying Value Cash and cash equivalents, at end of period Supplemental disclosure of cash flow information: Supplemental Cash Flow Information [Abstract] Cash paid for income taxes Income Taxes Paid Additions of property and equipment included in accounts payable Noncash or Part Noncash Acquisition, Fixed Assets Acquired Subsequent Events [Abstract] Inventory Disclosure [Abstract] Components of Inventory Schedule of Inventory, Current [Table Text Block] Schedule of Derivative Instruments [Abstract] Schedule of Derivative Instruments [Abstract] Derivative [Table] Derivative [Table] Hedging Designation [Axis] Hedging Designation [Axis] Hedging Designation [Domain] Hedging Designation [Domain] Not Designated as Hedging Instrument [Member] Not Designated as Hedging Instrument [Member] Designated as Hedging Instrument [Member] Designated as Hedging Instrument [Member] Income Statement Location [Axis] Income Statement Location [Axis] Income Statement Location [Domain] Income Statement Location [Domain] Other Nonoperating Income (Expense) [Member] Other Nonoperating Income (Expense) [Member] Cost of revenue Cost of Sales [Member] Sales Revenue, Net [Member] Sales Revenue, Net [Member] Hedging Relationship [Axis] Hedging Relationship [Axis] Hedging Relationship [Domain] Hedging Relationship [Domain] Cash Flow Hedging [Member] Cash Flow Hedging [Member] Balance Sheet Location [Axis] Balance Sheet Location [Axis] Balance Sheet Location [Domain] Balance Sheet Location [Domain] Accrued Liabilities [Member] Accrued Liabilities [Member] Other Noncurrent Liabilities [Member] Other Noncurrent Liabilities [Member] Other Current Assets [Member] Other Current Assets [Member] Other Noncurrent Assets [Member] Other Noncurrent Assets [Member] Derivative, by Nature [Axis] Derivative Instrument [Axis] Derivative Contract [Domain] Derivative Contract [Domain] Foreign Exchange Forward [Member] Foreign Exchange Forward [Member] Energy [Axis] Energy [Axis] Energy [Domain] Energy [Domain] Variable Rate [Axis] Variable Rate [Axis] Variable Rate [Domain] Variable Rate [Domain] Position [Axis] Position [Axis] Position [Domain] Position [Domain] Derivative [Line Items] Derivative [Line Items] Document Period End Date Document Period End Date Revenue Revenues Total cost of revenue Cost of Goods and Services Sold Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net Derivative Instruments, Gain Recognized in Other Comprehensive Income (Loss), Effective Portion Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax Derivative, Notional Amount Derivative, Notional Amount Derivative Asset Derivative Asset Other Derivatives Not Designated as Hedging Instruments at Fair Value, Net Other Derivatives Not Designated as Hedging Instruments at Fair Value, Net Derivative Liability Derivative Liability Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net Commitments and Contingencies Disclosure [Abstract] Disclosure Activity Related To Warranty Accrual [Abstract] Disclosure - Activity Related to Warranty Accrual [Abstract] Movement in Standard Product Warranty Accrual [Roll Forward] Movement in Standard Product Warranty Accrual [Roll Forward] Balance at beginning of period Standard Product Warranty Accrual Provision Standard Product Warranty Accrual, Increase for Warranties Issued Warranty usage Standard Product Warranty Accrual, Decrease for Payments Balance at end of period Goodwill and Intangible Assets Disclosure [Abstract] Schedule of Goodwill [Table] Schedule of Goodwill [Table] Consolidation Items [Axis] Consolidation Items [Axis] Consolidation Items [Domain] Consolidation Items [Domain] Range [Axis] Range [Axis] Range [Domain] Range [Domain] Goodwill [Line Items] Goodwill [Line Items] Goodwill Goodwill Goodwill, Acquired During Period Goodwill, Acquired During Period Goodwill, Foreign Currency Translation Gain (Loss) Goodwill, Foreign Currency Translation Gain (Loss) Outstanding POs [Abstract] Outstanding POs [Abstract] Contractual Obligation Contractual Obligation Statement of Financial Position [Abstract] Statement [Table] Statement [Table] Legal Entity [Axis] Legal Entity [Axis] Entity [Domain] Entity [Domain] Statement [Line Items] Statement [Line Items] Preferred stock, shares authorized Preferred Stock, Shares Authorized Preferred stock, shares outstanding Preferred Stock, Shares Outstanding Common stock, par value Common Stock, Par or Stated Value Per Share Common stock, shares authorized Common Stock, Shares Authorized Common stock, shares issued Common Stock, Shares, Issued Common stock, shares outstanding Common Stock, Shares, Outstanding Segment Reporting [Abstract] Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes Schedule of Segment Reporting Information, by Segment [Table Text Block] Statement of Comprehensive Income [Abstract] Scenario [Axis] Scenario [Axis] Scenario, Unspecified [Domain] Scenario, Unspecified [Domain] Class of Stock [Axis] Class of Stock [Axis] Class of Stock [Domain] Class of Stock [Domain] Other comprehensive income (loss): Other Comprehensive Income (Loss), Net of Tax [Abstract] Net foreign currency translation adjustments Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax, Portion Attributable to Parent Net unrealized gains (losses) on cash flow hedges, net of tax Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax Net (gains) losses on cash flow hedge reclassified into earnings, net of tax Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI on Derivatives, Net of Tax Net unrealized gains (losses) on marketable securities, net of tax Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax, Portion Attributable to Parent Total comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Subsequent Events [Text Block] Subsequent Events [Text Block] Derivative Instruments and Hedging Activities Disclosure [Abstract] Derivative Instruments and Hedging Activities Disclosure [Text Block] Derivative Instruments and Hedging Activities Disclosure [Text Block] Revenue Recognition and Deferred Revenue [Abstract] Contract with Customer, Asset and Liability [Table Text Block] Contract with Customer, Asset and Liability [Table Text Block] Schedule of Cash Flow Hedges Included in Accumulated Other Comprehensive Income (Loss) [Table Text Block] Schedule of Cash Flow Hedges Included in Accumulated Other Comprehensive Income (Loss) [Table Text Block] Schedule of Derivative Instruments [Table Text Block] Schedule of Derivative Instruments [Table Text Block] Goodwill, Other Intangible Assets and Other Assets Goodwill and Intangible Assets Disclosure [Text Block] Schedule of Goodwill [Table Text Block] Schedule of Goodwill [Table Text Block] Other Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Estimated Future Amortization Expense Related to Current Intangible Assets Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Equity and cost method investments [Abstract] Equity and cost method investments [Abstract] Equity Securities without Readily Determinable Fair Value, Amount Equity Securities without Readily Determinable Fair Value, Amount Statement of Stockholders' Equity [Abstract] Restatement [Axis] Restatement [Axis] Restatement [Domain] Restatement [Domain] Report Date [Axis] Report Date [Axis] Financial Statement Filing Date [Domain] Financial Statement Filing Date [Domain] Equity Components [Axis] Equity Components [Axis] Equity Component [Domain] Equity Component [Domain] Common Stock [Member] Common Stock [Member] Additional Paid-in Capital [Member] Additional Paid-in Capital [Member] Retained Earnings [Member] Retained Earnings [Member] AOCI Attributable to Parent [Member] AOCI Attributable to Parent [Member] Adjustments for New Accounting Pronouncements [Axis] Adjustments for New Accounting Pronouncements [Axis] Type of Adoption [Domain] Type of Adoption [Domain] Adjustments for Change in Accounting Principle [Axis] Adjustments for Change in Accounting Principle [Axis] Adjustments for Change in Accounting Principle [Domain] Adjustments for Change in Accounting Principle [Domain] Adjustments for Error Corrections [Axis] Adjustments for Error Corrections [Axis] Adjustments for Error Correction [Domain] Adjustments for Error Correction [Domain] Beginning Balance, Shares Beginning balance Stockholders' Equity Attributable to Parent Issuance of common stock under employee stock plans (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period Stock Issued During Period, Value, Stock Options Exercised Stock Issued During Period, Value, Stock Options Exercised Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares) Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition Shares Paid for Tax Withholding for Share Based Compensation (in shares) Shares Paid for Tax Withholding for Share Based Compensation Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount Stock withheld to Cover tax withholding requirements Upon Vesting to restricted Stock Units. Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Adjustments to Additional Paid in Capital Directors Deferred Compensation Adjustments to Additional Paid in Capital Directors Deferred Compensation Adjustments to additional paid in capital directors deferred compensation. Stock Repurchased and Retired During Period, Shares Stock Repurchased and Retired During Period, Shares Stock Repurchased and Retired During Period, Value Stock Repurchased and Retired During Period, Value Cumulative Effect of New Accounting Principle in Period of Adoption Cumulative Effect of New Accounting Principle in Period of Adoption Revenue, Remaining Performance Obligation, Amount Revenue, Remaining Performance Obligation, Amount Accounts Receivable, Net, Current Accounts Receivable, Net, Current Contract with Customer, Liability, Revenue Recognized Contract with Customer, Liability, Revenue Recognized Contract with Customer, Liability Contract with Customer, Liability Fair Value Disclosures [Abstract] Fair Value Measurements, Recurring and Nonrecurring [Table] Fair Value Measurements, Recurring and Nonrecurring [Table] Measurement Frequency [Axis] Measurement Frequency [Axis] Fair Value, Measurement Frequency [Domain] Fair Value, Measurement Frequency [Domain] Fair Value, Measurements, Recurring [Member] Fair Value, Measurements, Recurring [Member] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Fair Value, Inputs, Level 1 [Member] Fair Value, Inputs, Level 1 [Member] Fair Value, Inputs, Level 2 [Member] Fair Value, Inputs, Level 2 [Member] Fair Value, Inputs, Level 3 [Member] Fair Value, Inputs, Level 3 [Member] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value Available-for-sale Securities, Amortized Cost Basis Available-for-sale Securities, Amortized Cost Basis Cash and Cash Equivalents, Fair Value Disclosure Cash and Cash Equivalents, Fair Value Disclosure Available-for-sale Securities Available-for-sale Securities Convertible Debt, Fair Value Disclosures Convertible Debt, Fair Value Disclosures conversion of debt Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Settlements Assets, Fair Value Disclosure Assets, Fair Value Disclosure Financial and Nonfinancial Liabilities, Fair Value Disclosure Financial and Nonfinancial Liabilities, Fair Value Disclosure Refund liability, product returns Refund liability, product returns Refund liability, product returns Refund liability, other credits and incentives Refund liability, other credits and incentives Refund liability, other credits and incentives ASSETS Assets [Abstract] Current assets: Assets, Current [Abstract] Cash and cash equivalents Short term investments Available-for-sale Securities, Current Accounts receivable, net Inventory Inventory, Net Other current assets Other Assets, Current Total current assets Assets, Current Property and equipment, net Property, Plant and Equipment, Net Operating lease right-of-use assets Operating Lease, Right-of-Use Asset Deferred tax assets Deferred Tax Assets, Net, Noncurrent Intangible assets, net Finite-Lived Intangible Assets, Net Other assets Other Assets, Noncurrent Total assets Assets LIABILITIES, REDEEMABLE CONVERTIBLE PREFERRED STOCK AND STOCKHOLDERS' EQUITY Liabilities and Equity [Abstract] Current liabilities: Liabilities, Current [Abstract] Accounts payable Accounts Payable, Current Accrued expenses Accrued Liabilities, Current Deferred revenue and customer advances Deferred Revenue Total current liabilities Liabilities, Current Operating lease liabilities Operating Lease, Liability, Noncurrent Deferred tax liabilities Deferred Income Tax Liabilities, Net Other long-term liabilities Other Liabilities, Noncurrent Total long-term liabilities Liabilities, Noncurrent Total liabilities Liabilities Commitments and contingencies (Note 11) Commitments and Contingencies Preferred stock, 5,000 shares authorized and none outstanding Preferred Stock, Value, Issued Common stock, $0.01 par value, 100,000 shares authorized; 28,245 and 27,788 shares issued and outstanding, respectively Common Stock, Value, Issued Additional paid-in capital Additional Paid in Capital, Common Stock Retained earnings Retained Earnings (Accumulated Deficit) Accumulated other comprehensive income (loss) Accumulated Other Comprehensive Income (Loss), Net of Tax Total stockholders’ equity Total liabilities and stockholders’ equity Liabilities and Equity Leases [Abstract] Lessee, Operating Leases [Text Block] Lessee, Operating Leases [Text Block] Fair Value Footnote [Abstract] Fair Value Footnote [Abstract] Fair Value Disclosures [Text Block] Fair Value Disclosures [Text Block] Industry Segment, Geographic Information and Significant Customers Segment Reporting Disclosure [Text Block] Accounting Policies [Abstract] Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Use of Estimates Use of Estimates, Policy [Policy Text Block] Investment, Policy [Policy Text Block] Investment, Policy [Policy Text Block] Net Income Per Share Earnings Per Share, Policy [Policy Text Block] Recent Accounting Pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Subsequent Event [Table] Subsequent Event [Table] Subsequent Event Type [Axis] Subsequent Event Type [Axis] Subsequent Event Type [Domain] Subsequent Event Type [Domain] Subsequent Event [Member] Subsequent Event [Member] Subsequent Event [Line Items] Subsequent Event [Line Items] Gain (Loss) on Sale of Equity Investments Gain (Loss) on Sale of Equity Investments Derivative Instruments, Gain (Loss) [Table] Derivative Instruments, Gain (Loss) [Table] Derivative Instrument [Axis] Other Comprehensive Income Location [Axis] Other Comprehensive Income Location [Axis] Other Comprehensive Income Location [Domain] Other Comprehensive Income Location [Domain] Derivative Instruments, Gain (Loss) [Line Items] Derivative Instruments, Gain (Loss) [Line Items] Derivative Instruments, Gain (Loss) [Table Text Block] Derivative Instruments, Gain (Loss) [Table Text Block] Income Tax Disclosure [Abstract] Income Tax Disclosure [Text Block] Income Tax Disclosure [Text Block] Disclosure Basic And Diluted Net Income Per Share [Abstract] Disclosure - Basic and Diluted Net Income Per Share [Abstract] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items] Weighted-average shares outstanding Weighted Average Number of Shares Outstanding, Basic Dilutive effect of employee stock options and restricted shares Weighted Average Number Diluted Shares Outstanding Adjustment Diluted weighted-average shares outstanding Weighted Average Number of Shares Outstanding, Diluted Basic income per share Earnings Per Share, Basic Diluted income per share Earnings Per Share, Diluted Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Operating Lease, Weighted Average Discount Rate, Percent Operating Lease, Weighted Average Discount Rate, Percent Operating Lease, Cost Operating Lease, Cost Variable Lease, Cost Variable Lease, Cost Lease, Cost Lease, Cost Operating Lease, Weighted Average Remaining Lease Term Operating Lease, Weighted Average Remaining Lease Term Finite-lived intangible assets, schedule of amortization expense [Table] Finite-lived intangible assets, schedule of amortization expense [Table] Finite-lived intangible assets, schedule of amortization expense [Table] Operating Expense [Member] Operating Expense [Member] Finite-lived intangible assets, schedule of amortization expense [Line Items] Finite-lived intangible assets, schedule of amortization expense [Line Items] [Line Items] for Finite-lived intangible assets, schedule of amortization expense [Table] Remainder of 2018 Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year 2019 Finite-Lived Intangible Assets, Amortization Expense, Year Two 2020 Finite-Lived Intangible Assets, Amortization Expense, Year Three 2021 Finite-Lived Intangible Assets, Amortization Expense, Year Four 2022 Finite-Lived Intangible Assets, Amortization Expense, Year Five Thereafter Finite-Lived Intangible Assets, Amortization Expense, after Year Five Total Finite-lived intangible assets, future amortization total Finite-lived intangible assets, future amortization total Operating Lease, Payments Operating Lease, Payments Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax Operating lease right-of-use asset Operating Lease, Liability Operating Lease, Liability Disclosure Other Intangible Assets [Abstract] Disclosure Other Intangible Assets [Abstract] Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Completed technology Patented Technology [Member] Trade Names Trade Names [Member] Customer-Related Intangible Assets [Member] Customer-Related Intangible Assets [Member] Distribution Rights [Member] Distribution Rights [Member] Noncompete Agreements [Member] Noncompete Agreements [Member] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets, Gross Finite-Lived Intangible Assets, Gross Intangible assets accumulated amortization Finite-Lived Intangible Assets, Accumulated Amortization Intangible Assets, Net Amortization of Acquired Intangible Assets Amortization of Intangible Assets Revenue from Contract with Customer [Text Block] Revenue from Contract with Customer [Text Block] Document Documentand Entity Information [Abstract] Document Documentand Entity Information [Abstract] Document Information [Table] Document Information [Table] Entity Information [Line Items] Entity Information [Line Items] Document Type Document Type Document Quarterly Report Document Quarterly Report Document Transition Report Document Transition Report Entity Central Index Key Entity Central Index Key Entity File Number Entity File Number Entity Registrant Name Entity Registrant Name Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Entity Tax Identification Number Entity Tax Identification Number Amendment Flag Amendment Flag Entity Address, Address Line One Entity Address, Address Line One Entity Address, City or Town Entity Address, City or Town Entity Address, State or Province Entity Address, State or Province Entity Address, Postal Zip Code Entity Address, Postal Zip Code City Area Code City Area Code Local Phone Number Local Phone Number Title of 12(b) Security Title of 12(b) Security Trading Symbol Trading Symbol Security Exchange Name Security Exchange Name Document Fiscal Year Focus Document Fiscal Year Focus Document Fiscal Period Focus Document Fiscal Period Focus Current Fiscal Year End Date Current Fiscal Year End Date Entity Shell Company Entity Shell Company Entity Small Business Entity Small Business Entity Emerging Growth Company Entity Emerging Growth Company Entity Current Reporting Status Entity Current Reporting Status Entity Interactive Data Current Entity Interactive Data Current Entity Filer Category Entity Filer Category Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Schedule of Revenues from External Customers and Long-Lived Assets [Table] Schedule of Revenues from External Customers and Long-Lived Assets [Table] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Customer [Axis] Customer [Axis] Customer [Domain] Customer [Domain] Amazon [Member] Amazon [Member] Amazon [Member] Concentration Risk Type [Axis] Concentration Risk Type [Axis] Concentration Risk Type [Domain] Concentration Risk Type [Domain] Customer Concentration Risk [Member] Customer Concentration Risk [Member] Revenues from External Customers and Long-Lived Assets [Line Items] Revenues from External Customers and Long-Lived Assets [Line Items] Concentration Risk, Percentage Concentration Risk, Percentage Effective Income Tax Rate Reconciliation, Percent Effective Income Tax Rate Reconciliation, Percent Equity [Abstract] Stockholders' Equity Note Disclosure [Text Block] Stockholders' Equity Note Disclosure [Text Block] Accrued Liabilities, Current [Abstract] Components of Accrued Expenses Schedule of Accrued Liabilities [Table Text Block] Activity Related to the Warranty Accrual Schedule of Product Warranty Liability [Table Text Block] Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year Lessee, Operating Lease, Liability, Payments, Due Year Two Lessee, Operating Lease, Liability, Payments, Due Year Two Lessee, Operating Lease, Liability, Payments, Due Year Three Lessee, Operating Lease, Liability, Payments, Due Year Three Lessee, Operating Lease, Liability, Payments, Due Year Four Lessee, Operating Lease, Liability, Payments, Due Year Four Lessee, Operating Lease, Liability, Payments, Due Year Five Lessee, Operating Lease, Liability, Payments, Due Year Five Lessee, Operating Lease, Liability, Payments, Due after Year Five Lessee, Operating Lease, Liability, Payments, Due after Year Five Lessee, Operating Lease, Liability, Payments, Due Lessee, Operating Lease, Liability, Payments, Due Lessee, Operating Lease, Liability, Undiscounted Excess Amount Lessee, Operating Lease, Liability, Undiscounted Excess Amount Operating Lease, Liability, Current Operating Lease, Liability, Current Operating Lease, Liability, Noncurrent Operating Lease Cost [Abstract] Operating Lease Cost [Abstract] Lease, Cost [Table Text Block] Lease, Cost [Table Text Block] ScheduleOfLeasesSupplementalCashFlow [Table Text Block] ScheduleOfLeasesSupplementalCashFlow [Table Text Block] ScheduleOfLeasesSupplementalCashFlow [Table Text Block] Lessee, Operating Lease, Liability, Maturity [Table Text Block] Lessee, Operating Lease, Liability, Maturity [Table Text Block] Inventory Inventory Disclosure [Text Block] Disclosure Segment Information About Revenue Cost Of Revenue Gross Margin And Income Before Income Taxes [Abstract] Disclosure - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes [Abstract] Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table] Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table] Business Segments [Axis] Segments [Axis] Segment [Domain] Segments [Domain] Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items] Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items] Number of Reportable Segments Number of Reportable Segments Gross profit Gross Profit Research and development Research and Development Expense Selling and marketing Selling and Marketing Expense General and administrative General and Administrative Expense Other income, net Nonoperating Income (Expense) Accrued Expenses Accounts Payable and Accrued Liabilities Disclosure [Text Block] Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Geographical [Axis] Geographical [Axis] Geographical [Domain] Geographical [Domain] UNITED STATES UNITED STATES EMEA [Member] EMEA [Member] All Other Regions [Member] All Other Regions [Member] All Other Regions [Member] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Revenue from Contract with Customer, Excluding Assessed Tax Revenue from Contract with Customer, Excluding Assessed Tax Income Statement [Abstract] Product and Service [Axis] Product and Service [Axis] Product and Service [Domain] Product and Service [Domain] Cost of product revenue Cost of product revenue Cost of product revenue Amortization of acquired intangible assets Cost, Amortization Research and development Selling and marketing General and administrative Amortization of acquired intangible assets Amortization of Intangible Assets, Nonproduction Amortization of Intangible Assets, Nonproduction Total operating expenses Operating Expenses Operating income Operating Income (Loss) Other income, net Income before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Income tax expense Income Tax Expense (Benefit) Basic Diluted Basic Diluted Disaggregation of Revenue [Table Text Block] Disaggregation of Revenue [Table Text Block] Revenue, Judgment [Abstract] Revenue, Judgment [Abstract] Stock Repurchase Program, Authorized Amount Stock Repurchase Program, Authorized Amount Stock Repurchased and Retired During Period, Shares Stock Repurchased and Retired During Period, Value Returns reserve adjustment [Abstract] Returns reserve adjustment [Abstract] SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis] SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis] SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain] SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain] Disclosure Goodwill Other Intangible Assets And Other Assets Additional Information [Abstract] Disclosure - Goodwill, Other Intangible Assets and Other Assets - Additional Information [Abstract] Schedule of Business Acquisitions, by Acquisition [Table] Schedule of Business Acquisitions, by Acquisition [Table] Business Acquisition [Axis] Business Acquisition [Axis] Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Business Acquisition [Line Items] Business Acquisition [Line Items] Accrued Professional Fees, Current Accrued Professional Fees, Current Accounts Payable, Current [Abstract] Accounts Payable, Current [Abstract] Accrued Employee Benefits Accrued Employee Benefits Accrued warranty Standard Product Warranty Accrual, Current Accrued bonus Accrued Bonuses Accrued direct fulfillment costs Accrued Direct Fulfillment Costs Accrued direct fulfillment costs. Accrued sales and other taxes payable Accrued Sales Tax Accrued Sales Tax Accrued federal and state income taxes Accrued Income Taxes Accrued other Other Accrued Liabilities, Current Accrued expenses Inventory, Raw Materials, Net of Reserves Inventory, Raw Materials, Net of Reserves Inventory, Finished Goods, Net of Reserves Inventory, Finished Goods, Net of Reserves Inventory Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] EX-101.PRE 9 irbt-20190928_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 10 R17.htm IDEA: XBRL DOCUMENT v3.19.3
Stockholders Equity (Notes)
9 Months Ended
Sep. 28, 2019
Equity [Abstract]  
Stockholders' Equity Note Disclosure [Text Block] Stockholders' Equity
Share Repurchase Activity
On February 27, 2018, the Company's board of directors approved a stock repurchase program authorizing up to $50.0 million in share repurchases. This share repurchase program commenced on March 28, 2018 with an expiration date of December 28, 2018. As of June 30, 2018, the Company completed the repurchase program and repurchased 798,794 shares of common stock totaling $50.0 million.
XML 11 R8.htm IDEA: XBRL DOCUMENT v3.19.3
Description of Business
9 Months Ended
Sep. 28, 2019
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Description of Business Description of Business
iRobot Corporation ("iRobot" or the "Company") designs and builds robots that empower people to do more. The Company develops robotic technology and applies it to produce and market consumer robots. The Company’s revenue is primarily generated from product sales through distributor and retail sales channels, as well as its on-line stores.
XML 12 R13.htm IDEA: XBRL DOCUMENT v3.19.3
Goodwill, Other Intangible Assets and Other Assets
9 Months Ended
Sep. 28, 2019
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill, Other Intangible Assets and Other Assets Goodwill and Other Intangible Assets
The following table summarizes the activity in the carrying amount of goodwill for the nine months ended September 28, 2019 (in thousands):
Balance as of December 29, 2018
$
118,896

Acquisition
2,050

Effect of foreign currency translation
(3,409
)
Balance as of September 28, 2019
$
117,537



Intangible assets consisted of the following (in thousands):
 
September 28, 2019
 
December 29, 2018
 
Cost
 
Accumulated
Amortization
 
Net
 
Cost
 
Accumulated
Amortization
 
Net
Completed technology
$
28,100

 
$
24,320

 
$
3,780

 
$
26,900

 
$
21,607

 
$
5,293

Tradename
100

 
100

 

 
100

 
100

 

Customer relationships
10,989

 
2,049

 
8,940

 
11,291

 
1,365

 
9,926

Reacquired distribution rights
31,239

 
29,112

 
2,127

 
32,499

 
23,598

 
8,901

Non-competition agreements
251

 
167


84

 
263

 
110

 
153

Total
$
70,679

 
$
55,748

 
$
14,931

 
$
71,053

 
$
46,780

 
$
24,273


Amortization expense related to acquired intangible assets was $3.4 million and $4.8 million for the three months ended September 28, 2019 and September 29, 2018, respectively. Amortization expense related to acquired intangible assets was $10.1 million and $14.8 million for the nine months ended September 28, 2019 and September 29, 2018, respectively.
The estimated future amortization expense related to current intangible assets in each of the five succeeding fiscal years is expected to be as follows (in thousands):
 
Cost of Revenue
 
Operating Expenses
 
Total
Remainder of 2019
$
2,411

 
$
231

 
$
2,642

2020
1,140

 
990

 
2,130

2021
1,140

 
774

 
1,914

2022
915

 
774

 
1,689

2023
240

 
774

 
1,014

Thereafter
61

 
5,481

 
5,542

Total
$
5,907

 
$
9,024

 
$
14,931


XML 13 R4.htm IDEA: XBRL DOCUMENT v3.19.3
Consolidated Statements of Income Statement - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 28, 2019
Sep. 29, 2018
Sep. 28, 2019
Sep. 29, 2018
Revenue $ 289,399 $ 264,534 $ 787,232 $ 707,919
Cost of product revenue 149,463 124,754 403,392 324,967
Amortization of acquired intangible assets 3,095 4,574 9,283 14,035
Total cost of revenue 152,558 129,328 412,675 339,002
Gross profit 136,841 135,206 374,557 368,917
Research and development 33,401 35,309 104,320 103,178
Selling and marketing 42,257 39,030 137,502 116,269
General and administrative 18,372 23,329 61,871 72,630
Amortization of acquired intangible assets 256 263 796 805
Total operating expenses 94,286 97,931 304,489 292,882
Operating income 42,555 37,275 70,068 76,035
Other income, net 900 337 3,713 2,363
Income before income taxes 43,455 37,612 73,781 78,398
Income tax expense 7,923 5,683 8,522 15,597
Net income $ 35,532 $ 31,929 $ 65,259 $ 62,801
Basic $ 1.26 $ 1.16 $ 2.33 $ 2.27
Diluted $ 1.24 $ 1.12 $ 2.27 $ 2.19
Basic 28,154 27,493 28,029 27,692
Diluted 28,650 28,506 28,759 28,629
XML 14 R30.htm IDEA: XBRL DOCUMENT v3.19.3
Derivative Instruments Schedule of Derivative Instruments (Tables)
9 Months Ended
Sep. 28, 2019
Derivative [Line Items]  
Schedule of Cash Flow Hedges Included in Accumulated Other Comprehensive Income (Loss) [Table Text Block]
The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): 
 
 
Gain (loss) recognized in OCI on Derivative (1)
 
 
Three Months Ended
 
Nine Months Ended
 
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Foreign currency forward contracts
 
$
10,905

 
$
362

 
$
15,254

 
$
(198
)

(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
Schedule of Derivative Instruments [Table Text Block]
The fair values of derivative instruments are as follows (in thousands):
 
 
 
Fair Value
 
Classification
 
September 28, 2019
 
December 29, 2018
Derivatives not designated as hedging instruments:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
1,342

 
$
551

Foreign currency forward contracts
Accrued expenses
 
727

 

Derivatives designated as cash flow hedges:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
4,580

 
$
53

Foreign currency forward contracts
Other assets
 
9,574

 
172

Foreign currency forward contracts
Accrued expenses
 
355

 
335

Foreign currency forward contracts
Long-term liabilities
 
363

 
795


XML 15 R34.htm IDEA: XBRL DOCUMENT v3.19.3
Summary of Significant Accounting Policies Other Assets (Details) - USD ($)
$ in Millions
Sep. 28, 2019
Dec. 29, 2018
Equity and cost method investments [Abstract]    
Equity Securities without Readily Determinable Fair Value, Amount $ 22.4 $ 15.1
XML 16 R38.htm IDEA: XBRL DOCUMENT v3.19.3
Leases Lease Cost (Details)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 28, 2019
USD ($)
Sep. 28, 2019
USD ($)
Leases [Abstract]    
Operating Lease, Weighted Average Discount Rate, Percent 3.61% 3.61%
Operating Lease, Cost $ 2,250 $ 6,539
Variable Lease, Cost 828 2,965
Lease, Cost $ 3,078 $ 9,504
Operating Lease, Weighted Average Remaining Lease Term 9 years 4 months 24 days 9 years 4 months 24 days
XML 17 R55.htm IDEA: XBRL DOCUMENT v3.19.3
Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 28, 2019
USD ($)
Sep. 29, 2018
USD ($)
Sep. 28, 2019
USD ($)
segment
Sep. 29, 2018
USD ($)
Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]        
Number of Reportable Segments | segment     1  
Total cost of revenue $ 152,558 $ 129,328 $ 412,675 $ 339,002
Gross profit 136,841 135,206 374,557 368,917
Research and development 33,401 35,309 104,320 103,178
Selling and marketing 42,257 39,030 137,502 116,269
General and administrative 18,372 23,329 61,871 72,630
Other income, net $ 900 $ 337 $ 3,713 $ 2,363
XML 18 R51.htm IDEA: XBRL DOCUMENT v3.19.3
Stockholders Equity (Details) - USD ($)
9 Months Ended 12 Months Ended
Sep. 29, 2018
Dec. 29, 2018
Feb. 27, 2018
Equity [Abstract]      
Stock Repurchase Program, Authorized Amount     $ 50,000,000.0
Stock Repurchased and Retired During Period, Shares 799,000 798,794  
Stock Repurchased and Retired During Period, Value $ 50,000,000 $ 50,000,000.0  
XML 19 R40.htm IDEA: XBRL DOCUMENT v3.19.3
Leases Maturity of Operating Lease LIability (Details) - USD ($)
$ in Thousands
Sep. 28, 2019
Dec. 30, 2018
Dec. 29, 2018
Leases [Abstract]      
Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year $ 1,774    
Lessee, Operating Lease, Liability, Payments, Due Year Two 8,798    
Lessee, Operating Lease, Liability, Payments, Due Year Three 8,232    
Lessee, Operating Lease, Liability, Payments, Due Year Four 7,560    
Lessee, Operating Lease, Liability, Payments, Due Year Five 7,109    
Lessee, Operating Lease, Liability, Payments, Due after Year Five 41,128    
Lessee, Operating Lease, Liability, Payments, Due 74,601    
Lessee, Operating Lease, Liability, Undiscounted Excess Amount 11,953    
Operating Lease, Liability 62,648 $ 67,300  
Operating Lease, Liability, Current 6,307   $ 0
Operating Lease, Liability, Noncurrent $ 56,341   $ 0
XML 20 R44.htm IDEA: XBRL DOCUMENT v3.19.3
Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 28, 2019
Sep. 29, 2018
Sep. 28, 2019
Sep. 29, 2018
Dec. 29, 2018
Finite-Lived Intangible Assets [Line Items]          
Document Period End Date     Sep. 28, 2019    
Finite-Lived Intangible Assets, Gross $ 70,679   $ 70,679   $ 71,053
Intangible assets accumulated amortization 55,748   55,748   46,780
Intangible Assets, Net 14,931   14,931   24,273
Amortization of Acquired Intangible Assets 3,400 $ 4,800 10,100 $ 14,800  
Completed technology          
Finite-Lived Intangible Assets [Line Items]          
Finite-Lived Intangible Assets, Gross 28,100   28,100   26,900
Intangible assets accumulated amortization 24,320   24,320   21,607
Intangible Assets, Net 3,780   3,780   5,293
Trade Names          
Finite-Lived Intangible Assets [Line Items]          
Finite-Lived Intangible Assets, Gross 100   100   100
Intangible assets accumulated amortization 100   100   100
Intangible Assets, Net 0   0   0
Customer-Related Intangible Assets [Member]          
Finite-Lived Intangible Assets [Line Items]          
Finite-Lived Intangible Assets, Gross 10,989   10,989   11,291
Intangible assets accumulated amortization 2,049   2,049   1,365
Intangible Assets, Net 8,940   8,940   9,926
Distribution Rights [Member]          
Finite-Lived Intangible Assets [Line Items]          
Finite-Lived Intangible Assets, Gross 31,239   31,239   32,499
Intangible assets accumulated amortization 29,112   29,112   23,598
Intangible Assets, Net 2,127   2,127   8,901
Noncompete Agreements [Member]          
Finite-Lived Intangible Assets [Line Items]          
Finite-Lived Intangible Assets, Gross 251   251   263
Intangible assets accumulated amortization 167   167   110
Intangible Assets, Net $ 84   $ 84   $ 153
XML 21 R48.htm IDEA: XBRL DOCUMENT v3.19.3
Derivative Instruments Schedule of Derivative Instruments (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 28, 2019
Sep. 29, 2018
Sep. 28, 2019
Sep. 29, 2018
Dec. 29, 2018
Derivative [Line Items]          
Document Period End Date     Sep. 28, 2019    
Revenue $ 289,399 $ 264,534 $ 787,232 $ 707,919  
Total cost of revenue 152,558 129,328 412,675 339,002  
Designated as Hedging Instrument [Member]          
Derivative [Line Items]          
Derivative, Notional Amount 387,800   387,800   $ 366,700
Not Designated as Hedging Instrument [Member]          
Derivative [Line Items]          
Derivative, Notional Amount 75,900   75,900   56,000
Accrued Liabilities [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Other Derivatives Not Designated as Hedging Instruments at Fair Value, Net 727   727   0
Cash Flow Hedging [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Derivative Instruments, Gain Recognized in Other Comprehensive Income (Loss), Effective Portion [1] 10,905 362 15,254 (198)  
Other Nonoperating Income (Expense) [Member]          
Derivative [Line Items]          
Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net 852 435 200 973  
Cost of revenue | Cash Flow Hedging [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net 0 0 0 (386)  
Sales Revenue, Net [Member] | Cash Flow Hedging [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net 185 $ 549 400 $ 270  
Not Designated as Hedging Instrument [Member] | Other Current Assets [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Derivative Asset 1,342   1,342   551
Designated as Hedging Instrument [Member] | Cash Flow Hedging [Member] | Accrued Liabilities [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Derivative Liability 355   355   335
Designated as Hedging Instrument [Member] | Cash Flow Hedging [Member] | Other Noncurrent Liabilities [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Derivative Liability 363   363   795
Designated as Hedging Instrument [Member] | Cash Flow Hedging [Member] | Other Current Assets [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Derivative Asset 4,580   4,580   53
Designated as Hedging Instrument [Member] | Cash Flow Hedging [Member] | Other Noncurrent Assets [Member] | Foreign Exchange Forward [Member]          
Derivative [Line Items]          
Derivative Asset $ 9,574   $ 9,574   $ 172
[1]
(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
EXCEL 22 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( )N 7T\?(\\#P !," + 7W)E;',O+G)E;'.MDD^+ MPD ,Q;]*F?L:5\'#8CUYZ6U9_ )Q)OU#.Y,A$[%^>X>];+=44/ 87O+>CT?V M/S2@=AQ2V\54C'X(J32M:OP"2+8ECVG%D4)6:A:/FD=I(*+ML2'8K-<[D*F' M.>RGGD7E2B.5^S3%":4A+,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C M-R."?S]PN -02P,$% @ FX!?3R?HAPZ" L0 ! !D;V-0&UL38Y-"\(P$$3_2NG=;BGH06) L$?!D_>0;FP@R8;-"OGYIH(? MMWF\81AU8\K(XK%T-8943OTJDH\ Q:X831F:3LTXXFBD(3^ G/,6+V2?$9/ M-(X'P"J8%EQV^3O8:W7..7AKQ%/25V^9"CGIYFHQ*/B76_..7+8\#?NW_+"" MWTG] E!+ P04 " ";@%]/ZJ7ZD>X K @ $0 &1O8U!R;W!S+V-O M&ULS9+!:L,P#(9?9?B>*$Y&82;UI:.G#@8K;.QF;+4UBQUC:R1]^R5> MFS*V!]C1TN]/GT"M#D+W$9]C'S"2Q70WNLXGH<.:G8B" $CZA$ZE,1@M(?ZHA05]4*')(RBA3,P"(L1"9;HX6.J*B/%[S1"SY\QB[#C ;L MT*&G!+SDP.0\,9S'KH4;8(811I>^"V@68J[^B\GK%M8G4E[C]"M90>> :W:=_-IL'O=;)NN*/Q2\*AJ^YRM1->*^?I]= M?_C=A%UO[,'^8^.KH&SAUUW(+U!+ P04 " ";@%]/F5R<(Q & "<)P M$P 'AL+W1H96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03 M621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS M[BYBZ(:(E/)X8-DOV]:[MR_>X%#BVR]*+41B1%G\@MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C( MWXV(]ZMOFCU7H5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU M+,76>)7 \:V@S&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=* MY \FIS_I,C0'HYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_ MT=HWPJOX@L Y?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=R MSTS0LS0[=R M2^JVE+ZU)CA*]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZ MG=PZ.)Z8D;D*TU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCR MHB'NH8:8S\-#AWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)2 M56 Q6\8#*Y"B?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYE ML<%5'<]56_*POFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7G MFYRN>B)V^I=WP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5 M' 86%S+D4.Z2D 83 >LX=SFWJXPD6L_UC6'ODR MWSEPVSK> U[F$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\ MU*M:I60K$3]+!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHS MU8NL.8T*;T'50.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\! M4$L#!!0 ( )N 7T_+SR[C- , #H/ 8 >&PO=V]R:W-H965T&UL?5?M;ILP%'T5Q ,4? WYJ))(;:9IDS:IZK3M-TV[P_!/ MJK%O=KJM"V,?VWW2'5M5;!VIKA)*TTE2%V43KQ9N[*E=+?3)5&6CGMJH.]5U MT?Y^5)6^+&,1OP\\E_N#Z0>2U>)8[-4W9;X?GUK[E(Q5MF6MFJ[43=2JW3)^ M$/=K23W!(7Z4ZM+=W$?]4EZT?NT?/F^7<=K/2%5J8_H2A;V-7OB[?U[]8]N\78Q+T6GUKKZ66[-81G/XFBK=L6I,L_Z\DD-"\KC:%C] M%W56E87W,[$:&UUU[F^T.75&UT,5.Y6Z>+M>R\9=+]"' G"*237F;FE?BA,L5JT^A*U5[>.1;\IQ+VT'W/3#[IOY][9U79V]+Q* M%\FY+S,@'J\(ND&($9'8VJ, (8%'8G3Z5V#-$1(+2+@"Z>CRAIYA>@;IF:-G M-_3<^P <,<$".13(&7WJ"7#$# M,H,"$T>>> $>(%"M,H<*4\X4G 2"$)690 M8L;YTI, D(#3"U2'*>45_#M1IB X2(06L$K^)X## 5,%S"Y M#X)X!=]VA GX+G!\A>05?.))IXJL S#2@ M@O,N>)QIYJL S#R@@C,O>*(E.QH )G X"!Q[P4,MR5*YSGSW$2;TTP!GGWBN,]]] MA FX3SC[Q'.=^>XC3,A]G'WBN+L2Y[KW#_%$":D@K,O>:YS M?RSMY/6!RAVF&,XBF:9[Y/\F2FTZD5NW>-6U=M-&GQG6, M-Z-C8_C@^L+D+_S:57XMVGW9=-&+-K8?OGTIV3'LF6%N;$D^0QYRJ(]CKHY=_WW8 MQC@N?K3-?KA?;L?Q<%<4P_,VMO7PI3O$??KEI>O;>DRW_6LQ'/I8;^:@MBE0 M*5>T]6Z_7*_F9X_]>M6]CXJ[2> F;%W[MX'*ZN%]-0 MGKKN^W3S^^9^J29'L8G/X]1$G;[>8Q6;9FHI^?CWW.CRTN<4>'W]T?JO\^#3 M8)[J(59=\\]N,V[OEV&YV,27^JT9OW;'W^)Y0':Y.(_^C_@>FR2?G*0^GKMF MF#\7SV_#V+7G5I*5MOYQ^M[MY^_CN?V/,#D SP%X"0#S:8 ^!V@24)R]4-*JN)Y8JK-#AE92]6]&*Y%S+D!\MZ 5=:*JLD M&8)SLALGNG'$JM.YJ M =YX":*7P+U8XB6P7JP)RI3$C" #8[27W92BFY*[<<1-R;KQ5@$UPU76*\RL M&5 RH!1WPPBE6$3*F!&N(R-)AC,<@P!DYC3VD, M FA3'429(\C :IM;03*0@1/94R(#9VWPVE$Z58+..U=>[3:WCF0H@V.;;W:. M99 ")ZFG) 4.25!!\Z0+.NW\U49]ZTC&*7">>LI3X*1,%4%PU) @ \R5)R # M%3A1/24J<%B:4K%*2T*JS;RC*!,5.5$IGAZ0HQ*"#HSP@@Y!>YO9;U#F*G*N M>LI5Y,"T3ANZ@ 19Y@W%3"W*F>HI4U%@I:4E9R6HC,K5;RCS%#E/ ^4I<2)>,4.4X#Q2ER3DY48K,CX-2'D'G14<8IE2P:TSKSK*.$5>Y 9:Y$H:"O?/-;=.9"PCQW*@$$2.6Y:GSR2W/F08(XP#)-)F99YK#F/2_;GGI/6 MI?FAR[T2=*F"2U.9<90Y;>!,+BD$-3])$&LX02?6<,75>?;2@BQFN;%['O_+^[WYEPR0?*GGD-()S7EG1\Y]9"]%N$^+&&%O,-[:&3 M)Q5E+1;29&?$>P;XI(-:@@+/2U"+F\XMVQ>SO/1 Z M[%S??7,\-N=:* (W_V>20O-64Y-"QUO:.!R_Y;]0?SE@#B4E?YJ3J'=NYCHGJ/"%B$-("=??SO'" M!6VG+!*EQ:_CVG1Z'<:3Y&X*LP<$4T P!_C1NP'A%! : 6@DTZU^Q0(7.:.# MP\:'U6/UF_"WH;S,HW+JN]-GLELNO=?B+LC15>69)/>C)%A(#$6Y5L39+$&R M_@P16"$"'1\M(4(#8I3$6M*-)3S],5 ^UMWPA%:><,T3&3QK269(RG#]B=FYZ;AS MH$+.#/UF5Y0*D$F]C+_ME3O5Q4;VUQ./JG>M:\ ME65>_[OR175^F,/\X\&7P^N^[1XDR\4I?_5_^O;KZ:D.=\DURNY0^F-SJ(ZS MVK\\S!_A?H-]@Y[XZ^#/S>AZUDEYKJIOW?!#SG#<^JXJ_#[MV_S"W\]G.O^1O1?NE.O_J M!T%J/AO4_^[??1'P+I/0Q[8JFO[O;/O6M%4Y1 FIE/GWR^_AV/^>A_@?S?@& M.#3 :X/0]V<-Q-! _&@@/VT@AP;R9WM00P-%>D@NVOO!7.=MOES4U7E67];# M*>^6'=RK,%W;[F$_._W_PG@VX>G[TKE%\M[%&9#5!<$1 FEZRZP9YDHD(8%K M%LAEL<*H.=YVD,4$I$"2^-\HF\^CW"0JV.$2?0!Y$X!TLKHPNF>.ES2L$W18 M,P;34@E)1,68L08%5<9@J7'@>'&2%2<9<8*(NS!JU ]()S7!,@9#:105%V,R M%<)1<3$F4#IM>'&*%:<8<22=E8K[29TBTF)(*D.%Q9!#2P9I$T,0Y"M>E695 M:48527BEXVX4*F6)+@9#)Y!@ZQB3@-J03C1HATH+.8"HM(T.(34R",HOORAL% MHY[8(B'EZV7*B(LJ9AIW986A-8W!4 BD,\=@&JPARV##8 ;U:+!NY4W8 ?B) M;7* ;O)6FHIC(%HFU@QDG*;"8LBF$[LDL/[B$3"6!2F5A?&F+=%&PAC,.$'- M"(.)5$KKJ+J8PU K[,1.";PO <:8 %"!@GGIE*(%CL'"VJ4[_)K!3/@^L50? M@^G)*@>\,P'&F@#U71#;!$>-:L9 0A@JC8$,T/+-4"A&2_Q6&.]*@+$EM*,5 M,)9#R'C>&/MB-!VF-8,986RTG3"8%6ZB$ !O3X#Q)Q!M)[%7, ZIHV0HI:FE M6C.454@K 4.!4FZB?@/O3H"Q)T"]UP"-?;E0BKKWC,/ Q94@QG2PB>BEXRBGP!C4(!ZKP$B MTB25QE'Q*Q=3-TD/TCAJZ@L.>7N"C#V)9@T9WV&!?IQE'&:DHZ\<&RVE:W?# M1M-NHLPA;T^0L2?1S"'C/*Q6M!*PF(H^"5C,1.\CFUWYC!Z>CV(>\3N7(<\7\%]!LSS-=QO+L=L/\)?3OW^R.O7P[&9/5=M M6Y7]F<]+5;4^9)_>A;SW/M]=;PK_TG:7)ES7E].VRTU;G8:3Q.1ZG+G\#U!+ M P04 " ";@%]/>ONM(,8" "^"0 & 'AL+W=O^ M[!AOB51;OH]$SRG9&J>VB6 B: 5:W[56WE8A'D8;.F.'!OYQ,Z?Z:@'A\$H_BL]T4;!=28JQH8U MPCR#S5%(UHXL*I66O [ONC/O\\A_ZZ\ ,J]^UT4;S=\PW54^AK*-;S,J#F1"1RF!* _K2**'C#F\#5"X"Q,!*XI\LZX]9;A)% MWGHA0Y#*@PSJS677M0J$ACOZ[4 MJROUZ+(:KTR=,#G(K+:H7!#,+.DK%P- @C)+E8M*WI&4>25E'DE6)F7F5@X@ MJ[R5!Y0 6Y,'A.SS8^V"WFF^W*LH]RA"EJ+<"8&LIJI05:4LG!/D#R++=F5!X5P;K74RD5E($[MX]-%*:8LLX1%5Y=/ M2_G>3 (BV+!C)_41C8:7 8 'DC 8 >&PO=V]R:W-H965T&ULC9IO;^(X$,:_"N(]2SP>.\FJK72%HCOI3EKMZ>Y>9]NT10N$@[3= M^_;GA)2M9QX#;\J?/AZ/)\[O&0Q7;\WN^_ZYKMO1C_5JL[\>/[?M]O-TNK]_ MKM?5_E.SK3?A/X_-;EVUX>7N:;K?[NKJH1^T7DTIR_QT72TWXYNK_KTONYNK MYJ5=+3?UE]UH_[)>5[O_;NM5\W8]-N/W-[XNGY[;[HWIS=6V>JK_K-N_ME]V MX=7T&.5AN:XW^V6S&>WJQ^OQ+^;SPG$WH%?\O:S?]A^>C[JE?&N:[]V+WQZN MQUF74;VJ[]LN1!4>7NM9O5IUD4(>_PY!Q\K??]W=/^R M;YOU$"6DLJY^'!Z7F_[Q;8C_/@P/H&$ '0<8[G#/G) 7X8X'_.T ^8'HK55W]>M=7-U:YY&^T.&VA;=?O4?/;A^MYW M;_:7L_]?N #[\.[KC2%W-7WM @V:VX.&(HV/-3.DR6/-'&F*6'.'-&6L60"- MS8Z::5CO<=$$%TU] (X"&+&@@\;UFDVOH;QDEV6)F2R',HFD$VYA=-*Y=4YKXE0PZ@U@O5%6JIGJJ#S"5E<4(8 MO@;0EZ7Y&(W?25Z6Z=V, 6P @=G*N31=)RZBVK"=@:Z0UTMS>,)ETIX,1K$! M+-8ETC .)2H"]A-S81P;P&-=(HU;4:)X*DQ4@Y J&QRC:4EYN '3DV%B&H1, M54/-3'9%)F_5V:"+6Q-I.""8<<8Y+^\BK;-9V-M&D@@ W?HRU5)BGA/BN>QU M2$/8)T,)T)T5F:.VDZ&R]KRMQ)=\+6E/+CZ]U9 M69P01CQ=@GA"B/=YNEHRZW+9/1-"O#PJ ,&,MR&>K"5 /)O" M9G([ L139A.WA\6(MP#Q++EK=2]N,GD3W5E@!%D*JA;;@$4V(&\/J^D=JET4 MNNNZ1!FGA5EO$>O5F0>I*KGN@XWT)Z CN:/F%AA''G*7737069]G)/L!H)MP MS@EXV<3)#_(AV0]8[2"&3IPQ81>QR$74OM3^P&4AB3&H3KD>#I3*&!N-10L-@AU>_BS!R$@2NHDQ&*;L>C,1O8#5ON'*7+9 MVLW/RN*$L,U89#.2Z%;;S,2ENUJ+3<8BDY$'(A9P/%?V,;/:8]2!2")4HB]@ M; F,+$%V3*QA'S[["!8LSJGB=+ E,#J?D9; H*$7]][\M"9.!=L QM0'1-K MTGI'3G9,9V5Q0AC(C( L^<<:R%08LLG-S(F#;X1D:8*L2>KRTN7RNQ764"9) M[CD(9@KV7G9,0&=+G\N3\ 703?4%@.9\&AZ,*<^(\M("&9RJ MR\. &6O.9[+4I^/$^6+0,P*]-$ &!#'<:W-;(YG-Q3A6G@_'N+L&[ WV\ MO%"G-7$J&._N$KP[W;U;I[Z^N'.@+X]D<4(8[^X"O-\ZA'>*O]4][/9+E'%: MV C<)4;@-. ]45%(( !=2$I>6]#"%R5Y^4T[T''X %;(C\XH7J::@>F''QQT M/TKYH]H]+3?[T;>F;9MU_PN#QZ9IZQ Q^Q2J^EQ7#\<7J_JQ[9[FX?GN\&.0 MPXNVV0X_=)D>?VUS\S]02P,$% @ FX!?3^E<9N4]! @1, !@ !X M;"]W;W)KSV_="0+!>GV.7=] M4T]1O)6Z_'[]/1S'W\L4_Z,;[L!3![YU\&/_7P<]== _.J1C\E=G8ZH_E7VY M7+3-9=9>G]:I'(J"'K6?S,W0.,[=^#^?;>=;WY>4FD7R/@2:-*NKAN\U-T7B MH]^&8#3$BH/N_'F =:@@%1E"PRST&$!_RL+B "D,D(X!TOL )*?AJK&CYCAJ MK&%3B%R BO-8-@::,2";# >P,( -LTESD2A&:.$F3P8YL'DF19F@"KE(E)T!313 #,D MS!3!,*G-,^$E%)'2C*V0PAQ08=&96(@(2@CDHR5+*)PW4H4LSS70:2ITI/(( MDN>9.'!D T,<&LIU+G5KI#.II4CY$085Z=!1*AUIX(B,D8: C/*4\H@A##X* MR9<%AM)P),[86.D(Z$@9BI41IA\94$:!)0.&HH("2TBG39%&+&&>$@"J?!XK M"EGYH,ED$\-L\8 MB(2(*!D^A^)#D]0)+''A=CNC*@JY5+ M%X?4Y)SD<@%4$:XRYBJ'7"4K5RX.@1E,"V"J376$8(R1RB%2R;(T$\*RT$$5 M Y7G5VR[PYBH#/:2P:K#"*DFE\OE&NK80HDJ7&Q,BN,4@U *F5(-4A)?W^0;X22&5B MRZ?&,-4 IIF$J09;55/D6M8STG%N*&8),U4#IF:2J3H$)FFE@X\3I&._IS41 M2Y&O:D#63))U$MU_\&;*!-]N0$9*$+K9ICD?^^&(X*[U M=H[TS,/!AVA?T>/Z>AKT(\SU<.KWLMT=CMWLM>G[IAX//]Z:IG?>IOKBIVSO MRNWMIG)O_7"9^>OV>BATO>F;TW3@E=Q.W9;_ 5!+ P04 " ";@%]/ABE> M*;$! #2 P & 'AL+W=O+I'D.#RDJ M'="\V@; D7-"@.5I)VKX >YG=S3> M8S-+V2K0MD5-#%09O=ON#TG(CPF_6ACLPB:ADQ/B:W">RHQN@B"04+C (/QQ MAGN0,A!Y&6\3)YU+!N#2OK _Q-Y]+R=AX1[E2UNZ)J-?*"FA$KUTSS@\PM3/ M-253\]_@#-*G!R6^1H'2QB\I>NM032Q>BA+OX]GJ> X3_P6V#N 3@'\"L+%0 M5/Y5.)&G!@=BQMEW(ESQ=L_];(H0C*.(_[QXZZ/G?'N[2]DY$$TYAS&'+W/F M#.;9YQ)\K<2!_P/GZ_#=JL)=A._^4IBL$R2K!$DD2/[;XEK.]::6*=%JFJ?1=S9Y MBKV3K8:S(;972IA?)Y X9'1+/QR/;=VXX&!YVHD:GL#]Z,[&6VQF*5L%VK:H MB8$JHW?;XRD)\3'@9PN#79Q)J.2"^!*,KV5&-T$02"A<8!!^N\(]2!F(O(S7 MB9/.*0-P>?Y@_Q)K][5ZK@/XTVRFV#K #X!^ PXQ#QL3!25?Q9. MY*G!@9BQ]YT(3[P]8TQO!ES!S!//N< M@J^E./%_X'P=OEM5N(OPW1\*]^L$R2I!$@F2_Y:X%G/X*PE;]%2!J>,T65)@ MK^,D+[SSP-[Q^":_P\=I_RY,W6I++NC\R\;^5X@.O)3-C1^AQG^PV9!0N7#< M^[,9QVPT'';3#V+S-\[? 5!+ P04 " ";@%]/Q&'G@[8! #2 P &0 M 'AL+W=O?2=39GCX*30 M<#;$#DIQ\^<$$L>"IO35\23:S@4'*_.>M_ =W(_^;+S%%I9:*-!6H"8&FH+> MI\?3/L3'@)\"1KLZDU#)!?$Y&%_J@B9!$$BH7&#@?KO" T@9B+R,WS,G75(& MX/K\ROXIUNYKN7 +#RA_B=IU!3U04D/#!^F>E/@< M%4H;5U(-UJ&:6;P4Q5^F7>BXC]/-;3;#M@'9#,@6P"'F85.BJ/R1.U[F!D=B MIM[W/#QQ>LQ\;ZK@C*V(=UZ\]=YKF=Y]S-DU$,TQIRDF6\-_6\0'7@IR8T?H&UL;5/;;IPP$/T5RQ\0[P))5RM RJ:* M4JF55JG:/GMA "N^4-LLZ=]W; @E*2^V9SSGS)GQ.!^-?7$=@">O2FI7T,[[ M_LB8JSI0W-V8'C3>-,8J[M&T+7.]!5Y'D)(LV>WNF.)"TS*/OK,M,)A::@M[O MCZ GP)&MSJ34,G%F)=@?*D+N@N"0$+E P/'[0H/(&4@0AF_9TZZI S M]?F-_3'6CK54S,5_A2M(# ]*,$=E MI(LKJ0;GC9I94(KBK],N=-S'Z28]S+!M0#(#D@5PB'G8E"@J_\P]+W-K1F*G MWO<\//'^F&!OJN",K8AW*-ZA]UKN#VG.KH%HCCE-,&PO M=V]R:W-H965T)R/VKS8#L"A-RF4+7#G7'\@ MQ%8=2&:O= _*WS3:2.:\:5IB>P.LCB0I"-WM;HAD7.$RC[Z3*7,].,$5G RR M@Y3,_#V"T&.!$_SA>.)MYX*#E'G/6G@&]ZL_&6^11:7F$I3E6B$#38'ODL-Q M'_ 1\)O#:%=G%"HY:_T2C.]U@7Q B"/DT7F=-O(0,Q/7Y M0_TAUNYK.3,+]UK\X;7K"IQA5$/#!N&>]/@(9/FY!)T9LAQ@M 5)%D0Q(LO$>A6A"/]0J?; M]'0SP332TW7T['9;8+\IL(\"^_]5^!629-D_,^U& (:%XZW_FRF(9L, MI_OY_Y#E$Y?O4$L#!!0 ( )N 7T_Q1>[FM0$ -(# 9 >&PO=V]R M:W-H965T^.C+FR M!<7=C>E XTUMK.(>3=LPUUG@520IR=(D^<04%YH66?2=;9&9WDNAX6R)ZY7B M]M<)I!ERNJ$?CF?1M#XX6)%UO('OX']T9XL6FU4JH4 [832Q4.?T;G,\[0(^ M EX$#&YQ)J&2BS&OP?A6Y30)"8&$T@<%CML5[D'*((1IO$V:= X9B,OSA_K7 M6#O6D$R&="?L8AXV!8N9?N.=%9LU [-C[CHWR*?LP$ -(# 9 >&PO=V]R:W-H M965T--8IT5 T[7,]PY$G4!:,;[;O69:2$/+//G.KLSM$)0T<';$#UH+]_,$ MRHX%W=.;XTFV78@.5N:]:.$+A*_]V:'%%I9::C!>6D,<- 5]V!]/68Q/ =\D MC'YU)K&2B[7/T?A8%W07!8&"*D0&@=L5'D&I2(0R?LR<=$D9@>OSC?U]JAUK MN0@/CU9]EW7H"GI/20V-&%1XLN,'F.MY1X@L+PJ 1S5%;YM))J\,'J MF06E:/$R[=*D?9QNLAML&\!G %\ ]PG ID1)^3L11)D[.Q(W];X7\8GW1XZ] MJ:(SM2+=H7B/WFNY?\MS=HU$<\QIBN'KF"6"(?N2@F^E./%_X'P;?MA4>$CP MPQ\*#]L$V29!E@BR_Y:X%9/]E82M>JK!M6F:/*GL8-(DK[S+P#[P]":_PZ=I M_RQ<*XTG%QOP95/_&VL#H)3='8Y0AQ]L,10T(1[?X-E-8S89P?;S#V++-RY_ M 5!+ P04 " ";@%]/ 0'WEK8! #2 P &0 'AL+W=O_=N^-(>S0OM@%PY$U);3/:.-<>&+-% XK;&VQ!^YL* MC>+.FZ9FMC7 RPA2DB6KU1U37&B:I]%W,GF*G9-"P\D0VRG%S?L1)/897=.K MXUG4C0L.EJE/@BX]\/-[@I;!B0C()D ^PA@0Z*H_"MW/$\-]L0,O6]Y>.+U(?&]*8(SMB+> M>?'6>R_Y^LMMRBZ!:(PY#C')/&:*8)Y]2I$LI3@F_\&39?AF4>$FPCIQ*68_:-_:\0'7@IJQL_0HW_8),AH7+AN/-G,XS98#ALQQ_$IF^<_P50 M2P,$% @ FX!?3V15[:*V 0 T@, !D !X;"]W;W)K&UL;5/;;IPP$/T5RQ\0 [M-DQ4@95-5K91(JU1MG[TP@!5?J&V6 MY.\S-H32E!?;,YYSYLQXG(_&/KL.P),7);4K:.=]?V#,51TH[JY,#QIO&F,5 M]VC:EKG> J\C2$F6)+%EM8:J% .V$TL= 4]"X]'/UW0) @""94/#!RW"]R#E($(9?R9.>F2,@#7YW?VK[%VK.7,'=P;^5O4 MOBOH#24U-'R0_LF,WV"NYQ,E<_$/< &)X4$)YJB,='$EU>"\43,+2E'\9=J% MCOLXW>RN9]@V()L!V0*XB7G8E"@J_\(]+W-K1F*GWO<\/'%ZR+ W57#&5L0[ M%._0>RG3V]N<70+1''.<8K)US!+!D'U)D6VE.&;_P;-M^&Y3X2["=VMXDFP3 M[#<)]I%@_P]!^J'$K9B/*MFJIPIL&Z?)D&PO=V]R:W-H965T65"*%J_3+KNX MC]/-X0;;!O 9P!? 0P2P*5%4_E%X4636C,1.O>]%>.+=D6-ORN",K8AW*-ZA M]UKP9)^Q:R":8TY3#%_%[)8(ANQ+"KZ5XL3_@_-M^'Y3X3["]V\4IML$Z29! M&@G2-P2'=R5NQ=R_2\)6/=5@FSA-CI1FZ.(DK[S+P#[R^";_PJ=I_R9L(SM' M+L;CR\;^U\9X0"G)'8Y0BQ]L,134/AP_X-E.8S89WO3S#V++-R[^ E!+ P04 M " ";@%]/$NZNCK4! #2 P &0 'AL+W=OUUKX =]Q[]^XXTL'89]< >/*B5>LRVGC?'1AS10-:N"O308LWE;%:>#1M MS5QG0901I!7C2?*):2%;FJ?1=[)Y:GJO9 LG2UROM;"O1U!FR.B&OCF>9-WX MX&!YVHD:OH/_T9TL6FQF*:6&UDG3$@M51F\WA^,NQ,> GQ(&MSB34,G9F.=@ MW)<938(@4%#XP"!PN\ =*!6(4,;OB9/.*0-P>7YC_QIKQUK.PL&=4;]DZ9N, M[BDIH1*]\D]F^ 93/=>43,4_P 44A@::3[!U )\ ? ;L8QXV)HK*OP@O\M2:@=BQ]YT(3[PY<.Q-$9RQ%?$.Q3OT M7G*>W*3L$HBFF.,8PQGXW))V.?7 ?@R;-6O2MHY_UP9,Q5'6CA;LP /=XTQFKAT;0M05HPGR3NFA>QIF4??V9:Y&;V2/9PM<:/6POX^@3)305/ZXGB4;>>#@Y7Y M(%KX!O[[<+9HL96EEAIZ)TU/+#0%O4^/IT.(CP$_)$QN4#@\#M"@^@5"!"&;\63KJF#,#M^87]8ZP=:[D(!P]&_92U[PIZ1TD- MC1B5?S33)UCJN:5D*?X+7$%A>%"".2JC7%Q)-3IO],*"4K1XGG?9QWV:;[+; M!;8/X N KX"[F(?-B:+R#\*+,K=F(G;N_2#"$Z='CKVI@C.V(MZA>(?>:\G3 M)&?70+3$G.88OHE)UPB&[&L*OI?BQ/^!\WUXMJLPB_#LE<+_Y#_L$APBP>$5 M 7]3XEY,]B8)V_14@VWC-#E2F;&/D[SQK@-[S^.;_ V?I_VKL*WL';D8CR\; M^]\8XP&E)#&UL M?5-A;]P@#/TKB!]0+EQZK4Y)I%ZK:I,VZ=1IVV^C\38U&"^=-TS#;&Q!5 M!&G%^&YW8%K(CA99])U-D>'@E.S@;(@=M!;FYPD4CCE-Z+OC13:M"PY69+UH MX NXK_W9>(LM+)74T%F)'3%0Y_0A.9[2$!\#ODD8[>I,0B47Q-=@?*QRN@N" M0$'I H/PVQ4>0:E Y&7\F#GIDC( U^=W]N=8NZ_E(BP\HOHN*]?F])Z2"FHQ M*/>"XP>8Z[FE9"[^$UQ!^?"@Q.-B6*RI^$$T5F<"1FZGTOPA,G1^Y[4P9G;$6\\^*M]UX+GJ09 MNP:B.>8TQ?!53+)$,,^^I.!;*4[\'SC?AN\W%>XC?/^'PMMM@G23((T$Z7]+ MW(HY_)6$K7JJP31QFBPI<>CB)*^\R\ ^\/@FO\.G:?\L3",[2R[H_,O&_M>( M#KR4W8T?H=9_L,504+MPO/-G,XW99#CLYQ_$EF]<_ )02P,$% @ FX!? M3VDVQB"W 0 T@, !D !X;"]W;W)K&UL;5-A M;]P@#/TKB!]0$NZZWDY)I%ZK:9,VZ=1IVV-J'^!CP4\)H5V<2*KD@/@?C2Y73) @"!:4+ M#,)O5W@ I0*1E_%[YJ1+R@!$!U2]9N3:G!THJJ,6@W!.. MGV&NYY:2N?BO< 7EPX,2GZ-$9>-*RL$ZU#.+EZ+%R[3++N[C=+-+9]@V@,\ MO@ .,0^;$D7EC\*)(C,X$C/UOA?AB=,C][TI@S.V(MYY\=9[KP5/[S)V#41S MS&F*X:N8=(E@GGU)P;=2G/A_<+X-WVTJW$7X[HW"PS;!?I-@'PGV;P@^OBMQ M(X8G[Y*P54\UF"9.DR4E#EV2W/@1:OT'6PP%M0O'.W\VTYA-AL-^_D%L^<;%7U!+ P04 " ";@%]/ MSY[U2>X! !F!0 &0 'AL+W=O<(7 Z'02 M @ZE<0S,+C=X ,X=D4WC]\09SI(N<+E_8W_RM=M:SDS#@^2_VHMI#F$6!A>H MV)6;9SE\AJF>- RFXK_"#;B%NTRL1BFY]M^@O&HCQ<1B4Q'L=5S;SJ_#>)(F M4Q@>0*< .@=D7H>,0C[S1V98D2LY!&J\^YZY)][LJ;V;TCG]5?@SF[RVWEM! MZ28G-TI/+V$ *[X0VRS)W]-\U.;%=@ .O4FA;($[Y_HC(;;J0#)[HWM0_J;11C+G3=,2 MVQM@=21)06B2?"&2<87+//K.ILSUX 17<#;(#E(R\WX"H<<"[_"'XYFWG0L. M4N8]:^$'N)_]V7B++"HUEZ LUPH9: I\NSN>LH"/@%\<1KLZHU#)1>N78#S6 M!4Y"0B"@T*=R!$$/)IO,Z:> D9B.OSA_I#K-W7]GVC:!S@2Z$ XQ#ID"QR?$M-/)6YALD]!R*JG$DP;I\FB2@\J3O+*NPSL+8UO\A<^3?L3,RU7%EVT M\R\;^]]H[<"GDMSX$>K\!UL, 8T+QZ_^;*8QFPRG^_D'D>4;EW\ 4$L#!!0 M ( )N 7T_%M ]#MP$ -(# 9 >&PO=V]R:W-H965T;%8KVU(V5=5*K;1*U?:9M<<7A8L+>)W^?0?L MN&[J%V"&<\Y<&++1V!?7 GCRJJ1V.6V][T^,N;(%)=R=Z4'C36VL$AY-VS#7 M6Q!5)"G)>)(T/CA8 MD?6B@6_@O_<7BQ9;5*I.@7:=T<1"G=/'W>F\#_@(^-'!Z%9G$BJY&O,2C,]5 M3I.0$$@H?5 0N-W@":0,0IC&KUF3+B$#<7U^4_\8:\=:KL+!DY$_N\JW.3U2 M4D$M!NF?S?@)YGKN*9F+_P(WD @/F6",TD@75U(.SALUJV J2KQ.>Z?C/DXW MAW2F;1/X3. +X1CCL"E0S/R#\*+(K!F)G7K?B_#$NQ/'WI3!&5L1[S!YA]Y; MP=/[C-V"T(PY3QB^PNP6!$/U)03?"G'F_]'Y-CW=S#"-]'0=_9AL"^PW!?91 M8/]/B8=W)6YA'MX%8:N>*K!-G"9'2C/H.,DK[S*PCSR^R5_X-.U?A6TZ['S9V/_:& ^82G*'(]3B!UL,";4/QP<\VVG,)L.;?OY!;/G&Q1]02P,$% M @ FX!?3]!J-2#3 0 G 0 !D !X;"]W;W)K&UL=51MCYP@$/XKA!]PN.C:[49-;N_2M$F;;*[I]3.KXTL.Q *NUW]?0,_: M+?=%F.&9YYG!&;))JA?= ACT*GBO<]P:,QP)T64+@ND[.4!O3VJI!#/65 W1 M@P)6^2#!"8VBE C6];C(O.^LBDR.AG<]G!72HQ!,_3X!EU..=_C-\=0UK7$. M4F0#:^ [F!_#65F+K"Q5)Z#7G>R1@CK'][OC*75X#WCN8-*;/7*57*1\<<:7 M*L>12P@XE,8Q,+M!V_\;^R==N:[DP#0^2_^PJT^;X M@%$%-1NY>9+39UCJV6.T%/\5KL MW&5B-4K)M?^B2U M]5X+&A\R!S,,/;A\3\9?@P3)$&" MQ!,D6X(DNBDQA'FGR'U09!\@H#VV],-5VOT44:VZ.^DVHI#=A4HCM;<&N?BM7@ M4!NW_6#W:AZ8V3!R6-X"LCY(Q1]02P,$% @ FX!?3[".4<*Y 0 T@, M !D !X;"]W;W)K&UL;5/;;IPP$/T5RQ\0+UZ: M12M RJ:J4JF55HG:/GMA "N^$-LLZ=_'-H32A!?;,S[GS,7C?-3FV78 #KU* MH6R!.^?Z(R&VZD R>Z-[4/ZFT48RYTW3$ML;8'4D24'H;G=+).,*EWGTG4V9 MZ\$)KN!LD!VD9.;O"80>"YS@=\];"$[A?_=EXBRPJ-9>@+-<* M&6@*?)<<3VG 1\!O#J-=G5&HY*+UA81 0.6" O/;%>Y!B"#DTWB9 M-?$2,A#7YW?U;[%V7\N%6;C7X@^O75?@#*,:&C8(]ZC'!YCK^8+17/P/N(+P M\)")CU%I8>.*JL$Z+6<5GXIDK]/.5=S'Z69/9]HV@F"L[8BGCGD[?>>RUI>IN3:Q":,:<)0U>89$$0K[Z$ MH%LA3O03G6[3]YL9[B-]OXZ>';8%TDV!- JD_Y5X^%#B9TR291^"D%5/)9@V M3I-%E1Y4G.25=QG8N_B(Y!]\FO:?S+1<6731SK]L['^CM0.?RN[&CU#G/]AB M"&A<.![\V4QC-AE.]_,/(LLW+M\ 4$L#!!0 ( )N 7T^KRKMNU0$ )P$ M 9 >&PO=V]R:W-H965TT[1)FVRNZ?4SJ^-+#L0"KM=_7T#/VBWW19CAF>>9P1FR2:H7W0(8 M]"IXKW/<&C,<"=%E"X+I.SE ;T]JJ00SUE0-T8,"5OD@P0F-HCT1K.MQD7G? M6169' WO>C@KI$@ MUYWLD8(ZQP_Q\;1W> ]X[F#2FSURE5RD?''&ERK'D4L(.)3&,3"[7.$1.'=$ M-HU?"R=>)5W@=O_&_LG7;FNY, V/DO_L*M/F^(!1!34;N7F2TV=8ZDDQ6HK_ M"E?@%NXRL1JEY-I_43EJ(\7"8E,1['5>N]ZOTWSR(5W"P@%T":!KP,'KD%G( M9_Z1&59D2DY(S7<_,/>+XR.U=U,ZI[\*?V:3U]9[+6ARR,C5$2V8TXRA&TR\ M(HAE7R5H2.)$_PNGX?!=,,.=#]]MU>^C,$$2)$@\0?)/B?&UL;5/M;ML@%'T5Q .4A#AM%]F6FE;5)FU2U&G=;V)? MVZA@/,!Q]_:[8,?S.O\![N6<F M@Q9O*F.U\&C:FKG.@B@C22O&-YM;IH5L:9Y&W\GFJ>F]DBV<+'&]UL+^/H(R M0T:W].IXD77C@X/E:2=J^ [^1W>R:+%9I90:6B=-2RQ4&7W8'HY)P$? JX3! M+O:43,5_A0LHA(=,,$9AE(LK*7KGC9Y4 M,!4MWL==MG$?QIOD2ELG\(G 9\)])+ Q4,S\27B1I]8,Q(Z][T1XXNV!8V^* MX(RMB'>8O$/O)>?[??BAQ#7/W(0A;]%2#K>,T.5*8OHV3O/#. _O XYO\ MA8_3_DW86K:.G(W'EXW]KXSQ@*EL;G"$&OQ@LZ&@\N%XAV<[CMEH>---/XC- MWSC_ U!+ P04 " ";@%]/QZS0*+_=N^-(!V.?70/@R8M6K$#@\#M"O>@5"!"&7\F3CJG#,#E^8W]:ZP=:[D( M!_=&/N>-GEA0 MBA8OXR[;N _CS7X_P=8!? +P&7"(>=B8*"K_(KS(4VL&8L?>=R(\\>;(L3=% M<,96Q#L4[]![S?G^D+)K()IB3F,,7\1LY@B&[',*OI;BQ/^#\W7X=E7A-L*W M[Q1^7B?8K1+L(L%N27";?"AQ+>9CD6S14PVVCM/D2&'Z-D[RPCL/[!V/;_(O M?)SV!V%KV3IR,1Y?-O:_,L8#2DEN<(0:_&"SH:#RX?@)SW8&PO=V]R:W-H965T M-;B%Z]=5^ /&-70L$&X%SU^AKF?#*.Y^:]P!>'AP8G7J+2P\1=5@W5:SBS> MBF1OT\I57,>9_U:6+J!S ;TK()-0=/Z1.5;F1H_(3&??LW#%VR/U9U.%9#R* M^,V;MSY[+>F!YN0:B&;,:<+0%6:[((AG7R1H2N)$_RNGZ?)=TN$NEN_>.=RE M"?9)@GTDV+\CV-^UF,)D:9$L*9(E" YW(BG,XYT(65V?1NH;,RU7%EVT\\\G7G*CM0-O9?/@O71^BI= 0./"]M'OS?26 MI\#I?AY3LOQ7E'\!4$L#!!0 ( )N 7T]XR=GQN $ -(# 9 >&PO M=V]R:W-H965T29M<R>6IZKV0+)TM< MK[6P?XZ@S)#1#7UW/,JZ\<'!\K03-?P"_[L[6;38K%)*#:V3IB46JHS>;0[' M74E%")7OE',SS 5,\U)5/Q/^ ""N$A$XQ1&.7B M2HK>>:,G%4Q%B[=QEVW&PO M=V]R:W-H965T31.M "F;*DJE M1EHE:OOLA0&LV)C:9DG^/F/#$IKR@F>&<\Y@E\"SKQH< R]-.U/ "_E=WM.BQ6:64&EHG34LL5!F]2_:' M7U J"&$9?R=-.J<,Q*5] M47^(O6,O)^'@WJ@_LO1-1F\I*:$2O?+/9GB$J9]K2J;F?\(9%,)#)9BC,,K% M+REZYXV>5+ 4+=[&4[;Q'";]"VV=P"<"GPG\-O8R)HJ5?Q=>Y*DU ['C[#L1 MKCC9L[Y39*R83P1#]3D%7TMQX/_1^3I] MNUKA-M*W2WIRO2ZP6Q7818'=/RWR+RVN8;9?DK#%3#78.FZ3(X7IV[C)B^B\ ML'<\WLDG?-SV)V%KV3IR,AYO-LZ_,L8#EK*YPA5J\('-CH+*!_,&;3NNV>AX MTTTOB,W/./\ 4$L#!!0 ( )N 7T]B'T+RZ@( -T* 9 >&PO=V]R M:W-H965TUZW/?*ZZ&;BQ!OURUZT=2'5LCUXW:GEQ _N/QY>F[5RAM5=F7- MFZX4C=/R_=)](O,-,02#^%7R:S=Y=[25%R%>]>++;NGZ.B->\:W4$H5Z7'C. MJTHKJ3S^#*+N&%,3I^_OZI^,>67FI>AX+JK?Y4X>EV[B.CN^+\Z5_"ZNG_E@ MB+G.X/XKO_!*P74F*L965)WYZVS/G13UH*)2J8NW_EDVYGD=]-]I.($.!#H2 M5.Q'A& @!!^$\"$A' CA!R%Z2& #@8$(7N_='.:ZD,5JT8JKT_;WX53H:T?F M3)5KJS=-=!\L3%I$...$M11@CA*@*,$.=Z(@51R#,5\X'R-H6+K#J(1)P6] M,9:BQE+$& B3]9AX6H89A;7"0 3:LD%T%H"";C 0O5,MXN--P+=M): 2V0 " MON"GA:((^,^R1E W2??.4!2Y4R]RI[\1Q!J!UHC]=<$.ER,@JPG:D&FG[//U M)JVYYNW!S$F=LQ7G1NK.,MD=9[$GJEL[V,_(/"?(_EK/;F84^)#O![]O17LH MF\YY$5(-%*;M[X607.7NSU361S5KCHN*[Z5^C=5[VP]<_4**TS!,>N-$N_H' M4$L#!!0 ( )N 7T^8QN=!L0$ -(# 9 >&PO=V]R:W-H965T;0_@T+L4RI:X=V[8$F*;'B2S"SV \B>= M-I(Y'YH#L8,!UD:2%(0NEU^(9%SAJHBYG:D*?72"*]@99(]2,O/O$80>2YSA M<^*9'WH7$J0J!G: W^#^##OC(S*KM%R"LEPK9* K\4.VK?. CX"_'$9[L4>A MDKW6KR%X:DN\#(9 0.." O/+"6H0(@AY&V])$\]7!N+E_JS^/=;N:]DS"[46 M+[QU?8DW&+70L:-PSWK\ :F>-4:I^)]P N'AP8F_H]'"QB]JCM9IF52\% MIY6KN(Y)_TR[3Z")0&="MOJ4D"="?D,@D[-8ZC?F6%48/2(S_:R!A9G(MKEO M9A.2L7?QS%=K??94T0TMR"D()&UL?53=CIP@&'T5PP.(OZ,S49/.-)LV:9/)-MU>,_HYF@5Q@1FW;U] U[B. MJ1?"!^<.CU3<\&(TJ6X8MD+ M()4E,8H#S]MA1MH.%9D=.XLBXS=%VP[.PI$WQHCX>P3*AQSYZ&/@N;TVR@S@ M(NO)%7Z!^MV?A:[PK%*U##K9\LX14.?HBW\X109O 2\M#'+1=TR2"^>OIOA> MY<@SAH!"J8P"T1];-O.ML,X MD^PFVC8AF C!3/"C_Q+"B1"N"'AT9J-^)8H4F>"#(\;-ZHDY$_XAU!^S-(/V MV]DYG5;JT7L1I'&&[T9HPAQ'3+#$?$:<'A%Q.D.P-C"["#9=!)8?+OA^ZFT+ MA)L"H16(/L78K6*,F-1B.HN)?#=9)7D$Q:&[W[82;5J)-JRL5CE&#ZLDJ1OO ME\_*UR-CGRS,C[[P8M?-+?Q)Q+7MI'/A2A\@N\TUYPJTH.?JH]WHBS\7%&IE MNHGNB_'XCX7B_72S\?Q[*?X!4$L#!!0 ( )N 7T\Q>+.MNP( ,4) 9 M >&PO=V]R:W-H965T_O93DB#N73L#[$OYYY[SXEC>WH4\E7M.-?! M6UTU:A;NM&XG4:16.UXS=2=:WIA_-D+63)NIW$:JE9RM75)=13B.TZAF91/. MIR[V).=3L==5V? G&:A]73/Y9\$K<9R%*#P%GLOM3MM -)^V;,N_<_VC?9)F M%@TLZ[+FC2I%$TB^F87W:/*(B$UPB)\E/ZK1.+!27H1XM9,OZUD8VXYXQ5?: M4C#S./ EKRK+9/KXW9.&0TV;.!Z?V#\Y\4;,"U-\*:I?Y5KO9F$>!FN^8?M* M/XOC9]X+2L*@5_^5'WAEX+834V,E*N5^@]5>:5'W+*:5FKUUS[)QSV//?TJ# M$W"?@(<$4_NC!-(GD/<$^F$"[1/HK162/B'Q*D2==F?F ]-L/I7B&,AN/;3, M+CLT2SON/^.G,M'#'.?Y-#I8HAZSZ#!XA$%Q?(YY # #(C(=#&U@ MJ(T%ODC'YP66EP@4(Z^)?[(\?LQRUB@!_2*.@)SY5< $%"2@CH"."0K/S$6' M21VF.14A1>%9 L!2FA#JN7()R_(,$]\: !9G!;HB+@'%)8"X*_:F($%ZN[T9 M2)#=8&^'249*$O8",)JD.(?%Y:"X'!"'88(" M)"ANMQ?%\'X1WV!P#QJ++4CJ[RM+ ):1G/A?-0##"4*)5_41PB&2T"L+$%W9 M$!$@D%RA #>S>X3_PV9XFT'D%IO)Y2>;9;F_CU]$)C$9'4,WEUMT'5+ 2^T9;@F6K3] MI2D:;F[SOU!+ P04 " ";@%]/DJ3$UE(" !-!P &0 'AL+W=OQ9[[*V472JB'//!"7 MNL;\[YI0UBW#.'P/O%3G4NH 6.4M/I,?1/YLG[E:@5[E6-6D$15K DY.R_ I M7NR1QAO KXIT8C /="4'QE[UXNMQ&4;:$*&DD%H!J^%*-H12+:1L_'&:89]2 M$X?S=_6]J5W5('4^18Z:([3?%,' M(%3TNDH>LQQ!]O[8$F,D-\U]+J&'M=HY-IBX##/;'R5-G!B)DDF]VVJ!.=CT&ZJA(;I M;HI"WJ*0IZC9J"@TS9+%XX.X![2?@N ,C@\!#/[:->%GTYA%4+!+(_6U&T3[ MWO^4Z-8PBJ_CQ2;VQ+?Q8F=;^X>\?6B^8WZN&A$&UL?97;CMHP$(9? M)+QYJ;36)O MKK$QB.>,^=)OL/0:+(W!Q]6D63B:/-3<@B1U&:Q!\<:NI%23THL8-B-(GR;PDF8=DZ9!D=_G& M4>:BW(M62?3!AY)[47(/2N*@^#2I0_)88T'0[*_> C^;JBB"BETZ4Y%GLU/A M?<:F5/R7VZK]G?!STXG@P*0J.*8LG!B3H%"B)W4UM7HHI@&%D]3=3/6Y+9=V M(%D_O@1H>H[*?U!+ P04 " ";@%]/DF1P(0(" !;!0 &0 'AL+W=O M,42V7R"HF. [X:$B7(][P84=RT;I8:WYEG*>LE:5HX' M/-9X _C=P" 6>T=7YROKH[EWG"B7NB7QAPU>8ZHE<9RK^.]R *+A6HG(4 MC CS=8I>2$:G*$H*Q6_CVK1F'<:3Y$ZS$_R)X,\$E?LS0C 1@G>"Z28:E9E2 MG[#$6WN"R)H@VM #;[_Z$R,F-IAV;$(4QRL=6U 2AHE=2FR5$END?%E)B3=9 MPGA]*;:8*/#]M12TN*L4>&6>M7 *UK=FI"R\\^1X],U=?X>/8^<'YE73"N?" MI'HQYEZ7C$E08KP'U9=:3;K9(%!*O4W4GH_O?30DZZ91AN9YFOT'4$L#!!0 M ( )N 7T_+A^FQ=0( 'T( 9 >&PO=V]R:W-H965T$8U87J5[U40B3O'5MK]?IT9CA-LOT]B@ZKF_D('I[9R]5 MQXV=JD.F!R7XSINZ-B,(%5G'FS[=K/S:H]JLY,FT32\>5:)/7G[PE-S.!JWD&U6 S^('\+\'!Z5G65SE%W3B5XWLD^4V*_33_CV 5-G\(KG M1ESTU3AQI;Q(^>HF7W?K%+F,1"NVQH7@]G(6]Z)M722;Q^\I:#HSG?%Z_![] MLR_>%O/"M;B7[:]F9X[KM$J3G=CS4VN>Y.6+F K*TV2J_ILXB];*72:6L96M M]K_)]J2-[*8H-I6.OXW7IO?7RQ3_W08;R&0@LP&S?QKH9*#_:V"3@06&;"S% M[\T#-WRS4O*2J/'Q#MS]B_ ML[N_=8M^L_T]NSW:KIXW%*-5=G:!)LW=J"%7 M&O)1<1\K*,8?-0^Q)J]F26:3G#,E8*;$^^F5'U<,#D#! -0'8!^2# JY&S6% MU_0CI"P7* RD,(!" \JHR:\H55DO;$8.4G* P@)*'E,()3"E "D%0,D#2A%1 MRKQ ,*4$*25 *0)*&5,PJF%*!5(J@%(&E"JB,(S)PH.I04P-8*H 4\?%L )A M&(,1_-XB %2'+RZ*2!C7.5T@+70(')-(U")P1"I(P:JP3^#H_2I*BA;^+AAN M!)@ ">$P(1(G1%$9]B02Y;.4"]Q3,-!42-A4<-Q5\H*RJ$'&LC"9[*JMNX/Y M.U>'IM?)BS3VA/!]?"^E$38&PO=V]R:W-H965T M14FU)>D&HET,*1.$,X"+:(T[KQL\3U3C)+Q%6SNH&3]-25E]A"%.V)V/[=-M]GNF]D>9;JW+,)1@FY6:,#L>PR>8/ CXK!$1&'X MB#DN,9MXA"!C:D; MY9V%-J?/G9%2" U&,7@R%ZDRS\Q8,"BUG3Z;N>PO6U]HT0[O"!H?L^PO4$L# M!!0 ( )N 7T_]93XVZ0$ .\$ 9 >&PO=V]R:W-H965T,'+"KBS$[4I&O3M$F;3+;I]IG1ZV@6Q0(S;O^^ M@*YQE?1EX%[..9S#(.G(Q:ML )3WUK%>9GZCU'!"2)8-=%0^\ %ZO5)ST5&E M2W%%S@+3]ZZCHJ_3\#XF/FA_]YX M;J^-,@V4IP.]PD]0OX:ST!5:5*JV@UZVO/<$U)G_*3P5Q. MX*6%4:[FGDER MX?S5%-^JS ^,(6!0*J- ]7"' A@S0MK&GUG37[8TQ/7\7?V+S:ZS7*B$@K/? M;:6:S#_Z7@4UO3'US,>O,.'_PYW8!ING.@]2LZD_?7*FU2\FU6TE8Z^ M36/;VW&<5F(RT]R$:"9$"R&,_TO ,P%O"&AR9J-^IHKFJ>"C)Z8_:Z#F3H0G MK ^S-$U[=G9-IY6Z>\]Q1%)T-T(SYFG"1"M,]!%1[!'DN$"0-K"XB)PN(LO' M*WYX/+@%L%, 6X'X0XQD$V/")!;33S&.0;A)X@ ]/D9N*['32NRP.CSC8P(H]3'M),-ZX0:NK9YZ" M'U19<@98,'K1FHU^?I6!0*S,]Z+F8OL&I4'R8GQ>TO''Y M/U!+ P04 " ";@%]/C!21G38" ">!@ &0 'AL+W=ODYDNW$*)9(,3S BK,GV@#M?QS MHJS"0@[9&?&& 3YJ4D50X'D)JG!9NZM,QU[8*J,70U M'#"'#26_RZ,HEF[J.DV'5,\=_@"D3"E1.9(Z>$ZZ^37[B@ ME5&15BK\WK5EK=O6Z-]H=D)@"$%/\.-/":$AA!^$Z%-"9 C1HQEB0X@?S9 8 M0C(BH&ZR].QOL<"KC-'68=W^:;#:IOXBD>N;JZ!>3OU/+@"7T>LJ#-(,7960 MP:P[3## ^)YWC]E:,#T"20>]CD\ ML9N.K:;CB>DP'&V2=3S)$T;CG;29@J)TLMVF(+F.8]3.@KK3ZLI"@[-2 3OK MFXX[.;W40JWC(-I?IL^!.FNC^-I?;'Q+?.LO=MU=^2'?W=S?,3N7-7<.5,@3 MKL_AB5(!TKSW)-T7\K'H!P1.0G5GLL^Z*[,;"-J8UP#U3]+J'U!+ P04 M" ";@%]/PVKM)Q<$ "0%0 &0 'AL+W=OF M8"\W[DT!YU_+__+A*WAY$_7/YLQYZ_PJBZI9N>>VO2P\K]F?>9DUW\2%5_*7 MHZC+K)6/]\Y%63B\JI^7'E/I$% MH[0+Z!5_Y_S63.Z=KI17(7YV#[\?5J[?.>(%W[==BDQ>WOB6%T672?KX=TSJ MWOOL J?W[]E97[PLYC5K^%84_^2']KQR$]L_@_^ MQ@LI[YS(/O:B:/J_SO[:M*((/O^+(". M ?0C(/@T(!@#@H^ Z-. < P(;7N(QH!("?"&P>I'?Y>UV7I9BYM3#POHDG7K ME"PB.;_[KK&?SOXW.0&-;'U;4TJ6WEN7:-1L!@U,-,3WYYH=HKDK/.G@;@,P M&QO0PF'>P597$%\QNGN8Y=DB"],U88+70M$AI7T\G0TIX D"-$'0)P@F"6*E M4%UAJ-HOO@H:+ZM9 R3DBN6.:;1L50U2$1J'!-$Y/L*$GZ,1+TD!=H58JAJC2% S_I0&G)V#T3 TI M<'K"%^@).#W!AIZ@,X\2H-J$6\D8)H,@-96.,Q1L& K(6V8J]X3JVTK&,!D- M4Q-:<)*"#4E!9R 04+^KK%0,426I;X("CE1 D!H8J$QQI-(O()7B2*4V2*7( M6V2H?J+8B!@FB@PO2!2'*;6!*44 &*ES;2-BF(B8ILEP'&!#TE$T_XI+1OR&)+D/8=63P/ MAX,?Z8>SRC^S^I17C?,JVE:4_<'348B62^_^-SG*9YX=[@\%/[;=;2SOZ^&, M<'AHQ64\__3NA[#K_P%02P,$% @ FX!?3S'JV<[\ 0 ' 4 !D !X M;"]W;W)K&UL?539CILP%/T5Q'O'! -91) FJ:I6 M:J5HJFF?'7)9-#:FM@G3OZ]M"&&(U9?8OISE'L=VVG/Q)BL Y;TSVLB]7RG5 M[A"2>06,R"?>0J._%%PPHO12E$BV LC%DAA%81 DB)&Z\;/4UDXB2WFG:-W M27BR8XR(OP>@O-_[*_]6>*G+2ID"RM*6E/ 3U&M[$GJ%)I5+S:"1-6\\ <7> M?U[MCHG!6\"O&GHYFWLFR9GS-[/X=MG[@6D(*.3**! ]7.$(E!HAW<:?4=.? M+ UQ/K^I?['9=98SD7#D]'=]4=7>W_C>!0K24?7"^Z\PYHE];PS_':Y -=QT MHCUR3J7]]?).*LY&%=T*(^_#6#=V[$?]&\U-"$=".!&T]_\(>"3@.R&RX8?. M;-3/1)$L%;SWQ/!GM<2RF]G'>-?1-FU>GJ/X?VL-[AP[OQ@XBR;J1WYDH? M>7LP"\X5Z&:")YVVTD_5M*!0*#-=Z[D8+NRP4+P=WR(T/8C9/U!+ P04 M" ";@%]/ADQ7%^8" !_# &0 'AL+W=O^Z )SC+LVK?NH.4VGNORKI;^0>MF_L@Z#8'68GN3C6R-M_L5%L) M;8;M/NB:5HIMOZ@J PS#-*A$4?OK93_WU*Z7ZJC+HI9/K=<=JTJT?Q]DJ=B?]!V(E@O&[&7/Z7^U3RU9A1,6;9%)>NN4+77RMW*_P3W#YC9!7W$ M2R'/W<6Y9UMY5>K-#KYM5WYH*Y*EW&B;0IC#23[*LK293!U_QJ3^Q+0++\\_ MLG_IFS?-O(I./JKR=['5AY6_\+VMW(ECJ9_5^:L<&TI\;^S^NSS)TH3;2@QC MH\JN__0VQTZK:LQB2JG$^W LZOYX'O-_+.,7X+@ IP4X]#* ^LH_"RW6RU:= MO7:X^(VP]QCNT5R;C9WL+T7_G2F^,[.G=10GR^!D$XTQ#T,,7L1@GD\Q@*K!-FLRB$F[6/JH0S2DHIZ<)Q7S.6DE%*$LXH&:6$KEX6 M+&7!4&!&61!*DKAN?LY24G/82YQ'P& AYX4*F'4>EX' 6;O<)>",! M;S!J#+IZVF-PMLYX"4&:C'U"QB-\S!S@'B/@8H< M)9'C;<4KBN'M?B&O*,(-?HU!5W?/]6N"CC&X7 M4HVSS/%+C[S%R%D\EPNIQ6X.+S$R$A.YD$KLYO 2(R?Q7"ZD$B?QPO4<\!8C MM9CJ-09=;I'R$.<=!1=;1[LU_R':?5%WWJO29A?:[Q5W2FEI,H9WINB#^3

!EHUXW8_F/YSK/\!4$L#!!0 ( )N 7T^9%;Q=E@( M P) 9 >&PO=V]R:W-H965T;)B2Q:AL/2-+=_0"[E@LG^V,;_)[#\X)]8'65 MZE6?A##)6]?V>IV>C!GNLTSO3J+C^DX.HK=O#E)UW-BF.F9Z4(+O?5#79@2A M(NMXTZ>;E>][5)N5/)NVZ<6C2O2YZ[CZ^R!:>5VG.'WO>&J.)^,ZLLUJX$?Q M4YA?PZ.RK6S.LF\ZT>M&]HD2AW7Z"=]O,74!7O'/"?.RHN4KZ[Q;;]. MD2,2K=@9EX+;VT5L1=NZ3);CSY0TG<=T@] MOU_'-XQ,87 F0+('(#S_P;0*8 & =E(YJU^YH9O5DI>$S6NUL#=1X'OJ9W, MG>OT<^??6;?:]EXVE.6K[.(239J'44,6&O)1L8T5K)HEF068*0A(07P\7<3C MFL()*)B ^@3Y!QLLL#%J"J_IIT&J0+2-100Q J/D($H>>:&L@!,P, $#O)2! MEU'#EE[R@H1F !5B^,;*%"!, .HI M0N&DQ"JV7,4/+!C!U00!-.&L3*+E0'96:%A28A7&M"YO\-RH;AC@(2$/CGGL MWQ3RQ"I;HVY\,A@N3O9H,C=: M<3#NL;3/:MR?QX:1PW3VR.8#T.8?4$L#!!0 ( )N 7T^>,IRMDP0 'L7 M 9 >&PO=V]R:W-H965TB M_%GME*I'O_/L4-V-=W5]G 1!M=ZI/*V^%D=UT%]>BC)/:_U:;H/J6*ITTQKE M64##, KR='\8SZ9MVU,YFQ:G.ML?U%,YJDYYGI;_/:BL.-^-R?BMX=M^NZN; MAF V/:9;]5W5_QR?2OT67+QL]KDZ5/OB,"K5R]WXGDQ6G#<&+>+?O3I7O>=1 MD\IS4?QL7O[ M)_.<5FI>9#_VFWIW-X['HXUZ24]9_:TX_Z%,0F(\,MG_I5Y5IN%-)+J/=9%5 M[>]H?:KJ(C=>="AY^KO[WQ_:_[/Q_V:&#:@QH$,-F#%@%P,=[$<&W!CP=P/^ MH8$P!N+=(/K0(#(&T= >I#&0ED'0L=L.UV-:I[-I69Q'93?CCFDSL/+H*$Q KB4R_+ 5Y6+D;$.!<&*66M/>M'$3'L@$,'O'7 >PZDE:B+\$0H M8 ?",2>AQ=2\PT0MYM!E$2 ME0A*<7 23 MBT!RPDJNPXA>/T10T1OF+CD HPFC%FSAPCBAD;0Z7;HPQI*P1_Q5),"MVC[,&NHB8AUKD0Q"T] M+CQ2289S1Z#,W1,Z@#T#ZO,B1>(J[B#8"L!$%'K9PY)&&(C;(SD$BQKA-["' M98NXNL6BQ&9/N+106S^'@%8 Y&,-*Q%QI8A)GPN\WHF\@36\XDD,HK#VO <( MLK<$ [K2PS"QQ?41P%A$[1$ OK0$6_O&$L"^D,0W\[!B$2!9TL,AQ>I!P^'# M0+%Z4 *BL"LM ^JG&PNG$G)!G%F#L @:FO#$H 2+S-8T2A0-.G9D2@6%WI# MP42QN%"W(&+2UE4#PNO94/LI9/$Y9 D@7U@<>3+"6D>!UDG/?D6Q_-#H!EZQ M_%!0;[B\2GJ$]5*99$BM3.(RH4BPI-AI/+ ML*@P4))(>SLSH"MR&;?5=!!J!5!">(YI#*L8 RH6>\AG6#$8O8$YSPD+E",Q ML9EC[C8D;)D< EHA$/-H',,"Q8! Q9[*GV%%8.(&WK B,%"0N+R!RU6A=G YU,_2]ULNM[P-MKOBL]CF9/!+0 MOB"3)6J_YVRRU,F[7W3@^DMWC?@>4G':O1&+T51*YUO M^%5/U)U*-Y>73+W4S:/4SV5W'=R]U,717'4'E_OVV?]02P,$% @ FX!? M3Z"SZ,L5 P ]@L !D !X;"]W;W)K&ULE59K M;YLP%/TKB.\M?O",DDC- VW2)E6=MGVFB9.@ F;@)-V_GVTH)?9-VGTIV#[G MW'L/SNV=GGGSTAX8$\YK653MS#T(44\\K]T<6)FU][QFE3S9\:;,A%PV>Z^M M&Y9M-:DL/()0Z)597KGSJ=Y[;.93?A1%7K''QFF/99DU?Q>LX.>9B]VWC:=\ M?Q!JPYM/ZVS/?C#QLWYLY,H;5+9YR:HVYY73L-W,?<"3%$>*H!&_U^+J=N4AEQ JV$4HBDX\36[*B4$HRCS^]J#O$5,3Q^YMZJHN7Q3QG M+5ORXG>^%8>9&[O.ENVR8R&>^/D+ZPL*7*>O_AL[L4+"528RQH87K?[K;(ZM MX&6O(E,IL]?NF5?Z>>[UWV@P@?0$\ED"[0ET(,AD;Q'\GN"_$_R;A* G!.^$ M\"8A[ FA$<'KS-+NKS*1S:<-/SM-=X'J3-U3/ GE]]VH3?TY]9G\ *W [#0#ZAO)&S#HC@BU/0>@*$HP5?<"\'B0J"XP"BNPP2C.#@@01 ;Q0$P MDE!BP-8VS,P0 P*Q)^_G DHD 9&(8L M $QDWJ_$]A8EYH=:V2@:&DIK0$E^3.,&IC;J#B=7?C48P8T0 ;5?,0]?Z:7X M\_YCL \^8 *X:_5C8IL2F^8"H,!/S*YM@WRSM:< B$3H2EEPU\34+BNY)@'W M3>S_A[EP9\1V:P3,M=L4,JW]$++^&)("D+OQ_][+BLQV>'D*]Q,,-!3SI[J M0*/+U,7Q1N-$R9J]'@9;9\./E5 W8[0[#)P+HL818W^))RL,[*_5@ KL/^!P MLNXF(>-$)BY/]$SKO:?43<3?LV:?5ZWSS(4V'^00/BP* MMA/J-9+O33>)=@O!ZW[*]H91?_X/4$L#!!0 ( )N 7T^2X^VD3@0 *H6 M 9 >&PO=V]R:W-H965TT]\ M2P((D"8,J)5::72JML\9,!>=7&@2AM-_7^"7D!8B_OO;Q)/CM>W++\ M1W'2NIS\3.*T6#JGLKS,7;?8G702%=^RBTY-SR'+DZ@TE_G1+2ZYCO;UH"1V M!6.^FT3GU%DMZK:W?+7(KF5\3O5;/BFN21+E_X4ZSFY+ASN?#=_/QU-9-;BK MQ24ZZC]U^=?E+3=7[CW*_ISHM#AGZ237AZ7SPN=;&50#:L7?9WTK'GY/JJF\ M9]F/ZN*W_=)AE2,=ZUU9A8C,UX=>ZSBN(AD?_[9!G7O.:N#C[\_HVWKR9C+O M4:'76?S/>5^>EL[4F>SU(;K&Y??L]JMN)^0YDW;VO^L/'1MYY<3DV&5Q47]. M=M>BS)(VBK&21#^;[W-:?]_:^)_#\ #1#A!C!\AV@+P/,&:'!JAV@+H/4(-Z MK]5[7PF&!_CM +^;P&U*5=?^-2JCU2+/;I.\N7TN4767\KEO_MU=U5C_F76? M*7]A6C]6%.<0<))R'J\ M[$Q"X *!E!U -4)(*TJ-!J_UJ2UAEG3H KS?#/LPX,^/.!#=;.$0!-8!5TW M&J_CQ..^Y9>J)&/2PX9]:-@'ACW+C$_2_-)?EP"F"4 :'P>8P@#3\7?(# :8 M 0>!5<\9K6<@>^;)&7X<&<@SM9]'1A)9M^(KBF/?)9O!.%VW/?#@P.W,SL)' M9X'\>.$"S&5FUT0\J\EF4-(U@C'#)3&B&+.-R.=&J&3@1L'$X@!94P)N]=S+ MD*1K!".+4QXI1HQ0U! C0Y*N$8PB3EFD6,\SSC%F># >$QR#AD^?@R($(L6D M79#IZ()@9''$K*EMA8J(E36G9#/KB230 0DI=$"LF<]Z5AV!,2D0)BTDA$!$ MJRQ&,U!@!@K 0$(G01G(/36S%V0@"P)+M 4)'Z?5]8R)*BA1"D)@%@M_/$@%9K% >SX;I$"D&*E),/H1QTP7B.DV2(&( M6%F+(:8W$$7)"$0'XW2GA-<&@=8& E"T-I#JHK6A;W2+4BE^M9V MV?,RCPA.W,JG;^//)5N8JL^M#?AN+T:I'/&R'@*18CUOMQ+S5J*]K[3S(%'0 MDP=#68[@;0A%]GF.^W! E>C\6!\N%I-==DW+ZAW\H?5^@!F*ZH#+:E_S^2L' M[1L^WZ+VM9B_HC@;,=^B]A>IYANI0(_YXTR/!WM\T^/#GL#TU.>P[M>TFU/< M/Z+\>$Z+R7M6EEE2'\H=LJS4IJ;LF[E'3CK:WR]B?2BKGX'YG3>GI\U%F5W: MDV'W?CR]^A]02P,$% @ FX!?3_J*S@L6 @ R 4 !D !X;"]W;W)K M&ULC53;CILP$/T5Q >LN1AR$4':)*I:J96BK;I] M=L@DH+4QM9VP_?OZPK(D<;?- ]CC,^> I>BY>9 V@@E=&6[D*:Z6Z)4*R MJH$1^< [:/7)D0M&E-Z*$Y*= '*P28RB)(IRQ$C3AF5A8SM1%ORL:-/"3@3R MS!@1O]= >;\*X_ M\-2<:F4"J"PZPY?S&;+X=5&!E#0*%2AH'HUP4V0*DATC9^#9SA*&D2 MI^LW]D^V=EW+GDC8?8:@G"X.A^*]P :KAQHG6 MJ#B5]AE49ZDX&UBT%49>W;MI[;MW)UDRI/D3DB$A&1.T]D<)Z9"0OB?D'R;@ M(0'?*"!7BNW-EBA2%H+W@7#_;D?,1Q0OL>Y^98*VV?9,MT?JZ*7$T:) %T,T M8-8.DTPP\35B;7D.T]!,>QWT?J;4=J M"=()01)A/P'V$F!+@*\<)#R>.G"O0?J('W9M:C]5Q0^&HS'*FU\(- M%[=1O!OF)AJ'=_D'4$L#!!0 ( )N 7T^]E%)7H $ %P# 9 >&PO M=V]R:W-H965T^V%+ MJ6MZ4-PMS :3SIC%?<8VB-U@P7>QB(E*5LN?U#%A29U&7-[6Y?FY*70L+>9 M.RG%[?L.I!DKDI//Q+,X]CXD:%T._ A_P/\=]A8C.K.T0H%VPNC,0E>1G_EV M5P1\!+P(&-V%GX5)#L:\AN!W6Y%E: @D-#XP<#1GN ,I Q&V\7_B)+-D*+ST M/]D?XNPXRX$[N#/RGVA]7Y$-R5KH^$GZ9S/^@FF>--FEBP%<7?DA4ZVC&=W&RFLNL%;"I@+":\NR=NCT*[[& \[CAN MHC/& S(N%WB9/3[U.9#0^>#>H&_3A:? FV%ZRW3^H>H/4$L#!!0 ( )N M7T_?S]AS?P( !X( 9 >&PO=V]R:W-H965T = M(WBOG9HZ@&&8! VN6G\YU[8-6\[I2=152S;,XZ>FP>QO3FIZ6?C OQJ>JV,I ME"%8SCM\)#^(^-EMF#P% \N^:DC+*]IZC!P6_A.8K5.%UX!?%;GPT=Y32K:4 MOJC#U_W"#U5"I"8[H1BP7,ZD('6MB&0:?WI.?PBI',?[*_MGK5UJV6)."EK_ MKO:B7/B9[^W) 9]J\4PO7TBO)_:]7OPW0]0[1&\.Z*X#ZAW01R/$O4-L10B,=EW, M%19X.6?TXC'S.G18O75@%LMV[911=T<_D_7DTGI>(I#,@[,BZC&YP< 1!H3A M+6;EP R(0&8PI %=:>1PX@YO Q13! B!E<2[+.O[+#>)1LYZ19H@NJE7ZB9 M3@*D"= -0685W& 2C6E-EN QM4I>N% PBJR:.+D29-7%R35"W0B+G<)BA[!' M2YC!Q*,P$76$';4DX9[.WIJA?HV1]9AF#U!=3E:]AS,"N"PK^3P,[/J MC=Y,SN^8':N6>ULJY)6L+\X#I8+(Y,,'V9!2#NOA4).#4-M4[ID96>8@:-=/ MXV#X2[#\!U!+ P04 " ";@%]/1/Q]60(" "/!0 &0 'AL+W=O<8&2=H.CMP3 Z68 M_]X!8>/6#_V+X;FM&ZD-*,]Z7,,WD-_[(UC#YW+K!SH@(%!(K8#5:FQ!90C03E.];A-@2XC="ZZ\)-JGY7H8WF[Y@[54^AK.<\B:(,G;60 MQ>PF3+3 A$%PC3DX,#,"J0CF,")7&+OH'7T5Q/X](@S"51#_5'FZK7(5:.RL M5VP$XJ6+\"\"B5,@,0+)5<'C5<%=F&15#Q5@EA!;=1('7 MYFD+KV!#)W4Q%M9Y>CQ&NAM7]EVXV8<.^T%-FVDXO,E/H^HKYG7;">_$I'H# MIE,KQB2HT(,[U?N-FH[S@4 E]?9![?DT(Z:#9+T=?VB>P?D?4$L#!!0 ( M )N 7T\F(+ZSZ0( $@* 9 >&PO=V]R:W-H965T*O^V8NN*:7J M=H>@/W6\W!FCI@X(0E'0E%7KKY=F[*E;+\59UE7+GSJO/S=-V?W->"VN*Q_[ M;P/?J\-1ZH%@O3R5!_Z#RY^GIT[U@LG+KFIXVU>B]3J^7_F/>+'!2!L8XE?% MK_VL[6DIST*\Z,Z7W\ZW4+DKUN?"YZ+^7>WD<>4GOK?C^_)J_\@NO%:XS43&VHN[- MK[<]]U(THQ>52E.^#M^J-=_KZ/_-S&U 1@,R&1!\UX".!O1_#<+1('PW2.X: ML-& @0C!H-U,9E'*(6%SG%10YQ$1 7V?-'HR3$0)P+8P1Z M*VR,QB%C,1#GP*(DQ;%;7.P4%SO$@3A9;,>A(8+:'!2C"!X9F\)(;4=X:EP8 MQ7'BEI8XI24.:?"R2:PX(2%PHG.;4IL(GO3"IC"-&0)';>/ <$2B#^Z$U"DM M=4@#,YVE=IR$QB";W*8(I=9%9U,13F*P S8V%9-H-DTWPE2]=U8(9$O#(.EL MA.;'.H4U(G= E(*5+5Q0C"D0YJ (C2@0%LRJ8,.[@WF2]-Y6G%NI+_#9Z/3L M>22ZBH+Q#"]R[!@O]#/)5-UW]\,;ZUO9':JV]YZ%5+7;5-B]$)*KY-I"C M>M9-G9KOI6[&JMT-;YNA(\5I?+<%T^-Q_0]02P,$% @ FX!?3\-?B.DD M @ <@8 !D !X;"]W;W)K&ULC57;CML@$/T5 MRQ^P^)JDD6UIDVS52JT4;;7M,W$FL;5@7"#Q]N\+F#B.@]*^&!B?<^8"#%G' M^+NH *3W04DC?P^7+7.,-X&<-G1C-/9W)CK%WO?BZS_U !P0$2JD5 ML!K.L 9"M) *X[?5] >7FCB>7]0_F]Q5+CLL8,W(KWHOJ]Q?^-X>#OA$Y"OK MOH#-)_4]F_PW. -1,,G;60Q:QZ3#3"A$%PB]DX, ,"J0B&,")7&*OH MCA[=.EC?(\(@G 3Q3Y67QRHW@<;.>L5&(+ZI5^(62)P"B1%(1@+S21;WB(7; M0>ITD-[1DSAU"\R< K/_3W'N%)@[(IA-SI0+,RG$VH593(KEPGR:;+H#DP23 MA-#HPE#@1].]A%>R4R-U,4;6H4$^1_K"3>RK<+D.'?:-:JA]_[O*]]WX.^;' MNA'>CDEUS/*G=K-0#,"P('*2>SM6<]VVP7TC6V@Z/AF>F^ M0 M2P,$% @ FX!?3U)>C?>; 0 6 , !D !X;"]W;W)K&UL;9-M;]L@$,>_"N(#E 2[7179EI9652MM4M1IVVMBGV-4'EP@ M&.[XW^\>P-5DW9L? +YT,KXF@XAC!O&?#N %O[&CF#PI+=. MBX"F.S _.A!="M**\=7JCFDA#6VJY-NYIK+'H*2!G2/^J+5P_[:@[%33-?UT MO,K#$**#-=4H#O +PN]QY]!B"Z63&HR7UA '?4V_KS?;(NJ3X(^$R9_M2>QD M;^U;-%ZZFJYB0:"@#9$@<#G! R@505C&^\RD2\H8>+[_I#^EWK&7O?#P8-5? MV86AIO>4=-"+HPJO=GJ&N9];2N;F?\ )%,IC)9BCM@"? _@2P',O.5&J_%$$T53.3L3EV8\B7O%ZPW$V;72F4:0S M+-ZC]]24Y;IBIPB:-=NLX1<:OF@8\I&POF8AR*0(*M5J$+70HJ.^_%SMMQJ 4"*LGT=>N@6"&1E99X\>?;E M#T51!E\V25K\\>BZ++=/?_BA6%ZK353TLJU*X9=UEF^B$O[,KWXHMKF*5L6U M4N4F^6'8[T]_V$1Q>A14:?Q;I9YG55K^\6@\GAS]]()F6<7D7O$YYSCA+@].@N(YR5?SAA_*G/_R S_!SB^!MEI;7!3RS4JOZ MKQ=JVPN&\S 8]@>+^H_OER7\.&W_L64)O[R)4Q6\+M6F^'_UX6;Y'^^VJO[C MH'_ZY\X'/J@\SG#+J^!%5#:>U3OXG__C?[0MTTSSYRK*2Y4G=\&YVF9Y61]8 MYE5C;KOH/$J+F#;9_O0Z2HK&XP*BYS!#'B4 JI7Z$ORGNJN/Z_?[@\%D,9C. M.F9X%2%=M+E7>?'9P.IJ.!^..1\_555S ZV$3[Z)-8XGQ^?MG[S\&S]^? M?WA_?O;Q]?MWG>>\S'+8.9UT&%R4$J3EL,ELUP?>R8[*/T9?@]0K M$J_C)>-.^^YFL]/^<+(8C2;U7\[@7%9T-J^2Z*KC/6>K%=R((M0? D+0]VEC MI?/@>9X5EW?!BSR^Z3I',]MS_ OV_C&[3>MCGZD57(C&/:M/8>#W(<]NXG39 M>.?;LWU3?,B*$K#J_\;;5N#W![-1O_XEK?P,2$_K([/YH/[5FVP)[_APG:5= M"#@>]4]'@,'U[S_&)2!MM@X&P^/+D^!"+:L!1=WF\LLJ?_Z^OS9QR9UX-<&+[\LKZ/T2K7>@G=G M%R_.NBG0J[A */Q-P;I>P9<-&KN3\,C30L9:G__SJ &6*L_KK^ZB@*>G@^'I M<-Z!+Q?7*DG@N#?;*&U 7X_91##F657 ]2@:JY-!+SW_K6F;12 #"E\$>1JJ6"J MRT2%0:H:I_ :IDC+%LB_+Z_A7);>HAOW.D-*MGL,$,JMRN%P<&^XK2VNMW4M M[[=XQHASB8H*%>3QU75YFJU/*_BC??87:JW@[:N@!-;4/N3G+%O=QDF3[*2 M%5;%\3@6'7]MM_TZ>=Q-%EG( (HII';LYH&]WA ;7\#L(-0.T+"*)% M\\*9S><*#K%2C#Y5468;7//J!O%YSZ$YZ]MW'#N&>L>P:TJ"9I*E5Z>$P#N& M\C+O,[1[ -*%F.\)PP@D:]B72I#XJ*HY.W.BT- FF*KB$PGC@_B*11GL*\;82HVE0)D=B,:0HPH%Q= THCBP A"M U M.$ZRHJB?@)PL0>,Z2U8J+_[W_YH/![,?B9(TI9(&)M"V#W_^4(9P_"'"VW.M M2I"#$V003X(?.A2Y!GXT#N_0)P[&FTY!S!^V=R&MPQF?#AJZ<\$.I$FJYNL) M@N=KQ@CSI<-^]1(<'ASNXX^29"^X[!-E']69(EV^WT<]&P(&[@U!%%^EPO"7=P$:%8J$T3):_5IU")#X;)6"RID0 M\[H"*E_P>U1Q$F0IRZGK)+L-KM7J2K'XA!L&8+=-=DQ3G 0\16+G,\\4:*$XK6:L6D/K'GC) QN7&C@0<6: \]+A.X & .Y ;;9)=J>4 M?+F%.0 A8/_,/1I"!L/Q-8M)+P _X,VL]8?!7UCNXB'OMPA0X"1?5+Z,BQ9N MLF,FWFL(BC60SWC)"(/#SVZC''Y_Q^CX*LO7*BXK9'-?M^;#7]1$'4,5\%QK MF!183))=G5Z">K B0@>W12R-YRAA%4#A@@L0G&,X+;&DG*ME=I72C$W5EM@[ MO66-ACH@VW^-RVN\1[A#_([& K5W[@?6C232E:XI^?9C6K.3VO.A71_VL*D M?P$@XB_P2 .>GV 310!LOFIR5J;5[:3_#=)JK;-NVKUW<&7G0*^!!#[/X/-;9Q MA!^R@'7H_?[YP1%EL!O83&ID$?P>_R(6>5P5Q!!/4-R[B4&,#2[O6E]EN=JU M"A1!KS"R)SM"&JMYH0!'E[$(!"CD.8)KZ_'*?5_NP"2#;JYPUFU@:8"5;+XD MZ#O;)&&9ENAJ>*31#7\D*(&&D 'BM5E2ZM:P?<865IC97M%M67AW_S/:AT)L MU-N+0GSG"U%$6DQL[3 ED.ZP:7W(LZ52*UE+$;$O@+5EQ][8NHFMIMN78I%V M\P,(*T5M*$>GV/&*.2DZJ%=#[#F<=IR!Y[#D< M'X9MXL@.->76X4?;Z&XCEM4,;RBL&W]&TXUF13RI;*2=&.>&&.^'2=O^&L9V M0Y65=LZ@:3Y8RJ75DOTAQFQA!_N-\$ M*EUU/_I"%9"FLQ_0IIB6QD#PBF$/;-MA4;^< M7:*ZO2R;GOGV503Q>7:9E? ^X_8-CH_XRR/T7")K.!(GT-$)0+\ ]9#OTF45 M)X"V.8X%UG2-@-ALLUN@%EN5;5DF664!, C5 Z:HM#-)&QGDV7@9E&IYG69) M=L54*=IN$[RB<8E3L.5$.78'-,D6%9JM^>7>[&*S*XR=.T;#1PQ/QLE=<$7V M";P+=-VT5:8@"E%>YUEU=1VLT&B!DA4 -^:HZJ3R"!$W%0E>/)%<(MNMPA7 MBIA\FJ#G&2X9G%6O<;VJ#:SACM0]@"$YQ>&VNG(*G/BRY0JU#-EQTH>_!^7B MF BAAUP(RVBY9&CB^*4K$*T-WA46[X!O)]4*#OPZ*X@%"%HA\! T1759Q*L8 MC@#Y>K0N4?%*X@W,90Q> ,@8G8'R8JW.,:Z1&0*)#"REIV<'(@4'J+81^1+J MJZZT?';0^G$0QK@@XR*J&5EX;;7\6 CZ)(!(\+O:EDP'\=THWVMYD6!Z!O@) MH(?K]//9V8>CDQZ(]$$DG#@,EL"#07_&R0'+[M#U&VU8[+B.;M!*W6D(;,>: \P6 %T@ULC,%GAT M)O'F "#:96^B%5U^^C%81S$&Y)3VBOZ^<&;89LSR>^P+AE?!1JH$93=0W5(X M9[TZO+]QNJ)@DAO%UDX>N19*M:Y@8VOVIA-0Z +?P?>HN@J!%G(1.S%-@K]R MF' G7B&4,6 )E,2L BWP$@U.T4HPY=R']H)8:.MZB_]==J=>51^1 X?VDN)U+QDJA3:#AN;HTVH3Q% M=%3E=.7(&'>9Q%<$-V (-W"WR8B!=P:TH=R*/:Q].*.!EZ"KHG <*G#.(I)@ MC%6*Q*'X,;B-<@R(NR/7"/R-+BYS4%?BYF>X=OI::D_9@XU3X+X4^0-CE Q" MWS>Z63R'\8\N)\%+6W0HQ>V DH&XG**0]_&:O4E=Q5D.F)VH=OUP ;);XJC^ M-;XD!:K<>?+P.%!%D&O0@4GX IR'8K^><)!PYG] MJD@3$8J\M!H3OA$1(:L*.?5UQ-8HPG7W>ER"[ "HQAP"M8$L)?1ABRYQQCA? M5AMT)])^SY8ETE'-+C9PY5!7KI3QVO M@6B_A4-B"X(/R44H#*%##%2.I:M_!GA]U\ O,O]T#/]G K&)?LTHTLT0&_\] MS9#&>_1XUZH7X#4HTAII! /?9C[4"D4%&9O*+!9]%\1J=_"U?I"" M;?C+O M]E68=R66IV"])B#@.J& 1A_#1F/>X&X M4[_M:QPZC%.L\)TH;BICR& K2H0.$KIT&L/PU88"E3G=I3L9S>C%=QNN.5 \ M>H%<$I+<^8;K?0C+ 3WG&DDT )?<\P(!Q_9KH7!,TJN)=%!?4$-Q?A?1X.0I MK")7R@MU"-ZAZNI]TW)3G:_T-3ULE/6;!T^"T22B?X:P;Y>FA,3\TU*/Q'SB EZW;RY4@&DGH'L'HU^A;WZ$?>H\U[ZG6/TI" MI0TCCNI"')RT!2U\RAEJXX^WLL&A*TD1@Q^\D%O0P/#*L/YEQ *4T"IK==/W M3X<:N+>+[B^P%T&S6](;K5(,HE&LB4D/_9IP$LD=>Z%@1L<^S9Q2<8^@X$#WS- M:1]8UI'G*ST5%Z;[Y=/@]09]%\HXIMX!)]-XQXY>=KM^$+.TLXCCC]D6+L)L M,#_I';&]22=ZD*($*W+7@P(G&8%@8+$$M9,\H7J*P.K-?!(B,HLYW(0THH_, M+I%M!J@&%&@D*-CK+**QOQHR"."2\)3Y<)&:K,FV0/JYV!4<0S*;N(Q0,Y@( MGK&2PF8._10*+$RY,7#9FS%D11&P#2U.XJ_$'T'G J3Q1<5(,(G66\@Y.PNV MFG5?5L.BP2HF,P2C:H0N$G@YZC@P[;+4ZK1EI8<9-K0" K(.:MT5,?#7CE$! M5C 5G 9D-:AJCWYZVA\&1V_0V%\0FNACP"#-"F3,WRJ^0CIFU9Z:*-4DJ^)9 MB]\4=-*_*[84MJO&O%>XPV)\#"AWSU 8"C$77Y^CD:)#HF07W@;#\"@ VHT= MKI2_ N,U-.\3\N[ D$(.R$A!W@Z4,/BXSC9+X$9'WC M2Q3X$R+/UTB3Z4J)I)>J6P/<7O!))#E NITO *85:)-U7-B[B;#'3 34^.P= M))++G((_DQ<2YL.02?1Z2**<56+PP$1&94O3C;9CMMZ]+I*@#J,(5G3>#54^ M!59&K W_J BUTAPB]11L#0YZHU+OM\7!!I-NJU2U.(K%TZIC_4",E@ M2J3+&'L=RXWKU$ G$ #H C9'*0UCRU9XIYQ6,$W;ECNST>H=X S3HK+H"J!U$A8 _']D4 MGP)$GI]="R%;@$[90Y%&R2D:@R^R=0F2M1(1QCU@N#WD)G5 R.B%<)7PR([V3/;@,%5#TJ0E%\(*] ?:<_^:%Z/G MEIVT 1ETR%45Z]WC_2UD]\$Q JAEC6*WTZ)99)\/O.?AQ)$9GC1$+T*O3M'+ M\2H4X7ZYRA^^3U!;[!6\7OO@LUXB]ET#E8T)9W)5YIDE2 C-K?<%[))(PA ]Z=)<0 ]@O"S=-UYNR;F+0Q!%*,%0W:5*:9#*+B(P\%# M=[HHW?)C7!Y >GOWO+(CN+*OT)Q'<8'!6S9=XE1/06O6U"IXE0-*W6;Y9XG\ MTL%B0KR?U^](^>UUC 8ZP8@.MI9'^W7.(F6,;WSA3_BNA?@.WDH[F'P#(N(* M5R:GX7.L:DMOL8'@!KK,B%=P0A0TX$Y,4I"-EO7F VZ3>.J^%NYJ@2[ZXHC' M0N1)@SJ/=F^TE6"?1D6WQD%F"FH%"A.7P1N3:6%M#*^MFPN$@@@=J'#(DG'A MSKPX[8\)$_WO)@R.JRIFF81V7ABI@;T'>&0J0;QA'*%D("VPBQ0=X>&C&>LT MR;+/QH"%#EK6]F'93)S@L^2,@%!U35236(]04OD-LT7$P8/J&^[?R321T(SR M;LL2:*O?K\<:*?J26 [64C"B:$RDWY.&K?^-$)E?5X-/7.RXZH=P+6N[O@=) MN(>-H9/![. A>Z_$-V$FK\B"%W-P-/X;TEN\L)XLS5"S%Z)'77IA+*(LD'+%%$^M&N3@4TH.,_*UW,:%TG*P6OD^(>/3I)?F6L25 M%6G@%*&H7MK]?J=*^\J087>P,<7X**H=3""\H;!!(1S MN?M6+V[01_!"8:2)#$"A ),J6-#388LVTM"/&11>;A^14:@.)@D^QSX@$YU8 M] RXXL(:F%9\7*2VK]F#1^I!ED@ ^"8F"ZE>HV, I64*$ '9G'@W^(F*O9!Q M+RX^XU04[K"EX(20E)54K$<:B]<))16PHNO&=KBHSX1;6^D4)]#9<&'619%L MM2VXASDQ:-G)DD1""_" G#W8"^-9#8$!&D/-%5K;4A)Y$IWAS/[6J.$5$#P MS?DZWFZUA0R6NDK<-%9Z4N^9 AZ2-5Q.CM VT=*L&^?&)$A^6J9 M@ &M8A4F?*(6'HM1&BD9[BPH_AJ?OHIQ8$I XU?5GJ.!%@.NXZMKNA-;-'Z@ M[) ZTJ<6"#BU=1$6U1AV<<9Q/:#"GOBRA MXQ)Q$)$FC'%BJB/*B%?*:G';A4%"#R"%K1 ;1[Y!%D)Y/]T=>$)?*:TC.U/ M[:..W8#FVV $P98Y=&J3B.O?:^Y"?!YG'?9_5-TA:%WVE1BHF>%5] )71/"3+^B'Z @'" M"%.]F/0@B$)6Q7ZKT)58LLD0EP=?)/IO4L5D(N_E&(F/%P^/&IZN2D\\:+\T M.#N%N9N[2 %'^F!$!'&(')JCR)K9=0TU7Q"G!-,D26;2ZC()[Q\-51%DS0PL46^!)K&V#$ M'D,46$ F3A%D2I*E27\XW;D?7D3$"#>8NL!^V;9@J5JPS*):.X[<$.$2*02613_ M1'2U9*,KCI/C7FJ'2&9*/F=>'-&I#O0PRES$VT&49MDWP:M<2 D*GOCXZ.*" M NL1CO#1ES>L=?D20WZ-ND=L4.B--U\A.3QM>Q-O_B7LANCC'<<+@-",GLZK M*B'MB=;M+)N+.+Y\%XV@^#HY^!BSAIK$ M 5 ""@>?KXW$=UIFIT:*XXPQFW.F1;]FNAC+QB(8[-+WO"0B%P)HB)*5ZM)9 M9-@B:=0&QGL!^71YX*%2+7E"JR T!.R.('VB34(>C.^8=4!;CL@+?^@%?\4S M9 L>+ $@HV4+&W]>8OH#577Q7P=<0=UPE#D'A^MT@#:S1D?,NDZ;TM>/0\.M MP3ZT!NS/:7:K:\($N)=2YZ.1&4S\Q&H9D7?62)27U9U6#'56[C8JT?N%X>0W M="OUGJ567*&Y5^M./!966&5&5N\D??C@0I8MCG-1K5?WC7X_=_(K-$81:3TY(S/[)+K8A#5#PKGEB-2YD64:.\!K)E/GO" $=88TK(EH LI MI.U\HBFTFP-=L[//RU*!29Z,![V9%\'@7U<_D86>F,U[4_.$7DQ;R+R_EM7^ MM4Q&O<7]UK*8.:NWXH$_&!WW7- M&1.?_<^(PO9S5)\$@\%, K 'PUDX'/&S/BP-=F',N\]T.O ]3\C6 M\+ 1>32A&V7$)D-?&K,R4/W<6H#=O(M=)741V--%.)D.Z=,P' "PG[H,M"E95HAE'U%R:9%));HBQ?)&@ M$S28L";(H(IFJ2;9O?9=6&,ZWV+.Z%P)=]L2]>8:]*ZU1.+:RY7(J+O MTE0IP=5B!P;-=E$J=XJ"&4=-B^>#U^S$H[6BB+L/23K6S%,")9FGD@WA4I6W M2K7[6EP*IMFXWK8=Q."I&4"^*M+>90T.L7Y29T9/AKUA1VI3J*'8@)!)UP\B MZREI."$D_H0U"-?1X.WSZ^+XN[8Y:40-.OO^AVVS54GBY$Z\=41&(^=^V.OA MVG0]:<868<%00M#PJ 0,+X+YG\9& 0LM3,FAO*.\*KQBS0ZL5P0T>@4;^E2^*7P#"# "OA%- M!,]7.LZ0A:1FE"V'N5,8I:M,EW*^;"DWQ@L>:.BS,0'9"'0?F*BLW6U1SJ'R M# R)G*5IA6$&$M&61%7!&8RINJ7*KRRYP>)^0 \?)VFR/+:M66Q8V5-2YY/B MX)3W0&/9'-YM-)=(!I\R+RPUC]XQF7%N#81 ; M/^"F*PZZ$?U5*B5C0LJ'6\<;":HG XTIU*M%/3$$WGA6P8GX(11<15 M[.5C_"CK%9]IS7ZZWYA9SZBP<%!?Q LFB"U@T&:5J#VI&&,WXR7HG;E&M#8+ ME;5MQ!S::73.RRS/69K-14!"LZ*XT1N';4SDGJQK5>.R):S_>$>NP8DN\V20 M9*,D*(:C32GLK@88+QP$)V!_"OVVQ1P8_5L]'K\] ]R#E).M&^A\2P,0@A J M=*/>=/"[P(VD;SP$ ;DM7D%A';X[*('J@X%/VF_MWO3?>0B.W]4B,K15 8> MJL35^R50 6_0A<+A!-6P*6A$B^ O_H6G,7-0R8;A8CH1C[B%,/M"\(0-]@OW[-/VVP\@OO-"AE@R(^=>"V[*RF*3M! M:$Y(E9V%X_$L.&^ANQS:S@OP(D[J_-)[M7G!>(J'-1F%P^$L>.L5%]R5U5)' MJDXO1!WZC26<$XZOC$>4E/EP-AO#'\-^ *KW8HX?!_ 1-6OX. 1P3&#=\'$$ M'P?]!9,L#BH<@V8/&,:XA?7;-]6F3H( H.-PVA\$*)8]1?I7F5)1:*@<#,+% M9*2KBEG10ISWG;."-CP=SV56;:7=2K7;/2#EOARS$[@YH_XL>&-;@32&PH'! MH/&@K88>!C]+-LN9SF9!Q\%\/&S-K-*_/4)2U;])SIF2,"Q6-):?J=@":O#H ML=.F^%7,Q6Q\4:OP3>%IG:*95$WBV)#Z:]NQE/MG .KN)X<&+T M+$>BRRFH74L[?+7"X'AXHJFK5&%96C_4\>C$0)$]/YRTL<-#XT&F"0Y]>M=P MGPLRO,!:M*#A^=@=?7R<;:%IO5F]/1K5':X?:3*'_&6&3-C \R 9Y'MV:?S(VP MM@7^NU@,D?C$!0:K9,;4;;@@I5@LQ>:%<6!D7>:82E6TV: MNO$FFJI=]RKY4#^[9]:$T^I%0;OX/)POIL&9+4@,A]8'P-X%(Z! MK9[4WM6R.#;"3T:SH-%AS"EY]#CX2*UHW Y+7M,9+-%RR A,#B(J9FNV/J'Z M*_T^(6TX&I(?(9S-Z8MIN.!? *_[6*)D$@X7(VRVN@(U$:XU/HC_Z=+<];]- M3#='! %0KN-M 4/"Q7R!YS)>@'"S )$>Y([A8@#RSPBDXT6X&$Y!/C+5W8P? MG>1>=N&/X F0LP%$ U!&AR#ZS(+1,!POX+M1. '9"6:&2_LN2T^I6%LI$>M6 M51Y.X(W3&4@!L-<1K '6 <(/"U#HR BG,SSGR22SD0]UK8@XDGIWP3J2WI^,ZN6JQ@[!_@:%6WI?O>*!6^>%*VRUK?GK M3,--MF1]V"*:1GOVH872YC90?T"_MKZJ%+E6+;&T-]5'$"\9,>.9CH>L&("4#Q=FL>@CTH_ZK"+PEZ@\ M@ _&+.RL!A,Y*LI7C=4&H9F5!]&.SS'_T]08)8[,($[-".MM,\E MB^@&=-74?]G1"$K__L8*)Z'I0-K-G^K3!HW:_3OH;%0^V/M'[[ ][$PU'=K^ M=#C!#_UPX@PVP5B#83B:#4F-FH[-SR)ENHD$G"8\&%&;OPD]I$=?9FE5(,3) M30OZZ=3 ZD"-BA4I387UO-:PK%@#\@R0:PZ+GBW&3'8G\RD3V>&D MV;<7$WM8L7%R'+O<$QVC<1O_H5;4+O?,IG0<)#4]?,H=#H^.25WMS!3ME61\ M]MTF=QSJ+:)7BN8A[&E5Y5ST5K=H"(5T4?%"3&=.*O0TL[4^3IM"D5?SO]#E M[QJ#MI)7:QT)6%=&!2/68[C1YGKL1#0714"C^SY=/9]NET;]'@[6RW8'/6"N4H MP1;VE#OH=\K X/OR[K1 'E2SV=^WJF<]1,DKQ%CK$J<#@ZD4)^J-?*#&H/1D M-)_5=='1M-NS6ZN.@[GE6&>%P@TP,AV@ =BUU&\WIT2AOO:D@%O+"$+0*'7) M%&V&X[B7(0,W_N8O^GIUL&[[W!GDUILVI/)U"E, MV':T;GU7+-?7?ONBW29]I^[#<]_PD70P.F:4A^\R&EL6["_<77;^77[/B,3!F-IH?/HD\O @G*'6" ME/.0K8XFDV TFASR[)NV1M+!"-2[V6(2_.PWC:SWV^E NH-081]J'N1]V8^T M#XX@Q*U+_U#7YTK%@4B2:W1CA9.>3Q!#QR,4>8=D"UB ;-AB$O)CH&VYUM6! MB-EF&>E>,7:E!/ X0A-:A__A09D'H"-I"HL^PF_$<8-8+Q?%W./!8AZ=WWN-_-S2BFN-K;$NCUUCR;LWX,5*NH&L@\DPG$SF7DCK )8_&OHW MIQ5$GJQW"(%]*MTDR3+JGXMM&D,""C5@]5KDXL+FB$^:]@,]'B^C:_>&_WCF/B>+:)5 MIU[L#'^5927VLMFA\CJC7SBUE'8IM%WK<:1XIQ6,]DQV%'>5V +*1G$)(2>; M(OPY8!ACA?9%?70MC.W\;RBQ>"#_#HD\\^<1.179*?+4=%WCP#-;A *--]2K M?H@&HJGNO4 ^1^\HX>>1>[HOVD4/]HW/3ZR)?1)BL7/])]OI!&P=8'+?.YJ& M?2I8KK]ZXT9H[%N$.],@'(]=,B0A+?M/;=8[D5>C9%_ MG8R78M]9COIA'T0@?9;Z.:!Z4^#L=IH4GBS)LDSW2?]@QI.M[]"#GLWN>\IZ MA[#Q!YZP/XD]LZ'[B-.^)E GZQ7(G)IR@25K"VBS^,YB0"JI_$AD])O.ZQ++T[+\VI+*; M(DO3DHTMPMD-.<0Q'0,CCS&9/-=UJ)U!@L' '2-)CKU$C;QDYSN;RA(;DTFN MV+9E]NAVZ)NR'^KU==L@U2IUED=QYXZ-@^5_VZRNF9(HK:W\5EC-/D0Z9[_B M7J%X-"8,AZ*BG>VU6 ]PR:6.Y/1:?% T#]6LDTKSY F-?ZO\Y%I=2$W>*YF\ M.JG6R@4T4X'!/TT\U8U6*32.QG$=(R?\7^*A:X8/YQ1KN-HC+G)8.J.!O=L( M"*TZ8C6ZHW@BK+277IDBX+KU#4T'JWM+P>_H7^KJ?J)+>4M$ )<8M_J'K[1D M56Z0T&G6\XTC I@(,G'6)8R7=5)]S*,.\OH+)6OMP8MMI= F^9+;_W0(7_+K MCD:@SER_UY,1B3[0G= Z ;?[L2W;M9OB#ML>V>+^W/=H7@_LO:3^%-1(0_>: MI^ BRD"1?AZV S'BQE4>;71)+BI<7&T1JYY,W!XEL30'<9[5]1GKWYLY=: S M$2M!TKENC" !Z^K+-I:<-QTY9[%#!NMT7"K!J6/^?$/HT@9-7+>NA?-$]->K M8+:8DQ^KH^.)[4SE0:$1$D7M'$OK67KN-J:[U^##G%J[IWBCKH ;2KMK4DX: M-1HEWYBS^;#Q8T1164TWE O=F/K+_DIFH\S60$NB> ,C :+YE=)DL#2%;I 4 M957)@65KYR==H8S*ER2.O&F4B%B%]_OX"W@.=#>X!7>%D/_@@TJ)YKVJL-P!=1*- M NZ*^@YY(-J"F F%99@6T;$=6&%!V_HIM?2!#L,,&TJZ854S';P M=+ X7=Z<]A?STUXE&!UU>3IA281C9&V))'KQ"A!E'262O+2)BP135-@/ MY?9CR:2Q*U>94F0>:.7UD0UZXYV0PY\,I1N^U+95.*T28(=U^XO@XNS"I!'6 M9[6E%]W6OS85M@[50JG/F*X,1._*B.MXI4*O]IN)K,#PS14<^)4OA.F0=')M M2[TUKXI;8_<&J'&Z3L2BA#271'OL]@ZO L70X!)%)7#6<%%*@K6[0NKAAX+. M#[&T#;XAOVZLUG!1'>_8!\T4WN?$_0_(E&EXV QCR7B.9NSN8#1QTGNU>[#V M'+_$[35IZ\(P)=2)L7!V%2;G 5_(;1MF.]V:9#2.KMT?7$"I?EC#V\RJ)6=N MC.A^J[VA'#WK%IX*35%-MP 2X!@G2.DP=\";*$')WU8#DC#8E=JDUGWRWJDR MX<6Y.XYC$]XX@#6*-=2O9>35V-Z^D6ZABB.DQ"!>'-)4^-X M.VY%RM&=4WS:5L66NL:-P6X!V+;;XE19;;E?5#LIPLHL0)BS[1W%7(;BL2[4 M,F(Z*>:?2@'2"IEN.,IKH78>@ILL">1G MJ[A^#DY*\@>WIO\"U-DK Z]GX-=MHB^4P&++4MH89=UJ7&>U^'*@:24NX9"Z MT;-)?]B[_"J5*E3-\H$IUK6QA\K!8=3)8XV5=[2LPM5S2ZSE*T)+HW)@]Q)( MVHU$\.BL8.U%5GKJ6QVK<4N4#X0%)+K:??/N,L]H8@SS0G3\63LUKZZX!3^4 MX*\Z$L\%L5%4GP,W MOW\UG[:>)W8RYYSNPE'=Y6V2HH3X8)@*;8:S>QRWB9=@RQV36:NK-?LQJZ)W M >9_HW3!![M3C>[MUL_DPHZ8O_2$HBK)!8+1XM1H4^(L^1OX\ $/F@3$43C& ML.YP.A\&\W ^F 6S<#3H6_S@/.OC4=B'$2=H 1C/)_AA+@D Q[-P,!Z[-H%2 ME\&R*^)P3WK_F.R&9N"9L,\ M.;CID6+0$?= 1_^CH9@3^;?M48%4;)U5)A",=T+NXW<8A#B"\>DLYS&7 +O M6',Q>.,2=2X(=MPMBLX.[XUL\\YEH!9 ^[H?H*0"C=.^5$?(]F &BW#>,G14((=&NZD49$8&V4F);8,3] W?X ?J04D1EVBHM/@L M@@W5]M+RIY'0=\%\H:U>]\%E.H)['>FW0N4''E!+MN$*9%]8Q(6BBJ%A\+.I M^ 8JA%.9 7'3L=?K;*:&_4TF0M.J%$;<1:R_]NWM0>$H-J7*R0HH>/ZV/HIN MF7JO+&PF)^AWKG?3ZLMY^;_R[!OI9 \U+U-B[Y(KZN%U5FUK&[I G'*OE M8*:MENY>7"NJ )(%?[8.H .0-'S%GHK"F-A"T5?8(@2T\$I,B37CR-PQIK/% M@[)-+YTPH*@P;EDBO8FH#%VI5 M6J+>A?Q2JT,TG.CR!:8^'U?5M9D>QBI[31P7ZS2I55.)J=*H6E%5RT/6CX.0 M.")Z,%MTVT'!_K"^O6LB@-_5ULFB]RMH8I$((#1PWCIG2.\BF](6-&@&L'61PBG[A>T'HEWV!LTX;/PJV0'M6XE^[\9DP<6-]9KY5=IWH?,K M].IBLKVNR/1PHSC.3PHN"G6D> 4GH3(@UG%G3"_<\4R+_I89^L5F8N(/FV#0 M/_VST[\3*SP)IOSJ]JBI[>QPK&/S9_!(7"W,/S%I'^Q]9"X*WY%6;LR=8-*?V)"]U+'GNS[G4#'U"IR M#(A%:POV5HJ$9"0P#5)<]J=MA4Z\#6H-]4@8\1J*IYD]?DY]\([@2#Y=$EQT MA3NV(6D7@?_67TVA?$'F$+0(FRNE"^6766BB=!U!W*M!W]5,I*/>O,T\]HEKOW[UCS6CVH]DE[0M)]Q*%MT9Z[6G6IM#_A@H&82IM=@E;>GZPG_T M\EK1'MNE&+8"2@8ZM6U^= O[ZDF]Y%H^8-9W[/IM4TK_UE]R7<>=)P^/=Q38 M;P9CN59@[SPI\3+[53JW,0%W"GOA&[5'GT]=U_TW/:,:YF>.]XB*C*OSV/M*:?3DOJ?YM*3!(%*6&\1U(YU9J^S6L<@HA3K/"= M*";:9#%VUT>80T&(ZX9N.D7&"!_O9+0NP-8>G^BF4LD^A/:#?D(-B &X'-_) M$,"TMP84/,](2 :G;>G\+CSZG^$S>6?7BPT P@EEN8P&TAQ@BMEF"Z[/AQ6L M&)L:9^:?DWN"6!UH,L:@P/%BA'_U85[X:[H8,M;X)Z@VVR2[4\H_2DQ8P((C MHP #U!>CF4&X^ZUDB@4QYN&D/\5_9K Q_!(6U'%)G@2#'B4[#'H#_&?8(Z?1 ML#><=:,\/33FAX9Z-/X#!_"R=7LF9\\TMS9VB7Z-1K@Q?QT1@M^@R(^$5=16 M-CAT)5]ATFKV[T6!SC.5>*VLO6!9Q3+ M>GR$K:*/3DR[];:AGZ@/#HP]N_@$0Z5!^ORT/PN#H^>NO'<:4-1MX'[Y%(M2 M8HRL1!1D6([*7!*B\*?/2"+\((7=G44\5Q]T7?Z3UFNB?W85 65[HBY_>%![ M[GH9Q$[S@I;K5S:MCFQ#-AR[/Y@*3F-?&'HA!=I(W7,4O255Q:>()0J\D#*X MD;3MB.O-QFPLA'F?$&LW4;2K,K@Y62H58K1R!\Z2C\XX?T6XVCPES./(_>8T M>J[U0EY=]5UW%?RZ;Z77';5U#B-=_,IT51-7HH/;A>5& M//>D>Q>[W KQ[KEJ-XU]7CI^&H73I2F%U.DS%K68:_[D5)_8FES=RL..:X$, M 3W8@N($G+&YB'#+#,53ME"E(2^U\"O-)];N=7)9D 02P Q545@#I',NNB?? M5KN7ZB7@G95C>S>1G5[O$&^ !IU55P"U@Z@0\.X,SR*,5^D85.FKM'!!*.TW*#UR&Z.N39E#V*>!J^%SG@?%1YIP27(, M@EQ0UKK#,%6+N3\I-Q WX<^V&?A7O)@B-*DM#$7#4D%Z79XMH?MK&NT>4WAA M&>Z7J_SA^P2UQ5[!Z[4//NNK M(2J.\8XQX4RNRCRS!$ER<9PO,'HF2?8O.VS4Q;V$(HN8L&+*F-0U7"&W0,W9)=\N/<7D Z>W=\\J.X,JV9]4_=:,% M7^6 4K=9_EFR&Y_K&F9,O)R1Y_7[TCY[76/!)%@V65H:Z=\]-RS-FIR=MA+_ M4JC?P.V,FU=:M,EJ:"WU*6[(R8Y2L&E5VPZ17O#2OU>NW-0FY$8SIGD2/>,(Y063XML(L4'>D2 M-*=)EGTVYBATD]HP=5V^6#))0*@R%14,)97?,+I._"82#:I_0>(K 1+8#[SH M=*=)+B^Z:%@.-H&:@*(QD7Y/&K9N+2?=I0:?N-AQU0_A6K4LL\-(PCUL#)T, M9@3QAO06+[C&-= %[!6@*P.H2#?(U(G0>M2E%TPBR@(I5S:W MKD8./J7D0B+OSBW6CQ4Y6*TZ,U4B;K'HVC8T< JW'3I"\0Y[@.M7AK9%]$'& M'+?CZ!Z]R&NNU? TGIMJ6!;EN_L9'W^DPGK-DL:=3_Q"3^SR6G[OGJS^>W1/ M/@1UF@V6NU#FN:?UZ"C;D-W7Q)#>F#:I^Y'H>V/G[XV=L^^-G1_!2>=RMN^- MG;\W=O[G-';N8!JUALU_.1KJ 4/KW:P:XV]H3 M6VN^PE)B^R'VO2/H/[(CZ(%=S$,K.(6ZB>@A(M3W?J/_O?J-=K<@[!:Y7>)F MQG]](\#.-VHZ@^\S;IG#*/'W_GZ[^ONUA_XV3JJ)(]^[ G[O"HA= 1OU'TW& M]RLF<]ZI2+OW!GO /YQ9Z&>L&73?*TV$9+]<>C MK526.?KI>W^[?^?^=EW6X-;AH30S>$/M!GYY@\SX->!&<6#CN=KS>X6([WUU MOO?5^=Y7YWM?G>]]=;[WU?GWZJO3P8Y=9?OA''L78W;?0/8VLA/^!_=??.V8 MVESUCGD-RI*YNL92R;0F.O"#>?EW+O3?CPOM0IX.]#P0$;YWY?S>E?,;=^6\ M7R^"+K)JRIZ>^W'WIN#G&9<][7SN>[G4?\5RJ5]=+:_37"Y%^UXWPE/.=16X MFI4*7IYC/9"W47X5IU)QG'CK);<:M.X(E/%R^"XR?8ZNL'FYE/(5*@]MLO/MJ$]R?>WYV\YOV:=EA)0#3\ MR8L[BO]33Q9GYX,])M7W)Z)J5W. V3&UJ@M$Q3 MMTZG6A+6]Z^D/3F]ZP7[QIT!!IC2"7XK"I8(2>QUSP&+'+E0)W"'(D%_!>[Y M3BG&K\)',$";MQS.T0"H]"2*I/U"L]3&KNJ$NJ%1L\#'N13X>.$6^+#R1]>V MV\+KW/W_R93.N?=&SQ5V(+3A*F&]TM'^!\14R^5X:X61OC+&M&LWG;=]1_3I MC@NLQPARMD=J(/:6D&'NOH>7J"V/2.T"$SVQ!6%@:;NP9G0U!?2;"\X!RX9(M%:ML!FU)L. M&K50&Y/C\NN#3'S/CC$[?MJ_ ?9:V="ICT"+ZK,LQ&\VUE[RX1A+W35 *H?A MA?]8>\#]<;"Q>JD\T:0D.L(&LS@Y4OB]$V#ST@VPJ<>*[4,M$RH#]*/Q[&L= MV/< ZJ26/9.F_9 8'@V,T/<\OF)/Y]_@Q+YNUA=P4W&6X.-M]E@SH>+Q2'.] MRJK'VN KX$Y?/Q6[8!]OPH=,\"EUNG^^Y&KC[6)$]RR'C^SD!;L>>9>ER_:G MY,+99+4+4]KBM1E:XJ!CMBJ.[]-O,LW-/H%LD)Y>\4 MQ$U9*"&G^*X' 239T-W)F MQY/Z#>^:2-X67M4P#5!7K7?1IJ6SIPAKI]JHU0*2#AGVA1L==<[145UCD7Q0 M,!3,:@.AND8_ $-<>[0)%;S_M;=AC3OPP"[/(+UD,GP@.U3W>&W(?*X-F1^= MP$$G(.(1 "+(FA"R-@*O0I,>Y,3">F%L[.;$^E(NDZ%L!&<]1"-CJ;XD&=K165;@-2_4IC6 MU<'&C0[X@>.1S, =]@ZS4&W!>B9]4+H&:N-UU^\4@M7U8UMR5%V[5 M]=#N@*NNI^@%C^BB?8""X;IQ_D-\3W;.;G)L5H#2FL@$[5(D_!P\^#T:4F\< M/XL>&_R7(7%&>WLEOIJN^9AJN9ZL0Y9'I8%=LUL;:_2]? MWNX@[.FZ$9;MR"CM)X+6%RC0-HW1@W.#;N&93@G7T\[B;O=2OA!8)E0MMK MPMI70OFL39^ZS^)V@N:Q28BS\$Y]^-$6;VZA]I,_WBX>=86/BAC?"G:/L+A_ M5@3,HW'\O3O>"=5V)K&3]WQ*0>Y-B%FY!-2+B"J",ZDHZJDVH?9$M_A-#MG' M0^GI@V!V#Z;4F+^UY%CA!AI1.:YS=! 2?+B3U@-.WW4=6EW.)2JR BJN9%^( MH^ FY;45[#1@..]RBT^1V^93ZG10>)UN*_8BP5V%=43,(6O;U?4]:,J&G'@# M@,#)3@%A3E&$=]RIH:KSX%O/Q&Y;I4Y4I=-EA2QXX*=ZDN<7&& M\Q;#X W65PP&G:A 2$-10O@!'<- 1/@=#C;8^G7W@D.+)PUV7)(&_0+VV_&. MIOHBVO9!*[*F6L$A6VG(0;M#)WNL$QAVGL OPT,Q^?YO'76_==14?;HR.=M; M4[FA!M?1"HM L4]J1;$Y6*'3E&S6W0UI.N!!;Z-\>4WY92U5%1A<#D-SVO#D MRE9B&5.=4$EIHR:;XE[,;*J**)6F >>?89S37A;^= M0=)I"( =<1^EZA(C:+#&LS2CHV9Q%#2HRPRV+;/C $8''$!]"[9V1N526RK# M<;=%H%&I&8Z$MNWZFCV&I%N7W]VKV5JI"&ZI'FK%?8/QE$Q=::+LRNLL)];8;K[9';ZZWR>T M,YKHO=,1YMU*I'@?I6M0(80J+ M:DS_RWD&A$!$R,8^=X?!UD>;B-?Z#WZ@ZXZ7>#&M3:>0C0"U*%H?98T;=CS% MNC0DNH[0%^PPWV_$OF#_J99O![UIR[>+WJ+Y[2.$VYX&WSBPMG91]H0B2;!T M!X5H"U>2OMG-H;4>WZ$]+-2V0>:H1<*@2R NM?I&8H2>!%/ZW0RM75K!NXJ$ M&8(6OIJ(KTQ4@/#4L=Y'.JXYW'Q>=N%:(QU%R\%E* S<.;-P<;B;=\.^GU6[[M M]\;-;YM=O'T77R='6)8]TW6["\_K<^_TG_I&!SP!BB%FOFN[)3HK^:$HRI_^ M/U!+ P04 " ";@%]/JR\V'C<" #7"0 #0 'AL+W-T>6QEU%7*U?.UWV-FXT5L&]Q6 1AUGHDEPI77].@B:K ).F@M9@S"10BI. MM'%5&32U I(W-HFS8!Z&RX 3*G :BY;?IU+$* ( MVQ5MCO[_O,K_6/'EJS^7["Z50\%/J-%VJ!,0N3@%DD[5Y9>WQF]P<"M(R?6>GZ(() MGNSW5GBT'$>M1HH$3_8'R&G+KUS!Z2F7?@502P,$% @ FX!?3S:Z-U[ M! $28 \ !X;"]W;W)K8F]O:RYX;6S%FMMNVS@00'^%T%,6Z*ZM6]H& M=8$V3K(&VJ:(NWE=,!)M$Z%(E:1RZ=?O4+8;JE4&^S+QDRU*HHY&(L^0U+M[ M8V]OC+EE#XW2;I9LO&]/)A-7;43#W5^F%1KVK(QMN(=-NYZXU@I>NXT0OE&3 M;#H]GC15%X:#86AX%J*>_>T/VPR#@?,9K62E9B;JFN$]MLX6J'"U;7;R-8E3/-&S)+](8SK MFIUI#S1LH;=5P;'A7N#2BWI[7QXB]@3+[(F$'791IP&<#O(4MHV2-5R]9A^Y MXKH2K ^Y8T?_Q) 9 ID=$/+?+(+,$T,+M^R:AMO'_KG*M99P&H?'_*&J3 >]903Y%H%\2PMY)>Z$[@2[ M$I4!QCZ21U_ C.Z/N .?8CWXE!;QD^!.N#$JU"O$8EEH")PW]C$&PAR2$DOD MPICZ7BKUBEWZC;#0*7NNUP&"?7 N[E52S"(IL4;@];<=="EG#U )/->8"Q-' M2FR.N;#RCH=L#R+GO.VVW=W(6X>9(R56QSF7EEUS!2WV,S2+SHIG,3%WI,3R M6'I3W6Z,JH5U[.Q[%U+#$43,'"FQ.B =:*3?1B\DL. [#\F\T)4V3$ M]EAV-TY\[T*"=19Z[)$P9IA',F*/H%G"(/?/T!$*L5W&\H2Y='R]MF+-?8R) MV24CMLL89FC9%@;R,+**,3'99,2RV:N^@E%=J[,_;#/Q R4$QMHA_F9^\Z&T2NT]LM66![Z M=XAO/-N-&:AXF;FQ1QC8M8IB*WS^W!BK/5@PBG( M%V"01'W@Q0*33G&@8<\NG#$F)IV"6#K/S>[NRN/52TPZ)?64VMCL[LB;66+* M*(E9IZ1>O/EMQGSL>6/6*7OK3/:?(-5B);6HOT#M#LHKKJJOEH6? M[:)I48:%C%6GU"F47>I/AO&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/%VLUNXC 8 MA>%;0;F FN_'M!V5KKKI=CHW$($AJ)!$L4?3WOVD;":5VIQ9H,,F* )]?E>/ M+)N'G^E8ET/7YN;0Y\7;Z=CF==64TO\((6^:=*KS3=>G=OQFUPVGNHROPS[T M]>:UWJ>@R^4J#-,9U>/#=.;B>;NNAN>M5(M?];!/95V%MV/XTPVON4FIY'#^ MD)MQ@?$G[WWZG^6[W>ZP24_=YO6+BG\+5.'K()T/4GJ0S0<9/ M%.>#(CUH-1^TH@?=S@?=TH/NYH/NZ$'W\T'W]"!9 AF7_"2$-5]K 5P+WVL! M8 M?; %D"]]L 6@+7VT!; O?;0%P"U]N 70+WVX!> M?;P5Z*U]O!7KK%?;: M:+/-UUN!WLK76X'>RM=;@=[*UUN!WLK76X'>RM=;@=[*UUN!WLK7VX#>QM?; M@-[&U]N WG:%LQ)T6,+7VX#>QM?;@-[&U]N WL;7VX#>QM?;@-[&U]N WL;7 MVX'>SM?;@=[.U]N!WL[7VX'>?H6S;G38S=?;@=[.U]N!WL[7VX'>SM?;@=[. MU]N!WL[7.P*](U_O"/2.?+TCT#OR]8Y [\C7.P*]XQ7N*M%E)5_O"/2.?+TC MT#OR]8X3O7-3#VG[4H9#N\^7+ODT_-N:"=RYO!_3Y3/.4[^]X9XH7<954C@_ M+P[A>>I'1/CTAY3'OU!+ P04 " ";@%]/UR:[NA)AI,-$+RWC"VTYWS;C3/%;.G5T=AM&N;+LRS*D9WQ5@H*FI- MR*VC+E66UKMY M9IQKZL+$VG9LVY7?FH[?&^:>FF%-J&H7SM*";'2[2UU"NC;/4C5D[!<3OM_8 MGZ?[[K?D?5W2GZ+9Y;(NJ+3%IDVWY,%Y,F6HB&+;Y*$RGLK'Z.MN]9[WP?AX M9]K4F.T:]F5!?KH<\;6APP&&RC$GQ[0MZ-"HH;#_Y/\:^+$;"NMI['RJ^E@? M>+P4Z2%5 ^L7'O,1J=\Z)96_&IY:G^Z'?;%^/7P_],(_BX$-A_^]]>/E$" Y M)$@.!9)#@^28@N0X!\EQ 9+C$B0'GZ $01&5HY#*44SE**AR%%4Y"JL\-77W4Y)G:]D !D;V-0&UL4$L! A0#% @ FX!?3^JE M^I'N *P( !$ ( !F0$ &1O8U!R;W!S+V-O&UL M4$L! A0#% @ FX!?3YE&PO=V]R:W-H965T&UL M4$L! A0#% @ FX!?3S\6/^E*! 110 !@ ( !80P M 'AL+W=O$0 !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ FX!? M3WK[K2#& @ O@D !@ ( !YA< 'AL+W=OC8:7 8 'DC 8 M " >(: !X;"]W;W)K&PO=V]R:W-H M965T&UL4$L! A0#% @ FX!?3X8I7BFQ 0 T@, !@ M ( !YR4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ FX!?3P_L MC%&U 0 T , !D ( !DRT 'AL+W=O&PO=V]R:W-H965TWR*?LP$ -(# 9 " 6LQ !X;"]W;W)K&UL4$L! A0#% @ FX!?3P$!]Y:V 0 T@, !D M ( !53, 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ FX!?3Q+NKHZU 0 T@, !D ( ! M'#D 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ FX!?3VDVQB"W 0 T@, !D ( !X3X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ FX!?3\6T#T.W M 0 T@, !D ( !XD0 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ FX!?3ZO*NV[5 0 G 0 !D M ( !RDH 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ FX!?3VAM.AG! 0 -P0 !D ( !LE M 'AL+W=O,G9 M\;@! #2 P &0 @ &J4@ >&PO=V]R:W-H965T&UL4$L! A0#% @ MFX!?3V(?0O+J @ W0H !D ( !A58 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ FX!?3Y)D<"$" @ 6P4 !D M ( !=V4 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ FX!?3_UE/C;I 0 [P0 !D ( !!@ &0 @ &2;@ >&PO=V]R:W-H965T&UL4$L! A0#% @ FX!? M3S'JV<[\ 0 ' 4 !D ( !374 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ FX!?3YXRG*V3! >Q< M !D ( !:GT 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ FX!?3_J*S@L6 @ R 4 !D M ( !!8H 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ FX!?3T3\?5D" @ CP4 !D ( !WY 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ FX!?3U)> MC?>; 0 6 , !D ( !DY@ 'AL+W=O62C4]5$ !A*P$ % M @ %EF@ >&PO&POP 0 !$F / " <[A !X M;"]W;W)K8F]O:RYX;6Q02P$"% ,4 " ";@%]/S:,18@," "@(@ &@ M @ &[Y@ >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$" M% ,4 " ";@%]/UR: XML 23 R29.htm IDEA: XBRL DOCUMENT v3.19.3
Derivative Instruments (Tables)
9 Months Ended
Sep. 28, 2019
Derivative Instruments, Gain (Loss) [Line Items]  
Derivative Instruments, Gain (Loss) [Table Text Block]
Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):
 
 
 
Three Months Ended
 
Nine Months Ended
 
Classification
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Gain (loss) recognized in income
Other income, net
 
$
852

 
$
435

 
$
200

 
$
973


The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): 
 
 
Gain (loss) recognized in OCI on Derivative (1)
 
 
Three Months Ended
 
Nine Months Ended
 
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Foreign currency forward contracts
 
$
10,905

 
$
362

 
$
15,254

 
$
(198
)

(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
 
 
Gain (loss) recognized in earnings on cash flow hedging instruments
 
 
Three Months Ended
 
 
September 28, 2019
 
September 29, 2018
 
 
Revenue
 
Cost of revenue
 
Revenue
 
Cost of revenue
Consolidated statements of income in which the effects of cash flow hedging instruments are recorded
 
$
289,399

 
$
152,558

 
$
264,534

 
$
129,328

 
 
 
 
 
 
 
 
 
Gain (loss) on cash flow hedging relationships:
 
 
 
 
 
 
 
 
Foreign currency forward contracts:
 
 
 
 
 
 
 
 
Amount of gain (loss) reclassified from AOCI into earnings
 
$
185

 
$

 
$
549

 
$


 
 
Gain (loss) recognized in earnings on cash flow hedging instruments
 
 
Nine Months Ended
 
 
September 28, 2019
 
September 29, 2018
 
 
Revenue
 
Cost of revenue
 
Revenue
 
Cost of revenue
Consolidated statements of income in which the effects of cash flow hedging instruments are recorded
 
$
787,232

 
$
412,675

 
$
707,919

 
$
339,002

 
 
 
 
 
 
 
 
 
Gain (loss) on cash flow hedging relationships:
 
 
 
 
 
 
 
 
Foreign currency forward contracts:
 
 
 
 
 
 
 
 
Amount of gain (loss) reclassified from AOCI into earnings
 
$
400

 
$

 
$
270

 
$
(386
)

XML 24 R25.htm IDEA: XBRL DOCUMENT v3.19.3
Leases (Tables)
9 Months Ended
Sep. 28, 2019
Operating Lease Cost [Abstract]  
Lease, Cost [Table Text Block]
The components of lease expense were as follows (in thousands):
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
Operating lease cost
$
2,250

 
$
6,539

Variable lease cost
828

 
2,965

Total lease cost
$
3,078

 
$
9,504


ScheduleOfLeasesSupplementalCashFlow [Table Text Block]
Supplemental cash flow information related to leases was as follows (in thousands):
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
Cash paid for amounts included in the measurement of lease liabilities:
 
 
 
Operating cash flows from operating leases
$
2,566

 
$
7,447

Right-of-use assets obtained in exchange for lease obligations:
 
 
 
Operating leases
$
460

 
$
53,227


Lessee, Operating Lease, Liability, Maturity [Table Text Block]
Maturities of operating lease liabilities were as follows as of September 28, 2019 (in thousands):
 
Operating leases
Remainder of 2019
$
1,774

2020
8,798

2021
8,232

2022
7,560

2023
7,109

Thereafter
41,128

Total minimum lease payments
$
74,601

Less: imputed interest
11,953

Present value of future minimum lease payments
$
62,648

Less: current portion of operating lease liabilities (Note 7)
6,307

Long-term lease liabilities
$
56,341


XML 25 R21.htm IDEA: XBRL DOCUMENT v3.19.3
Subsequent Event (Notes)
9 Months Ended
Sep. 28, 2019
Subsequent Events [Abstract]  
Subsequent Events [Text Block] On October 17, 2019, the Company disposed of one of these non-marketable equity securities, resulting in a gain of approximately $8.0 million which will be recorded as other income during the fourth quarter of fiscal 2019.
XML 26 R49.htm IDEA: XBRL DOCUMENT v3.19.3
Derivative Instruments (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 28, 2019
Sep. 29, 2018
Sep. 28, 2019
Sep. 29, 2018
Derivative Instruments, Gain (Loss) [Line Items]        
Document Period End Date     Sep. 28, 2019  
Revenue $ 289,399 $ 264,534 $ 787,232 $ 707,919
Total cost of revenue 152,558 129,328 412,675 339,002
Foreign Exchange Forward [Member] | Cash Flow Hedging [Member]        
Derivative Instruments, Gain (Loss) [Line Items]        
Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax [1] 10,905 362 15,254 (198)
Foreign Exchange Forward [Member] | Sales Revenue, Net [Member] | Cash Flow Hedging [Member]        
Derivative Instruments, Gain (Loss) [Line Items]        
Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net 185 549 400 270
Foreign Exchange Forward [Member] | Cost of revenue | Cash Flow Hedging [Member]        
Derivative Instruments, Gain (Loss) [Line Items]        
Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net $ 0 $ 0 $ 0 $ (386)
[1]
(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
XML 27 R41.htm IDEA: XBRL DOCUMENT v3.19.3
Leases Financial Statement Impact of Adopting ASC 842 (Details) - USD ($)
$ in Thousands
Sep. 28, 2019
Dec. 30, 2018
Dec. 29, 2018
Leases [Abstract]      
Operating lease right-of-use asset $ 48,948 $ 52,800 $ 0
Operating Lease, Liability $ 62,648 $ 67,300  
XML 28 R45.htm IDEA: XBRL DOCUMENT v3.19.3
Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 28, 2019
Dec. 29, 2018
Goodwill [Line Items]    
Goodwill $ 117,537 $ 118,896
Goodwill, Acquired During Period 2,050  
Goodwill, Foreign Currency Translation Gain (Loss) $ (3,409)  
XML 30 R24.htm IDEA: XBRL DOCUMENT v3.19.3
Revenue Recognition Contract Balances (Tables)
9 Months Ended
Sep. 28, 2019
Revenue Recognition and Deferred Revenue [Abstract]  
Contract with Customer, Asset and Liability [Table Text Block]
Contract Balances
The following table provides information about receivables and contract liabilities from contracts with customers (in thousands):
 
September 28, 2019
 
December 29, 2018
Accounts receivable, net
$
169,562

 
$
162,166

Contract liabilities
6,412

 
5,756

The Company invoices customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract liabilities primarily relate to prepayments received from customers in advance of product shipments. The change in the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and the customer’s payment. During the three months ended September 28, 2019 and September 29, 2018, the Company recognized $1.7 million and $2.2 million, respectively, of the contract liability balance as revenue upon transfer of the products to customers. During the nine months ended September 28, 2019 and September 29, 2018, the Company recognized $5.8 million and $6.7 million, respectively, of the contract liability balance as revenue upon transfer of the products to customers. The Company does not assess whether a prepayment received represents a significant financing component as the period between when the payment is received and the transfer of the products to the customer is generally one year or less.
XML 31 report.css IDEA: XBRL DOCUMENT /* 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; } XML 32 R20.htm IDEA: XBRL DOCUMENT v3.19.3
Industry Segment, Geographic Information and Significant Customers
9 Months Ended
Sep. 28, 2019
Segment Reporting [Abstract]  
Industry Segment, Geographic Information and Significant Customers Industry Segment, Geographic Information and Significant Customers
The Company operates as one operating segment. The Company's consumer robots products are offered to consumers around the world through distributor and retail sales channels, as well as its on-line stores.
Significant Customers
For the three months ended September 28, 2019 and September 29, 2018, the Company generated 29.6% and 24.8% of total revenue, respectively, from one of its retailers (Amazon).
For the nine months ended September 28, 2019 and September 29, 2018, the Company generated 25.0% and 20.4% of total revenue, respectively, from one of its retailers (Amazon).
XML 33 R28.htm IDEA: XBRL DOCUMENT v3.19.3
Accrued Expenses (Tables)
9 Months Ended
Sep. 28, 2019
Accrued Liabilities, Current [Abstract]  
Components of Accrued Expenses
 
September 28, 2019
 
December 29, 2018
Accrued other compensation
$
14,625

 
$
10,518

Accrued warranty
12,372

 
11,964

Accrued direct fulfillment costs
13,000

 
5,372

Accrued bonus
9,050

 
21,226

Current portion of operating lease liabilities
6,307

 

Accrued sales and other indirect taxes payable
3,073

 
11,397

Accrued federal and state income taxes
3,146

 
1,936

Accrued accounting fees
1,985

 
2,052

Accrued other
7,028

 
6,794

 
$
70,586

 
$
71,259


XML 34 R5.htm IDEA: XBRL DOCUMENT v3.19.3
Consolidated Statements of Comprehensive Income (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 28, 2019
Sep. 29, 2018
Sep. 28, 2019
Sep. 29, 2018
Net income $ 35,532 $ 31,929 $ 65,259 $ 62,801
Other comprehensive income (loss):        
Net foreign currency translation adjustments (4,902) 1,826 (5,578) (3,960)
Net unrealized gains (losses) on cash flow hedges, net of tax 8,175 272 11,437 40
Net (gains) losses on cash flow hedge reclassified into earnings, net of tax (138) (412) (300) 9
Net unrealized gains (losses) on marketable securities, net of tax 36 (28) 244 (113)
Total comprehensive income $ 38,703 $ 33,587 $ 71,062 $ 58,777
XML 35 R1.htm IDEA: XBRL DOCUMENT v3.19.3
Document and Entity Information - shares
9 Months Ended
Sep. 28, 2019
Oct. 26, 2019
Entity Information [Line Items]    
Document Type 10-Q  
Document Period End Date Sep. 28, 2019  
Document Quarterly Report true  
Document Transition Report false  
Entity Central Index Key 0001159167  
Entity File Number 001-36414  
Entity Registrant Name iROBOT CORPORATION  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 77-0259335  
Amendment Flag false  
Entity Address, Address Line One 8 Crosby Drive  
Entity Address, City or Town Bedford  
Entity Address, State or Province MA  
Entity Address, Postal Zip Code 01730  
City Area Code 781  
Local Phone Number 430-3000  
Title of 12(b) Security Common Stock, $0.01 par value  
Trading Symbol IRBT  
Security Exchange Name NASDAQ  
Document Fiscal Year Focus 2019  
Document Fiscal Period Focus Q3  
Current Fiscal Year End Date --12-28  
Entity Shell Company false  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Common Stock, Shares Outstanding   28,270,544
XML 36 R16.htm IDEA: XBRL DOCUMENT v3.19.3
Fair Value Measurements (Notes)
9 Months Ended
Sep. 28, 2019
Fair Value Footnote [Abstract]  
Fair Value Disclosures [Text Block] Fair Value Measurements
The Company’s financial assets and liabilities measured at fair value on a recurring basis were as follows (in thousands):
 
Fair Value Measurements as of
September 28, 2019

Level 1
 
Level 2 (1)
 
Level 3 (2)
Assets:
 
 
 
 
 
Corporate and government bonds, $20,516 at cost (3)
$

 
$
20,530

 
$

Derivative instruments (Note 8)

 
15,496

 

Total assets measured at fair value
$

 
$
36,026

 
$

 
 
 
 
 
 
Liabilities:
 
 
 
 
 
Derivative instruments (Note 8)
$

 
$
1,445

 
$

Total liabilities measured at fair value
$

 
$
1,445

 
$


 
Fair Value Measurements as of
December 29, 2018
 
Level 1
 
Level 2 (1)
 
Level 3 (2)
Assets:
 
 
 
 
 
Money market funds
$
3,730

 
$

 
$

Corporate and government bonds, $30,035 at cost

 
29,605

 

Convertible note

 

 
2,000

Derivative instruments (Note 8)

 
776

 

Total assets measured at fair value
$
3,730

 
$
30,381

 
$
2,000

 
 
 
 
 
 
Liabilities:
 
 
 
 
 
Derivative instruments (Note 8)
$

 
$
1,130

 
$

Total liabilities measured at fair value
$

 
$
1,130

 
$

(1)
Level 2 fair value estimates are based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.
(2)
Level 3 fair value estimates are based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability. The fair values are therefore determined using model-based techniques, including option pricing and discounted cash flow models. Unobservable inputs used in the models are significant to the fair values of the assets and liabilities.
(3)
As of September 28, 2019, the Company’s investments had maturity dates ranging from October 2019 to March 2021.
    
The following table provides a summary of changes in fair value of our Level 3 investment for the nine months ended September 28, 2019 (in thousands):
Balance as of December 29, 2018
$
2,000

Conversion of convertible note
(2,000
)
Balance as of September 28, 2019
$


XML 37 R9.htm IDEA: XBRL DOCUMENT v3.19.3
Summary of Significant Accounting Policies
9 Months Ended
Sep. 28, 2019
Accounting Policies [Abstract]  
Summary of Significant Accounting Policies Summary of Significant Accounting Policies
Basis of Presentation
The accompanying consolidated financial statements include those of iRobot and its subsidiaries, after elimination of all intercompany balances and transactions. iRobot has prepared the accompanying unaudited consolidated financial statements in conformity with accounting principles generally accepted in the United States of America ("GAAP"). In addition, certain prior year amounts have been reclassified to conform to the current year presentation.
In the opinion of management, all adjustments necessary to the unaudited interim consolidated financial statements have been made to state fairly the Company's financial position. Interim results are not necessarily indicative of results for the full fiscal year or any future periods. The information included in this Form 10-Q should be read in conjunction with the Company's audited consolidated financial statements and notes thereto included in its Annual Report on Form 10-K for the fiscal year ended December 29, 2018, filed with the Securities and Exchange Commission on February 14, 2019.
The Company operates and reports using a 52-53 week fiscal year ending on the Saturday closest to December 31. Accordingly, the Company’s fiscal quarters end on the Saturday that falls closest to the last day of the third month of each quarter.
Use of Estimates
The preparation of these financial statements in conformity with GAAP requires the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition, including performance obligations, variable consideration and other obligations such as product returns and incentives; warranty costs; valuation of goodwill and acquired intangible assets; valuation of financial instruments; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. The Company bases these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that the Company believes are reasonable under the circumstances. Actual results may differ from the Company’s estimates.
Other Assets
The Company holds non-marketable equity securities as part of its strategic investments portfolio. The Company classifies the majority of these securities as equity securities without readily determinable fair values and measures these investments at cost, less any impairment, adjusted for observable price changes. At September 28, 2019 and December 29, 2018, other assets consisted primarily of equity securities without readily determinable fair values and an equity method investment totaling $22.4 million and $15.1 million, respectively. On October 17, 2019, the Company disposed of one of these non-marketable equity securities, resulting in a gain of approximately $8.0 million which will be recorded as other income during the fourth quarter of fiscal 2019.
Net Income Per Share
Basic income per share is calculated using the Company's weighted-average outstanding common shares. Diluted income
per share is calculated using the Company's weighted-average outstanding common shares including the dilutive effect of stock
awards as determined under the treasury stock method.

The following table presents the calculation of both basic and diluted net income per share (in thousands, except per share amounts): 
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Net income
$
35,532

 
$
31,929

 
$
65,259

 
$
62,801

Basic weighted-average common shares outstanding
28,154

 
27,493

 
28,029

 
27,692

Dilutive effect of employee stock awards
496

 
1,013

 
730

 
937

Diluted weighted-average common shares outstanding
28,650

 
28,506

 
28,759

 
28,629

Basic income per share
$
1.26

 
$
1.16

 
$
2.33

 
$
2.27

Diluted income per share
$
1.24

 
$
1.12

 
$
2.27

 
$
2.19

Employee stock awards representing approximately 0.4 million and 0.0 million shares of common stock for the three months ended September 28, 2019 and September 29, 2018, respectively, and approximately 0.1 million shares of common stock for the nine months ended September 28, 2019 and September 29, 2018, were excluded from the computation of diluted earnings per share as their effect would have been antidilutive.
Recently Adopted Accounting Standards
In June 2018, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2018-07, "Compensation - Stock Compensation: Improvements to Nonemployee Share-Based Payment Accounting (Topic 718)." The amendments in ASU No. 2018-07 expand the scope of Topic 718 to include share-based payments issued to nonemployees for goods or services. The amendments in this ASU are effective for annual periods beginning after December 15, 2018 and interim periods within those annual periods, with early adoption permitted. The Company adopted this standard effective December 30, 2018 which did not have a material impact on the Company's consolidated financial statements and related disclosures.
In February 2016, the FASB issued ASU No. 2016-02 "Leases." This ASU and subsequently issued amendments require lessees to recognize the assets and liabilities on their balance sheet for the rights and obligations created by most leases and continue to recognize expenses on their income statements over the lease term. The standard also requires disclosures designed to give financial statement users information on the amount, timing and uncertainty of cash flows arising from leases. In July 2018, the FASB issued ASU No. 2018-11, "Leases (Topic 842): Targeted Improvements," which provides an alternative transition method that entities can elect when adopting the new standard. Under this alternative transition method, a company is permitted to use its effective date as the date of initial application without restating comparative period financial statements. The Company adopted the standard effective December 30, 2018 using the alternative transition method which resulted in the recognition of operating lease right-of-use assets and operating lease liabilities of approximately $52.8 million and $67.3 million, respectively. The Company's consolidated financial statements as of and for the three and nine months ended September 28, 2019 are presented under the new standard, while the comparative quarter presented is not adjusted and continues to be reported in accordance with the historical accounting policy. See Note 4, "Leases," for the required disclosures related to the impact of adopting this standard and a discussion of the Company's updated policies related to lease accounting.
Recently Issued Accounting Standards
In August 2018, the FASB issued ASU No. 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software." The new standard aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. Implementation should be applied either retrospectively or prospectively to all implementation costs incurred after the date of adoption. The Company intends to adopt the ASU using the prospective method effective December 29, 2019, and does not expect the new standard will have a material impact on its consolidated financial statements.
In August 2018, the FASB issued ASU No. 2018-13, "Fair Value Measurement: Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement." The amendment modifies disclosure requirements related to fair value measurement. The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2019. Implementation on a prospective or retrospective basis varies by specific disclosure requirement. Early adoption is permitted. The standard also allows for early adoption of any removed or modified disclosures upon issuance of this ASU while delaying adoption of the additional disclosures until their effective date. The Company does not believe this amendment will have a material impact on its consolidated financial statements.
In June 2016, the FASB issued ASU No. 2016-13, "Measurement of Credit Losses on Financial Instruments," as clarified in ASU No. 2019-04 and ASU No. 2019-05. The guidance amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments. This may result in the earlier recognition of allowances for losses. The guidance is effective for fiscal years beginning after December 15, 2019, including interim periods within those fiscal years, with early adoption permitted. The Company intends to adopt the ASU effective December 29, 2019. The Company does not believe the new standard will have a material impact on its consolidated financial statements.
From time to time, new accounting pronouncements are issued by FASB that are adopted by the Company as of the specified effective date. Unless otherwise discussed, the Company believes that recently issued standards, which are not yet effective, will not have a material impact on the Company’s consolidated financial statements upon adoption.
XML 38 R12.htm IDEA: XBRL DOCUMENT v3.19.3
Inventory
9 Months Ended
Sep. 28, 2019
Inventory Disclosure [Abstract]  
Inventory Inventory
Inventory consists of the following (in thousands):
 
September 28, 2019
 
December 29, 2018
Raw materials
$
2,801

 
$
2,992

Finished goods
245,502

 
161,641

 
$
248,303

 
$
164,633


XML 39 R39.htm IDEA: XBRL DOCUMENT v3.19.3
Leases Supplemental Cash Flow (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 28, 2019
Sep. 28, 2019
Leases [Abstract]    
Document Period End Date   Sep. 28, 2019
Operating Lease, Payments $ 2,566 $ 7,447
Right-of-Use Asset Obtained in Exchange for Operating Lease Liability $ 460 $ 53,227
XML 40 R31.htm IDEA: XBRL DOCUMENT v3.19.3
Commitments and Contingencies (Tables)
9 Months Ended
Sep. 28, 2019
Commitments and Contingencies Disclosure [Abstract]  
Activity Related to the Warranty Accrual
Activity related to the warranty accrual was as follows (in thousands):
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Balance at beginning of period
$
11,970

 
$
11,233

 
$
11,964

 
$
11,264

Provision
3,484

 
2,682

 
8,817

 
7,310

Warranty usage
(3,082
)
 
(2,485
)
 
(8,409
)
 
(7,144
)
Balance at end of period
$
12,372

 
$
11,430

 
$
12,372

 
$
11,430


XML 41 R35.htm IDEA: XBRL DOCUMENT v3.19.3
Revenue Recognition Significant Judgments (Details) - USD ($)
$ in Millions
Sep. 28, 2019
Dec. 29, 2018
Revenue Recognition and Deferred Revenue [Abstract]    
Refund liability, product returns $ 41.7 $ 53.9
Refund liability, other credits and incentives $ 78.6 $ 97.7
XML 42 R54.htm IDEA: XBRL DOCUMENT v3.19.3
Income Taxes (Details)
3 Months Ended 9 Months Ended
Sep. 28, 2019
Sep. 29, 2018
Sep. 28, 2019
Sep. 29, 2018
Income Tax Disclosure [Abstract]        
Effective Income Tax Rate Reconciliation, Percent 18.20% 15.10% 11.60% 19.90%
XML 43 R50.htm IDEA: XBRL DOCUMENT v3.19.3
Fair Value Measurements Fair Value on a Recurring Basis (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 28, 2019
Dec. 29, 2018
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value $ 0 $ 2,000
Available-for-sale Securities, Amortized Cost Basis [1] 20,516 30,035
conversion of debt (2,000)  
Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash and Cash Equivalents, Fair Value Disclosure   3,730
Available-for-sale Securities 0 [1] 0
Convertible Debt, Fair Value Disclosures   0
Derivative Asset 0 0
Assets, Fair Value Disclosure 0 3,730
Derivative Liability 0 0
Financial and Nonfinancial Liabilities, Fair Value Disclosure 0 0
Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash and Cash Equivalents, Fair Value Disclosure [2]   0
Available-for-sale Securities [2] 20,530 [1] 29,605
Convertible Debt, Fair Value Disclosures [2]   0
Derivative Asset 15,496 776 [2]
Assets, Fair Value Disclosure [2] 36,026 30,381
Derivative Liability [2] 1,445 1,130
Financial and Nonfinancial Liabilities, Fair Value Disclosure [2] 1,445 1,130
Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash and Cash Equivalents, Fair Value Disclosure [3]   0
Available-for-sale Securities [3] 0 [1] 0
Convertible Debt, Fair Value Disclosures [3]   2,000
Derivative Asset [3] 0 0
Assets, Fair Value Disclosure [3] 0 2,000
Derivative Liability 0 0 [3]
Financial and Nonfinancial Liabilities, Fair Value Disclosure $ 0 $ 0 [3]
[1]
As of September 28, 2019, the Company’s investments had maturity dates ranging from October 2019 to March 2021.
[2]
Level 2 fair value estimates are based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.
[3]
Level 3 fair value estimates are based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability. The fair values are therefore determined using model-based techniques, including option pricing and discounted cash flow models. Unobservable inputs used in the models are significant to the fair values of the assets and liabilities.
XML 45 irbt-201992810q_htm.xml IDEA: XBRL DOCUMENT 0001159167 2018-12-30 2019-09-28 0001159167 2019-10-26 0001159167 2019-09-28 0001159167 2018-12-29 0001159167 2019-06-30 2019-09-28 0001159167 2018-07-01 2018-09-29 0001159167 2017-12-31 2018-09-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-12-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-12-30 2019-09-28 0001159167 us-gaap:CommonStockMember 2018-12-30 2019-09-28 0001159167 us-gaap:RetainedEarningsMember 2018-12-29 0001159167 us-gaap:RetainedEarningsMember 2018-12-30 2019-09-28 0001159167 us-gaap:CommonStockMember 2019-09-28 0001159167 us-gaap:RetainedEarningsMember 2019-09-28 0001159167 us-gaap:CommonStockMember 2018-12-29 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-29 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-30 2019-09-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-09-28 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-09-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-09-29 0001159167 us-gaap:CommonStockMember 2018-07-01 2018-09-29 0001159167 2018-09-29 0001159167 us-gaap:RetainedEarningsMember 2018-07-01 2018-09-29 0001159167 2018-06-30 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-07-01 2018-09-29 0001159167 us-gaap:RetainedEarningsMember 2018-06-30 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-07-01 2018-09-29 0001159167 us-gaap:CommonStockMember 2018-09-29 0001159167 us-gaap:CommonStockMember 2018-06-30 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-06-30 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-06-30 0001159167 us-gaap:RetainedEarningsMember 2018-09-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-09-29 0001159167 us-gaap:CommonStockMember 2017-12-31 2018-09-29 0001159167 us-gaap:CommonStockMember 2017-12-30 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2017-12-31 2018-09-29 0001159167 us-gaap:RetainedEarningsMember 2017-12-31 2018-09-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2017-12-31 2018-09-29 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2017-12-30 0001159167 us-gaap:RetainedEarningsMember 2017-12-30 0001159167 2017-12-30 0001159167 us-gaap:AdditionalPaidInCapitalMember 2017-12-30 0001159167 us-gaap:RetainedEarningsMember 2019-06-29 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-06-30 2019-09-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-06-29 0001159167 us-gaap:CommonStockMember 2019-06-30 2019-09-28 0001159167 us-gaap:CommonStockMember 2019-06-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-06-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-06-30 2019-09-28 0001159167 us-gaap:RetainedEarningsMember 2019-06-30 2019-09-28 0001159167 2019-06-29 0001159167 2019-10-17 2019-10-17 0001159167 country:US 2017-12-31 2018-09-29 0001159167 us-gaap:EMEAMember 2018-07-01 2018-09-29 0001159167 irbt:AllOtherRegionsMember 2017-12-31 2018-09-29 0001159167 irbt:AllOtherRegionsMember 2019-06-30 2019-09-28 0001159167 country:US 2018-07-01 2018-09-29 0001159167 us-gaap:EMEAMember 2019-06-30 2019-09-28 0001159167 country:US 2019-06-30 2019-09-28 0001159167 country:US 2018-12-30 2019-09-28 0001159167 us-gaap:EMEAMember 2017-12-31 2018-09-29 0001159167 us-gaap:EMEAMember 2018-12-30 2019-09-28 0001159167 irbt:AllOtherRegionsMember 2018-12-30 2019-09-28 0001159167 irbt:AllOtherRegionsMember 2018-07-01 2018-09-29 0001159167 2018-12-30 0001159167 us-gaap:NoncompeteAgreementsMember 2019-09-28 0001159167 us-gaap:TradeNamesMember 2018-12-29 0001159167 us-gaap:CustomerRelatedIntangibleAssetsMember 2019-09-28 0001159167 us-gaap:PatentedTechnologyMember 2018-12-29 0001159167 us-gaap:DistributionRightsMember 2019-09-28 0001159167 us-gaap:CustomerRelatedIntangibleAssetsMember 2018-12-29 0001159167 us-gaap:NoncompeteAgreementsMember 2018-12-29 0001159167 us-gaap:PatentedTechnologyMember 2019-09-28 0001159167 us-gaap:TradeNamesMember 2019-09-28 0001159167 us-gaap:DistributionRightsMember 2018-12-29 0001159167 us-gaap:CostOfSalesMember 2019-09-28 0001159167 us-gaap:OperatingExpenseMember 2019-09-28 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2018-07-01 2018-09-29 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2019-06-30 2019-09-28 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2018-12-30 2019-09-28 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2017-12-31 2018-09-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesRevenueNetMember 2017-12-31 2018-09-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:CostOfSalesMember 2018-12-30 2019-09-28 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:CostOfSalesMember 2017-12-31 2018-09-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesRevenueNetMember 2018-12-30 2019-09-28 0001159167 us-gaap:OtherNoncurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-09-28 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2019-09-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2018-12-29 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember 2019-09-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember 2018-12-29 0001159167 us-gaap:OtherNoncurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2018-12-29 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2018-12-29 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-09-28 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-09-28 0001159167 us-gaap:OtherNoncurrentLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-09-28 0001159167 us-gaap:OtherNoncurrentLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2018-12-29 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2018-12-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesRevenueNetMember 2018-07-01 2018-09-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesRevenueNetMember 2019-06-30 2019-09-28 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:CostOfSalesMember 2018-07-01 2018-09-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:CostOfSalesMember 2019-06-30 2019-09-28 0001159167 us-gaap:NondesignatedMember 2019-09-28 0001159167 us-gaap:NondesignatedMember 2018-12-29 0001159167 us-gaap:DesignatedAsHedgingInstrumentMember 2019-09-28 0001159167 us-gaap:DesignatedAsHedgingInstrumentMember 2018-12-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2018-07-01 2018-09-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2017-12-31 2018-09-29 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2018-12-30 2019-09-28 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2019-06-30 2019-09-28 0001159167 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2018-12-29 0001159167 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2018-12-29 0001159167 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2018-12-29 0001159167 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-09-28 0001159167 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-09-28 0001159167 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-09-28 0001159167 2018-02-27 0001159167 2017-12-31 2018-12-29 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2019-06-30 2019-09-28 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2018-12-30 2019-09-28 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2018-07-01 2018-09-29 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2017-12-31 2018-09-29 pure irbt:segment shares iso4217:USD shares iso4217:USD false --12-28 Q3 2019 0001159167 30035000 20516000 0.01 0.01 100000000 100000000 27788000 28245000 27788000 28245000 5000000 5000000 10-Q true 2019-09-28 false 001-36414 iROBOT CORPORATION DE 77-0259335 8 Crosby Drive Bedford MA 01730 781 430-3000 Common Stock, $0.01 par value IRBT NASDAQ Yes Yes Large Accelerated Filer false false false 28270544 70542000 130373000 20530000 31605000 169562000 162166000 248303000 164633000 39112000 25660000 548049000 514437000 75019000 57026000 48948000 0 37177000 36979000 117537000 118896000 14931000 24273000 32003000 15350000 873664000 766961000 108331000 136742000 70586000 71259000 4902000 5756000 183819000 213757000 56341000 0 1560000 4005000 9059000 13877000 66960000 17882000 250779000 231639000 0 0 282000 278000 189268000 172771000 432280000 367021000 1055000 -4748000 622885000 535322000 873664000 766961000 289399000 264534000 787232000 707919000 149463000 124754000 403392000 324967000 3095000 4574000 9283000 14035000 152558000 129328000 412675000 339002000 136841000 135206000 374557000 368917000 33401000 35309000 104320000 103178000 42257000 39030000 137502000 116269000 18372000 23329000 61871000 72630000 256000 263000 796000 805000 94286000 97931000 304489000 292882000 42555000 37275000 70068000 76035000 900000 337000 3713000 2363000 43455000 37612000 73781000 78398000 7923000 5683000 8522000 15597000 35532000 31929000 65259000 62801000 1.26 1.16 2.33 2.27 1.24 1.12 2.27 2.19 28154000 27493000 28029000 27692000 28650000 28506000 28759000 28629000 35532000 31929000 65259000 62801000 -4902000 1826000 -5578000 -3960000 8175000 272000 11437000 40000 138000 412000 300000 -9000 36000 -28000 244000 -113000 38703000 33587000 71062000 58777000 28123000 281000 184663000 396748000 -2116000 579576000 9000 0 301000 301000 113000 1000 -1000 0 4284000 4284000 3171000 3171000 21000 21000 35532000 35532000 28245000 282000 189268000 432280000 1055000 622885000 27788000 278000 172771000 367021000 -4748000 535322000 125000 1000 4980000 4981000 391000 4000 -4000 0 18742000 18742000 -59000 -1000 -7276000 -7277000 5803000 5803000 55000 55000 65259000 65259000 28245000 282000 189268000 432280000 1055000 622885000 27402000 274000 151556000 309901000 -3690000 458041000 149000 2000 5340000 5342000 120000 1000 -1000 0 6592000 6592000 1658000 1658000 16000 16000 31929000 31929000 27671000 277000 163503000 341830000 -2032000 503578000 27945000 279000 190067000 277989000 1992000 470327000 216000 3000 7945000 7948000 360000 4000 -4000 0 18969000 18969000 -51000 -1000 -3531000 -3532000 -4024000 -4024000 49000 49000 799000 8000 49992000 50000000 1040000 1040000 62801000 62801000 27671000 277000 163503000 341830000 -2032000 503578000 65259000 62801000 27744000 27000000 18742000 18969000 5873000 4296000 -4687000 -1032000 10948000 -31930000 83863000 54619000 8155000 18418000 -27256000 -10512000 -11916000 -13594000 -31579000 40293000 27080000 25284000 5336000 2263000 0 856000 2817000 0 0 6438000 9380000 10500000 -25853000 -22629000 4981000 7948000 7277000 3532000 0 50000000 -2296000 -45584000 -103000 -593000 -59831000 -28513000 130373000 128635000 70542000 100122000 Description of Business<div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">iRobot Corporation ("iRobot" or the "Company") designs and builds robots that empower people to do more. The Company develops robotic technology and applies it to produce and market consumer robots. The Company’s revenue is primarily generated from product sales through distributor and retail sales channels, as well as its on-line stores.</span></div> Summary of Significant Accounting Policies<div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Basis of Presentation</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The accompanying consolidated financial statements include those of iRobot and its subsidiaries, after elimination of all intercompany balances and transactions. iRobot has prepared the accompanying unaudited consolidated financial statements in conformity with accounting principles generally accepted in the United States of America ("GAAP"). In addition, certain prior year amounts have been reclassified to conform to the current year presentation. </span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In the opinion of management, all adjustments necessary to the unaudited interim consolidated financial statements have been made to state fairly the Company's financial position. Interim results are not necessarily indicative of results for the full fiscal year or any future periods. The information included in this Form 10-Q should be read in conjunction with the Company's audited consolidated financial statements and notes thereto included in its Annual Report on Form 10-K for the fiscal year ended </span><span style="font-family:inherit;font-size:10pt;">December 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, filed with the Securities and Exchange Commission on February 14, 2019.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company operates and reports using a 52-53 week fiscal year ending on the Saturday closest to December 31. Accordingly, the Company’s fiscal quarters end on the Saturday that falls closest to the last day of the third month of each quarter.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Use of Estimates</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The preparation of these financial statements in conformity with GAAP requires the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition, including performance obligations, variable consideration and other obligations such as product returns and incentives; warranty costs; valuation of goodwill and acquired intangible assets; valuation of financial instruments; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. The Company bases these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that the Company believes are reasonable under the circumstances. Actual results may differ from the Company’s estimates.</span></div><div style="line-height:120%;padding-top:6px;text-indent:16px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Other Assets</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company holds non-marketable equity securities as part of its strategic investments portfolio. The Company classifies the majority of these securities as equity securities without readily determinable fair values and measures these investments at cost, less any impairment, adjusted for observable price changes. At September 28, 2019 and </span><span style="font-family:inherit;font-size:10pt;">December 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, other assets consisted primarily of equity securities without readily determinable fair values and an equity method investment totaling </span><span style="font-family:inherit;font-size:10pt;"><span>$22.4 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$15.1 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively. On October 17, 2019, the Company disposed of one of these non-marketable equity securities, resulting in a gain of approximately </span><span style="font-family:inherit;font-size:10pt;"><span>$8.0 million</span></span><span style="font-family:inherit;font-size:10pt;"> which will be recorded as other income during the fourth quarter of fiscal 2019.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Net Income Per Share</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Basic income per share is calculated using the Company's weighted-average outstanding common shares. Diluted income</span></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">per share is calculated using the Company's weighted-average outstanding common shares including the dilutive effect of stock</span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">awards as determined under the treasury stock method. </span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table presents the calculation of both basic and diluted net income per share (in thousands, except per share amounts):</span><span style="font-family:inherit;font-size:9pt;"> </span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:47%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Net income</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>35,532</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>31,929</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>65,259</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>62,801</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Basic weighted-average common shares outstanding</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,154</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>27,493</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,029</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>27,692</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Dilutive effect of employee stock awards</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>496</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,013</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>730</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>937</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Diluted weighted-average common shares outstanding</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,650</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,506</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,759</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,629</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Basic income per share</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.26</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.16</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2.33</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2.27</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Diluted income per share</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.24</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.12</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2.27</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2.19</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Employee stock awards representing approximately </span><span style="font-family:inherit;font-size:10pt;"><span>0.4 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>0.0 million</span></span><span style="font-family:inherit;font-size:10pt;"> shares of common stock for the three months ended September 28, 2019 and </span><span style="font-family:inherit;font-size:10pt;">September 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, respectively, and approximately </span><span style="font-family:inherit;font-size:10pt;"><span>0.1 million</span></span><span style="font-family:inherit;font-size:10pt;"> shares of common stock for the nine months ended September 28, 2019 and </span><span style="font-family:inherit;font-size:10pt;">September 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, were excluded from the computation of diluted earnings per share as their effect would have been antidilutive. </span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Recently Adopted Accounting Standards</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In June 2018, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2018-07, "Compensation - Stock Compensation: Improvements to Nonemployee Share-Based Payment Accounting (Topic 718)." The amendments in ASU No. 2018-07 expand the scope of Topic 718 to include share-based payments issued to nonemployees for goods or services. The amendments in this ASU are effective for annual periods beginning after December 15, 2018 and interim periods within those annual periods, with early adoption permitted. The Company adopted this standard effective December 30, 2018 which did not have a material impact on the Company's consolidated financial statements and related disclosures.</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:11pt;"><span style="font-family:inherit;font-size:10pt;">In February 2016, the FASB issued ASU No. 2016-02 "Leases." This ASU and subsequently issued amendments require lessees to recognize the assets and liabilities on their balance sheet for the rights and obligations created by most leases and continue to recognize expenses on their income statements over the lease term. The standard also requires disclosures designed to give financial statement users information on the amount, timing and uncertainty of cash flows arising from leases. In July 2018, the FASB issued ASU No. 2018-11, "Leases (Topic 842): Targeted Improvements," which provides an alternative transition method that entities can elect when adopting the new standard. Under this alternative transition method, a company is permitted to use its effective date as the date of initial application without restating comparative period financial statements. The Company adopted the standard effective December 30, 2018 using the alternative transition method which resulted in the recognition of operating lease right-of-use assets and operating lease liabilities of approximately $52.8 million and $67.3 million, respectively. The Company's consolidated financial statements as of and for the three and nine months ended September 28, 2019 are presented under the new standard, while the comparative quarter presented is not adjusted and continues to be reported in accordance with the historical accounting policy. See Note 4, "Leases," for the required disclosures related to the impact of adopting this standard and a discussion of the Company's updated policies related to lease accounting.</span><span style="font-family:inherit;font-size:11pt;"> </span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Recently Issued Accounting Standards</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In August 2018, the FASB issued ASU No. 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software." The new standard aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. Implementation should be applied either retrospectively or prospectively to all implementation costs incurred after the date of adoption. The Company intends to adopt the ASU using the prospective method effective December 29, 2019, and does not expect the new standard will have a material impact on its consolidated financial statements. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In August 2018, the FASB issued ASU No. 2018-13, "Fair Value Measurement: Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement." The amendment modifies disclosure requirements related to fair value measurement. The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2019. Implementation on a prospective or retrospective basis varies by specific disclosure requirement. Early adoption is permitted. The standard also allows for early adoption of any removed or modified disclosures upon issuance of this ASU while delaying adoption of the additional disclosures until their effective date. The Company does not believe this amendment will have a material impact on its consolidated financial statements.</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In June 2016, the FASB issued ASU No. 2016-13, "Measurement of Credit Losses on Financial Instruments," as clarified in ASU No. 2019-04 and ASU No. 2019-05. The guidance amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments. This may result in the earlier recognition of allowances for losses. The guidance is effective for fiscal years beginning after December 15, 2019, including interim periods within those fiscal years, with early adoption permitted. The Company intends to adopt the ASU effective December 29, 2019. The Company does not believe the new standard will have a material impact on its consolidated financial statements. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">From time to time, new accounting pronouncements are issued by FASB that are adopted by the Company as of the specified effective date. Unless otherwise discussed, the Company believes that recently issued standards, which are not yet effective, will not have a material impact on the Company’s consolidated financial statements upon adoption.</span></div> <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Basis of Presentation</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The accompanying consolidated financial statements include those of iRobot and its subsidiaries, after elimination of all intercompany balances and transactions. iRobot has prepared the accompanying unaudited consolidated financial statements in conformity with accounting principles generally accepted in the United States of America ("GAAP"). In addition, certain prior year amounts have been reclassified to conform to the current year presentation. </span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In the opinion of management, all adjustments necessary to the unaudited interim consolidated financial statements have been made to state fairly the Company's financial position. Interim results are not necessarily indicative of results for the full fiscal year or any future periods. The information included in this Form 10-Q should be read in conjunction with the Company's audited consolidated financial statements and notes thereto included in its Annual Report on Form 10-K for the fiscal year ended </span><span style="font-family:inherit;font-size:10pt;">December 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, filed with the Securities and Exchange Commission on February 14, 2019.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company operates and reports using a 52-53 week fiscal year ending on the Saturday closest to December 31. Accordingly, the Company’s fiscal quarters end on the Saturday that falls closest to the last day of the third month of each quarter.</span></div> <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Use of Estimates</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The preparation of these financial statements in conformity with GAAP requires the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition, including performance obligations, variable consideration and other obligations such as product returns and incentives; warranty costs; valuation of goodwill and acquired intangible assets; valuation of financial instruments; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. The Company bases these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that the Company believes are reasonable under the circumstances. Actual results may differ from the Company’s estimates.</span></div> <div style="line-height:120%;padding-top:6px;text-indent:16px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Other Assets</span></div><span style="font-family:inherit;font-size:10pt;">The Company holds non-marketable equity securities as part of its strategic investments portfolio. The Company classifies the majority of these securities as equity securities without readily determinable fair values and measures these investments at cost, less any impairment, adjusted for observable price changes. At September 28, 2019 and </span><span style="font-family:inherit;font-size:10pt;">December 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, other assets consisted primarily of equity securities without readily determinable fair values and an equity method investment totaling </span><span style="font-family:inherit;font-size:10pt;"><span>$22.4 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$15.1 million</span></span>, respectively. 22400000 15100000 On October 17, 2019, the Company disposed of one of these non-marketable equity securities, resulting in a gain of approximately <span style="font-family:inherit;font-size:10pt;"><span>$8.0 million</span></span><span style="font-family:inherit;font-size:10pt;"> which will be recorded as other income during the fourth quarter of fiscal 2019.</span> 8000000.0 <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Net Income Per Share</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Basic income per share is calculated using the Company's weighted-average outstanding common shares. Diluted income</span></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">per share is calculated using the Company's weighted-average outstanding common shares including the dilutive effect of stock</span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">awards as determined under the treasury stock method. </span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table presents the calculation of both basic and diluted net income per share (in thousands, except per share amounts):</span><span style="font-family:inherit;font-size:9pt;"> </span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:47%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Net income</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>35,532</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>31,929</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>65,259</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>62,801</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Basic weighted-average common shares outstanding</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,154</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>27,493</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,029</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>27,692</span></span></div></td><td style="vertical-align:bottom;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Dilutive effect of employee stock awards</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>496</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,013</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>730</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>937</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Diluted weighted-average common shares outstanding</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,650</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,506</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,759</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,629</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Basic income per share</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.26</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.16</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2.33</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2.27</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Diluted income per share</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.24</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1.12</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2.27</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2.19</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><span style="font-family:inherit;font-size:10pt;">Employee stock awards representing approximately </span><span style="font-family:inherit;font-size:10pt;"><span>0.4 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>0.0 million</span></span><span style="font-family:inherit;font-size:10pt;"> shares of common stock for the three months ended September 28, 2019 and </span><span style="font-family:inherit;font-size:10pt;">September 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, respectively, and approximately </span><span style="font-family:inherit;font-size:10pt;"><span>0.1 million</span></span><span style="font-family:inherit;font-size:10pt;"> shares of common stock for the nine months ended September 28, 2019 and </span><span style="font-family:inherit;font-size:10pt;">September 29, 2018</span>, were excluded from the computation of diluted earnings per share as their effect would have been antidilutive. 35532000 31929000 65259000 62801000 28154000 27493000 28029000 27692000 496000 1013000 730000 937000 28650000 28506000 28759000 28629000 1.26 1.16 2.33 2.27 1.24 1.12 2.27 2.19 400000 0.0 100000 <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Recently Adopted Accounting Standards</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In June 2018, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2018-07, "Compensation - Stock Compensation: Improvements to Nonemployee Share-Based Payment Accounting (Topic 718)." The amendments in ASU No. 2018-07 expand the scope of Topic 718 to include share-based payments issued to nonemployees for goods or services. The amendments in this ASU are effective for annual periods beginning after December 15, 2018 and interim periods within those annual periods, with early adoption permitted. The Company adopted this standard effective December 30, 2018 which did not have a material impact on the Company's consolidated financial statements and related disclosures.</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:11pt;"><span style="font-family:inherit;font-size:10pt;">In February 2016, the FASB issued ASU No. 2016-02 "Leases." This ASU and subsequently issued amendments require lessees to recognize the assets and liabilities on their balance sheet for the rights and obligations created by most leases and continue to recognize expenses on their income statements over the lease term. The standard also requires disclosures designed to give financial statement users information on the amount, timing and uncertainty of cash flows arising from leases. In July 2018, the FASB issued ASU No. 2018-11, "Leases (Topic 842): Targeted Improvements," which provides an alternative transition method that entities can elect when adopting the new standard. Under this alternative transition method, a company is permitted to use its effective date as the date of initial application without restating comparative period financial statements. The Company adopted the standard effective December 30, 2018 using the alternative transition method which resulted in the recognition of operating lease right-of-use assets and operating lease liabilities of approximately $52.8 million and $67.3 million, respectively. The Company's consolidated financial statements as of and for the three and nine months ended September 28, 2019 are presented under the new standard, while the comparative quarter presented is not adjusted and continues to be reported in accordance with the historical accounting policy. See Note 4, "Leases," for the required disclosures related to the impact of adopting this standard and a discussion of the Company's updated policies related to lease accounting.</span><span style="font-family:inherit;font-size:11pt;"> </span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Recently Issued Accounting Standards</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In August 2018, the FASB issued ASU No. 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software." The new standard aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. Implementation should be applied either retrospectively or prospectively to all implementation costs incurred after the date of adoption. The Company intends to adopt the ASU using the prospective method effective December 29, 2019, and does not expect the new standard will have a material impact on its consolidated financial statements. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In August 2018, the FASB issued ASU No. 2018-13, "Fair Value Measurement: Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement." The amendment modifies disclosure requirements related to fair value measurement. The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2019. Implementation on a prospective or retrospective basis varies by specific disclosure requirement. Early adoption is permitted. The standard also allows for early adoption of any removed or modified disclosures upon issuance of this ASU while delaying adoption of the additional disclosures until their effective date. The Company does not believe this amendment will have a material impact on its consolidated financial statements.</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In June 2016, the FASB issued ASU No. 2016-13, "Measurement of Credit Losses on Financial Instruments," as clarified in ASU No. 2019-04 and ASU No. 2019-05. The guidance amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments. This may result in the earlier recognition of allowances for losses. The guidance is effective for fiscal years beginning after December 15, 2019, including interim periods within those fiscal years, with early adoption permitted. The Company intends to adopt the ASU effective December 29, 2019. The Company does not believe the new standard will have a material impact on its consolidated financial statements. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">From time to time, new accounting pronouncements are issued by FASB that are adopted by the Company as of the specified effective date. Unless otherwise discussed, the Company believes that recently issued standards, which are not yet effective, will not have a material impact on the Company’s consolidated financial statements upon adoption.</span></div> Revenue Recognition<div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company primarily derives its revenue from product sales. The Company sells products directly to consumers through on-line stores and indirectly through resellers and distributors. Revenue is recognized upon transfer of control of promised products or services to customers, generally as title and risk of loss passes, in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. Taxes collected from customers, which are subsequently remitted to governmental authorities, are excluded from revenue. Shipping and handling expenses are considered fulfillment activities and are expensed as incurred. </span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company’s product portfolio includes various consumer robots, many of which are Wi-Fi connected. The consumer robots are generally highly dependent on, and interrelated with, the embedded software and cannot function without the software. As such, the consumer robots are accounted for as a single performance obligation, and the revenue is recognized at a point in time when the control is transferred to distributors, resellers or directly to end customers through on-line stores. For consumer robots with Wi-Fi capability ("connected robots"), each sale represents an arrangement with multiple promises consisting of the robot, an app, cloud services and potential future unspecified software upgrades. The Company has determined that the app, cloud services and potential future unspecified software upgrades represent one promised service to the customer to enhance the functionality and interaction with the robot (referred to collectively as "Cloud Services"). For certain connected robots, the Company has concluded that, on a quantitative and qualitative basis, the Cloud Services do not constitute a material performance obligation and, as such, these services are not considered a separate performance obligation that requires allocation of transaction price.</span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">During the third quarter of 2018, the Company launched Roomba i7 and i7+ which brought a new level of intelligence and automation to robotic vacuum cleaners with the ability to learn, map and adapt to a home's floor plan. The Company has concluded that beginning with this launch, the Cloud Services related to these new products are a material performance obligation. For contracts that contain multiple performance obligations, the transaction price is allocated to each performance obligation based on a relative standalone selling price ("SSP"). The SSP reflects the Company's best estimate of what the selling prices of performance obligations would be if they were sold regularly on a standalone basis. Revenue allocated to the robots is recognized at a point in time when control is transferred. Revenue allocated to the Cloud Services is deferred and recognized on a straight-line basis over the estimated period the software upgrades and services are expected to be provided. For contracts with a duration of greater than one year, the transaction price allocated to performance obligations that are unsatisfied as of </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> is not material. The Company does not disclose the value of unsatisfied performance obligations for contracts with an original expected duration of one year or less.</span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company’s products generally carry a one-year limited warranty that promises customers that delivered products are as specified. The Company does not consider these assurance-type warranties as a separate performance obligation and therefore, the Company accounts for such warranties under ASC 460, "Guarantees."</span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Significant Judgments</span></div><div style="line-height:120%;padding-bottom:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company provides limited rights of returns for direct-to-consumer sales generated through its on-line stores and certain resellers and distributors. In addition, the Company may provide other credits or incentives, including price protection, which are accounted for as variable consideration when estimating the amount of revenue to recognize. Where appropriate, these estimates take into consideration relevant factors such as the Company’s historical experience, current contractual requirements, specific known market events and trends and forecasted customer buying and payment patterns. Overall, these reserves reflect the Company’s best estimates, and the actual amounts of consideration ultimately received may differ from the Company’s estimates. Returns and credits are estimated at contract inception and updated at the end of each reporting period as additional information becomes available and only to the extent that it is probable that a significant reversal of any incremental revenue will not occur. As of </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company has reserves for product returns of </span><span style="font-family:inherit;font-size:10pt;"><span>$41.7 million</span></span><span style="font-family:inherit;font-size:10pt;"> and other credits and incentives of </span><span style="font-family:inherit;font-size:10pt;"><span>$78.6 million</span></span><span style="font-family:inherit;font-size:10pt;">. As of </span><span style="font-family:inherit;font-size:10pt;">December 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, the Company had reserves for product returns of </span><span style="font-family:inherit;font-size:10pt;"><span>$53.9 million</span></span><span style="font-family:inherit;font-size:10pt;"> and other credits and incentives of </span><span style="font-family:inherit;font-size:10pt;"><span>$97.7 million</span></span><span style="font-family:inherit;font-size:10pt;">. Revenue recognized during the three and nine months </span></div><div style="line-height:120%;padding-bottom:6px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">ended </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">September 29, 2018</span><span style="font-family:inherit;font-size:10pt;"> related to performance obligations satisfied in a prior period was not material. </span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Disaggregation of Revenue</span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides information about disaggregated revenue by geographical region (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:49%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">United States</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>117,929</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>127,240</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>356,466</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>345,628</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">EMEA</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>93,688</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>73,831</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>251,150</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>213,541</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>77,782</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>63,463</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>179,616</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>148,750</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total revenue</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>289,399</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>264,534</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>787,232</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>707,919</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-bottom:6px;padding-top:8px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Contract Balances </span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides information about receivables and contract liabilities from contracts with customers (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:63%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accounts receivable, net</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>169,562</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>162,166</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Contract liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,412</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,756</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company invoices customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract liabilities primarily relate to prepayments received from customers in advance of product shipments. The change in the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and the customer’s payment. During the three months ended </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">September 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, the Company recognized </span><span style="font-family:inherit;font-size:10pt;"><span>$1.7 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$2.2 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively, of the contract liability balance as revenue upon transfer of the products to customers. During the nine months ended </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">September 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, the Company recognized </span><span style="font-family:inherit;font-size:10pt;"><span>$5.8 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$6.7 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively, of the contract liability balance as revenue upon transfer of the products to customers. The Company does not assess whether a prepayment received represents a significant financing component as the period between when the payment is received and the transfer of the products to the customer is generally one year or less.</span></div> 41700000 78600000 53900000 97700000 <div style="line-height:120%;padding-bottom:6px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Disaggregation of Revenue</span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides information about disaggregated revenue by geographical region (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:49%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">United States</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>117,929</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>127,240</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>356,466</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>345,628</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">EMEA</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>93,688</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>73,831</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>251,150</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>213,541</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>77,782</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>63,463</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>179,616</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>148,750</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total revenue</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>289,399</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>264,534</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>787,232</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>707,919</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 117929000 127240000 356466000 345628000 93688000 73831000 251150000 213541000 77782000 63463000 179616000 148750000 289399000 264534000 787232000 707919000 <div style="line-height:120%;padding-bottom:6px;padding-top:8px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Contract Balances </span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides information about receivables and contract liabilities from contracts with customers (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:63%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accounts receivable, net</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>169,562</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>162,166</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Contract liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,412</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,756</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company invoices customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract liabilities primarily relate to prepayments received from customers in advance of product shipments. The change in the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and the customer’s payment. During the three months ended </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">September 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, the Company recognized </span><span style="font-family:inherit;font-size:10pt;"><span>$1.7 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$2.2 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively, of the contract liability balance as revenue upon transfer of the products to customers. During the nine months ended </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">September 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, the Company recognized </span><span style="font-family:inherit;font-size:10pt;"><span>$5.8 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$6.7 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively, of the contract liability balance as revenue upon transfer of the products to customers. The Company does not assess whether a prepayment received represents a significant financing component as the period between when the payment is received and the transfer of the products to the customer is generally one year or less.</span></div> 169562000 162166000 6412000 5756000 1700000 2200000 5800000 6700000 Leases<div style="line-height:120%;padding-bottom:4px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company's leasing arrangements primarily consist of operating leases for its facilities which include corporate, sales and research and development offices. For leases with terms greater than 12 months, the Company records the related right-of-use asset and lease obligation at the present value of lease payments over the term. The Company's leases typically include rental escalation clauses, renewal options and/or termination options that are factored into the determination of lease payments when appropriate. The Company does not separate lease and nonlease components of contracts and excludes all variable lease payments from the measurement of right-of-use assets and lease liabilities. The Company's variable lease payments generally include usage based nonlease components. The Company's lease agreements do not contain any residual value guarantees or restrictive covenants. Leases with an initial term of 12 months or less are not recorded on the balance sheet; lease expense is recognized on a straight-line basis over the lease term. </span></div><div style="line-height:120%;padding-bottom:4px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company's existing leases do not provide a readily determinable implicit rate. Therefore, the Company estimates its incremental borrowing rate to discount the lease payments based on information available at December 30, 2018 (date of initial application) or the lease commencement date for existing leases upon adoption or new leases post adoption, respectively. At </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company's weighted average discount rate was </span><span style="font-family:inherit;font-size:10pt;"><span>3.61%</span></span><span style="font-family:inherit;font-size:10pt;">, while the weighted average remaining lease term was </span><span style="font-family:inherit;font-size:10pt;"><span>9.40</span></span><span style="font-family:inherit;font-size:10pt;"> years.</span></div><div style="line-height:120%;padding-bottom:4px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The components of lease expense were as follows (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:67%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating lease cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,250</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,539</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Variable lease cost</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>828</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,965</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total lease cost</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,078</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>9,504</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-bottom:6px;padding-top:16px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Supplemental cash flow information related to leases was as follows (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:67%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Cash paid for amounts included in the measurement of lease liabilities:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating cash flows from operating leases</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,566</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,447</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Right-of-use assets obtained in exchange for lease obligations:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating leases</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>460</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>53,227</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-bottom:6px;padding-top:16px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Maturities of operating lease liabilities were as follows as of </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:81%;"/><td style="width:1%;"/><td style="width:17%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Operating leases</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Remainder of 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,774</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2020</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,798</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2021</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,232</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2022</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,560</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2023</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,109</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Thereafter</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>41,128</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total minimum lease payments</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>74,601</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Less: imputed interest</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,953</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Present value of future minimum lease payments</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>62,648</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Less: current portion of operating lease liabilities (Note 7)</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,307</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Long-term lease liabilities</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>56,341</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Financial Statement Impact of Adopting ASC 842</span></div><div style="line-height:120%;padding-top:8px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company adopted ASC 842 effective December 30, 2018 using the alternative transition method. Under this alternative transition method, a company is permitted to use its effective date as the date of initial application without restating comparative period financial statements. The Company elected the package of practical expedients permitted under the transition guidance, which allowed the Company to carryforward its historical assessments of (1) whether contracts are or contain leases, (2) lease classification and (3) initial direct costs. In addition, the Company elected the practical expedient to use hindsight in determining lease term. The adoption of the new standard resulted in the recognition of right-of-use assets and lease liabilities of approximately </span><span style="font-family:inherit;font-size:10pt;"><span>$52.8 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$67.3 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively. The standard did not materially impact the Company's consolidated income or cash flows.</span></div> 0.0361 P9Y4M24D <div style="line-height:120%;padding-bottom:4px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The components of lease expense were as follows (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:67%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating lease cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,250</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,539</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Variable lease cost</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>828</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,965</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total lease cost</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,078</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>9,504</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 2250000 6539000 828000 2965000 3078000 9504000 <div style="line-height:120%;padding-bottom:6px;padding-top:16px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Supplemental cash flow information related to leases was as follows (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:67%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Cash paid for amounts included in the measurement of lease liabilities:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating cash flows from operating leases</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,566</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,447</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Right-of-use assets obtained in exchange for lease obligations:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating leases</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>460</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>53,227</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 2566000 7447000 460000 53227000 <div style="line-height:120%;padding-bottom:6px;padding-top:16px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Maturities of operating lease liabilities were as follows as of </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:81%;"/><td style="width:1%;"/><td style="width:17%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Operating leases</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Remainder of 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,774</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2020</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,798</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2021</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,232</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2022</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,560</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2023</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,109</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Thereafter</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>41,128</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total minimum lease payments</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>74,601</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Less: imputed interest</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,953</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Present value of future minimum lease payments</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>62,648</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Less: current portion of operating lease liabilities (Note 7)</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,307</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Long-term lease liabilities</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>56,341</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 1774000 8798000 8232000 7560000 7109000 41128000 74601000 11953000 62648000 6307000 56341000 52800000 67300000 Inventory<div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Inventory consists of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:71%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Raw materials</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,801</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,992</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Finished goods</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>245,502</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>161,641</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>248,303</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>164,633</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> Inventory<div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Inventory consists of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:71%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Raw materials</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,801</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,992</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Finished goods</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>245,502</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>161,641</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>248,303</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>164,633</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 2801000 2992000 245502000 161641000 248303000 164633000 Goodwill and Other Intangible Assets<div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table summarizes the activity in the carrying amount of goodwill for the nine months ended </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:84%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of December 29, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>118,896</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Acquisition</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,050</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Effect of foreign currency translation</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(3,409</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of September 28, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>117,537</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Intangible assets consisted of the following (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:left;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"/></tr><tr><td style="width:33%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Net</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Net</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Completed technology</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,100</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>24,320</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,780</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>26,900</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>21,607</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,293</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Tradename</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Customer relationships</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>10,989</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,049</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,940</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,291</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,365</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>9,926</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Reacquired distribution rights</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>31,239</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>29,112</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,127</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>32,499</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>23,598</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,901</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Non-competition agreements</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>251</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>167</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>84</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>263</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>110</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>153</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>70,679</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>55,748</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>14,931</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>71,053</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>46,780</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>24,273</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Amortization expense related to acquired intangible assets was </span><span style="font-family:inherit;font-size:10pt;"><span>$3.4</span></span><span style="font-family:inherit;font-size:10pt;"> million and </span><span style="font-family:inherit;font-size:10pt;"><span>$4.8</span></span><span style="font-family:inherit;font-size:10pt;"> million for the three months ended September 28, 2019 and </span><span style="font-family:inherit;font-size:10pt;">September 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, respectively. Amortization expense related to acquired intangible assets was </span><span style="font-family:inherit;font-size:10pt;"><span>$10.1 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$14.8 million</span></span><span style="font-family:inherit;font-size:10pt;"> for the nine months ended September 28, 2019 and </span><span style="font-family:inherit;font-size:10pt;">September 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, respectively. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The estimated future amortization expense related to current intangible assets in each of the five succeeding fiscal years is expected to be as follows (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:38%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Cost of Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Operating Expenses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Total</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Remainder of 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,411</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>231</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,642</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2020</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,140</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>990</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,130</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2021</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,140</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>774</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,914</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2022</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>915</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>774</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,689</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2023</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>240</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>774</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,014</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Thereafter</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>61</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,481</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,542</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,907</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>9,024</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>14,931</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> <div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table summarizes the activity in the carrying amount of goodwill for the nine months ended </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:84%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of December 29, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>118,896</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Acquisition</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,050</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Effect of foreign currency translation</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(3,409</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of September 28, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>117,537</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 118896000 2050000 -3409000 117537000 <div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Intangible assets consisted of the following (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:left;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"/></tr><tr><td style="width:33%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Net</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Net</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Completed technology</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,100</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>24,320</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,780</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>26,900</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>21,607</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,293</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Tradename</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>100</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Customer relationships</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>10,989</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,049</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,940</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,291</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,365</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>9,926</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Reacquired distribution rights</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>31,239</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>29,112</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,127</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>32,499</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>23,598</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,901</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Non-competition agreements</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>251</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>167</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>84</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>263</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>110</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>153</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>70,679</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>55,748</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>14,931</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>71,053</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>46,780</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>24,273</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 28100000 24320000 3780000 26900000 21607000 5293000 100000 100000 0 100000 100000 0 10989000 2049000 8940000 11291000 1365000 9926000 31239000 29112000 2127000 32499000 23598000 8901000 251000 167000 84000 263000 110000 153000 70679000 55748000 14931000 71053000 46780000 24273000 3400000 4800000 10100000 14800000 <div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The estimated future amortization expense related to current intangible assets in each of the five succeeding fiscal years is expected to be as follows (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:38%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Cost of Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Operating Expenses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Total</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Remainder of 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,411</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>231</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,642</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2020</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,140</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>990</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,130</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2021</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,140</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>774</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,914</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2022</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>915</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>774</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,689</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">2023</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>240</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>774</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,014</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Thereafter</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>61</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,481</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,542</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,907</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>9,024</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>14,931</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 2411000 231000 2642000 1140000 990000 2130000 1140000 774000 1914000 915000 774000 1689000 240000 774000 1014000 61000 5481000 5542000 5907000 9024000 14931000 Accrued Expenses<div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued expenses consisted of the following at (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:71%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued other compensation</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>14,625</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>10,518</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued warranty</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>12,372</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,964</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued direct fulfillment costs</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,372</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued bonus</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>9,050</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>21,226</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Current portion of operating lease liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,307</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued sales and other indirect taxes payable</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,073</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,397</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued federal and state income taxes</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,146</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,936</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued accounting fees</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,985</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,052</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued other</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,028</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,794</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>70,586</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>71,259</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> <div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:71%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued other compensation</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>14,625</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>10,518</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued warranty</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>12,372</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,964</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued direct fulfillment costs</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>13,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>5,372</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued bonus</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>9,050</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>21,226</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Current portion of operating lease liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,307</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued sales and other indirect taxes payable</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,073</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,397</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued federal and state income taxes</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,146</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,936</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued accounting fees</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,985</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,052</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued other</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,028</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>6,794</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>70,586</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>71,259</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 14625000 10518000 12372000 11964000 13000000 5372000 9050000 21226000 6307000 0 3073000 11397000 3146000 1936000 1985000 2052000 7028000 6794000 70586000 71259000 Derivative Instruments<div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company operates internationally and, in the normal course of business, is exposed to fluctuations in foreign currency exchange rates. The foreign currency exposures typically arise from transactions denominated in currencies other than the functional currency of the Company's operations, primarily the British Pound, Canadian Dollar, Euro and Japanese Yen. The Company uses derivative instruments that are designated in cash flow hedge relationships to reduce or eliminate the effects of foreign exchange rate changes on sales. These contracts typically have maturities of thirty-seven months or less. At </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">December 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, the Company had outstanding cash flow hedges with a total notional value of </span><span style="font-family:inherit;font-size:10pt;"><span>$387.8 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$366.7 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company also enters into economic hedges that are not designated as hedges from an accounting standpoint to reduce or eliminate the effects of foreign exchange rate changes typically related to short term trade receivables and payables. These contracts typically have maturities of ten months or less. At </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">December 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, the Company had outstanding economic hedges with a total notional value of </span><span style="font-family:inherit;font-size:10pt;"><span>$75.9 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$56.0 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively.</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The fair values of derivative instruments are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:18px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="10"/></tr><tr><td style="width:45%;"/><td style="width:23%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Fair Value</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Classification</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 29, 2018</span></div></td></tr><tr><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-weight:bold;">Derivatives not designated as hedging instruments:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other current assets</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,342</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>551</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>727</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-weight:bold;">Derivatives designated as cash flow hedges:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other current assets</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,580</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>53</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other assets</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>9,574</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>172</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>355</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>335</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Long-term liabilities</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>363</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>795</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;padding-left:0px;text-indent:0px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="18"/></tr><tr><td style="width:27%;"/><td style="width:21%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Classification</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Gain (loss) recognized in income</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Other income, net</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>852</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>435</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>200</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>973</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): </span></div><div style="line-height:120%;padding-top:6px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:36%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in OCI on Derivative (1)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>10,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>362</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>15,254</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(198</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:88px;"/><td/></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:64px;"><span style="font-family:inherit;font-size:10pt;">(1)</span></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The amount represents the change in fair value of derivative contracts due to changes in spot rates.</span></div></td></tr></table><div style="line-height:120%;padding-top:12px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:40%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in earnings on cash flow hedging instruments</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Cost of revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Cost of revenue</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Consolidated statements of income in which the effects of cash flow hedging instruments are recorded</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>289,399</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>152,558</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>264,534</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>129,328</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Gain (loss) on cash flow hedging relationships:</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts:</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Amount of gain (loss) reclassified from AOCI into earnings</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>185</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>549</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:12px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:40%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in earnings on cash flow hedging instruments</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Cost of revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Cost of revenue</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Consolidated statements of income in which the effects of cash flow hedging instruments are recorded</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>787,232</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>412,675</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>707,919</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>339,002</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Gain (loss) on cash flow hedging relationships:</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts:</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Amount of gain (loss) reclassified from AOCI into earnings</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>400</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>270</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(386</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 387800000 366700000 75900000 56000000.0 <div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The fair values of derivative instruments are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:18px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="10"/></tr><tr><td style="width:45%;"/><td style="width:23%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Fair Value</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Classification</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 29, 2018</span></div></td></tr><tr><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-weight:bold;">Derivatives not designated as hedging instruments:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other current assets</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,342</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>551</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>727</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-weight:bold;">Derivatives designated as cash flow hedges:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other current assets</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>4,580</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>53</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other assets</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>9,574</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>172</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>355</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>335</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Long-term liabilities</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>363</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>795</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 1342000 551000 727000 0 4580000 53000 9574000 172000 355000 335000 363000 795000 <div style="line-height:120%;padding-top:6px;text-align:left;padding-left:0px;text-indent:0px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="18"/></tr><tr><td style="width:27%;"/><td style="width:21%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Classification</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Gain (loss) recognized in income</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Other income, net</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>852</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>435</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>200</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>973</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): </span></div><div style="line-height:120%;padding-top:6px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:36%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in OCI on Derivative (1)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>10,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>362</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>15,254</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(198</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:88px;"/><td/></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:64px;"><span style="font-family:inherit;font-size:10pt;">(1)</span></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The amount represents the change in fair value of derivative contracts due to changes in spot rates.</span></div></td></tr></table><div style="line-height:120%;padding-top:12px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:40%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in earnings on cash flow hedging instruments</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Cost of revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Cost of revenue</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Consolidated statements of income in which the effects of cash flow hedging instruments are recorded</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>289,399</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>152,558</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>264,534</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>129,328</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Gain (loss) on cash flow hedging relationships:</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts:</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Amount of gain (loss) reclassified from AOCI into earnings</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>185</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>549</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:12px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:40%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in earnings on cash flow hedging instruments</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Cost of revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Cost of revenue</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Consolidated statements of income in which the effects of cash flow hedging instruments are recorded</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>787,232</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>412,675</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>707,919</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>339,002</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Gain (loss) on cash flow hedging relationships:</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts:</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Amount of gain (loss) reclassified from AOCI into earnings</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>400</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>270</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(386</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 852000 435000 200000 973000 <div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): </span></div><div style="line-height:120%;padding-top:6px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:36%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in OCI on Derivative (1)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>10,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>362</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>15,254</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(198</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;padding-left:64px;"><span style="font-family:inherit;font-size:10pt;">(1)</span></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The amount represents the change in fair value of derivative contracts due to changes in spot rates.</span></div> 10905000 362000 15254000 -198000 289399000 152558000 264534000 129328000 185000 0 549000 0 787232000 412675000 707919000 339002000 400000 0 270000 -386000 Fair Value Measurements<div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company’s financial assets and liabilities measured at fair value on a recurring basis were as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:59%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Fair Value Measurements as of<br/>September 28, 2019</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"><br/></span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 1</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 2 (1)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 3 (2)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Assets:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Corporate and government bonds, $20,516 at cost (3)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>20,530</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Derivative instruments (Note 8)</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>15,496</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total assets measured at fair value</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>36,026</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Liabilities:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Derivative instruments (Note 8)</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,445</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total liabilities measured at fair value</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,445</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:59%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Fair Value Measurements as of<br/>December 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 1</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 2 (1)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 3 (2)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Assets:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Money market funds</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,730</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Corporate and government bonds, $30,035 at cost</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>29,605</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Convertible note</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Derivative instruments (Note 8)</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>776</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total assets measured at fair value</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,730</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>30,381</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,000</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Liabilities:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Derivative instruments (Note 8)</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,130</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total liabilities measured at fair value</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>1,130</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:40px;"/><td/></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:16px;"><span style="font-family:inherit;font-size:10pt;">(1)</span></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Level 2 fair value estimates are based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.</span></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:40px;"/><td/></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:16px;"><span style="font-family:inherit;font-size:10pt;">(2)</span></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Level 3 fair value estimates are based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability. The fair values are therefore determined using model-based techniques, including option pricing and discounted cash flow models. Unobservable inputs used in the models are significant to the fair values of the assets and liabilities.</span></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:4px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:40px;"/><td/></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:16px;"><span style="font-family:inherit;font-size:10pt;">(3)</span></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">As of </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company’s investments had maturity dates ranging from October 2019 to March 2021.</span></div></td></tr></table><div style="line-height:120%;padding-top:4px;text-indent:48px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">    </span></div><div style="line-height:120%;padding-top:4px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides a summary of changes in fair value of our Level 3 investment for the nine months ended </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:95.3125%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:81%;"/><td style="width:1%;"/><td style="width:17%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of December 29, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Conversion of convertible note</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(2,000</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of September 28, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 0 20530000 0 0 15496000 0 0 36026000 0 0 1445000 0 0 1445000 0 3730000 0 0 0 29605000 0 0 0 2000000 0 776000 0 3730000 30381000 2000000 0 1130000 0 0 1130000 0 2000000 2000000 0 Stockholders' Equity<div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Share Repurchase Activity</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">On February 27, 2018, the Company's board of directors approved a stock repurchase program authorizing up to </span><span style="font-family:inherit;font-size:10pt;"><span>$50.0</span></span><span style="font-family:inherit;font-size:10pt;"> million in share repurchases. This share repurchase program commenced on March 28, 2018 with an expiration date of December 28, 2018. As of June 30, 2018, the Company completed the repurchase program and repurchased </span><span style="font-family:inherit;font-size:10pt;"><span>798,794</span></span><span style="font-family:inherit;font-size:10pt;"> shares of common stock totaling </span><span style="font-family:inherit;font-size:10pt;"><span>$50.0 million</span></span><span style="font-family:inherit;font-size:10pt;">.</span></div> 50000000.0 798794 50000000.0 Commitments and Contingencies<div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Legal Proceedings</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">From time to time and in the ordinary course of business, the Company is subject to various claims, charges and litigation. The outcome of litigation cannot be predicted with certainty and some lawsuits, claims or proceedings may be disposed of unfavorably to us, which could materially affect our financial condition or results of operations.</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">On October 24, 2019, purported Company shareholder Miramar Firefighters’ Pension Fund filed a putative class action in the U.S. District Court for the Southern District of New York against the Company and certain of its directors and officers, captioned Miramar Firefighters’ Pension Fund v. iRobot Corporation, et al., No. 1:19-cv-09837.  The complaint alleges violations of Sections 10(b) and 20(a) of the Securities Exchange Act of 1934 and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company’s acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company’s subsequent financial performance.  The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company’s allegedly inflated stock price, attorneys’ fees and costs, and unspecified equitable/injunctive relief.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Outstanding Purchase Orders</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">At </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company had outstanding purchase orders of approximately </span><span style="font-family:inherit;font-size:10pt;"><span>$135.2 million</span></span><span style="font-family:inherit;font-size:10pt;">. These purchase orders, the majority of which are with contract manufacturers for the purchase of inventory in the normal course of business, are for manufacturing and non-manufacturing related goods and services, and are generally cancelable without penalty. </span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Guarantees and Indemnification Obligations</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company enters into standard indemnification agreements in the ordinary course of business. Pursuant to these agreements, the Company indemnifies and agrees to reimburse the indemnified party for losses incurred by the indemnified party, generally the Company’s customers, in connection with any patent, copyright, trade secret or other proprietary right infringement claim by any third party. The term of these indemnification agreements is generally perpetual any time after execution of the agreement. The maximum potential amount of future payments the Company could be required to make under these indemnification agreements is unlimited. The Company has never incurred costs to defend lawsuits or settle claims related to these indemnification agreements. As a result, the Company believes the estimated fair value of these agreements is minimal. Accordingly, the Company has no liabilities recorded for these agreements as of </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">December 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, respectively.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Warranty</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company provides warranties on most products and has established a reserve for warranty obligations based on estimated warranty costs. The reserve is included as part of accrued expenses (Note 7) in the accompanying consolidated balance sheets.    </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Activity related to the warranty accrual was as follows (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:45%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance at beginning of period</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,970</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,233</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,964</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,264</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Provision</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,484</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,682</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,817</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,310</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Warranty usage</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(3,082</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(2,485</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(8,409</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(7,144</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance at end of period</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>12,372</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,430</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>12,372</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,430</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 135200000 <div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Activity related to the warranty accrual was as follows (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:45%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three Months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Nine Months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">September 29, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance at beginning of period</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,970</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,233</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,964</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,264</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Provision</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>3,484</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>2,682</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>8,817</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>7,310</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Warranty usage</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(3,082</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(2,485</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(8,409</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(7,144</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance at end of period</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>12,372</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,430</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>12,372</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>11,430</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 11970000 11233000 11964000 11264000 3484000 2682000 8817000 7310000 3082000 2485000 8409000 7144000 12372000 11430000 12372000 11430000 Income Taxes<div style="line-height:120%;padding-bottom:12px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company’s effective income tax rate for the three months ended </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">September 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, was </span><span style="font-family:inherit;font-size:10pt;"><span>18.2%</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>15.1%</span></span><span style="font-family:inherit;font-size:10pt;">, respectively. The increase in the effective income tax rate was primarily due to lower tax benefits recognized related to excess stock-based compensation. </span></div><div style="line-height:120%;padding-bottom:12px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company's effective income tax rate of </span><span style="font-family:inherit;font-size:10pt;"><span>18.2%</span></span><span style="font-family:inherit;font-size:10pt;"> for the three months ended </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> differed from the federal statutory tax rate of 21% primarily due to the recognition of higher tax benefits related to federal and state income tax credits.</span></div><div style="line-height:120%;padding-bottom:12px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company’s effective income tax rate for the nine months ended </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">September 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, was </span><span style="font-family:inherit;font-size:10pt;"><span>11.6%</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>19.9%</span></span><span style="font-family:inherit;font-size:10pt;">, respectively. The decrease in the effective income tax rate was primarily due to increased tax benefits related to excess stock-based compensation and a decrease in foreign taxes related to a discrete charge for estimated taxes associated with a restructuring of the EMEA business in the nine months ended September 29, 2018.</span></div><div style="line-height:120%;padding-bottom:12px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company's effective income tax rate of </span><span style="font-family:inherit;font-size:10pt;"><span>11.6%</span></span><span style="font-family:inherit;font-size:10pt;"> for the nine months ended </span><span style="font-family:inherit;font-size:10pt;">September 28, 2019</span><span style="font-family:inherit;font-size:10pt;"> differed from the federal statutory tax rate of 21% primarily due to the recognition of tax benefits related to excess stock-based compensation.</span></div> 0.182 0.151 0.182 0.116 0.199 0.116 Industry Segment, Geographic Information and Significant Customers<div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company operates as </span><span style="font-family:inherit;font-size:10pt;"><span>one</span></span><span style="font-family:inherit;font-size:10pt;"> operating segment. The Company's consumer robots products are offered to consumers around the world through distributor and retail sales channels, as well as its on-line stores.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Significant Customers</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">For the three months ended September 28, 2019 and </span><span style="font-family:inherit;font-size:10pt;">September 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, the Company generated </span><span style="font-family:inherit;font-size:10pt;"><span>29.6%</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>24.8%</span></span><span style="font-family:inherit;font-size:10pt;"> of total revenue, respectively, from one of its retailers (Amazon). </span></div><span style="font-family:inherit;font-size:10pt;">For the nine months ended September 28, 2019 and </span><span style="font-family:inherit;font-size:10pt;">September 29, 2018</span><span style="font-family:inherit;font-size:10pt;">, the Company generated </span><span style="font-family:inherit;font-size:10pt;"><span>25.0%</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>20.4%</span></span> of total revenue, respectively, from one of its retailers (Amazon). <span style="font-family:inherit;font-size:10pt;">The Company operates as </span><span style="font-family:inherit;font-size:10pt;"><span>one</span></span> operating segment. 1 0.296 0.248 0.250 0.204 Level 3 fair value estimates are based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability. The fair values are therefore determined using model-based techniques, including option pricing and discounted cash flow models. Unobservable inputs used in the models are significant to the fair values of the assets and liabilities. As of September 28, 2019, the Company’s investments had maturity dates ranging from October 2019 to March 2021. Level 2 fair value estimates are based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities. (1)The amount represents the change in fair value of derivative contracts due to changes in spot rates. ZIP 46 0001159167-19-000037-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001159167-19-000037-xbrl.zip M4$L#!!0 ( )N 7T\I!BRS/0X )J? 1 :7)B="TR,#$Y,#DR."YX MZWQT4 [A'CF)*3WFAOV .(>-3' M9';2^W;;/[T]N[SL_?;^EW?_ZO?_^'!S!",(2B0#QZPF(/O/N(_ MP)31!?A.V0]\#_O]B CH'X_'"T@@$(P/ D%NJ!L<8ZF, S$22\D/T,8 MX"E&OE0A0$I$H4'NMH!LAL07N$!\"3UTTIL+L3P>#!X>'O8PHQ,J]CRZ&(R' MHZ/AT?BP!Z21A!]C-A%-VP:8_"BT?9RP8(^RF6PYW!^HVQ/(4=*<4$+"A9G M%VP@GI9H(!OU92O$L)?0J49^IE1>R.M!=#/?%%M4PH0+2+Q4I<>2"0_[NO7H MZ.AHH.^F3;EO:BC9C@9_?+ZZU;CUWO\"@,81+Y:4"4!*_I]"/M&4G GETE-L# P<50MZ?0;AT5R-/&*D2 M7UE7'48#Q#>DC^:UKD*J4VY*(+HS1HJ M:LX$S=1#?/TU7#\) 1* M\&LWD1QY>S-Z/_!H2 1[4I'I;9.09J)+_NAG3%HJ$S(F4ZD6VN0)T[_6UL=' M6&]^ MQJ*=)@1BCSOWCHPJ^KEVO^#84^Q&+DHD-.I'/R-NJ8!8,O=ND5+I7Y9N 0FA M0G-2EY*+RR4F4QI=D=?4K'V<3-TW: IT?GP<3YSV+'JP9'2)F, RF/23%<:?'@SV9-Z=-"D)*"85>I*2)%X8:".N,B43#BILG_2X]': M8LO_=J-\-'4U2I)@@K?8I@!.7&V2)"C84G.6#+F:(TFX7(>WZGB*P9UL +!< M7)YZ'@N1+Y-/1#CB/:#N?KNYK%J.:^FK1 G_1$+6@=Z/1Z/#T7 (^N <#,=U_@>_QKS^TUTD[N D:#D"8E(;#ONCP_WAJ!Z' MB%678#BCBP46JJS(3XE_1HG 9"8S:]P4#!L#:VB2@Z,"GTD!.W [N M@I]NP\4"LJ?KZ44HI%L_2Z&+<'&C; V^PB=-\XWXB%W+1!@JNBL$TXQE[1ZQ MIOC:3K/OVFEBA0"=@D@E$.L$(J5 HA4(E5H@U0M$BNVZ5\&C+JE8/1MK6C8^ M,*1E=K@[F:,13@/LJ]GP PS4;L[M'"$URF HXZ7:86@&5BT?"UHR6Y/_J8SM M5CI2[T1KL#*>(&8*(J[@UY3O#JV\E[]")LV;(X&EPIN"KLBT!L?7>M2UP!'\ M6I#355Q3SUU/;^?2(7,:R(F%?_P9RL0UO>D.;4.^=G1?UXS2[(:<,/-B_@TB M05F+KL/+KZ=GD,\O OJP3K"MX6>'\TU3.+G"4[$'FO\N_!;]3A?2L#DB'-^C M2R)Q0IM"U,;9CNV!&[9Y02"2M$.Y@$7DE$U$8 ,S.Y;[3EC&Z'4QTIXCAN^E M#FJP<,'T8Y-NE7@K!WL]_LA0D8*\ MI/QU.>X@2.4!+;"3^8D1$X_OS(V! 6JX#KWIKA$Z7^ PZ":S%'[%*: M0698SM.GG".]5Z>O1W\UP\F%H7VM]]8 7,+]%=!\0"8 1#QU7(WN11=V6)I< MO_:C(!N295\5OC4\&N+> W;/B[3K(Q=**KJ2B;R_VC!;]T5/4IPN*!/XKQRR MFX\6:ZI3V]->;Z"G13KV Z4DP%E[J&^_TB]G) O8:?0,"LSIVLG$P*$+&)L\ M4]2RR:KM2Z5:5JNH5=5T%[9LP&7!("%ZKHA4+:FV@Y0V%UITD'PU;!:3[R*( M'3*7LI@[6WNQ[*VA6-8"]@X6TJ)=T#OXZ/@JCH'.OLA_8T@XXRU8S:63PROG M18?U>HG*ODI_8UCL%3W?N:5YSH,N8:M,9@U+XS>&L%3T?!<#CA]RP9YNT4P5 MACXA.F-P.<=>;O4H9X!;/"-XBCU(Q)EL+UW&&H/47H!]()FJ)HDT$(M[!3*! MA06QFFQR,D$J=(=]$VC6KJH\DVS[I&=:KZS?8W95E\WTJ9@DWW!"0W&#[A$) MT1GEXGH:__&)4T62"R2S./)]6)-LV85NZ&1*.^Y98-K2O&GCV9%G4;Z'*= MS+GDP%$GJS4%-FENWT4R+RQBVBZZUW$%O4)EKVR9U\\QBXXNGF/KW8)6D
M5S(OX%*G=R^21*_K7F "B8=AD#X\?[E80D_F':<^7:I714^Y=W@P=AH/[5A; M!\WPR+#W%+]QG K*O2\0B5*I1B(,G-Z> 2FNDP,L\I3^OTK!6J!9HJV%JQ3C M8KCT/U$FV%TH/D,1,BR>KJ?%%_NO,)S@0-YH 5%CGK70E39>8N@2"6IK(,6\08XY2+@GIR5TW'_#?T9^XOR;NQK)W/2J5!$W;Y3:14Q&XNJ_3^>A.9A6/M+%8J M'3K V;T9[%90[T?A=#.GH5A-;G^.8-]0XLWS2@Y Z^( *_O4(:FH(K8F%>-] M0U)AA*-S2479GRZ1K9+:_LC#OJ$\982C@_$JG'#T,Y0&?%3[KV[!RDQKCU2F M[T9DC(#FU,TP5?2F2XPR4=H#E&G54T:A>]&IZ$FGT&0DM<E758'V(VEZMWPK@#)+<=VX&@O;(X-A4V7H?V/ M3LK?#58^FAM?*'Q:5W]8%T5/5VF\U>='_XP_/7B.&?+$11A,<1"H%NH14XFR M^C9P^HG$RD;R3^7>DYZ0S7J RR61P")4DC\Q&BY/>NKCI?@8"[3H ?&D/DL: M75E0(@<:>[J4=Y0]/1!=GT3/09ST/(9\+)++2\0P]>\T TRX@.ID]4&M=;

W.7MM<#_7\BC;Q#=T>QUQZ\0^Y?D#"ZQ@$&$"V4R#9HB)L6I\_D1 MX?$)E+'-&V#T(E[R0Q;++[L)2@74BK*] M7R0+.=5O?.AE5M35(JKM=Z#<8OO7/8BQVC\;Y+S%_C-;5^F4NN9;;.FF7\FO M=M(S2MH^_\8'>B?_0L,IX25/N=%LG??'@ M=H.F(?&#Y/U?JM*RJ$K!M;Z>;"W[7SI8'=IO;;5IQ89T]2HC,JDRM-1HVZRK M[)DWDR< M$KTL+Q8> >C_*CG"@7*.&*1(V MS]8WJ/G+H^87 7K*S104_$-DBNJ^),U MWY:4_"[74O+R';U!2@=/?Y]6,ODFLS!^NE#;;:D?GHGYBQ=.HSTUE5TNX/M? M_@]02P,$% @ FX!?3V7"P]/Q%P ._< !4 !I)B\XPL M>DDJB??7'U"2'3F6)4HD(3M3&26VT$#WUPV@T6@ __CGUYO9V6=7E%D^_^4- M^AF^.7-SD]ML?O7+FS\NP>!R].[=FW_^^M,__@> ?P\OWI^-<[.XCWN='5LNWKJKK]^]NW7[Y\^?EK6LQ^SHNKMQA"\O:!ZMD2]4_@OABH M?P40!@3]_+6T;\Z"A/-RV7:#1NZ+?WU2_@M9ED9*J;?+;Q^*EMFV@J%:]/;? M']Y?+N4$V;RL]-RX-[_^=':V@J/(9^["^;/Z[S\NWCVJ)"OR-*]^-OG-V_KK MMP-CBH6SDZ^W;EZZ,K2]K.*Z=S@Y&ZC%1)VR-\IN;K*J[3#F8VU$^KT+G M"ITLV\]< ]*^61R8*ON<57<7;E;W]D_YG[HH]+RZ6P*G9RM%MA#DL 9Z%]?: MK!Z/].S=W.?%S7)P:B_C_EK[%NQR<7.CB[MS/UU4B\)]R.;9S>+F(A35LX_Z M;DGSQ]RZXOS6%;JF>^_T0T=M(7LW#?<-3[/!HG$%';$[+_-99NMN,=2S>O:X MO':NADLO@D$YNY_?IC5$8OBC+@)XUZ[*C&Y@5$=5U[DHEU7XK)5^[B^O0XO7 M^2R8:SGYSR(,6P]?'B+-837V)U!Y[D>ZO)[.\B_'&56SFOH5(+^Y#0B&V3O[ M[-X%W_7&M1>E09V]"K5JLYUM/5]-)ZR/71&\_&H)4%D5RS5!4V>P"6U_3/Z> M5_N'^OV4_3%8+QGL8N;.?><@'U;UR41L-AVWK[D_ 5M(T N+I2FRV]KM//?# M19G-7=F N1U$W;"UCB4$9VH2?*GJ;L,]WLM= ]I.F)SJK/A?/5NX#\$O#1[L M4D\2XL M%^976>@8@[)T2_=[^?O53_LX/J*JV"*T6'AVVTILP:=A05BY]V$(M-\7_#:4 MK]:.@YN\J++_;C#=I>:[820V?%N+=&XW#5J)+?@WG=P3=6\2>]N(+70SK^+H M"CL19[7H^*2_-HX-/T_1-4.-YK?GRG?-3#-E/DO0$3MV$1S/NTMW54_CO[G\ MJM"WUYG9F!^"Q5QF5_/,9T;/JU$H'Q@J&C#>NNI3B]AB4NZWU5,#LR;9+)CF MB^K"?7;SA1OE977NUS_\5N1E^4$75UE=V8H?O M;FZU"9UD8//;>M=C4!I)<4/P6E7:H5C+S[JS'\3W[ M8.\SG6:S\,5!#!]:6X>"-'*PMA3MD(7+Q6VHY&:YP7B_)W$0? TJZ)#=9EU^ M6]E.F%A/>A?.Y&'8KZ> >ENS"-URO>76U(D_N*)([#?#]]!Z>F)^G)7ZZJIP M5WH5=5V7.%H%S>J+*\RQ"FE474^B-!K6]I#UQ-K'?)8UR27:3]D3@QO^Y+\6 M]NJ0+:RC*HLHQK&FO+^N3H2XK'+SUZ/<@H:X[R7LB;U&W6P/64^L-5/U/KIN MF%NDI?O/(AC-I%X'--7I3JH^&&NFS1TT?3#54(^[B#IB:YT6MS$6#(S)%\N< MLJ:#^F&U1&2\WK8T@[D=9[-%Y>SOKEH%3SZZ8IGQU"S@TT=;$4'8B+,W[J3M MZHTH7+D)3W>)I=JFLO=5'%+7IX'=X7<\*8?3,+&9+E_U]^'E=O.;YF/,. MJV;7];VK$)8!H?4KE;^M?)VMV[B,U >?1HB@V\GOG!NZN?-9 M=<]X&,Q_S^>FJ>1-:DGX"',V81P)-F4CIB2:$#2"<#(6(T*X;(+%AHT-"G.6 M%\'/^^4->G/VQ657U]7RGZM:=&&>F-[C$T?K$F_+NK?5-8*L"$3]1P0-68#:9P,!A2#C&98BK#5^)X5;-7INK.P6JKYDL]JU.5+EZ9TCL#*;+J@X_J75DN\^FF M[H#U]#.$R22(-!AP1#'&P:V%BC$"&15X/%4<#^GQ)B%?MTET U@TYVX91#TB MW+*;,%&$3L1 C*9\/&1D,E&#R1"*(.8P#(=DA(\W#_5*S:-3P+Z9QS_>;HO[ M=1T0W!;F[#+^V/B*CTB-'G,=1RS6FN9%1^*GRYLM(K'+O(TTXD4A8"H$73 &OE0&4:09D&OXCW%EF3AAKWV"_F9 )Y)Q# M:37PD") M>> 6 V!8H31E%/H4(OE3IQX>;=*R[L$*Y:+L\%EH^CFUO*)%YYK M8H)H*8> .RH M:D!J;8N=MYO;="Z,01S$;6L)D64")&7.LDL3(L?NMU9J-( MZQ:"Q& 3!!$06.@]P(8(X+PWP'OF&7$$!@1>D5]QE.*>AEB[02IR]+VC1#9) M,?;8,$##F &EZ!P3;MD5J!&<^.#1 M&JY ZH+SI!'BP#*E&=8L#>;^BGI_]^&H3C"+90UU>#J?+UE>WB*WPQ:^+YKH M8//$PR!+ZBA@J21 :4[#0EH(*QUFQ-J7[AFT55;>.4;1?(*'#9R/.@MKWI&^ MS>HS]M\DV.4<["5.K,>2,A@6RMH$1\C9X&TCFP+(G$2I@*GC+:PCSCC1L77T M@EHL>[FH-\KFSDYT,<_F5V5P>18WB^6^9)C\,I/M:J=0P[0 G83EF MP@^ 8!\PP*E5GH1/S%^Z4]&QO?2"6L0UQSVSR\#)EFN\W^=E'5@[]]L3_XZL M*1%*4HI3#Q!V"%A%*2!>HS!Y"R52+JC$+:*;<;)ZNQYY>HKYWIA;@A+-M];E=9WS$?ZJN_!G/5MF@50C M711W83S?ZW WH4_"<$^1TRJX"(8#)Q !E-,4,,DU$\BB@,/K,(JC-/J] ]X3 M9M&&M\\ZF]5!Q6E>U-G1 BS-W-8_S;R!*%I48\-*<]XT! I8&2 M*G@9!!(!>2J-;A'9B71@KCOKZ!:J6(;Q%@XNO=6H-!*GB!"!?1QJ< M#"Z^@1*B%(7UA3Y>Z9$.Q'6F]$X BJ7ZCT5^ZXKJ[N-,KYY<"9[.;9UBO+O/ M[R)+/!':!L& $4(#YPT#1A$.B%0IXCHU%,/7X1JT6EMTC-%I4@LO:J3/_1_E MZI6!QFF%W]$E#(?932 '&'$<<,A"7U+, 9Y:BJBWDIM7XA"TLHFN08J]P?M) M?UVA\#B?K5&26.,Z$N:A#Z!&%!=5@WN^+F]$Y$*V/I M$[!8AG/_9,D.N[@ODDB"PIB8*J!LJ@%12H1:0T=P2FD49E L;0O?,:8;T4KM M+?"(I=4=3RKM]AMV$]9IL=9@:,*JF,DP[ 5AK0BK(JB-XUH)CU&+62+2C]9V^H]Y[Y.*1[S%'/OO#1X33GBRZ/KLCR^N!"4;NH8[?Z^^"] MA>W5)-I*SY@4P%@"@1+6 F4\!!(Y2SV3#/%&QP'Z0:0.RP4QPLKMT3*Q:Q=G&$986Z?CN'FYSWZV$R0*FM00 MG8(P2C/ *10@)2D%*4Z]EM0HCU[\19>1+*8S!.-MYSV>C-_-GYQ2W>G7-*)/ M),,:(BJ!A*[FP@E F0NX4B4Y$\I1WB+W9H7 M<=#P\Y0\85YQ@Y0#DGD'E/(<&&<@,-@H*ZB 89G120#Q!["AG@ ]G3G=9UOL M7I[OI$L(H1Y9$GPZHQT0WF*@;'#QTI1(X0WVK0XBB1_<@-HA>3K+60ZGW^#9 MEQ?>K(+$L@ JI0802PQ(31B*K2808(\(YPQY!5M,:/('MZ6.(#W][+8^VG_4 MU+:F3: FRF+G &?< J^Q;P6YP+2DT]KQX-YXI'IZ94 MAP].3^M(G/=0,2&!AT0 Y%(!#/00$)5J(3SG4K>)/L,?VZJZ0S5B['D;5/6D M7;;=W=A228+#\I0Y0@$-?B-(1>J!8=0#9AU4"EH8EB@O/?QXZMV-;G"-EDVZ MOAWW4SXP :W"/9L#N2NWM'$E";=2>8P#'\XZ0'B*@3?:A@Y.PT*70^YYB\1C M=%(/J[7FOT]'[1/6V 8VS8O OG'.EM, Z'(L/FP<.["FA%$'I7 "6*?K@_12 M H&@ 5XQ:U)$H&MS)R;^(4VM/VPCIL<_L%^?ZSKW&UDY!QK<@54EP8_@3B(( MM \?1,MZ2N$*>*J5-X@19%JDT9]T+Z9S@^L?VY--H<-%F!:2> ($$=0KPHFF+2;0TV[O]&YDG>)ZJLDS M^)@?=%7S?7?NC[.WXVI,#-6A%P8F/0K+<5EOCTDB,<"(>T4=14:V.% 2)Z_\ M1%-I?Q"?..PQS>9Z;EJ&/;94DH3%$Q(.4P"YM>$#6J"Q@L!1S(V0BCG6(E8; MQV\[==BC&UQ/,M#5MRW52^K&X]@#02(5%)"2>BCG&#@WM_ZI+_^F577];F$ $L]H!Z:PW=LE0DE!#(C M65AJ>P^(A6%^H/5-DF&,EB2X#*EYM;&,S@TM'L@G"*)=N-M%8:X#\V'ETNBZ MSOW$B0V+:,R5 !9""52=*RLQT2"U2C.N(4U)BZ@L^2'-JU,X8QG2Q'MGPIIW M\C6P/;]R%Z&'G,^W^PX[3.J0:A(70%!22B"Y")#4Q^/#_QQ Z!TGT.-6;PC$ M.1L>S;OJ&=FH)PL?':)[>N?D"SA.]Y2I!C>2[J!*!EP2.,4C"8>&1CKIU MH:N=YY4.0RAJGO<6X<.D%4"?KVXY,G>?BN"":[,^.;/\::TH^W^+$#T?ARQ>?O-"#O;YH%9RZ0_PQ#W/V+/NOL[_I;%[WZ//Y.$SKGX/HGUTY M*+(RN([C11$^5]-]@QFB^\82+(9XS*<$CN6($395G).QFF \D9,A%R_^Q968 MAAT-YE,;;RW:A3,S79:9S\QWO;4.M S.1^\>"=_">ENTELBAY'PP"GJF$P8E M4VC,!!YCQ,:0"]CBA&*DO[$]_DO1>M6_^CHY:3 MB6*(,4;4:#@.NB<#SOB(*:7"2!(\PQ;I'G%NOXIIUZ?!_&1+WI70$2ZN^38. MO)N75;%8MC^NGP^9E9%;_3VO7.PV+\VULXLZA>@% ;&'J4^U0=55MV]FX>!Y>;1'DSWK4YU5BS?$?C@=+DH5IW] MX9?G\XMZ4*L]RZ$NL_Z-;RL[/??"^^L.U]FACZ^["]K8R.1[$4Q\>WEKPT)6 MFGD1_.VX//#;,#)=5$&]FY>;]&Y;!XBPM1)J/Q="P'4P$'0K(!DHJ/QA.B9/##A)J0 M%__T4%=*;7[QYS&XO8#K8#=>"VMXL]7AE2433L9BJL@(!D]>L*G$$X7$!,KA M**Q248MP5J1N#"H=[$WVNK9-]QH MJ7\ [2*L;>XNW57M]?[F\JM"WUYG9L/+JQ]XSJ[FRS#:O!J%\H&[XF4R=1(W MM06_:Y+-@FF^J-:/H(_RLCKWZQ^64^$'75QE=64K&UEM)CWI!2]2U/Y->?WJ M4(0F=@\V+_.-*C654A*H1G0R86,FAXA,QN/!!)'A9 1/^9;G YL7^LN',#<7 MF9ZMHO$7KG3%YST7/^PC3L9T2@B1TQ$=#MA@S(8\,#+A$\@'4$V'+3:TX[C= MQZGQN4>YNL(IWNT@:\9KOZX,WD[M?QQN'L]3)PJ&!8:D;#0>DR#W0$TI'4&E MB!!T/&WS:':A'C_G='\+S)Y)L3,^>G:^5XU<+FYO9TL= MZ]G]VP61Y.O;F-?NY(4S>7#2:NI1/J^*8,CK5RSZ7TKM9R$^"..LU%=7A;O2 MJ[V7=8D38/$,)_$AZ;FG/6WP8S[+3!:WS8VERK\6]BK.=FV>] _IX_;ZQO-Q:_V#&5S@(O@<&_UC M?;%AG7C8^WC1K/UZF]H,YG:+ZJRTO/Z<-^.U=2!-248&4<]]H H80 W$ /)2?V@L**( M<@W#G]=VG.-'>)6F5SV^TJ=IGL'D"1C+SGYX']E>3X*M55I)!!QC*D!!$?#( M8!#0$X?MG'< !3 M%_0B* $<<0@95!#A%O?AQCD9<7(+[ 7GW@-HS;R;C?W<",YL$XY>BM^W9>W^ M,@#:ZY:O#:K^2'7I?OWI_P%02P,$% @ FX!?3[;-B?;;2@ <6X# !4 M !IOZ*F[G.IL"]]6GT/ MUKJ\PR(Y)"7=F1<_P4C/9'1%AE.QL$C]^C'$DDQFQN+A"\*#+>E0S"3@#GSV MN<$,,#/\Q__\?__;N%_/.O7CQ M\__\SW_[C__KEU_^CWW[\B=?C5?WY6SYDYN7HV5Y\].?D^7'G_YQ4R[^^.EV M7MW_](]J_L?D\^B77S:=?EK_93J9_?'OZ8\/HT7YTY?%Y-\7XX_E_>AE-1XM MU^_^N%Q^^O=??_WSSS__\N7#?/J7:G[W*T&(_OK0ZV"+]-,ONV:_I%_]@LDO M%/_ER^+FYY]@AK/%^MTU7K)KGO[U9OG0X7%C_NOF'Q^:/GOTGW3=%FNM?UW_ MZT/3Q61?0W@H_O7__/[RW1J27R:SQ7(T&Y<__^>__?33!KEY-2W?EK<_I?__ MV]L7WSUD,J\^5,N_C*O[7],__VK&X_FJO E?/I6S1;F =Z\?\7%>WO[UY\G\ MPQ(0PAIIHA(^_^- \^773^5??UY,[C]- 91?.QF*+Y>CR?3<$3WIU)Z<'5Z-KWT,TX^7D\V3Y]6TY M38KA??6/T7P^FBV_KH$;33>";#&1\U[0^W1O;B9)=8VF+V:WU?Q^KV+O5_?UH_O7U;5PM5_/R]\ELUF.'C[4%G/OYL5]PU-/6=1^0$?#G2VJZ>0F?19V-$VKQ[N/99G@&JV 4.7- MZ?'6?4*F ;\9S0&\C^5R,A[5(%6CQW4^E7=+^#,)_?7MNX_PQH_5%.BZ"/]< M@=IZ^,=S9G/>$_N;T.+UK1LM/L9I]6D\^ER_ S+TO MVT^EQC-[G=3FG>VX=?@QG0S=EW-P")9K@!;+^=I]J&L,UNG;WR!?50@O'L]NWY)YX!(=P6;X$%7CSM.$W M5;[Q'5/C+;DG_DTFNT[=4^+D.W)/NIY5 MT?B!G4QGXW2\'WVIO3=\N$?7 ZJUOAUJW_5@Z@GS8(>.AG.S L/SZ[OR+BWC MOY75W7STZ>-D_&A] ,:\F]S-)K>3\6BV=- >!C2O,?#6C[[T%%LLROV^]=+ M;+L\;OBA6BW?EI_+V:ITU6+Y^G;[PV_S:K'X?32_FZ2';=AL2^A7/OOL>\2T MWP%?6AQU-4E'+^AHNH#VLII_/3WL)PV[?7WM-6I_^VX'4U>0>YMW,I3-X0O8 MPJ/9>#*:/NP=OKC_-!K#1V)NJD_IU,,LQHJ1FN"U>FB'TUK_F3[VL\9]J%>' M _M]!&[%9/GU]>WWIV O)Z,/DRG\PUD#/O=I'4ZDEH&UIVF'0WBW^@0/N5\? M,.[.),Z"K\8#.AQNO4]^7]M.!K%=]-Z6XPK4?EH"TK'F'#[+[9%;72/^[ =E M&GX]?,]]3D^#]Y/%Z.YN7MZ--KNNVQ:-15#O>7DGTU0@M1[7TU1JJ;43W7H: MVIMJ.JD32W2Z9T\#?&1/_N_5S=TY1UB-'I9Q&DVI?/I9G4SBW;(:__%=;$%- MW$]V[&EXM3ZS$]UZ&EH]49_JU\W@5A\6Y3]70)J0_("Z,CW:JX^!U9/FD3Y] M#*JF'(]UZFA8V["X1[K C,?5:AU35E>IG_>4C -/QY9C,[OQD^EJ6=Z\*I>; MS9,WY7P=\51OPZ>/=V4$X=$^>^V/M-US,TZN6XI>D*I[+,TNA77R\1FG6E?Y MG?^L@Y,8S<>[>6S_^G@J#RD8D]GRUYO)_:_;-K^.ID^4PX$DCUW>1DH0X>O1 M/^K9]:#@[RDDL)K]CE;39<,A'GQ.CP.N[D>36?OQ?O>8SH>[?OHO]^7] MAW+>=*S[GM'U0#_"\^;CU8?REP=H&@[WR),.#AI(,]EHDI?PX[9U&E>3#*+- M6\HORW)VDX);NW[/7F77W^OV::4.WU8[(2?/.YODSF0:6=TSS#S#Z3())<^( M>R?R>9DA65]])*WC81QI%+MQ3*OQ/NV[UKRWH\6'M?I=+7ZY&XT^@1K&ZM=R MNESL?I.,'_4+PMOE-.$@%T^LO:G'\D=_A5\;*\&TTW@=+FRV0?E?>T*AS!'E&O332&*XD 0FZ- MQ=P3$ZWC&25^Q%(ZPH SQ59U!<5:]-U+<3,>_YT5_D2$CYL40'<2HU0BX("4 M%S(ZX8-%)"*?YE!@QV3 3BIG#:>8FH@B)Y$8%1".$F<4\$&OZ)MX6\FERH/1 M0"0?M6%*.C:\]:?+QCH720S!"!C*,\(F6=1M@A:Z1Q3D25 M4][[7/!>5^E.L;DD$UZOEJE,2*K4,G@_K^=K0&[665:[8XPCA*C1N\!>(*J#MP(; M;I$Q"%,MD#2"IKU?VY@4] I(T3U %R#&&8O%D5Y%9,8'RES4EG!8#37&TE P M>8REH"F;:P=V741H" :6)-4<@9^AB0!W-8+[&H%?K/$WUO\.:6UA'-\A/0^!'G=(GY%@,5\^(@#\ M]%3X\*OB;;G8S>? -NF>5@7,DQF1U@[.>5!.6<89Y2%*"TZG,E>R35I;=E57 M4#1<3\\5Y<%ML[WM"J\DY\YQ!R:!T#!QB2TQ5"M!9>!17MFN:2LQ[1=U/T - MDPV:(&H)N %(*VXM,QI'&12\)^H]:>)X\NTL!_ M_\Z%V"/U.MU!39&@ 3>.8=98DD3QK1Y3&M35E2G\]A*N+@_BC\0O1IP2W!@< M;>!!.H.\(5Q&2;R4UN:T#T\O(9=ASWD0Y2+'PU W+G>J"UK-UN%:Q]>:H_T* MRA UUF$9- );A8V#D?FI#7&$5(K,JBCK?A++#Q=@I.+"$^&>M"$/-J^,$I% M@\!F]EZ2*!VCVN]4I#3$7^DZTY% JPM >%W\$1Y+*F B6C@PY8W%1#K,):$$ M<3#Q![F.Y&3'>0!=8#?_I#WQK&T1A3+*&JD"C4!H#Q86\MQ2; A#/F35"?7V M[5O*YO#6?2-$PH)UQ"A,"[KLSQ'C* MJ0#51[30BC2/N>TMEJ-;Z7>)3BXFO$U9 [/R)HSFL\GL;G&2 OL[%.DL*EH= M$.66(\,M8Q&'&#W7UC-#,MJ)%Y%])[!D^_S'X]7]:IV'L\[/W7.'P&E54/<9 M!;&$IF-K$@OBZ%@M](14=L?234>+Q>O;]?)6 MUZE\VJ=@WG'-# Y4>!ZHUIB#=0PSE!Y;Z7*&]%S4H6P)3#9[\-$P3WH"SQL7 ME%)E)0\"$26)X [QN/6!3-3AVLZG.A3C4].Q=^RNA3).,XI(Q\UL"$!IYCGX0X#YE\SL1_K1:;S-!8S5^5?SXJP#"O9O#7\68+]<2: M<=9S"FVX(ELRA]#5Q:178Z$OY!7^GZTI-XJ_R(7A.9F*01,8Z\%@S\ M-6U)I)A1Z1!3A+&<2GC4I_?"3_4M M)*)<$(XDV&N*.$-C8%N]:CWC[(=8J3H3_%-C.#>\/P;G '$B+-8!L0E\]K! MSXHQB[&S# \SF&,HC#H/O&RGL_,Y@%+-Y^4XR205XX&!5_,W)?QY\PB[1V&1 M]NNC'[8-9S?F/DW\Q"+8Q^N*B*ARL,9P&C5741O/G--.81>P\8(VIJ6\BK5R M )A>QA9[,O&3FT,U>A<:*RFMY]9JC1#Q7"B\T_M$(7JER^IE.7+4N,LBAQ^' MH)@ICB@)EEC'&5':"TV0"P3@CX$/,Q#FZNAW'LK7EQ!MC*:><$*$-SQ$IRR2 M6,A@E6+!M4B(SEDSI6G>7C>@Y#LO?5I8_^A!Z=/&A="*88IF2SRR2GG#0[]*MU]O--Z&G^M_?+W>*EN$+V!@3A9' MO_KS'U; RHD=A567(LRI)"HJ0F0DDK"8%MKA!=QTS9(^\;HPB];57CHBT>%G M%<0C[9CU41/%!8[:44:Q,"QRZREKKFEREE?IF$.=P34(190LLOEDO-R6F#)_ MCN;ITHG7MV!(W9:35&#X>!A/RV<75@HNO!?$40ERX4IZKS2*.ME^0C=W]7,6 MJX>.F8/G1: M#^A=P$E_7QV(LEY_5!]&H*=3?"6XN>N$P+@%( MLX1O[_WHRS\FRX_)YX$/%GZQ_E?[=,+'=&:#QQ4<<5%? NPR(G>;2\]N,TF\V.GP]H')Z\[YRU>?RR1#7W)]O@CK^]@FH M#IH=?OV^>J+B_P:R66SVW_:PI[^7%1" MP)=*"34R6L%#RL[$QE.L(EC2+M8KUK9_LQ0-F("70:^QGJNS]OM)VN6OY@N_ M+91\8D7LYL$%Q:FZKA9*,L)9A._-"J8X5LHS$E"+ N5#WFV_"'BYE-7#39OI M*SBB>KYK5Q":RO CPY@(W(NH0Z I*,12"I\":1$_"U+9#O(W M&;Q@2X7;6UC\7M\^";3?A@Z^F&WF\BU4_MA9?^.'%I(896%5]=B!0TJ#(L%@ MIZ(C*B*GV2@M9RZ[O>69G%O$6% 4;H_94&<[!OY(T4IZN M F1.-8\F[[_(MZUA7&\B/=Y"(PR%O%N3H)WXW(V L55M\C"X_:%-X81G QT MH3BG MPN(3 BRJ"(/,H9;]@FN+JV7 _1HP4HV>S0[1#_-EM\*L>3VPD81*=" M3@_V*7C$BE&-$';420G_PV9].6!@A$CAKC02NJ5 G](C%WS7R2&+'%$$V4B) MY09;I74@C@*X'!MDFH=K9*F]T#-#S@/G.LOS8.$"$A9YBU*)":2]1!J)H$$; M=/5H"Y: M*,,)121J1&$>W"IA5(1YN>"P-"[ZK)D('93GZ9 0YR%SH;V%C2]__1=R8>8! M:&8\)^ P LB*86P4$<*[0&FMHYEA^?**V4B\8"%XK(2/"C.VG9$U* SY0J[: MPCCNRY^'0$Y?OL\+N92P8$L*SZPU@5$EK=I-6OK8(E@AJ\556W;'+N0Z"XJ& M"V;/5S 9C*0CWG.!D&8\6!7#[E.P6*+BB?$R#,.IE32.WL74#(_KE.V@3)_+ MB32?*-_,JYO5>/EZOHT"/J)V]S4M"(W&>LT-XE]F2>%M^+F>KHP%:NR:%0EY@KV44G,2HHI3,;F?@(T'-J\GG M#,ULZB\U1*%QC*ZK%LOJ]M.&3O/-R_<(Z6#;=%6:0,KH&*S 4FN!-=^-D]O0 M?+,H9_SDN=+J"HY\54H6R]>WOU75S6.-\:Z:IN(M\^7D7Z<2D.H]H'!:&,DQ M$XQ('24H(/5 6DQM\Y/IG&&333_=7C"Z/$,:L:+0UFK.(E*<,2^X,,Z3W2RI M)-=1>*![)IR)2R[I_S:O%@NP*6XGQY)V'K4JM"0(81\%C<%K) VQ?C2,3FPJW^9 Y+.W%B6\ZR/0S\/*-*T^I9F'+RF)X]B&]=%^A1(R2F-IE-Y[ M$HT' +=SA>6.-%?O.3/OFUMFW4&3+7*@G,(S[V#(OX_F?Y0I=/8T!PYW J,4 M.^"YX5J'$"R*BFYWEP)ES#3_ZG.FLC<^RN@*EVQ:O9R5\]$TE>B[N0?,%\OY M)J3Z) 5.]"R8T\1H:AP!YQ)S^$/0A_ERWGQ7+6=J>6/MWRDXS;,K'QF5U>V+ MV7(TNYM\F)9FL2B7BU?5;.N9',NCK/^(@GI+G>"12" W:#?)E=C-*A#T2R)3J# M&OI^L*<7](-]BA"#)LYQ[31."1N*N^U^<6 TDA;!7D/>P.L:EURR_T;."+"X M*F7#K6#L6_96LX4M;ZOY-I_K_>A+N0A?P#X!F4QFH_G7-5HPZ10X Y!/U]-> MEO-R<8P)M=$AY (.VNYPCL(UKR23-=6Z*?^&@VQ>!L-,MA^: M!6OZ^+;3@1Y%I)QC:2W1W%&,+<%QIYT9(2UJ$&7-N&['G+:H9%NSFA7G\%1J MH3PF!)"P&@M%=G-AG+0(G+N&7<8V6.22Z^XR]#?E0TVUR?B(?/>V+RA!UG.E MP)!&P5(LC=A9U !;:/$E7\/&8A>87$K>?C)=+8_6K#[0HU".N,#AO\A3YJ5$ MW.B'U;VA_F*V6,Y7 MZZPF7RY'D^GB^X%DS&7:.ZC?0*S)-GM9([^IW@,*RDAD4CHK4>1,6,L%#UYP MIIPS4M3::[T O;K_RIO[M:U3Z<;M_7CY)/]^B03[64:+ORC_;KO86\GBS]. MY5/E&T0AJ5:2&IR*HH,(L %)1,V%BXP$)G)&(1[-U>J:6-65()XS-ZR3CR5- M]$32_K%N!5%@]2R[3ZMN0 MTZ;A?#1>IOO;3V9['^M61&^,4M%2B6G@!G/L#>.>V1"D-DI<::F ;J1[D#+] M WG-G&*$>(6]C]IY[I&V N"P1&/,G7>DA9O?AC(G:@GD9\QY,.4B1*SFX$G, MPI?Q^BIM^#%=*7/RUO)CW8I@6=#.4>FYXX9YQ8+G1AF,?&"JS;Y/7XY9-X*K M>L,H[\G-LT7YA$USI%>!"-/"&T*=4+!08QV\<2HJI#'"B(3&7.@Y.?,*3)KN M8+\PO4XN/T?[%J7)XT9_:V+QC% M+EJP 9DP'!-IG<1!$,(PLU2SG.YX33NF(UD]C8KO )UL,9+IWIR#(5\GB5"G M>V$1Y40[&R,E/$JML+ &6TR8DP0PR&C37)07/8"5-Q=R3>R3G'C6MB".!<1% M,$@:3A@LD,HRKQUG0DE7KP1YWAS8?@C0%IFL2F'O95JU_)LZW0M!I9%843#9 M+1=86B&4=4ZY*$$UBN;)$^=SXD=S='K ?RC,.VFDUGM @3"/EC)N')5:QX 0 M@+HQW;5#PE^I#]2MY,^D53_0_FC,"\@8K+A7W$IN(H7%G5)G6, &$5A3!NDG M#8%7YP&7BS9;?>_+Q>1N5F=QW-^A,!H[BBS1FCGX*+"1B&MN=8I3%]PTWP,^ M/W#[1UL..T'\8TZ#W6IBH[7%5[K(M97G27KT M ]\U,BCZ*&0JW\0EY]X@C;S4T8-6QY8(F?.FI?J+52Y^G =._A/KN@JY003. MZ0<6DE%LP#=FBAA8L9W63EKBM/61R,DYYS6$&T MQC+"!,$98=;A81YU#89"YZ&7;8-[>_OH=MRG-[GWM2\<+/LP$2^LC5S0H#S3 MAE(3I'.>ZZS7Q-3;Z.Y 3D\WN3M II[4%[OY+\KQ7^ZJS[_>E),D<9W^LBX/ M]$C0\*O"5^,U[S<7Y(;9C8<5>X^0#[8M6$H=BL119BPWZWMOE,5,8PZ67U!9 M/_US0[4Z#8;O"J)11P)? \TBN9"[NV\LN>, MAX;(Y#V<[*Y0:RH^B\!7Y#8PC@,UA'J&@L'2$.9;9%GV=ES9L_P[P^K2F_E_ MF\W+T73RK_)F!\[KV3?L%F8^6217?S5/%ZJOM=JFULC[T9<&._\MWE8 C&!W M*1*4PAQ%JP4LF,PK\ XE#KRY#NJMD$?/'+P\R(/8P7E;CM,=?.L;6E-]'#.& M-7@U31?>O78O7LR6U3:HY/:V'*=GO$F5^JK9J_)8/9F^7EE8H<'@DR)&:E/Q M'>N((T)S9)CD\,N,NT##H/% D+Y$PO*K:ED>2E?>CJ7K5[X;?RQO5M/R]>W M4ZA?GI4O_8V&/&IB%$7&,4]X8%Y+6)#!5S/!$[#/ZGQ??<^M?@;S=EO44H>0 M]%&8$(D)&J=Z\.LYI1V(YG7R>TLS;B"/@VJA"0:#3OSMZH0\.%"Y&'%'33JX MP<8HOX5$!$5STJ+A@<*9HJUWC'T>+%=Y",F,DX%J)+3&6G'"#=W-,$:$AWF7 M65=BJWT:V0BE'Y$/@]Q^'PH-+B/^5Q585)NAEJ>39?>T+J0,$5942Y ",U<( M[;'>S2L=O ]OX[6]B)X7YFT)2SX/=C=,L]C"\,WJ/BG^&KT+&X2T@3AAB0=? MAW.-=HNH5,(.<(NVNJ7J!A0H)I[K0*1$HDL-ZYXAIAVWQ= MN%"26WE;,G,[?R/++!= M9[ P83Y&:25H2\Q$<)0)M9MCNA=]V"Y)WX*M'37<#,8?DS*#]%"NABD7LD@[ MB2]'!%&%J7.*P!^,!>[E;F[<#M$UZ4!.M>++ST,FE]3M:#J:CK\N;E9/1A M,@7H:VQ4'>I26,.D)TPJ!BL?8BE_>+<'9TB, TQ*ZD)<52_HY-[('J_F\_4% M1_5Y<*IK@8VA#"EO9,1!&T/(PUZ-$S)7-F,UB42YK M\F%/EX)8@$@S[RBV,$]NP#[>S1!^U3QFIK<=S;YXT!Z="^F%U]2A)DB0H'=P@KF,-'R M8:9"Z>:&0K::+-UO4S<$)S\-NKN Q@GN8(5#T@J*!(](Q&B.?< M1-,,KQ^9(8-T*H='C!\U^A9622ZH%4(Z,)P%YM[NO'3G7&AQE6Q?)D4W8FP0 M@7L>5+DHTLMOL?-"F93$)=S4I$0,8U:NAT8 M3M!(A^T'-!')7JFV0N.:Y3M(*SZW6"\CSK^/YI.DD-["2G%""S]M6C P%;BU M1BDE/*+&6F9V-09TU,VOB)37H8M; G()$9_\;I\W+I@A2%*CO$CXZ. 8VMF* MWB+OAZV=FPOIB+1;(?.CR'V06ON2XKZ,F-]4BTF-<*['S8IT S*GBIMHM478 M4D-W06H>!],\L%-=A^9N 49NL9[\H&"SMX3[6-46 A*8Q!$AMV!L@^*Y*PJ=?;. MUZPB/7UWI.]69P[V0TQB @N?.!&Q8?+ ^KU "S-[LL)-<0AKR)N=V5 M:O;4@J[QF!F)*:6"<;U39M%%TCRX)H>9R>S+EQB]O1.4UUP*/Q'*N!/&! M8*)UX)2P#:X1I_?006 M?&T@H-'4W%>KV3Y==Z)'0:AA*$0/=KUD*?#=&;R;5PBNN>US_C%=1J9TBTK^ MM7 3C5IK:=LT+4#!NN"%X%:!E8? _S)N-R.%6Y2_._\(X*(K52,XLBX\CS32 MR;74+.-H,O_[:+HNO'%JD6G^Y(('A;F4(B4]""N-H7:[4$>,L6U^@G3^/N2E M%I1LZ.57)X]276KIE$?MBVAXI('+J)BA0:?%\&%NE./F@9_Z&IC1!287=:6N M]):0X)2D48'#JJ/G-DJY*P(1L4&JQ37#Z+IH=U%BX]<]PY9IU E$D3M&": MMCC$SGP/1VT1'@X%/0^*(8<*8B4L3:D)L'2EG$IM _?!(A(,"CSB*[TWNXFL MC@43=@S3D!FAI:/2.D\T]5P(KPA,"_P>ID.Z 'J899*[EO=Y(%Q#\*CP4A,J MHY:(JSYM+[W288<>070M3B(5I86:9Y8%KABV/@(.UDELGM6B^%Y@UW+1# M'IP'R#67@R"8^4A36H0Q,%>NK(C2!1(-H@&UN#4E<]7BIFM!A^!<<[(_T9[P MJ#C3CK(88;+([10?I2A(Q@(O%A>;,AF )K*)74YVVZ5K2 HRA MA[P3J[AQ&"O$,?::QACM@V%LK]:7:":QXT'Q'4,U=&9HJF"MD_!4'+AGQ&(% MBHQB82CH,MV\Y$>V9(B.Y'X>$+G$^NUP[7'-]'+Q8C:>KF[*FQ>SQX>)!\+L MTAGD6C6^+[\L+0STCR/\Z.F-!0@'_H-)DHB@&J8BJM7M_ 03V M7O]BOQZXO\Q^/>2(U8]4Z'L0A?8N.# ;G.2**T*M0(X%B0E)N>X\I^E3,PBB M&V*UOO@K$^*##KGH8S,7>R46KLO-$VM%C*LH5E#(=!Y^P3 MGX?[->_I!6.X4I9Z0@CR7'L?Q<:YM8R#77"E^P#=2/><7;^.@;QF3A$>I+=$ M*2Y@W4E7@4D2*2P_FB!#2?/"D1?;)^Z%,>?!E(L01RXE/\*'8U>9TZBL),YC M8C3G$3X4&IECE#.$120Y_;$?;1'K#O8+T^NDPCE^+7) BG Z2K6B7CK4:8?(*^;59@'2V),.\F,8P>?9N2 M<-.&P!JF$7;\G/F M/)@N72&@YH)6IWNA/#'1JXB04=Q'#+,. A,JF$6:M*B.GBW69K K6P_X#X5Y M)[52O0<4$A1T*OO"O/0F4.D$\SM=3;"\UB/<;B5_)JWZ@?9'8YX04DA*>30, M0UT*3ADAT2'&&?>41(FL MVFIB@26U5[K(M97G27KT ]\U,@AF3[WSX)D8SL$QT<+C0 S1VHNHS#!SWG+Q MXSQP!E$&8Z]";G#(=OJ!!?&$&:.$0]IS&P1H;X<4EP9%(U5H[M]ENUISL M: M%HED5E>/1UM77SWO4S#G0D#@=[BHG;$A:L1W.AM,TFO=S.Q;XOM57O_X7B?) M3""..4&4]X('*K2,1&" 1 G%#+X0AQJA-Y @RQU0+V8/6O[U;9S, M1K/Q9#1]4\YOJ_E]NJ.[@VC,\]]56,REIPA33P7XQD@[P;WTT7L4@I2#OG^T MES"L2T/<>\CG8CR??$K=7M_:U0+P6AP*]MP.H\W;MH7QS>PFS):3)=@[:WR6 MCPRI,R-,S[[8X-F+7QX)(CW>H4!&L> 1"]0DH\N"7Q>QQXY2A8VO=Z%0)Y/: M ?MHE(U14@]>R+ MANKJH(WYM$GAN:=8&RTB0YXQP3!2NT%'@P9ZMUTK^*M.H;@2.0[*-;B(^+*( M;:=@4L3@B<4T-2FP(,9:KQBFFCMNO?9F.V@:#,KJT1VWGWM<2AL@T;/XFM]B ME>XK1\(Y+YE%AF#I]<,TK'#-:S)VGL?6HT#;0-*S9/^?U6B^+.?3KV_+3]5\ M7XWE(ZT+*[$BX ]&%K3PDC#I]'8J!*L6&S"=7W+4HW3;@=*WXIV/9IN$\%H" M?MJ\T)H9ZZUR@HEHL<3$D1TPZ7*#C,?A%U3([5#IU21R98K)G[X ;__+_UU^ M/6H;/6E;,&2\HS' M7J%^:U90IRCUVFEI-2?( Q;LP690+;8?.K]DIS=Y-D:C5U&^+>\F"^#9;/EJ M='_(@-K7M+#*,T2U#)YHCI&S5ML='QV+SC+R]N8!&9W$XVP08U5/:!/H7V-G*)40Q.TQBBID3LI@4&1_,2R)W? M<=.;W+N!IB>)&S &;Y)!&*>CNP,2_JY-H32V.#I8@91Q)*2:2SL@J-;URF)D MNC^F!Y&VP:+7C];)KV,KJ$)H<\GY3+9:CZ?\W^732SM[7H7#,((UU9%@JS905WN'=A*QL<43DZ(MO'30I)!;%,1H>$48A(2N+.S6>R5:&.:]C%:@%% M3_)+0=?3-Q^KV?'-JZ?-0,T$:A5UAD>/5'*:)R8?WD^7!>*BGS0KCF%:6(>2,0X%QS07=>6M$M[BL%5_#ME5+.'J2 MY?OYZ&8RNWOW]?Y#-3T@R._:%"[MLH$:\9J3P)U7W#_LM,4H6I3*OX9]J#98 M]/PYAB_CCZ/977ED,WE?TZ13%%(*&4DXF'%1@#VWG80, ;=8*J]A@ZD#2'H^ MK(V3!:P"_V\YFD?XS:' PP.M"V$\)1@%2QGW@7#FH]^M&%B8YMXJN8:]IFY0 MR2+@33A(?1$_:E\$2TRT% G-E491I[L#=]-A"#?W7<@U[#IUA4M?KLMJ/O^. M@LP[]01++UN1+S[6$ZGJ53& M:'8\Y.)QP\*#%0BF0P0X?!"$QG2DL9V )*1%,-SU;#*U *1?B=Z/IM.G&3S[ M1?JX92$PF'\$EI9 G8T!2_I@0 AM?7-7AUS/9E(;1'H5:K@OYRG[\;=Y]>?R M8YWO=6^/ @;O+2%!RNA]Y(X)8Q^F!%9CPNJYA&ZL](OTJ[>K^/@5X5>,_WGT< MSDNCC:#+_^VBZ*G\O1XO5?)W@NWCXY>O9V[1Q-X=AV]%BLO#E!F<6B7"[,[.;E9/1A,H5IEXOM#&X>#1H:O*IF\^_F\"#?/13OY3V%1S$@ MXSQC6'/$F<'..Y[NYD)4ZWIY',/%\]3U2YV]H[!$."$ECH8@[A710A&+B&:> M,^%E\\6DX]N5+L2>:ABXCX9\Q](#*/;K(X47Y^4_5^5L?*CDP!F]P6@#G\P M7%1H;@S23J/ A' F%?;Q.2^E/*ODVP7H'*"Z*3F&$&9:7VE)MTY%?HA.^6#]>,8C!06/F'2<*V.Y M2%A0! H_&I/URN]ZI='O_ZO23F']W_\^K+\7$[KFTA' M'E!$, 40)U*%J#A).R$*>>ZXDH*";=L\@:/G*[T&925U!_!%=='S:31:P@X^ MIS#!1"D\=I%%;;4QV&SKM2)L;%#7;SQUPH0Z6BP7QC\X(;$"->^(M39PKX,1 MQ%.%-'S]CD8WS.M/AD6WLQ#,SJ87LT^KY6(-"JYO83WO57#&&-="JD@H!Q@U M$D;CD(J_>HYCUIM0FQM6'?DS.QF0PX'=5L#+[(:%,MZ['/L797 MUH\YTXAI\ZI"1!2\4X%1ZSC5',0#6AA$Q:0/3K7(X>Z=A<,XNKF,(')1VWP> M3:9I+K&:OQM-RVV2""!M[E/@T[_*&U:'\KTOU1>E(C]X)N+7VZT^ BXI/\+_UQ-/L,$'J\I?K)(YY, Y!&& MU7[&.ME%J*@HQA_C$$U M>A2.&=(Q!:"S@:VI,IZQO4)OX5VY7&Y"=&J= M]W3ZPL(1I-/]H@0SQ",&816+:WRJ'VZ M8\(+:;F/C'+.A;'*&.J(#X*I-G5'.\]_&!9;ND S%U,>C? \)7.\8X&5]D); M*Y4WX*LHA1@S+EK& C=!MX@>[KR.R+#(TRFNE\BY>54MR_YNK_RMJF[^G$RG MKYS8/(UK__WHJZY!C,SERB(?$K$WRT8'A]?_)[W+L MS?B?J\EB-_N3J43'NL$RR! S.G)C#$?,@O](M$*"D!BTJ%?EJY_9?KL[=L\$ M%O;KHY].)0"=^ZA"N,BT0U8)K'C 3!O&P6!0P4M$I,T937HTSZ<;T1Z\M+<7 MM :=G?-P#_%NZN\V+U^<"#H]VJ\P#&0AD.)6!DX8ME)+S[EE,0 \/.=UA&?% MFO;'A*>4ZQ"^7 ;8=H@G _.^:U>P2"DW,EI%I20H.HK\.DK1@\F!E;C22-". M!/B4%GU"-VR>"*(Y6(=2BQ1*%I4-6AF"G:;:TMCBYL0^ S1SL. \8'()>8]^ M/+%B'.A18!,5MMCRM*N_R?D0*F*"-#*!N9R! L-<*[H![I+$2'^=E^5)C7"R M;V&1UE93#%^/0M1'QA3;J41!";O2U:2UB&M0IE<@?PQV2>(XE^^_?"*:41 M8B(20;@.SE#B-)A6-LA@G&R>_W%^J-"P5IDV,/4NVH,!V4]:%!(FRXR50F,; MG60*E-M6G7FA#+^R=:&A4)Z*M!]PAB-UF(5FPEOMJ.2!8N5)L$*QP -,MT7\ M7Q_ZNEN9GC?U7,OS;K_YR"J\:U(@C+W#UCCC)7?(6Q%8BGA0%'YR;:KS]W7L MTLOF8T,\LIWJ;X*.UZ7[Z:*2)6A,X_:;8C&.:QC%Y&,=H/8[%=AS5[>C1",HOGT"-E\=.F;IY<,&L M\<%3) 7%'$EB)=?.:R".]<[6J['<,PJ'3IG:/[1PQ"EC D4!+ [EE0(=AQ E MJ(P>?STMK*"R@44M/)';8 MM[EKKL>=QOR<.0^F?%E$B^7KVY3PM#A9,>!9VT+'% QG&2;2NP(_O8<=U.Y6V9D &A@'/[<)W7$:9T M\/1"1801J%B0@N,N,"T)CL01JHUDLD7H>^?JY$(^U>7 'B9)TT3>_UEU1LOM M\XH@O11$,Z4UYT$[35,",,'&*1:U;G$?YW]K(C:#=\#4@]7.:T%<'_T: #Q< L9JU=V:O'M@H333R#)' MF'=NCWWGXSM,]IG;93GOG(+?/;6@R'ANF"64,QX) MR ,["Z:*$N JJA9[&YW7D+@J'K8!^309SS\UO%V?W#X&9EDM1_NB/AH^J9!> M">\%MD$3[@2W(@0?B.!!6 ![0+4B!GI2V VPPXDHV-ODPNFI1S[BET<"",[I M7D@.:XY4UG)M8>41E@GXKPG$8AD4DW4^A'YF_RB0X_!$ZB>JGGI((0$%(K3T M#OP/I-+=D,98P;FG1+JL=;F/7T77J5@/IJIVC%?.0("N0[L)"S)H&;CW\#^J MM!'6($73EIR,@[W^K0]9[@_J/@N@X83W(A)1P/"-&!NCUM@8(8BV.O)H$,'T MRH[>&PKE0 !PQ^ ,1^JY/)_2=^:3"4PD&%M4L94UPZHFB=JI2, >KAK682NTXUS&=C$2P!FV0GD>9E2HUZ]7U M)<.J%\ARD>+]?'13IFF?#B-\VK2P4B.+M"+(-18[:!;E^"]WU>=?;\I) MHH5.?UD?W#YB _RJ\-5XE0;UIIQ/JILPN_&@X?:0X&#;(H2(F5/@M@G")3&6 M$&2\9E0$#3]AZ TC!3:_[#"44)!#0(2!#0B?#ZI M2()S"G%) :#F@6J7L$=[95$W" Z 5Z_*8]=)'N]8H!A<#)I@T*_Q1@32 M95SJ6B&R?0=T[49=/WKKNQY%,G&$0&#XQ,B9Y$Y:K9HII.;M9*98W0D8BL_8T+(1@XPICI$ S'.FI--%=$@M42 ME:4Y"WLW/,QO*-*J8VCZ#-%Y/L"#)YS'FH/7XY"#E8M'1873B%,;B2'.,46Q MP^K*CMB[D-U1&O0#VS4P!2%"!3%<>NMXRFBEP2:/A@8$5@YO7I"WKS"O'#PX M#Y0+E\!I48 \5KY7P$18TP@E(C*6>,:1$89R0J%\"(:I%H MFJV$,,2"L\'62VF\4()'6YF>-_5(>JT890' MS"GERELDI36!ICJN+C[Z4B^-G>IV^JM];WQ^]J'?T;E:+Y?SK]K;0W\KJ;C[Z]'$R M?G1_.XCS'7!S.X?1?1OP[.9E M-;M;G^;7+_K1])$%-98+934VG'!LD>8(3'WJO%44%I]:\7=]GQN?.;GZQ\M- M'EP8ZJ.ADE /F''*== F78:HD?<.X9RW.1X]A>Z?$@(HE]AJQ02SR&O,?"IV M/?QS[W[9\:PC;LW:!/;EZ?ZEH8332-EK$HO$18(.W@-XY&(JB5 M(ES9]ECWDCY)H7X!_1$XYK$4Z9)@'X3A6,"\4;J[PZH0I)5\F%<>7XY!Y\&5 MBR#K2S2VVOI5N3R9];6W?6&)1P2G.X*=XI0)BY!DCFAF$,(Z9-4F]9SY[L3U MU$+J * ^-]PWZ6P/2_'A$[/G#0M.9(PVG2M(S56(VF,5B(TF:JICBSV;;+$7 M6>R23M#KDP,ID?'U[7=#/!J)=;!]0;2@/,!B%Q2WQ#A,*=DMB\R9:ZN+TU9R MU04PNPZB@+4$<"D/2E3S"):4$NF<>E..V/MA%:G)0H/S$#DMY0.UF,W]Z%_5 M[."Z_JQ-$4VZ8L^DK!_-F2%*89BJ(D%SF*XFPUG+.\*WZ@:)RYGT7]_# ,[? M<]CU*B1G#,P2[ E&W%!M(@;](RGE/@IAFI_498N(N?1V0T,H+T:9--[S'2-G(L-6SST9>NP[5@9X%=PI)BB@WQG$NF=$&@:7E M#=:",9;UIMN&NPI-I'>@VE0W* VV;HRGGF-!/ C.2%"6V8"Y0".\=C+G*78 M:PH[V^%;5Z!=;'F 0:=?C.Y*?,[Z\*A;095SZNQ[?*XX8=JM=R"O;D8>OO#NIC.[Z/YW20];!-=8TOH M5SZ+'KI8F,AV.F_+3ZD"P^SN;3D&*4[@/7>)#+&:/]QY_&9>W4Z6*2@L,6K; M\7WU+2&PO'E9(XJDIS<63D5K(QBOG@LNO=.2"1; :T;,PE_"Y8),'F:XK6]Q M?'Z+[R=X*M"D_<,+8DC$ 2OMN.;44>L,C1JL1' "TA[&4()-+LZ<5&GP0 =;4"&G MJ*NNX.O)U-Z,YZ"W_;1)P?TZW-R"[ZE26I",6OE@$0D8/CCGKVRKII5<\]IT)9@2M(N-D E1+UZ0=DV57J1ZWD(9(NYV&73VM4"5L'% MSJ@]=0_.T7X%5T& SR QIAJ6T50NDA@?G. Q:.%SYML,7;?W 6@V\FR&>'*W M];MVA0^1>AN8Y9%Q[=-Y,WE0<(Z**UL$.A;@4UKT"=VP><(TTUI%*:C$W""J MO3#86>2%1@+)G#=EUM^'S\&"\X#))>17J[0'E78\DD^6=.%NZD)=-3V6^'NX$YA?[>WY-^AD:0YFKE8\;9< ME/"NC\!A7WXNI]6GA$/8W%Y_=$?U2+\B"FD\,8Y9:KE#7E/'E!#>$B2Q;G'9 M76]5O8?&G"[QS6?,3A->,.3?1_,_RH35:2(=[E3$E*OO@Y<^(,Z],U)2!F9^ M("D"K,6-%+W5_QX:BSH#-]LB5AT"R5V M#M1NX,Y12X5'&#D17?0J-L^#$O]=R-0MPMFUF0SS"@:OZU_S?T7[1E M^Z*>(7M9CA;E(DYF(V#^:/JP$_7B_M-H#%ZL-Z-9_YF< MR#RO^WVT7,TGRZ^/=N[7__!R,OH RF#9NZPWP^BW-L_F'>]6GSYMSO9'4S=: M?(S3ZL\\L^N9QMN(J:3![S:]037#(CQ>VM$4J-U_E:73(\@.@9\L1G=W\_)N M>S"U;7'I.V0.#.MEC=BO4UT+B[1A F&#I.5>4AVX]EH1G"X+\^2"E8(.#/U4 M>-:Q;@5QUAOJ+6(RN2Q2.972+JQ7DDL5I9(QA!.,E0PT!&5BQ&G7*VMYXUH9[KG8A$+)ZRB1N?4]S42X#O MO6H)0:X-M_![,">3"K\U*G"* L-("41LNA[+&F]"RNY6\*/5S;?4.C^*[E:0 MK:%H7FQB6QOX;7D'B"U.5)W8U[CP3*?;2IFQF'%#N!84612M(%%KK 9TS7.W M0NL,DGSGNVMS,FWH[ESU?TR6'W>;E>'+>+JZ66]]+4KXW\W[T9>CI[YG/ZV0 M6&%C#3+I_C1JE5H;'6#-:@(&"!]0I9+>/;G^X>MY5[SV]DOV;:!^-Q:?O^]- M-9V,)UE?^>BLX7^O;C;A:ODW_/:-HF=IOUM6XS\^5E/XZA?AGZL,F]7/W]@O MOYZ_KV](5Q\6Y3]7*:0D'<%<>K?TR7#J[)(>ZE(8%ZPPT7K%"3),>NXL-B9J M6-8MKE>6.!IJ:_$\#65I MCT;.W<_6Y#A=+.Q CT()2L&)X(PZ:25V*"J_!07< )^SXN]YA<):2?@$79J! MDRUR[OEH3Z>$'.I3:,HP)0I%;5747BH5 ]B0FF.)D%6V>++].(RMS\XD=YH) MK7#Z,3DQJ'W/X5%A$!0X7?9[7_N"(NLQ#LE/-48Z*8B-:6Z!1@>P9;V.L6;, M6GLY'9=\(V2RQ0)R+C:T-R6[!JGG39^QU'N]'2TFXY2',9FNEN7-JW*YB5M]4\[??1S-R\;%J0YLSW\K MF.NJ^T^KY79G[R#T,XH)$@@/L*L=_/%L-8-S77/+>9C59_.@FX@M7\TUT(B MSW6T1 K!XWIW8S-HRB49IJ?>"OY#18":07$E[:7#$!G1%U@47]Z[@RY8"N+/83]R+_EV[0MATH*\QS,(A[#Q& MU&WGP@F..2MU#9<*74"7BP;_*"=W'P$#\[FB+ M-61':'+6@5IG2TM' N4=\AX7#& TG4FH -.H3VHO2;(O;LXF8F_]: M;3:=SB7>5"@!J$LCF1>>8JJ50G&'1U2V^;+9>=&.H9*N,W"S17Q_0V<]Y%,+Z-[V M!;6("X&\(-)Y$P+X#_+1W)K?(]-Y@8X!$*<+""]%CRTT9Q!DVZ,@B,($,6;8 M**\=-]J*[?R$UBWNG^J\^L8 *=(,Q%PD,;/EY":-.4ZV"2;G81$27 M-YN(Z4<8/IVJ%QK0 ,Y2-V3/7#IN.-=BXEEKJ6L=OSS$Y&&7_7L(CPN7&P'AQ5F&/*=;JB#'%+O4&< MR.'$%[<0QJ'Z\DT0&'1,\=]'T]6F4M5T6OVYKL\":C^5EIQ_+A^H" M5UA2SH(,W)EU<7Y/11!,7EF1AK[D?A:M^H'V1V(==2:HZ+A$)F53(Y/.)M/- M\I$XZ5OL1/49\CP$3IT'7+9@Z)VR?C(BNT,"*I_XRG>I=8JKH )9O MT/\VVSQJ1R#5U'>G$Z .-2GP%%;+0BB M,"OD(]/.BIVBU,I=ZQK44J!/Z9$+ONODD$""F^"#%Y;Q].T1X[5A*!HLN2/# M"O/)S9#SP,F^:KCI:+%X?;O.M*Z[N#"8"HF"JMTI,(S*]K7S.: MB_'I93B]8W6_O@P6I3_^6__/U!+ P04 " ";@%]/^(5,&'JM !'^P< %0 M &ER8G0M,C Q.3 Y,CA?;&%B+GAM;.2]^Y/;.)8N^/O]*[@]$7N[(M)=>#]Z M9^8&GC..ZRY[;7?/W:C84,@IIJW;:=$M*5UV__4+4J12SE0J"9"06+'3$ZY4 M/HCO?" ^G ,<'/SK__CV^;;X6JXWRVKU;W^ ?P)_*,K5=;58KC[^VQ_^^NZ% M>F=>OOS#__CW__:O_\>+%_]+OWU5V.KZ[G.YVA9F7_NED>^\7P6/CS M__K+JW>-G2^6J\UVOKHN__#O_ZTH=G2LJ]OR;7E3U/_]Z]N73Z*3/]>_\?.J M_%CS_:9<+ZO%N^U\O7TU_U#>!AC-TSZMRYOCC[A=KW]X0LV0K!F"K&;H7YYY M\/;[E_+?_K!9?OYR&^CY>0#^!,#;QV!SH6M(^"4%Y"E6'SYP9+SOP] MQT7\ M^)$C8]Z]:&ZUR/'^/GSLR-C'A9SUS:BV\]N1WXQ'CWP2\VW]6Z_"5^TOUD\_ M(;]-XZVH'CRX_+8M5XMRT8CF#X\NEHM_^T/X:G:W>?%Q/O\R>[W^.%\M_]E, M)J9:;:K;Y:+YH%:+-^MR$V:LYN/K&[]SF^#U&W+>BK;J ^;[7I^O9T1 M;BE!UDE%K><2>@N!=1H@#X3W3L^:QF?EZL5?WW50FV_E $,UL**>\7>&_?LA_JOB!PN*^6I1'-I0 M5#?%WHKBWHSBU\Z0__=??[XGZH>>K*Z/O9H-_)OYYD-C0\MIL 6*G\O;[:;[ MSHOZ.R\ ;"?Z?QF5_(>=6UU?J'-W?75;NTG5NAUB/XP$M;XNJO6B7 ?WK?NC M^?KZF9>B_8V?KZO@DWS9OOCA_:C=N(O:7%UR..T8#P0=8_N1[OPRW]ZMR]< D2]E]@C:HB1 M!'GFN3*>4FL]BI&%[1-S_0EML.7F>KW\T@U]?;=9KLK-YLDQ/AIK_:0W,V%Q M.KH#4]-T#Z?X]7V8U@H=AM??SZR,C[DY(7,#B)R&9@TQH!KMI8I3D[ULO;XQ M\\TG?UO]=B]@(:!DB "+E H#Q 8]0Q0J@1ACDC-L>XZ006WD&RM[6/5PJ8$5 M#;*+N1&G:#HQ;$9A=QH#:!Q3J@QO7^0476[KIMZLJZ_+$$SH[W_=E(N7JW8P MKSZJZ^WRZW*[+.^!A!%,(9:A44HX,X9@:#H@0 L0-86/WWSF*;X9?3?-Z&M6 M]*H.:C'?8_USY(2?H0]Z.@27I3_282BW.^WKX!8?OA=_K!$7R]5/Q1YT<8_Z M8@(93^PI;R-?+TU#3',:^-!;R6RWK0+ALTT9H80T]ON9] M];:L[5O>EC^T_+Z*E3+BM01 24\)M!);10QIH3JIE(B1F8L S*Q6!S;5HW#= M656L]C)6?[_^=%U[(G^\Z[R/+P<^R3&7\*KYHQ"];3^517ES4UZ')L+'^?4_ M[I:;91TW1WJ-EWE!^@GMY-^-.+U^\%KL#2H>"WGX\>_%1\W122>FC8N^$].8 M?2Y+036A,1HW%]KR2Y#B9;.Z&+Z^+=O]#?6Y6F_;O8\9Q4H[Q:@'6 )*D,-2 MM4U[AB6+F=M&:3#[7L,]QF;C<7X +FXJ&8???E/#V:F-D_I#>%?%'F!#L.I# MD=E?-I2.FX)E49W]'(38Y/(?+3\R"TIOK\I5QMVL: 0MI8CX"" MEBJ%0JS1-48\BEH?2&PBLYR]VU;7?W]1IQDNBNL#7'%*EDI?S]VA_,Q%[@O5 M@%K23!_2\NP&':7EU#[0,!ZGH4!#C7BX]S,&)WU5)KAXZS*T9Y04^>P(&J?A7@/JN5S0 M'J[ #MD^\*^Q-7%\G":-1'8_B3HCP4F*U>$K_M@A_"GP6^RY;J/I!N9Y5:P7 MW^R4U1X@%W%&&E&!6 V0M M[P!0!4E,Z#=BL[G3;#Z%3^6F]@T.ME,VFW*[:=9B;I?S#\O;W0+Z__DO D'T M?S6[,3\5NT<.=='2NR/53SM+3XSBK-WO8K10+[:%T9_%*,=M<%=,0R9S&/:L M"S<2=^E"JJZOJ[O5=O.VO"Z77^N$BAEP(7(&!FCO-"$86&3PKFD.)!1XE$ V MH=WS>'<=L'H[NT4V5!U3.$[5Q5R\CJF(>XK?/D_QF83P,6U1$CB ]:F*WQ"3 MGI6]P7RE"][+U==R%:@.KM ,*JHMX4H"AHRRE//@KK9M,@C%[/!P;<)@C&DK M0=WBA*T#\WVHG$4QF*ICHU,WIH =@+NTD,#0AK MZ\#Z/F.D">!F6#L@F;82:I-#U&R\CAJ>-CP?I-J=9OI<@>D1[N*"TB'D3U7HAAGU?# ZG+/A@>B; M^??&'U3:>N>U@IX00+'Q&KBN72MY5/+U\-9R9U)W$=&7'9ZQ(L[>9 X--W/P M.&ZL^>899L\<:+9PDJ+,6+*G*F?)]O2.+].8&NB_A<;7=\'=N5]SGQEKD:8> M(DL,U2"HJ:==^PX).G!7(K'5_*)6(RK*W=[0;B>B:MR-@_V(47RZ%,H'N769 MV1[1L^MZX54/RL_IW#UF,-Z_&] +4]7$P7;U\_(&,S=^Q809Y0Y)Y!0DFGG@ M.<"H"[*A@=S/MONB<2,>U7^VV2B5?**LW3.G6R-/Q^6JE_!\#_33S N1'R>: M"?41IEH4X81P9NB*:2AG#L.2BQ]$]%5UP8%U&2 %U=]^?Q->^JU:+5SX[I?Z5V9< M66WKXI*2&P,8\=*1#@# $B8DRXS8^IE29A:+Y:X@9753.Z\-V";:+SND<:([ M)O_]Q/;); >R+IO0PBPZG%=%@_2JH=T]2WL68>U/X@E!S= 3TQ#2'(95 MV=_B-.'TU3HT?5V6BXT/1#1+#D=D?":@U3R\31C!X"=;#RCL-I>@=-M2[^V(%M0H6?VM728X[J942T M)YT]E'3LCIF6G(YNW1.:FH?%WL)ZT/2[^6U=0+I9QFUDXA@,SJQ7G%.C&5%< M,LKD'@8ACL>.9E@!]&=K$)B&O'M/9%@UNZ6Q-(\$E'[X&>\GI)\B/U M]0?>W[6\M]M0#=ZK*0AL)*&G%#97WTQ$8K.9]U!C\_*8'/9W-U*4FU_*MLIX M^Y/%C&!GI1:<2B 5]%!;#CL(B%$4);!C-GR.-=8O\^6B\:(^M$ /*S/NBSZ">(_\\ZP GB(Q9"1BC/R:B MK%E,>VXU8#S^DA55?9TO;^N4K.!.UTK_KKR^6^\TG05OF2CD+?(8,@FYIYVF M(PPIC4MS'[/E[+GN;\+W/\WK%*DP<.\=U,3X?Q2R$R4S-\NC*>8>Z(LPC;UH M8H1[K!>6RZ=)C%'+$;IBHF(YAF7/:>5H[*5&^&JU^$M]5U2(65_?G$ #(+)" M>HF=T(Y!R0#4'1IMD!L2Z(^%(;-+6J/999=^WJ%=#E727'V1%O)?HAL&1_YU M=W2HZ\ZPY8?M@<1>'5'@RZX#]&0Y8CE@['Z;B!SGMO*9Q8$\K(Z?DS6C7 %J M,,+<\M"VE4+ /0 BP0CYK"G-GBN?M4UG/9J$E2L'ZWG.^RGPA>B.$]V$G*NI M)EJ-DF#5NRNFH:,Y#$M.J(KD;J!:MGF@CI[!.J@/!JGHN>@?54WWH">: RM](HZ*+@PLFLL?&V3%POZ-W'6O?_R\Y?; MZGM9%IL:8/&E1CA@*2""R(1(/P^'@P+YAK4W)UG+'YOO>>D;>L<3.0VA&FK$ MJ< YE9/8G9ZWY6V3 EF]GW_[K^7VTZ?J=A&$KP[/CU_9@!D1#@ /A&926X^( M[.J^86FL&9 ".CJ6\^2"OMQ?H%#\=H^Z+@WRN2V%5-6W[03'I/YQ$9ZT72^O MZ\\[E6N=^[3-H_'[+VXGZ3)]-FQ;J<5<;R\%U,4!["9'8AK7SJ02W&/+*5N? M3426LYOYQ&949EX3DOK?EE_:K>K7-Z'ES]6JF5AFT@!%83.;4$2,]*'9KF%E MJ4Q)AAK07.[]ID9FUWMPZ7GZR7S&B>J9J$R4SUHC[^$UN4L-P)W[>;'L^R<8 MZY=P/Y3N:2G?& 8]G58_#E?C+TG.H##8.:F=L0QZ5R=$T3T S]D(&S@IS9Y[ M ^?8&F2N)73$-=X*@-9_8'=UB;,T8MVF(=X!;7[:T\P979I<*O%KLORGOL<4(Z;G?T MD]*+]42TJ)'6Y)N._.8+UX/\+&H:0^0)/&%'D-# M5?"7U^OOP37^V_SVKIQ9AZAD$E+ L# (2J*ZS2Y,B+"S+PWF=]OY>CM$0F/; MC1G$#R'&C^>'BGE5S+?%A_+C>\CO)W M*(L&YA0D\P%ST5J9ROR413+9IE[J.(RQ<6518X>T%-(K0"FQDNI]#@#F#H)6 M%MVJYVG+<5J-%\4.X$B26-8%ZI\5P]_Q*.W; [^G4=K;IJ11&L=8WU'Z[N[+ ME]NRW@"9W]8 _&WUV\O53;7^W&SD[I,#I0Y-(0^4!- Q:JE$W;T5Q' ;=0G. M6&WFWEP]@%DLEIOKVVISMR[W]23JY.@0#NYQ1V9#C\9\/[?E$J3'.2X_\-W( M8XVQ. !YL33GGN2=4,6QZ9^&+HYN597WI8V^5:?Z7+Z??RLW;^;+Q4PIX9@' M,CP=5LFD(2S+ZQY?.#&"A=R9',"H,H-?K-_/UMOV@[LM0 M^>6W M2@S)V$?3T-.L%CY,%U":GW1]VXI<((@[&PU'IB/0O^ MHG*&4861ZWM4(/GY.8.H#E*QPW3!F.DX.2>#I(%\3F.P#3?C41@T"B_]XY[= M??/?[7[1XS[2$L!C+RWW%"+B"28"U<7[D<4>P]ZEVD\U08U4E 0#'+$4:R % MU%)AS4)H)SW*>G-OBZJXAW6Q\7."HI-N_W!BIS&*1K'D43@P%CN]IZ#K3^7B MKBXDO&_;W*W7X:OWM1O[OORVU;=UCKDE4%F,O?->0 3#F(+[@04QB#H0W;M1 M&/3"8\: !3S8;F5=%QY3@RW7#N&H>2IEU:'Z_*5:-;-4B +V6"/744=CN.>D M?PER(YV %N(/K%X5+>.;]="3R,/; MKH+YWGW]P:HSEQ"H8FJ%6::T!I1XJ*0,$ MBMVS1;1';>L\8_0>8W$ LH_GD9'E177=_,GN0.?DV/X!WIE9?Z"*-0>UUDD@ MD6B4+H:5(RJ7A=3+*EP>DZJ,+V&BK M<=Z<.(7XSW+Q<;GZ:,O-\N-JMWW];;F9.4.0AW7%0P6HI% I8=O&F!,X2B@2 MF\BL%RVJX@!6F&0#L$C=2"6PGWR<@;LX%4F@+8N:'"?FA*@,9'(:VC+4B&K4 MMVNHTMCJ\WRYFGFB#'=8 B8EE((BJG#7G/<@ZEAL6=2G1V,*-V)Y'.JRA-KQK/:D\1+1#+,HFVJ7/RE_/RA7,\X=]XB MJA$06GO&I(6R:TD"&W4':,KS,VO.+]5V/V3*13'?%-U N@] BU]W6"-%*(G- MWIDI68F,S3P9@\-TDUG?VF3\/;:B Y>TOC2(T'YR=BXNXV0LF<:,1QR.?RG4(5^NC2/-M MX\?5(-RWNJIYV;IRX4W 1' D-''!I0. &K]WY8A0,<(U2H.9]:O!6!R"+-I1 M^,<6YT^)0>0X=/<3M+,S':=KHY"<1>'Z$'="Z$;E?1IZ-ZY)5<;W-+):3[79 MOKYI[J]NVZ&2"& YI8P( KV4F-"V'6D1PK.OY?I#U5?LXI\?,]X.H?0>=C6D M.@]P77XM5R=J88W%5S^MRDM4G#!U#.VN-;^,!#WBXX3>I',W#7$9@/]A2:&! M3/0^WE*W\'8W@'XINP4O&1I@1%(CA4.< P9EE]8@ =11X5U:"YG=HMV :%%= M%76!V#0O*)&_?E*2G[HX.4EA+<\!E&/$G-"5841.0UL&VO#P',D(C,2G5A^D M<_]'" 1?59N-_MZNNC=75-4%)3XMOS3K6HA**#@T "$"C2,>T[W@(2VC#M1E M@G"F5*A#7$DKX[EZH.\>X,7)C].Y%-XS)X+','=R;S!K5TQ#*7,;^63V>49. M(U-'#UMK%]T0L=YSS8/K" ES!A,FNO8, U$%(--;N8AB#LD>36&RGRR>A\0Q ME.^2":2/Z7D^@W0 I=-0L!'L.)Y#.IB9F.+1=;''MMW6OP0(8 &Q,0*%?PAQ MU/*N+:KC5M_36LBL/_=53[N1E!96)M+7%4(2Z0QT0$0;.@>RG-F>A,$YPTMC+HCE/L7-"=@83.@WE&6Y&-?*+ M-EQ_6I=*48P=T-@3*IF#Q #NN@:]17ZH O5LYD(:E!1M#6$S78OK]5VY>+6-I?Y=AGLBG"+"!%A5ZBIP3 M&C28SVDHT' SJI'?L[0$S.M=0;K'S4*E, '"*NZADTHAM-]>5,RHJ%(I@QL[ M5^)E"W $61K.;S]Y.BNU<3(UC-6L*99/L=4CO7(PT=/0K_',>2*MHO2L MK:ZYJW??97#JX*1)8@V&.C1*%<2F:RY\*ZH:0G(C9]&OKN)L>U?$ -U*XC%" MKW)3F*)3L>SETZ#3+CF X-YR71G_JA1:4=H4 (XH!C#@L* M]Z5?E#/ #'"EHMHYMQ>HO[.4Q.R$=&FH):== MI 'L#,GJ?+O<_+U9A28!PT#ZF&3$02;YOD@D)XLZ>#&HJ9E0E'4.Y1W=5 M?/A>_#+?[FX=&2=-LS^E_03J;%S&*=316MZ3R;GL"(K,K(SF=1KZ-(XI/;(D M$_F)5RA3K9K:X>_#W[<+\(91$T)#P#7#@%$/.)7W+EO<'MV@AC)[4 <#JP.7 MN$4WC,Y8=6^ M77\*KUH9/OXV7W<5]I!U4'GAC)&*2V^8MJQMTB!#4(PZ#6HHLSJUV(H.7-&B M2PSPAG':3Z+.1F><1*4SF46G3K%T0J=&(7<:.C6.*56&ER].I]RJ7'_\OJLT MI;TQ6'CEN'%.$$)EM\QE)(O+(HAX;&8-VB%)"MABN.FG+IEHB=.2?HQDT8U[ M^T^H1 ))T]"$%.#5X!&8MZ/ 4-: D-R">KGZBD)6I M.&&((BF+.CPDXX1")/,V#95(AU^-]/ZDJT4G2PH!CI6PK+Z"33I#0!>*6 UL M5.V.A,>?5S&2G(@4TN)5(P-?@W3C(G[%8T)Z:D]-3CU@#3NA'$A=]%>1- MM5GNCVM!2 W%@BJOI0908X6[XZ(6.A55J"+JP9E5H\.2Y&+$,=1/*+*1$R<1 M?7G)H@V'')Q0A22JIJ$':="K$5Z5- WHA,9R1X%FGEC)L*/6F+W02,ZC>BA")&$34L38L$_H0I)',1G<;Q:KLJ7 MV_+S9D:]1$I@H RQB+K0'N\*R%O$L$Q+WNC__//E;/Q:@RH:5,GI&A&\]1.+ MW)3%*48L6YGS,O:4]$K'B"=P&@HRR((GDR]2V7A.2Q;EP$9P]@[AKCKSF%;)U"O(XGI3\^M(RVH8H>J"+"*&E<_(1E MVFD9.0]?D2(22]41%=ET,K(IK__TL?KZZ44"(&/L8XJXOA,F,8C%Y*2=G!Y[OKH88WGNM M%^7NTVEH^QGM[7.90T:FXVK15)^_K,M/Y6K3X*NO%OSK:EW.;Y?_+!<=AM>K M>QLV:KW91YI2P9!U""(I'<6([)!Z4"<5QQW2 MO@3"&"4:>+;[B-2\+:^KCZO:LB)\:DN^'!*POP6TU21W-P][4ZWKC9.4 M.CIG?@?Z33I3[_RX::A'5]X;=CCM%-6J.#"O:.TK=@:V:XM7Q8?&QB(8>8E2 M0*/VTHE)ZY+OQ#2FL8LR<+1VT25[X[FI;KD*[6T/9N P[0:-G-^JS]7=:CM# M6!'@O-4 UV<'8&UPJ+VZ]K;<4'VOH,)4?T<2P2+ZMQHUE1C?MJI2[ ["HFS8+3 M;IQEC&H!N0<,.V6Z9@3444=A(/4<'W@5/T['J VOKYZ,.@$IYZPN M3,LT5PKK=DG 0PAUU.FYW%@R:] NM#J,D7HM[A7S;5&;431V)"S/9N_"B#AY M(KV7$A-G[;A\,6\ZX\_%MV?HRVEH]MFL/1:WGHWEE*3D?3'RF5?48T>Y%T1A M)^L8>-\6IC"QIEQ,"^?S(#M4W].SDB.(BW4E85!P86P<)B&4QL]PJ.[/>,E5=PEG=B0+K!U%Z',;(0SODFG"]!882>BLU; M..?+,;49Z5(T],ER.'^_]$_8_?QYN=UY]ZM%7:$UN/SEZCK,Q':YN;ZM-G?K M4GW8-(5;Z[)HC +CE"$,.N(88\XZ#9 C%FG6M\YG7*/4.0^JQQ!Y,G,U1X=,0R$RV?8HOS4? M@\_N[JX_;&<'K=3*$<*AMV4C+.^K_YJOU_/5]GMS9^'\]GXT"R(P4MY:PB&B M' =8W6B&(:1_;L*6[/3G!0$$HG= M_G(:7\?VG3,S?^']Z-S65>=Y?^,\H[]47\OZ37ZY>K<-D_]\O7BSKA9WU]L' M,-Y6M[=ML>A9D'6"&$%>"JHM A("W@UDK4S4;E1*^QXS0"W45FE.F>8ZO.\> MX\ .PT1!G3G.[R#7.9L=Z*)%?60(U\B[6NJ1%1BR=$X_Y_72_1(WY67IDBR^ M; *O)SS:G+TT#;\VJX75^=[Y.%4^W?Z,0^@<)EQ3K+FG0H?AWHUQ3YV??6GR M+,-3UMM^,OQ,@\%M%Y 1X1F&E#HI*>!<0PZ=-=RAJ$SJA]AZ#W(]#Q^ORWI# M^$/Y<;E:U3O%U4VQ>V"3JA?R,1/ VI&\N8 M*LM+.*: M1^7Y>;E9G-7+F8,<^$]8190!I7E 8%IQYLSW.H8CS*R:>F@@1P! M"PFD&DD!$#-80*)\D ":O9;?NOJZW$2?Y!F;WS'T+"NU(^O;5;VQLB[GF[*X MJ=;%/?1BAWU*^O>0UV0]3.Z@WX,^IAL7I9<#.1Q'/]_,OS=KL#/..)6,:$0A ME 0XH"CMQG5=6'6V*C_6JPIC*.>^41Q:4)82K@"F1%+%@<+2:PNY,4%B>@UK MN1O6A_AZC^[]8+[;S#]&EAT9B]@Q!'-<1G,)I2T/A+*#/"5][# EZV)T/_P> M]##>J"@=3.1LI 8*40E BP$94 8YS72NAN>%AG6!L!N-8KRS8053BCD);*, M8@4$XEQJZP$ M+[;,S[\[9"E!+_E:M$C[/U=!6I]"?X]#+S^QL0%:G$<]1UH M=:VBWY:WMVJU>+D* #XN/]RV9V&.[.AB[B41C%#+M31"4&%4&(O&$*Z%HGW+ M_\8U"EF]G":H!@)2YY0 TG.G"3/(>8R#.1Y$C=*$=90.5E=;KQFVOS;0 M(C?=DDGL&1*<@;_(&""%NCSNQ7%N3OD5 ]F]WKN,")QS-&D!60R*"< M%$HO)9(T^$. &2\TSETE\ =4N\L"HJYD&D+<:9$Y$V=Q^I) 5Q]U";8>*$OX M]%!5GB;CB*",P-QEM60, ZK1WJ(A"M)>!N.A 4932;W S$A L?;=4( &]BI, M>K(! ! .@XMRJPVMM[ZPTXB$ >B $X3F+J9Q=%A$7>@TC+X4)(<1<-PY4 M"+GZRLC]$UWX0Z88#G^.*2%$,D&/)P$:<$ MO6@8;>3O+7YBJ,OY2?/Y3K&0Z:H+T21A"B,:766]B] MKC:XRE'CMWTF=8Q3"R6S3C2(!>4($4"YY^GXI[57J#8P)C,5MP.0A*W&3 MY7)W+SZBH\=.23QUTUAK'(#_B1V/5"9B=6/&&)<$UIN?TB-/A, 4="\_\@RF MR,4L/ 4)H0A'7E$GG)(0 *FP(91A8MF95")-&)ZG)$X/1F4C308N,_)[#/C> MW$QKG/>'_<3PCK0[.O'@^A]WRW6Y."P0/E/24$2K$8SD^L2OEJ72X_KLS=>EVNKK^_7\]7 MF]MF';,K>C.S5!FOE-::,RLA T;>3\7*) 4S/9I%QGE"'&8,.PJA%5AKQZ52 M!FA*;.Z\B_N!UV(M.K#% =K#RE=IFC9&!\0IW)FY3]6[P;1G5<#G2>RAAR/V MQ+34<4S#GM#*T;GK5:;G]=UV4V>SUO+\>K//>C/">Q5\1J\9]I KZ"F%%FIF M/)&$/+?U,.31^8;B : B($HKIY-*6$3)G#,0EU86)X' ?D5OCEM\1'#&X&<" MQ6N&6E"-][;$EN=;-8^_F]^^_G"[_+A[F[WP!$#'D6'>$>*1YJ1MBT(AHY9[ MTEK(GP'2@2KN4<5>HYU$73]7*#]K<5(;25BF8H1'.#GAQ SCV.^'6MH)E$B>(N5I?(I2A>@RATQ^ MX*&/LL01-C$-B03_E%JDQ5^7%^ZU;;Y?9[DTP&/-10U45I&/-$ M< ZU[%YV@&@O43CV7(.@!=A*Y96B@@/%#-5*0VJ1JM>',RM" Z?8X8G*W4SB MZ+0@Y*8G3@UBF#FB!YN'%ZX&ZVHMD/47S9K @00*"&$X]0128YRP4!+G MB#6". :BRCTG#/CNA8Y*\HQGYOF1GHV4N&'>EX\QAOBAR4^,[R16+C^XTV!7 M ]^&1"__U7U>&#'$U:\O59AX@JSQW83EF =1*WE''F\H,T&2;!@MFD)C!)6 M&N&"+48YFSN=^\"??96:Z9E"6J3;GX>O9->_#U5Y_?]7/;(]![ WL3@@P8"G M8H%4+OHJR)O0V^5Z72[>;:OKO[_[- ]OE+K;?JK6RW^6BYEC4)/Z5F: <,( MPN "=P/#.H%CU.29IH1TG"C$@#*8>B"TD0 :H!57QC"?^Z#Y'EVQJ>%=%9L& M8#'?(XQ3F:'$]E.<,W(:IS[W=+[;T;G#5JCGZ).J%*(S$\#84:RY@J MRULX7+D.=E)G"N,PAW,+"+?4"XMM\+;:$:8,!4.EZ[ M+FQ]CM9Q@8.'QZP" MR'CD#56-HY<[M?4I[:KN(0X7KRANT]4K%ZWCR-?K'HR>3;\.P$0*6 K)TU6P M)&MZ2%@Z2S%W)5:KILDW\_7K=>/V+9KKT-^4ZP;%S%+GK0 0*RR5L=A+J+NQ M1JAD<:D9S[<'+0-8.EO?O$XU4"HT+1G@BN$ZZ2?W4;X=Q$[(OLS7Q=<:7FRF MQ@B\]M.P^9?(:VDXD>XY$^#5T; MU:(C-TF.RU:"OCWR"@U##FB(I*'0(L4(]5TF2'T=3-2YHU/M>*)L>*#Q4B-* MK)$04@/J/U+"N50W3LPK'D"8KZ:58RL9/3JG1+ MGM:H@>PD:U-[R80%'&#@G+%&6*%M7;"Q'4?>$AFUY/54&Q!KPDD(FSAV06V9 M(M(J[2U'$LK\Y1*.:M+R]&4LXW*8J$49Z!NN0U<7N)T#JW%]QR'CALEN!@_2UZ\*8Z^&$.9*:^R((Y(B@Y46 M1 '%/.&4,Y._INL1^4E>JQI&::(0Y6)S##6ZV!K5*99B="F%W(F*4Y(ISRE4 M.C^]\PK*C_7FX]OR2[7>AF;N+Z7 6"#M*; *H^"6U>N^[7A2BO7>MGKR^FUY[5I&;?+=Y"*/:;+)>D_0](5EOU.B'7X'((OYA^ 4A 'YM5S= ME5>%J3;->9K]-_YC76TVQ5_FZX_+57MMS'7UN2P^E.$99??I_?Q;^?0=:N?M MQY[J.($NC!3/@VLM'@OI >JKXL/W_6_LCB04M0%%8\'%KL"(XOF4#F?NN8G( M=&XKG[QB(R>K"<<<=PJC5HO@HGU9EY_*U6;YM6R_VTTUP3&B1D+%.72(FCJ6 M!.W]>5!(U/<>K]AF$>4428"(EH 20&6@0DA'J1(2$I'QE,$/AQ]_@-A)\@2. M/_;AL$^NXLB],9$!GLNZI\]'9F Q>D"_NRY7\_6RVMT.4Q_#!)I CSPWSGC3 MIKB$8,P$^W5 MF-OY9A-"IWK]N%$^+P'&U"M&/<).6,&Q[8:/##"2/)M'K4!F'& :6 T$M1Y( MRX$$S$G@--4Z]R'P!D^S'%$C&N;CQ#,8Z>=D)2]R2RF*M[P>ST-:^G@]R51. M1'>&V_&4]S.0F=X[W ?-M *' 88< F\9 K2^]HH2W T7QN-.8AQY/$48H'I( M(B6H%DP)[T$(/0SDRGB;/9GFP8A)#A1O10+OIJR.OMIW)]9"&H+J'[2[E]??-^_FU7BCQ\?UW.-Z4M=_^] MKS-'.6>".P[K#1E" :&N'3W8&AIU#?L(< SP CBDA0>*6D0$$E0:S#&STH1X M,[-&-184US^LQ2YW:[%_O*TK5O\Y3J[.T4']Y&UB?1,GA[MN.;I$OBLD?E4$ M&VJ]#%9<;-5\.,4G]/6,_3<-/3ZGP=7%QLHX>G^LH'I 45=/7"T.RJNKQ?^^ MVVQK)U?KC;UAO-[ZLW\_"<[:S.E0*>0")A<+&H<0SZ M3GH\HG*,N2$3=*:XAA8Q@3VG)(2@!CD(C$?((0-)[CV#6HUNVDL0KKM+$+8' MER#,]^9$IEQ,[148-OO\#GI_])GJ^.48.ZN;[)S#RS+N#;_JTG6"[5=%:WUQ M:'ZQK8H= =.8]_)T;L(<>>&W;-KSZ:7)Z3GW7AKF*//T7U?!2[BMSVIU%YV\ M7MG@2'P-T+^6&[5>;I:KCX=72'7NQ@PXZ;W6"%BH- \N!!?=EC&6!$6=MLH MSR'&I6/6& XH5T[*X/\(H\+LH15'Z SS[=T>??$QP-_L(K9R\U,1=/)ZOOE4 MW-Q6OQ6?RL7'.OM_M0L8MO-OXTS .?MVV"0[D6X=?2*]M^OP3JFZMP^L*UKS M?KQZ[S!>G,9DF=Y)"1/B&=Z(:4]ZYR"@Y\1VMKX88U'Q;7E=KVTN;Y;7#V9; M'[A7K\W+'\#OD4*@C,>0(,@Q4@X+C[LU^A!68#Y;E1_K6@OOQUEL3(6)<(AT M$).6:EH?W='.02%@X%9"2FF_(I1R)W>/+(J:S/[83&$_%;LI[,@,5JSW-@;] M6ZZ"[U_.UZOPDF28V[)V_?#URXMV=Z[9[:%1!Z%@40M=4=OU8+*;WK0VH'L2 M%T-SOPS3GMC.PD#$F/HU*:^SI>W=5P8(L;-_+9\5UZ'^7:[#-/O'N]^ MX?=$- E0?7A!:C=@^S]=_+W?K6IN]B>-/;6?K^F'3W!1[??0I;V_DBV#EB]K,XM[. M'Y9"[Z>YW\=2Z$C=ES EGOO%F?;T>'8V>DZ5E^FEB&(L#P'O)VIM.&8J]!'5 M0?8X#ZVQ5O>(H-#,MM5V?MLS9^U$.\$#4$353Q2.8LJ4]PY0IAD%PFH25?#@ M'E)O]7I?_\G1Q)#H(BSI5/9,9#L3BY$9;?V2-ZXF(>,G*#R5 C<"\=.0SU$L M>5R=921V>F?VWWW8E/^X"V^/^UIOM-\?>&9 2\)<<-@(8T91[AF'2CG/)"). M\ZC,_N16)CK/Q(S?97H?H7CY6JS7=\U>3]JM?C/'MVN;D.,?#= M^CZ3S'N.$>*"8N>Q18XKNRL161=)Z'\1]! (F@.FM$6> TH1U4I)J1'44MC@ M;)J,7L,]ZN( =I,ETP(O[I$7]] OE@,Z@.83(_D-L7X62ZOS#XWL>G$O M8<00S144%H5 D'" :7?J%S'I8=05UH. A-!3$2V0$(90YH7B(02J8$*(YN:8IU5[3G!<:M$B* YR-*'1(NRJ'%_/X8G@\,>JS=,TZHSO,ZQR^2KYO'_M=Q^,G>;;?6Y7*O-IMP&)*^6\P_+V^7V>U/*\6#2 M5Q93I[#RW,DPW7MAX6XP>T B[RT*KY]%01,:V>API0Z:*4!S#H+:$ C,S)%?Q\ M_30-+;-O/-)W];_?:?S2F EZOKV[M%N7BY4M?7=Y_O;NN, MS5/I3 _00E[72;6" "*XIY!9TX9L"G''H]0[&T9 P_]!Y P%M*Z0@2$)H)5W MVC(A5>Y=B(.*Q[5A16U9L3.MZ&PKEJOBP+KBV5R1P9/!Q=Z(GMLAOX.7(7(S MY>+O0>;2V*-VU*E=G0N_&M.8QR[.PI.EMR_9*_'SX='%D!_\7V(]I5@[SKG& M7K77 @4YLP+$E<#KVRC41 &"$=1044B)$DX2ZK"Q" I-LM^P<*!43ZQ*CC?[ M#.4_=CHY(_7I\\-PUC-K_6D6>XGW2!TQ-34>RZPGY754WOKJY7]4U>*WY>UM M"%Q>KK;AM5V&%[$)98XN$F,8Q-H@ZQ@'TA!'2+N38[%E1D35\8ML6A'@"5+ M> :I@5Q2S)26C$/IA?2Y:_QU:*]:U^T>\F[U8+>AL_O9[AMQPCEV1_23SPOV M09R(=D#;2WX>F8:BYC*N.LN;G>J-=G .XVELE6)2(\(# MC<$+@FT%X> 5.Z/3'-#'[6A*)99.!<,\%<@KK2VGEA&HF<$N]TV?A][/?A"/ MYV4F\!KK6.:E--V73&$SL_?XB*I>#F,ZP=-0M%$L>=(M',I.O%;YY6JY+5\% M1_21=#Z(X35%HDX>E9HY#\+@DK0]&D@9\29QE;A_^T1Q9@TT-&@W-5X(2QQ7 M&&*,! 39]_B>\ 13M6Q$WF,U[C*4IVO?#N^+!O 1=W ZBMB;V%Y*.7XW34U! M,UCXI++F8C-6<:M32/S=ML[*_5P?C?QG4VC ??M2KC;E XB8 VL-!D)*Q#3V M6$G>28+SV*5(\2C /!,6!\]:$.PHTDK#,%<):$S]'8-SUT]SF^WR<[/EL@-< M'"(N6LC%VW*W+;.MVN*5V[%D_3R=&Z?WD^O77!/!U-WQ<;J3/UJKOMVW*^6-Y^MV7P)#\O M5[6V^OER_;?Y[5TMOG>K[M-B+0_!%C;YHX%\5.P/BG.6, MO=7/,YY&1R7-51GZ*(NWFTSQ"=5CGZK;P/EF M!_/^ )EAP2OF7/+@.W%+*% &*2P%P\Q0UO=&J7Z-$_1Z]%^-^+5A0N=62L%W.G8M51F9_&X!W9IJ<& MY6:]G;T-CES;L*]QQQ;1BV&0+1#CVO*>]WB<.RY0!NB@GP022EU MP@A-*,'4^2 J0(G<2?X'<*)N$$ZBZ+0ZY68G3H,BB.FC-,&X Y4)GQXJS!'K MC^C($(XNJQ:#D%?#WY"DD=]> 6H%IS3,^ 8[RJ0CA$/=O=B.^EY%QXX_6:(@ M4XA9!Z2@6A,EH5?A$_>2X<@Y=NCHC[K5-Y&H* 7(P-$ #1CC(M]8%7CR[MYA M3$U*"6*Q']>") 9Z'P]?E\V2GPV--:*C"!#:!G)#VC OK*'!.",TAID99(BA!^37A2[7>%C6<*(\@G:Q^04M6GF)UH3=% M>8Y./Z#B1,"1S-HT8HMT^ ]/- _CH7_YKYOYW>W6+U?SU?5R?KN/7C9UPW\I M/W\HUS-HD)-2(@I#LY"C6JO: 2%D&!MQ9;YZ-$B0$8PJ!;UVU'&C@%6(HFX,.HA@ M5.;6R98P 5AI [F30=.I$% 9Z(GA6BF#4.YTV79M\AY4DO\TD,S(%>#L/";M M^?2G,.\J[S%V^JSN#F)U&EHUDBU/K>:.P%#<5OF^J3925$)X!3BEUG+DN2%8 MVFX@<85L_#;XPQ:8A1PS$4)19BAU2D/$#:05:*;ES+9T M3N*&R<^%/*>CM#R[39Q*XS3T9J -1[=WAS$2<7S1C/=>(LI(5IR5Q/.6Z#.='.DXM%"53-PW]&(#_\74W@YCHJQMJ ML6BJGV%Y)Y#< ^0 !8133^OZ MZE)U@PI9'75[[A--4&2PU](!3#6MTWP(\=!Y;ZG4EJC.V,,26Q# M^,"U12BX9=W^LE2 19T,[M\JT@AS8C%S@E&)45!;&'Q#@(BK3U/G7FNN[U]_ MXL+-5+=I/,)[NE 7X3K2G1I"G M],97ZU_*WP*@^E1"D.,WZVH5OKS>[?DUZ^E4:<^YQ4X&828:>F"[6$=AXZ+* MU\2U+)6Q5 1SO0;!EV$">4&9AQA#2:3,793K &QQ4ZV+ +>XQUO\"#AIEV[D MCN@;=%ZJ#V*#T!'ISQ251C!Y,DK-T2,34=,\MCV*8O,QV%=5WX???GVC%M67 M.IYN!9S7-<<0Y$0#092B7(MNIUV%'\@8\3S: .'8 T*!E8P$SUEJY#$DF!M M!"(D][I;C:D^7]6A2MP?3..NG]YEIRU.UN(9RZ)=QU@Y(5)R&$@TSH1KQ MI1KBK9E/X64JF^L$]@*W7%TOO]SN,E)#($4EAUAKQY4CG#M!VD&C$01Q<6Q4 MRU(2C(WG4BI.D802"ZVH<&\7\&?^T9*GO[:V-UR314,I-M)_VU<1GLG7'Q=*N= P(P98@";K@1 MR"CLW7X$6T*C-B2>;ZTNK$V0T9 [0$/0'V+],&^0$.A!HPG,G5\?.WZ3_+P1 M..^9PW%6NO,JY47\PV<)/)4%,AKYT]#$$>UYF"4R,E.]LUG7ZR"[U7I=7M?^ M:WW]=6BX6K\IP[^+@Q?TX'"D_G[PH?W%U6)7SV1W&"J$:91I:1SUQEA-J87= MT 4:BZADV!P /<#"$"'?V'@K.M:5: M2PD LI2)O?(@ 7I5R(EI#Q)! 49.(VTH04):)A$P#@6;O0O Y24GTLT=A M.F5](C_)XTKVA;SK'J3U7G\81ODT%'54BTZN-8S!5L*9CG>?YN$M?;G9W)6+ M&;8:2$4IM]9*(9'S'KM 1J^O;<$$8GO4IBF[8.,A5W!'P1X]G4A"(B8%$ M.AIF0^VEP%P8S8B"C-',GL#]:/FP&RVQ![[C^>HWP6>F*FX^/UK'\WAJW;E/ M>S]DZ83 #*!T&MHRQ(!'A[D'JFM"7QV6M;\\'6SF;MQW\KU M]7(3I(TRHRB@7+.Z,BBTVBC6C2"NXHY@)C2//((&!S\= T@Q1\(+A+A''!%/ M>/8SFC786HCJ;(7KW3G$37,.\6X5.JLH/W^YK;Z79?O-+^%O-\4?E^&7&I-^ M2M"OD7LG0M\NUS&1^E>C>O%A'E T!\S+U69W78]:K^NEY*9JSX?OQ>'OO9E_ M;[ZM?INO%U=%:\U5T=FSJ;<>=D9?0#.CF'].4_-TXX0T-Y.!QS0Y)Y<#-;NI MI'X<6V]1((RZ*7!!$.FB*?: M8I+;A]P=$]\A+G:0VX%]U5UJL/N5%OA> IX>^.?JED%:?:8>27!5Q^V,GF]+1?-KS4.QB_E]O6-K]8WY;*^ MK&U3[V!S317A(0IUB(9/K@M#+00@/FP?A$9S1IFU#)FZ;JR@@ELK)/"RWN%@ M,O<>\"E1V%EQ5=S;T0I$Z[@%6YK+'.^MR>1NC].M(WC?9^_1\10^OC,GH?K] M>4]UQ4?MTTG/"CGLC7'4,S ]AM_>"Y;#3>D)+96T0AA,S;Z4@<7,Q%W4/!2, M!DX(B#VQ]7%TBH1P EE!,-#>&!)U^V,>KWX$E;E0/P[W^\_>A:.' ;^S.:(W MZXF!PJ@=.ND9(H.Y$6%$!IX3,H'>5T^4(&HFL68%\W"A\VWYC[OE9KDMWY7K MK\OK=:PUI3B];65N2* VN3 M7S68=Y)6YX@&V,4![N9[S>\4^O&^ M:_H*7):NZAE.7;J7$C:]$SOHS!%3 K&GHJ2<_32-&2"OB0^CH?Q\/J?4R_6' M[2XJ:QHO;Q?O*U-]+1_ :6:1]:YFS5^_A$DCQ&KAV^^K!T';7\. M*$1Q?6#06(MF8SPC%+.":("/D5!P&.)PB9,>)P $!SQLZRB M=5;5[FQCUR,Q.32MJ&TK6N/J/WFT4M,86.PL[*?_EWP!3L\.OY.^3UE^^_]W MMR^JZ[OZB3L]^YUW_P_&1+X&OSUZ#;;A-?CMX#58GWH-UD=?@S_U=3%J@FO' M00*)1.,VY*/\B%,Q@?Z]K,LQ!0*JR8RUN,#RJ3JEKZK-IEDS#L#?5.MZ3!YF MX[^O=KGX,X$($AII1ZP()T[W&S@%S_@+W8&%'^L3?AIO_$3[+@J6DMB#SE%VD_WI$G-/JNDP;9+^O7HL(&*?5>VG!X8->G-_WXI>V%Z_;7ESL M>W'1]>+U@2U#0\'!9#X5]IVOER80XIW1V.HB(R$A%_-M^26\_)_JQ6VU6KPM MMP'(D931&2$44<\YA9 Y!QD"N"M-X21&8K8J/];W5KR/3+_LVSXD4BJCF8- M4NRA4IIK1!BK;P=6J-_)2KD3@T=0(U>+#C 7\U6=K]"@/I[IG9!7.5J?1.10 MGK4?!BS8CL-]OJS(GCP^EP$Y=G=,(T3*8]JQS,8\_(VKK+M\#Q$&K<7 "\6# MF L,G.\N,_"6 Y1-6'?-0T>9QH0+X3VM+[T@5B I0DP(;8 R15UM@.>0U9X= M,J:JCM@)^47U-/$7U-3GDNMR],7O25$C+4L2U!3V>M=+V]V*MOQ:NIN;X">_ MOGEPDT];&OGE:H?E_@*.F:6($1.4G8?13)E2W(G[T1QW7F@ #(Z4T,%EM] MRG' X!0TPAM4WVF)&$HT,EX)*Z+J M(R55">[0%??PFB2*JZ*%&'T!^0!>^PG=V0B-W(Q,9C+7'>-/LG1"QD8A=QKJ M-8XICR\/'XN?_G7,5]OU_'I;9R::N\VV^ERN7RWG'Y:WR^WWO8@V!]S^6==Z M8T +;VVR#C"-"><=Z-,21]U]CJR:>-#,]+798D(%18%^[E@U'(70DT!2>[X MNT7;I!07'=ZK8H^X]CT:S,4]Z,B(>^2^Z!EE7ZX;(B/K47L@4SWZ&"Y/Q<]Y M.F4:VIG+N$=%[3-R.(J^SJSPRB/$'95:&T"T%?409LP1Y&G<\=S3+7G+A"62 M0*XI)0QJJZD,C1/LH80>75H]1U3*YUD=01A')71D'9R0YJ5*7&]Z?P>*UM^6 M& &+9*BO7OGY4VFS*;7V+7S>*E^7F+^6\QK!XO0J^2 CU MEJN/X1=^J5;K[J.>;Y:;]W4T.*-6&46-!4@IQBP-+@OK!J!'+NJHU7BH-&*& M<0Z]0H#6F\5,H(!)$AO$PO+>^, M_1@II)/JPF35':WW\NKQ4++[B/?9.G1B2G\^NY^:%L[,?/0=7V:9[ZZ.@(+$],(<>PZ"GM M&XVM:%4[UFY[?ZMWRC$$F?'.(ZB9"8K:#;PZ]SM)U4ZT9P14QF'OL?'4>Z&5 M!L8R#YDEAHCS>;-7Q1/#,>G:Z%&HCM2X,[&4KS1V!JB>)N]5_F7\O.'#Y6\1PU: M0CT.'BH@W% :/)SZPGAE, @>JU (BZ<%Q1)(*D EAHJ.,/4X-RYP@>K M8'MPNW4O];>A(>T@IJ.CVG.1G+S*&,UO[OCV!&/]0MPQ*)^8[HUDU-.![GB< M#?+\'L-HO4_EE.?,0N.)EUHJ!17M!J;2B1+8KV4H@L@;I+5VU$JG&+)8 (ED M?:3+@(LJX6BA[P#F!WB#9R%]3&6<3"3\)'6QCN'@+IB84HYK6Q]7<20&HW7S MY>K+W7;3R#1LO52AA6&,.@^"WV)X?6MIMR@/H6 \226/M$,)(50R+CS"-$P% M$C E@X,D<)@8H,]=W_PP=-NANRH:? 4<&A>GD!HI@)GY3(^"HZG,JW:/>>JC M;0/8G9B2#;'D*=T:S,X0E4)MBP@KXJU4" AJ!$"A(=(.*!2\3#)4I;IV%+$: M.N:#RVHH=U(PYQ5B1##M"<=1J7.CJA0:4:5ZDYJN4CGX'$NE>E!Y-I5"22H5 MR^YT52K:DAXJE<;.$)7";8N:AWB',+^"3RTO"]HP!DOZNS\B"SP#N@ MC"4$2@HH4= $>3!82!"0GE4)=_8TZSX'%G7[A(NB6IW*QVWL*GZM+2L:TRZ0 M6!W1X9&:.[F^3E?ILW7S9#.P]SV2.0L[ONP-A1+*I'D C-D";?.B-S5%YY*VFN.P!X:U3JBQ8]F'>:X M-):U4IA2B/;\_9Z^X329+A\E52ES;Y]M+VM(KT1N=YWE!9C8S'5V\WMLFIVQ M'WI7*?LZ7][66.KKD>>WY;NZ^6:"59_KNZ;^6=]@L=G.8&@=.6H%$,91!J@G MNI,G+6'4NE#?-A5UGK Z&XDYJKG44"L@M>?.:&Q8[I-%>Y@O;JKUBTT 6MPC M;2H([K 6-=B=Q$16,AN+^WY3PR5HCU/\,1G/4_&L'X4GY'GL3IB&ZHYNU<.2 M:%E8ZUV]9[[Y%&*+^C_N'W?+KP' 80+$?0F!&=* NOJ$H,?AGQ!J -X=OQIALTS0?'& ]:HX2"NZQQM9 MY&<\\OO)Y&5XCQ/*T2C/4PNH+X,G='+\7IB&4F:PZV&]H$S,#?*D%S.6A_@\ MET.=PE%I'-$/G(K'E^3D]29U&FHUAB&]7;E(;B)J+WXM@X\8FK3EA^T1(=S, MN&2$&:"](XXZ0U1=C&.R8A"[*< MVV.[AUC4&)_P&B+%:A2B>_IH9^8XTCL;2F^N"HW/<7;*'QN1\6EHVZ@6/:[9 M.#);%]B/>E=NM[>[9/\9IHC1X%8XI"A!.@36UG;C-J!F"9<;9D)J4( #.4:0 M .HADES6-7L0]\P+R?L%98/O0;QN7H!-@%M?Z;0([\#%MI>BNO'LFTRC=]V4 MMIJNB@/S?K<[3@6=F,:< I>DXM&0RF=!H*.((=#Q<,1F*FKPX=Y)@= M:U0K'\:."UX[X%@BC@'HJI]+A534&N8S34$A+9-:XY$39_ '4&5A^H?VUM MK>D22"0:17_>_B-J/B)IEU7R,0VI1G^ATA6\VGXJ P/E8KG=!&=B&4A8U9>$ MAV$3@O-ZK##'"&8*66Z4,1AX1 M?W9=;Z 6+=;&U[I'FRY/ RB/U_OSL#U4^B='=/J4Y*7G MK#&,04E )Q'AX5SC5\:NP MO1^=>^GUW3OW_EW*&FM_K%;[W[DX=EETVC"IK&*D K^Z )I M(@=Q8M#>0KYOBVIL%")*0":D\"$ "VVT;7F#XA(ZDUK(G2FU@U/,&W!_3M&( M:,YBI"(G76G[+QUCEY6.![P\JR"I/$Y)2))M.*HGPQ@9=K1&;GD@9' MY7H:8VUDFWH=WAC&V/"#&ZT6S+12$B,J.$>4 DBQM9T&,*]U5#GRX:UE'H/O M/E7K;1'^\'.(H4.4M3V=Q96+TI[>P%G9C/0,3I_J;0%.Y5A'"^>4QS :U]-0 MM!'MZ7W6(XVIWDIV?5W=[:ZS*9=-EMLOY;9K$C%,!%=$&&\=-%90C[HF)=8H M2L2&-)1[5:/%5JSWX*Z*57GN@7:"H5-C; QB)S*\1C'EX<@:CY^^@^IEF 17 M@G'G0[+'$S?-QW/2;TK/1$C=[ M[V%<%;^<6SP.*3@A%DE,34,OO]37A!MFJUJ!<[O]0+;+4+H[4W1@45,IHZR$AP8ES;)(=81571 M&M109A^CP]:L])<=L--!>@8V^XG(V8B,TY0.UE71 &NH=/=4GCUD.473"=49 MA=UIB- XIE09WK[(D";8Z111I\*H40B>AF*-9,O#X&I$AOIJEBUORN"V M+=[/O^V\N(,394$I?PE\=&Z=5%Q*#Q"!$$%NM-*\:]]I$)6Y-5ZKF;6L UIL MY]^2M&M$?OOIV&6HC=.T/:L!Y'XAZ)>Z^LD]O/.*6F_63@C<^,Q/0^PRV%7E M?FJL-D=A9CYQA:M\H<&[V MM5Q_J'I7L1K66,RH/,05L7W3@6H%+R&\'$IH/ZD[(Y-Q^K8#]J)!5ASP>2!U M9Z[M=)*I$YHV$L73$+*QC'E8,VE,CA*VUP[DT0B-$-&$A#:5ET)+ ;NVC#=1 M5T&EM7"63;:!FVLQA$7OKV7B:L@6VZ6O-RC1&>2SHH_MED38G5"-3J\6[;77]]T_5;2!D4R^!;[_OS^=H2@P7 MA *,@"8@^")6=LU+H'AB7;)AC6;V'UZ]5/KEJY?O7[IW5\5;9YW[B]*O7&%> M__(W]_;]R_KK-V^==V_##XMW[U^;_UFH7]JO_O/U*^O>OOOOA?N___KR_?^3 M7+!L8+?T4YN+]$B<'AU>)=SMPFV_7^P<8%_&3HC9Z*1/0^[&-^OI,F9C\I8@ MF0\/,2KGD OQFH/< F!(\+5TUZ"@<9D% YK)+(O=$=S;>X21)Y>'4!@M:#G9 M2Y:PRQ]D?IJA?I*52NOD1"K9D*=E:1@WL<>0WLR_URH)!%,.($4VD5F ]D>/ONQ@1<9IB;3UC-OR,Q89QW5DM8@NE1]YE)=3 MH=XP(J.)8UB!.(N1E?5OM\Z<@;=HJ6DH.^;GG%UMCK-S6G &,CH9S1EJ MQV/9&869V#2CM^77GN"720J8D$_5]]KE2AM8[ M/+NJ+'>;;?6YWKI:?)V'/D_,(NI-7S_%R9YWE*78$:E;/C2RZ776Z+667IS-PWQ&&+ L^LJD5RDG0)Z)]P,7N$ \>[VKMKR6^C;N^@>"JLJ2.%UB:DB6+3YYXG6B;_;[Z89"QMJREXYIRI$7 &+?ISM2 M&!EU846^UDKOGGET,F,P8C+H&D><:25- ]"3DQE'\RZXY>8UO7T5!A,?EM\>[I->&&")"3D8T=X;B['UN#\B(I5)FR<> MV]94HZSV8,9@CHT6-&V<-866 \==>].Z QD/$JO)MRJ_HE7$V&RLRO.@5S9O M7AB[Y5$I:;OR:4OWJ)0BC!T1@M)!(:63[=33$95")VU#&M%,Z=2KVY%[VZP_ M_=05"!V>>HU0,C+GFD;$Q&2KT^\AFBZYK?E9?7#%*USA^3"5I&D\>J_G KHGO=GE9H#/$R2'K/ B4Q9/'M[=D4R>^ MCN)A J@[9;&_'49(3;!5'%K&VBNQK3G.5BL,*4@KGYC^_,)$.II4;5N;WE3T M#0"@VGY>;MJ31W>[S\UF]9_A7[H&\>GTL*F M<>E>T_=[33N#WE0_;[=W]?74%12?*',&2&-TG >(1GGPI$SB6#524J-F?=(, M5P)[X(EBU)$P_$+D>).+TH EW0V5_/ )DJ!FW?/F?P?_"F#U=;FI_MA'"03@ M>03]]PJ)-XC0#D6(O^%"]']HU456]R].\/2F"O_N:WW57NM[FW@'17J/Q&=2 MQ3HC/7T*_7!Y1CW6Y)6,:9!\\Z#3M7>H;Z\_76YNOYY M;99?5[OE[4GK"T(]YFWAL7;Q7GD,I>I+W"N7>HO=^.8*L^O>PH"LU?5/JW5U MM3U.=XFGBXQ2O2G:&4!GUG@>S8:[V%57TP,0UG.?2,P]G$4J;A[*AB;UWUEQ/[ MJH.!+T_O%:'9ZXJ=H5E&N>=!LYP.-<5>S>2CJWU#W7:!P,^OF_ISO=Z&@<]^ M+]/;9MON8'IW\V'Y;0$-X,(J: C@@!KI&#XRE1"4=, L=]NE\[>3<&SVEY*= M&AP2D&ZKWU]N@\V)T_#9>R$RO[M@!R0F>R?:[[!(/_OW=U*NY>GTXH$Y5-]SL3="#'G$5IC M'&BRO5AY2RLN.$".&FLL,IIS C&DN&_6,PT&;O89UMC4.X"ZJ>D!P51(ZKC4 M8E*5TW*)Y\LCSJLF8MQ6HW'*SH-7^=Q)K'V8J%,TR]JC:]O[>F:&(0VE!H R M88UHK]>P3@-D*?/"Q)YT>O14Z$D8_8$ 8:J5IEQXGG)046P-#;]4&!H/%.-<$>6<+SP]L+?N3?7H M^'*(E=;$JK/QY6@IHFTL6R:3-94U8Q0MQ)]S6IWE41:1Y\*G/,X\X55&C5[C MUVKS<;?PR]6F6P/W3;-;-[OZ"$OIA&!.4@5Q8*,F5'BTCRTLM7TUMEYYNG8$ M>8H99YBVE7TT!CA$LV%42$Y\P573UJ;]?HVJMRKF8YY5NNOFZJ[=FKELU^_F M(.$#@TI+^8A+K9LM;2202'2L.>_X,XS)I-1EV9++B2;KVY-XWUW?GEUMKVZ; M[=WFE%^8.TE"(XYA3:2C@6&@CPNI?5(J=+XE(((;A C)B*8H1"+&A&"C11C? MA"2P]$F%D\ X,6]$'C12U[@T:#I)!Q,[67SC M74:%HA^YMXIX([&PG/-]A*GV_TG[66+: MHX'*EL#0 U 1EQBB(!G&%%OL<"E;VWX>7U]%[X3WZN#K6^JO];-I\WRZ^?5 M5?7S^J;9?.DRA6[V\/WJTWIUL[I:KG>5.50C3=P!DZ4+XB WM?IIJ#M85QW- M.R'>!8$7(=JY%:6,DL\#?ED]>KSFE%VMQ#LB0IN_-K>K]J38,5OTR%#MD6(( M H\Y]03@PT2+LUS'GJ0^TP(7*CQ2"B8D"I3WPB(&$ KC*,Z=%P6K[=T;5?56 M76QV]V6!SN^4&*OJ/,(JAR//WX(P7IO8(-++[6K[[N91N]_W?[^/8 D98 X9 M0$*SUCL#>#]SZ3#')"6AB&Q2".T 5-"'_U,9&E-<*1+2*0T5A\7K5'56MGN2 M?@U_J)]J2$L3_7[X9\72QGBU#M#M3[^[9^=^.VNU48&]3;D*][1"#RPA-'&-#:<7:(0M]&: KA'CU: M64T\U.T=Q8Y*H82ED&!'%5$:6D<+DRQ8TT;=T9XTB*7*% >K@@JE0>FQ./,A MTD.)SI!GH);S(,Q0XYLL[U,:,7Y>_U%ONQH5CPE% 94&LM""@ +0A&@?500 M@I(JVKS\MO-@4 8_FMQO71J9^E-(O]:;]VV1A,>MFC: &(72M)?2 M8"D$%7TP00J3+G=XK2W(K/ XT)9 3!FR.G@HC-2$6V.$*7VXL3U)![.R>=.4>2O3^/5+_>?) M('#3K,,OK^JN&MCS0T)L+89A#(*081 "3;$\9@>(T*13C_BZJ>QL-@ZLMJSP>- MJ8J>866QSID'/,NYUTSTDB=N&;C[N*W_XRXTZ_X(?_O07K"\P,0(%E)1P\-( MBRO* )=0*=_N!M30)]7R&=1 84S>VU1U1E6_=V8E#E"'21>YME]:M<3%_%3! MRJS=/R/*N<7Z,1K.@T;C7'B\'#]>CZ%4"?^Q^K;:+@3#& )!"39<0 :)&VZ7%P*YR)E7(P?0JHF(4_KPDX%8'V=J0Q*%'3V5(HU8_7.31(F8$D^EO]Y6.]66"@ M+83.!/PEW>(WK(7)QU5[N\;!)U:]0> I(-S8H=5KFDW! MF[T-\:Q)E'&6G$GUX3QC!BDRD"]O5^OZYUW]9;M0QFFFO+:"(J (M[2]#Z-+ MK%08SHU)=.(;F9PRK6E59]LXTB3H. @V920.RD"SI+\@QP MXSQ\ANH2RY^_AM2I+;;W;OU^>=MNK^JJ\-QO;=@N@#<(:NT]"'\SB@KF NXT MT 91Q472 =GQK14F4FO@H5YEU98J#U9V.P<[.ZL30]/HE$'E.$Q-*W :K\9K M6X1=KTIV!F+YY)X'S3+ZTY1Z,=/X9NO-ZH_EKBLLNMUMNH(2V]X8_?W_JJ\_ MK=:??JMONZ,?V\^KK_K[?F?1^]URUZWBO6T[)?Q+_?VYA_VVVOYS/P$OI;'$ M*XT8,)) (!23W9JYTT0RGW1\9DJSK7&&B9#14D$%PCJ83QR'"&&E-46%B7MO M7'7BZIOJE!:#%O7FU/-Q\/Y!.SWM*Y"COXM\!Z93_\P'98:OP#R^3',4IIE] M^([_5K9M=@L]@ 2B,28L,YA+K)@#L&>< 29I)\GYABPG#AJNI&=4Y=-%EB[/J92(D&1QYQOTZ:Y$A.E ?6(#Z^4J]_MP[YK6!G#/ MN78,.4P! (S@0X!1YTE2^AC5H+!(>2L\ $I0ZZ&DU#&(,",:2$1*)WYG+HSH MS1RTV2*/V'$9V^0ZI^5:&20N0K88V:@F]I7O(=UFZYILJW MAXXMM\IA;ABQ?3@BR&E.]AV:9(PSCC'UBD"J$9)&&N.5=-AQ!%SI6[JC0G/0 MAH]],=NLT#!IB +'%+'Q;@#2,AB3,6PNK;'2IP60>,U M!X!1P02VR!EW*.V,-(G.!L\VX8641 C F*$&"FF\@\A9+IS1UA;S M'M1ROE"!V3,:G0GW',K.(W"S>/*D.%$N=48$TWW\>L@AE@YPI:%" A#:E]-1 MF!N TFJGG6E(".6,TH!J$?[/A70A60"2* @P)S3MCMTAY=.>#:P1I=/&B#H8 M467TS,*H"Q9/>UFF-$REJSM;3@UPY750#=4GZG*Q^V;:PK17:GUM5[=WN_KZ MEWJWMZ6OBG1_1:/0#C&K.6)..P4X$Q(JJ3#RF"#X6C&<4LT6'%GS"73+L>K.3KOGIT#G+#)T3=_U9NF+/@+&T]C.X M,*VD=\TT;W "4>]'>^VZRMW^A7YW\\BDDYISX8]]:=:=78?2):%AZYT6 DD% MD$=:]T81HFS4$9.)3"FKJ=F\$F>T-GF(M$PT0?[ M?C$0.26[3P%[Q,9U[F*S[K M?ISH.':AV[*/./>O7IG-_6N[MK;:=H55S;VG:VDUF[>,6MIW MMK>S.AA:[2UM"T+L;:U.C'VS9_2TZSU)2IY9 "K3(_-8$2KD6S/%.YT!I >T M/S%$7?_[W;ZLQ0(8RXB6QB- H-5*8]\/WRB$SJRH?2&P];"=I=:?7-3 M7^W:$*^_?+UMOM>!L;OFZI]5\[4[$=VM9(0'[3:KJQ8->P!G@&Z.?AJ!WXF[ M* ^(^USX*8VK>[MG0.37Q4UE<\;NFC&E:+/8-;OE[:@4>'#;2:0^FIE&ZA#S?TZ4"@_O@U')\"3R%TV' M#Q[, +\OJYF>$H_NEQGC-H=W<6EQ)A6'WDJY3\*Q!I0Q8!GBQBKGN(3\I"V< M-I,PK(WB,P;[B_\KJE4>ZY.R*0Z7.R MO)B)%G$8:$JH-QXU%\F:7I F 3>I8LX3.,E>O(*<8:K$0D>M=ZOKP[S5^_KJ M;K/:K>JM^W9U>W==7_O@[8.UGL?&J2_M=9 +Q1WS3 CIN,<6:*X$ZFT+0]JD M2]*FL:CP5."I$]6]%U7O1M6^1P_69]L"T<^$\MZ=- 9.U*=QQ)Q?=Z;Q=:J> M+,+D+.*?(?BTG3L/WD_LKFM'XW:VRW\;=N_+7?M M9OWVTN\%-TI+Q;C$#A+%M?%X7XC& T8\3BI?D=PX@1!0H07TA%$EE,+:**^X M$9Q)YE3A+\31WJHS^$WU9&:L-[IJK7Y3'>Q.K)&6O4OBJ'_1WD@#?/:.*%-# M+5'0,] NUC?SX',Y]QY76"NKXS#JFF8;&B*"42X=IMPYA3"6S/9!3+%)JJOV MS..EQ- *82%7CEH:S-><&$T]4=H85+R>[N. ;8T:@\4XS8: +[M<(]%V5JD) MN-6V'TVF)/'FR)XT!\[298 6L?SXG\O-JCV <=\.0H)(C1T3C#DK?/@-.88" MPB %'T^?SH!RSF%(D"*4*Z0L!<@I;;4F"O'2]6A[@X;#8X!@<>PHJU4:.I)D M*D*.)VJ< <=PY>;!C1'V-[G>H31JW#_?&$FM4 I!P& DD/K^I??:I]T;=[] M4X40#GD)#$"< B9%,-X0#RS7892*:&%*#(9#@BYQ4"@C21H,+L: F-A/%V@> M,3_ [F;LJY%Q/N>WNJT?W?_+#_7F"UP('5(4ZKRVCCCF@$+M+_>OO*>$99O/ M>:YQ3[2A''ECO: >*1E:]$0( @0'QI2^2/SU:82CT?L_4;5F9YS-&=0A&69S M2O=%[MFRES.>-UC#JM[D,;N_IV]4=]O5KO MPDN]"GG<1=<[/\TFQVJ__LIO?K;U_K]?9P?)X0B)B&V&O6%O+T M(L3XOFXP ]RRJ)M%,IAAD!%*.0R<5E2$T2HU('1\$$H&RT#IT^E[XW_JK*_N MS:_V]K^I>@_:1;I3'ZJ#$P.JDA3NMO.$GEF/I;'ZOUYG)9PWGT^G#3MG7KSS MX@Z7CY+QF0_KA'TS@\/D$SG:3/[>#QSHN'U;?ZO;'>:+,*"2BFIKN%-M24XC MK.W#W3*6-+/Q0A/*>NT],^U4#+42*F&$8U)SZSDWN/2)Q?MLV?51N3;FYBT!,4=75J)E.(5M99##C#D *.-*?26"F]#_&N16ERC4\_ MW@XJ7#1!'Q;,^,MTW]19_VQ[;H+TOTP/#AL"G'9$==-LJA]\3/#VM6)3TW7: M#SPV&.!LCO'!4(UCQPA[N]ZV=OU\M$MU=JD3:PY)Q'[*\+H]INI7VZOE[?^J MEYL%##;)D#MXH3TDEE -^GP88JV3]F7EL$=X 'Q5BMLJ'%$<@0],@A+Q0DO M?AGFT:B6!VV*FS;HF*1'XD8H<^N,05_DSOSJWOY*';!]ZD(_XGE3/>B]O1]5 MZ\BT0Z ,RI\9+TW9K_,87$WJ<7.Y*"H)_]:0#W\V 2X.$:>M=$(+A@23A/1P MT1JH?["TOR-D[H4?K.K/!E]6\OG M#M_6QJSL3>JN'Q6]:4Z.)N\ 30N"-_S9!=**A]2;^_8">02<4(H?:("PTTFE M% ::H P0 @'F*)#4.RN1]%8AJRRG(4,4Y<&+BH,W2NIBX,VM\G3@#?_-[,$; M_FQ>\*9TUP\+WB0GQX,W7=,RX%4W 5%'BP+VM6:>!L.0T0!2K6"/!&[3"BZ, ML0,#9:DB&F%*J$=2>FBTD5@P:I0 NC""/WRN-_6RM:@DB!.E+T'C2N MAWX,,#\0.AN=AW7?CXCH@9Z.XO08=W"$8R$\R!\%C5TSD/B"9*A200=X#3JL.XK M32A@K.8&*N -55Q*@0&E%'"N$6.R]#+DDW/XO6%C*A[$ZQ>7]$\@7=IW)5VU M"0H4]#:<2;]'"CF/S'JL$V=+"@S4))8SO[4%"][=_'V[3\O??=PM5^LV6W?? MKCZ'-ZSVS>:A06]7RX^KV]7N^T(1)@+LG GQ(RSVU&G_)!*5+T#W4&'1W%: M'9U(HUO17HM#X%PZ+(V39?NJ"%-'"'T&O%-TWSSH/(FGS?3!D9A/[CYWUZI_ MW=2?Z_4V)+@_=]?E_'T=L0'/6'Y;>%PX)"IXDVT@:J*.,H)=02W;J =-*FN1+V(6RA M<@(Y(2 %7DMFB2164&8X=+1TP=#.I>J!3]7>J>HOK2/_\J:Z]ZYJW3O\O J# MRQ,?JX.3U=[+:N_FF^ICYV@5/)TXR)R;7KPWA@V@ M'P%YP35QFD)J=&@*&8VT2F4V?!-UM#S-K X5.:9!'4>7\X.'<=(GP%>G.7.4%6BUG#; M^U%NF^W=INYRD2?+RA^WN\WR:K?0W@B$F)4@C*6,U\C+=J97>NJ90BQJ:3&V M+>E#)H&\0Y@)*CB0.O0)Q]AJ+:RB!?=QW%M8[8<;3_9R5+_W9J;4/,FF6A;,+>H,U@*SN]04? G3$*F#[RD$-))=,3FN5<:,0DM\8!"@330"NEVR02(VY\Z3TI M[T\* 9W?PY96X[5$!\0E9Q?2/NTSDU'V(GE2_?( ^VXI9Z7)FB[C'Q;MS=L[8Z6I<%QN'QQ%)Q$N33<]295 M]S9=Z Z!E\0Y@Z[1>LZ#4>/=:#*_9VG4^;!97MDP2HA4FCSY.&:2Z"!% AH2C4R@G))56C#8^(]LX4IT]G3??D33Q"DJQ0' ME:("I<'D1)L+0>2Q&&?@,5BW>4!CN/E-IOG2=*^ M;:<8#M& -#?6AU\B!'@?$R",35/($=>BQM8 P@BAPE*KE"(4"204(S"T!V#I MI.5@Y$\'*Y^; 1]T$U(FO>,8-+W4:6#*H7(17D4)=P9B>86?!]DR^]24?%73 M&&A7V]UF]?&NW1S0;:;KFX,"" 4EIE8Z"K11@![#L!T=IF#OQ488H5)#I[DS M;=4H+)@CQK2[]=HM-:QT/<)3NZJ]80/1-ES&.)I-HF :P :)5X18+XES!E*C M]9P'E\:[T61^S]+H\TO3;JW_6N]J]6E3U]TIT$.#%EJ@D<6$>6YU>^&< 'W@ M&)R6=IUIQC!*N+<$&,4HLD(I+<,8B )"J9>P=*YU;UEU;]I !HT1,XY"$^F8 MQJ&!$A8AT>!":]H>FG0L-![^4@YIR)T@_++;*M(O':-QCAD+J&AE#(8BT24@!FC "4XR!)Z3+Q M)P&Y+PA7+>\-?5 9,%\-XZ$=,1J%4_1!7CB>6/R@>O%L>/F"I,,(.K9_9L_4 MT0XF5"+.HF4&[OY2[Q8&"6NDP QXKYA3AHI*U&<5VA8:*9(._LP3'(F/N32 M-8H-K],(?G?SN-V%E< K1[3Q5H1!HK*<'<.+"IATS=@K32D&B(,40$4)U01H M+XBS $I)N&6F=!W5!Q7\FYOP??R/N]7FN6]G6KHR5N"XU&1";=/2D,>RQJM9 M!&#G=3H#L$P"SP-@N9QIBKR$B059ZS_J]5WM@Y.F67>'S?^QVGWNMT%\J+_M M=/#]GPL/' [@M!K3T"BCS)O]W=4>$L5=4BGHZ$:E]MY9QX7&B"(,M'7$"R"P M:3>HVM+S3@<[J_85J'I+JS^#J55O:_5[:VW5F9LXX9Y/^CC(743U--QE$[Q, M:=1( <]P,'L?S(.(^=UZ7.&TC&YQ)8 .15OZ?R[7UVZ]6^V^_[R^:39?.EX? M"W5 S)C"FEG*)2/"H[9TEH4&MS55.8JK Y2SP8*;C@[F52=V5GM#JQ-+!U8$ MRBIZ2EF@2XD_L#90ODZ(+!"4H,\S("RG\1Q*!17QJRG]=L:Q\+I>'9L_:6U? M92,,IKV!1%N#$ &$"2OXOBD!)4)1NS!&-5!Z=VH?9@]B*J7DSSCYSG\U)E-N MX 6D)0 MP.3H3GW^5(%^M*O:&Y8>],G*Q<=_2=$&HB!:KYQ8>*3#*X08JMI\8#'8@V>X M,4Z-I*Q@LUQO5]TQNWU34A*EK1:&$>8UY! 9U"<@&+NHFP9'-3!9MG T;#!% MTL5+2"-*ZC8TI8B6+&M^\4B)UW*-H<+-!R7#77@N!QFG1_Q,AJG;Q:G;G]?7 M];?_I_Z^($!98Z!$/M!*(DBA[XJLC1UE3+I2TJHU-7WI=)3&\6NH4\D[<#%UA+(Y%U;/ MJ/3*"FL.?><"JDS>/+/FFD^E>(Q]6'[[^3H,JE8WJZNNY4-N):WVE,/V>);$ MWK7''UG?'E$ZJH[%^%:F05>PKGIHWL !T6 Q8TDUA8Z#&)4N83XPO2#*622- M%7(N,!KMQQ,,Y5$F!D#J2[V^;J>!_>WRTT)(J*$W82@GE$$..R;[F1PLI8@& M3MI3"P/F:$S56A./DT1I7L='.572+M:UW"!,,9: E_ M4;7&5>_6R:.@02+&9A2E]1N43:1+ER^;>$:0LYG$& $O#Y(,/CS)(,8KD@P8 M$W[Y;O.A^7.]H"*T8#3"QA#J@#9,'U'&((DJRC[F^1/#I;6LG0QH;1L(EA3Q M$K%22+=Q4(F2+#M0[J6(PO(22P6HD@Z2;=WFW^773_+$*_BXD M)IPB)8DS%F*BO+#TT!Q!W/-!-$EM9&*D'"<8>P,'BQ+!FJ(XS \Y@-UZBSCA=DM'S:[/=+6__O]77;K[7$ 4DE)Y +B01FED# M^\8TUV 0>-*:F!@[>^.J8-V@M:)A*B8BIYR XX 3JUUVW#P0) 8VPQ2<&6H& M.O$2:,9H$H.9-GU2FWJY7TC"#&G"O0%,"8 X1K[?-$/";Z+N%$Y^:&&4=!E] M:TPB.=*$>9T5Q31)HT.D'#E@<.KQ"^$_2)3+!_PPLYN1+T-\4+\-VMS^^KE9 M][OA)'98"VP4]5!R#06&QR88T]'[5),?7#BX.WNJSJ#D9=ETD5X/\J+ZI 5Z M@C0Y@OVQYR\$_&"!+A_TPTUO,KP@\<'_OKZZVP2^0/3QPVIW6R^4(5)H H!1 M!CA")66X7YU%$OK8X$]^<.'@[XQH*ZQ"])>/_U+UYL43(%VIUPE05*0T J3J MDP,#C]U_ 0.#5;H\!H:;WF1X2^(QT%X"OEI_>O_]R\?F=F':7:XAM["2(D>- M%=0>=[IZSZ+WJ:<]M30 ]L94>VOBXSY1FM>#OIPJB1$?)TB.0'_@\@M1/DR6 MRX?X0+N;L2]$^C?>?;OZ'%Z NMO-'E() 80 BB.JO/#,PIXAW#D8/7H?]/#" MH=[;5/5&)9Y%&298_.>^F%9I $B4*><7_U2!5[[Z@\2Z/!;&F?_,UW^$#BFU M,OQJ&P8=_ZM>;GSXR7;!E,4( J8,=8V2Z/C]$>/%,D8YP:Z1#Y MM=ZLFNM]6TXCY34&3%(A@9>&@1Y8A 8O0HYO(6)0;(W;1Q*D@1,A4DI[<;A M)$JV_$ Y$2,**4/$FQM4!OGP(E:&*Q*U\'BWV3P@F%M?V^6N7@ ID,)8ZC!L MHLI2IFF_E8(98*.W50UNH/2"Y-ZN!U_;8%K5VI:P/#E8OHBERBF42URV'"): MED7,%[1X:4%SK'271\IX%YJ,KU+JAJGWG^O;6]-\^;I(TRHB%4__/-V;7BWW-UM%QH*8ADG%'HCO6E\0[# EPBJ.M($,< 3ZFQFX4SSYIK9!C4R#G1/CVNG"91]'Z04'ARD9 MBYT)1!R$G63])=BT9T\#F=E>&W>W>VV[:W8(1E: M8 FA9D(P#D'(A#SSII\%YE*:Z*O@,C0UT:"H,['J;'Q3[:VL3LQ,'AR-4C=Z MB#25L,,&2D,US3A@.B/0^6%3#F7G J8\SCP=0N73Z#5LW6U_^K1ANRK&NUW=:[ M[?X6;N(IH@!8[3'V4F*.G4?28(^HMT!&G;_-9(K"UBO,$;9048JI=%)1@) $ MUK: +XR]WOKV7%IO?]6^.U7O075TH0I=6K5._-1Y4>W=>/4Z^HMTX'ERSK#O MTL@Z0;<] ]^>O3?+[01_AM03]^1E23ZU ML\U%HB7M2V!:R=J+QKJK"5?;?^KONEY???ZRW/Q3?5MM%\Q8PQ4@FA)KJ<;4 M$M2C0D8.=J,;,TA;R84'R&#*H9:",**!E9!897WI^@L/[*M: ZNC?=7OK86) MF!ZO;AR()Q4V#;5C-"W"T->T.D/);#+/@X/YW&D*O8YC6=8W:ILOR]5ZH222 MV&M"/+,<0 :DD?MH8UAS%E6/.[HQ"SG34%/KF**0&1W"7 BCA7-<>#77G59Z-TNDUGFTWN\7? MEO_>;.YSPA::%!*)J#3(6Z,U1(8 U$<7$8#&T.NE1R/NO5;"""[;RV2EA<(A M[56;A'A;>O*P-R8IQQJJTGD&32!0(G$BM8EA2W#NA"OA=X^9\KSWSQ!DI$R7 MY<58XYLLKTH\"]H#]>]N'C1UX Z2#%.'E7>":J0,Q/C^93=*Q2+AY1;"!]RW MY7\#SR3UX>,NF.&2*$L5T;;X+O#[MS\I8QFIVNN(F$:PH:3(D8=$L>)%&5Y MQGC9+D^.##XT.5^D.(ZL-A]W"_5E^9_-^F]U5ZI/" 6H%-0+K3B## 'D^B@( MZ(K:,_7TJ5YQZ8WRVFE)B4)"P(! @9RD 8,2%>;%WI;J][TUD;08H,UY0I25 M)8T*4RER?3ALW>7(%U+F@0W9%7I$S=:5;L442"0Z(CYQ[AD*#A?@LN0;877O0!U/K&5.E[ZE^9I:B-2W7%':\G(-GKXLH.7JJ)T;$J>:L>X72IJN3=9WK MS,X 3UZ?I!ZHSF RM>T=LCV/K;1AO&@##2G%3D,%CV,28J,JFL:T(Q4QVEG@ MC(/M'@"EO0":"(R@X(P6'\^]%%1Y)J13!!W(ID):9F+3/&:@[S5*H=, 96=* MIR&>O$:GP>I$T^DP_'S2\B%;8X91Q1#5B)$P'E54JI.//3-)A'JE+6H$X!A@ MJI2AE!,E%9!86@4E(X24KL1\G$EY)L[2!E+9Q(VDU82Z#IR<&B)I&6J=U^H< MN3*I/!-ZY?+F,<&RJA1+L<2M56]7Z_KG7?UENR!"$ZY0,(=*BB23GH-C! H> M-94^V@BL-&5"2Z@"UZ$&D@*/%#96"RRL+EUK=NA6R-:!JO,@$8OE>BN.E[/H MJ#20ENRC(IP=JO$9 !?OMGF0N;R;S<3A,'*\_&N]:7^P_%3#!87 >6^9M)! M0S@%XD@ (%G2&82S#6%A#!"2$JHU142%KY:"NBW=0Y%SY2_\>Y(OO:GNS1LY M7DX2=." N9268T?,43).,UX^D2AEP#Q$V7F0+8\KKPV9A^L32RAWU"K86K7&5K_5[;NR MNEUUAAZ#,0UH.?6/P]N%I$^#73[5B_ O7L,S-"S0$?-@8PG'FN(O<2(W_^.N MO3+VXW;7%O%8(-KN_6_/('+JG59.*&J=!LA#9AQ!L;'Y\*F$&DVT(T!@1JGC MBK1WT>GP1,8(I07W7.P-J7[O39EXQ/50AW,Q-$RPF<3)0.,?Q\(8#:+/6[>' MNS\WMT&2[;[!7YI=;5?;J]MF>[>I/]3?=CHX]\\%4J *;TJ>&KH_UD=HJ>UM;HWMOJ] M-;?J[$T]+)U/_3@074;X-$;ET[S,2>=8"<_@+7\WS(-\!?QZ?%2YD'*QO%17 M5YN[^OKM:ODQY*J[5;T]5/@Z$ MN//*!@\%)#3X))@7-HPAI5&,*D@+[MS%X.13"95$3BKOG/8 ..O1,0 UAU';QP#'-F M"4:8&F8%"$,&'6(? \L-*G^J]LO79ATZ8MN6#NDCU'W[6J^W=63IWQ)B1^8E ME]$Y,3$YJJRV4FT2*>2TWR]\0\F%C"L1?KJ&36+IV2OVZ:Z[NK MW3^6F\URO?O>&_+]D1E>($T5 YA3JU4(7 -P%[Y.:8%MTMQO8Q09D34&I+=>F]Z*J=:&K'%K_5M\M=B.5=4^T^UU5O]C[&EY'WW9?K M@E2"7D#]X1P]&'LO^M'<&>$T3M$HJ&;NG+FA-;=[+P*VB(ZQF'U;;[=U?9B+ M7G]Z6R\#>WH+?EU^;T]Z;7^KVRVQ0?EW-_>W\BT<)D)RKKE@##F@A5=NGR]1 MK'%:@<(19@#F (3>0@ I81I$;Y'P"!D%>2*EUY\VUO^ICK:7G7&O[F/_C=5 M[\";ZNA""XR3BRG3P%RRT^(0/9/^2H-UX:XJ0N[A0I]A^ 2]-P^:3^%H,WED M%""\O:M;$S[\V2P@U@H+ "R4 &IKF72T)X1U/NF05&K;0JIV84!8PE6W7&DX MH\BUN_,M=JITB9PT0 2[]Y<*!\L+\#NE2S)"NU!OE"1U5$=YEZ8*P0X.]M;T@=^,ZI@!YL_?)-.P]VQV7IV]K7B[^ M)O70#TC@-/_&,'B DB4H[$,P+$*40T1#!JX451A;R:0ZQKIRK!2$N\:Y#^TH M[33%DD)KI>16(!L^2\(10DL?@!@8]*WIY1 I>WX\^J:Y-P*^ W0LPM[5'^$3 !6$E#(E#5!"$^&\.$0YH2)MHT-RXT38 MD/QSX8 @%%.E!7)A " 4P8X16[J()?KH-)4CNV;B[+Y M@;P9 #VLNWXL2@_T<2"JQRB:F]<+P@#RPFC+@/$8(^Q /Q(.F;I/J@T6W2AW MO+TM"%-O!<4":*Q".B@EMA!Q;>>UNR(87(;"KVN?%[Q992_,VGFR-0-.HSOA MQR)HO%L#H9FH6Q9._GU]O=I>-7?K77WMOEV%/ZJ^M+];0(@L)I(K!KA32A,@ M61^X*.>D[HL6"&D45)Y2@@$%1DBHO6]O';"(^T"1&1#TU/9J;WRUMSXC3H=W M40:V3M([^4$[H&.FI^Y+V@Y%\.B^^@%X/-['%#AG4C26U"]8<3A=MPA? &X@ MI9IS#P565K/C(%9CGC37^TI30 KB@D=(*TR5Y (!(0SG#$E(!!:%V7LNM \F MI@%VK+)Q))U0U#1DCM&S"!?/*W4&@)DDG@?ITF3 M=@*=FI8EZN[MG$7@W9N3'GL#))]U^ WQ)RX"!RL5=7_:PT9-L[T_CQ\:(\)S M;#2$(6VQS,C#]PUI2^5KLS"O/9XZSY@+0U4&;7O+K(#&:N6EH9@9I@L6;G\4 M8E5K5DSUB;SJ)=PN-I&*P^X:&ZIFW-UC+[O^#'-RB36#>\ER>-'D?852)Y . M[3PZ6(DU,= SK,/8!UKN%&:LCPNB3-25SZ^U$499U""!M:2&4B\%MI80$!") M#7:F_"10]^'>!T+\6>2\,L9.XY17,'6B9I!XA29BGE7G[%3+.#WGD>.,]N+) M=$D.5:+RF?N#WEVCV_=W7[_>UMU7[=8LMY_];?/G(RL(A!)CV/)/F[M7XO+==*E>RH,+BCZ#_+BD=\TTKV[&!=F_+7=W MFV>*F(04GD.!$'8<:N0$ JZ/8>K3BC0-:=\2PX!S4$/#:;!!>^8E4EIQ29%U MI6OPQJSY]99G2-0+]$^&M=@)NB;_2NR07IE^*?9Y:8<\H M"B,IR-KQ%,3:8>JIDR!\?*#@O#!MC[:E<7.<=G& G$RV-!(>S9I'??)S*IV! M6A9QYT&O/*XT!5Z^A!F0^V;>UY_:1/7G]4VS^=(-?M3'YFYWN!*OG8]Y=W/X MS5\WS7;[M^7FTVJMUM?[.U1T'?Z[^_M4ZNUQQA@2J:7"1'O*A3!::[JOW>O: MJU7(:WO(IC)3.@P(51J[H+(.!"&$4X^@A\PKCPM6U#F)YX-WU8E[5>=?=?!I M/]7Y[N;X^\[):N]E%=SL;SS:.WIR_U%;.7C(JM4O#7+^[?FX["W)FZVHGS7O#2[,:.78@:S(7-2HYEG MZ*;>N7UZJ=R[F^,HX]=-<[/:O0T6MC?*'KS:?FA,L]XVMZOKMAYT-^98,*^U MU5A[(IR%2"L(28] 0Q*NWU[M#E((0]=T,?0;GE%&X6]](PAAB7RI8\6/?2@ M)=?]^'_O1/67UHU_V5\"W7O2EM8^]>4P(9!\)W?YWHP;B30"-'#1E8'+7$P\1:\VM6\@5WH\2,H_%T.B8N"$9\.O4PFWH;*-;^9]N%%A93HKF6G%KD MA FC\3YF'.))!8U*V6A$&,/Y$,V6L@!8(SEAQ!&% -'A%VXB1!W]>E.=>%:U M-E8WS29J3/5T2-6ZV3TC.=&ZU!N11-%9OPR#>'S!]Z DYW-WU.M?C(N]&K/Z M]EQ.A>>_8A?NE=COX2]W7SZV]\+LS6TG!_IT:8';,JW.R\ KR$,*2)C7!X Y MS'52 :@SS3@L(96TO0-54ZFH-%Y:*H2U"-O0>N&OTMZR_4I2;]MQY)[V)1FC M9=S'8"(9TW@^3,$B#'Y9GS,8S2#J/$B8PY$F^PN7QJ-N[6O/Q875-N101FF" M$;-"*P=\'S0 B:0;_TZ?ZQB#'A@*.57M2IG B'""!0R:A_A,NOY] ''V"]5? M.UO2 ),D3AQ12NF2AI"])+^>EZ0(,4[\/X.((2K-@PF#+&_&OR.IJ\W;.OS9 MSVI];>L_ZMOF:\N8PQ7L"V&1A=8Z0"ETADD/<;_TZ+@ *JT$QOFV/./*(F6( MQIH:8"5N;^)A5B/ H<1)V\('E;_HS>NVL%S?&YBZX#M*T-BUW*F43%VF/9'P MQ++J8-K4ZZYG5#J[I)I#W7E0*),O3Q9"\RD4/W]XVX[D0I-_6V[^6;>CN+Y! M0J&QV+<%!9V"Q# ';1]5T$F9AJDS#7G4IEG.\BZ"K5&<8^*Q=4A1@# ISJB# M;5U\?>FM2YUU&ZYC[,39) *FSGW=*WEF?LU-.HT6=!Y%R./)DXB>3 M-M%CI7I=;Y:WH4%U_66U7K4; G>K/^J^584!8A1"[L- S6,/W>$>UQ!&%F*1 M!J376I-2&P^-"1FAH\9@C9D%$!CFC;?")U7,&$2E@X%=;"T?F)@XRAHK:^3( M:T(]$T=C)T(^M.TRI'I%J7/CMDP:SX-9V;QY/+[+JE+TS'.S;OJ)\/V^YKX] MH 35#', G:=4>T+#:*5/ )1*+'GX?ZTVUZHQZ4ZWKQ$'>" 4CIYLGD2YQMOG$IOY0QU\.9OW+Q+/-+\ES M;K)YM*3S8%$&/QY/-6=2)I8_ZJHK4;W]=?F]G==NZ7=UM;EKE]SV1ZA7]?:Y M$XMALB66@$:B*RL%QQ+@)V## *- M<.G-9@ M/S&XNK>XZDU.G(#+)'CD9-ST6B=.S)W7]H(\C9/NW)Q=7NWG0RRNA M62P+ W67GSYMZD^' UZ'8\'[HUL0:PJ842(,OD$(3!;&=TBJ\ .G,)(XA8!G M&T)&6X6M!H2WLY=<&,$P(=H*3KDH7KOLH6TG)_V'G8 =IVDAQC<#.[ZM-D.]S>G_E:W MQTP6[86*6DH'O#%" ^V0A/U;ZJV+&CH\\UC8%K>!0#" -/4":]7.: )K1?BM MEJ7K K>65+_O;4F=7M;;?IY;?ZTZI9;P\->0"$0A 9)ML[(SP!RO3OMA0L*N[//-X2J2%W M1&E(PF>/2H:!!EXSY*6$HO27.QA5[7?Z',Q*A,$8X[+RA70E'> M\K(-JZ,[0+ZX4K?/.OP,1#.H,X."LB,=:+*]*5F6CMX>JP@XZUU(':070E ( MC:*&]2'@O,ZQ?'3?F 92$0:@ EQ3R[%T5%HI$+1(2(N2SEGD74)Z.[1:S'B! M1ZTEE=$VVWI2C*Q3+BJ]C:BBDDWI>:2 ^=R)6V :JE/\T>"NF;9 BFG67U\5-/&1?HFS@^7KI;TI!9HD<*'59.EO4,6DMVTCQH6]3#)\>=2ZL9 M?]U7NSW_N$1XO(K <=!>:&RLT8(:#RD#H7F!VE/7S$?7%1CZ^'+Q>SAGE::,S$X5LQYQ-EH+Y[<295#E9C%[5\WS?7=U>[=YGV]^6-U57=K MZ A[I:ULQWW 4"$]]?C0C-$$D]AU[4$/+YQ]'&SJ#BD)3-,M->7M(OK ME8:5 5)E6])^3HH75K-'J7;YA>QQYC>9WIYD8FS5^OK0T/:P5*XPD\1IH3R6 M&E/#I/)]6U#)Z*UUPUNX!#N2=\6,$# :(86UR\"1R3;'O*C(>9R,4' V3!GC MPU.PC%8D:@FNO6JLN?FZ;W*S'U,L"#(ATU'2.\T@EY)!20_M6*KC9DR&/[TP M5?JK @]650>S$I:3AFD6L?A67*XTD%Q*J81UM^**#5MV2U4N;LWM.6=?6G(; M)D729D+V]S;^M6FN3^']OKF]5E_:\M__N7^CC62*4T@805QZ M'E N=-\XQ#KIVIE,39;>]'!B2QL7RZO_N%MMZNMJ%2)K_6G5'6/?;NO4&MNY M!(^;B;J UNG ?E.=&C/M?%2<0&>FIS(K/(_9JMQ.-47?RJRE>AGW7&GLN;46 M>64AL8L0+/([RR>9-8P#--I;B- M_">99G/S\W%0I[HQW2_-^C#\;A-1;#5N;W%%/$1X^%1R*EC?O$,P:L]I]D9_ ML/%O?M$C9B[$OO;H G+A+=.8*B"D%,H"?VR'00!3\KGT MIQ?^C'QH=B%_NR]X7 ^JN#I M+CYT;)ZI7T&[J^+?;4L;9$D]XD69]+:X;K- M(Y$=87^3ZPT:R(W]SK_VSM6%=D@!(Q@'TD&-$6*:]BT%8B5=<#KD^879<1\0 M^PKS YF1(E@B-0II-90;?37Y[IKI"\'C7I(8? P0<&8 &>+!2P@9K,;X*RN< M=Q(90Z61T"G#N\W#^_8(]BAI?G9X*Z6!$GU=Q0]PW4*LEO.(EPQ^1%^WD*9, MVIF1_J[S]@#+:GT7VCY$;[/>ZOJFV=3[/_=A^:W>NF^[S3)(NUHO-]^[,X;! MZ*OVZ$O3S2F'\4<=7M?=@A((+(0(:V\ ,.TM<;JWV#,C4Z+ODG86CM_#]^UC M9_\ACJM=ZT%::G#1KHQ+,7Z47DQ+51XD*/>'"?>N5?>^]5U\^/.=>]T_/)0XP%>F8,Y^!.;P.\_B0S$*)9P]CS:%WTCYFP9+#-U/7Z[J]'=MC2B'7 M&DEJ,(0:0=^GG00A.>!#E-[&-!^1\-GH)Z.&?#P&2)<"_K*J#8)V,*F?F*K^ M2.\>)978U6)KH^XW*P#T;:_UIOWGY>;6B^WJZL% M1D!;*@3P##B-(5>LGR4CRKHDT@QKH3!G.B,FK@WXG YGHF.<;O.(C9$^/"X> MF$&1H7%A5[=WN_IZ(0PRCH:_@,7$<@ZHDL$)'OQ2HP,4R4V2OY1KSY]#H]7?X1<^E/]RUU;?.[=3=?R]MW=;KM; MKMNB(?M()1XB[03$'BE%B.30]E\P*BA/VAN7M^7_>E^;)'W.1%D9G><1>X5\ M:Z9X4[/$Z0$.3TQ9&"@D"UQ@PF',F ;,@-X*S7C2+;2YV_ZO^/5+U"@]7D>K M/>N('>]=7,QF4C''37WWMP1JPZEBT@$A$:.HK=XNNCLT/< "JZ1]!G$M# 0 F%QIPS7;P$T&LWSE4QEVF6%#QN+FEZK=-FEK+(//D=?S%7 MEN95?AYDS.Q3PO5_0Q5++-'Z?]]=?WI03$T1#QQT7.CP/Q62HW9@TX4A!,S) MQ,.@S[_%\@=*1JD2?EMT%HOU6?PVOU^?EMOYUT]XL M]D7=[3XWF]5_UNU9^+OU#BZ,I4!!PKV4#FLLO02H"R"+O#,V:3XPMDUOP].= M\,%534E;#=XHBZ@*:8CRQ"95*AURCK8UL[JWLSH8^J:Z-[7:VYIX:7PNS>.@ M=0FYTR"60^DRYYCCI#O#N-SBSX-YV;UZ?-RYB&H#F7BMUM>_U;OVW*&]V[0W MV->;57,8'2^(EXICJ*$S2$N'!#.B#U+@G!H!QO,-AQ04>L]I^S\*B!*,26#: M+;L,(>%*YVR/8_:Z.Q]],+?:VUOM#7Y3[4V^:.R>%3,^@//TR2RC.)-KYT,Y MIWYYX_E_+F_OZ@771"/BH4', :*=8-KOPQD#CFW2Y8DI[1(G+ /4.8<0]0X% MDH'VA!_@DG)L2L\&)T5S9_$<@[DS;'0LIW7(CQ3*B9X-BN0AZD752@AMW6W6 MV_ 2UYL_ZN7UO]]M=P\&2$AHACBE(7BQX=A1KLPA=&D(ZM M(@ZI<5P2:C%FR'$&C38%#^@?3*L.ME7WQB7/EF32,^$H_J2Z#CM_/T[?N$/W MK\GP#+ORRC>#X_7Y?&E*O&!IJ45+N^XU4[>WS9_+X/VVPV)GQ?9#>%97WIY! MJ#Q2ECOCA:&20&[[4.)8)&45D4T"#VGP52D90E@;)3P&A /+%+:.%%]>?N], M]?[JZ1>61UN9UJBK[%.5I1X9;G7I8@,#PS;M;NJU1_>?JP93$);UOYA%FB2LJAUSIW8V^VZ[6]7:KVLJLV]7^G/GWD]]U>^<686B- M+?%.XF"$8EX"Y7L8*>63-N\F-\Z,)]( +1@4U$$B%:%>:^$L!XCKTA>)]_:V M6TM[BZM3D]]4'[^?_N"P\30QG<_?)Y';2R[9'8EI?O:>*+/8E:CHN16O4ITS MC\2_G'N/U[[*ZAC+W6<:[Z9H!)*(2< E";P7R#DKY"&4#>1IA=->:@,J+Z"& MF@*$*/5>:,6$AP@$;CAB2N_&>RY>!\T4#]8P#H=3R)=&O2'*%>':"]*=!J=%>-'E?L?',V9?AKP^3'QI(J26&B%H!L/6$"-)'#L,HZ;SSZZUQ9"CF MQ@!F#"4AD0U-4RHD4Y)PY$HO;#T736^JWL:!4[$9-!Y.IW+RCN=4BK*3,>N! M8(GT&B;V?#DVT)\(HHU1:@3;WH8?=*70%IK9-N"8Y0HAS;5L%NLL_7]=;< M;3;U>K<(:9]#""*GL0G->@4TW4<5XQJ3I,L[7FD*"Q,>"8VC7%/(K>">.2>= METQ[6OP2^H-UU:EY56O?F^I@81JLQ@H;AZL)-4T#U@@YBQ#KO%!GF)5)X7E0 M*Y>O^JMJP[F'2-L\%GWL=)&LVLJ59/9 M-5S04O0Z(]5Y>N70>#;TRN+,4WKETR@Q[W)?OMXVW^N^1&V/3+6^;NME'_AI MB=#='6U*<(:<@<&*/MX$-VY $A;5KF!24(\AA1!0C*#T"EO"J($0&>%*WZW6 MIQ"]K55O[*!$+(_225G9Y"(/2]'B]2V9F<6(]7J:EE7RV5 OOV?/)W %U(L_ M2;M<7R\W;0[97E#YC^5FLUSOOG>&+6_[3!(: 3VB'# M,)&68X;[^.1.1MU4 MG-8B!\A+PAWR7E$6!N <4HNXQ6'()@E(VDPV@H%_'JQ++0>21=3(W1J3ZYFX M1>-@7W4PL.HMK XF7FAD&J7;N8T8676?!_,R^_3DN'%^Q1+S/MVL[[;U\X"% M0KL0>PAP924 QMJ3>)1PR)S;N>:(XX@YCY4S-O"<*J^5MQB&@7H8LBLP$>$^ MMB8.RNQ&:9F4T$TEX[ \[F#=1;*W,\J\GK3ED'4>W,KIT/,I6CZMHHZ*'%JU MJTU]M?-WMS>KV]MV/[QIMKOMPAFI%#+(AYQ!,P "+MDANJ20,JI"440SD$#K M#8)06$2=I()XIRD%$B)K/!43$>JZLZZZN3>ONFKM2SB,,5+.\[":6,EAD-H; M5IU85IEI14PXG#*=F,/.F;SV9O[KR%,B9_U_ANL919O!V8U,CC397ZAT?K]? MWM;;#\MO"Z6PAQI+)P!CPG/K%.^C RF)4HE]?+#& CC*D>8>4QRR9=:=[Q7, M$L2%HQ,Q>MO:TQVH:KH#5=WMJ=77_6\GZM_FF#F_ \K;C MY#9$Q)C+IH>(F#3H+J7?,&2>7ME\D9'VB1ROCZR':#>KD?0@!YX?.0_7(I8G M^Z.S^];>KI8?5[>KW>I^&XQU0#E,//*< 2P9M=[U81'&*4GU?%]I"E@%%-;" M,D$HE5(C)@)#&=',>P@FV)'2!4N7@Z7A9*R&<6B94+XTS!S* !ST.S'M0HL3 MYX4Z Z!,"L\#1KF<:8J\A8.2GF?:\X9#PP('G45(*" H,'UL20O#V+#9+6^3 MA%0:4DN1U@(@1PF" A*&TR;SC@8EH^EP-_IEON%)D31>RGD$ M408_GO^PCU8F-G1^7O\1'MYLOO^V_/-O(6O>K):WVU_J77N;T[YFTP)(RAB! MQ")-B:8*478X3&<-#XEPRC<^HCDGH1&>,2TMILXHS:FSP4.HH.60NL+?^:.% M;ZI@8W4T\DT5S-S?=[8W-"T'R*%S7!XPL<1INK7]7%^W-8,>M8P@PA!*()PGV'(OL#N4>+%6D+2)DICV./,@QX\&"HJ MM"4AA)6DG"O)V_V6'G#EA)8T;3]]^M#G:,N%(BA($!,J*4K-+":23'_IY4_W M/_8M-\V7+ZON[H*VT)]IUKO5^E.]O@H#I_OZ@/>7T3*&9#!#:HNAE"'3T.I0 MMH@0;EG2";K$IB&VUK67X'(!*+5(:H0!,@ZVAY^)*SU_>6)MMT;RP-ZT#WQN MS>.^]1>4.^VS?U;IZJ2.ZN\7NRL[3[,<7J65$4!(!#Q M(1 (Q.6__+__1O.//_WSMIS]^=/= MM/KTTS^KZ9^CSX-??EEV^FGQPW@T^?/?TA\?!K/RIR^ST;_-AA_+3X/7U7 P M7WSWQ_G\X=]^_?6OO_[ZVYC;0UA6/SK__KM M];O%.G\936;SP618_OQ?_]-//RW),:W&Y=OR[J?T]Q]O7WTWR&A:?:CF?QM6 MGWY-__RK&0ZGC^5M^/)03F;E#+Y[,<3':7GW]Y]'TP]S6#;62!.5%OV?=S2? M?WTH__[S;/3I80PK_;61J?AR/AB-CYW1LUYM3.S]X,/X:$I]WZF1:;GJTZ?1 M/&V9F9G'(UNK8]13._ST:3#]>G,7 M'^>/T_*WT63TZ?'36V@Z&+\9?%WT^6-R6TYO'LKI(/5[70XV&S5C[LYK@1VUO0 M[.;.#68?X[CZZS10U1NIW054GQZ @G!ZCSZ7KT!W_53F+Z7&F*TN:OF=>=C: M/4PC4_?E%+3\^8) L_ET<2>HJPS6Z=O>)'^OYH=%_>&>[4TP71EN'\?ES5WC M1#YNZ+,ML=YQG#]R>PO,6$$K4YP-IZ.'I';>W-G'V6A2SFI,;D^G9J:ULB6 M,A5 EYI_?:(>'YQ=C;Z-3#(.1M-_'XP?R]] +P4-=L&CS8@D9%\]FOZ7KA4>X$,[+UR ";Y\W_";*EW='\ZF:SD?_>C+I M)CG?S$2Z)M_6)HWCIL:W=+WP;SQ9=VH>$@>_H^M%U],J3AZPD>4L+QWO!U]J MVX9W]VAZ0K7.MUWMFYY,/6;N[-#0=&X?0?'\^JZ\3\?X/\KJ?CIX^#@:/CD? M #'O1O>3T=UH.)C,';2'"4UK3#Q[Z',O,>-0;O=;STV859>G#3]4C_.WY>=R M\EBZ:C:_N5O]\H]I-9O]-IC>C])@2S3;$OJ5+[9]BS1M=\+G9D==2=+0%S2T M7*#VO)I^/3SM9PV;_?K:9]3V]LU.IBXCMS9O9"K+QQ?0A0>3X6@PWM@.7WUZ M& QADYC;ZB&]>IC94#%2DWA9@S:XK,6?:;,?->]=O1J$?CIKPL:,UN)!:"M:6I@U.X=WC PSR:?' N'Z3.(I\-09H<+KU MMORVMHU,8G7HO2V'%8C]= 2D9\TI;,O5DUM=)?[H@3J:?CWZ'CM.2Y/WH]G@ M_GY:W@^65M=5BY-94&^\;A=S*D-J#=?24FJ)M0/=6IK:FVH\JN-+=+AG2Q-\ MHD_^C\?;^V.>L$X:K,-EG KEPV,ULHAW\VKXYW>^!37I?K!C2].KM?"B?28=M_<;3Z7?=4NR'3K$?6"Q6LFVTAF<*TJ;9R3X?L.'Y@E < M5;=ATC")MP_;RMS?S0?3AFF^:^"&Y_\>M,*RV9F_'++I.5?SP;CA.;\8LKDY MGP",^#V8?%FAYGO]P/!@] #ZQ^+O-AMK!]K6(D<..CDE0C&@(6&%E"=1T:/46AF0Y_JJ9P^_S[S_CGG^!?[DI@ MRE(H[XE^7*!R_D24/( \3"\(?_^9K*-%$:D"CP#"N+J M!44#%.U8C7D26W)8;7G2N+#!4Q.E$81I'BA2&#OCO,=>:RRR3,CRZG'2&%T[ M4TL6KA^[K![[U)*]'0OD#3+4*B\4XUQK2X2"_2*8%3%BE&,V4C_6P=,*P3L6 M1D,6:::IL7!AY,1:A4C@C&"%F: YVHP^&E1/'ITO%U1-T;K[QZMM M[D)7\W9%9(C&K6+"DSNMV_4$* MYYV@@&%&">5.>(4 WU8BN'MYZ8C_H1^T:\/DN96N+?IW( 9JI[#M4!CLF=,W MOX :@N&H<0IN-)7>:J()YH(10S'6 (#H/8TTNO,)B5KKJ",HCANHP-3[@#41 M4B'./0$EB"+B N;&&!9RE,X>/AZUA):J0Q:<5UZ3;#W!BSRI/'*GPF'BX?F-' 9L:%&5CO(%KN:38 MLB S/>5ZL>/K_;0":,5D0K$ M/;;>6,F%E19F&BD%6@G*3#T'M/Z?1JVCINJ:$_WP<3C9N:& 3:ZP8"H*BCD/ M6G,DI<42!^]D(+)+W#V\"(3HX.+4*D2.9??>WZ0\F,[G2#XRN"WV,&I M08I(J:V/""'N!*]EPVG*>^?A6M:P5.V[G-X_S5&$N M5>Y[=C@MX?_-A/+K_ M+L__5BO*EO9%5)$A'"1Q(H;TY&8E6ZV/8Z6OQ%V]$0Z_L"OFT_.\N_#,+Y#G M,0\*S7RD#K C(V]U?*EN"S\\6R%8YT(DB.*YW7H21Y4CUNDU+W M334;+;-:'Q0@=;H7 4GD#0>%C7M%:20J*FP4$7#Q5+B>HMN2)\>RBD$-MXWO M&A9&&QN9T 83Q8-Q@1"S7A&6_&SFW0[V?+,82:F?TQ$)?Z54CI\'X\6A M.7=PE'V%0W-1 FN?HE:G?X'2OHM 0+@:(P976D[%>NU&J:MVF,H#P_,+2@OD M[DP\?1Z,QDDABM4TA2N\2]7?ZKK?'NI;6&,T)5Q)23A'F%/OUQ05T=H<-]R^ MF_&;A5C3I.XZU\3;L& @0,-JI1)3<[9D69=S MH6^0O.?)[/%V=/]Q?G/WQVQ9'G7?0;6O7Q&$,HZ#AJ:YY\X%#O^MUZJHR]%O M^I@MIAGT-$G2KN#C5YQX/_BRI,*38"P ?:WL0[7'*+PV4NN(",.88.FLL7)- M@V!1IPXGERFAVJ)U5WA;%W/> Z=UD\)2&XWT+C >X4Z !!=QLP(CZ;D4YUX# MY$3J=<7_/67I]VL^^SL6Q'D!,M4ZIFGPD00GS&:U*(0NE>?/Y?1#=1EH:92J M9[B0USJ?MK8OG+*$,,L8K-%$K2S<'==K<]'E2)>L3#.7/!)V0RV/[%V_C7Z?J*G&J^CW'0H/HC^*E,J+ M">XC)YZ0#<$4.9MG>;>@.IGGM;+O'TGDRTR:IA'3A@F#)#7"8<\86FL1RCB; M Z2^'X+M *D1.G=M75Q5C:QA0URU++1S<%\P6G/8%T(@IN+Z[4<3JW(29/30 M -T"5/((>CYEZ"@E"%;%*544Y&?*X""E0\:O5X6TRJFA<+Q!N=OK6@N8R2;P M>1Z]-E$8]:Q!A_H67HATZ0UP,9$D*H1I7,M2K9S.L27VL.A0ZTITTP3O^O#: MI%'^_JFEQF&VHV?AD&-< MK[ 7"J'F2-V=(^R*10MJ'(I"W-*Z4-HRZHW$<(WPC'#O-K<'0S'/R:'5]V(? MK>,IG]Y=BJ9J4@M$SYL6TB@:461&\,#@2"9L$^=F+!+=5O:X,@1E$KNS5X]- M4JLW@Q'<)-W@800*Q9/9[WO^.-BY8#Q2F1PRDT7#1(JU60>JF) 7M8K1CXZQ MQNG?%>K>IJQID_(V#*83.*AG9CA\_/2XR%WLR[O1<+3O G>X/"*,\"18YR0X31D3NR?K"R-I(^^^'EF^'>F M^O&!.^\\<59*AN'.0]=P)XP!3" G&5*@\PI&@(/@3EX.,Z6Z/EU2\R-=99YZ)AX0D50F,A MD=>P(JJ3HY7R'F--*<(YO@!]5Z";Y?C+?-BGD[G>*3);HV96#O]V7WW^];8< M)<#H],,BY?03G,!'Q>OR?C .DWF28U]&VRS:6UH5CF"/J-XW^U P=,F1=2&*>4DCPRGT&[EL68A M,.\4"P)E5O/J)02R>%M*SD,IK M&FR0BH+$%=X@XB*)CIN%X,U)QG$Q ^JNW@7V E$=O!78<(N,09AJ@:01--5ZR7EZZ'M&S0;1U3RESX"P(\[! M/;V*R(P/E+FH+>&@$VJ,I:'"!V,IR.YK3A[4#J(R*7PV)!TL#+FC1X&I99)Y MZB4-L%.$8=H;&[TD&FN9)9/ZGHFS302=1-VSH:>>\K2O6T&H--92H!33G#AJ MK&(&KKN122Z%RU''C_=[O1X"!@7ZK$;4"$>"40B)>GJV?4)!:GH%>3C5'/(^V)9\-L.G\"$OCM.4#@H^)M.5M/;8>1?TNK J;,C$A' M&N<\**?K>K'Z6)OY;^>E#.=V# ME3K="T:<$MP8'&W@03J#O"%<1DF\E-9>V;%R.N-?!GPW3=O.'Q.7>E;RT:PF MBW"M_:)G;[^",@0W)(=ET$!(KA0V#D?FI#7&D:S2$3U,*-"0'&J2I%W!Y]E4 M=RHP>]L7PF-)A8)S6#@XSXW%1#K,):$$<3CGKTOL-,3GJGG*GL$&=O#<>M&V MB$(998U4@49.L=>$(\\MQ88PY,.55)EOB*^[;5PG4?/,X6\'T;*W7\&"=L8I M3 A<')Q)8<:<"DDBT4(KJZM9^9LU1@O 3>-D+1'D6B'15#=,0IB"4T/5"+ Q4!3 ELH!0\@P@(S M4EQ9AJ2&Q5%+5.[\WN7&@]EL9?*N>^=ZWJ=@WG'-# Y4>!ZHUIA[";(X2(^M M=&=S1;B,^U8F.3O3FI],\^!%ZV7CPFE&D4L/X59Q'YEBQL!*I0L>(W^USTFG M<_>Y[IQ+TNZ4Y__S.%LFW8G5]/?RKU6^;SA^WTRK"?PX7%JG#LB;H\8IM'&> M*Q"LT2(NM% DJE3BB5*<$D;E."'TL#I60S*H31)W!;?W\&TW=^:V>DAL.Z@? M;6M>,$DC8G#SU(*!0J@MB10S*AUBBC!VMK"V=L#3$M>KQ@E]'HGE/@XF]Z#$ M/:7*:#(>\EF6Y35V0Q&J6 MQ)UI4KMG?=@>>:AOP8A!C#B+94 <;AYPX8#-Q9C%V%F&K^P1K24\/->]&J9Z M9^\CTRD0I0)^#1,K4PZ!-\DI\DT)?]X^H=T3[P3[]P"]AX<;;"A+T6DSW@Q'D.[V<+/WA1K=&[P$RE MQ!W!$NLX(TI[H0ER@0 %8N!7]CYX7NCL/>Z;8,^EA$EKH!=C,H;@@&K$Z +BN-:Z_%7C8=+R^(QQA-/>&$"&]XB$Y9)+&0P2K%@LL*XCE: M.'51Z3F'Q34C=XXC:7<")2\3G-"*8$[==,(:Y/69T;@(D"[(0#N'JL@'FG'K(^:*"YP MU(XRBH5AD5M/68Z$Z_,S9&OX:XS4O1" Z88R'0WGJ]04YJ_!]':1_!4N%G?E M:/XXW5NU(WOLPDK!A?>"."J!+UQ)[Y5&4:>[D'A> OYJ7JA:%H\MD+X/TK(= MM-8>NK H*(5I9#[Y1'&B5%#$*T:1CEL/J?K(8Y5!]DK:_NHB( M!,FCE8%2#I+"AG3O$Q%X$ G-JG?29PMS/M9[QIG.Y/;BX$FKA'W[?O#EGZ/Y MQW0_A,T.'RS^U3Y?\#Y9?<)P!4?<,OA#1LQXB,9J&36V&'DO*4?7:AYL0#ZW M3^W#.!Q-/RR"L34"_7F!K?3)\NQ83*@8A7AYN!BUI-+7E&JWH+W/)0_6;[6T5?\*+TN5M/9NHSV@5.\F8$+ MBE/20BV49(2S"'O5"J8X5LHS$E!62ML>/C(W)3B[)GQ70A(VS;<=M$?D?=>N M(#3E!T>&,1&X%U&'0)-;DJ44MA')>'#IV:BYZ6SX\3H(FI2WJ> MJ_>7!*P6J=TOW!VRXAPQ2H$#%Y8RJ52,/#F=,Z^(5J D8(]"S$)=_9>M)#$* MZ@<<. M<4F#(L%@IZ(C*7PX*[45ON[7F\Z(_@V:W68]G=W3FX=R.DCH,D, WK)\WF$:'#]8X7WDF&J@ F=2.#BFL5M3!MEZ%=XN MO1))%F)>ZN'MLJ#G%SCOJ&+(89"OT:&%R_1Z+<;)3ITY.X93FYS??]D[BN9G M>6]-[V)P2([+[V;^OFI.]+7Q=06+5B.4BN"R5/;;&^;8BK)!&Y-CT^I[19T. MT=P#UG6U*7P)3!^.EEDS2] 9%ZA8!)I,YZ-_'7IHK=.]X-388 2/B&K$&0E4 MF]7*HZ#Z;,$^'8#VO$AZD=2T<69UZA]PM ? ME=G0ZSSD2"#/3>&P FU7AV+ M)$<;Z*$UMU?H:X0C7>$-"#0M8:Z^7/[]:K)^Z5B2[OW@RUZ+<*W^!5&:6J0E M=3QHQR4W*79ON7:75RVHOY;@7H&R#3YU^NK_.Y /:+6<;?B2]M4^D_'./@4+ MSAEDC4@F2B-85!%O]J$(.;FD^FL?[A46F^+-^63DABJK9^(:MZ3Z@Q2!,8]D MX((8);Q%Q'NYI@(W. >A?:_WV.'=IS6&G ^6*\OX##9X.?I\H&)3G>X%"J"I M((=L#)8QBCQQ=+ERB5( 623*\=> VPX_RG[9O#UY"-VU;

,?',<8M@ T:^ID$@*B?TO>^EG,\G_++YT.%C=,T;62/>$067 M@>CDJ\.LB"A*1,E:%8%[G>PVLVD%"+@J-+;&B#/#,2FSLZ:<=O8,5D@GA*,! M:R)L5$X;3^2:*L*C'*>=OK]+=^FTTQP+N@(F:!3K4)+A(MP.E@2[:O[US7@P MF9O);4K_]/"TF/D60-8?I)#&6^]#LM8[AP2+.K U%1#5W902Z]HRTR9:JHY8 MT34@8S6%J0_+\G86@: +[6,+P6J@LN9(A<+>2I@5)1A."A\1Q^N+'#:!Y<3Q MGFK+N4IHML./SO#Y9.KO!N/RYFZI&"^, 4<"],BA"BE\-%+R1=(]J46J3;"F M"&/ARHJ\=@G-=CEQML/%L>#2?!Z-QLF"EO".PS]Z5P\=IW7.\QBB% M@(."&1)]*K(B--SW^'I?$HIY-T:A<]G$SPG.QGARKG,<5./?!O,TYZ\W=Z?A M]+01"X2)5SIJ&I0- FN!L%W3Q[JL&KD]S#MWQE.]'8;TSX34B.FHX-(@[BBA MTDL@@-=*X0T5F,XQ&1V?(JY;BV:'&&V-(6>&91Q-!I-A0Y;-/8,5-%F3)?(> M:1(E4S#-->&)USP'IGWW.NO2LMD<"\YRP*?D ,D"5OO\WG0H*!7168J]CH8' MK"3L[O7JX.>L%%D7$7U'YT([9#A> M;%5.F--PRS/K51O/<^SFEV.5;!.'C=&^?SIA([I@@16HWD';X+S ,233%]]0 M(,*7X:*XZ5N0[C>3A1UU;R5&TF+].XLM=?6R2Z3 M/SUWG]J#O&.&*9#63%O!K:&<8:VI^Z:,!)452GV\?V2W0K$5&+9(_//"T(!8 MGTZ_@@0_E-"P5O_"!\*UT)@C094C6#.SOL!1QE2G=50>EKDFYX/I_"KAET?[ MZ\*=I8%8K70TB',&FHS=& ZH#+A3@_42=V'2X>O?&5%W'.4[RTGR^/ P7E!D M,%Y3Y-7DKII^6K*W1H; >B,4VL)B241&(QP$AWL768=C,"=]3CA,5F622T5= M.W3O, QFG9DB)67?'^SRM&5AC HB(@WKP%*GJN&;FQDC/$MEZWLBIL99_C*> M)8/4G1E.EMDE;J9O0&%9_;)PL)@MLOS'T9?R=NF4MO;\P7O@=<)HA5&&Z:"P M)#HJI@U(\[7BRHPA.4D<>IB J6W4M<^!;\CL/@/PR^(GO3O2X M],!U1BH(EYQH1)A->=E0@@A1.G!NE,:L7CQBRS1Y?R#P]_N&A: HV!BUI\IP M6(^2--+D86A#)([EO#/U\.6S-7Z_2%2?0>3.=.?U)-\-R\D CG_S9;2_PL:6 M]H4WAA&^^C08[?3(<8VM#99A$S'57FF1E=VFAPXM M34N34^G8H7/*"64J-//(2DR-"J#B6V^\M=BX((/$0/,<5?:"$BBT>C'*(7A7 MX*E5]77KDW -BT/^X(5#4:% K(K(<$^8(HIK1R457KN852/]@KSA6X5IYUPZ M-[9C-2U']Q/W")R?#+^^GPXF,UC%LC;!XK?Q$BN;9,VVO(,^C1>U;F\/7?L/T*P3 M-VXF'OCP>5%'<&:FH]EHUM.4RWSM'=:/A,!*2H(7/C7GVW^(PMD?%M M!:$,,R*TYY9SY(T- 2N%@<0:<\Z[RWH5J>P:,XICIP*G7)@8 ^+""HZ4MZR; CQG]Z=O]6K='/G/Z!:S MG/?FD[-YPCR;1[U:/]MZ%$$B;+ASWEG%7<1 ML! \5L)'A1E;K\B@K&):/;SR9_-UOP?+<<0\\0"83>=/8 &_/8<$?%2\+6>; M16Y_2M[2JD I+LS"S)FU)C"JI-V00<(Q=EU@.)5Y55,$[ @ .U^(M[8K#$;2 M$>]A#R#-> U:^7A";L#R[-5M6\6!%G3*O;Q^'\9OJNG'X> M#Z60FCU^8!G2\.&J!B!WB8@BNL(9AY1PHR'^P]< MBX-3#*]7%2CMIB;7I0B/QNC8%3K>EI_+R>/>K"7K)H5"7F"O912"8LF6%@U0L'#&!A-/RP."(TT40N^ID\*5\WFU=W#4E!-EU^^ MA<$[VQ:,.+@X&1V#%2F63&#-U_/D-EQ9S?H&.-T4*;NS)<[F-W?_J*K;I^?8 MNVI\:SXEP^B_#F5ZJS= X;0PDF,F&)$Z2C@6U0;PF-H<1X0^'Q[Y(J,5^IX? M726W'(]3'K^4)G_Z9YG2CQ_&S^Y.H,!C!WO$<*U#"!9%15>6Q4 9,SG2YO@, M\I<$GL9HVME)5$[*Z6 ,$S:WGT:347I@2NXUA^%SH&?!G"9&4^.(B1AS^$/0 MS7HYS['&9J76Z3V&FB7LR;?KIPIX=?<*N#"Y'WT8E\NL%[]7D]4-F +25$6+Y> M%^R#K&0HUVW0S:=FA^FWJN\G>UB!V=FG"#%HXAS73N,4"KOPL5FND=&8E\WM M.@W#3=.T*]Q\ W;R,7?5!";^"'-?(;^:S)8!2T^2T(4OH(\!-T>3P?3K@EHI M/1CT!(J/%\L&CI6SP^YZK7QKP1E&'F-";70(N8"#MFLZ1^%R:CK@Z[9%]X;&QM M7U""K.=*P:4#!4NQ-&)]^P"RA2P)2ZL^-'X<;ZWI/F.'H5RQ 4. M_R%/F9<2\76^?#A1O(^6K!? MGP7XO:Z6J0_LUVV#O1W-_CP4+MG=) I)M9+4X.@M!T(Q$YDS@&%-%#*Q1$F\L"DI=601Q'R%4 M ^4GM8 0$ _8^:N>Y1]H*@[DE&F/NO"-9%]K+ MP.7Q3-^)I&SZ=H6D50:]=854^/6OP?3VMS)IKWN0M*];$2P+VCDJ/7?<,*]8 M\-PH@Q&<."K/--)G).4PO6J-OMT^YKR0V@>.RCV]"D28%MX0ZH0"28YU\,:I MJ)#&"".2D^BIAZ_@%W!2-L>L,X/RX$FYMU^!=#"2$L41#3P8:YP+$3GC/4.& M7DO*AT:Y7@]))]&W,R?WP;BT+1K&+%A0+)@S'1%HG<1"$ M,,PLU5G)P"X'.\?R^;F7>P.4[NG8JCK>E$:ZGK=;H7@DHCL:*@2UHNL+1"*.N<E MEC4+B"/1=A+%N\+;:KOZE'.[NA311R%3=APN.?<&:>2ECAYV,K9$R"NKQ9S+ MYH.H.8FJYWROW+\/3WC)/#Q@(>$N;D![9HH8$.].:R1H#66T:@ J@BS#E^9,;=M(&R7 MG]ED[\R4,IA]C./JK]6\#YM3MK4O'!P L! OK(UAJ=< M^I%Z*M_JH7:VANVL'/[MOOK\ZVTY2HC5Z8=%*I4G0(6/"E\-%_-;%@H*DUL/ M1-J"R9UM"Y;MB5<11P(G (TB!R ]?(-J"2"95.WVP:FYQ*,IF2J"^SFW@7$< MJ"'4,Q0,EH8PGQ7M=&D/!OG8:8S.YS;Q'U^N=%/<]X3W@(QO*X",<#M2)*2R MCRA:+4 U95Z!$B%QX#FR[]*,O?GX/3^#>G%U^%:-M+Q=U!\=@M[P.$XUXV[< MJU>3>;5R4+B[*U/L1[FJM/A[>73D4P-?65BAX5HF18S4IF0CUA%'A.;(,,GA MPQ_(XI>_!7K"I7,%'?Y>S6&EA-G\V2ZS-L(5EVC"KB%)PGQ=1&>DD752]Q8[3:ZO0V FNZHBG M=MAS+A'T;OBQO'TFH>L5QIB7ZKE_<,EEKROY"ET[6HYE[\L\OIDD[ M687JIE2>YBAZV6'/L/&LPLHZN+TB9&/4SJ[7"C?Z*W-K:H3K1X4]'T??:PI@ MA:^F3$FB;,I(!.8[LEQ6]@@BB"E/G%($_ M& O*7CF.JETAQ@[&@\FP?/>Q+.O:EW9U*;1BDALB%8EP MQP!Z>;3>989YG&-I:8&,H0\H;&7'0QA"RN;8: MX4R.,T@/7T9:P%+#%.XV^&0YYV71\GI8VM*E(!9(I)EW%%M8)S>@[JU7"!_E MO/GW\'+?%H;R*7LF>70,?+;W*DP*S$)*L8"""%2!#K!^5S+!H9QY M2B!.< -BN8 M34X.SDE%0L0T:NG6Q'""9@6_]_!0/X6%6U%P$O6ZPL&_#Z:CA/2W(+@."(7G M30L&)P.WUBBEA$?46,O,:D5>1YU3N*J'I>&;$@V99#P', Z*B9>-"V8(DM0H M+Q)]=' ,K14*;Y'/*K'=/W"2UHX-ZY#;2U ME%<6/G@:(W>@X20*=F^N>WU4:MA-ZX)'38RBR#@&=Z@ JY-K;UU/!,TI+*'[ MAXSF+;NG4K(>0LZ0F=5[HGV,"@M!:0R"R+!^*O%!D:M-8W "(P^F83V.EET) MC6/2L,+5249C# (1ZGS@AL6->F65ZC08YC+0D$G";F.DFLNYZJF%4]!C9B2F ME JXNJ^/V>@BR7EJ[K5M,Q\HC1'UK,$OOU?SO0\I&[?Z$Q)*'C-V85E@%BL1 M*0TX*(>]62MJD5&6<_?IH<]#DT#LFO;=^F1=F/)C"+>4(Y7?V<\$V?X'OYZ1-BP5X%Y@[&YE/U M.-F:W&]_CX)0PU"('N[)DB6G76?P>ETAN!QMK]=O4*>CK%F*=G^"+SW::AW( MRZ8%B'87O!#<*M!KD:#!N/6*%,Y*']3KQX@FS]>32-GI%"82RF2L[>PTAAJ5^I%Q!C;G'>P7INU&SH$.Z/\.:R? MF_" FO;/3?LB&AYIX#(J9FC0Z0#?K(URG..>V&L+:),"[71Z]B)CPX451PA. M21J5E*E$++=1RG7\><0&J:P2O.A'@>Q9>?(-];W*0[YX%+F\-.11.45-X-H' MS"/S@ 'O/.,>L$HDR:H 73-,O'HT< R>;A;G_1XPC8 M9W]1+1V5UGFBJ>="^%3[0H*^SG1(596O+)'F*2S*D)E5%+ M1#D+5%/'J-#81*$=(N):'VWS1$,F&2_%7Y18QR1FEED.1RG#ED?8.M9*;IW4 M(L>(TD-A<3I3#_N+'D?)2PX )ICY2),[O3&P5JZLB-(%$@VB 67E^3[Z=\.U7,9)"P[X[KFBJFG811<>">$8L5 M@)QB82C@7.>$(_=0=)S&R/V.Z\=1\'(Y M'&3TND)P4QK)J93L"B'?3-5/$Z"6LU>3X?CQMKQ]-7EJGM_AY).L^@N"U2D3 MV](W%K!]X7^8!,<1)RC5&6(661.#]4+I*TN FX6PYRGA>\&1[A&__7'F* CO M'Z+ EAG$**B(V'#,F5%!,QZH\P0KRW*J#_;:1-0D)ALE\;E>!$]^\FOQ6?ZL MU=&9@N.3LH"= M-#H*KA/]D8U28^>-MB'K:+T4V)X90L=888_CUB5;80D/TENB%!>&BU2%0I)( MI3&:($-)3J3WA>#R>*8?8X4]CKY=(:GYHJ\T*BN)\Y@8S7D,QM#('*.<(2PB MN=JK0V_E6W/,.C,H,^O)8AXLB3&93!G'#H@8.2S:8:=-0.K*,B$UPO6CZLD> M1]]S1W?6E'1UNA?*$Q.]B@@9Q7W$L.H@,*&"6:1)5E+47@>W]U;DM<"UON#U MH!"L-T AA!224AX-P]P2N"!JYZ+1@09)4+BR:C;- N)(M)U$\:[PMMJNZW"O MPQ)Q>X>"BN XK(5@Z[G42D?%?"1,#?W@#]'% J%W#^3BR]T* OC[*]VK? 5/55&D9T19PX63QD0'A*0H!JF( MRHDYZ77JF,L4D*?RK2>N,.MEO)ILR'ES%T>3P60X&HS?E-.[:OHIU8)KP&?F M^.\J+ :*4H2IIR*5)=%.<"]]]!Z%(.65&2*;!MIQ_C:MLZ<3QYS9<#IZ2-UN M[NSC#&@V.Y]+SLWT?C 9_6NQ"@?"JQJ/;I;+")V3>D'Y?2'^CXQ? MN%1UD3)J'!-"R(Y M(CQ&32/AH%%H1J*(TKC(N8,46 J1,HIE4P9 M@JE(% _88T>I#%K6*Q&Y;3>?G#_]R21W><3M:UYH1J/#S'I'2*IXKKR2RP4I MK DYFXVJQ4W<(M>W)%K/I'@]1?9H^+PN[P?CY8)WV*&VM"HX@0NHHAJG#)$N M,(0X7T\])8R\0K TP\JJ*9JV!(?E?'::NU-ZM)TV#0M9X:3;!QBSYQ M DE;QL'I)7Q2;5TDG/.2660(EEYOEF&%RTD-UF=IT1(R M?WU;/E33;5>Q/:T+*[$BAL,A&;3PDC#I]&HI!*NL=Z(>>;6UB(P\@K9]C$P' MDV4B@%K@>-Z\T)H9ZZUR@HEHL<3$D35A4N+RZ_#W:?-$R:-HJUJI*U/XPOC5 MY+;\\O^67_LF\]\'GW:IH=N:%E9YAJB6P1/-,7+6:KO&LF-95>RS"H5W0*%1G>CI3],C3-G1Y]">QNYQ"@&IVD,45,BULL" MU2O'!ZE'E3Q:PTPS9&T)+094ZMND5L?QX'X'.KYK4RB-+8X.CE!E' DIV]F: M$%3K+(^TO"H9EW4 Y1"U5*_4V-*^()12:Y"4&J[MS'&+ MZ=J.3%7T6^2JU9K(R*=I%Q!Q\./-]'WUU_Y'N!>M"ZZ2JYHEU#G& [). MV W:!-CQ.IF@7X%@H1S?3-]/J\V@RW*^R;N]2:,HD)T:SX#RF MS$3EU^^5C,B84YX57[;;1T*QPS26$>&I=), M6>$=7B_(RJS2F?BZ;:J-$;4EE"0)9Z;E8 \NGC8I)!7$,AD=$D8A(BF):P,/ MDYFY>'H43]8"$C+(V);/%W!G_.9C-=EO+GW>#,1;H%919WC$J7J=HG@S>2%L MEHO@==M+,TG9$@[>EEJ4BAZ@MRX3P9?AQ,+DO][RA;&N:!)M"2B$C"0?]-PI0 MA%>+D"'@+#WANDV:#9"S90>-.)K!,?:_R\$TPB>[G$)WM"Z$\91@%"QEW ?" MF8]^?>1A87),$^0'LFXV0]Y.D++T0ZN/E2?MBV")B98BH;G2*.I4)W&]'(9P MSLV3_(#.HKD$;NL6^CB=?H?E_+$0[Y''L6 M^8$<2!NB;ZN&K7!4S>6T*"E-'[R!T3QFZ6!(IX#D"N MV][9'%7;=2A>GG5+3^=T"0<^[=13]W4I+%;,"\DXCD['2)TW>+,H%[-4U>LV MBS9(UI9=!H&L@U3/I 1U:+":\ %?P6U="D8#Y4QYN,];AP62!.G-?=YD)=HA MUVTZ;9"LK7NA3QTHS??5=/_!\UW+PL$M#"M+A=1(<^>E=&B]!$]UEH;Z YE4 M\TG;[JE3??J4W%NKX9_O/@)M9C>/\UG*.0%R;__9LZ=C037&5BC0OC$":1E% M=&N%7&KML@I<9!E=+Q$[#5+Z&Y1:2Z\3!Z/IOP_&C^5OY2!5V%HD%MI\>#-Y MFZS*4YBZ'44V,J%L@JG:RCG M2A.,B*_E-=OR:LUL5BY*H[T>#3Z,QHNB:"M^W3YA$33XO9I,O^/8H>IVC7U' M88EP0DH<#4'<*Z*%(A81S3QGPLN< ZA'CJ7-0JKJ!S/J'5D- MI^?2)NXK3\ MC\=R,MR50.B(WJ#(P?W0P,JIT-P8I)U&@0GA3,I(ZZ^L\O 9\+(+L8WQI',L M;IOWP5S4-7J#VHB-"S1=/2./45ECD?,B8N&98^I:!6(32-B%LL:H?4Z4S3;[ M\;=RA_O<,=T+SWBDL%,1DP[.&&/AR %:4 0[-QIS955C&\5"#9QEDOL,1^OF MQ_\^*J?P_1^_OBX_E^/ZI^N> 8H(YP'B1*H0%2?I/JR0YXXK*2AW-"=^J$?Q M(;T\8)MCRUFEW\MEG'3:[ARG,%C!7G3$6ANXU\$(XJE"&HCM:'175@>L:8#4 M$8D-D;YS&+Z:/#S.9PNBX/IG[\M>!6>,<2VDBH1R(*-&PF@<4G)WSW&\LLK" M+6%@%]*RZ7U.7)&3<+7J51CF+0XBP@9U7 :M1( #0S E;&2@-5_IZ=HYKDZC M]SEQ14_"%5WKK$02(:(B+CCN+=4"6VT9BM+!;UFIS7KDO71^7)U&[\YQE:'- M;EY(6K8I?WN)\2@&9)QG#&N..#/8>0,,W#OGQ>2?H_G' M/R;5AUDY_9P(N-S6L,QJ,H35#Y9Y#9^NA (+29]<"HK1<-U[H<3T%CC%M0A$[O:%N;S8#1.:XG5]-U@7*Y"BH#2 MYE/RK?I7>>NJV;Z7UIHC%(:'R-(CN!6!6ZDMM@9I&V5PECJ1\T[39T7WK"!N MAS==8=,-9A^!+NFO\!^/H\^P@*=:W;=GV#WHK#W&(AI*J*@H\'\_+V_0\"_EYPM*O]\JW$[Y+F>Y#^O&D1D0PR M8&F3&H0TMM0;IE$ QBL66,XK5(]B0?H%SDPF=*:++B9WW.UH9Y\B6DNXE @C M);A('NQ&&>VD*848 M,RY:Q@(W06?YC6SLJOD$QCY4=7QG MA\(&1B*G(GEX<2*$I8A*XYS@H.ZR6,O_O+LPKO= -0M?]^>1<5R;?@52L# & MPDDPRXGFAE+&J+.*8@-"+*O\07^V<%-,WW7I:H"T'6S%?U35[5^C\?AF_K&< MODI5U^^3L60CSA:??W^CZCQ8<3U'F,[S&7XC24.)!&%O*:Z76/",]ZHB!XP8J#$.1$8-<%)@[+#5L#V.UD%C#Q3]FI1WN M:7!SR]"I.N1'OX2)N;U=%+A,%0PW4>/+J.@?3,YP;P5EA#+# Z?8:H.-A \] M=5JB>%+8] Z=Z-NWYW+JD#+5_#<5FHH(%W6DE==<@4+K@Q+***>XI(QG:B5] M$!NUD5#UB=)=W5C?#3^6MX_C\N9NG>[,#/_C<;2LDSNS7Y_\=BA6_]BA"N$B MTPY9);#B 3-M&(_6JN E(M*>+3*PQ9/O[."J.N599RA.E6K2?7>]BG?E_>+Z M>R"J<&\_T 3@-B_@,N&00U8Y1#[1(#-IO,GX(+? MG@,+/BK>I@H<.T34=_]>.*4T0DQ$(@C7P1E*X-H$VRS(8)S,B5;/\C2^!H&4 M0^G6T;$SH/-9BP*N&IH);[6CD@>*E2?!"L4"#\;*+%_TOHJ0$QGWG.TG$?", MY\[K&L&5^[H5H $B9G3DQAB.F-4Q$JV0("0&+;+J:F6YC%^#,&F! 5U!;6T% MJ6'\+1#&WF%KG/&2.^2M""SY32H*O[F\ ES]NU(UP\P=[R%'TK(SW\!EM->" M.S=WSXUB^QP$]W8L*+."J$A(0(X');7BR7](!\68#9%?\=6J%1@U2NY^/:/% MT60T+U^//I^C!5_&B2^CS<0&BXG-5GRI[@9/.%)^>2@GLW+7RT7^H(4C3AD3 M* K6<.65 M$)&Y2DH@Y6H"L[CUI"1G4F=G1UI+V:@!0J-_;1UPD%AVV$>WH5 MUE@LHN;2*\0722.=,-HY%@R+GN9D'>D1[+H$1-46\<\,LH-&PKW]"AXCAQNM ME]903D1*S$>CEIY([+#/*X7<'Z URO5Z2#J)OMV%[<[F-WS2M)=C*3)Q$PCI#T, MG(;5\WUVQ68&+I@U/GB*I*"8(TFLY-IY#7==ZYW-JW?8'W"=05\Z"W\ZRQ:P MVP[P]-Z_VFQOR[1W 1,W=]]*#.\+%\D?O5 1803J!\@)QUU@6A(__JAJ#]&J\(D@O!=%,:--CY$+;9I$+;0OCD%($B<#A8AR#UT1';XA?/&.SK%*./4KY=GG( M/9XW_42NN0.N-@[?[T8M*#*>&V8)Y8Q' OS SH)ZI01W1F792.LG"6Q&"#T3P("P0^THRM)T) MA-TPI5^.,UN;_)#QYTHJ(A"G 6/'44R;7B+)2,"68LG:B3_?SJ':0>5[NQ<@ M +DC,1 J%(?%: M;4%+JK4T9D#)?]?K@KU*;9]LCQ9LD7_?AWWO.ROJ!WX<& M*:14E@@MO8,K.5(@T:PQ5G#N*9'N?)7IN@OY;@@E.^.X&V9!3Z*0" LR:!FX M]_!_JK01UB!%D^U''!U%UOZ$''&"0M#)79TH'CC1RBOF"5$8 MHTBO)97:B;S:$65T',UZ<#&W7W\;_)]JZL:@+A\J#EU_E")RIP,/7J:<41PS MJX*RCEO'M'71Y9Q ?0\#:%&NM,^)'B#RV_Q_'WPZ''U]Y$@%E@Y+JWF@47/F MDV\7*)VI8@Q1@F8Y0/55-VH5-O6AV0 [NH+GFP%".=C?UF(JM>-%KO?3P6V9EGW8[?=Y MT\)*C2S2BB#+N24I\Y3FQC(2*8M1Y*22Z/O!VA6:,FG>F??XXVQ>?2JG;\MQ M*@SS@B0'/% M.S^:S:>C#X^)FV]']Q]K0&U7ET(PKBT.5@9'N9!4P<7).0ZRV3D4Q95X1W2- MKH;(W16@?J^2E_Y#.2_-_;1<)M0_"*G=G0HG.)/1,^2,X,0KN%)I@PA'C/.H M<8[(ZI'C0M>@:HS@/;ABOJZ18J5.]T+RP!%V(-R40 M_C9,;CT+V M0$#]8UK-3A1.BZY%Q%1P;+64@?(4:T23CZY2L'9D,#V;L_]YKXFG8ZLEPO< M:F8(.^9Q<0UYZJUUHD/>]L$*1PD%10 H04 G@'V84M\XIQ"7% B4XTO:]W/R M7'!LAA4] .COY3Y_H?T="Q2#BT$3#!*?.Q,M"'U*#$7PL0TV!WC'7S"3X]GU M ^]XLE]ZSC,C$ N8(VPXXY8A&Q4+'K1$S:07+B<\Z;(NG/FX:I32_?+:_'9A M6G?Z,3.984&]<8I;I# /P2BDHPP $$>BQ+J6>:9M-[WUBNK[Y'W7HTC*GA ( M5, 8.;-<.:E9))%26&#,LIKW\#;7$O]W.M_ET+I-]RI736;5>'2[8-E"#NYQ MN]O>N!""$:\PTT 9CG74FFBNB 0=+2I+KZV812Y/JX8)VBT\=CJW[&M>($2H M((9+;QU/\>(TV*3+TX#@:.4YR>)[!)$F6+H7'2=1\W)S&4;D.2S3.!12O06A M:*!&*6W@0HBXS0DLZ%'ZAZ8%2_.4O>Q$A19AHJDET4G"O7)*4RV%,!'%&*([ M6QG5=E#4"->/2E1X''W[$380%#7""$J-I)PQID5@G)&H7- \9@79]M!%I$F5 MY50:]BA&( C)/=;"![68M^*2$ :W=&=!I\]Y .V1/#B15[MB!(ZB65?GQ1K- MKVN\C;]H6RBB-).2>8<1%X0K6%-00 PL&9TBEYY=8Z0&- JE M*%'*,$FBX4$%HS%"VE#'N*#,7TGT4 ,I-9'-L_V@,,\%XY+PFU<+"8J#4%I DKO%...E3+Q-S9 PQP MP\*7_7G<(\RZ5V$YAQMT,%'@R!6&2$NZB49T$:BBGH>*#6Y=R3^^Z/US4HVV)*UV"M]JWD M95FT\"2__#$H;N)KBBB4I\0@Q4 '(*F&"VQZA9U+GSA*SJ5F71V\S\"M#C2V MI4W\_>!+.3NW3\QF*D<(V&,B%8!!^ RKXW@_W][5];< M1HZDW_?7X$H<+QN!W[])DCJ%LDBJUA5 MHCMBVN.C %??DAD HG,1J'8IYEK_/*ENE@BD^Z'_W&RK'P]6TYGM^A);NJ< MU+-=SECS3G) 5:LH,YZ; 7<";R\+]_(6)_SC4W55;JS_5M57\\FWK].+ M7V9?ZOG-6H:SRT_3J]GTR_1B,EO>/6\?;HUOQOJQ^E:,H=E5@P6^K4F.%AA5 M5H?(#5"M73*.2J^\5I'JU"CE1C^S/&R1-VB=07((Z+P3!K*$6!E.&4F2,TB! M:S[8EMW' ]?6?'ANPW>.][@7O[V\7!5!GUP_^G;@-,5=Z@7/A=61>"9!08K) M4; &)#%11./9*,Y1/U;?J]EMM4A([X@PSU$:#P*:7;ZK9U&R*[KRGZWDHZZB!$:0%- V=)*63M=(S**3@S/=<= ?8R MJQ7.O1W@EV+2FR7XOEKN367TZO?9L4 896J5;XX+Z0A1PC/T PFA)I[9$[+N M1/U\S^P W%.&VZYS--WKYNWQUB\_S,!42JZ4F58&=$PF4!V92S89;E*KX)81 MQDWUO+UU@ODIF5-R>GWX\F2(.]^3;?T^>\-P_#K@BC*0>#F*+H&KZ\I,(9Q) M[J&V JV[AW(_/;84H[$WD__4LZT[RXMOTL/K;*QPKL82/21 @-B7=+$"P\G4I\ M'XN.1KL2!FI*>C4'3%C4]Y8Z[ET"%B,;K'#7&Z?6"; ?]^7_ MILGC#S_7M\L-X+Y>+._WC%7BW%\G\ZOI;!5$76*C7(7MJA=QP4?$#>PMY]OU M2)M7 C[53\XFU$4)!8C11F6SB Z;8^UA=X J87D\W&1XW :NS MJ[_/ZR_397E06-;B!IG%;_5#WJ;J:72D?&'L]2S5$YE][ZJKR76<+5&*6X[F7ODJ)V-$5"FRP"@./CHO M&2DWJ%P;%V&P!XP]!.#U*?BZ*PFX]^C_R7=9&&&,3DIR1<$2 M;H*TU#L2I"&2J#:NY5AU4L="?CV@_"AX>Z;*?1#L_4J;715/.M7SW6OMZ5)K MN7H8[B#\]D8YJ17."XGF-D0+B&,"*9RR MTGENVUSOC]VB'!L7.Y-2;YGBRN'2&IH=Y'OT54:'C";B@2JPY6!)GH4 MI4<#;5.&9^P;]-C8=KQ8^HL96%3XL[[B8@C5]^JZ_E9PV.1+V7G&O*-=3E+9 MP*P7CCOP)!CNA98R.$84-;R-PCOX]O][-?]<_\PD[%)4_;E+UP4O'/*OD_F_ MJH+5?DYN;Y132?D88E A$H#@K5)<)!XB*X$6K>J 'ER:[*EMD8YQ/U'C>#"![=02X#H<3+Y%-HF%-A"R_E M7[P\=+?N5%B]^."\5BQI<#>LS:1A89]4Y; Q3W>XC@B".6*8<:=; 'O4.FTFG, MFZV9,$XI@U[4QW=L5L]_#*8&[D=P8#:\K:VRU)&HDF%4< ,R16/0H$6O*J&; M12QI5/FCM[DVRX:WO5E.20(SX*ETY5?N2O47B(;0B-N4&JP"4@_+NA,2O$B- MUQG6?2[?X=/6=KV**:ID:M#.DF AH!T':&]90JTUC%D_8':K^U%_G/SQ*QJ< M\^GDNE2=+Q): MG1"/\'W%2W3G!CX:*![:P*\L2# \B@"<$>,ILY8[B2-TJ1QY,J\'_^Z MVM7RB((PN[O(-,F(BDF20!2B$8R-PG#P/"@7&6\38?N6?87&Y-AZ"M I[CTL M]'?59%$M< .;S"[0-KH/#_WEYAL"\N&+O:R_K0Y*%A=:L*&=B_5H&VB IQ_F M6![-0E!11@,.;3V?$J>6JU@*9>L!T^+?'V>O1OQQ>O450?]]L:ZCLF.".]ME MC>1UB6JJ* ?NF:'!60D0T$D5WO6:9.GI'<)IUO2QXJY/!VI?IMS3,;^;3CY/ MKU&!-J;.?8O,%<[*DZ2!1C15HTE<,(* %0N6R3:D&:%#2%]+,1_5D5[5)<6U=_DJBJV1GT[ M6Y8B.9N']HU7Z/ZNLJ"4H >A:1+HAFAK2U1[LJ40@#0RGED:CF,IL7/I=H[R M,!M 6=N-F54^SL9P&K0.%)U-W,MP,D[A=@9)6.<].V^UWPUWCL"Q+W;\8S*? M%A>D"3E>?)LEL3%&3@6S E1Y"P:$1>N"<\(R188*9!XU-]K"V!+8%?JS*:\Z[?_RM MFM_LRN5T:%=!L>010DC,&O2BDM!:$*V(]VVNJP\."'XSA#HQRKWY(;]. MEK?EG._1"\ZG#M1;]4\8$])%JFD,&@0)QDO-:&(Q.>NL;G2K=JH9+195M07N MOT]^K)X#KBET6=X*)K2 )]?_6TUV)4(]OM-,9"24ID )(0"(F@Y>$C24@D43 MZMQ2!QY+DQ<;2D]X]V>$-)A0N*W*%'[[HVY+Q8>>LC;6<" Z"&6AU(#Q2@*+ M'/\O\&C/K&9%G_P[&N11D@Y_\*Y _H/[RLX:Q:CAU@>+V[^V+EGBM?4Q&I5: M940:OU/5"_&.@'F,U$OU;>N]]U%7626"RMY%!Z5<: C&J*!9P)6IHQ#0)NW- M^%VX/HAW!,JCY-WT>U<:KW25A0ZH^Y6.!%T;#M9I%E'_HPO,HQ2AS0GC^#V] M7GAW.,ICXYW]@I+ID'Q/^LL1W6 JJ37..%#<&F:9",0D'KVWHM%#@*X>>9X= M ]M /38:=L"\K*(JU20Y),2;:^*XE=88PT.I\Q?:.+8'/^ \.[(=B.XH^/7[ M[')SFUA=QC\O\%-[4_YT+-FV]8?>EK?4)O3N.0&T=0UU*9528X&A56+;O&77 M/R?S.H+Z[04#14JTU=0SI@U(2K6D# )S/J#73ER;ZQYSME3J!LR!R;()7#V< M,YN&F1@M(BX&YBR:H4;I$O?DE9+,4*%YJT3AY&?CSG&@#DRA]_7LXE@6/;3- MTH,E(D@CJ8(0RJYOF!9>*)&2@5:IP]]"&&O'5#H:V=YN!=_7RP'?FAQ[Y4>3 MX$H2L"Q:((XYA8J><2-!E(JLC8K]]6>5+IJ\(]G=,$=GN(W4 @\>\+>64X]& MCU3*"AOCF17+/%;<#>S,HS'M;4E^NOWV[7KU(F1R[2>+K^FZ_N.MWLU;D(JP MB&HN!1"4.Q$8=YJ5M BZ48V[6LS&J#N7@+< [B"Y"D%R9/5!!U@C^S1GJ=X M)E6TV\IQ;S6]PV /Y5Q_@/=F-QS];GQ+E<27 ??[JAMN M;Y$A)BFCM.C^! A1:HJ+VR;C@4LOW: 6^V:LC9]\;VF1+9J2GFE>\A,!)-17 M(0A!TJKF1?1MSH)'9"%T)NEM@=NM4-V_#6QA^\-[\NU6^%Z&'-E39L$2S7U) M;,F!.5WBD6G47"LB>4AG\B"H:^;T@_8H[K/N@KP$+K3V<5= M+>;A3B)>CG"5XG]-K^#[VJGLQ>IZ?H$(5=/O1:.]KY;[[S!W-T_U>[* M9(=TE'T*PID$5B@!.J"_D91>92<1GFO:IE;*B&R?7MEW4@F,@H_'TB^G('40 M1E#ERKLPZH(#DVP2/%%#6_E[(WP6,#S;#@1\%(;VP&D@![&S(47KT<9)D8*6 MY0&_I\JBR%QR$ ?,&?<:NU8'QSB;>Y8U=LZ/Z"U;J[QS,5#+ 2(-QA,98B"X M1JSA9+!4\V-0&4UITT!E="N&011)F"XF5U?S:NU#E,3(JR]^1L<=727!@I!< M* ]>@:.K:V8A48 2^-'A!^W1V"*D%=MVS'Y7L\R\"Y8'1X0J%>64]AIG+ES0 M"I0^MQBATQ"A/AG>1UJLB_GR$:OP3\\9A7^5[W/(/I2@FES;/Z>O13#L_#[+ M)(UT/!&A-6A*7 F5ZM;'(=ZG(,M8TL MV[[/##=#$H2BSC!@E&H5>8S:ID1+W/"X06BY*-+?F3-1% M1S*K6\+7UYE'_#7:7ZN;S]6N5 @/'V6TA5,)?I&$.4B:.QML-"0$C7]TIHUK M,J+;ZVY)T!K&HP,=[/7UA^77:OZQND*L%UL%O?UCM*:,HRH*ZZ@ R\!(3AQ) M3K)DRHW%>1R6=BOPSN#L2PMLL8W>W15X/=Q+N6^:'3%62$(M40Z"XB:""48S M&I@V@;4Y;1^1QCB)E7DBC'L+GUT/L]0/?NWX)?YY<7U[N2I^L2CQ%)>_3?[< M?QAP2&]944VMLR4_K 7NM#;"TX30&\:(@3.+X^^.)J]?8)\0^C$=GOV$A_$4 MDE*$&&$M!R*2H^ 2#90SM$X%&_ P?I>,FAR_-VJ?57EJ9CC:3TR"J)TU#C@-.T8X$?1$L,^VIV"&W@T#>14B4"D$ QY9B2!A)7 M%FT4TBR1W2 611.%T+2+;%Q*,42%7$2C'ZWT$$72)9C8>(#P,^N$Q@0YS(XX M%OM!U,*G*?[F"SJ)L^7_W%Y>K1,H_837;BE)ZC4%%KV!P(TS7D3"4)EK%!L] MZK'/EM.,C]67V]GE]=UM[;=Y?7E[L9Q7R]OY[#47=7^C;$L^-:690YNX),XU M/&APVBOK$N'M6+#UB= ^^M3KV2#J<@IS@3.<+A>3&?HII=K0]/4* MSP>USX(%1(D101/Z4Y*5>F8I!6L]9XF),ZOQW#M[N@)^-/O#3^A9ILBEAFB4 ME@&<)$X*3JT1SC*GD!V#VY)WPFD^\>-\JK>IH9K3#^6'V[G5]\+4DCYN6"YL;>+K_6\Q).OLX9 MN:MZ4L,><@HLL*A+8B '@AF3O VL)'L.-HE6N65'N)*/)<#SZMPG ;>O2XIG MH[]$9?:Q6DY12N%VOGZL-:TO/WU%1'==@QW232;.T)04E/\!$59+:8AWD:$Z M8SJ>V978:6C6)<+CXMH_)M<[,V4?T$L640=)(,;(&*3(<,V1R",CRH#BK=)4 MC.CV?A"F'0/P( ;)L ?8QYHC*#$G7!1$EDC$PCBSRS0^U@2O+:"3P!O M'^OW]O.B^O2/[9<)JDA=S6)!O+7?0<$%ZF'2.!4J#61H^;<^!# M%I=_-N1]+S->^SQSX;7T0GA%P"@+$K< G!TR2VM'TYF$QW8GY.=+MCVFO9EQ MSX:*/WS+^XL]+;*6G-/RYI5[Y13U).FPF9]A.IQ)%K%N1+R'+\=!.B!EMK[# MV-LF&RXH9QIW+:>3"4KK%*EU!J@BQ.DSN[5J+>G]S#D*UX&XLS=:_]7O<[E$ MIS26J+_RKE5)YE*96^3)(VQG]J:X QGO9LU1J [$F'<-PKBW-[?DQWV M&*I+/Y8XHI(SFLLDT?R@Q)3,Y<7%H?B?'C"_\?,A-SJ*VM8F2^*,D%'1**1$ M1JDD59EGDH:)Z,[;9#A"W+O5_]' ]K]4=\:I;(;2\N?=W$SF/SY\>10ELTE@ M5\[7Z^OIQ71 9?%R* W4Q?9&F0--,C)#.-5 9$11TV0UA& L2]#H[?R)%,8N M_!MICT8=9!]#VRNGQ?+7^981?5WZOYZG9W?21^A'+8$B[Z M<"VP[R?OJXEP>$^9:A>9#$XQ&5VT1$F-OH6QG"4N&#WJK<7>K/>^OOEVN]P\ MS'DVU#B9EQRU"QPI?G93SU;CW78BWDW'F>-,0XI.:V8L88DA5S:B)99"'A!.Z& M3M$9.U=R]2CTNBOT3T2<]7BVGK@__R0;,%*1 ":5ITT2TNK$9SUH#FJP=^,G MI$PKV=6=X'CT@X\V3-]U.-I=YYG%\C8.*&KMX+AAZ.S1.R0\MXWV^5,VK67(:P,5(A0K*E-RI)KB[:0 1C>(NQG^.,X3<]U; / SZOD[Z M[ZW+KPH[G5!%IY3T&=O\M(S(>3/RE%(:E+$;W%Y,Q%[^W^WZENU0[N[O,1,?I'#& MI_*:-3A;+#&R%&G31?[8JEH@6;:)*/!"G+/J6&^Q01&T>'^B_CH4&%M=H;O-7.;!7 ME99:I$?;B+O;Y\FN-YLY]1.2^V_IFK;-,04C@-'CPH(5PW#.! M\OO7M\F,U0;:5/"35_&8Z*X?H:3*=K]XK[U4M M1_>9A>'>,>\A@8"@A<'=WTEIE01(M%F0TQLY9>Z:.<\WNYYD,!H=<78!?TI; MPH/14AL&VB0=F"2,:1F5BDD/F/6J;'F+#U^>C?W'^MAG M4C A.JNL%4)H1ZVBP\4.#QOPUY@7=0^@]V4-_[XH[Q46R^G-9+DSA\[3#[,- M3B3J@K0I@M%HX ,5/((MQ3-"[+5,^-NG4"MP^Z+*PWN6Y@II:YL<7&1>""N9 M!U!4Z.307,;=L>0"0LCZO" Z_?N%$W"F*VB'.N=I3J(]+3.502>."T10#I(% M5QZ$>..$"MYKW^85Y%AO:4[(JV[1[B]JXH]'6,SK&?[V8E4H<'&H$75H5]D3 MH5L@DX239NCB&07@4",ECGJ*H$W/0\2]\CP(U5;T=0_8 MCH-9>S,*-6F>N;=1)P^*V%*:E-@2O"]L@,2\"JU".D;(JJ[I);=8&F:'6Y/[/9MC99$@DVAABD0XL <6,V&"M(LE2!9V=6L+.E MG)^SIB-4>UUHFD)9U^4>3S,O5KFY*T4[NDV,5P'%LXNHTU[ MZ=8=0]J[;GG7)/?=BX]S%*5]^&-CD6 MQP8'9YM_*+]\GBRJ__ZO_P=02P,$% @ FX!?3X-GB **:0$ T.84 !, M !I8C( MRK,P5GEUI!UE.[N[[I]:M$2'V2E++E**H9[^@I1DR18E3Y1-2:SN=-@"1 )[ M[V]/V !^^;_?K_O1UR3+T^'@SP?P'3B(DD%WV$L'7_Y\\/NY/Q0'__?7__W+ M_W-X^-_Z]%-DA]WQ=3(8129+XE'2B[ZEHZOHOWI)_D=TF0VOH_\:9G^D7^/# MP\F7;CY JCP4V"KI":6("V2%4$ J@*U6CG6^?[C$R:7$\O(2,D#XI8A[\O(" M7L(+=!'^8V#VL/G;N].WC_,PSNGKH]MN9GCS(TN_7(TB!*"<#6G2?C4*\PUS M'N1_/K@:C6X^O'__[=NW=]_PNV'VY3V44K[_7O0YF'3Z<)D?7O1NNU[&^479 ML9?F[\NF]^$5XA# 0PQG7^D6E*SZ0FBHZ#X85?<>C"HZ][+JSKVLHG/>O3Q, M![TTBY>_E(^NW\_;*[Z_E@Z^=H?5KRF;JMXTK!A7.9EAYIPK"#$=7_32^J'[QM+%JKMGHSE3GTC)IJ/A* MMHH#U3 O![YV5A6SZ247*P!?M%21/$Z[>?5;RJ:*=R3?NU>K*3YKK:)9TCW\ M^L_JX4W:*KXT[-YFXN="A>*N]I]7Q($.1W7EQ^??IJ_'[:XU8S] >K*%\V59GJY"9+NH6;LO(U M,@AK-QOVD_?SSG%-/KZ^&O97 M6.][G:JTZGB5LSNN\FL*QW^%#2^;U@STX5&N&&+Z?97LP*"L!OUTD!0!VI+K M_X#GOYY)=W!6Q9U5;D0)^G4*H>I+I5JJ,!YSG55E/PI%O]8*5%N 6]%>:T7N M]ZH P6V7U1[N0H^*!P0@)_F:,%3W ]K%*[,Y>@ M:*W2URL,^ZB*+8637:BT*G[.FJJAM7ILT\8J= RZH_C[*D59M#T0GJR6@+N= M*OAW.>RN&F]HJ9+8;O=FN,*43-HJOA3?K-"T-U4S&UU4:-72B(>6%3*1CV]N M5JCSV^8J@SR^KM9,O5'V?O3C)GD?>B19VEU43?G%*M]DTE@59:Q0T95A_Q0S M*R$Y;Z_ U/>@3/]8G1TJ6A=TY0HAG[6L2):LCT3F'2J2)@5\*O7RM&$U.=:^ M]&Z?"K)TNQ4:O92I;I4Z3WJK4CM%RPK]WULI%Y/&%;8FOUB=%"H:*[YV$Z\( MO4)#U6R*F'DM_19[5)NIE2:JPCQ-$;ECU/QE8M\ M>'E9_9*R:86+LC9CL-"A2A8*G5B%]YF^K(+\S!+UX$OK09?:!EW MUT::97-UHF!EGF"%1*QT*0JZ*[26.U@EYA M/F8M54(>?UFUJA1:UNB)X2B_6J\DBAY5_%[A.'>K/.9"VZ\U!=5F(+G^GQ6I MH**EXCU7JQRPJTK_:Q;6K\W(5 M2:)TF,JL9-6NL0O1XA3KP)Q5,ODVZ705(M9'Y*9FW=9)Y[#[[0'I##U6NO_K MW/X*=W^5N:RTD-VLFU^LB% G;6N4Y(.Q]RK5\V6XXI5E4]4;%],Y#^=K5B\^ ME:*RPG)-VJKX6!5>EV);&5@7PIQ\6>')3QLK$X5AT MYV4(KSYD]RQ.^'V7Q M(+\<9M?Q*)V4)=!#(!:GF%Y^757X4#2M"6S75@(L$/5^-<#W%5;OH6&C0\0J M0MV'HO^%D=R3_8L54+^HYM,JM@XKNY=K;NO6XZJ^-+K)5I TM%2S8B4+*D@_ M4^]K\[W5N87BZ;U[L>VM S!IG .^EUZFW9)U*U9^EKI498)&5T%)?U^!_5GK MNB!^_=+XZKQV4&4WJU?';BI7QP)+NX/>Y2K'>]Z^ E!KLT35&:+O_6H>"3MDKW:E4NKFBIFL95TEV5H"F:*LFVBEP5G;^,XQ74+5JJ M'-_DRP/KLE,?^\OB4EPA'*O%9A4T1I70H!-HC Y^_=__ZY>K).Z%?__7+]?) M*(Z*WH=% 4#P]LPP."1!',^#IWL0=2=__?E@E'P?O9]4J;TOOSA*1_WDUUEY MW"_O)W^'1[^?/ON7BV'O1Y2/?O0#82_#7J=Y-%Q\BTZ'5[' M@X]E6Y[^*_D PXE![_^DG[_4#P_R2:_IKU> M,BA_#>W'DT!O,NCOH],B4/"V<&O_AO]^;@^B07Q=/#%)/Z@PZ%XQ<-^/OQQ$ M:6",C[NC0P(%40:Q0"Y/B9)"<&^ 9-PYZY1RA]_^.'Q4QX-H8C+^?!!LS(>+ M86!N/+B,^WF81/G/+^_O#/H9C9(S\)T("%:8 85 M)Y9"@22ECF#B" 6&&X]NI_-0QX-?#P]A,'KBY<.>BJ$(]U11HQW05&AK-81:$'L[[H=2&X%O!_Q0QX-?BQ&\?,AN$ #YPQ3+V7'_:-!+OO]'\F-AP )R MPC!F!@$5"*>$@A0P S#R4&DUEXR'.A[\"D P!U1"QE<,VV?A0<&Z1KV@>:_C M8L'U$!]$XT$ZF<(X[QW>$IEEX&">$$>\LED%*P.0 >Z'CP*PZF MC(:YSB8YF]7+9ADX]_)9!I=4(^\%4UI2@X@*XF2H)9YC(:WDM[-\J&,A?12R MI\T2W9UD0/3959PECV.I&5Y?#P=GHV'WC\]Q=I*=C0K[]Y]Q?YS,'W0[4C"M_,AO+Z>1J/+H:9H6LWE$Z!CE" M+#"44^R1]"SH;FPA, H"1A:4SOJ.![]",/U?_=-;S\ UTR/:!PDC$%B**2= M"$*ZA@T#.="O!GCEF867 6,I"0N6&:*H%%$$0]UH0V!XWYN(1[J&&8F M$'FBA:B19R?C4;%>4VRC69@>=EP[9:2PUE%;Z#YCA3->86H=@]U?&O& M54_/(>V"VZJU9)H&ST]A2SU3!&C N)3F=GH/=7QE[GTN5XNRI/>03N'&208T MM]Q1&IQ:80O]QY ,.I$8-[=X#W4\^)6^HL)\]/PT-!!Q0UUPA*D/_C B8=!. M!.\K: \X]T,?ZOCX^=7&L#LB^3U//PS2?HB4L_&B-5="AV%K%\2-4T$*/PLZ M9HAAW :.S27TH8YW(\K!>AT ,=GS#A]W=S ;=+L?FOOQ2U).5ZQG4W_2+G,/[N\^8O&[Q'>6?^7"T&4A M1BN3)Y,N21FC%1_,/DE[Q6>7:9)%Y>N2RIRZ.?J/NU'7_2^7[WA__R73=]R4 M$??B6P-/LU&1.?BU3"@%T&$P^_J\;>$+R231\.MDQ5"6:8&[+0L#N'W?[(,I M9:H(-9%%LBQM#:3:I#QB-"$"!(>(W3YRVO),(MPBLNF3OL/Y.B9=Z-UF3[I$ M!Y)U37JJ%_ZV!7HAL)N]F5XH"26V@U#B$!1+MX\EE"@))6LFU#98&EY:FKF8:6S[N/_B 8K25X*TNPV8S#TUG; M G[KF/QTZ]WB=PML]C,C^&YW?#WN%P48)T7=;M$M2ZX*0GY-C@;=X76RDRQ_ M]+RW412>']FWTO!6TK#U3EXK.TW0)(UP"ML$X6NFA3?B(K;HWT;TWUL4JL./ MF"PSM@%#0U*_;[F8.M4,35Q);2 &VLS(/J !-1\-BW4J;X:&UC]H2F39 ,RT MFO3M-6D3=40;-NZ=+FB7$INQ%%&KS_P\-=^R=@N4^_-8VVKVUZT3;0++6X>_ M&0G!^D6AK1%IG/]>O_5NUWP:KN(WD.1L:[R;DNA_^\U O*T2:X3_SN^6@KP9 MTEM_KAD)W+?5#,\6G]8'; 6C]1L;D/3=1L^BM3U-R"74[(D\3Q1:.[*-3&YX MD40C)+LUA*^90-D RV5;V- P958>TK.)XXE:_V5;_)>\.8 MI6FG)UTW_YC6\G!KR!\O&W>ZU[C,EF>CN<+X2S+\DL4W5VDW[I?*8GISZS]^ M/VNZ8@CS^+!R'@>_3B?RX?>SO5@@6]@\LY[!,VO@?G-J.RS XR>:?[YA%Z) MX4TYH?H!AA?7,_Q#]?ME-N0T^1)HNB6F_P'&%Q/[4#FQO4&\? SB6P'837_O MT2J_M>G;J^(?A?#6IN\.HA_%\!;16\W@-@S;U2,0'^V5MRI[I[SPEN&O&7>_ M-<(?Q? V[-I= 7A4V-4*P$Z&99-E%JAZPYMB(5*=&4&:ON@B-E&U.M_I[=-! M.DH^I5^3WM$@//E+>M%/5)XGHUS_^"W^GV%F^G%^=S7R>%C48MTDHT1]R9)2 MTK8$'3/#]X19SZWEZFEO#CNO=RW$P#^^]/]E68OH$+(UZ* M?C/.1\/KPGJ4E9KWO[<'DO H"NRK3O@<%U>4)[WSI'LU&/:'7W[L@42LFO2^ MZ@B;YJ,LO1@77M9I^N5J+]3"JDGOJR9H#45S#,6&+YYJHXAMB2(::"Q:C^&U M/88-WQC4AI)-#"4;Z"&T;N)KNXD;5O^339JW^>=/PVY<)EKO[F'+1R>79W%_ MVZ"^9G*+.]CNS6Y;L?U4MIZ$-X1/!U_<]YM N2W;H?PHWE9/<1L97'%?PZ-X M7*P:!0=V."/$Y$L[S/%'3'@?%LZJ=JZU M-L@6E,N5PK,-LA,(VHS6@%9GL$ MYNW+]^X)C W?_QJ(4IP6$X*L<3'!TS3_XX[$^&&6I%\&[GOW*D1L2?CS6YSU M)A1:^Z3\+W$Z^#3,0VSWUZ3W)9"^S.L6)317Z2VL6UBWL&ZM=7-AW3KC+;3?V!E_6ZM]?T%(Q_UX MT$W.KI)D?5JF.\ZR,-7%>J=M4Q#33VV2AW$LSW3V>=)3^;3K?!#;I2E6<74Y M^53!U@TJB59;W1M;M4@NE!@\+)/;N&KY/"UD7D4%/: E F9ZMTS92:U00>9= M4PD/P:Z"R=L*L\7*K@=AIKK=;)ST/J7Q1=I/1VG26OJMQ_0JGNX:IELSW_BB MP@;HGQ;7C-OJHU8? M-6T=I=5'K3YJ]5&KC_8P/]T6'.Y^R-34@L.:859Q&M&6V.MV\U!K';=B\U## MSHYJX=W"NX5W7?!^^Y.^=M=ZMSOZ]Q[:;W=01VNU6UBWL-XQ6+^MM;Z_Y/-G1G9LMX2-M\\1WKG:,4ZS M_XS[XT3_N/WUKT%:XJQ[]>-3\C7IWX7(K,_1X&8\RLL.Z!Y"%A[Y6Q+GXZQ, MU/HL^>1<@$GJVE9$TP>P8F*X:QAQ39&V!N0 M>-Q*?&T2CUN)WP*)AZW$UR;QL)7XC5]5W^KX)DE\J^,WOKVWU?&-DOA6QV^# MQ+>1:QNY-E?B)VX\/$UNQH$/<9X4B9]7$ZGG^G4@^'6\+LQ/5@#)W\]M$^?] MLN6@.PYPC2GO/!O]X[?X?X:9&>>CX762Y:7>2K.+T3_4=?ROX>">UC/#03?, M-BMSI44Z5__0 617UW%V-S]>N0]BW6/.?]PD=[/?TR$M]=T.?1E(^V&9M >_ M%K3]L$C;FK3@0YQYP1:5EXUBQMB%C/IZSNY%;GUA3;8%80O"?07AVR_^BM82 MMB#<=Q VI'*O!6$+PGT%X:N7"(X'Z02!@_%] ;Z>Y$9^G3XH_#I[QJQE_M3B M,4N/G-*CZIFEP$W;G_K4JSA+\M4#G;0_\:'CO/-QD)-X-%P4Q(6IY4."(/_P^YE='L3_NC.,NP]:>(--!L/K=+#R'>MG>O?6#Z_4.V4%45Q5DW&_;OJKZB_[MA]N4] @"_G_9X M?QEW1X>7P^%H,!PE!U$_'?QQNOZ;Y=>*?@?1,.LEV9\/X$%TF0VO3Y/+_,\' M/2D(Q (FD 24??OCT!=O ( !*:40%#OJD)!00\*$]]I;YSD^B$;#R??/ V[. MDG[2+29S2+'!F #KO=*44*Z@ MO1I%P F](-7(>\&4EM0@HJ#PAEH22"6DE7Q.V ^0!7$5 M!;$U5$OCD*<8>:$)QDYC;9D!0JA[!'RH^S80<$8O2;Q#SHLP$>FET8X3["V7 M >&"+1)V;<=6,I>0EII*&CH(YA2S1@>9 1C85C#OT@]#(A/( MD+PE(';&&"*P,CZH1FRT"0+!F'?$$.:P6$E *ZB!"',.&=56:VLX\T&<,6(@ M$.<^ 1_HOBT$G B@A+?T(Y!KK@"G$%AJE!8$(6ZM$TH"&Y#5VNQE^DE*Y_1# MB ;L,L"LI,3 H)6")!+I.-1,^M7RMY\ GIAF'L*M6P)2RST3ELD ,06AL%0A MBJ%U86J(Z_T60%1)0,;QG'X"<@N#$^B0#7ZW$5X(PZ22#@4T(]5:X,W0;S_D M;X4!0?/8A!@#E*?" >F#'I2*,P8A0 )#QAEIZ5<9F\@% 0S&UD.G!&5A9AIJ M!X/U52#HPJ#^W,JH>:\M"(7S&(1::$2P(L8;0IWA4KM@CZD1+B@LA-Q^$W"% M!:'SX)C)(&;>,P"@H1P[J0+4O&("V_ )7!F#[+4%J8%^^R%_*P",!)@34!N- M% SQ!PG!%:':TT!/AYRC BBZT@7<4P).@V B%@@8W&?DPO0TI=Q)X8W 2$OJ M.=9!,ML@N$H"Y3R+P"$B6 41M(A2PHP 4EDBM<+A$PE-Z\14I?[Y/(W *: , MTZ#V"*X&!AR:8%LD%0%)AXH(C2&30B*T1KB @@/-<@@VV0CNL0_P6S# ! M02BT80 &?<@!@+ZU(55N()W;$ ^9<@!H +BA@@2[*PCRRCOE6/ %R5L3^O777\H?\:0^3S.G&57.!TU$%0<:!S7+39B)I8!9 M6+PAOO/%\"/*1S\*N@;*)8=72?KE:O0!(O"GCT6QXF'<3[\,/A1UF4GV\7(X M&!WFZ;^2#Q#W/G^3=SKI8,OA_WDL6/[+9U M.NS)BS#YT\=9IZ4V_+BVBH=_3;)1VHW[T_%=#$>CX?5L*I._/L";[U$^[*>] MZ-] ^;^/=]B' BL6>;/X]_0)BQ]-2%A\,GU+R<^E5]R5EV$8YV5_^.W#5=H+ M,O)Q*ADT/&59S@J25O$\'5PE63I:_L;_^;?@*G[\Y7WQQ9G$WR-F2Z>63B^G M4PG ]Z72NOU\X6?YXR)[O_#W2H6[2"$R4Z"K%+!X\D2*;Y1_?IN\\V+8[X5' M_'Y\=.YL=':NSMW9W0D^VSK4-K@S9WX_/3H_1.K:1^V_S5W7\%Q>9D]]^ M.SH[.SHYKFG$Z,DC1M4C_B]U]M>CX[^8)IL8TE>"63+1W! M0;RSI;AJ/FO'#L'AWV[I>V?4OR[.Z&4$BAHFA!.Q>IHH/GX*R]C>(E]UXN=! M %[F@J('75"VVLN4Y!E>9CU6_RZS[D^T!M%[A'[ \Q@1$F"5(Y!@32@4(:R2 MWCCCE<*$(TZK],/?QG$6<-+_<9K<#+/1:E4171;B-?KS01IFF2?=0,EA_R+N M]X>CB^'W B62$_9QE5IX@N,66/#:_*G-JO[M=W5Z[DX__3TZ=9]/3L^CS[^? MGOVNCL^C\Y,H. GGP1.(((Y.3B-(?^K]')WXZ/RO+EKP'VY]!V7.BV8H,7F* M/_=8?0G19A1FMG02_*3C8+ZB9YB.%2_Z9?E!WZ[247)8J+DD MR.6W++XY6 \HLI"XAY126VS_L QY9"#0 "HE.*!.4B6J /6YW$[I)OLL'P>G M#[WBXL'0\:H7__B1Q%DR"!YE(A9" CJB]E7^0PUI;>:F2A:-V1$'FM(Y+PFB4&AC-(: M,(@H0D1(CVA1"H(,-XKB97DX3;ZD^2C8DM%Q:'EZ1J<<9@7CTM,3?7(>F9/3 MH$O5^6*B\J6RLNJ5;RLK%0/ZR7T/3"E)'@TOH^R6U%&<1_E-TBT.U>E%Z2!* M1WG4O2HCYI_?6.)?+2NU?2NHK^8T4[#::UYL>]AK?@6/;(, >ECY+>YK,D@( M&*PC]AI3R6&(IZ'6T&+/%;"NPA@>#;K#+#C/9;W!V2A$RV8X'HRR'V;8>V2, M73K4>?'5FVSXM7A!$63;I!]_BXMCB[;!IWY;#J)Y5;SBAA%!O( (4ZV2\M2GV"Z5NKWUQA;N@C2G0&G; MF73T[O3=V;O(7=_TAS^*@^'>D"MW41<=#]]5L>)UD\GK]0R9ZQFCM6;4004Y MH2QXQH!:;:WU6'/L.%C6,ZK7RY(\G_[S*0P9OB!^$I')AOG%C\AFZ==D&X.H M!T@]W^[N*33 <^,DTI18)H5E1%* L)#(>KZ2U";\>I*=#[\-7D!HG?2"K>YM MG,*=QX?O='$+"1;*%373$DEJA=!66L(TU!P0 :A829Q279]DGX/+$=3CT\*V MNR/_3;V>^#V"-G/!$4@;AQ'P3F :' +AF:/<"<&(Q[[8Y+J"-I^'P1WK_W_I MS7HG[N$D!^3%P=#;@I,%V4IOXGZ4?$^ZX^(&V_!Q4/E)W@E! M:[<_+M1T]*_T)A"YESPA<'U*XNU9,SN8U9PU.Q7XT^.1P1>V?T-EC$7>!MM% M$5.*H* WF(/.0\'N6J]"BZHLB5^(!2[@QI'P\Q/T!)_O00'*!S7**",A9K!$ M"G@(E&!QB /9/0 MC9)^?4%R^D53S>3KJEYGQ).Y>1=U^G.=ODQEK.)FRN%2E M9S^N@Q+^*7]2SN.5B33IWCP:'D_78$I)2[YWK^+!E_#!(/IVE89/YAKY)=F_ M5]T2TE!A?=AY8W"QLM0@#Z1BP9VE'CB)G+3(,%GLB&7L3@ \-: _(+HH%<<: MY\T,KZ\#;\]&P^X?G>C?P3L HYLXB[X6%R_6D)-O^?T4?J/Y=ETC*< (&:Z= MH!YR934@ AFGN*$0WN'W5.U-M-X:9A^=ZO.=Y&E3=>EC6+ZPP;B . )%+.8H MY5XCAAA3A !!#<.5$'=3!;V^)&%I&:[0Z[,5N//@.Q_'>2_^YT0-1+_%V1_) M*/KTR3QQW>N&;&!Z>C0J5F[Z>\K&IQHF>C3H%6L,273Q(^I>)8&1Q0T^ MP6PGY4)5$2(MU%7\!'^>C/DJSJ/+M!\BK+C?#SV*"LDB\/KG."W"KA!M7233 M#N'!T\AK\E6(BT6F28G?- A;B-UFHED$9D5S4>(7]<;%Y;UEUYLLZ2:ENP91 M5-9>Y]%/X7E!5J-\'%R-_&I8E'E$D^MQPG?BT?U9?(OO#K48Y^3+TXG\W(GB M02_Z"2W,]B*(?>AT\3]A+L67RO[AF\50I@\K[QHN1U*.-,Y'D011+_Z1OWNH MF&X32@(OGF1CI.?&(@T\A?QL*:A#5]0L?_JX"]0$ !P MG8Y& 3?E2179<%"8^/Z/* GF_D=T5.C?('!%*MO&HS@JRB'OJX7Y,Q:S,Z?C MT), 6H#^-/DRGAQ2$9T=GD<_%73F'Q%&[Z8=1E=I6=!U4Q1T;5H]3,9["_@D M__E-X+RPKL5EL.Y,&F4!I-QH13VQTD@(0?#XBL/YEBMQ;AE3\&6*[A;.>PSG M@* XZL=9L+5QMQO@G,4%)@L)SPK[5_EI%.3AL+(AOPYZ(+PEFUF,(%O7808_ M.H6Y#X\+YK%(+GZ)OF3#;Z.K6?.[8/V3=5XQUUC,=3-15")4/T63BV=6CHUE4[/RF(M6FA94R[G93OY)C^O MLKE3\24YO,B2^(_#^#*X(!_B_K?X1UZ8L:NL]6':X_WV$NPMG5HZ-?1XOZU6 MKS7M_2,O"OWH&HV*UFG4AFT9?+U3-MC"M4G6.:5<2U1< M?U:]63XS\2CY,LQ^/&4ALOQVF>;I3K]=K$E^JDX5U;=XO25LNSW2ZRW*F#8^ M.S7G[T2K3IF\T]PD*VW'6VV;;*A?T4ZUG6JCI[I3#L)QU6I00_C[JJIX%YAY M-EDAFTCN[3+9Y,_I MCNLO9A5Y?C^>9)YHQW3!#GE:=88J&I9]QIAK0*'U<< MA5$25X_S$&7E:\IH:C]+KO41VJFV4]VRJ38*M+O.TS>9WQ:Y!:ZZ%J8AW'P; M5X O;+%!''A#/=7!%?">*L(E9,)3XQ$%J"+K-2/H7TIZF@DY7]LE>.IZ91WE M:9=KRL"*/A85 MH,6[^C^*EW]+PZO#:Z-!\JVH3\N2KVE>!C"#>-!-XWZ11BS.*BLZYZ-XT(NS M7AX59Y"EO57[BO%/\<^5U6 /GI3^F)K"VI:#7W*:X&O4).972;\_DXOHI\#M MLC)PSR;%27O$Z,D'//M6LQM,@EL?P]-+ USEN<^RF$6!T#0-3X6]V>>89DPSV( ME;/?V%F@GX/I?&!U<$&HWE0"-JAA/@>%&!U]B/S1L3HV1^I3='15?R4*45769%7_K?<6D#U"31V562!'F9+"$L7T-&YIYQ1*E16C&,O(::0@H$<;!FZ2Z7T:]"Q)5D^?\;N7^.T]&//5'5K\1#['(_-S57131U]6_#_-0 M-$>0ZQ)<*#RQ"@@A,:*,4R$YD!0IQ)#GSHOG;8\;)7E1(GI'@JNB_%;R'LD$ MV1S)>UW22$ILP)Y"%C,*.1/*(H*HM8 KP %XNGQ6O6XA'X7>1;_%@_A+*:"W MU8HVS;OC/"]*^0H=J@9Q_T>>EKIX+M=!W'N3XNNBSVF2C_L3=7URDTSNF6T% M_K%TFI ML%AQ: #$DD(/$?U"S1Y5ZCB43;LYZ4P?\Z&W:17R&\KK8_D"'I&S+:#:V[[ M-->GK:^_ C*FB^NU0V-IL7TM5A226$GN-/*6"L$5"7#QBD!.F*):U[#87ZG. M)NO_1Q^BD_._NM/*Q?\6H'LUUWWQ%Y!GRB#""/8A.! HH QSBQ@10%M(GY%+ M>\!?@.^B3\F7$,"5CD)YCTKK*3R6%\_Q%'9#3CU5CEB(-->!$DQ(BS4@4#I( M-*=N W*JWI4Q5U3L'!QFK8P^E@_[*Z.:.^%A\/>QY)0[)6%P85#P_BWSW&X@ MF4#?12?E%O>CP63S:#H*DH5L88:ZJ323EAO&"K. M=)6R=CEE[R+W_2J]2-M%B$>S -62DQ7;*)^:82N!\@083 7D"FF)$?)8:D,< M=#7)YUGX-1ZUF:HGT!V#2J%LE 92 M@;D"VGE/L4- $>1,NX.POLL%:J+%+>\ =-8Y300VFG)N-&;$&"*$<#C(OKK/ MNS<]O!,EW[O)S:@X9&QRZD\47Q?'AN4_-V[.W^ MT/7[0\6#^T/YFKM(X)JF=6VU-SWN:XU*UF\X0;]PM]?ZN>[JAM;;BLMIA5'E MGO;&+&>TTK!9:9CM19L*P_T:W <69,6Z!=F+N/O'ERP8XEZA@H?9AW_K=I/D M\O+5:56?_59G9TO>T-MKT WLB)W>31_%>9Z,\@\O!,\.*(I=G]_>\/+Q1_8] M2GW!!F.XV)915)QUBU^2?X[3KW'_3IW[9B5\)0$W/O-_?\[Y)0^Q>\U,G[RW MZ>FYD,E\JL]Q19AREE ^/_+8$FZ<8,A9Q"@%7$D/G!8&.\][BV:V'^/;P M5KSV\-;RX%;TT,&M=?!RXY)7E>:K1?JV5=VVBF7[%8N<7R\J/#,8$X"4I=1" MJJ$% EK-(8=(0U678A%_(S4H%HA!!W.\TYKE>9%'@]V6LZMA-HI"!'<=I8.O M23ZZ7NVS;/3DK4: CP%Z"SZI%"/*0,6AID8CY85APP?L\QZ ")'Y%0= :L = MY 1[BI@7C@ MC;>* *.=K0-$]5@O##L!_;L HOV)N=7DPJ(\RI)N$MR=(#>= M:)",7HB\6L.#9D"2S"'I)=)6$^$4\!1RKB$3#$+J))(6"; $R2F13V]I?)R, M-FW2(),=RMHH=5>CU'W&(L.W6$2.284@IR9@$2$@J+,>%:DD*(LSX%^(Q9KB M.H8ZD+&=QN+.Q75'(9@;C(;9BDLK]\ +%7.8>8L9]LQJPPE5! NI/?):BV(G MIX!+)N^6> %=FXO:B.A@4&>ZI+&6;)\,UM8"A@-T"QB'# >JJ+0&BD)E-;=* M22ZPQ2%PT_J)@*G+#I$.PSL!F/T)T28;PKIW"AQ>ZA(^4!RT>RXC1W-H*8-YAS02F@(>)30ALCF>%"!A2+I93HHP!$I%QP; 2DQRVL5 MKV)4:0@3 9&[X/6V8>(N($;,ZU. M<[]D"6_)^JF@ZFDQZI/+W_.D]%$W9@I#,">)V 77M WF=@% 5-P"B%+#,(>6 M.UY]$H_E[3ZM_N.9%\;L6QY_ MGR17/J7Q1=HO*Z:#'WD\''0WO>C'.Y#7F6QIGD?9*) VU0;N("[EW#ABI["G MWC)O*67%V@!7FB$N ?00.E@G+FO:S\ ZDN]VTF77(KV_#(>];VF_OZ_>J(1B M(9RS3 J"$->.>H^DL\ Q#9QW$'%J[@-N1KO-[4B O$-W8U6A#=UV 2R8SU>N M&=/<0(.TU)1CH!6EV'B!BR5MR)<.H%@#EII*-:'H"%EGGK'Y1F;;0[6CP2@> M?$F+VE?@TP"LY%/Z M->G-J3WQ#S>Y_@9)1V*XTZY@H\#95%NW@V#D;+[57 EN9 C*'$*4,*B\<) ( M[+@*_B-!+P9C3366I(/:0U*V*BZ;[&%XE;T+VXM$.4>BP\Z88 V#3VHH0%@! M;!67!!%E' )+NX<6*IQ?(V&).J#6;7L(UFMV;SM4T]/NQ[C.JB-?K+I;,,&+\+X=*3T MT:>C\R-W%JEC&YV=GYC_^.O))^M.S\JJ./XQC\[_N\@#&[1:,_+[5X MZ54:^VOF=GCB+?=W[K2SVX- ;^(?Q:EXKY0,:Z1[MC5.%ES8>V^TT=@@"XC$ M5$(FH+(8*&N"\T4E6EJ\F3'\\X3?&S^.%(@.KG4)M;&1W;;KMA;GC#G--O[9 M..E%R?>;9) G[0:3903*^1*1I5HPB2TB' 5+*X6U@A@HN,?,0[6T3W)*W87Z M]4T;V^*"*K';>Y3;\&L_@8C@_!Q^1AE$SEJEG* N^+F*:8TT=Y 88^#2?LNG M +&F5"/L!!6QTT#E_C0??E)G)GBRD0 MG@,4<:*\A\)[@2F36@C$A!#6!$^5Z=5[,4\GE-_<&0(="5[SE-7&6LF],H:[ M"SDZ/ZA?2@@080(++BDD3('P.^4(:.&5D"NW6:Z&7$W'YG0XK=4C;2KDVL*E M[O(J4NO'+F&6+URNP1DGB#I:E/$ 003GS'N'+(5(>[2T4_,5(TDH<$>T)\^U MH>0N0E N7-=!C966F.(('^JI%9YYXZ4!#GACK7P6!&O:[@)QL)V[?3[(S@61 M]X^,)R;/&@19Q [$GQ4ZB%1)/BLAG%C;'%4P0-'9^C?S] M[AE7FXOJ.K3>2VH:YU"V,=V>HI$O7!.E.2$84:*LI(A(:8RR$!FOE/(<+FT[ M>#H:ZPGP2 < NM-HW+WPKCS/H#\L!I9DUVUX5T!/PH6%/^N8+JYD,)"\&O M"V\\A[=P!GBB *3 4:J-0*X(&!V5$GDNUZTUO()=+#?'-N(&T^>Q]:W-;1M9 MMO!?AC^9[X97F". A?,6::HP&X M_3D497A]G8Z*:T7SR5:0T"$,(1ET@R1%/QT/1TD$X<_M6LQ]L%(P!VLP@A(# M+XUQ@B)&%48>8:$1,%HIME3OLT!T->B919(_SEI^S],/@[0?9I\55>TKT#LL M'Q7CZZ&6>C>*VUGX&P2 M#<>C?!3^"@/=V^4>2NA"+:SQ&''O( WX1,7!TYYP8:2'E!%:<>WYE.)G!<'_ M,^[7N5-R)^OVVN!P)S##YCN+N<;6611:L*+ ""[>M$H>TF"0+R->G_:/W6);@+LG!Y+"(**6**F]6A9\H9B((^ M $Q[0M'2]7P3GF["/MY/^-2[5M(X;[51X&^J2=U!\#$PWZM5'*D3XD0#'2 4 M<">D49S@\*5BI\&W:Z&B"F\LF!3WHYLX[1VF@Z@;WZ2C M>&_O:X8,+1P#("'G FM47#BDJ51>2&"9HA(:QO128<""H[JJ M;5"'\YW87;PW\>)I,HK307%::IP-PKO;/9'+:&1HX5QR:B7S3C)&J3%.(Z64 M%LI#20Q=SM3,R.NFU%7=[OAZW(]'2<\FEVDWW5SI*\&H@T2[,;(-Z'80DF*^ M.\L#+2PCU'#CJ&%>(^)P,)04*J_=LH%\%B3K,9"8\0Y NWWS^LZ%>7/QB(;E M1LGN\/HF2ZZ209Y^3:*TW%\;_=0?YOF+RV9VMM2-@X7ME)1JBQV"P 23:842 MPC'AL%1(F1 S5AQT/.- N3?,+-)_LKWY4R#^<3(ZN3R/OV_PG % :]W9W-1B MN#:(W U(_O0 )M%\%Y=6FE&$J/$.4Z>D!!A3 R&E$,HEOS:EV/R"18U#[0) MGSUP[ GM>9/'\GWN3R_A/%U(;K* +5;0LO%T*MA/S TGUV/F/QSG(Y>O$[Y MFAO#&F+(%U)3#&I+ 1>::4,UH=)XR92!!& +C5\Z(.AL@0^NI/_F]GTBU!'B M-:UU\SSQ-CAN(5P)X85[]HC0SE/)!>6 BH!E$?[?.^(58)#:I5.%'@7AFLY8 MQ[2#42,V;VY;,+U])GIA?V996?14D_T$OM=U1_N;;NC=R#WMN[$[G8OY#@%! MB($ADF'8((J%4SA$.<9(1HQU3B^%-0N[ZM2@]XK^BN"XPQAYU5O<&[DC?0]R M#Z^OJW96'35#XP@PW_[@A1&\N*88"$NE$(I:*S1RW #,I%IRJ)ZA<6JZS*T\ M&J?6M8B'&/JV;M3[47%C[.WGY<^%X?3307)XE90J B+PISOB5Q[>N##@;A)X MDM4QY/.K)(J[Q9)"//@17A<-AJ/"!\J*F]JB-+SF2U96F&6C:'@9C4+W(!"E MLBZ7)"[303SHIF66(WQ0;FY[=Y<$Y8\)9>Y/>GE*!^N)4L.,\3T&E3^OLMDS M;N(OR>%%EL1_',:7840?XOZW^$=>;*:[RJ:3B4L YM X(S5A $-*L;;"0,DP M$$!KR#AQQ7?B.U38\-0JY&_=&S$@,7F-DY9_?)N^X"!HN/"(]/=$G MYY$Y.?U\IB(6>M]QS,#,7J2#X%%._EY\W* PS/V[-@9,')K23$7= MI-^?MO[Y !R4?X=A=F=_5\SR/+T.EN,X^1:=#J_C)3?V6]H;785?PSRFEKH[ M[/?CFSSY,/OEXWV;?'";?;A-J$%VL#HY,7D'H7_Z>+#D-$S?OZ9I75OM3?O^ MLH;6:8BG(ED\/A?,F[36NZ1,GS7S"E5Z?I4E2?1;:+C*(Q?43V\_P^P]8_MQ ML"X/<7T/,8_?@/G+E'A>KFUCLG(6G,+D^B+))B1$HA,5F5HX:+$>K5[=(J[[-_)2B]71W$L]:1'N)M@]>/ .K=L(A\?7IA':[5DX^?7\G)WYM?R\W)O%A)EMOS[QX&Y?Q$868@ MX][3 ,3B3AFBK=564&0-,1@*_!P,UI;DAHAT.&V3W"T&=PZ# LZ/? $6!1I9 M2H&1% $LN0>46XT\EAYQ]DP[6$^BAP#,T-9II@*R4S[2#]6 0!SLH&=]I#.Y:LE5=#\/H_Q678A<"P[C[SW%: MW(&8#D;QX$M:[$>+\SP9O?AP\"T^3'$]/.D;:8R2< MTJ'W4@E7@="3R[\,A[WR!( D^YIVD_QLV.\M\F63\2/N -D>;+H#*:P6BP46 M^?QX,VXE)$** $%.C4 *2:6U%]0& PH5K V+M<61I$/YYHX!:K'88O%5L2CG M1PP+'8RAI1 +XBB@5GJO/:2 ,,%80&:==K$>7U9VD*@UJ]IBL<7BFV%1PCD6 MD4=8*HLYHIQB"Z24)OS ,#BN1,%:[6(]6(2D _!>.*DUKT/"#<6==U["0O<: M2#(Y"[1[M_9GFP[X;?3QF!,M@.=:@ #CJ#<>*H>I!$!#'J)4JQ$5CEFV='/. M:BVPT=5-BCJ4ON;9_BM%8CN/S&Q3PJT:6%(#9+[G$&+"F=-&*,JH 4CSH &, MU!Y(Z(.;_B(U4.,"J^Q@U*J!5@VT:J ^-<#F6P>AID )*(TEA!+$!'!!*1 G MC,*"RR?$!!M=XX6HPW@C+O9HU4"K!G9$#8BY&C $.^N\(08YZJ36GB)!& 82 M(:$Y?JDW4-,R,Y8= !IQ.4@SU<"NK5'_)1OF>5&R?)F.7@C^W<0P!& .8N4% M-X4!)PA3:HWD%%)N(7$6.V.60%Q2]W-)W(V&\IAU!-G F?,- U^;3W_97!L" M*#3?UXJ!4Y);+SP %!HK<'+51-?B4G'4IK+5]L+52+MC=! M&YNC#2.,J14*"LPIX5P)KC#RGFC!G#-+M1;"T]N4FR M>!1>&B7?;Y)!GN0O/;EAE]-5>SOQEOLM]UON[^?$6^X_,S4+&FOU3Y,\B;/N M57ES "($YDD@((G@%B)'-* B_'3::@$0 M8Y(Y4HLEJJG6'Y .1J!%48NBAJ (S5$DJ)+8*H.P!51+*IB@%!*@$'2$XHH3 MLI]LBNI"$>Y 7F?![,[D3YL;2ITE_7Z1/BTBJ>LX^R,IDJGM:2A+@%Q82:2" M&V/#_U&'*")*<.F5%-IH!#2='TDT ^24Q &/O\T(_ K1%4$=5.^Z8N..16FS M6GL*1D;G1>344R@(0AX"RA!7T)/P)U>*083ETD+CD\!87Y0F.P#7Z5^V8&S! MV! PBOFAM8Y2KJA2WEI)H<82"@=0^-5!*RU8"OB>:AEK\E,Q[]!Z2[E;-+9H M; 0:,9BC$4,B%'>.!S!2*XU2&@)!/$#8&P[H2TUC36B$K(-8>UG*5BW _249 M)%G<+Z/&N'>=#M)\5-3A?'WIX0E;C#PT=TH=8X1H0P15A%I*!992 @29-@)I MN(2\*3D#\M0=8KY"F A%!_,Z;6%C3=X^6;8MAA&9&S"D*(!&>64 H41X&2P9 MT,(S((.G*9?N%GTZC.J[Q)-13RZ7PBBD! M$0#,.Z-$+=:H'F>0P8[@;4E("Z.FP$C,8>09T]8[C8W45",I9/#D,'">"^8$ M7]Y ]!QK5-,%E*C#:DTW-C]RVOJ%N,:$ 1%9+(#RXWG% E(XZ'@^D]!QL^+QW1.G?LYU;1$#:R&G%=7]18[QUZ+:Y;7.\&KLG\ M1@7LA4(* ".MI8XXQ8F1QB-!L40>JGKM=4W^MVSM=8OK%M=+N&9S7%-K, VQ M-.1246: Q,JJ$%,'3&L()*_77M>#:P$:<0YD\Z/QNR(J&AMT3\Y_'RX=(M# M*QVVX 0(N;P9I([IG4 ,L.4:ZD0((A2X00V3O"EJO7;@QRFZ;%\D_&T)!TD M7M5$-_*4D#9'O?>0I6!^.P/PCBB'N , 4:V0]@QB8@5U@D'GEZH6'@/9VD)E MR3L2;^ @QQ:R+62W#+)P?I-"L:>?0P&==,'*AG^";0V]B,?.,8K,,ZUL38=M M =(AHM;*OA:S+6:W$K-XCEF!@0!:$&8@IPP"#1W%D /%M+/&+:TC/]+,UH-9 M)%%'B%<]YKR1F-W# _3207=X_>++SW8O:47I'+M*Z^(864J"F:34*NDTP\ H MP9@"'*]VD8]*XGX:YAN-:TEQ<5FM*:K&I: :A'P06=KW=Z8 "R6$OEJ7)6(6(L0UA#"[0$[CX.CX>#X5THOL)F3PEJ/8.D MJ1?:MPG7O4 ?G1_)I3W&7A-AJ7-4%Q@$G"GD#= V_+MT)-=3T%=?7(@W[ M-#\>W/:EPXGH1!=)X'HR#1BC4?S]Y>6SNY>RX7 !KAX:[FUQ.[*BA&#-0MA( ML;1(.$.EO _7>:;&9\-K$UZ?#L9AEM-4SG"0ZY(%DW[G!0/<]U$6!X"D@SC[ M<31*KHL:^0+;V; \X^LHH#Q+\HW>O4QPA[2+D6T"ME8B;$&M#\?S$XPD5\(2 M:1@H=J$"(3R$TF@"!8! $_^V4*]SQ9/!5SE0LYG50JT>V%.K3N?G2BCB%0\1 M+\%84.*%)$8;9R$30#"^O!SZZE:]I@6=$$>+6NOP6ZO>HKD9:.9S-&,@$?1< M8LHX!41(3Q5ER%I79H]LX>[9;M@U=YVUZ&O1MTGT MT3GZ#./:.&E#),DHYE@RI27A$BBOM4(KEGL>:?MJNH.%=JCJO^6C>M86Z:A/-Z(D4M5<)CQK2F0&NAE!5<6&0)(]XOW7;]"#>MIHN;: ?1 M9BBQ5D^U>JK54V^@IQ;J'GEPK*BBCALGJ7)"&,8$<9933PG"2^<2/L+9JDE/ MH8X FSM&="OTU*Y51,Q37=%-DD7Y59PE'QY(3>,-7%FW32IY!^;7\G)WYM?R M\K'LMJ;G79.@X3[NO),U;YM=ON]N. )ZO G&K";8 6>0()=8*X C2 M7'!KF.=D:2._B[-!F%3^.Z05 M7CK-Z4GVO6:\PSJKJ)L?RF_]/MOQ]4621E@WDI8A3FW!WW M)Z> O;0N<6^3JKL\\9;[+?=;[N_GQ%ON[US6?TVUY*./QJDU7GA5OQMQL'#T M#86!ZX*IX'<[AX3$ IC@?!,'D3%+ITK\5U*,-.FI0)3X2S+QK4XN2V\Z/QF/ M\E$\*&;]Z#K#B4_VO/M*1 ?2-K>^!0ID3W EY/Q -^0<8T9H+B!EGDJBL0O_ M4FT\XF9I?>JEN%K*8K\$5[Q#9)V5,2VN6ER] %<8B/DZD*7*6X4TXXH"0+7' MQ%.,B15&8;F4)ZK!7OV]1GL%:CU&I,55BZN7X K-<:6E@K8H 2>,4EA8*Z(9 MD\I+J$" UP;L57VXXATF=V+-=7_VJZVMN]KC*RX0)G-02LP)=LH5%]!1#J!& MVB(OK6%2"JN7-GNM .64UDO8W'QXQFBMMYDWKARR38OM*4@9GV=0@"EB.Z0A MLI1 HS7PQ:8'Y;51Q"T=^/1RD-8:ZXD.!>V^JA:D.PA2,=\VS;!2 AK'&"/4 M*ZPL8,!R2'4 +)./=6^?9DGK#!QYO4>WM2!M0=H(D!+ %B[! ,(RY3R$GFIG MA!">&FT9(E28Y:,3:[&D=8*4U7M(;.- 6H:G[T?Q13^9?5['LQ%5 MR=-!-0Y<@;*/D.@PL?[4H'ZXE2PXS)/?:6/Z^RV3-N IX.+[(D_N,PO@PC^A#WO\4_\O"F]U?9 M=#)Q">4<^P!BR"E%Q%#@K/9$$ LHMP@YJ5#QG?@.%38\M2=*V$8$J@I!#XG! M:XRL_//;Y!T7PWXO/"(]/=$GYY$Y.?U\_%Q@\*" M]^_:%3!QATK#%G63?G_:6I8"%W^'879G?U?,\CR]#M;B./D6G0ZOXR5_\5O: M&UV%7\,\IF>1!GO>CV_RY,/LEX_WK?C!;1[XUCN$[&!UFGCR#D+_]/%@R;V8 MOG]-T[JVVIOV_64-/=Q5/!7)XO&!#6_2-6-+RO19,Z]0I>=769)$OX6&JSQR M0?V\UK;RIL:S^\'VXV!='N+Z'F+^P6K9#3!_F1+/NR]E8[)REMR$\/ BR28D M1*(3%;G"/=<3K:@\0E1D*2JB%9565)JN59Y GE:.&BQ'JU7._FP>?+9+BNWJJE53;>J"?-]O%2UF>+9JJ96 M-;6JZ58U4;:/5Z4V4SQ;U=2JIE8UW:HFSO;Q=M1FBN?>'$!^,@H-45%ZF"57 MR2!/OR:SJU)_Z@=A^KF])W7GY]?R3F'-GL])[A727AF MU!UG63+H_HA&63S()\=_1G'O?\;YJ*S@W\?=.C^M=9$YGY_(+RD@&#"$M0I> M,0824N:0LMAZ! E:BMY+1\#%YMQKTSN><4;>,T4G! MP?/X^^=A5K:,1EEZ,2[+=\^'G^/PG-&+%U7R,*;PV5IGG'0D>)7%E66@O$1D MZL+2SVWJ8(\TPWK%(.>*@6A/M*%4$<4H#N$SIMQR;3F6SG C&Z<8:EO2@!W1 MWGK\ LX/ZH?"X^4Y-00&)"MM#9">*P%I:_C&: M 7Y4SK[9',SR<7 @CWJH$PGB0)>&I_TIZT93_/WM?WMPVDN3[51#: M[3?=$;2[[J,=^R+JW/7NM.6QU3.Q?[V 2,CB#$5J -+'?/I7!?"2J(.20 DB M:Z)')D$2J"/SEV=E-I[ZHOHE"]S1SZOS+()/=EX,OA15+QL73=6 _/L!EIIL M0(*N.G=:QK&SDCO!!+4,"6^T]499Y9 #VX/$'\M-^,^P!S'N=CRV881? S1\ M+2I5#JNP%'96AK\?P_7)(&S=\5G B%TF7(H>Y'0?2E$>DGMW?_ENS5\'B?&( M(4*TLU1++@C'"'A //&*^(T.FL_"=ZV9WHCO10'8Q'7[P'5R92QSBPP '@). M+45$"*X\4(8;K U#GKZ4M&LG&P7"'L&I^V5BO&XPGESS4D%+H#5:,>HX!41+ M2+1'6AC/F)5BHU' 31UFIN MY/1/R_WH7_,W^7)RH8[-^RM8\!SV)<3)[YS\SHGG"[G6+%X30IUF"A.E*+9> M&8>!IS)&I*35&\=OGX?G6[-M"4Q))HGG$\\76:6T^-($IXA#@3D JM&>?;?IC1OHTT1ZTZ[+:DD]>OSR?N?QW[#6D4<0"64XNSWU6H()"KNL) &D:8]<8I2XE0VG@#"%$>:\<=W["7;@#: MYTA*P*+'P>XP\B$TT,VJ59T"R"X5B4E@F,#P+C"$<%7)V'E$D))$@0"&)FB= M02_U"FD"@!<8BZ>!87MUC7&/BC9SHA,8)C!,8)C ,)BA:[W2I642*D$A950X M*3@7U'&FA3'0*?QDS; =1QB'/6*\ YXXY'2Y[ MH#TQ5BIHN6="\">"86N'=F@PDWG2#.])#?JU=O NKP_N:PV^3LXP$N\.^J;' MWKY%EO>C"S ?_PB/R\:3:5%E>1DNC^-9G>)+F8^RR[QLDGK"UP,AU>N:3XM! M=C8:T+/)_O,G/PHA^RT??\A]5>-*OY^5\,GG-LY6R1 D=>)$C2HW2BF'D-=1! M=P&".!A_DU]9A1U/[0;ZN^N).R&HFWC@/C)XCI'5;Z^V!1Q^.M;')YDY_O3Q M^),Z>7_\X477[H81FN,/GX___-ZJ$V>SSR?AG]_=AY//V;$/[X[-__S7\9^M M^_3Y3YG[RQ_O3_ZW:\/_>3@.B#&95?EX4/W2N='-QOEL, PH]K)#VPG?KOW^ MBD()%H)D. Z:_#P/N+]S?, M^V1X$43*A^);]FERD6^HWQ=Y^64X;H:7SZ:3Q85&FZ^O?!L.IN>_2?F60!+L M+OK30M 'Z3_*+ZOBM\6+=]?%^M$RE+<*>>.CVR-]S:,0_^G=T8:VTGPF;O\( MMOT1?<9GP?;OF!YVZ\\>V?#C51K$*\[K5+;)SOH-GYR719']'CXXKS(7@';0 M7L>7UTT ["#V/]CA%\&P_SR=]/]QX.EE^"@K)]]>+M7L 5DU.R,'%880/2+Y MJ%;T/N;#P9OWX_JUR2^'TW#]QD7<>N$2P>P7P7PJIGG0R0329V0VF#*NA>XOO)^WG/)@9PON&''=3[*Q_TBRZ?9?\_&1;-"2/:RF)OS MTEDD+QS_QP "7 @(5HFARD/-%7)08\H@U Q3#ITTQ@E/_49E@,;M4,OQ!I'? M5]6L&%P+_;^O\Z#0_YO_ZO]]7L1M&T$?M.O#^@]_V1*'H0=1JBGWG"H-TBLN[E K5:J93-Y.9GI"KU TX0G)5 MC9!+A@R11@M @6.:NUB)T"%*-,%JXYSSND'18,O.D>C1YYK%L[2>3Q"4("A! MT$,AB(BU4]K0(\(]81I1S*CBC@!DJ+2"(&DXVR[?M")(6(:-% MM*@U+,*2]3AYEN+L"8L2%B4LVKZ,S1R,Q.HHL8424:Z1HLI3)(UT5'L1P(@& MG8F;9]./5K')V^KD/ R?MJI'UX/P69J4;S+P4V@EU99.N':@N'8GK$FP@K5X MF(90!&70JVC ,JD!D@I0+Q 5AFP4R-X6UMHX^\9EC_)GP9T74X]>--#?PKQB M&*0..TW.8K&KF)I910H)NQ\H)"LN+D>3'T4QOW@YRL?/%A53%JKSEB MEC CH*,4*DD)!-9IH)4S3M_LXVW"3.NMXIKP4_WA\65\8N6^%V5_6&U$HU;U MFCH2D&JS2'UG#9H]D._[W/5QSI=X)0&Y#LJM4Q8';9]*2Q7'G''->9 ]0!JR M)5_6&15DD%?GD0($@NA=XLG$D]W@R2O5&1BW'D&*.:%"T4"I MV@!!B6=64=T=GMQUN"(L36+0U\6@]^4C[L%<]WU^:2_W9W[[+S@A@&N24ZO8 MVHQCH0T5!DGMC7?>0LNTA)OM4MJ3G$G:=3L)N84)_[6HIN$1T=E3AI?EL!_K M%"T4@&Y5-1[0@G!RC*LV8.\/I^6BUY_ M37W+RT%=APB732X4L=(!X MJ0$%-MBNEDOG%,!.4"RV9?I:"'>%YQ^=<)>X/7'[*^3VNS-#(."KPT26,BBC M?*=>4R"]Q A;C$$0]%PB:KK*[JTXK[;JAI1R1Q)H//38[AXOPL%./.U^VOU] M51CNUA<@7ID' @FG"-=,>T(!%YHJ[ 565F@&H77/IB]T+8#=GU43Q MYC2OBD'=C+ 85WGHV#9@T&/Q7!/JZ&T^)S47X=]HM& ML'XJ^I,OX_HNM8SME+U]AYE->DBTV42\LUZU?6+I!,^O?GYI+_=G?@<@:A%9 MB5JM-0**(:(0I)H3*2!T#$KL/;.,TLZ(VB0>#R"_I#[16MNIRR.MV; ^T]HE MAU+'$.M@)YZBBMI9J@9E'E"&A'>$&*B@D MEE2##4?9;15#8O."13?;CY,R/E5-I^7P=%8WICN9? P:_7C:FA^L[1HF=Z64 M]R!/*6@)"/80"-BJMH"FP %!I%1(44RUIHQ!9ST7'&'&-TY][ H($L,>0$S9 M#LNB/YV4U9_"_IX599EBRX?J)$T.[U<_OP-P>!,HU\H<.^ <(X 03P$!&AN- MK0=!K39"@J6D'):GTZV\W4LTM',L7'=ZOY;(,=J+'Q*T)>5_]_-)>[L_\ M#D&*\I44A5PPX@T QCF*D9$**LR$EP1 *U;]2G8L19/DV_>(\(=BFB+ *0Z0 MHD!I]]/NI]U_<>3OABI&UTHE*DVYP=AK8P35F@ELN $(.62X0 Q<=_T'B;KR M];?EG]A=BQ3:"_KE7H<#$A,G"#_,B1\TA$NZ:D9,.-*:*XT<#= >K6E,(* > M.L,LA(^#\(2^G0_&/G-?\,_%Y;06S//FX.+QS<&;;O?SJ>++[]E@,CL=%.':A/@'M^9O%75)B%;0K:$;!U'-KI*GB<" M*D:YA AI*BT( ,>,U2:884&UNZ4?5_O(MNO4'BAD#[%6FPPGI$M(EY"NXTC' M5T@'):->8T@IUY0YJ2ACDF(M.<28N)OKS;6/=#L+$A",>DB !'$)XA+$'1#$ MR=4!**,X,()QP[6D!A.MC#2&*:X45AQOU#'9E3+WC"<;80_0Y)I+F):U@$T,H9X0"9V:\.*O]>'9 MY?7Z[]IP1D$I?G/>!.T@ C^]6QM?/XB8HMS1")\ZAK7?7P$9$'BI_OUP'-"Q M>;_^@'$DG-$5CH2@ =EZI;)^,1K-/_V/(W!4OP\#[R_>WS#OD^%%464?BF_9 MI\E%O@')%WGY93ANAI?/II/%A0;AZRO?AH/I^6]2OA6 ,,'I3PN2ZD]&H_RR M*GY;O'AWG8".EB'D54H#/KH]PMP\"O&?WAUMD'_SV1T?P;8_8L_X+-C^'=/# M;OW9BR8WO%@RT;W91%=$R::P:#6I: ,\Q4/G+F[.Z_@0 #7[/5P_KS(7<';0 MM>26E]I_=A#;WP1$LUJG.TRK:#UWM)Q\VS*3< >;_X LKYV1PRJ*5.MY,93T MYOVX?CT/*-V\B%LO7"*8_2*8A3.^)I&%1S[12**1=5!9>3-K,JE=F@VFK/LU MZRN-PV7/?-C%%OWULRZR M/NLB7OH$7O=#3 C"5>:0QA@21XVPP%)%E1)>4(L<@E@[83:RO[<_XR+^0KIR MQH7WN&@U/_(V@NEFB.J03Z"V+@,ZNO>/BJC?M^^O'.;P*GN($D2-9PQ:;B@# M1GEBL'&<0X$ $ALU%+:*I+>+<(\^Y,(3M"5H2]!V4-!&5TE"1'IF@./(E M58)JK+PA2&"*;NBENB-HV_DI%XYZ_'GJQB>H2U"7H*XK4,=74*>MIA@0!3PC M%#BJ(0#:$4HAY]AI^4Q0M[M:6(SW0*OU2CM*YPGC$L8=%,;]? _(2;@J]Z>4 M$Y Q2X+-BJ!5G'!HJ-"6!Z/5D.?2Y]H^Z%*%90W7[FG@R\FS6+.;O-_Y,Q.W MA-H37B:\W#^\O!LN$81K11ZT\U1R03F@ G APG_>$:\ @]3JQ\)E"^H#G*Q\^5O- 1)D1\R80""T^ E5(R2D5T0AE&H4/:2*T O[G22A,YM+,R3.]C M&,=DT$04ZP^/+^,C*_>]*/O#:B/ ."^"^;\/KF.\JQ@C1&V>A>NL ;8'>L/^ M-W)!B*SDHV :<^FPI4$<8HV%TM0+S8T@!&!]LWS<9,TZS>;%.//13N/$DXDG M.\*3#"QYTA//O'*0"*J3>+0#::BO M(K4P;67:RKW:ROV5G!B*I>0$&"FE@-#*$:J]%YP(YJ1U1NF8RK4[R=F2M-L+ MC;2#N>X=_:OKPG">-4EE -AO<$$ M<(DIH4CCZ 'B@EO"H*#X07Z?3\M%K[^FON7EX$,Q/3[SD_*L&$YGM7.FVVX@ M+)\E>M]9B;K/ :<#;F:$,%VKQ&@D ,XZ[R2DDCNEJ?%"*H4@Q, _2 9WA>[;5V_ZJSLVJ*>'.:5T7DO8O+ M8ESE<8?V)P7KD2#;6?0_))!/))5(ZC!(:AOU0*Q\A]PK QASFB%'E50:8 ZH M4I )3,5FLU$U^/NLFD9;OSJ9W&+1U]A*8-4'PJ?CG;%@-I\7GHOPZ[!>- M7O&IZ$^^C.N[U"I&IYP-=_;XZW'29B9YXND.&()[;N^EK4Q;V<&MW%])2]?S MOJFE#F,)I7.4.*.!! IY:SQ75DK3&4F;I./>9];4QGKV;3@]/R]&@VPZ";00 MII5-\^_-UZCR7R.!^4I[DW_^VVHEPH?Y47^?U3N3?;!.4 MHS)%Y9)O_A!\\_DC:_+3Y'9IW4B*>3XE@E*V4""Q]?5!($DV)LCK8'DIBZ(4A@@CT@DI$VX*? M)\&_-[E&=?W#.LMH60 Q&]85$%.V45?ER2&)C412B:022262ZK9EL^<&S#YM MY2M%ARTR)#A9N32U(%! 91BCGBJ(A90>:B*-]<(IN5%H^[8RV+$A1C7A8M^B_;+LQ]5Q2U)P#>A[R*Q+U[P;ULY4L@ MS%LH//>QKB4UL7.EI!9A3C&CR&S4T-L5]R8NV_?L)3LLB_YT4E9_"IM[5I3E MTX\2&3M29J#-1Y_/J-6*MPF%09:0T.%P2FEK!55!M(+). M2TN99_A*C&2;I.VE^+)SX;6+?,Y6DBKN4I':K*Z?&+^3C)]"XQV8=T+];NYU MHLY$G<^KDW"ZRAM71GGCE2784^&X8$Q K;"RC@8]A3R33I+TB'8<,!WULWPH MIBFM(OG).P/JB:0222622B252&HW&J8D:]$\C[F7V (C"<46*@(H@)@A [2P MB%^/Y@5=816^:\N)]:F8YL-Q,7!Y.0XK5K7FO6*TAUH]D)PXKP/^J#UW.^W3 M5NXQB JR!%%%+57"8\:TID!KH905/,"G)8QXOU%<;3L03?C7[0R'UF=?O_U6 MU(\[G8P&X18Z']6ML/-I]KFXG-9RL6$\)'I9))7'N$^:GN7SJ>++[]E@,CL= M%$APT),()WI#(5HKB-#4=6EJ M*M_0VSYP=4>:)07:0:15A]RC*>IQU/'2(GJ??>]/V^A'(40WB>/?7P1:7SF2 MHE7PPF&B#!("*:>I=5Q!2J !5CNMN=LL.5OC7#QA6I15 XL[!]''ZE5(M%GT M+J%G0L^$G@D],2 KFY((J!CE$B*DJ;0@@"@S\>"^1D%%U9M%!7>#GKO.+X-" M]A 3"4T3FB8T36C:*IJR%9I"R:C7&%+*-65.*LJ8I%A+#C$FSCT3FNXLT$$P MZB$!$HPF&$TPFF"T51A=ZR)C% =&,&ZXEM1@HI61L<(U5PHKCF]N,K<#I?09 M3V+#'F@W=S'A:L+5A*L)5R% :T5^M:6 "\UT[-I)I?&2*0,)P!8:[Q^+JVV$ MD!'J"9$0\)[0]*]UT8+E]?KOVG!&0>M_<]Z$=B$"/UVA81@I=FW _2#PBK*- M(9^<%UG>CV?F\_&/\+AL/)D659:7X7*@Q_"8+V4^RB[SL: MA6MV-ASGX_XP?*5:".;J[=4E>/E)WK O:5!I4&E071S4@8UA!$TV _%M^S3Y"+?,/$O\O++<-P, M+Y]-)XL+C<>@OO)M.)B>_R;E6Q+L*X;H3PN[(A@;H_RR*GY;O'AWW8HX6N:@ MKC*<\='M*:K-HQ#_Z=WB2]<_N^,CV/9'[!F?!=N_8WK8K3^[/SMZ'\\6W%L< MX(JC8=-CT.KA@PWP% ^=N[@9YD_.RZ+(?@\?G%>9"T [>%1Z_!X2 #N(_6_R M%[/:Y7?@IXGP459.OFUWLF@7F_^ $R$[(X=50E9MC,2LK#?OQ_7K>6[6S8NX M]<(E@MDO@EGDG-0DLD@\2322:&0=5%8!]9I,ZJAZ@RGKH?7Z2A-?SWZ.9Q=_ MR7X^4L?F_=$M/0<301TH0:T'*/_/OPD$^;L&?^I@95)@#YPZZK.+29D]R,W_ M:SZ:/5>AL2[M?3K!_M^S<=$L#P;UX77QTOEDW<@$HGC5&T<(3 P4D%,MJ616 M0"L?J0::LR!91_.6V]U%YC4](6^P( M'JUU#H9,4N:T41X;"AA35A!AL7U"T:,/<7.2,"AA4,*@3F+0 M6A5L*(.]8XTESB**/->*0ZL9 )0IXIA])@Q:>=YW=!2:PEZ WH1)"9,2)G42 MD^0*DPA@&EOE *>0*B U99 08XAR&"(/GPF3=G:@& /9DP F,$I@E,#H9<#H MY[O1*.#-JM26@49)2I@,>&2LD,!0#X*YYIPP ICGTI#:/I=;A64-U^Y&JEZ8 M]7/@U"8'/X58VJ+^6R*O"=@2L'45V.[!-;Q6!(L'C8I[QKGTE DOL$2".V:4 M(^'ZAC=\6UQKH^(*%3U ]EM!>M&@? OSBK&0.O@T.8N-HV,:914I).Q^H)"L MN+@<37X4Q?SBY2@?/U=0NB.L1L&J_:GU5!&JE4&!M(44'C&%J=8020PMN9'5 MFF"3G95A>A_#.":#)@A5?WA\&1]9N>]%V1]6&S$I6[,B_LN#NT7L*BP%R5Y4 M2M_W./I!M!? ;*UXF9,B\*$VRF)(!?5"4P \!,@#9R6YN13D)FO6B17*N$10&FT"FN4!"2GDH9.-%2+0UW&B.".\.3NXY:T!XF;9K? MB4<[D'NX!W/=]_FEO=R?^1V [.1D)3LM$8(B::'RC"IME=">&4H\XP)+M4-] MMB5YMQ#CX4T^,S/RG/ MBN%T5GMH.NX+0L\24NJLLKO/$:+MCU_M(=-SL63Z8+-R23S0!#OJE)/6&8RU M1U [+\'-P95;Q'!7>/[1N7>)VQ.WOT)NOR='A,O5R2+DA!1.$!N8G'H,!/4> M>(@I)E1QMVV Y]G9O14'UC:)),^" 2F)Y%6!QKV'=/=X$0YVXFGWT^[OJ\)P MM[X@Z,H\P,1Q:ZWGBDCJ@) >0TG>55$]KNX+,95'C?I!;SE'0.C?9]?BF+MS_P.((HE MU\Y<0*>"*>TD9@90JI&F% E&A>("8R8VVINKP=]GU;1NH7(RN<6HK1WH-0Z: M-1C\5 3[N!I.B\]%^778+QK!^JGH3[Z,Z[O4,K93]O9=#85Z5.Y% .V06#K! M\ZN?7]K+_9G?(8A:OA*U&%CM# ?06$,A]E(KI8B&1#J++-HP15],U";Q> #Y M)?71UMI.79YMS8;UX=8N.90ZAE@'._'D3$Z[GW;_,">>=C_M_D$&D@C@<'6( M'POOE952:D*5(_$D(_$26J^DM!1DA5<8*Z%00C-8HX 1"7%NM%!9PJ3(/R]/I5M[N)1K:.1:N M.[U?2^08MED;N;.:\#YQ:T+>5S^_M)?[,[\#D*((K*0H\(!H2KB%EE,DE/#$ M20LLL8Q3K_0S2=$D^?8](ORAF*8(<(H#I"A0VOVT^VGW7QSY.Z**K95+Q$ 8 M@:Q'%!%*+-#2"0V, )9J!]A&LGR0J"M??UO^B=TU2X$]B=HL'MR]<$!BX@3A MASGQ0X9PC-#*FG:&C(OLW4/_O4:LUOVG\!@QW MK":CX6!YPXZP[%JA30J%C.@4(\=0(+YFA M-GR#8HBU-#<7-KN_252; /?X%N4\(5M"MH1L!X1L8I4YKZQ%5@A' 0>4"".@ MED%MHX@:235X;)/AAR+;[O-Z<(\"G) N(5U"NL-!.@+@6HLS0C@"GCLMJ:18 M2J"1!,);I12T-[=3:A_I=A<"DT%$D&K0Q9Y2A03-S?9V($V]Q)-VE$/X#:KFFQ-/P^JL_VR?/28(MP) M+A-%%7VH?B6?9I@)]1=+0KHW"^F**-D4%JTF(VV IWCHW,7-*2$? M J!FOX?KYU7F LX.NE:AX*7VGQW$]C>QU*S6Z0[3*EK/.2TGW[;,0-S!YC\@ M06QGY+ *0-5Z7HQ"O7D_KE_/8U$W+^+6"Y<(9K\(9N''KTEDXL>T?I*XQ;-?HZIS+]D/Q^I8_/^Z!9_72*H R6H=0]4W76* MOVOPI_9&)07VP*FCSG%.RNQ!;G[=-> ]WZ[GKLF0^TV**_=IX%@_H\ M"W_I(W:O(!8DR"K#VSN(@6;8*L,I-4QHK0CQ4 +J-),;>9#;GV/A?R'=.<!(.D+5HT+>[2+J64"?!6N*BDA@CSQP7B@H/ MM':80>$T\M9 ]UQ0M[.C+(@'2U4D=2YA7,*X@\(X*%?E_+3V!GH.N1'!:(5" M2T8!4U9!(A3VSZ7./6N++MEJ7]Z.$GX"O01Z"?16H(?%JH^A"(9J %& ^AY MJI4V0@CL+<&.&6D?"WHM@!/AH(?1 =N=+U<@KX5)Q>A4'2^7\9&5^UZ4_6&U$26^K#8;1;D6PE'SDA.E@#4!C%*,)(J<"3%D!D.<>2;\N:=:[,BW'F MHPM\))Y,/-D1GA1\R9.0:2V$)9X10HGWBF ?:U $W@3(-89GMQU9*;M[)K$ MHQU(%]V#N>[[_-)>[L_\]E]V4D!6LI,)($Q09SD2@F("M84Q/8MX)(B7\&8G M=RNRLR5YUV:%DHY[=EY;Q\"_%M4T/")Z?,KPLASVI\5@Z?493A_CX-F__B,4 MK)F70 4V9-@KJ1QE@"D/K0<&,B,EH_3FN/IMGI]/RT6OOZ:^Y>7@0S$]/O.3 M\JP83F>U>Z;;CB#,6JTGV;FF)X<<'/1OPZP>RO>JVWJJ#X+!FQRQU.HZ27+HQX$:*2NE O^OHIP,\NH\;K5 $+W; M:_W^56=HU13QYC2OBLA[%Y?%N,KC#KV G[QC2+3O\TOQJ_V9WP'$KQ!<.[T0&RC9A*0I37"KYI@_!-WT/0F"X.JK(I1,( VLLU90(K TU M\524M093(9;E_(;EZ;3Q3/]MCMDG$Q,W[2I*?%I#ZS\"E\]3"$\FUQS7?\3T M0741UG7ZXMDLVV!'@HX$'0DZ G3@%70819TGP$-'++5![< $(N E9@8[O#JV MU7WH>+;,&-P+X)N@)$%)RH](NY]V/^W^H:H1DB[5",H, <1XZ36DA BAG9". M*B9D;*@@7E"-:%OT/TMIMM$![7XXZ2,3U73H/B>SJ;YZ:@XF7S,RZ)%UUG;U8VW.F#6 ZC- M0V:O1V5.C+\7C$_ABO$%)MQ1A)QRFB(@!,+,0&0"SUL'Y;,Q?F+0Y[-I7UNV MCAV617\Z*:L_!;(X*\JRW2,F^^SG.]B))_=VVOU]=6_?(]WYJM&2(P!"10 0 ME%*,M))$>ZVU4D'<&^RN>+>W2;A=0K&= _$NFSAYI.0C& M3[!_@!-/NY]V_S"%/L-@S9=G! =!^#+DJ>1<:>B-=I RRX@U_IF$?A+4^UWO M(1Z*R,KB#S9D;-7(@W!HE7!. M,D"MX2+PI:4 V$9-?:1;-AJ789=U#QMLX1YXM_$O\_+OV+%OYXIRQ56@$E. MD;;". &#*FLD,?%2!_AW]YZIEEOH)H;N(D.G!*%7/[^TE_LSOT,0M'RM:T\, M"7F!,$7$4:Z4MDY0$RY@BY@V>A>"M@7A2$$/@#;[>;P>X;B?>1VFR=V+9Q?" M*(O^-/;ZR;- 9.,O\3A#EO?[\81,&$9V&0BM/[P<19=3G>\7B[;D@TG=+RK^ M3GTV&0.L2Z[ACL'UE,5[57N;8'2.H)M_?_)'Q^*:2HW<&C>T>3I?O7S2WNY/_/;BZC% MW4J-)*L^9D&GP8YYH%P\J.J8% )+$%0=1;3S'EY7:H*(6IU,;2O^OS.SE*&> M &W69NRL^;E/G)=0]-7/[Q!05*Q2E;FWF"KJN'&2*B>$84P09SGUE"!L'H>B M"0"[':MM??;UVV]%_;C3R6@0;J'S43[N%UD^S3X7E]-:,#:,AV0OBZ3R&+-] M4@Z*&J$E\Q0 M2S"C&&(M#;DQ(2Y6_"W*JH'%G8/H8_4JQ'E"SX2>"3T3>K:*GF1UWEQ9BZP0 MC@(.*!%&0"V#^DD1-9)JL.&9VQ%ZJL&.>QXSW*, )S1-:)K0-*%IJVC*UDIV M24(X IX[+:FD6$J@D03"6Z44M/B9T'1GD0Y,8"_,.\%H@M$$HPE&'P:C=Q]R M8X"OF@\#RPT@1ENO.16:"B2"=HHL\I0H)MQS::4O4:$<]4"[W7Z>3%@/.F+W MLIR7V@0F2$Z0W)9FN]8.7DE.N( &;IPIV%XS)5D?, Y2.))1O:[U M0>*SX3@?]X?A*]5"I%=OKR[!79/PN8A'.Q\AOT82]=_S:T+/)_O,G/PHA^RT??\A]5>-*OY^5\,GD-#96Q&C N0*Q%2953@AJ' M0& ^;PFQFL3?Y%=6X446_]8G[H2$;^*Z^\C@.49V0Y['\-.Q/C[)S/&GC\>? MU,G[XP\ONG8WC- 3@.R#295?EX4/W2N='-QOEL, QHV?+0UGY_15,$"V$Q' <5MWF__H!Q ME.6CJP(&-)IR+:.R?C$:S3_]CR-P5+\/ ^\OWM^P'"?#BR V/A3?LD^3BWQ# MK[[(RR_#<3.\?#:=+"XT:GI]Y=MP,#T/WPZ3GTOQ(-I'^655_+9X\>ZZS#Y: M)HLM4Q'%T>VI9,TC./[IW=&&)C)__!T?W?59ZQ]M][/[T^5VF&QZNP(E'LHZ M8OM44W[?\<0KNN.F$MAJ*NH&:SYJYC=@QH? KMGOX?IYE;G Q8-'Y4KNW>;? M>S)Y!YN_N1*/,S)V1BO7,T9%G3$J#SPE/9'*%J1R>W+QUN#RNNIFW:3QYM5Y M%BFTRL[*R44VN2S*O"Z;%?T87X?385']EBHFI(H):?=?B0:RLY/YK<^QDV[W M5W V"X;_Q_KU*_O^]HEFSM:!;M(=IF MEXC.9E:\=C!+_-TU_A8T';WLTM'+EU!G=K :UV[8AWGS7C[;!S[.J&(0/?LDNR\G7X2"\.?UQHYG0JW\T#Y,U57FKNBQO_Y^S854G M6"=+(ED2:??;LB1$9T'&%I M%'NC,W=7GM7YA&].8P>3K+_6P385D[W.F&+%F-8#";CG@@D4I)Q56EMOL''4 M!UE"-X_&QV(?.J[Q/4V"6Y-J4 2IUFJV>^=JQ2;#XC#Y<"UYVF!I@6(:*,2I MUEH8R6,JI;$>>7S#(>MM^; UD1CX4+)#;]C]ZDR\IJ'[TF>4?Y^[@/98*;WU M$%G-=!RNF(YYS;&P4 AM*5!"::\8@M8B": &X#K3O1_WRR+PG"V:?]^/%PO< M>')/XO+N4A;2GN!M5BAXU/&M3I[0.B1)^(J9#Z^8SV+#K$38,:>IE$YC9;$G ME@8.Q-3(MIBO-0%(>DBR@V2^P[$AZS.\6=)4K_/M>@$+KP2@G'GL 47 *,(9 M%$@*RZVBW%[GVWI)/TS&,5#5<*K['A76FWJ)/DQ0;G-4FO28:+5"6N>4UF0\ M'B9+KM5"$-0+QX!'Q'MJ(%9&>>&Y4) P(QQ]"DL^3'QNPY*P[>H%G6/)?4LZ M-'7'WBJV[%W+*:BJ8EK5@@YW&X<1N"=8"L3L MHX)_&%PGP8KKE/9":>2QP9):"K3WA")C$=26:[SA/7HHU[46@*&DQV";&0BO MA^L.Q^QL(C#]65D&DIH[F0Y17[V'?]&J3QBA018Y+ !1F&("!+:22VJX@X1( ML@7_UFM^O/#LJ7K-=RH^>Y#29'@FPS,Q\GH+9"2\42JHNDXJ2I24BB$.$1:< M&,#(1@[@HQFYS9Q I,+:;]MU*4C^#+_T8(7^!7S*L-+7I4.H2!PK;8446IE M[.#!G29"4 BE4=M[B3XVJ_HLV1"(]Q ]S!RF9+?N!0N*%0OBV#D' BF("WHO M9!H#I3"$C'&$B=[H /$8%MQ!]@/H4=AF^L/K8<'#,6(#896S8I 535I-DR4Q MJ2W;M5R)I U?9V\( %G9M1YBHZ53V!$JD=",>B2LHQAA;,'&\>M;U.'Y7OQY MM>[/(FHA[$G8IJC= ]4X&;F'RM9HQ=:,:D$YA9S$M@"QG;VT2AC!N+.>JVW= M55NQ]0[$-^Y1V6:-A3U@ZWU+=_SP\+)*3^7Y'53Z[43WH/MP@:SJIP6Q'FQI M"20/@IXSJ84-RCQ&2@!-$+FI?EJLB_MQOC/ZQQ]5/ JT\GXM-^=9Y#V&/>NU@Q+]^PH#]Z 6Z$ MMYP$&QXK#0UA&K -3 "6(ZD-9RWB@+M M'0T$/21WUSI\<^,ZW$2L<_49GSSA^NW=%=F'XZ]%];HJLC^ A+IT6.(@;,1$ M&NU58(3=-314>&(4%'4%UF!B!*$U_5'["HM_SH:7L?[KP7KZ(42KVNG(8..5 M4!A#1$D,MPEC)/<8.J8AW[ -/N8_ZN*Y)Q,5Z]J6Q.I&@_<8GUW M7(\1B#83LE^/2R!I]?O!@V3%@]IJ*C"A$E!$-<0:2V:X==9#Z!77K?)@>X4< M:0^)-OUUKX<'6];&.RQ'F_/)]?'D.L:6LD9OXV?&5VG?'%L)J5%!EE+NO?", M*0D]YE0A[#8L[04_^TD9.#DLQ:#RP?2IG?'O%^9/BTZW.\M@89Q":\EL2BP= M6%JL6!I(C:WB2,$HJZV04A/"@Z;L*.>$X?99NCTYW4.M'JC: Y;>.W-W06.- MRZP*5!'MWFCJ!JNW\:#MN35>83INOK+/A1.3R;L7O 46HE'QR4V MT#C)H:=,64F@8LQH3#F0P9+= 4^U)A]%JVG;^Q(AZK"PJR-$E_EP$'M]MI:MN.ITD!1!IK0RV$D9U%WC M!;Q5Q5UZH?1\)XKJ0S$]/HO;-/]DL%-?<$_ 9ZE#^7KTVV2R[BL_W\/.:TXH M9YG5 @K,J:"4( D$Q\^/%\2Y5W'VIL]-A:?QQ5O;/\W@2 M(\C;E:GY5!_Q*V;"-;>1E\ # @C#2E"HC+:(:1+/8BC"P]?O94+U-1^.X@DJ M/RFCHORYZ,_*9&8F,W./V.D>'16#5:34 P$U0I8Y 6A@-,5C&0[HO%7!^O0; MY_B?QD_M]8GN$=SF6?[7HXD>CE4:J:DYC1BH8$Y3[8K$/518,1)K-3H,IMI" MAP6AVF !#6=<4$T0]]!N5(>\[D-2X\'OS:E=0]]359 ME@?*J&N.(NT<5TQKR:VD%A,-*/"& B YX)LU))LCU';JZX#>K35)K3=X]2] M/3HX/SEXX\& =$KH<2KVFM\(HJ!**Q]4:BJI=U93K3'2WKM@RFJT[6'!701& MMZK#0WN"/N=YH4?IXNFP8*?E]Z'"P)KGBF.&+7'" \JH T1(CBQ61AHDF9<; M0OY),-!^,0&$>@RE,\,O;:^W!!1/GFS]]NYSAF?#<3[N#],YPS:@MCNDD\X9 M=HDT]B_Z=27QLKBX'$U^%$6XQ:3_C^QRE(\/-PY&R*J-(B>.8T2 -=Y0:XR" MPC&-&'+&$24V_?;K+H.XEO%DTTY==Z0G!4Q1K]<%LGO,/&SE&!=(>@DUHD$G MITI2;3S7# $$F?!&;%3KVYIY6G.G\9;;G77?:?;JPU5-<]ILFG_/O@VGY^=! M*8ZZ[V43,(WG_";]83XM!O7'61FLN'+8C^\;V38WZP[14WZ/%4V$6&M<*!TA MAB(#$)7&"NN-%@2&_PC"\-9X]:=B%-?^9'*2?__;:GNBC_P\+PN=!^/:3"YB M"=0\#F&7DI'W$$_YE&QE%YX*9C%CC",-JIM MMLC;K0ENW*//TS#\]?#VWIFHM0H8!/CE(E'S8)5JBE86:5"CO40*,@P5=51I MCHW"Q%-*"(?ZUKHW@4T_+9?R^"PPZL5D7"]Q2LA,INE^<-%]0I"L*;@(* &= M8<9J:KQ10/+ 2VT.00^TFO:QAV+M6777Y\@3N2FPL^, <:MK M^!HBQY2M)&O0@!$42F@,HZ^7"4<]HMIB:0B5V&X9.?:+;7ON!)(>DJU6P'DJ MK;SRB'*G\*:KVD "E.N (E: XJ""T!-A&0>4.B&-8@P J'E0UN%FMYHG 4K[ MJ2B$]FBK=?(.'5'V+;/5G9T5_;I<0?&]W]3;*_-ID36OJRPP1U/'8#QH7L2Z M/E\#";[,*806 FJCKD&S'<=G;KX9 MG\)>'(_KX\_C0?S'K9;_>?I=@3;S6?<$!)(OX0"X&*^XV$#)I?,$6LNIBH=. MN+;6"P09\\ZAEKFX?36 MMK%8D^X^*"\$H-YF[7HE-B50-_'H!NC<*V@ F1. M$TN,8-03+0ER3@E%@T&@!=@X)'HSPW\,HYD,KK>_>Q9A3F4OS"N%W)*+('$V M9!RN'?^V%@=#V6IMJ;=.0@ ]%88HH17V&T6SG\C9.SAR(GH4ID*[>VVJF]O$ M=B_+I]EI\64X'L=(0VPZ4U/B'D<)[V%MB581 <\,Q@0@92FUD&IH@8!6<\@A MTE!MQ]IJ:O*R_!%F^]=\-+O.T^]KGB9MG W'H(=YFXR< NX=D)^OEY4X7).2 M));PHT X)"CU4"(@J1;*2NL=51OQ]L>R$F^'E8),9)CN RL=C*5ZMX@KP@?W M"+<'Q"[PY?=L,)F=CHJGG:V^;1 D4 M[U$K?YW& FC+Z_7?M>&,AN/BS7E3O (B\-,5LJX/'JP-N!_VMRC;&/+)>9'E M_?[D(OPPDDHVGDQCAH_S].MY.9],7O-N!84G5@$A)$:4<2HD#W8:4H@ASYT7\3?Y ME578\=1NH+^[GK@3@KJ)!^XC@^<86?WV:G&8X:=C?7R2F>-/'X\_J9/WQQ]> M=.UN&.&'XQ/W.3LY#F/\\/GXS^^M.G$V\^\_J _FO?IS]ODD7/C=?3CYW+61 M_SP;Y[/!,$#$+S>@P9R!G%262($(A812;J7B'EBAG4=*C8%#7A_VJHWK^)^&WGXM148O+-R F4GN/ M44 1*IK&+$I0[!RG+HBO-ZLT"<*TP8XA"HRB@$K!A0! *4,AEXBJ1M0/Q[-B MH*8/?@X\RHH@^"\C/I=!;_B_-KPMAY>UTA)DP*)EQ$+@SU?C&M.'S^:#R)?: MSH,'LOVNLX6 '(Z#IC_]#;="!1$C)D$-RI3#"(U%:)/9\/1H,K*^-TJ?#$Z5BXN)]^*,KLL)I=!G9E.@F*374S* MXFT6!?'\/N$N7XO1Y'+^VT!HTZ)_/@Z*SI>FNWU^>3F*A:>'TWB+RW(RF/6+ M>57J\A_Q:$2@L;@K\X=?N7M]U(R_"SV]$?S M]\YME[ZOCP:65MDF_KKOPVG01OIW\1(]<)%ROD8 ",\N][Y[36=YY /&_;3O=91 M,*KZH]D@H/_YI*H[N,YE3$32B)/5[+0:#H8!CXL(HM$(R8K1\"+<:R&"\X"J MT38KYP_.3O-1>-"\-<&TS,=58X0'Z)_?_3R/,%\$0RZ,:WI]U$MM;:OQQR]% MAT#L.UL7CLE7W!Q$2?C%990$C2P9!:D2/B\NI\U)O?CL/\;ULS['F]8;K&J& MRH-L_4^E/A[]\C9[/\[B]C6-_OI%&23,.-X\B)P?11[DSD5\8A7F];7(3HMB M'*10?Y1754"8.,/)8I#Q96VVSLHR%KVI?WVY1E !K3M%4N^;-9I<#L?S[;[( MQ\$JC:O?J[<^'_Q]-N\VD8V+L.U51-CY/%=;65/(\&*++5TMXD4^J/62^L/L M+!^68?NF*^WA3]7:'2XG32?&N%O-H\*RSD;3QG\P#E2W&%U4+<(RA2V>#K_6 M1+_XYMEBYIK,L-QXXZJY4##37/2"G#A MXYY#\.8O674^F8V"'E:$A^6#.=W^?39NW&\UX5Z=V?8\$-FL\93$CJ9%6+#U M<40N5N,@J4;9IR+HC=-XNF,QKO]937EMML4X_G9!B ^F&1O6^>*T*!OW-)*] M++KW'GV[7AC;:%$5*@YU5;"_GOHBWSJNW<4P\%RDTS#%XK2<15*$I!Z W/0$ MO3A8+W3L26V,S>=3UKM49=&R^9+E&45O* [*:_&/ZYM4Y_TT#/HYFG6#_$?6 M'P4@KVI=_.H^X& R1JE?QI^-?O36R6VIAL\?\,^P<(&'JB;X>NT)M?%P%EB_ M6G]8_$I O&D6OS)WS@46*(,9$&9^7I\UROOGBUO?H'&O:UN/4FW^B.?Z734- MYL.TN-&L)1J%>0*G$/34>ZNQXAH'U00#$)1.O*["&(4\ I@I[*C50G'E+">NNM6M4[>D3XO\G\4 M6;&8>6.Y5L$NK3T)^SP9R8SB8.WKJIT^BB%C_=M#P E?6 M^EAC70EG=9,?]2F&+ EVIN)P4%+AIF M[];UNRB\ZN* ;TYC#:NLOU;$ZN:%FG\Q#J>JYL]KQGSEIL-EK<+E!M^KG7]C-L=-BSOQ=UB<2Y9M)?E1B/3XR$,)E5\UT_"[@V*>>TOLX>IT&C M#Z36:$HQ?7DRKLEG%AB\T0[ZP[(_NPCLU\Q7]:=1GUBH31,I/"LALUK)HOR*J!JM:;45LL09VV"3Z-N^"5PPUICORR* MI[- [).KZ+.T.AL!>)'_?1*[7JV$Z=7G;#X\2M+);%I;*=%0&A1!6XOF?ASK M"HKF?0<#5LS*)=RMCR^?UH*BEP7CNZJ-IV$8X;"<&XZUT1AQ:Q*E45647^L' M!)NZOSR&'G!F&I3]8*NO61.B4>;KQW?'0FD =JX@U"A=SV[ERH[J[]/6.HQI M?H>+(OQLL+;:05F(_!IDUZ.GT&2%_/MM:2$8"E $^%LEV&L#J5<"0DRH9DX( M+C!EPGB. 60;6<&N'OK*=(Z)JS>O!V7-TF2G"[NG7 M\G:S1$865FFT[M=[Y'(^C3RWV0P*5BG:6CL)B6 *>%1[T9G3%A&I8OMUZ#?@-AV,R!]NWE"\9;-V(S./'R!6Q F*/)]P+[+^(.OQ>C'V\V1/3;T M,@N(^,]9X&SWM>XE?)2?7W?*28RL%MQ8[ M1 &P'B 7ONH\1X0&+KY3/-[[G UUYGB<'0>-,^!L!GD#VU>\#C%T=SF)ZGA MQ\FX6 FI^T1D;ZYZ1L@+AF">?8D.V6BB70:5^'NM: 8\O2V(<__N;S'97?$U M7#O%A"50V '(A610 2 LA$H#'5@\QH>NT\U_AE7X<["8CL>QK^7Q61D/XL7SH'55Y2TL$6,T#YBM M"2*<0N^T$HXJ*C6 -*#,%4N$8TX4X))X08U!@D0>ULP+IP)]DCM9]][GM&B) M/)\W*Q8XF/<4"&N>U8O^1(_66@;F%8L$M./ABB'$_H):@\V?57',,>UGWL),\V]Y.:@MJH4.'Z>Y=)], MR]I0^M&,;*[ /R34MZ-:\E^ZDR\JGI\N^?#;B/F5Z9F^RGY>"Y_IQ M_!LS;5M(G4%/2YW!6^G_V\C,IXA<= ^W[$+^G-2:4?1;U^ Y][C4R0>-NVB! MT7/__&E0KZ(_.PBM:,\.YI)E' 3OAA#[N0YY3V95^&;0SXOO,X;7[7SD1!:YI/?']^@#&45$>74WP \V)L&;5 M^\5H-/_T/XZ"?1[?AXGU%^]O6)>3X460?1^*;]FGR46^<7XLF$M?AN-F>/EL M.EE<:(ZCU5>^#0?3\_#ML#CSHRG]0 SY957\MGBQH04<+8\@+X^]0W9T^PGE MYAF$__1N\:7KG\$[/@*/^]DK>%C[=WSRPSI:*44\%-S$]A4;^ NTX;YUWAL" M_%$SOT%\GYR719']'M,NJLS%7)X#+]1Q&-O^(>:SW[/K!\CS][9%WL'F;Z[$ MX\Z"[HQ6;HFJO1A.=+1Y=**C;>DHNQY$/5!1DZ@DH4VBHY=$FX,IF_5AZ89) M%6!2!9@'AZ'OC$)SLI8)3SC2FBN-'*64&:D@)A!0'YOPV^(WR__>AGV@-_6!/(IG0+Z%?0K^$?FVB'U\U6U;44B4\9DQK"K062EG! MA466,.+]1@;B%KI?.WV5&>TAFM OH5]"OX1^K:*?7*$?#WH>5=1QXR153@C# MF"#.S8M=RYA]V?:. M-]!/)WA;0+Q*J&<4!@DBF"*4.H>$Q (8PAUQ$!FSX=7ZVWSM5;/T'V;1#WU\ M5F>=5\>KE:]W:ANO5[-ICV)_)'J0[J"_\T/W[J5UF#U050Z>)?'JN!-"SC%F MA.8"4N:I)!J[\"_5QB-N-D[1'49?6 M[O\C:TY&/K43\3W93J^R4_'='"_7.)Y:$WA;:D>(XU!1Z#;3BEJ5Z:WI\QQO5OU)C)X8_= 9GIT1+D;O,Q6O!RX@&"G',&:40Z@ M1MHB+ZUA4@JKM^/EX[/;N'GW46-&VY37G16[AR1=7R]CB56BE0$FQGJ1ALA2 M HW6(#:MU;JP<^$-=OD?[]$!/Y1)QS: M.<#0U601".@JIY);3; %R")'*+%6 $>0YH('H]5SLF&R7J]BOG4Z\ZP:+'ZS M#DAHB4?@[J#16]1J>+BCY)HA M! HBNMG&9DNLNNG(_=.P"B:L2EB5L.K0L$JNM5+2$$IMH0<$T^BJQ!P(3@PU MG$)!\1/TJHTCHD_!*O06MYJ+TU%R35B5L"IAU1I6P;6T0B,]AY(JH86G3@.% M37B-L!626.G<$_2JEK$*M9IET%%R/;0<@Q?R6'42=EZ-IQOB-?P0@=D]9A 9 M2)7GTB$IA=/( 1ETGWL[XB^^LVI*TD\3O+?/[6LJB)THBPC42 MRE#!L+)&. $@UTJ$']SKA[F=WW?@B6GS-&'B]\3OA\+O;)5]!0A21&!)C=)4 M4RBA9,AQIC%7'E+Q)/G>90LA\7OB]T/A]_5L2R4H($091B@EEFC"7>!^#;!' M6N&-HAX/DN\M\SO]NKWKOS_%C M%L[=5#0@*XMY=]) ?5E^>5E.O@>ZF!:C'\O6R;MA%KE*\PID;;V@R"MMPRP# M?U"N+3=>"8NQW4CS4F&TBY;4GXO^+ QB6%3N>VQ970Q\.;F(/:]GTWI[CL^N M\Y:JVZ0^\B0 7;(5NY.MP-M-*SD+RS8*+ZYQUX/7M^X4N]/="8NQ"ADS :C3 M2'ICO Q$:#$!0#ANE<,@(' M6L, PKD*UC+R@%(DF30<8$$%9 Q IIX3,.[-%MV>)#>+S3X728YC6\L7I\A- M0?UP0FI!-N-(ZM^*LH@-MFL"RB_NNMOWL%Q4 M[?DVF8T&V7G^M+QN/T=*L^]SX%'61'XZ#(J ME>6L.+I;BUNW&9:-R>=:'10W:G4/I+7F;?SZ;\-IT'#[S96KS=0^%;%/6T!& M-9A<1D)9[4?V.2:A;]9M>O"LUK3K7?2S?S_._GL6T"$R:J_F 3\^ M ;S7O#N* %V,JX;UWH3?1_Q:O_A;]OXB"*.O#8%GTTFXU7A9**O&\392=AJH&=QH/F?L/Q? Z?_VA>A(%F\S$V M%XKOEQ$=XQ)5_/:PRL((LXA #?#$PF'Q]_DX0,LH M0PWNBT M^#(?QXG&L=;S4EA;<#+T6 P'\VW\V'_/.#M M(*S,M('1/(MJ1QD)<1AN&RNCC>O5GS_E3U4$G/K4>QX?=K:DV_#$Z9Q,XBS+ M8E1_83"L^J-)-0N2\NWS,"5\/%/ZXK26/N#QLSIB!XQ8D%(E@3J'L#4!S M)OIS$>BMJHE[02AA_M7LM"K^.6N0:O[[-;HJPV?#0$^CHJHB-0;J+(O^Y,LX M#*A^;AZNSY=R-,Q/AZ-:NYKO1I" I_DH+'PD^:*8+G6.VC73_&IR&I:K9N*P M9651;\;ICZ"05-/PU#CD^FL+\7%U!('M @2L/V\>#%_;Y>B7JQ]:WRT+5',Q M1YE(E4L"# K;9#'=:IT<@CY7A0UM6/-+S5*;Q)3- FM&-FR4O%I%: @RK_7' ML$G#BYKCPERB)"ZG>6"P'[56EE?G6?0T9RUXJ7AH%[IL YAA<9YS8K3 M,A]7PWHV%T5@_,BT^32+#H-ZE_OA^[44#_>):DW-^6'XM5I9?%LN[MOLC\ # M91.3: MUS>JI&I+/1/]5P?HCKTF##S>O6V/)RW6HK^>#?*/HHEN9&^55X4/4;XQ_Q\K=U*W!M<1X' MN.4(PB#7[>'XS1/,D(!'E=\JB\PTK/B[27&#N*;C;*6W+_?Z?P)L1I%7WQ^H M+$J5M*CT$L&O 38%WGV).W$SG54[DP;%838L,*T0>O$-@:SGTUGTAQ8_5VK. M3:%A?PSSR *'!NHD*^8 M5_2R+@T7-^6^%(,:K;^BI)-ZY!^?8>25TBQYH>A\12W]4P6G;U%)5XNO@7@? M)2""AO?NTR3,[.OH2Q#J09O^:U NOP?^+HCH--P]"U]^FA1X-?[P]T 99]/+ M^?? =95BW.2SI)A0>+K5CX?\75##0\+GXK(?DBR/Y;,&?TD=3L]Y(7!_(?9@'-IC=1OYY^B6*Y M5'WC[".TYM7LD_=Q@6X98UX-LE+NT_K^9.W^0(%16?EI2WDON/Q.Y?UR%%U( MR8^@7>>#AS7S]OI2SM\CJR@\E MRY4=3K-2'$3%\F*^)5:2@E'NMD"B>O*@&/SX4I3L%*#@ "@^#9KW?Z7CH)[_ M%F3)HN3%GQ.[$FF)GP6"_SZ=_?&__B^!(/K%7$7VR9<2KG'EYTUNOOWIFU9Z MT!V&H\O1FNZ^C@P-B7<9'_FM>.1UXY%=8LPMSIM&B&P2]72#Z8*ME8?!?@M& M1%B%8$/%'\*27-RQ(A\3M\[U386[7(MUZRBP;S12XMPW\*+0ZGZ$AU\'VV(8 M1U;MQKI:L[@IWI(O"O6IT%&JU2VUM6'8H1_%FC0>7*C/@0OBY[!^:\\+@GJ\ MYFI=6@7K:+%BZR]9@*RH@A>&R(IT6N'JC6/I-:_M'0?1R_/L31AH<'G43K+9 M+P^X/%O@>@@V)E#\>S5;/N0F_9I]^!(,]#\^%!3[FY.TO.3\,83\Y. M?_UDU;FSB?]THD[,)_5KOOC-G9R?!37L_<7'EB*O=(&L$YQG9\&$^G?ZRB.M*+JZ3T-H=A MEZI-^'M%SE4HKI4>5OT6'IL%?3=B8G3.Q?F/5_.OG%C)_,=-Z5JH M87%4+\C'TM]XG?ZH'!Q+]T84(:-"<5QSHH0_*K2/41WUQ #NZ+GR_\;^#8@V:GI:U\\U" M5:NX.G!+P>2%A58:8*QUZI-&7#+8WB[Y/H!4^FD5V^CP)Y M5/Z6;#A8>U:U6959.%LZ&*H1+;5I 72O01ZWQ 06_Z2%W,JU$0XC"0!7@BH#M2=*.>]"M'K(%8"(B"/)=.$1QK:$,BM#%(FL9)OX= (F>?- 7+ M31!Y04,)J#0,%T>L&A4&E3P-3A(N!,GHZSC7.0/!N/\^4%T=X.&#CXG!].<;&V7DQS(HI M @A_S2;9+"@=A0P(VM2X/(Z8C?(_XJ.B_I'35 M0<,D'PV+TY=U=*YTKN7Q:19ERBAJ8A>%%Z0Z"X@:QVT##HN?_AE/VZ;C<:FY M%1O4F$,M2-:.%-V&:"FB^I!MPVK4L"R\C0O+7ST88/&Q8EJ M<0Y>>'E6Y_OE2$N'_6T<'36TL*1A*H6)$!6^XEBY>G_!W.&.)<\OO?<-K!@T M<"0,J0E,69SWDF/N *>/B8^'!QM3+=3^:J_2F_(L]4?R_MUJXZH+W_TT"-9! MV-N(F'5H?7FHWCC1*)YW'0RAT;('Z5QLB&& TQ*F(;(IH5 MKK96WE7//ZQQ5@/R\A"G$7A:TVN]0LG[ ,(K M?=3MN:?%RC<$6%C7&)!J4;]G\6,81S M7IXIQ^&%+\;+SX4;MGK0VLN#/5=H]'&KP]V+^9I>?SO3Q*"L! MKL<5Y*4S8:5S%*#^$$&N0+*P,"HC-WZ,[%3#VJWW5ERQ163% 6])A^7@"AR] M@WQ7CJRTG$YDN=*H'D>HB?A?^@3B@]^_.SO[_5UUY!K^7%?8ZO"(+UD^KUU= MA9BN\'#M>867X(ZY55'>7\)L"OS^4<:1!VL\1AE^78P+SU$Q[L9P"["H==RU M55A!7/Y(27F[E+SGZ1OD,8HBH<+2,CAR]YV%]\43\3"%Y/\LAE\+C^C+Y[%33TT5FKND MNRIT.O#<+ MZ>,6OI:GS83[]L#)?"L=-1D?KTZ+"C,LV,;1E"6!R\E*H>;YJ5?K>G%V+(LHU4= MD[LW7"R%T*ODSBK2MO3.%.M32KUFQ/C'Y+\C%Y3'8F$(86662O52?@7.3?^( M_IG*G56_+J@;V;=(.IU"ITMD?\63@VRIE83XKCI6J,-KL(BWB5E>FU)?%CZ7+ MILHM"?^=QX"TL(.GWPI<6\XY;O;L6Z$8%FK1K3-9TXWRVHJO1E\N>)5?V%RN MJ M6R:&5TVM8$,IP=!E==JN\NLWWK5X5%9>2Q L"K2BJT!E6ND9:+V5!:#1VH6,0J!M+Z4EQ:JA-)WD"=2)2SP)K+D)DPYG+G"SHH"79U]#.] M".12>&*ZI(!LV\@K,KHLH_X*Y]@2GEXR]#(W^-_N2@ZF1-",-"IK.[><;E8D#HRC62W/G M>[KI0FRAXH@=Y>G7K[/L:U5(I\+*\V@)W1M\)!@%$GA-O;%46ZPD T9J0 AF M01'PC> C2XAF6&)M):80:0T"V7IHJ&3260Z>52?DU;U2ZRL7I7NU=F_"B7HY MC1&[A0PLC-Z5QZII1J=?8H#!L)YH]&15PO3+C^1K-OTZ2V^N"G=)^#W>\KX, MPUU$S2'_Z><7K44S+E&LK\V=$-]XQ5HY3;#A]8N?FV.8Q$F/UUX)05FGLER@ MBVP\KGXMZC/&SV%N%\O/MVS ^2CZ($ZR[\GG:6#US=%>I[.OHTDYO'@NN?RB M+%5:?/-]-)Q?A:O#^E3M&>))>7J39S\O_]BBF'>K=@FKUK/!A+Z[FT+Y#B+_ M_9?E19N_P7M^ L^[K7_9 M;;]B_]2R,CN23?MG[R#QA)7I2:B;)+19J_,XY4Q/)=T&FIY*'M%\[G7AXM$* MRE[[ANZ@4<'?)T6PSEE,N\SWQ!&/Z BLT\41QP9DV!$O!GICE698U#RNB8L9:G@W/TS_O;';PSWPV_^?9 M,C/XKPT?G/ISE/^SB,&:_?CGW\_N.9C#JX,Y?'\G,<@'$K79;*2CY-YW2NZA MKH>Z)=1Q6(<# :P%U1'=K*9&&ZPX4Z6D.=MLAZX3 WTE+(D7 **T2!(P@C;>#.M+I]0QVA X;$\4+= MJQXN[F">[C>G'O#EHGT&#.R5@5G=@%-ICPF/0=Z2T-B.FE +/>;$&6*(V^JG MMT%%MH-#5 M2BX=A81 JSCGVXV/]VC![X05$84#2-MT6O:\V//B"W@1U;S(I:16>P@$A)0! M+(V0'$*NC78$2_"*)N9N>!'B 24'(1>/)N"C:)SU0F9M=0VZP<6DYF+/',>, M68=\8&=%E/)0(B8MT YZQ%_1SHRYR_]4XW&QB9^+]*.\/267#[A ^_ ;=5;B M'K(7_)BYFS7BF+P,FK%2"E-'C00:(>@L!9ABRI#:G8Q^9>YF>$ 8[KF[Y^Z# MXVY1A^YXC0A@CCD8?L&,:@L1ALAQHS'&?D?<_2AK>*?<#;D<,+B7\^V>O7OV MWB=[2U"SMQ J*.&.4,L,Y4H(Y#!D@ENH"5=P1ZKYHPSLW;(W$0/>JM.K>^S] MS&-;T5E+^WS:J)7XG"U:2\#!-W\FP^DBUF5X20;.&XQ0>>PRO.E(%8E$73Q& M0&-CL1A-#?7,2HLL)@ 8@3TQ@N[2 =&&5U#( 9:M9E \1 +=#$0Y O]^#V ] M@%4 1NI('>H<8YH+9PRGSB@%@<&4(P,#TA"@=NEC:0/ &!E03'H ZP&L![#C M ;!&+5FK%9?&"08TH-PYI;@3D@K#"*$>[2[9]1^M !@7?(!PJT4(F%=)1JJSR'0!$6;K;(>_+2JKI-&-BHOKK'*KO+=4UT M.H[5DC%N2/';W*WM'3M?9N==.R-HON]D5V MGUED5[R[VW=?OH+AYQ6'9?NL1/NXE_4U*X^S2%A?+>Z8"6'9S:@O%A?N4,L. MG+4 'R23;-ZGW;<>J_*F+5$(>&V*>HFTU40X!3R%G&O(!(.0.HFD16(K)&M) M9)]7-':2S4W9C?+)/=4>'6#!Y("RO00_=]/0[!1T=GX?LXUEQ* M"&'M[(-!:Z#20 F.+ !@6VJ#9U5 Y MSA\# Z&ZQ[3WSB#DN;4N-D2%2ALHPQ^6:>ZPV@HC?"H#M2/0Z(#3-L59EXYJ M.NVO7[94'DV^34?QE*%VKG])\RSVI0_DM73 +])Q\B5VIYU\#?MZE0T7XRP? M%-[[=-LKD*2SLO=LT""&R?>K;%+TG2U8(?:"#$_-1T&Y6&]=OYB$[Y?-[3\F MMTG&V![R.IV%R25E:\FBL^0LNTE_Q*C\Y1C"2\OC@]648F_)X;>R^>3EJFMT M?C6Z*>[[F,0EN;A*)U^S9%2.=GJ33>)TBQ.*\32/?W]9'LF$AS3Z4O^O_TL$ MQ?&7O#[)2.-!V#VG&\UYY(OQO#KO*+KSCJ[CJX:CR\LLZ))AQ%^R^?>L6L/- M-S;;:L:WQ6N6TZXO*I?G8V(WFP!7O7^+?J;M-0\]K%:FZRW(&RV5=]K;&D): MMQHWG EGE<+.0(JIU9S&OM;(:00=$UNUS^[%\NJP__-J(L^)!G]LHVNXPS[7 M+R.31VY";2 20(VU' 2K$5-(A9)60&TH,$X:0K?J@K]X$QZ,:'WL)J"/VSIJ M6YLPB AV$P_SOV7C'X,E,FZAWH\E> 9L7+54+61,N&Z2!ZQ;WEJA!X/[6%-:("6U1=&.$PHJ 10S '#)S58L91O0=7\4TF.Y MAG[HU$$!F>0$^-QP)ASBP@PCACY'9-DS:@JYU-8#N4'WN# MKJ:^/9QF95/SM(BEB]IQ3!DM6I\O]=A:C0U?A3$6JFV:Y,$H&%T&FR=<<3F: MA!%%0 S*XN*/)(BW-O/MLH\>$Y;1AO17_I 7SY !Q MA!P5-DAURI%43CJ'D(F59I4+-G.X*7VF8==.]-CZ\33YF#PO>._7&,:9G=X4 M-MCDZZ]9,/GR>^/T@'*&*$F0PIAZ1,-'$)8+ $N-E%@WXO2,HAQS$/0CJ"AE M2@'IG3>(6(XULJ3$BT %V5#-G_P>N!GF5PY^F]J:F[Q!><^9'WS9L-'3XA') M_ET!_Y$')DX+.S>=S:(I7-K4M:U:V.WY/(+$=$DZQ3TQ7B]@P"C:L>G%TLC] M?C6ZN KF= P>CK ZNYF&>[)!DJ?+T+\(;NDL7!4_# .TCJ>%11Y><1F]$A\3 M7V!+\8HB!C P77 H%D6GC0+V!3F"U&E#&ZK.[-AB8FEMV!8NB ^3"\_+/*L M--*+-Q-%X3DH+URY&Z('L\3/,*HUG*\6,XQZ M_N,FNJG&/U8K$4^(TG%!Q>/R=1?C- PHCP)IDGT/OTUOXO?%&OTE+$!\? #\ MXMKE3V'J\\+1$E9\/IV%R8TF%5H/L[4;MH9=B(3T)H!\V-NP+G=(J#S(H[AA MU>UQH0*#E1]64J?PA=1QFO&BK @7CSL\'H>E"Z^(/J&-,:S\'=?A^\4LJW;] MEAW*&UO4\*%L+O==+ZK%U7+]%WGZ-:N\7+=,Z-9]3-) $"$$=/T2S^. ^0%-6,<%-0']+B+;\VJ#I0\2BH2J/P MA+AU<2%65+V4KL5FQQ>O/&O34K OM9/\*LOFOU3CS?Z\R2;AOZ6T7^K]D;0# M/LS28I4C",5UHN;R[I.=GA]6^#GIE?P9P:D!2M4]5)'*8> "-8<2Q%7]$ M%%2;'2+3F>S,O!Y5CDD MAZ.\<(DVUG-%C27510G4#(O^EH[&I>-TGJQ"SC HK;_D_3 ^.)#$DD0"ZX8A M%_?^%*FC?D^@XNOH,RRXJ;@MXO+FPA2Z:SHLD20^((#.\K>;:0#XY6_K&O+' M1,V[8VFO[4_8_5(SBCIM(.7(X*MM*/;E>YJ_U."ZR]XB"-",0-DPMXSR%FOK M$:,2>&F"*LD9U/>R_JXFH#?N\G$SQXWF8"KQKPQJ[ M\"'/+GX>+F;1GGKWG_)CW9AO2Z-]KL\A/OHV&VW+)EN:29NPOVV2/:#4M@#Q M\7A];<#%OU>S.AWC:_;A2T#V/SZDEV%(/Z?C[^F//%IJ5[-J-GLV,V\QU$:? M3_7I>6)./_]^^EF=?SH]>;QLW<\(3T[/W5ER?AK&>')V^NLGJ\Z=3?RG$W5B M/JE?D[/S\,5O[N3\+/F0O%]90C_=MCN;)-2"]17-IV=:NH$)31!J#Z>B4<6, M!LYQ31W%#BFF/;4<<@][(^!^N( M4F_.BP"%WTH3V,53OB,/6SM60CB)7HH'Z. HD8&_ D&\8B[F[7Z#8TS$.UUW MO@>*R%\]">_@TE=>.Z*W<%)04G>P!4)!PZ03&A,*8GE03A$!%'GOG#7B?B=% M-(%V6O9S@ Z\0G&G4.5@<^1Z'-D)CK Z& A" 9C6@BNL*!96A4^8:6FQU [X MK>Z=C\61=FH_L0'%K59^ZAR.'%H*VW^M'[S>K8P\OHO!/A77O;)A(S%>"*X) M"_^/B*6*0^4*R0X\PD8;L27.E\N\%VDNVNT@_\!^=E:D'X#D[IF.-I*\-00, M42,HQI9B(+7FT%@'J<3(2O]9*7OIHCK MVU*_'ZS>^=;U>)GG,)^NDB;2O _BZ8-X^B">/G:C#^+I":$/XND8 M0?1!/$<:Q!/UWN0F#5L94[32Z[*(5I6C.%Q6H=K(CMS*@OSYI7ASM$Z+ YYX MO_O/%"7=/4BH0_Y6AE^50[V9B;\G!:N3;KBWXDP3@-2I1)89;9'T' L*)!/> M0*4498H3I.U6M]SU<)S?J\3BW8;VT59+3G?6@__64:_G\Z[Q>2/'V#H+D6'( M. ZHPUH*2BERA$LD ?);-1R?PNL-\OG1V!"?;RF6,OT2JY*4 M%D3V9U73]G)91:=1Y*:W'7K;H=_]H[(=>@OAS6@.@C0.,PWEAAK+@:84.XDI M4C+&+A(3U(FM%EJ%5#B]_'N>%?UX3RN!\&GB*G'@I[-U[>*N.O^MFA&$M9D? MU!L1O1%Q'% @ 6YTQ8'*"V^%QXH2130F@@L# .5.2V-V#@7M6!H4#Q Z'%.C M8R$W]Q5Y76WO;^E\,7M4AW9@$!)2$"6-HU@0";6$BDGH+9<.D$;8C0*6(Z$P M1,I2;HDFE"F + 1 (.CQFPR[J59J5+;]V'"WKG7UV*R8DQ9W=*9B7A_\T\7@ M'_)@\(]X9CS.XV*&CO+4_5C#,!YA"AZ/\ZRHTS@LB][OL#6KIDE_1T>FE'T7U]Q^QA.?. M6E4/.&\US+V;4>P'E!^/ )'V)&R9#Y1UZ\)YJG%.IJLP5SUGDGN@/-&6$6U M#C;&LYC/+K+(;N??ISOC.#'@LLW4M^XSUEN7[('CX$NSX=M<@DZP8C!4:EY$ MD%#-C7>"8BHE$4A ;CAQ&$C.P)8?Z4F\&&.^=\B-"+?9<;F7?WO@QLT:WDUUE'FF-(36>2$P)L$H+XCR21B'"L7B>]EDQG9\N=J=S\@$]C+.;8Y* MN)> 6\S8J*8H(*-(,&^H\D$;I5H@"9&SL=V;5OAISO1-9AQ]VYT Y ,(^@)I M;TD %BV%BN84QRL&6.?L M1^ MEHZ 1DPL-V\:P?*P>O2[;%H M#I&@?HX="A?SLK]G%GM)'JT6 1L>+(XI4T(@SXBE##OEC*60NO ?0Z%Y&F_^ M?;)L%I@-W9\7X5)5Y./N[A0'#B3%O1;QAK2(WS=[ 5\NYHM9UNL5O5[Q*.Q" MM5XA#)%<6XBL910HK#P%6A!J*2*:PJV [L=%:+:'3@P-&&FUVF,WR?2XU(B+ MQ2QV'D]NIK-E7_#[@AG?GTSG6<(W&SP>D;;1\!8BB94)/.H15A1JI:T3U%&F M)6$,L@UD.KG8,:K1 &ND5:_&L\F@ MP_K*[I-0GI\AL,,%>.U!E1_CY3^/YN'!%[>%7?O1))UQ9[286+;:#,-@Y_\2-(X\FRX''@26"0F M#7W+$IM=%*DK"09%UHI(%GF<8JQIEHZ#P)NDQ77S63K)1P5476?SJ^GP8_+W M(B9[?C7*[[]RD*1%_^HXD'!M@*?KT;PJ?AOK(8SF>6- P[#N,2$G#J#X.RQ\ ML-SG<5/2FYNP<64%W>^CF"$S3Z*CK2JX%-\Q*P<17C*:#I/+U7[FR_W,/R;- ME2FRI^)8KJ)/X.*/]&OQQIL"O (@%5VVAZ.B\W8]\D4U];79?EV,AN%MV2#Y M?C6ZN J+,IY^KQZ]?%V8\D4ZF_T(*/H]G0V+N8<%G$]GQ_;1L8#$.SQE=+EZU@,LZ@BA1>M M+)7XN5SQ@@8K>R8^NFA-?QCY(95XPW#'K19#I/(K?, CJ,?\1CC"CP&ECP'WEB KMH41PLW0L.+? MJ]GR(3=!6'WX,LO2/SX442L_I^/OZ8\\)@Q>S:K9I 6+Y)3+P ;4<\D-A91* M"2TV6C'-.0 2Q'O2M66X;V[W9<"]1#U;5\9>_UZ7EB3C__?OI9G7\Z/7F\ MPK6?$9ZVO(P9^9 MDX_VV9#C<2_K"P <40& 54V1Y)X:_#TA'#XAK!QT2)8.NF,^A?N MNM/-D[.W7 :"4IP163O3,,-"!I-5488HMUHB081Q0?5CG''-[S1% IW\MB23 MDVQ^>ODYR[/9MVRS+'-[9U]H(/83T/MJAU>=PI:W7FBQ!Y6]@@J%=6MY!J S MP@&",:/>"J4DQI[%2N^,&+'5MOE9H"+^1MII-"_['/JW%,'G1Y-1?I4-DZ_3 MZ? .#>7QF;W[;"FV5W;$M5_+,DR-YI9I96@\L%'2:J$P,)!P2+?"6U;LN%SJ MO\:5WI.0)W1 0:L<^< 6=U;:'X!0[_F0$MF(G UB$&EIJ$.4:",5=8HQK[3D M%/&6^+ =N0@9'+ =1IIUB ^[:=IW2?WN8VG[6-K[,(XW6[AA%E1]JPTG5!$L MI/;(:RT(Y$1LY_.L,.YD,Q:G5:5"##!H,\?PT,)F>^CK!/0='[IU \ D;E0F M,QPHCZ4&BD)E@]VDE.0"6ZP(T'?[+FX'L+:T,3)@N!L =HBA_>MA=$\+K-MA MG%P5668@AB08[(((0)5%DB#*L,'2.0>XMIN197L-:F+/#6J*QLSWT7BL)L-/ MDWDZ^3H*&UO$Y.:/#'-"BGLDL'9(:FJE5YBBP,H62BF#^J&:W3BX(,I*1K51 M-&@E6B!,<:QIP@13T05R7VC/0^_9"NU9SJV(H#XM@LOK.2;E)%\:Y?.(4;TX MW&HYCWNW04O,N4"Q%0JE@C#EB$$68L8DE03@QC:$WYUE(@S3AS^%%S&X2 #$ M""'&0/^LIBB[#"\Z7PLD*D-U\L7U=3H+%Y49%!&*OXWF/Y9Q]47R0;RZ[&,? MPY&^+LDA]IXL O/#7)+K\+*K/,DFL>AT'+.+JF9%CPD+Z0\NW[+R+R#@&:&P3@1F3',##=)!IG(,M KF M@?$"0R,5Y%NU#9;R<7>*/Q0#(=OL.-]1O?Z #BC5Q?\L1F7"XA$6#"EYBK%& M??U@KV@L):_W]W-G(YE6>T*- MEL)C*FBTX5@P':$V&',=S,@M=]>2.WVYXJ9:\/-ZO?^:CB:_3O/-H\FG\VH> MGA^^NY=I\8#LIP+X-GF_9+O;XH#;*E(=FCA=5\I;"=K?C5/_\(XMW_KI9(%V M%-:URSRR3 J"$->.QM(^S@+'-'#>0<3I5J^?>_3[MHJ?\@'%;=8I>]BQW\D# MR [5[;G%?[6=(=^2?_&6(;_091MCA>;9KZ-OV99;_>%D6:6MD@9)!I"F0" M M>%#1(:)<*L!,TZ,N@X80?B1$*$>+T%[M&.14<<^!(.#EKMP=+WW#(5^5.ZDR M2+-ABRFD#\WL02_GF_:1MN0 10][0#%^E@=4[#$'5>[Q7?NJ+>0$'P[K'VN*N)G>U6OD:+C_6+=> M75PLKA?C6)7M3K5_+^.XCL7J_W6/3[LGQ0,GQ9.L!Z'CW/E>_ASMUO?RIR?% MCI#B[?+G:.(-8JG><584[,XNKB9A"E]_]#&!AQ@3*' =$TBU14;[\"\'U#HC MD.?A.R4\ YQL=SZ]YP#FK[/MN(CJ+/&?U>W_O.=V_>.W]/^;SDRL/:_^'.6K M>WX/PB'V:SQ?D>5OA0>CC:@H,8"@S;"H[L4?=@JVNI3[V -5]X&*UB>R$ 2, ML@P8#0PU!@C)!%(!L0!A&EK\!*!JZ)Q-M>^-01<98-1#5P]=/71U$KI871G' M*B:! U@C2RCV7!/&J%$4(^6$%T_1L>ZL(]%5F,(#+GJ4ZE&J1ZE.HI2H42HH M55I1R!"FD&HII*/,2$&PCEVL$6W!$A1_(UW%*<0&LK<$>Z#J@:J30"5!W<]6 M.R,1EP B)F+%!04=L<)S!(SAT#T%J!YO"789NN" M=H,O(>N'KIZZ&H-NE - M71P8A:4"4(N@71&@*8#40@-$P#%LR8LMP0[#%!T@V6J-K\ZA5$,6B4,U1IC" %USC_%I;J_TZ"> M/WO^/&3^%'58"8"8*(:$U4%:2JVDYQ)A;Z&G@@NTU0Q@[T<>;?#BO[+9=)CF M5W'C!8+HEYX5>U;L!"L&L5#S(K$..@0,%413&,Q/AR010G#G,\G8L^-!LR.J YF(4-XHQK#4A#)%E72:(".<0@@JN%6EI1/NZYY!>P8]: ;% MC8-PIYEF@&-!'37 *N.A8H) @8D,'/KJ3MI>=SWVVI!FD8>W9[-DEI5E"?.K MTU(&?:2A3;=1 ;6)\*)3GQ@G%%H#5. MBDXZB?>% 6@ 2 \!/00<( 3(.N!",8X8-VK/[X;$[A#6[@]A]07!ON* 4>BR9 1H+QICW$@/5 5?WWG1\ M.$"RU0[7/\YGAN@(>"2>(#QT.D+$2..^$()D3Z;GK3]X8! \QH M#P$]!!P>!-"ZR0N1EBOC-(JG:4Q)!71@? L,@00+\_I!U?MB=SF0J&^F]I8B MK#]G:=4'+!F.\OEL]&51$'LQA)?Z\]\P=_-:P$,;K';CN&#.482,9C0(=R^ MM\92]Y33N%VY[6UCZSX7.]=>^GS0XG&;;KK.2NIC$LAOF#-E+7>=8M"SP)?! MSJ0:2^V%@11C3KCB4#TE(V)_[O4=\BJ2@V" ]+S:\VHW>!5!VI"B2#J)A>/A M6\^T(A@XJ[56B" I7C\>>Y=\.8"HS?3HGBU[MGP)6^(&6P)H%(].:T@HL5)0 M3J#WF#C *+>R _[J72JW:$!DK]SVG-D5SJ2D3O<5&E.MA24<486LU[M"*_R.C7? *>TD0QKCBDD7A)N.=8(&V$I MPJ\?L+U#OA0#"=H\Y>V^:_>MQVZ?3"=AX- SSF M0;*6R%I":(0@#F$==&4E&>!: M'H]CV"BRHXD+HIMP3R'%W MKH7.,4@HH9O(I\5O["XE]0#1:;7@" &"U@"AI*?" Z&PT]1C)!CQ 2>@\AH;K)^2Y;$K-_IN30/6 M:F'-'B-ZC#@,C."@V82%* H@\H)0&]0'QR1C@D&/L03N*>G?^W/H[]:T@*TF MA/6HT:/&8:!&HRE*[,\D'#1. D,E59K !]4!7-$,4_YJQ\M[!8AZ''K%<\, M-Q>=/7LXG\[3\8NW#H>M&TX7@3A?U/.Y>FB\8IL8=KX4S^I%\-AE:'W6>P5 MT@@<1 I(C@A0F##*B=?>V ")V%HKC,9M=(62?\,M8!4' \9;+6CQT&:_+OT> M<7A##U4]5"VA"M<'Q%XSI0@TC&A *<*B\ XK2K"70LF=Y2.TT1N%#CAI,[JJ M!Z\>O'KPZCIXT?KDVUL$$0Y*%O(NZ%DZZ%M4 "*\(J#H.5(U@VZAB(6$@=DY2"ZWTW F&'*%,,(F?4G#EGK.V-@Q" M. []%_U4-5#50]5W8,J63<)XXA8[C$VTG"JJ99& Z$ULH9I0]!3=*HG'?FU M %Z$#;C8W?%<#UX]>/7@U3GPHK &+ZT$-U('S0HA2AA47CA(!'9<>8_(4[Q9 M=YX\MA%Z1 :(]UI6>53XEWD:1KK\OI5GE^MZLK@.MURL36X\FF0?KK("Q" " M_[[& RP0_.;LB\^C28"T^<\8A M:6(ZF,$RR/V^R29Z532FR83*?)JOR5J,5 M329I093)]S1/EI-])C?]VP/LA!H'^=P3QAT6!@LJO0W_M1A!C3%G#E&\R4[- MB9U>;G+4!CO9TK_RMW-[#T?1%4>Q^[/B/SX8\/ODY4K"S^,BV6PRW/6BX]I6 MI$AIPX#UB!-*G%? .N,MY#;L@31;"MB3%UVTM>CDXX/>]^GAO,K_*PO]F M6991&M46H(2 R22$LOVZ?-A\KBH>+9SQL$CLYOLK J MW[+QCX])MYF>-.*"*?4">T&YI]1:K*BG*.;O4P4I UM=@I_#]/]HA?X@^+CM M55T2T(L)<0]<3VBC= (EV%C%'$946Q*N4$IX@@0D))A>;7!]2ZM^&]NWMNI+ MMI\$07T 7+^NF*SI)7WJ.M^L5\,(T>3R_^>%=08/QXEHVS8NL^V$!F +(@Y"&C7C$).-1.2#F_*>?UZFFK46\?0T;3U\SB\'R:8V[ MFZ^?1(08KPT @M(M4"CTR44V'E>__K_O@M82/X=I72P_W[)OYZ/K+$].LN_) MY^EUNN5$^#X:SJ_"GV'>E3US$=8OO;=E>U7OO^>G9]YV,"][U5+#KQ4-CE\8#;[CI-R+P+W9K#$W\=3%B#<4 MG[Z7K/]E.AZ&)YAI/H_0]SG[EDT6V7$Z(H^>"DYOLED0G4'<51K''159>D(X M<$*X*TS^:&H4?BD@SSJ5>&B7.Y_JQ%A]X&"M8-8P MQ:PR5#&C#""*6HG#=P[9IU19N,5X6U'4:;#]HBWQCV!*/%"*X5-,;N]]8(DOOT\BP8^VT6#":PK[5TJ*F//6B]== 2L%$PRGLM#7?2 M>.JT$]!+!9V+=2 QYD\J&+4_T%HIFM5[6JS2VN-6CUL];G42MSAHN)\]HT8# M9V' +4&I H 8 (4BQEJR?1R],]QJ15UBI,VV)]V#G4-K.X8 D=;.9K#NH41 M\L0I[X7GDE%NM(3A7R\9IDH[)I]4%&:;#2/7G7^?=M3*@0/8:D?PSBH%!R#[ MCX$M&VU1")&*R?A_TE'BH!(* \J\-,P3*Y_2T7.G;+DS/5[*GC-[SNP*9S;: MHB#NE5<.&$<-99HIQ[57L282X,#ME#/;Z02&#X*QCN8@(FBJL"^9OL61O):5 M6'(/(33 \6!)$JP)8=0[3 @!5OL7NNT+CHQAJT>BQ';/]NP4AW=5N!XBCS=: MGU 7N$UR@WS@<66 $L8Z03PRG +SM&9DN^7QG6G$G+=:!KUG\Y[-.\'FHM'] M1&I'#-7*8@&H0EI3HQDG6&FJ-;1/*3;Z=#9O11A+>-A<>H".8'2T=JUHU(YS M7F'GJ+>.!7,7"LV18\@Y[X.IB^E3&O'>P7I^NNAJO(N$]!",XM[;=!!H411QH M*HV&U"FK/'8D5EX5WOE6W$YWLV8KJBH3!]%Y_I@\P;@W'[=84M;2TEG!@8/( M2DIH3&T%7$I*-=?&4?:T^L=WL&2XMJ,Z+.K=P+U_Z 97#9*0DGJB34:(4X@ M%;&4'39(0.O#!R>IZPR#OQ%UN.?RGLL[PN6-;K<6""NL%<)#1:4(\MLRY 5G MRB)I> LQB7=S>2N:->B=P&_*"7P>OL_2RWDVVW&ON#?,G[1A^4(O*>?*!F6; M6F4D@HAB91P(RCPX_% Z7==H=$=@P3KEB0%"@N+ < M$>&%TD00:,3..;P5]J3MIMMUE3V/QK7=K:ZL=RWF 5:-?TE.W]A#:P^M;4)K(UN50X\ H0AY%J"5<&& @]2YH&<: MA(!Z?6C=79[J *!6G;T]OO;XVN-KCZ^@D7,<(SZQ0LY!PRGQ0$JKA$$"2"M] M^&,G^/HV>^5VDP%>N6=2_!RW>#19I.4.-*:[589^-_,M_BF_7GZ^9<&K@K;O M=C[">$*[MF3%OU>SY4-NTJ_9AR^!6?[X4!P,_IR.OZ<_\O"JOUS-JMFD!"DC%>]*U9;AO;O=5]WWF;(N/Z_5]1Y]/]>EY M8DX__W[Z69U_.CUY?)N"_8SPY/3GOWZRZMS9Q'\Z42?FD_HU M.3L/7_SF3L[/D@_)^XJZL^%/MVWK/;1W;Q,&*&Y:Z%1QR^3XQ^1Y_4/4Q44 MMWG^>_HC@H::#,,WLS#O7T?IE]%X-!]EN1WE%^-I'I#^WE8A $-F(=7:84\Q MTXIQ$_Z#M$.,2NT;K4(X4)H!C)3#A@K!E02206"5I 2I0.'):OW5_,GO@9N= M1JHI-6J0;^)9)GEG2U5A&K2" M6:"-ZZ@Q%,I07T?YP.HH,\A(1F1]JDD5%,IX:[5U%$NG 0M:EX&:(.<<9K<8 M$)%6W/7->/HCRW0VR2Y'\]R4;?&"/7$RG50]\G;I%F*HS83[[D5(=PIRNN3V M[N&E\_!"87VRIVV,_':* \(H($9J#3V#VC(@!=!;]0=>!B_B;Z0-> $#"A]L M9OVFX>70$C"6&LSW=#9+)_,?1UA@H&0]W'"+4&618LQS2*E70DMML$=>"J<4 M\UNMX\_FZ628SH:_SZ;#Q<7\OZNE+)8V'9M=RW0TP+S-H,S.BNX#D-!'P$A$ MKAC),"4\1PI[ Z@,ZC(EG!! ""* >[55%>"YC-22]((#R0ZBY,W1V=_#T2R[ MF">7B_'E:#R.L4B!2/+Y'3U4CS/;M^1.5G,GP!1RYJQD5H2_XN&,D$'@46,- M9D*OQ394*VV+A?;U.L?(V7QWL@T/ .B+:QRJO7K,C"C$BA$9H$8!P'$P\JC0 M2FH$@&"8R^3">+E\K!-\ME#-1D2"I/#=NJPS4LYBH'9&%X A=@A<=#3F7$4?R4T,DPYD.+U, MILOTD22&4F?)N Z%ZG7*348E-:,BB94!6GB$5>!8I:T3U%&F)6'AXBU&7:7I M_!J7>1EP]F/7SDLVP.TF279.K^P4SW95-AX@+[(Z4H!I(ZWPSDCC*/!($$8< MLDQ!+JW2],6\^$R!^:]L-AVF^57<1($@^N6@&?%0#;P\9JTGZ609A32:5-[0 M>?IG^.&FC%<_6N55U'QH$!3$$ VXX!1+I 4R@BOA,�*7*;GZ6H"7">_KDS M"8@'@.-#T%)[6^\ V(6#.@(%$N2#R*)0&$PQ"#*,""@J$(\933#Q$W@)[E]NEK,]P'I=WA_(+DC:]+-U3'#O%GUV5> ?(?Z0N M P"]YEPX[AR U!@K@P&'$56,6>B]W(H(>Q3_M200!Q(?-O\=JN&6EAG%T;=Y MF;U8 +Y=/F.-5H@: >GB,;B%U $NN0G5Y>'0Z M]MGJG&&7S49%W[;PP"38VV4@4?=A8A +*S16U&&J'(J9]](8SJ4!*'S_8@9J MZ6QN .A!A"P?G1%7^!AW7._Y\'1) 6H6M=0+"!TD(IZE"R.8TUIZ82E0BO"M MQ)[3N.+;A2!V+>/X( #&'DL]=T_O[!1+=U5J'B$OH[H?"^0 (J,E5AQ0@H2T M!$"/B0[V(L1D^Y3]J;S<+6M53\?@L M&R4=G94:<(XQM(Y*X*155@1^!!A)[[2XMV#H@^_9*AA:SS1I3/6E94,?,XZ7 M3 .]NY^8FFC^8-716)FR!48YO\H2,[T.M_VH@MZS/!G%(FZ38IG2\?A'#)T8 M)$6]T2PIJV2&=5C,\BR&RG]9Y&$B>1ZNR&/QTFF>#9/Y-+D<+R[FY5K')T; M#7.=)&4"QL6/<.W%53KYFB7%2S^6^L!Y4>=TZ\J;@EKS9/[C)L)K'--L%-Y_ M.9M>)_-9.LE+D,X#WD^FUZ,P^#"*T>H9@>BK.,5Y>&=9374QN2AG6+^H*K1: M++2-=3MG@\0M M9M,BYN3_I.%961CK/[+)QZ2YWC$W)8QW1<6>//ON91G":C ;M0B?_+A!D]S" ML@Z3Z6*>QW(4\7AV8[/SY/MH?I6D25'#/S!B1;W?TO&BX,1G#Z/4X/[M#A6. M8$AD1A!N%/ U5#LFE;>&4F"T5TQ@";4!$"E2=]::?,OR>4,NG51C5M?Q"/J! M-B^WB;//H_R/M3XO=L4>*J_D7'WU@TU?Z$HC9/='&PG^<=LKG815'3>++KX* M23YN\VI;'@ L+'*$0F>I)6%JV N@A81 >.']\S8, MN?E-5 &^9>,?'Y,MI;.SXCZLXC0IZK46$C_\'78TR,Z+)=RL9%" FJ8<2O/E M%87X#4-HQ)04Z'4S#0]L11S50J<0=:5JD5]-9^'QV:R0_<,H!B^R0&Y?EBD) M5?;!DX78+;*K%U[/$UZ;Q/2JLHO49R>$"06]]IAX$.!/2Q.]#]8A2HA1E.Y1 M=IU,)S57M09WG'[<]EV\(5%%:E<1=$) Z0UUU%/NB*#A,PD6II=2N+V*JMWL M%64?MPLN[$@RM=HAXE97P[W.!"0$(1X;KY2FA".!-"\*LE$0F _"AC/!$H(1 M=5@@:2D55L"PXSZVUC$22^F>U!_B5BF[ ZEZF8YF)9P5HN0.LRY*TR ^RTX> M^?U-/!X[JZ)IS78-]C4O^&V]+[8GWGCC@W>_,8(D'=;$<7KJ83Y=?E <8 MQ3=EYP@I/S(@,:[_ZA9>'ZS=B&R^GL>SH;UD<4'9&[.VCZ_.X_3\N&=56]Q;)'?4?F MVR5(.Y@ UN['IY:'#HPV6QPU/.Z^H<,95AZJ^1)F-)U5G M[LMC^,V1/.W,X_%9[)@<1!)NCU(]2NT7I3AJH)3D1!#%.);44RTX]T()CX"G M!FZ7K'@$2C7/1(\>I2B%AX!11U,H8"=Z]6LM2GL*][)^0O9G;!%]5[6?[BQ" M9_/-#RB?O!(FDC55 %ES:SYYP\-U,IW?&\J9 MJWD\?RJ.GTZRAV*G'I0]VQEA;-I+(4%]@OH>-@X,-#NOP/$<%MI)CX0"A M#FOAF0(80B2T]F;G,=MVMJN*\$"U(Y8#BTU1E$F MD*-1ZT7<06B@(L(8Q_0!'1?=FO3QUW0T^76:Y_I'I;]_;J2DK[W#!*7'!R:K MKGN:E_=EJ:*/-=K)@(J^[WY?0S;X<6P'7/LVB'W-J@D32,)W0%"B%8*:*BI M$4!:$SX2K3$S$*'G2)JG*_AUX_)>V+Q0V,@!Y6U6I>ZL*M\CS5M &E:WV]. M,B0,]%HY"HF5G"BEB! D?*;X.9&G3]=I>Z1I+]*5'T2<:^_0/VZ'?A]#U@># MW"&\9$-X>6ZY\%(@C*A03GN&L26",4,\,5LMP&KX;P1D=#\R[(C$%Z9M-AOL MGENF!ZVC!"T)&XT_C:">0P,U051))1D&UC.-*6&0W&?;WP]:'8M+.R;0PH<- M6KTO^9!\R;].XZ!B'=MQS?T=F7!7)=+;%3R-SNZ6(@UBEUPL,(7 :46-840! MRC2Q'NU%6][P]_0"J!4!Q-H\S.RLT_%?E3='G%V@#A^/HO7VJ'GS/5KNM%[6Q6$//Q]6A?O*^QPW(D_?CL =9_E,, MSIB&E8_)-D7;@3N*<3^J+MLC2W8W5NC!";]RZ>RJ;#, +ZR(+=[=;9-65:_Y M/16QVR]2W?X3._(RV;EW]16#^_F]E?D=6:7O\ZM9EB6_38LV1BY(G6&_[4>P M[2=!J7AHUWO4WFOQYOT305_GO:_@?3^%]'7>.TDEKTH(=]=R[PFAAXL>+KI' M)1V%B[<6*2P_TJZSTZ^3\&O1HGTTN9A>W]9EJ:N+LD4S M+UB6,CFN7()!,LGF75^'+EDESYG?G8OU/$'2'H/L.T/]>?/=/(U]P80?<1X+ M$:R+;A*BK9,P_.0(E=)K+#01 $(,L"2,W'T@VSAY>K"$WO)H:KM^7G7:];=S MNSJO_%3P[>H,Z]XCW.E--DOGQ<1P) RCY3!CF)GA3$DJ)%[P3G169PC!QZOW$-9#V5O&\IH M#65$242I]%9@3ZVAT@KFO:"8,B&L=WM2V?[132A#H"^=UD-9#V7=A3)>I^L2 MCQ52"#H&,74<2H&4EA9QH" R>B]0)CH+99(?046R]5C;\M]G!GI6+L1FH"-N M*;3S$2&]\7,5[YJ66U5<5MZX.:WM43\0W]K"'"#=F$#Q[]6LCAC]FGWX,LO2 M/SZDEV%(/Z?C[^F// ;;7?.)O[3B3HQG]2OR=EY^.(W=W)^EGQ( MWJ]"I'^Z;78Q5G.EO580!V0.-RH@*5( .4QY^"P_H'<#0\6*8#3]-U,7%XGHQCG!>%KB<7M_,LJN K07P1ZB-<'X>@>/> M6'8)@198>8<)H1H2#;1'PC,B&0V_^48L.[32.JX%P%Y2(YT*FK4@S+N8$$6_<'WM!O+O@N .[_*JN#R&'E>8'*>S+++.,4D;$(2)$7\%"IS&T$J]^FX;T,\9\1W/^&(N6OTUE8RW)XZ6(^77Y1*N7%-VT%T_,'@^DQ M:ST*'.\S8/[87]8'7Q[._&J^I4<17'QWM,.I^90$-:8V#Y/W<%.?ZJG_L.9W M9)'U?4)%![:]8W&1?;;%D=)^-^(_.\8-'8H2?L+*]"3431+JTQ%Z*NF!IB>A M/I%A'X?A;[_H^5M7=?L0_K<4PD]E?72EN2-**V.PA-1 *#7$FC".L#1>,K-Y M '?7F=K?)[,L3.9?V7 9,'$Z:30/5[-1'I;*+F;AW]_#]].AS@*;9N?IGP\' M]7>[E%H;;3; 0(*]1-'VV0(]&/=@W"$P9D#68$R8<)I:J[6DG&@A'>/&:^^( MQBR!^,>C'LP[@88OW\ C8E8H3'3EDGDL#6:4NZD\$9@ M%'1DS['VGKV:7GQX:!PC/#R?XZ_C".)EY=_GL9177 MV?CC=/;U+P@ _)=9^/DORVO?)7]>CW\>IW$UL\F'OY_=&]O_X+ ?ET_QF!2! MEV08H*?E#ZU)7T;*77\R16\'66[E0/VE010/H4F@HE\>M9C[VI.'%G4'>F3, MPTBO Y3.DUD6A%]>5/^/"1BEN(G1KI?I:)9\2\>+;#T=HSXL2X;AM_FTNB>/ M-^4WT_#(=)[E'Q^S9QO?;&'@8Q,V(.HS-EXW8X. UE,-T#[S&H[]97T Y^', M[_$9&V\C*/WNC(PLG4W"\/*8EK&5%MCL;-.'+!_T_%XW1ZEC45^/RN'HJ?]P MYM*M1[H>P/X?^OP>'?B]X^#D=BCZW7]^SKYED\5S2JGWF]FY MS333O*AA,NLW]7 VM>?0 ]K,ASGTB-)BS'12Z'Q%@:5\69,PC^M3=K>(KI;O M5Z.+JT:-IN+G>WTN13?AZ*^9/:^,0!^TTIF@E6>OP=L,67E^?-;#T8,(L+K( MLN, $ DD9\93QKPD0"#$;/@(FR#Z7I7?YU.A[F:#,^RV;?1 M19:?3,%A YIQ$V M7$JKMCKNW*-!B=8T*$8&%/?I"#TN];AT5+B$2%WI&Q/.G#9"448-0)H'YX4H M">#KN>$,.(1?$7#?5&>83JBYE.PE [-'W1YU>]1],NJRNN4 P2R@+N&(2DH- M45IHQA42E D)L>Q1MU=S.P&X.^HMT)A,7Z%[<[1]A>[^97V%[BYH2!V;7U^A MNZ_0W5/\T18I/@EJ25^@^PB)OR_0W1?H[FGB/IKHJWJ7JDZI&J(T@E88U4##$">5"7 MF.8T8(NBD'-HD*)6.&7MTZIWMZ1! 3Z0L.]_TN-2CTM'A4NXSA@V!#OKO"$& M.>JDUIXB01@&$B&A^590[U.K=[>#5!C+ 0!';.MUZDBPKPA[>+[K?H_[/>[W MN-_C?H_[/>ZK=_?5N_L:KCN%PT.>>+_[_>[WNW^<$^]WOZ_>W2&+H"O4?@!S M/?3Y]7MY.//K]_)PYG]E7[^ZK=[\^]_<%MO9Z%H\19/59/#7,*@89EH0* M*+7@!AOAM1!<&O.:!;;*6,A#++"UJ[*&!("#KK+5HVZ/NF\7=3%=H2X@1%/+ MJ; :4>.-=L1Y"+0"WAF&28^Z?5G#'G![P.T!]R6 2VO )1I:P"#@$#)*J!=6 M$F\#[B(#K13F=>O('BC@[DK-1;Q7'(8H]?N7SW@<+NL_7;51Z"0.TQ=$_[:_R M=USC2+.CR2*M%GGKF\9DGU,=?#<2[+Y![>R-__G_I 4*Y=A3YK02D ;#6CNI M)<34* NQA<'(UN$!?TGW,M3BXWHA/ODQJ:#S)*#";'1Q=_[W.BSZ=#3[KW2\ MR.PHOQA/\\4LR\_#?7H\O?CC73'S^/$L&V<%1WY@3@5&I1!C$U:"R@#"2#&O M+66(:6(^--HW&J>,\DHC1BEU5FK#F);:$P6P-[2$SD!TV5#-G_P>^"[) L#< M1'Z<+;)W_QFGDA1S27[+TCB3JC[QVL)L[/ &Y3]GPO!E\T#O'L]N[&:]5#Y& M[<1(GU]EB9E>A]M^%+X'_DN>7(XFZ>1BE(Z3(!FS6%=H,DS&H_3+:#R:C[(\ MN2X7>9BD\^0RKOVW8NW#(J;Q[&LQF\7(XB]I/LJ3[]DL"\\)\#\. BA/WH\F MR?QJNLC#0_.??GX)GS>N7E/B.MA6H*V> 9%D[N\90.7S*MJW7R/_;;WL51,3 M[U8KGEEN[7%UO>$KU+&]<^([*U5[AW2(H#2]+$3_HPH<'Q:!W.,F>'SHZP[( M8WLA.E;X^-?L6S9.X*O%,#UA.;H:X'3$=(.2]_ V@Z^GG9YV'J"=^2.(/T^9>.8??S][O>[?\R[_S@!L.?(ZF=/TTQG M-]-9.L\*W]/7N)"3:+4E7Z:383Y(_@V! 84L.J N8F7Q]WA?6E4G3_@Z=)!W MUSD>Q )FK!&N9JA2" +MF A_(B\HXY@8:K'R1,DM?[7ZEH[&T3WGI[-X#G46 M'8V%/W+C(.Y3Z?*N#]B6CF[]8_7G_QYELW1V7$! MW#@Q:SRRX5+PL^Q_%C&O\/;G-9T/GY=>TFX&C74V2N&MHW2/2%U#)%H'%C#) MM?.> 0 -Y=A)93#VB@ELPS=PJPCS:R(2ZB B;494!1&-VPRJZE&I1Z4C026. MZRA3 ;F%5G*'+,7.""^$85))AY062'4)E7 '4>D@]:16W7W=-0/KL+>U/D?O M3Z;!,A1WF'PK7P!ZH2^Y55]!-W!%R#I=R!E&-1!$&D\I\TH2A*%B &-D4.SY M?%<89>F%[:VNUE-UGDN/G56,#M;;UL/,?3##@:@[VT#F"%(42$NI@4AS;!7P MQDLM')?W1&OO"V;>@"D%Z8#(5F.D>ZCIH>8@H ;Q_Y^]-^]M'$G2A[\*4>C& M5F-E->^CY_TM0$G4HG:[JWK*-1CL7P-:2EF.#.BMI2&0]4?6VZ@>F/+ Q/)L6U-4W77T&S'-K'FDNS MC[H',_N$T5IK/GU+BSJ)>W?2]L&;:L"F3M,5IDV?)"WT70_.O72FK4=)J_8G M>?YHK ^&@Y&IJI9N@T(VEW*@LA%D%0AJ4)2Q4F.4+36 M]_M[7:_CT/-RYVZ-G,'\Y%Z>S_PN9B]E$N/C28P'A57W\IYTJZ3EH8D.;8_8 M>4;=3D-SS-% &X_/3]8>!; U=U'=?RP%KV M0?.S K5UX'?9]G*;D&]'3[#'NGK1U_PQTXVV.MOERM6J()^A"1A_7B[!'7[\,OGQ3 MAE^^_OGEJ__MTY?/+^]=]#8C_/SE6W"M?/L"8_Q\_>7W3R/_6S!2QI\^^Y^' MG_S?E>MO\,4?P>=OU\J5\K'J7+69@5#.9HV$CM MJPWMK@[N+=>X>DW2RIY3 M6P#;R390LN>4[#GU)CVG1FPB6DYYU'+*/?N64QWJ__+V!//>;:6ZD?%ZWKO_ MOLVA) 6\.P7(%D^RQ5.73ZZU!B3.>!$N=N)R]\^KQ=,?:<(>E$68?6>%,H/= MRF5G@@X$,W2[KN9AVR-S9 _5@>4;UM@>NV-WY ],U=1B:6WG4PS"?^\D4 M_Q/\:Q7=A3$:Q2^+:[A_-<\]G66S6%+/D>U3NH#+$J1:!U*N6H/48#C0?6UD M#4W;&IC68&P%XW&@!X'EJKXU:#%(M3'SY"S;J4B$D@CUQ@CEU9U8'$TW#1\@ M:J1;EFD/7=7S1Z8W\ WXQM.&+4:H2TL/:?FIB,[72GBV[Z^A]E3#*OO^'MHN MX>S:(6B&UCCF:GF#X<@ -/$&EJJ[ON:J@34RQH[EN8:WA2NOZAQW ?;82?/, M6G?N2OH6+Q0QC#HU7QOHCJT&NNE@'W LPCC8[ MX'H]6SUJ7KY$#8D:[4"-1D>1D:\/QJZACK6A:0%VN*KN^889.+YG>IJYY6%Y M3]2X-(.E?8AQ7E&L89K0Z#&%-TF+1PYROQ@I.@P(C5H0@8.>UI'F^;9IC4:. MKXX,+QB-7%M7+OT:)^%+AC+?!= MRQY8YD ;!%K@^K[J:YJ.1WU;R>]MM!\DOTM^;RF_FUK=%$M5;=7S/->UC, * M=-?3!IIIN^/Q8#P*QDX[^;V-FO^FOZ"GJF>1\7$AT8J]*CM?LM? ;)R$']B: MKXZ-L>ZIEN5XMNN8ANH'CN^JEN<&6WU(7]"M65H$9^8KD-[%"\4)JU8V7#<8 MNJ8W'OM68#DCV_/-L:7ZXR$H(*JE;<4DWAXGVFA);&@6CG/4KIL2*"10M ,H MG#H;W;%4RS8L8^R;CJ4;ON\X !R.[QFC43 <;EDE;P\4;31!+DNA.,/BLB$1 M;\OKRLK>O.WLS:N9GE.[=730JX:!-5#-H34<>:YF>%Z@>F,5OO#L+0!]37/> M"S#-3GQ\IZ/]>2_ ^ROA5,*I@%-+J]MV62-MZ%HC9S@>FE8P=+Q!X-FJ-70# M*_!U?2CR](#PUZN,,SAC44,W1AX$VM@;#(<#I M:# :^ZIJJ+YOM E/VVCHGSC6V%$X?7&)O8OH@-Z9,BMON"!R$2152*J05'&2 M\DRM]2TW^@X<6HOOW"V2,YB?W,OSF=_%[*5,,GP\R? 5IIKLS'N&G7DUNU$! MRU(=SQJJQM@;^=9H9'K&6/5'@[&M#D:6Z8SV;YS2$E'/ M$E$;%;O\8#2R FLTUG7'\C5SX%H#=6@,\;"KZNI/I)J]*:)V(*RG];039DE( M4)6@*D&UQ:#J:&ZC7-G(&=ONR/9&+H"JYHXL7[<,;12,[*'N;)41>2=0;6-L M3ZJI9^N(Y4F^<4WA+<_T[0"0=KF7L&/6=OW( VPTO(&KH1:J>[X7F($7&.[0 M&&MC?^#;9MLP\^)-^,YDDDE,E9AZ09CJN(W$7,\.].%H-![YEF7[/ECL M_E@#.!W9MC/8\H:^-Z9>M@7?&4 E,_[7 @O%5M_3O_25,F%Q+'CG_WU0/]!G M>,:D_"R&T&0WN\P $T/Z%BW GO[,[I6OZ2),_J)LCVU7NWM3Y4 L%O\U7H?U MQ8RCA%V)]#1-5W_>7)LUQ-1L_M97K^\KFPJC;^0#,T= :>,- 'UN&/G8'IF$$ V. [>!I.S[(ZH-R(X4M("'JH4 MAM/6;\' M/N01S"7,RMOAFZ9G"5X:)>NO[>$U?)1BR##8@J;5F U<,X$IW !7IEF6WE + MCZER\]"\2+1ZG(9%2 /+5S=Y$<+8PCA^@,O08F?OZEK@G\%/&9KCJP&Q)>$O:">D3SE_R MQFN NX"S5HLE[HYX@^#.98C;&\&LX-7WZ2J>*JL)@89Q\<@PW$]*_ -3_552W-UUQ\._/' M2U= M&P>:M8%!SUW>:0SRB;K+)7[U[==L69"APUE.=WL*&&G>WL_K$:,-TP7<^%#! M593< 6+Q9-=Y. 6 *K!+Q ,J$, #&2P@PL(L2Q?*ETF1PGAH&,C+?Z U")]T M[96,^M1&;/(E;4R4H'KUF^D>\W#)]K_KL]AWE(9^G%$2U* M@:H)2 F*W0*DR0/2V 0TVUNN638$'OR0KC*E%(7U3I->B,20P+0 JY-B#G(+ M!C]M#[4J'TF4I*L<9$+^RV_[;8U=;@WG[ E,GF5KF[7[N%+C^6M8JVYL-7YN M#B!!7T.\-@1-"(57":>GA-'&:($&@$/Y\,)5D99?<&^LEYT6WM/$A\ N$Q M"$%V35 Q0CX>L0DQEZ)[Q%?N&WG&.Y;(U?E$+==NM'MP0 6R#-\H@_W5^+]OHQ;R[38AMR'Q;9=- M?*%:1Z73*YOJ_+L'K!];YS.,9!^BU70@Q.VI=4<[.P"]1O>\ ,O06[[O:O[8 MTD;NT+<]/W#5=U!Y #V[%VAN)W>\(@)]E&?#@N-V1LDJY"O^"@_KD>9'_X1$ M\;EF68YNC74G<"U+\QS/ [5>"QQ=#WS;'KEHXH8O<7 ,^?>)/&4WB$ MIO85P:>?5PNX:?*X(K'.@]=%.OD^AZ> @AC\:Q45#WADODXT0?_P((9K/NQP M%X]\R_2'5F".QZ S#88#:QA8MFL/AP&>^7.OZC1L6[=-SU0M?:2/K< 4TB' M,9D#V_9U:S R.>_"9K.I7[SZ/=H'A0$G+Y'R,P""_VI.ZS\4/K&2A\4*;>SU M!KGM,UOM&2?U3M>6<$5I1_&-\H]X^6]1 >P_V44LUW,,['QERU4VF82D*_VG1RHA]"51QNPF6Z&35'>XWV3-"?X?N7*3AMD4=9UIE,$NI5FN MA$MTLN+!#W@;$(&2U1.%7VZS<*&$JV*>9M&_T3&[6J(O?&]')Y>1/STF) W# M,YG9J'<[<&Q#';J&YUA#2QN/!X;NVH&I&F-WY-O:EIU!A%SOU9]\!KZ8 ##+ M D-]VKKHX\:^5M\V"C&D\I@<_/1Y7 E"^TD;PE+[SYH0K_<5P\\Q+1K<1[19 M;UF.(=,HW_J^VLI)N@"U8<*#P2*BP;5=5[D'74*!P; ?RRCC7(UAD76/G+BX MK_!XS_^L$J88Z@YRPUJ>X8X-W01]!SN6CYVQKYNZJP^'ZF@PU,=.T%#W-,NV0*R- F\< M6(.AZ8$MJ(^-P6 \=(:#H?^DNO?L>[;4O<;<"(779G>HWO>2X1PR&[T;:N/O M[#:,%5! P!C%\>1'4A>/%&X?8XI#$2T8I2GA?Y$01$(3&,Y1@HKD)%UE.6D M-YAAQ?)\7<:CJK&Z^22%ICSN00(CR:H/9!:,F%9$49)\4 /R_'..+S/P4[!]]#[ M,'5L62^WL@@?\$'3*%^FE/TV YR?A7=I!K;W XYW!??>SR/0@2:4E(:);!G/ M' UG,YP49A3,8"F ,6 S@6JG$8T37@7R/ZTF8*UYZ!>W)!G&+3 MP4:HLEI,[N/L*2 [EVF&*UWN*FD#W!I4_@!5$];?^=5\!^"P 6 IXWRJKTS.N@21@ MW$G].RPM)@+\7YI]5\+;$"O5K5$?DH(@#+P6:*%IV"2XY;,(+D 2"2GQCTUY MPL:+9W775Z*OZ4V*@\5EHFWN*:Q0PKC?4SZG?47[3?.N)G=7JN<:CL@8)!(G M!1B)%JZ-&3+"793&G%"XPWG"_];4CS>_T(!U]6/X2YDE>(U^.YY$'?S@22]H M>^+/FF>8=,/75)'Z"-X_8@DN6:M7X>&$M MEVD,N''M7_,TTQUI6IC%30=EB@;W 9.1!@8CV[W*.6/?8:M#T%]OJR1XA((> M,'Z^!%UM%F&2)]P 6QP"E6#>UR*\74\1C3!KAN4%?H<+D?!MXCBT:[3U(D?) M+*8D=:X^4\(\#*B 5R7LH:*P&1.@.$ESQ"_\LSE"AOX7=!#^&B7_7"4\=SYC M<<1F+]$%2X5M$X*V4X->EX>Y#^)HSL: Z=]Y5N<;W;*KFXR%WZ_"&0SIMS"^ M#Q]RU!GGF9C-"Q,9Q9Q.H45&7[\,OGQ3AE^^_OGEJ__MTY?/+\?YMQGAYR_? M@FOEVQ<8X^?K+[]_&OG?@I$R_O39_SS\Y/^N7'^#+_X(/G^[5JZ4CY7ZM1G^ MJY7[!@D=0>7KB,[V957@Z1&"@3]+=\47C"*T3'OSB_;D+JYKA)A5FS:6L?+Z M4#"&'Q- E^,/.C8 F'DJUX*I>RXSS3IE88P%]0:N.?0#WP)J'3@.T.W('^F6 M8?B:M6T )@4^=!7&7VYBH:&^.F;V4@^"9EA]_70N!!25Z'I;WPV^=8OPGRDE M0<'48G8=<[19K@$<_5C-';K3A,#GXS/J MIY:',6#R5^O?@MPCD7J;IE,N-3'6B2?1N.!4YXYQL_YT<.=%_<:!+A+09RL0!]<$+_M4"EQG$L@\00T MSDFZ?*!\!)A&%DX9T/HDXZ>BN$(+R E:)2MP:>A"U#F13VCVW!+&<>)#0?G- MQ BYS=TX!9FS)S_VIE/BT?ACDW=4)XM.][RX#56(P&_GC>^@VL(5+1A98 M_'"H=^?M)Y7/R-,'6@"; -0EQ-YX-KX1B[0:IV:RZCMB>@T/YG"@77@!\>D[ 2>KJ M9)*MT"K_@6X#5G9)<'XI915#Z@J@.R4:\;/J(L$0!LR*\C3I

Q]LM+ MF<":K&+V9?8G7[1RY\NZ* _?4"EZ.EYA>[XV]GS'#5Q+#2S?T7QKX*J&9=B^ M;C?C%7"=.53'_M )_1(*DJ9P[$!ZC5] MT*Z#R+H/"2;YR;3\E.>TGCUZM3WMV-/O94UNFM=^IK3T/>\F7 M[?.REAXK<5^+..ZS)= JTG6>:WEW@NKEC\Y[RUNYU\QW*"7?YJ" *G^D=! W MP(.XEUGY[L*V_3,>OWYFUR^0YY]MB?URY4]&*\\8E1>*$^T@E?>G MAK<]%2ZI00+'6RR/I*,6T]'CD'-YIV4Q/P],=\H.2F<8'XC2MU+A6WK8[ZWK M=[3ZI"M%WFVO/L2CNI9OF)YNH$/1L'3/P'1^=Q081C R?7L[J9_'"3=T,P>O'J#FO]3SG34IUM/-D:JL K$U5Z"50G3%0.9I5%R%RW?' 5=VA,=(L MP#5,6J?H49E/WM<50*5!"H)5&<$5%8-5'I@ M.Z!$#0QS:%NC@>D/3-75 L_Q3,<86EME'5\-5,ZQ@$J_9*!J:=QM[WG^B5EE M>3-Q_ORJ-3[-@[;7J-7HN..QKAF.K5H#9^!JKJ_INJ7:PR&8-O[K>/#O59[> MISQ?L>GN&HQ_/4H-1J-GNL?DRM8J F<@[R^ I]S&82(U,,>6[YNZ[UB:-O!' MNF.HP=AU3?@I.#Y/NHC8;N<&"- MAH[G&+JCC73#<#3=L%]IU+Y,3AVG5K#;<_&@L^0IR5-MX"F]YJG1R#;U8#P" M4\NW;-_PO($*:J!KCPPCL$H) 22S**@]O#ZV3 M?]3%>"NV?+2 /N=+LR'K/"\(3-4TAJYJ:2-GX!C#L:4. ]]S;>.U^N.?XACE M:6TQ]:AZX[,;W/Y"^:UBZ+:*T7-D9+MF9%!7-1N#,%C@V' "SQ^KJF.YGF,! M\PU?&3)^@I&/: ":KB4963*R9&37K1G9T]V!Y@<^:,R6902N/]!56PTTU1KZ M8]T='E,B'\OJ-%5/,K)D9,G(GEJ[9DUO9 V#T<@?NB/+"5S7-T>VZ@.O^[YC M.SM:.NPOD8]EZFKFFP0?N\/(YQ:0;"3/,RI,NG_:_&E:3'4OA^*ER]#I7 JO MD?0U=H>JY=D#P]$#"P%N[+NZH8T,A2< MTGJF<=3C/A*G)$Y)G&HW3CFZU*9Q^K[-XSXEV-SJ6_CCA:WB+-7'D'$P\D8C:^A8?J#;NF5: M[F@P-LV1W2B].AX-5$B MP%0.[PSW@K>_?N/?HEKLMQU%W1EU",/./!%?HB+\H638+U64VN:"OJ!BAXN4 MRMXQ+'O7GLX=AY7:?J9$SJN?U\-:NP<6(W^F$ZRMZLS4M8J7+%,U;-,W'54U M+&T Y.F,# ]D;S!6!Z:ZU1(D*/>\XN^OL.&\>^(*"/-+U0CN)9E8(#]A]9JR MMA:U5_K3LM;=T2SDYT.[A(B^7LGT+7:AKKI@!*XW,/RQYGJNY07& #N'VZH[ MUHRAZ1M;/9X/VH6M-)I#=L'J:\??A8V:\U2B'" F8R&U'.!] QX%'ZQ7OMWQ.K_> JET]G)&DX3@1NZA)E'Q$[9/JC5LG$:P2Y@@Y 9=4J% MX<[8%%NB*-@U<46=CIK$I&L_;S,>[WQ.G%8V2ID#BVPS8\6!Y4NHT1&V9VP2 M[@2;HA;[=!GMD,:48)W@EA+%12I,5JTPZ7I@@L(>J(ZO6;KON7A8RQSKHV!@ MC,:.<6PD^[^C(9G6M[NM,%D-A/WMA,63*$Q3=I#"5.I;TT=Q^AE-B7<;6QL&K L 3J)PJHC-O6_ 1N][),G>G %?P1^U2JM:L6W!:D5 M%BDE#'5+J+RK:F?K$A"?4>W:+,1/I=GM"14O:^DL?*BJ;QA#1Q^;NAI8KFUY MFJI9SMBUS($U'AEN^WRHQKX^U&MVBYFW7QEVIX>AOM"5.@S,,9ZF\W3'M<;V MR#=-9V [(]\?V>Y0LQJN5'MH#4>:J;JJ:EH.W!98]MC1S;'FZJX_#IYTI3[[ MGAVNU.D*$/M!$3/K*?_-TMLL7,YA43XEG%E+V7$-2$J=!9-"&9;](P]UP+YD MS(=,>:\VSX\)C=T4>6!WM$VB:BS[X$'\^"1Y#:R!Z^F:-; T'?X,?&T\LD:> M/O!LP[8'>H.\1F-D3=,&\E(M71N[@68-_:&AC51MH!E/D]>S[]DBK\/Z\*4D M>$C/.)7P!&K1F*G7B6*V;PQ,SQB[MNE9KN\/;-=S/Q;' M^%_JM9I<(5B@C 2MMGM]-A]!ZV/,XEA--\>/.]T:QH!0KMKFZ&AVN>6=B8M# M5,J7X)1= [DU& ;J6#5!HP\ P1U7]\Q1X'J.ZXR=P-O"*5#G,:C.%?FO4?[] M3Y;A%^$MTQ[UV/XCSXI__(&MV"L"\G]$^3^B[*;XA[\(_YTF?]"B_D.\YA]; MKQD\#%@RF8.B^IUN+2^\1N;[RNX8B)K/K'C^,=\>EFSM">60MJ[ESSJ.2:)[ M)S%)#B+E%U%*?41CX)@CT_=]:X@E>0W#\X/ &U@F$(UF68YZ(*6XDE(XI9A] M]P24@C9<"A@/0HM68-VQU./V(J@">"&W\5"VH3C\R)?]E\T V1&2=)Y5AP_5 M^?7#='[C$&'TI&-*RJ(289S:]^N96N![XZ$Z-$:68X'-.@RTD6?I8\MW!N-# M$89KS1)A=*N_GEDD*04I1>UOG]W>I)1M.7 *\_ E6'T,(;<]G>V\D#(9=-/VV4X\?<9G= 33 M9ZMO&_T[S\J'+('$KVXR%GZ_"F'G+]^":^7;%QCCY^LOOW\:^=^"D3+^ M]-G_//SD_ZY?[_.1)Z%_/YF=QFSS)'6-Y>'QFV MI3FVZX]T4[=&(]7Q54=57^R7/\6^? (-2*@_?>6/, %R1[]0E9B!GO55GI>N M9S\)XX<\RA$!QE$2)I,(X ) =!I5[NFO+%_%!5U2AZQ>3H\GVY"7<,!+7/:1YD,8VI1'9F&-*S1/5_$4'@& ':*S[I85F&=$L>*7/Z8,6R4I^H*C9!*O4"MG M<<[NX7&L&O=?5V$&.!(_*-P;"R)# :U>T)FF7OT5 _$ONK!L+#L/7G-5T\0M^.747#X?@5;%,$<_$F!WVJ>89#;$70> M-#1Z/,JR=K\6[+@?+PM^H.?REC4>9JX_3-@SS0OY&]"#FJ]N_@DO*L.&'_)P MQF##LYL45 Y,$, 5OWF '].&2+K]<+%E! M*,2_R%&I8[!1XKIP,@'CD,JRP*_X M@-+O#6O-PCQ-Q.*D6=XKU:5FT+=7WH01WYYRFZ7WR&S\6>)Z^!Y'+8:T_2.? M5DX#K+]%Q12P81XMET2J=P"QMT@:<8P+NX2-HYLK5S_[@?%D1B/GU^":\HFN M_\Y-5IY@&$YAGR):1,RCJ"\"E9"%V61.5S5WJKYD+=L%9Y!7RX'$3J2YEI8A MYDHIC/3M&.%F]'V M$$$EY_P81_]:1?"RAQZ1&!#3BB<@/@8\)1,OPBF#?9DRXG3DTYJ+<=*\WPAP M[35.6N#($\^=@' !M(Y0 D6SJ$0 >$=.MV_>"DNU ))8X:;DRH<;%D>P+WGO M@_(!-P6I%OY,PX0\2.4?T M 0L]3Z*E^ B33$F@X%J'&0;?^)#Z"#./31+V+(TI0P>%!]!/!M877],5@@B" M&-_O^WD$,Z-1PM+@&@#CKCZ]X7_D[ M+"ZF5SVDJS*:%8G]?&Q@E)H%NA%'VEO"Z@PX@H):%34HGQ\9.6^@H$9?@>1!%L6YB5ST$"0K5X1[WM[Q?$4"OD7P/.[B-WO%R&L M\^V.;.-$7U'6*D 6(8 SI^AU.U=D-JCH+U./ WC%LF7$QQK'.5S_DZ.#Q$P;XAI7#$(O)R_!#E@!JIQBN\' M'7G%1'T%Z(/@#@(76![SPMADGJ1Q>HO84":[P2@3+O)PY$*RWB&C3+FR MM"0HY(,C!6L1+I>ED$["N^@VY/K$?+4(DRN^U C0I9,/KUO.P2A#?:T:8E]1 M?F>D&I" 0'ZNYL(E*$O@)\8#]HSO$7^M EI,_I #FY+B(78MK?8,IT5K*S8# M'?:TC+"SB:);R@/H!\C> K/(= F5)0P+7E>",3TWFN1"2(N]K+(+(IX0%>%& M( *AZL+5HY**>$Y!".(>-^ !QUHE&)#>42445-HK?A#9)ZDB9M7Y^4-+LL5,T!5U-%:VG&;HR6\7Q%6@F#,DS3A\8:TA+H9VBD0IJ M$%A+M2Z LCM:XIJ#-&.8A$DLG')&4*8K4F-Z="3G"NXE.YVJ-!*YYL55G6.\ M09+$]C'7.\ X0X0CA^S H0A/)7VX+38J2DH3%B(!/HZC2>#<@K7N<+Z0L]\2B.D>YRE.VI!4C M/0]I([Q!R^R!:YHY?"M.+O# "=EP<]#(85-8=>I@4WCS123.%=8+7ULDFR81 M<"V :(#<3^5I#*Z.5!X H3FLC4V,'P'CH:)[O ZXE+:(K5-Y292">TJC!2$" M510D>G1<2( MLX?2[U&@U(=7)2MT/JPJ"K_)4M3,89++)4R/RSFT]*H-%/KZ PKX:$%)DFAS MI3'QTP)M&OC_VCK>52M"7@723BK>YF^ZXF_B7$TF]"*BU1C.HR2\JC+=R;V" MC$-)VB!"%RE:/21]A1N%KT_IDB%'2.5'3BL_XZ%,B7?A9 6F'%^]#,B4 MF"XDM/L/T$/!\,K(9N22BW1@C.DA1\$C4KCUYH'"O7WE;\1'GQ:PVQ0",%W] M+\HU@>)$(.05][@[5GG/-$BWAI[>RF?P1QGGZR,8RJX?; W0*[",, MB1IMT W+M>F0X"I"84\^O1ZN#O(%$OIJV:2*DWP5.\I[E.2(27)EI)PC=D;6Y7S9*?<^T]! MI$!%,8(H:5#\I)(P2L5&;6G] M,&60A>%=J/P3=)^%+9ZZ2)>5NR[$XXR3[T"^"X#Q",URSN1<;T1G&VPE^I_X MF<72*JYM7N&GYN8P*&1GE*X%8A#,C0:"HP5.49"8A=DH+/': M29NMT<8NO/#XYM:["I22-0IH('>O$IQ!]D@Y5^V?Y M!O-7]>@]M*@V5PZ$^HY,CN9UP:L/P-84%2B@GS+$V)&NZNH.;F]5,H=WVF2. M=PU-G[06V_Z)%6\,YL_D6ICCP-='@34R!I;EFXXWLH)@/#)4RQ]Z(UM_UUR+ M(8:-T4OG3R;I*B$]^4^0II,JEES&6(YT/.2(9ZN7&01H],+4=N'?$@HJ7Q=TWBQC_UI%*-$656(*PO8B M_,ZJ,_!"0N5@3BZY <]CV>2=$4=QT=K!-R_PQ20?X7HF;*PXJN1*%, M1M52D4-UX^HJ^EI_J_C++,)470I) M'%IL8,0FQSPM<*23C,<"^:KZA%+.$^S?7FU AM.4X)N.9H#=$@NO6RXJ"@OJ M]*^'BFOJRBHOM=\P!K4EX5DD!4"/R,58@/Z>3GE%%GIV62E!/+]Z+J=JONEA M%>#?*GOW&*+7^G/I6DJ:EOI_Y+O]3-Q;4C,M:MX(Z]7[UPN54;"NO74MZI ( M3QH0SM$-YG[@1VX%D)(W)J8EKB_L [,AKL!/GU.P+LQRRYY-(=PF]TII"_R! MJAF&8P6&;VF:/_ U"ZM7^^Y0MS7'?G7A"N23XQWPW1V?QXD?F.GZ%KG)W\@M MA'*0^)'D"#$*NJ#GC_M9*8,1I;(XYM'(0?OMN.9+X_ZU*O7JQHK@Y^8+$I1< M\7KV@\JK]/-I3E@_73#_ MJ-T_MY!@KYGO@.9O*(KY>OQ!8IC_': LOLRF(1=& )]1 ^-;KSRVZQ?(_<\V M_3W!YF^OQ'X=.4Y&*\^HV!>*$^T@E?>GA@WC7E*#! X)'.TGE?>GAL>!X\6* MQ[,MVEO>SUS493A%<_JCJ)]'Z]4&5CY6 CG^-.O-.F2>Q]K/G]][)UN&>6\W M\7?N1=@.^G[?3GZ2^"5^2_R6)"SQ^WSPNZ4NP+WG.%RO$?';@:;:N;/X&M4@S1USH<@30<; MSDJ"E 39$H($A)0$*0FR/01I6OU]PM#M(\AS<]#X"^PH]^_JF-7C)ZOVV;ZW M3-T[GF^RKYU@KJV%T+-'RHX2H2.)4!+A>Q/A7EJD)$))A,(*M[)@I9.DG$>WM,Y6D[7X9!&VZ^]GVDJ E07R(A^$U(U]IA,:_'U MW&&TG51D[1<:D%0DJ6@=B_9)7Y)4)*EHW0[I%!9=3%KFEZWNEH>>>KA<8^J, M)RYW7^Z^W/W+G+C<_?V<)EI[I?[71UI/GXV^J6E]JTOZIK1:6DE%AO3#22HZ M A7MDY@FJ4A249.*S&[YX8[L06FQ,G7-XC@2#0^]29E00I"?)$!.GL981*@I0$>2*"M/?+!FP=09Z=0^Z_>7M'WIYONL V MW$5&K;[.QH#9C_9:BWGG#FWM)")W+Q5/$I$DHL8=^R4"2R*21-34I=1NQ08N MQQ_WKD5".F81J">I'M(^@T%:L.=AP>Y)KY(>.T./$E\EODIZEO3<10=CZ\N; MI%O9_A=3F,?0]PM7M[4RSZ5[!4Y!A>]\0MUP3E(\JIT'T27]GA_]NJ>I%27I M5]+OFU0(T4Y3+*>5]'N!)URC9)(NWKWCR'OWLC/W ^ENE;EI%5&W"K:[Y6\ M:I4.7TF0'<'6/4M+2FB5E/PN"0Q'503:K\EV16$MX >AK/:4A.US*KN;/MK] M4FJDB[:M@-A1(I0-=201OCL1[G5R2!*A),)C$N$IW*'MUQ.[[O'\1*JC="CMF<'V]81Y+GY(3]5BF.9+:IQ.A?EZMO2_&$_F9%0=D7:YMGP';-TU7>'B_HV?G-/T(X>U]EJ'>\$/6 MX5@T\?-[F[3=A>NSX('#U0G) Y('.LP#KA0#D@4NG04.;\5\GBQ IL&O10C3 MJKZG?^D?;D^4GW<,;<*2@F4;0X^CA%W-&/EO40%SGO!O[OE+;])X"@\=IHMEF$4YKZ+V;9XQ1O5I/\/XE#_@ M^GFN!,F43:NPP"E&<?TQKRPY9D=RQ9L>/R:^/^-4&H;DP+/S=?D*39(HS7&4_E M(H&@69FP.!:__K\/Z@?Z# .?E)]WK,6W:,%RY3.[5[ZFBW!+GUB$V6V4\.&% MJR(MO^ BB[ZYCZ;%'*Z&R0M1"%(N#IB?W. M0)^,5BK-7=DT1"X4(]I!)>]*"!O6FR2$BR*$$5I>V:-FZUL,83@/D]NW:A34 M5OI[MCG]F=+?GRR;;'5NEP0H 5"J1!=-".U5G*6^U!XJD?K2I=*?U)=:2(#2 MS71^,[T81'%.L)-OCP\?/R5*,4]7>9A,\U\N?$N?$Q*2.;NRD^\!LVW*H#R# M^4F@/=\M?0^@?,J>OU#.^H!;Q/O@NR M-HYDLFXQF6WV+$,6H)),)IGL=$QF]EQ[K_K!DL>ZPF,=._!WY**#VSMUR"SE MD58I)"Y.2#BNT],-69I6,IEDLM,QF>KTO+T2HB2322:33/8R)O-ZAK97217) M8UWAL8Z9.YIVW*+_W;%WGJI?4C[\R8H#]G+]:+Z!4SE>8$:9I9E2S!G\'T][ M+E(Z]L<.*6-Q[!H5'_X+:R9F+,QA3$6Z_[!^TEVPNQ6X*([29._']!18LKWO MAA'\?,"K)U2$Y."%L,V^=?!"O GM'%8+Y,-_]95O,,*?=+/OE1.NR G^4+(N M\<%]F"O++%J$&5RG3+,(QJ[5K_6+]89Y1A>_P0H<0;)_:OTV M[5#/&CH6F('NFHX%F_92_GA!D(:QVT)\LA"4)4 *@U)BK'1V@7MZ,17/RF"]2!DJ,R?D0Q5C)9 MFYE,-WN.)2N@22:33'8R)D,>4V79C;/FL:Z5!/#Z^[@USZ D@*1@*25:*25, MU>@9GBR!)IE,,MG)F,P 7^T-%"[]QS]7 F5)0^-X^GR=/9TC.>D38U.3[B6UKWH$"Q\>J^JGI9EWGK=4K=IPB MD/NO%"R4-[?D@@_7Q=AP7)EEJ4+93B/DK"O!+,9FQ31'6M6 M.C7Y!O2J%]VS#&M=%DI8*)HJB@.RZM8_P@?XFM-Y?=-LE14XVC6.UZV?^^TJ MA?PBH-J?F$S5.$*_B0[4 CT63AFZU5>[L&#O#5..>QS"DC!U3)AZPY*@_TTE MC?_,TEGT^/E,60=4U@$]FW?).J M?)>L WK9]2!E'=#+W'=9![3%A6K:6^'Q MO>M:O6)EVAJ N'02DA6QVD,E;T\(LB)6.^A/5L22!"@!\+*5*4D(+2$$J1)= M,B%(E:@=]"=5HA82X 7ZH"ZEH.0E8QE3-:S#5DHYZQ9K&.%;:J2 MQ]EVT0#:B:Q2+DGP7;4376HG9T."4COI_/PN1CMY MJ@YHZ4!\/BM_??Q;I:.., %]$Q[IWWE6/F09WK*KFXR%WZ_"&0SIMS"^#Q]R M>-6O\TS,YL1#W.%N?>J-+ZFG=127[W/;^2[5$YLN+V7*CE$R$9U,/^]]=Q=* MNAZG4B)Z0MJ]3L>ID%A2%8[XMDEN:V4),Q:'!5_1NI+?,DL7:1&E21@K(18! MC(H')<1"@7&,_VT6,9R^N%[A<]4*VU7?]#0<:A].>2VN97HD!M6/P:"MKV!Z M(?SYAH4]O[*ER\=3YRAQJD+(*Z&7NNZP"VN)*-.TMX?C>A:MD%=#.DY L M>=4>*GE[0I EK]I!?[+DE21 "8 M%I-2TY(DU'%-2Y)0-TE(ZF@=H-QV*' M MH]Q6:W<7Z$Z[E.*7EZ2XGV1/6X8CLMII><=:3L/TL9P&64&A Q44#*-GJK+P M:=>!6/)8FWG,ZAGJ/DX;R6.2QR2/O6A&'[6>I^[CU>I8Z95]#(V+9,N4=*9D[(XEJT>2-3I> M&$K;K\AO=^CSDB+7'25!0Q;O/1L2E+7).C^_BZE-)O>R Z)A'S-/B@9)@D?G=S':R5.54\LWO$OAOLM[ M"EP21VFR]T-Z2IH=4":O;^Y?):]W4(6^GPRC;QX\?>7CWK>B6^B $H&UT^R7 M3M0]I2)\!^R6U3?>=;>,@RK3OO%N':.Z8Y0WRCLVRSE.5PPY#S":95B"\38+ M%U=EC<=)FA22OYW (DFOOC.0'%20^$,DU MU7QW<-"/"PYM+I![())K*JS6N^Z6>5 )X[?=K2,A>0VT.Y#\I4#LU K3"X!X M-^@_)S7LFI-A>!F^H.7\T%?VDSAO6%3XFL&"PDJB#/HCS+XSW+A#*@IOC[)Q M_YI5* L&RX+![:]-V]+!G^N[9,'@RRX<*PL&7^:^RX+!LH"4+&,G:Y"]/0F] M=QD[226R8+"LU]J.>G-O3W^M+BEW201XJ0#8(F5*$D)+"$&J1)=,"%(E:@?] M296HA01X@3XH667W_+#E4O;T8@KI-N/XB]UQ?%E;HP.U-4R]IUN.+*[1<:"5 M/-9B'C.\GFK(0FR2QR2/G8['>KHNQ=A9LUC':D2Y>]4Y.8,:49* I8QHI8S0 M#*=GJ;*2H&0RR62G8S+-[NFV[!DBF4PRVMEXT.+)B MOR3!]R5!>Z_FCI($VTB"4COI_/PN1CMI;4W(S"=(>5470/J3)Z M8!E%4W_G*HI'K\MWU@5QO;[ZSKOE=F>W#B^CN%%'\3YL%E(,BR*+;E:\8MUV M1<4:KJ+DCN4%%H#-X3JLSP=?_J37N(-WYZOE,LT*)5UE2L+NL5KB=#4IE#A< M)9,Y89T2_!'X!(7_$^)<\*\)R*,0ZS<"8:4%/"N,Z?MP2I(JQU=-PL4R!&F5 MEXO^MR3" HS715C @^GRFRP-X3^Y<@^(B_^= ]!CT<;'ZD*J=1WQEE7??0.9 MH6OO+C2T]Y0:FN'4]9G?!8B<8]=1;W&QT8.+[VKV.PMY^Y"2_YTKOGM*J0%+ MJ;Y*;.PE)$*0 1F[A2OSU\@$LQ[;GC+A#>OC_C=+6"86PI\NHB3*BRPLHCOV M\J'+(KFR2&Y7WR6+Y+;P7;)([F472Y5%R5-1DZ4)-!X(B3SUQI?4>SI*6.:Y[7R7PHJ/)U'7U16G[/#JBM81BIP>5EP1DUK> MK[BBVS??LUK?T8OUG7-%7MUXW]**[B45Y'VBC"*(7H:")9U\O[HA_$&42@NL M5Q@E"-8(4Y-T@3@58@U$7K>PK[P<_<\)8\%X<=^[@NU!Q:0/!%E;J^L7OP?? M.GVO,Q51WQMC';UOOVOY6O604LL=*U_[/,;.TZRX MUW02 5IXB(^.DIF*7R ML V]CN-;A62X+C&[!=QK%I/UZJO1/%!FX5V:T6"F#-\8)?P-<'4(PV9W4;K* MXX>K:91/XA3Q,0(=/8[9I%C!HY=9N@1[\$&)HR*ZY;?FJZ@H-V66KK)BKOQK M%6;X-G@J+N2^ N(-*]GZ"]B1Z-_58OB3?ZVB#*;_*2G"Y#;"%?/SG!7Y@;)N MS?+9K%V[/;7&\]=,;EGY5E:^;7^1U98._ES?)2O?7G8%5%GY]C+W75:^;7&U MJ?:6+7WOXG2R\FWG2>B]R]I)$NHF";6G(%X'**@=U?):1D&RVFXK<>:B%1I) M""TAA/=62R0AR&J[[:&#=N@/+541+M OJIGR>(V'4=8R6(M9C&S9SG[E%>0+"993++8BV;T4>N9CBP? M)9FRR^6C#'VO8\9=(V%98%<*ELX(%J^GNT=E2JF[21:3++9^.JRG&M(%(7E, M\MCI=$NSYUB7T+U!,N49VT?&7I7 ND;"EU!>]\N2X5GWY+8\Z]["Y(#34[1N MV?O0\S-S;:WVNX$:>]EZTJ"E 1Y(IF_5].\%TZU97+_,@GX'(E6[U\0 MV5YZ/='S!%['DZJI),@6$:2K[N4BE@0I"?)$4GXO7U0W9?QE$O Y$JW6WZM; M;#?)]B!/:M=3\[^E!587;5:,>]+7^G;QN_W.:'R&I..\U\?>F M?D/=+_YQ3L0O#SG([-#.9(=J:D\][NDYJ4U*'I,\MG'*P355R6.2QR2/G4SS M-'N.?51G9TL#&Y(IS_B4@[Y?B*YC)'P)IQS\'-M5\?I^X2U[ME!6U]ND]_N[S.RF:M&RNYSZ_SDN&?4ZV2L[6VX.%&<^NP;&X=U-QYXCF\ZU-@Z?-H\E< MB7+EA@%IE=L-MU.3>-CN"8NQ*@A\U_=4W33*?RS98[WC[Y(]UEOX+MEC?=\. M-.?1:UOV6+_,?9<]UEO<8[!EO6E;U)*T ^V-)0D]34*RF6E[J.3M"4$V,WW_ MDB=MH /9[UP"0MN4"TD(+2$$J2)<,B%(%4&J"++?^0$>JFYXH&2_\U/O:GD'#P='(AR<;(:#Y1'"#APA]%1Y1K?K\"L9K,4,9ARWIIED,,E@DL&: M=UC[]?"1#-85!NO8@7;-=B[A0+LL^"5E1&=DA-%S-"DE)(M)%CL9B^D]0RIB MDL4DBYU0L^P9EO36G36+=8QS MH4!9'J/S\[N8\AAR+]LO&?;I_"LE@Z3 XU&@*2GP3"A0ZB:=G]_%Z";'+]V% M\SG"B+Y><^DGM>PI<$D=I2 *EHP!./P(=^*=Z="^1W1JJ>&]#8U]WBU/>5;^$,) M^%XHKQSB!5;=TU15UMGK^+MDG;T6ODO6V;OL>FNRSMYE[KNLL]?BVA8M.R#= MHE(XLLY>YTE(%M%I#Y6\/2&((CJ/&;QO,019O$<6[Y$$^-X$>*D V")E2A)" M2PA!JD273 A2)6H'_4F5J(4$>($^*%ES[\* YU(*9UY,'441XB_"'V6ZA3R< MW;G#V4[/TV7]@ZZ#K&2Q%K.8U;-=R6*2Q22+G8S%])YNRA(C9\UB'2LQ8GA[ M'48[@Q(CDH*ED&BED'![EJY+(2%93++8J5A,LWJ6)PO'2QZ3/'8R'OOH]%1G MGU(;'=,M]XF77"Q3=LPZ^FA:EV >_7())1B#V8P?UA6G<"D@A*=FS[+&C.;V M][$AVDF?EUYDIJ,D:,D:C&=#@N]1Y^@EQ^O?S(XZI\U\CT)'OQ4@5NCK=Q=;)VQ?ZD\Y_T+0EK'*!@H"T*^]GF;Y?J^S=E[T]$.XN[$ MOL)"KF(LG!DER*/L,RBEOM+]67SMT?V$\ M&0MS_(-6]?&1WH>YLLRB19C!8Y7IBF'15Q#W+*-K;EC"9E&1D^RY3>!%4_@S M#D5U6/9CPO(P21NG5N M@OZ=9^5#EN$MN[J!A?Q^%#KM]ZV YS,< "WWH8$!DV4<:S:/5M@\',\Y8[[?6]0W7[*3M(MR]-@^FC$O@9 MI9XD<[@VC+)&/SR1K3T*+HMRN X&,YF'V2TG!987,*B"#P%N"/,\G43TQ7U4 MS.$N; &0K2;%*@/9C2N.$PW^"'SE9I4#$>5Y+6'%,FS3UC:)M%QO.*&^>A#" MG)A_6ZNI[LD@>U"9\,?;I_1>_]?_%RK1]/]]R$U'\QW?]UU+,ZV1X0^&(TL; M::H#_S-TWT?[-MR'1PX>.GU_2O500Z_P/!SC!<8H,*Y2O+TU4&N] N M'[U?M,=^ZRFP0DCFR21:(BOP!4.ZCJLUO0>V429A/J?5I3\8_'87QM@F!6@= MNX$ A_@#U:/H$=R8W">9L55P;)%LY7+85$/_1BCZRL(W/=I]AV7:L))M*?< MSZ/)'&!C"<*,CQ2NHA45O6P*%'P,?H@13=9_B:/P)HH!B5C>(SF^_QP-V^SK M1]B"PY;Z^.2-D!MF')%_TAVMKY63//98#U4P6]9NZ.\@P\-D-0M1OV+$6Z"E M%5ETLT+Y2*B13D'[RM%!E:YNY[#629'!]91-KV"G0 XB=-;>% T M0;4SO8M !N=]!5YWP^*(W:&_*X*;EO!C"*QQ"UI.KJQR$KWA]"Y,BO"6(Q0) M6[)ET1==\E2#[SDB@#86S:()W*C,8O8C(I9Y0(TPG\S9=$78)293:JXP@_ 6 MO\>'):0;Q#"V&$8ZP#_#G%1.6(5T!L\&72*ES,!8SV9TBARY194#%!6<*[P4*%CX$#8 M'&2@$BUP,1FA':=ZV*8,_BS'M\I 98$-Z953O4)7 "Y,<^Y%FN)RB!9;"8QA M!DRU;@T,M"V4"@2"6WN '@!05B/9>X7B M=>L(S1G7G5) KTE%_N08F!+5MJT9&\IRT33N@=AY"N!UQ\@0!1C,5PO6!,B4 MV+K"SU2@(IB\883B'(R$!4+E&M@UP0J>(,"24#:$.<, YIP'(P_P5A($MRFZ32G M]5AR8"0MZFF94]FKLU4\ R(F@0'/:DRP5TZ*2S]<8Z"JJVI0.6C .5?L'I-] MF9 %2.0X8&P]AR]>@IX]YU*$QS# 2N3$LX#K:%,S!-E,B L<: .G89Q-$=P3 M0I8!I3PL,>4K1@%WER+T SG=SQD'Z1F(I!R$GE@Q')Y8M1U1V)<:I.Y&#IFF M;W#=Z?H/#E&JKG+NX$F7("$+6E*$$Y+&KXR*'ADF/K.""_ZGAMB)WJ$'6A?: M$1S'J,L(>XES0VFT-GB&3%7D#-% %'UC!]E^]G%D7)(F5T0(W,%YH$%J'F-0 M'+RI5#')A0W3E+N1^>\[?@: 0-PC?=/CW2/8,5OJF0H0B,2*6!,P#XI-P\;KOUJ MOY?A W57)>__9)*M ,1$?.? W36\(\QL?Z=K6V0<-V[WE7%OH1IOR;Q=0[X MF0?6T>%HT%=&/+IUTCCXT;QM]TSL]B'[>"3;5D3\A*+-A.T!^I>($E0NC)X0 M8KC,BW R1]N*7R*\(42L";NOU.T^^CR0E5 7IUDO0K#,=G81/PSUCB;HEV$T M57[2^V[E_L1)A76D-)S >N3EC.913/;&A#$P$ZJ(&1D\PD&&85=B99C@(LR^ M,]Y7.V>3\H=P@4*!&V3[+X'7-]\#]W=!Y!MA/!AI83+I%,;O&O(E8/P1V/-I MB&_/4A'.<7W^('2W^NH1#O @(K'%,DX?&./>$V49ATE>@]TAIU.. +HK,$F5 M4O&A8 6ZE28(AWRX]W.T52VOI]NJDH-9R(3Y2CZG!*X#-7M%;K0)'J^KIXL9 M!Y@"@XY_>'J^C^MF)[P=+SR_!F_TS7K _N_"FBQ#]>,J?-)ZI*;DXG+ #^W" M95!+_F<%"(+Q">)72N\GB*8\*U1BPMN,49R(IU$-PN0[TJ>_@$=.PI[RN>_W M>Z4Y7^(2%^6EVW&5D)2G4QYW:7R'5^%\\7>>?,T9]">GP>P4@=4LM?$-J6$_ M"A'DHEQW#-R+3*[R26*E\7XQ.=WH*W[;(LVPVO-PJB3H?"[R(N23NDFS++U' M+H55FP(7X_K5J[8Q1^YT>711,2YZ%T8Q*5J8!0^/W'+,-)PK:;9,*9T)E.!E MFJ.OFI_[0:+(R0A@+NAW%K,)UQ'A"Q;1>SYJORB_?QI\ M^0H0#( 5HCIX&\$EPKL3/Z"R#4.#(6M]]>>>PM.AT(^-JX'Y4#A+9(8; ,B$ M9SHH_O2?*S(E@L&G;R-?^8A4\2%8@19.7>:4KS"W#[_T%- S/NJ_$-'$*#5A M4UU=<_Z2TXLHHXO/_+%?<66K(>)CZ/A!3@2/LVMFB^&BY_RN=I];VJR\)\\M MO=FYI2.,BUA)[5O +8_0-B8G"O)%GO]H\*LV^(/S)+)=OXS4,_3#PE_ P9QM MHYPR<&$(48(>.]")T6DW$8G. +@:ER;T)3VCPA!\/U?U*3H(# P?,%R(F)2O M)G/QNGO ?.6&U:POP*.,-+*:&W-D:!)34ZY&90QTNPD76G1!7_D[6:@PIFD* MD%N40PO%C.KI\&SD^W05P[PH;98&&M:!50[1^$[T:5,L,XR!+Z8/CR Y2$

BG?PG/#9#%Z!*]^#S?S.A'A+LZ9'IJ?D#&B1AQS0N_T MY((Q8<1UH@*XL8H"BPF0D $Z%-XD'ITF1;Y7+A2U(:3D87@&PS1V&A.7Q?!B M6K!MUU%(*K\(]<*L%@R-:Q%4%W8U!;F C4)T*-7[1,^OEA_WHE+NUIU:G*S) M/(=//Z+%:O%RLC MP V]1$DGP(.4C?Q-V4)8TFGQ$_\COL0O0&< M&](;$,U\^D*AW*7%+X#=0 R 7@FJ)(+DM&6I/:VT+,@Q )N"H6X N&0BP"6, MF\A0K_KC%D;G707-#/^@SA!3/J.KNEVD]'?6,('F(7 \6(<51_-\@'2QB$JY MA$=&E@4/-Z0 &#'ZV^ !9!UG&&(0\56ZEI^:(P,MC!%"=J3-<6NP2CJA?-&< M\KGJ9 J402"=,)>B8&3><&N<)_5N9:QS^T>D49&3:F=2"[T8#<8?$?>!/6;5 MKN7^$HZ TD7'$*9U%C#*Q2JQ2N3KXOLI68XX82.U]P;@\_$L7@Z:E<\:WUI= MLC6>:@:/'H'H/7+LH,>O?&ZMN ;!U[5AWXL-6'<8;'@$2JTZ7V&:;T1ZO5 A MTNWC!F+P6V1">NAE!*, J81K^0DPA5+Z%O3"'\&X2.?SN@6UOYCW^*S+ MK.W2%<8C7U4:'X^/-7:6G%HXU]O:VT5NA2JW&R::KY9+H)\JR7&*1)I2'?I)A"R>I,0T785US!Q$4@F;XL2#AMY"?RQ6'9731!%?B/-&-(;+W2W2*6 MY6!.X^FOG,6(W*IGT"^->RMKCO1O4 77&(@<:VE-4LT=%12,+(.79F&4KQDO MG(]+[EVN0"N:X"J"N7Z'E(6S 8Q*2V.Y1"%R:6*J3;EX56BV3#2NWDVIKRCJ M&Z]M["/1 QU\23@--O:/QT U@AP M '6]"M/0"TRVY2R\2[/2C;GB!G^!8ND _>0XZLBZ\C%,>5HON@:_U/IMN]0, M.N\-:G^L^*YW/@<'_;[(8^(X,:5J3HLG09TS5=RD= E7RK.5*Z41Y;V Z7)POC] M)%G1(4Z"1GC8&%0B15.O_K<*+#^P,!-ATA&;;)SB)I&PEB1:3;D^2R.2R&G- MMLR7'?[PGE"AN,.+'ZV!_9IP%UQI(UN;O))%BUIP:N3.A78]W;QHT[B9QG.ER;1+CYNH^%9AK1@&6_$,N:TC&%C M&9&2IVQ&06N@HD\P##X&0S4^AK]\-'_!B7UEMZN8NV.OK_ZW973RE4VXF>9/ MTR4ZOWR>THH0^&>6)O#WI(TT<\W \DU!K=!+76I8>R*G#5"^QBI9-1+QFANK MZEA.5LX_%/,/Z_DOU^;?UHW[E.>K"]ZWB$__%=M6E7H8&>.A[@]4>^2,K(&F M#<9#US,US1I9EC7P[;U*/1PQ V-]PQOHTE?^ND+71<'=J2BAX(NX_#RJ=2+_ M)ET5RA_<3OD:Y=_;1<3!#W'0@B)VURQ!1?[N>.DE1RP](PX&"UV_M)&Y;2OR M_%'_@/>FW,(GD; %3!:QJ4_;$)V26UV#S!C%*RT/['G&_RB#$'IG$8PO!%% M,N$K/*W(0*7ZRA)X[DW4HT G5TO^!PQ6^O'_6$)F%*I70GS=D='.J0!S8*9@ M=^:LJ?2PU 0J#03]#C$6*A!J%6E;C MZ NN!'=.T%!)@X1UY8<--YP>.Y>^[=53-UM8RBR$-\M". 4$-**7/([;),G* M8X%AXU69/E"R19/U2];=(-+-()=\63(WHG:V^=(#]:3/68M4M1F\] \UBD25249ZEAKRP2=PD(5_5E*%K"=WCT8P'+R?" M"5C+&3R*'MU@/AJN-X\,H+MOG4(?*AL8SY33IM\P.LN><+=THZQ'B="S&N5) M,JR)E#+1K?:$-$7$GQ14Y8>VZZ3-:F1@SD_K!]8C@U_G; I?E62^-8NFW*G] M 'GS(4CIE/)0.>NF# NF$.NA?X)\IUA=A=XE=-"&CEDE%OZ=4:F0K1OJ$FKH M+&5 SJQ1D) 6HQSXVJI5$AJ]&N16KY\$[-04^404I T .K2HN-9A1SE+S\HQ MJXZ@-=_,:=K:+5%9D9>9 HK@>'07QJL#SU$;KE.?/7JOP[&&;1^A,<%F&=W6 M03,Y\AL@PH#?09Y.RDVFS#]4TI'EU_F]Y'*,EH1)D].)9I9IQ ,D@I&QCE$5 MR7L55]=E*AHE$RD^PW/ >;B[/CY>'NS@X6_*YET#,JX]KQU**P 9Q%$:&">6 M3Y/P\#IXV"24C%;K_SS)0L,S!J2.AE$9HJ_)M&FJ[]#X>*IP MU1N%8IWB[YL'GI'R@PH3 W;]9-KUZ=1CY;$=:;.?J>\:^.[8'JO>8.Q9ECLR M?$<;JK;JZ9ZFCAU]/Z??J?QCM<_/[// 82J2>/[$,\I3S!AIEW_W"^6&E)'3 M7NU*HF(:E&O5R"(9SB,V4X(?;+(BS^47BBQF/->-?JL=PN*WGL*0HKGH;!;X M)@-WS>8#7#GX"T:#O] MFWJ-3,5;ZEQ?D5M4+D6^EN5-OUXWCO6CM56^?8@188I&5.=2LE6IKN'$\[_P MTRE1.430*5>+%=?YRICR*@%E4"B!3:Y93\S:BTM"44L4K$=X V4<434[FB\6 M]J["*;ATMV$FCB^(C:II:J-&*=&!(#,E?\@!H7HBK(Z*]QS><,\HYPSU:S%7 M;O;CADS"!+7OLJA?>).G,196K1;OKKR59N6 %SW:"(=3L MQ1.!!"O *Y]]'\\GYD^GB)+(#R=!+ I#S[)P->T)+TNO2A<7&4$19=Y3+GX%2%@>]CN+A>]QX_K>Z^;X1,C0USW#]YQ@ MH(]'ENLZO@D*Q-@W-<>T?6LP:%?(\$_,JOOTJ:]\(2WS4XW(C\]0']O^4#=M MTQC;EN;J,"O#&>FVZ:J#D6:9+=6/M+[R.Z!8S!4C1O4!VJ67CJF8# H;#'SC M?SG"<*Q#^ VINN$5S_'.^/P/E]%E&Q*[^-9G=4R MEV$#$!E+$NKPIE529CH^\$S']5C"%H=RXZ1QZ*O,I$L?I;E0K=0 M_F0\^7J\HOS]&,4J/$[$^V%7\ERX_4N"XB9CQ \CPOM665&E#U:5<*O?86D_ MLWOE_]+L>^56Y[D9?)S->K>8A%V5WBV+X?*4P(R?QL!Q'%BDBW]TWS;N:W%VIGFLX(KC *T;B"25D M'-0E&#+C793&8967?,U$SKJF?KSYA19-5S^&E9]30E@G]E:*6L'=)*97%II=Z M;:F]KJ=97V-H@O\$;QZQ!2FC]7+S\<(F+-,8Y/2U?UV%O#:>3XF4EXEM1I?M9[!0S!3H)_;]0R,\C!G MCY\R2Q*^3;7=NCG:>I'!P.':O"C# YS$L#P$O"IA#Q5ISA@KDTCSLF)Q%4=5LG 9 M(:<0G)%C/;F+LC195'48L%9WC!9>J"0KRJ?&W#[8#.$)>$I=J!6D1Q0'<8A% MZ \]KLQ4Q_]0I;IA#ZG(71!&P=HY]3)%D<-+TZ%1GQP@>5L9+=S]RB? &;W4 MIR)6.S=*:YH,6$ %C*;#S=2I \;]D*YX]:ORM$O&2G.=&UUW?4_2^V1==[UO>^4;6^:*%L_=-?,T%&XQXB'S+DD[#8M>.0#O54E&<6\R!,E M[O0JET9U_OHF0HLNXQ!,N?M7Y1?\I56=(9'!B26:HC)#I JN8^Y01D6/@BI^ MUFCIRAU";J]VU#06!S YIC>0CT=3?U:*,(MF,VH0)<;+F]API;%L[$I=C4I- M172GH!G@D!4MU(#O?*Q"V3B_C[\K+V2M40.55TZV<P2)?+9F4"$B>-+M14.)*O M>77>5+/XPC>\(O6>]1I':>M9TREY$8>->:+N(SS5(&_B&@ZN/8ZN BCCARI! M')9O(>*=&VV9N$5%_HZJ,5:/SON"Y8-_-O/.*7F(Q;'HPO6K4 MH[W@J%NDR M)?7GPN](+C"L,D6-NW+>&)L*6#TRW&=EP^8MO8-$ 3FL1$6]JP9;\V&06[4V M2M*:7>""DFYH(I.0JHWSZO,/I8.W*OJ!V<>\:L$6WY%+JFK#5G VL13TD59 MD5M4'),&3X#:L+ES83G:\H;;5)0KHZQQT;2Z4:E#C 00HA ,C8?=)S%JGO=E MP)D(+JV3I&H.$D>54"_'_U+^:,I97.2]\:YO@@F?82VNV C%A?K!-0ITT(J@ M'X^J=?#V<%A/J8R;4["FW)@U22C8AA>:2/E9@(8@G#XBPN@\!Z?W?%/[$32, M1V/KNL7+NA),F:U:USSDL"N"O:(B2BBN@[TA:?P,/G$A4D%G]B0V$>E2++G2 M%!N$<[@#0OB. M!T[@CK7 =PW/L9S ]S37=71W;(_LL3/:/IO;8F/KW#P73SK3K9U$A5PXMG.P%/7PZN*OPL?2Z#V#;B%*"131V5XC-$OP M+9HIY!AA6T2B\7I]3>-&49BM+"TK\@,VGKX6&::-A^?F.+8BW:A9RT^B4;,* M"N,]X&=Z9AG7M*[B1S+]2 ;6"5;_?WO7UI0Z$H2?=W]%BJW=4@N5A(L$CE:% M$)0J%1;92E8BT>S/3\3LALIQO )LO,M<*Y+TT*-D2_7)&"TTU^CM&)] M;Z:5FRG5(4#O@V1]?/[A4\Z;OEL?4X=M=T#KY4UY(,X3O):^0OF#OK+,O]S" M@^KLN]=]*N /!_;@'2"3CS[ W%R"?GXOC-97N1OUR(#8BM%WTW3"T*$%ZBE6 M'U(YP9W&T/:<%^7.!4L;2WU'E1;8W3"3ZE(M!E,M9%I@E28F/'S:L1?D&K2PQ3?].SW9QGUD,@>+HY3Q\SM"Q_FSI>H$_ >FU/1X<[*OU-" M9ZL>ALQ$%Q'_%%GX/'M&#CKK3JH?FAIS')TIUX(K*3WKDF,G+'":4X+;0*,\ M11$'#D9S(T [#IBW:5A6IN8%[=BCZ;C/*)694]U@0$U,YN;/&B28 M2)ZS!;-M.V&T08? & $R(\M$(3,D1#7#.S!?4QN%,SZDHRF#$S.#ZL+4#%E]XH\$D2 MZ8SO>7>C0XLMD 3X)@4!8DRUQ<_P:4UTQ(_#0YY-GX=3WV=S'-E70 /BPGVT'^TRGL"3AKA(1\R463Z+F M#L6US1WRJE%3C7S>R%7-O)FW=*-B%:LULZ#I%[F"KLNYPSJ8-M!K^92.X5-: M7 @A*[%@B[<-SS *9W0(]]R.&X?::O8!/6Z)V -A;\8M?-!ZO*E7ZFVE?E^U M'C^SK1BX6S0?H$HI$_%SAN/@ZQ@3=[C)X1[Z2I;QLDM-1W[U,I5)X3$M9E<< MSQ&6&L,4A<'5M#6B1G2TM"^N/>G1GU2.#L3R>*=@/I+GL5,2/]Z!(Q2'CO\) MFII02Y>I+ SPB0W_//\J+XWXQ.]E<5/T6G[QI6+@VIQW4UTW@>!N7CP&Z4(2 M ?#/KPK2G2F_9?"O'&H4+9)N.7C,WQ \Y6%+::Q5Y@-X1(,4X_;&XB+F+AR" M"SOFYDMPC_YB$40+M]K\!MF!"I^/-Q^2[HN[VSN%M:[FKCH^V^N<6OGP:-R$ M^&#D IE(J>?:%$K+'$#SZYFSK-P3I*@Q1>5#!S7=NW&3B'I8WLUIX;<,<$)* M$KK5AFAMR:HOBZ+A*[Z4PH^4^^F*HTI]X8>$]A M2CZ+.\UA$(W'S^1M<>9#8352E4A5LK>B'JBVT#ZK+32I+9+01:2V2"BN2%'W M4=3#U!;:)^<6&IU;2'61A#ZR1G6A%M&]SSP34?M4=^0SN%4LTJ0$;QWM/&:]]Y$SI$RV0TJ4,.#5@/2-0DZY#84JH9]>S!O#E):)-^29?= MH>:K#S%G[&.E=:NTR2L+([$@X29ZKS]T>\Z *-51=PJ>*Q*6$].QI:@2EI? MLFG<2EC>S>9; LLFZ7=%ML1;=_@/D%M)D$Y>-Y>B2I!> M*W1D6"]&XVWQ*0 MOB4=IR_A66+6 8FZ=_#<;%D2GG>S^9; S M^9:@=!62:+@2HR5P'9BH>X;1.8G/N]ET)A(S-,F3H]0A:(DPHL8JF1"E!NG' MCEB -T\1ZP;@G"4$!4ZH+H9"3@2\.SZ\!\/#@0F"B(Q)(GA5 ?5^Y4WY!?@W7*P4*VJF>,6BYC M9O-%]<+0*GI6TVI9O6+F+-5*74G:D-5H0S90,CP,1H@O]@Q/73W4K^^-]E\M MZV&U?$JJ]KR9C)Q!+^)Y5$H?B$EA'&0MYPD(E0FGN+:GD'6'\0:'4FIB^EV> MF!6,5/J9CM,C_9^""QRKC=_ >O$*X=K>BXG M0,E=++8]_\_&C? 6O?Y-M CY6]5?;6W>FM,^KW[V[70>LU/ MT<%IUQ7EJ I38L.?$OM7X*FFYPZ!8[K__LFX^SU)6FO+9N8L!/WR[;PSLM^N M?OUVWIL,^E?_ 5!+ P04 " ";@%]/EU_$C@$( #F+0 %P &ER8G1E M>&AI8FET,S$Q.3(X,3DN:'1M[5IK;QLW%OV<_ I6Q>XF@.31^!5740S$EKL; M($U:PT6P'ZDAI2',&4Y)CF3MK]]SR9&MEVN[L;=1UP%B>\A+WDO..??!8?^[ MP>?3BW__?,9R7VCV\Z\G'S^VO]--V87EI5-> MF9+K)#G[U&*MW/NJER33Z71GNK=C[#BY.$]HJOU$&^/DCO"B=?RR3TW'+U_T M<\D%?K_H?]?IL(')ZD*6GF563^ AE2:.M/S1BQIR?:?FN-3*E[XQXH?2L M=Z$*Z=@G.67GIN#EV]#GU']D+^U6_BT9+M3DN,]9R0N,=4=IFNX>#8[.]MZ< M'.P/CDZZ/QZ>=@_3O9,WW=/!X$WKN)]P_ ^CYC_FFK4J92>7M(Q>NMO]V[JZ M/K5L,E25N;3*;Q@QM%!'S7.M"[I#WYU65%P(;'MG:+PW1>^PNKIN\J8*SUY> M^0[7:ESVPEOX>LO#XS1:,31:8(KF_;&]="=ERVMZ//,SP$W:)['_5%JO1BKC M1!#W!U9 YJ:[R_9J.7J$W6X=?VB#0]#,?MIA[\NQEFV6!7MGS.?<]U;,]7RH M)22T;HQ[U^JVPK.K>#9_;@Q8L__W*,;6%^,!4R_FLTV5\'EO_PCS$)N\H,[F MCR2(+HE/:!49U\U^P8;6@T@W-YXVNM>-2A^\N^G."@>CU;?;^/8.(Y\" 2SG M$\FLG"@YA:_UN7+LEYI;\$'/V+FLC/7,E.Q'8PN6=CN_,#-BZMR 6,".17= M]ML-2PWO)0F@><;. ]_+[A9@YX0[( ;8*&;LLC13+<48'B1 R$;@"(-750(J M&09S.!I>SEA=>EM+J$)T#X$>B.*LP)-57+,1S]!DF2G@]KV)YLD:@T!4,0 QTVF0O9DW.5LI,W4S?ECY5@YCXS?,TZ- MT6Y8V5Z@@9L;LV;M,Q,>EPG[6\"$BR78_,,U*&\237*H9H0$&4T$I0^,6QE M"Q J @/ Q:0C8"B7DSB)%0@F%%#H62B7:>-JC*,P8XV.Z*VLR:1 LV.O %8A M@?Z(R+.K+.?E6++W\.#GM89$NL<[Z<$K^3H,30]$?(J/BLJ#,K*&YF?DYA?( M%,%-MMQ;T6A)T0B*:)VK%(,$Y6>];YXV/QS^&;29D_7!F.2OOWW>#*3#=,!1 MR$SN!GF;DJ:,U^[^0RA[&4H MM$4\R%36TP 5SY1+@0(2,DRS$-5X4UH60Q/ M5FH>&- D1#ABSH5P@QL<2@Z13C;84!;&L8,1-2H81,<%;S$OQUU"2( (5QDOQ M[0>F+6/8<.L8=F\GOT:T^X>'>_,-')TH033BSI0!>]R!@E2W$+>X%7.<@WF* M#Y56?D99VB:UQ/I B8#V2-@ET86Z)X3;JV9!58T*WP&NE%5FF;$B&! JH+$L MD2QJD X]LB(VDPBJNT@LL%Y5B'C/U'ID:F5;0*VS"==U\/"$.SD:H011$R#& M;2@ED!/>(U;%Q\UU1> 0!B+.N%B]#$WM;]=]GVC*KZ4EE6:CN^M\-IP7?<$M MR+@'=#I&DS_3X'%I(+: !H.(LW6\TCE84QJ$GA4Z/""B4$9FLJRVA,>%]&=I MOL(XCQ;ZSH%9'+:%_18/>=FK->$1R 3_OB+7F)D!XN' CL[RROK:EM?1DIR[ MZ_R0(D,@GQ0A9(;5-^%LQK2ZE+HYO5N1;W_%AFP'U;;KE.'@+WC*$#Y[B#D] MVS>NFR+)(EUNO'CX\G'_)'&M$()1'&60-]9=9V2A 9,5A?)>RHVQ<6B0[5&/ M4+ I#'\%.B$4.0IU^$UEV)SW\K=:P>3 ]+K,PF'>Z^<#A/_# X3W&HD])@R? MGS&6SJ4R)0'4)INZ+N2GDE]2>A03_9 @A1(E?(:9'PD_"/Y-S1W/\C;X?"XP MT,EKE[^!*DU) V&@'I5'.V9G#JF9JXN"6RPU+*,)J1N/S;AMG^/ M!&MDX5[;@*(,L0!@#E_R&M2W8\:BRHG1$TEI2\G'S0=)VX0/653:S"1ZI[F) M,8,O<0H<^,H,;H?=!<][[MQC76+9='WH:TU8&+^6D83QJA08&YX7%93$8[U\ M%Z;)8AY$VM_CZ(JU<"QC54;S>.W-O"%<<8HMD;1I%XL?PC%)V\F,UKQRLC?_ M8PW2-\R'""PLW[5V6[<3/:HX@(;6&K_6^^[V%/$>U#+_=UF%IOB M!NS&W5]XH4]1-H&B/?89NYO4TJTFK*Q:.GMGWW?#O M2?9C94CZ-%>W$I>PT\\?/WP*=[<^_?/CV6UNY,_"!3D\^G;UZ^SW7]6#UL 3JZ..65*;A.DLM/#=;(O"^[ M23*93 XF1P?&CI+KJX2F.DZT,4X>""\:9\][U'3V_%DODUS@][/>3ZT6ZYNT MRF7A66HE]U*PRJEBQ+X(Z6Y8A[5:<\D+4TZM&F6>';8[K]D78V_4F,\DO/): MGEW>9FJ@?"^)CU"6U-IZ R.FS/FIEF\;0U/XUI#G2D^[URJ7CGV2$W9E(ZQ[O3\Z/+XUP_;=U=3UJV62H*C)IE=\P M8F"ACIIG6A=TA[X'K2BY$-CVUL!X;_+NJ_)VWN1-&9Z]O/4MKM6HZ(:W\/66 MA\=)M&)@M, 4]?MC1YV#P^4E[<[Z%&B3]IN8?R&M5T.5 MSIYK[6O&_Q6]V/I*/"#JQ6RVB1(^ZQZ?8AYBDA?46?^1!-$E\3&M(N6ZWBS8 MT-B*<#/C:9>[[:ATZZWM'*SP+UI]OXUO'C#R6[Q^EO&Q9%:.E9S S_I,.?9[ MQ2W(H*?L2I;&>@9TO#B.\#ZS8:EAO>2!- \86?+ M]W*X!]AYQQT0 VSD4W93F(F68B2;$4(V D<8O*H"4$DQF*N"\6+*JL+;2D(5 M(GL(\D 49SF>K.*:#7F*)LM,#I?O391;$RAD*IWC=DHB.;^1T+LPIT.;@#%0 MJ4-V !TDD"J+S )B!8;#$B$MFV0JS9BKZ,?=^(FTLIZ$%I KIY$S4!8R43[# M ETITV @S5O"-".P3+P9;,I@NK@-3^38+3F.]ID "==+L/G5U2BO$TURJ&:([!A-!*4/C%L90 L0*@(#P,6D(V HEY$X MB>4()A10Z%DHEVKC*HRC,&.-CN@MK4FE0+-C+P!6(8'^B,C+VS3CQ4BRQE( +;6%/,A4UE, %<^5BX$"$C)(LQ#5>%=:%D,3U9J'AA0)T1W*&[6H8LZ M%<(,;'%&*Q'.=5PU<$HH;A4M0,6T+03,@F:J'*52P6&XD'>%<&*X8L& ME9Q>5J4Y14$L*QAQEY)A1$SP%O-2_#60)(A A?%2_/B!:<\8-M@[ACW:R:\1 M[?'AX=%\ T?'2A"-N#-%P!YWH"#5+<0M;L4,YV">X@.EE9]2EK9)+;$^4"*@ M/1)V272A[@GA]K9>4%FAPG> *V65:6JL" :$"F@D"R2+&J1#CRR)S22"ZBX2 M"ZQ7)2+>$[5V3*UT#ZAU.>:Z"AZ><">'0Y0@:@S$N VE!'+"1\2J^+BYK@@< MPD#$&1>KEX&I_/VZ'Q--^5Q:4FDV?+C.9X-9T1?<@HQ[0*=C-/D3#79+ [$' M-.A'G*WCE<[!ZM(@]*S088N(0AF92=/*$AX7TI^E^7+C/%KH(P=F<=@6]D<\ MY&4OUH2'(!/\^XI<;68*B(<#.SK+*ZJY+2^C)1EW\_R0(D,@GQ0A9(;5U^%L MRK2ZD;H^O5N1;W[%ANP'U?;KE.'D?_"4(7SV$#-Z-N]<-T621;K<>?'PY>/Q M2>):(02C.,H@;ZR;9V2A 9/EN?)>RHVQ<6"0[5&/4+ I#'\!.B$4.0IU^$UE MV(SW\H]*P>3 ]*I(PV'>RZ<#A/_# X1SC<0>$X9OSQA+YU*ID@!JG4W-"_F) MY#>4'L5$/R1(H40)GV%F1\);P;^NN>-9W@:?SP4&.CEW^1NH4I2TI;"CZJ/TC:.GS(O-1F*M$[R4R,&7R)4^# 5V9P!^PA>#YR MYW9U@V73U:&O-6%A_%I&$L:K0F!L>%Y44!"/]?)%F#J+V8JT?\71%6OA6$:J MB.;QRIM90[C>%%LB:3MM+'X QR1M*S5:\]+)[NR/-4C?,1\BL+!XVSALW$_T MJ.($&AIK_%KO>]A3Q$M0R_P_7+D1M?A<7YI:;(H;-TZO76KZ=>3:>\9>'HF?W<#O_V93\2E[#SCQ_^]?D3ZU^> M?[K/87PO!)!KHZ_$W4P)T'@7*_[EY\ZK]J:3P^^QOIWD8O,[=O=ZUAVHN,^UV?45;Y>3[?!R[[->0A>:SY[W MPDWKLS\!4$L#!!0 ( )N 7T_.#8L^N@4 +H> 7 :7)B=&5X:&EB M:70S,C$Y,C@Q.2YH=&WM66USVC@0_MS^BJT[UTEF -M 4D(H,\3 E9D46J#3 MZT=A"ZRI;+FV".%^_:UD0P@OE]*2-MPUDQ D[6I?].R+[-J+9L\9?G[? E\& M'-Y_O+KN.&#D3?-3R3'-YK );X?OKJ%6@*=QK0 M4((;4R*I!].$A1/XY-'D"]B0SR\I'1'-8S;Q)10M^P(^B?@+NR$+"LDDI_76 MK<]&3-;,=(C"S$Q:;22\.21RSND;8RQ"F1^3@/%Y=<@"FD"7SJ O A)>ZK6$ M_4VKMA7)2Z6XQV[J-0(A"9 W*5^USEIM_&@7S\_:E8M*I?RZ_=II5)QFY[A M%MGY0:E8L.^;=#CM740;C1_'\4]/RRU.=EK]8:?=<1K#3J^+X=X??&QTAS#L MP1$:8U?@8V%0< HP:#G:(+MT9AVC)8T!-)J]]\-6\]C/9'$2%]8Y]-HP?-N" M0:-_U>BV!OG>7]>MS]!PAFJE:%G%1S.0T[%,QRSTT-AJN8($!PC[3@BN"$/J MJBH(,R9]D#Z%#U,2HT?Y'/HT$K$$7&R+. #;RG\ ,0;6%Z@YUK$8EXEF/E&, MAB."B(1SXQ3&(M9[12A9>$!1<6_IH+T5'=!(TF!$XUEDJ7I($QHRC6DO#!]2=(CW#,DI"#UJWKD_""45#@X EB;(3?Q6EAQ4><'.* MWDA-3UUEG.9@1G/(@6<.[PK0""<=*O M%LNXC^IQI*<6LR^F)KU'?J.A2-J9>S5"BW45W%T/VQ#Y=:XU2 MM7?F ENL9Y@ )16$ERQGC*<<$XB(PN8JG98S%].N4Q51URHD"T1TD3\@I M8-:PSTZ\TQ2<$?*Z"CBY)1#O(G09G1D:[8M2.64+=+:Y5)&TQ67Z@$V-Q]^P M_'%8%H\$EBS$DA2DQ0J+GB0HU\-96,4L8:KJ13%-%#QS:IEP#LB&&V/:Q84( M\9JD27F\3,>XH:>ODCI[(]64I^@66/^TS&0M51?@(6@>0?\P]%F2E1P\8VT_ M3HRHNO=&L;AAWEIIN:M$NK=5SD*&4.C%$995BHG! P(1B>7"8^GAY) L5M1L MC3@=&+J4&[KO4%44I49X8X<9UJ)$4(3ANL>/P+_[7X=\(_U4+U'A5 M0*ABA]]S@IVEC+U2Z![/*P(23UB8JD>F4BPF])T]G4D3IFVA\2,1>S3.NX)S M$B6TNOBR<4YW61=)4,/PC5$T=B?95,092C V M6OKG4?RQQF)O"=H#N,A,3'!ZUYVN[O:[?UZW=B7V7X4+@:+&7,RJ/O,PN ]A M='H-^PX<' GN[U_?=J;@QY#L8P^"V7!1_*X$B3U=*'=<'Y\ZVA85JG28DOBD MD/>K;/U=9OZ79:9QW1GTNM!L-;I/#13_O1J304EWNALX>O2(6'D ^'.KS];' MC ]=5=?>U?W,J_W6*]*.EX6;%Z3]'I@<\)7FLYJI7N/6G]?T^^7Z/U!+ 0(4 M Q0 ( )N 7T\I!BRS/0X )J? 1 " 0 !I( HII 0#0YA0 $P M @ $,BP$ :7)B="TR,#$Y.3(X,3!Q+FAT;5!+ 0(4 Q0 ( )N M7T^77\2. 0@ .8M 7 " 7 " 1P% P!I XML 47 R43.htm IDEA: XBRL DOCUMENT v3.19.3
Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 28, 2019
Sep. 29, 2018
Sep. 28, 2019
Sep. 29, 2018
Dec. 29, 2018
Business Acquisition [Line Items]          
Goodwill $ 117,537   $ 117,537   $ 118,896
Amortization of Acquired Intangible Assets $ 3,400 $ 4,800 $ 10,100 $ 14,800  

XML 48 R47.htm IDEA: XBRL DOCUMENT v3.19.3
Accrued Expenses (Details) - USD ($)
$ in Thousands
Sep. 28, 2019
Dec. 29, 2018
Accrued Liabilities, Current [Abstract]    
Accrued Professional Fees, Current $ 1,985 $ 2,052
Accounts Payable, Current [Abstract]    
Accrued Employee Benefits 14,625 10,518
Accrued warranty 12,372 11,964
Accrued bonus 9,050 21,226
Operating Lease, Liability, Current 6,307 0
Accrued direct fulfillment costs 13,000 5,372
Accrued sales and other taxes payable 3,073 11,397
Accrued federal and state income taxes 3,146 1,936
Accrued other 7,028 6,794
Accrued expenses $ 70,586 $ 71,259
XML 49 R26.htm IDEA: XBRL DOCUMENT v3.19.3
Inventory (Tables)
9 Months Ended
Sep. 28, 2019
Inventory Disclosure [Abstract]  
Components of Inventory Inventory
Inventory consists of the following (in thousands):
 
September 28, 2019
 
December 29, 2018
Raw materials
$
2,801

 
$
2,992

Finished goods
245,502

 
161,641

 
$
248,303

 
$
164,633


XML 50 FilingSummary.xml IDEA: XBRL DOCUMENT 3.19.3 html 121 297 1 true 33 0 false 5 false false R1.htm 0001000 - Document - Document and Entity Information Sheet http://www.irobot.com/role/DocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 1001000 - Statement - Consolidated Balance Sheets (Unaudited) Sheet http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited Consolidated Balance Sheets (Unaudited) Statements 2 false false R3.htm 1001501 - Statement - Consolidated Balance Sheets (Unaudited) (Parenthetical) Sheet http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical Consolidated Balance Sheets (Unaudited) (Parenthetical) Statements 3 false false R4.htm 1003000 - Statement - Consolidated Statements of Income Statement Sheet http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement Consolidated Statements of Income Statement Statements 4 false false R5.htm 1004000 - Statement - Consolidated Statements of Comprehensive Income (Unaudited) Sheet http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited Consolidated Statements of Comprehensive Income (Unaudited) Statements 5 false false R6.htm 1005000 - Statement - Consolidated Statement of Shareholders' Equity Statement Sheet http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement Consolidated Statement of Shareholders' Equity Statement Statements 6 false false R7.htm 1006000 - Statement - Consolidated Statements of Cash Flows (Unaudited) Sheet http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited Consolidated Statements of Cash Flows (Unaudited) Statements 7 false false R8.htm 2101100 - Disclosure - Description of Business Sheet http://www.irobot.com/role/DescriptionOfBusiness Description of Business Notes 8 false false R9.htm 2102100 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 9 false false R10.htm 2108100 - Disclosure - Revenue Recognition (Notes) Notes http://www.irobot.com/role/RevenueRecognitionNotes Revenue Recognition (Notes) Notes 10 false false R11.htm 2109100 - Disclosure - Leases (Notes) Notes http://www.irobot.com/role/LeasesNotes Leases (Notes) Notes 11 false false R12.htm 2116100 - Disclosure - Inventory Sheet http://www.irobot.com/role/Inventory Inventory Notes 12 false false R13.htm 2117100 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssets Goodwill, Other Intangible Assets and Other Assets Notes 13 false false R14.htm 2118100 - Disclosure - Accrued Expenses Sheet http://www.irobot.com/role/AccruedExpenses Accrued Expenses Notes 14 false false R15.htm 2119100 - Disclosure - Derivative Instruments (Notes) Notes http://www.irobot.com/role/DerivativeInstrumentsNotes Derivative Instruments (Notes) Notes 15 false false R16.htm 2122100 - Disclosure - Fair Value Measurements (Notes) Notes http://www.irobot.com/role/FairValueMeasurementsNotes Fair Value Measurements (Notes) Notes 16 false false R17.htm 2123100 - Disclosure - Stockholders Equity (Notes) Notes http://www.irobot.com/role/StockholdersEquityNotes Stockholders Equity (Notes) Notes 17 false false R18.htm 2124100 - Disclosure - Commitments and Contingencies Sheet http://www.irobot.com/role/CommitmentsAndContingencies Commitments and Contingencies Notes 18 false false R19.htm 2126100 - Disclosure - Income Taxes (Notes) Notes http://www.irobot.com/role/IncomeTaxesNotes Income Taxes (Notes) Notes 19 false false R20.htm 2127100 - Disclosure - Industry Segment, Geographic Information and Significant Customers Sheet http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomers Industry Segment, Geographic Information and Significant Customers Notes 20 false false R21.htm 2128100 - Disclosure - Subsequent Event (Notes) Notes http://www.irobot.com/role/SubsequentEventNotes Subsequent Event (Notes) Notes 21 false false R22.htm 2202201 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.irobot.com/role/SummaryOfSignificantAccountingPolicies 22 false false R23.htm 2308303 - Disclosure - Revenue Recognition Disaggregation of Revenue (Tables) Sheet http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueTables Revenue Recognition Disaggregation of Revenue (Tables) Tables 23 false false R24.htm 2308304 - Disclosure - Revenue Recognition Contract Balances (Tables) Sheet http://www.irobot.com/role/RevenueRecognitionContractBalancesTables Revenue Recognition Contract Balances (Tables) Tables 24 false false R25.htm 2309301 - Disclosure - Leases (Tables) Sheet http://www.irobot.com/role/LeasesTables Leases (Tables) Tables http://www.irobot.com/role/LeasesNotes 25 false false R26.htm 2316301 - Disclosure - Inventory (Tables) Sheet http://www.irobot.com/role/InventoryTables Inventory (Tables) Tables http://www.irobot.com/role/Inventory 26 false false R27.htm 2317301 - Disclosure - Goodwill, Other Intangible Assets and Other Assets (Tables) Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsTables Goodwill, Other Intangible Assets and Other Assets (Tables) Tables http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssets 27 false false R28.htm 2318301 - Disclosure - Accrued Expenses (Tables) Sheet http://www.irobot.com/role/AccruedExpensesTables Accrued Expenses (Tables) Tables http://www.irobot.com/role/AccruedExpenses 28 false false R29.htm 2319301 - Disclosure - Derivative Instruments (Tables) Sheet http://www.irobot.com/role/DerivativeInstrumentsTables Derivative Instruments (Tables) Tables http://www.irobot.com/role/DerivativeInstrumentsNotes 29 false false R30.htm 2319302 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Tables) Sheet http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables Derivative Instruments Schedule of Derivative Instruments (Tables) Tables 30 false false R31.htm 2324301 - Disclosure - Commitments and Contingencies (Tables) Sheet http://www.irobot.com/role/CommitmentsAndContingenciesTables Commitments and Contingencies (Tables) Tables http://www.irobot.com/role/CommitmentsAndContingencies 31 false false R32.htm 2327301 - Disclosure - Industry Segment, Geographic Information and Significant Customers (Tables) Sheet http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersTables Industry Segment, Geographic Information and Significant Customers (Tables) Tables http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomers 32 false false R33.htm 2402403 - Disclosure - Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail) Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail) Details 33 false false R34.htm 2402405 - Disclosure - Summary of Significant Accounting Policies Other Assets (Details) Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesOtherAssetsDetails Summary of Significant Accounting Policies Other Assets (Details) Details 34 false false R35.htm 2408405 - Disclosure - Revenue Recognition Significant Judgments (Details) Sheet http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsDetails Revenue Recognition Significant Judgments (Details) Details 35 false false R36.htm 2408406 - Disclosure - Revenue Recognition Disaggregation of Revenue (Details) Sheet http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails Revenue Recognition Disaggregation of Revenue (Details) Details http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueTables 36 false false R37.htm 2408407 - Disclosure - Revenue Recognition Contract Balances (Details) Sheet http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails Revenue Recognition Contract Balances (Details) Details http://www.irobot.com/role/RevenueRecognitionContractBalancesTables 37 false false R38.htm 2409402 - Disclosure - Leases Lease Cost (Details) Sheet http://www.irobot.com/role/LeasesLeaseCostDetails Leases Lease Cost (Details) Details 38 false false R39.htm 2409403 - Disclosure - Leases Supplemental Cash Flow (Details) Sheet http://www.irobot.com/role/LeasesSupplementalCashFlowDetails Leases Supplemental Cash Flow (Details) Details 39 false false R40.htm 2409404 - Disclosure - Leases Maturity of Operating Lease LIability (Details) Sheet http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails Leases Maturity of Operating Lease LIability (Details) Details 40 false false R41.htm 2409405 - Disclosure - Leases Financial Statement Impact of Adopting ASC 842 (Details) Sheet http://www.irobot.com/role/LeasesFinancialStatementImpactOfAdoptingAsc842Details Leases Financial Statement Impact of Adopting ASC 842 (Details) Details 41 false false R42.htm 2416402 - Disclosure - Inventory (Details) Sheet http://www.irobot.com/role/InventoryDetails Inventory (Details) Details http://www.irobot.com/role/InventoryTables 42 false false R43.htm 2417402 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail) Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail) Details 43 false false R44.htm 2417403 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail) Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail) Details 44 false false R45.htm 2417404 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details) Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details) Details 45 false false R46.htm 2417405 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details) Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details) Details 46 false false R47.htm 2418402 - Disclosure - Accrued Expenses (Details) Sheet http://www.irobot.com/role/AccruedExpensesDetails Accrued Expenses (Details) Details http://www.irobot.com/role/AccruedExpensesTables 47 false false R48.htm 2419403 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Details) Sheet http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails Derivative Instruments Schedule of Derivative Instruments (Details) Details http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables 48 false false R49.htm 2419404 - Disclosure - Derivative Instruments (Details) Sheet http://www.irobot.com/role/DerivativeInstrumentsDetails Derivative Instruments (Details) Details http://www.irobot.com/role/DerivativeInstrumentsTables 49 false false R50.htm 2422401 - Disclosure - Fair Value Measurements Fair Value on a Recurring Basis (Details) Sheet http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails Fair Value Measurements Fair Value on a Recurring Basis (Details) Details 50 false false R51.htm 2423402 - Disclosure - Stockholders Equity (Details) Sheet http://www.irobot.com/role/StockholdersEquityDetails Stockholders Equity (Details) Details http://www.irobot.com/role/StockholdersEquityNotes 51 false false R52.htm 2424402 - Disclosure - Commitments and Contingencies - Additional Information (Detail) Sheet http://www.irobot.com/role/CommitmentsAndContingenciesAdditionalInformationDetail Commitments and Contingencies - Additional Information (Detail) Details 52 false false R53.htm 2424404 - Disclosure - Commitments and Contingencies - Activity Related to Warranty Accrual (Detail) Sheet http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail Commitments and Contingencies - Activity Related to Warranty Accrual (Detail) Details 53 false false R54.htm 2426402 - Disclosure - Income Taxes (Details) Sheet http://www.irobot.com/role/IncomeTaxesDetails Income Taxes (Details) Details http://www.irobot.com/role/IncomeTaxesNotes 54 false false R55.htm 2427402 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail) Sheet http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail) Details 55 false false R56.htm 2427403 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail) Sheet http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail) Details 56 false false R57.htm 2428402 - Disclosure - Subsequent Event (Details) Sheet http://www.irobot.com/role/SubsequentEventDetails Subsequent Event (Details) Details http://www.irobot.com/role/SubsequentEventNotes 57 false false All Reports Book All Reports irbt-201992810q.htm irbt-20190928.xsd irbt-20190928_cal.xml irbt-20190928_def.xml irbt-20190928_lab.xml irbt-20190928_pre.xml irbtexhibit31192819.htm irbtexhibit31292819.htm irbtexhibit32192819.htm http://fasb.org/us-gaap/2018-01-31 http://xbrl.sec.gov/dei/2019-01-31 http://xbrl.sec.gov/invest/2013-01-31 http://xbrl.sec.gov/country/2017-01-31 http://fasb.org/srt/2018-01-31 true true XML 51 R22.htm IDEA: XBRL DOCUMENT v3.19.3
Summary of Significant Accounting Policies (Policies)
9 Months Ended
Sep. 28, 2019
Accounting Policies [Abstract]  
Basis of Presentation
Basis of Presentation
The accompanying consolidated financial statements include those of iRobot and its subsidiaries, after elimination of all intercompany balances and transactions. iRobot has prepared the accompanying unaudited consolidated financial statements in conformity with accounting principles generally accepted in the United States of America ("GAAP"). In addition, certain prior year amounts have been reclassified to conform to the current year presentation.
In the opinion of management, all adjustments necessary to the unaudited interim consolidated financial statements have been made to state fairly the Company's financial position. Interim results are not necessarily indicative of results for the full fiscal year or any future periods. The information included in this Form 10-Q should be read in conjunction with the Company's audited consolidated financial statements and notes thereto included in its Annual Report on Form 10-K for the fiscal year ended December 29, 2018, filed with the Securities and Exchange Commission on February 14, 2019.
The Company operates and reports using a 52-53 week fiscal year ending on the Saturday closest to December 31. Accordingly, the Company’s fiscal quarters end on the Saturday that falls closest to the last day of the third month of each quarter.
Use of Estimates
Use of Estimates
The preparation of these financial statements in conformity with GAAP requires the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition, including performance obligations, variable consideration and other obligations such as product returns and incentives; warranty costs; valuation of goodwill and acquired intangible assets; valuation of financial instruments; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. The Company bases these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that the Company believes are reasonable under the circumstances. Actual results may differ from the Company’s estimates.
Investment, Policy [Policy Text Block]
Other Assets
The Company holds non-marketable equity securities as part of its strategic investments portfolio. The Company classifies the majority of these securities as equity securities without readily determinable fair values and measures these investments at cost, less any impairment, adjusted for observable price changes. At September 28, 2019 and December 29, 2018, other assets consisted primarily of equity securities without readily determinable fair values and an equity method investment totaling $22.4 million and $15.1 million, respectively.
Net Income Per Share
Net Income Per Share
Basic income per share is calculated using the Company's weighted-average outstanding common shares. Diluted income
per share is calculated using the Company's weighted-average outstanding common shares including the dilutive effect of stock
awards as determined under the treasury stock method.

The following table presents the calculation of both basic and diluted net income per share (in thousands, except per share amounts): 
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Net income
$
35,532

 
$
31,929

 
$
65,259

 
$
62,801

Basic weighted-average common shares outstanding
28,154

 
27,493

 
28,029

 
27,692

Dilutive effect of employee stock awards
496

 
1,013

 
730

 
937

Diluted weighted-average common shares outstanding
28,650

 
28,506

 
28,759

 
28,629

Basic income per share
$
1.26

 
$
1.16

 
$
2.33

 
$
2.27

Diluted income per share
$
1.24

 
$
1.12

 
$
2.27

 
$
2.19

Employee stock awards representing approximately 0.4 million and 0.0 million shares of common stock for the three months ended September 28, 2019 and September 29, 2018, respectively, and approximately 0.1 million shares of common stock for the nine months ended September 28, 2019 and September 29, 2018, were excluded from the computation of diluted earnings per share as their effect would have been antidilutive.
Recent Accounting Pronouncements
Recently Adopted Accounting Standards
In June 2018, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2018-07, "Compensation - Stock Compensation: Improvements to Nonemployee Share-Based Payment Accounting (Topic 718)." The amendments in ASU No. 2018-07 expand the scope of Topic 718 to include share-based payments issued to nonemployees for goods or services. The amendments in this ASU are effective for annual periods beginning after December 15, 2018 and interim periods within those annual periods, with early adoption permitted. The Company adopted this standard effective December 30, 2018 which did not have a material impact on the Company's consolidated financial statements and related disclosures.
In February 2016, the FASB issued ASU No. 2016-02 "Leases." This ASU and subsequently issued amendments require lessees to recognize the assets and liabilities on their balance sheet for the rights and obligations created by most leases and continue to recognize expenses on their income statements over the lease term. The standard also requires disclosures designed to give financial statement users information on the amount, timing and uncertainty of cash flows arising from leases. In July 2018, the FASB issued ASU No. 2018-11, "Leases (Topic 842): Targeted Improvements," which provides an alternative transition method that entities can elect when adopting the new standard. Under this alternative transition method, a company is permitted to use its effective date as the date of initial application without restating comparative period financial statements. The Company adopted the standard effective December 30, 2018 using the alternative transition method which resulted in the recognition of operating lease right-of-use assets and operating lease liabilities of approximately $52.8 million and $67.3 million, respectively. The Company's consolidated financial statements as of and for the three and nine months ended September 28, 2019 are presented under the new standard, while the comparative quarter presented is not adjusted and continues to be reported in accordance with the historical accounting policy. See Note 4, "Leases," for the required disclosures related to the impact of adopting this standard and a discussion of the Company's updated policies related to lease accounting.
Recently Issued Accounting Standards
In August 2018, the FASB issued ASU No. 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software." The new standard aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. Implementation should be applied either retrospectively or prospectively to all implementation costs incurred after the date of adoption. The Company intends to adopt the ASU using the prospective method effective December 29, 2019, and does not expect the new standard will have a material impact on its consolidated financial statements.
In August 2018, the FASB issued ASU No. 2018-13, "Fair Value Measurement: Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement." The amendment modifies disclosure requirements related to fair value measurement. The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2019. Implementation on a prospective or retrospective basis varies by specific disclosure requirement. Early adoption is permitted. The standard also allows for early adoption of any removed or modified disclosures upon issuance of this ASU while delaying adoption of the additional disclosures until their effective date. The Company does not believe this amendment will have a material impact on its consolidated financial statements.
In June 2016, the FASB issued ASU No. 2016-13, "Measurement of Credit Losses on Financial Instruments," as clarified in ASU No. 2019-04 and ASU No. 2019-05. The guidance amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments. This may result in the earlier recognition of allowances for losses. The guidance is effective for fiscal years beginning after December 15, 2019, including interim periods within those fiscal years, with early adoption permitted. The Company intends to adopt the ASU effective December 29, 2019. The Company does not believe the new standard will have a material impact on its consolidated financial statements.
From time to time, new accounting pronouncements are issued by FASB that are adopted by the Company as of the specified effective date. Unless otherwise discussed, the Company believes that recently issued standards, which are not yet effective, will not have a material impact on the Company’s consolidated financial statements upon adoption.
XML 52 R33.htm IDEA: XBRL DOCUMENT v3.19.3
Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 28, 2019
Sep. 29, 2018
Sep. 28, 2019
Sep. 29, 2018
Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items]        
Document Period End Date     Sep. 28, 2019  
Net income $ 35,532 $ 31,929 $ 65,259 $ 62,801
Weighted-average shares outstanding 28,154 27,493 28,029 27,692
Dilutive effect of employee stock options and restricted shares 496 1,013 730 937
Diluted weighted-average shares outstanding 28,650 28,506 28,759 28,629
Basic income per share $ 1.26 $ 1.16 $ 2.33 $ 2.27
Diluted income per share $ 1.24 $ 1.12 $ 2.27 $ 2.19
Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount 400 0 100  
XML 53 R37.htm IDEA: XBRL DOCUMENT v3.19.3
Revenue Recognition Contract Balances (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 28, 2019
Sep. 29, 2018
Sep. 28, 2019
Sep. 29, 2018
Dec. 29, 2018
Revenue Recognition and Deferred Revenue [Abstract]          
Accounts Receivable, Net, Current $ 169,562   $ 169,562   $ 162,166
Contract with Customer, Liability, Revenue Recognized 1,700 $ 2,200 5,800 $ 6,700  
Contract with Customer, Liability $ 6,412   $ 6,412   $ 5,756
XML 54 R7.htm IDEA: XBRL DOCUMENT v3.19.3
Consolidated Statements of Cash Flows (Unaudited) - USD ($)
$ in Thousands
9 Months Ended
Sep. 28, 2019
Sep. 29, 2018
Cash flows from operating activities:    
Net income $ 65,259 $ 62,801
Adjustments to reconcile net income to net cash (used in) provided by operating activities, net of the effects of acquisition:    
Depreciation and amortization 27,744 27,000
Stock-based compensation 18,742 18,969
Deferred income taxes, net (5,873) (4,296)
Other 4,687 1,032
Changes in operating assets and liabilities — (use) source    
Accounts receivable (10,948) 31,930
Inventory (83,863) (54,619)
Other current assets (8,155) (18,418)
Accounts payable (27,256) (10,512)
Accrued expenses and other liabilities (11,916) (13,594)
Net cash (used in) provided by operating activities (31,579) 40,293
Cash flows from investing activities:    
Additions of property and equipment (27,080) (25,284)
Change in other assets (5,336) (2,263)
Proceeds from sale of equity investment 0 856
Cash paid for business acquisition, net of cash acquired 2,817 0
Purchases of investments 0 (6,438)
Sales and maturities of investments 9,380 10,500
Net cash used in investing activities (25,853) (22,629)
Cash flows from financing activities:    
Proceeds from employee stock plans 4,981 7,948
Income tax withholding payment associated with restricted stock vesting (7,277) (3,532)
Stock repurchases 0 50,000
Net cash used in financing activities (2,296) (45,584)
Effect of exchange rate changes on cash and cash equivalents (103) (593)
Net decrease in cash and cash equivalents (59,831) (28,513)
Cash and cash equivalents, at beginning of period 130,373 128,635
Cash and cash equivalents, at end of period $ 70,542 $ 100,122
XML 55 R18.htm IDEA: XBRL DOCUMENT v3.19.3
Commitments and Contingencies
9 Months Ended
Sep. 28, 2019
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
Legal Proceedings
From time to time and in the ordinary course of business, the Company is subject to various claims, charges and litigation. The outcome of litigation cannot be predicted with certainty and some lawsuits, claims or proceedings may be disposed of unfavorably to us, which could materially affect our financial condition or results of operations.
On October 24, 2019, purported Company shareholder Miramar Firefighters’ Pension Fund filed a putative class action in the U.S. District Court for the Southern District of New York against the Company and certain of its directors and officers, captioned Miramar Firefighters’ Pension Fund v. iRobot Corporation, et al., No. 1:19-cv-09837.  The complaint alleges violations of Sections 10(b) and 20(a) of the Securities Exchange Act of 1934 and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company’s acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company’s subsequent financial performance.  The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company’s allegedly inflated stock price, attorneys’ fees and costs, and unspecified equitable/injunctive relief.
Outstanding Purchase Orders
At September 28, 2019, the Company had outstanding purchase orders of approximately $135.2 million. These purchase orders, the majority of which are with contract manufacturers for the purchase of inventory in the normal course of business, are for manufacturing and non-manufacturing related goods and services, and are generally cancelable without penalty.
Guarantees and Indemnification Obligations
The Company enters into standard indemnification agreements in the ordinary course of business. Pursuant to these agreements, the Company indemnifies and agrees to reimburse the indemnified party for losses incurred by the indemnified party, generally the Company’s customers, in connection with any patent, copyright, trade secret or other proprietary right infringement claim by any third party. The term of these indemnification agreements is generally perpetual any time after execution of the agreement. The maximum potential amount of future payments the Company could be required to make under these indemnification agreements is unlimited. The Company has never incurred costs to defend lawsuits or settle claims related to these indemnification agreements. As a result, the Company believes the estimated fair value of these agreements is minimal. Accordingly, the Company has no liabilities recorded for these agreements as of September 28, 2019 and December 29, 2018, respectively.
Warranty
The Company provides warranties on most products and has established a reserve for warranty obligations based on estimated warranty costs. The reserve is included as part of accrued expenses (Note 7) in the accompanying consolidated balance sheets.    
Activity related to the warranty accrual was as follows (in thousands):
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Balance at beginning of period
$
11,970

 
$
11,233

 
$
11,964

 
$
11,264

Provision
3,484

 
2,682

 
8,817

 
7,310

Warranty usage
(3,082
)
 
(2,485
)
 
(8,409
)
 
(7,144
)
Balance at end of period
$
12,372

 
$
11,430

 
$
12,372

 
$
11,430


XML 56 R3.htm IDEA: XBRL DOCUMENT v3.19.3
Consolidated Balance Sheets (Unaudited) (Parenthetical) - $ / shares
Sep. 28, 2019
Dec. 29, 2018
Preferred stock, shares authorized 5,000,000 5,000,000
Preferred stock, shares outstanding
Common stock, par value $ 0.01 $ 0.01
Common stock, shares authorized 100,000,000 100,000,000
Common stock, shares issued 28,245,000 27,788,000
Common stock, shares outstanding 28,245,000 27,788,000
XML 57 R14.htm IDEA: XBRL DOCUMENT v3.19.3
Accrued Expenses
9 Months Ended
Sep. 28, 2019
Accrued Liabilities, Current [Abstract]  
Accrued Expenses Accrued Expenses
Accrued expenses consisted of the following at (in thousands):
 
September 28, 2019
 
December 29, 2018
Accrued other compensation
$
14,625

 
$
10,518

Accrued warranty
12,372

 
11,964

Accrued direct fulfillment costs
13,000

 
5,372

Accrued bonus
9,050

 
21,226

Current portion of operating lease liabilities
6,307

 

Accrued sales and other indirect taxes payable
3,073

 
11,397

Accrued federal and state income taxes
3,146

 
1,936

Accrued accounting fees
1,985

 
2,052

Accrued other
7,028

 
6,794

 
$
70,586

 
$
71,259


XML 58 R10.htm IDEA: XBRL DOCUMENT v3.19.3
Revenue Recognition (Notes)
9 Months Ended
Sep. 28, 2019
Revenue Recognition and Deferred Revenue [Abstract]  
Revenue from Contract with Customer [Text Block] Revenue Recognition
The Company primarily derives its revenue from product sales. The Company sells products directly to consumers through on-line stores and indirectly through resellers and distributors. Revenue is recognized upon transfer of control of promised products or services to customers, generally as title and risk of loss passes, in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. Taxes collected from customers, which are subsequently remitted to governmental authorities, are excluded from revenue. Shipping and handling expenses are considered fulfillment activities and are expensed as incurred.
The Company’s product portfolio includes various consumer robots, many of which are Wi-Fi connected. The consumer robots are generally highly dependent on, and interrelated with, the embedded software and cannot function without the software. As such, the consumer robots are accounted for as a single performance obligation, and the revenue is recognized at a point in time when the control is transferred to distributors, resellers or directly to end customers through on-line stores. For consumer robots with Wi-Fi capability ("connected robots"), each sale represents an arrangement with multiple promises consisting of the robot, an app, cloud services and potential future unspecified software upgrades. The Company has determined that the app, cloud services and potential future unspecified software upgrades represent one promised service to the customer to enhance the functionality and interaction with the robot (referred to collectively as "Cloud Services"). For certain connected robots, the Company has concluded that, on a quantitative and qualitative basis, the Cloud Services do not constitute a material performance obligation and, as such, these services are not considered a separate performance obligation that requires allocation of transaction price.
During the third quarter of 2018, the Company launched Roomba i7 and i7+ which brought a new level of intelligence and automation to robotic vacuum cleaners with the ability to learn, map and adapt to a home's floor plan. The Company has concluded that beginning with this launch, the Cloud Services related to these new products are a material performance obligation. For contracts that contain multiple performance obligations, the transaction price is allocated to each performance obligation based on a relative standalone selling price ("SSP"). The SSP reflects the Company's best estimate of what the selling prices of performance obligations would be if they were sold regularly on a standalone basis. Revenue allocated to the robots is recognized at a point in time when control is transferred. Revenue allocated to the Cloud Services is deferred and recognized on a straight-line basis over the estimated period the software upgrades and services are expected to be provided. For contracts with a duration of greater than one year, the transaction price allocated to performance obligations that are unsatisfied as of September 28, 2019 is not material. The Company does not disclose the value of unsatisfied performance obligations for contracts with an original expected duration of one year or less.
The Company’s products generally carry a one-year limited warranty that promises customers that delivered products are as specified. The Company does not consider these assurance-type warranties as a separate performance obligation and therefore, the Company accounts for such warranties under ASC 460, "Guarantees."
Significant Judgments
The Company provides limited rights of returns for direct-to-consumer sales generated through its on-line stores and certain resellers and distributors. In addition, the Company may provide other credits or incentives, including price protection, which are accounted for as variable consideration when estimating the amount of revenue to recognize. Where appropriate, these estimates take into consideration relevant factors such as the Company’s historical experience, current contractual requirements, specific known market events and trends and forecasted customer buying and payment patterns. Overall, these reserves reflect the Company’s best estimates, and the actual amounts of consideration ultimately received may differ from the Company’s estimates. Returns and credits are estimated at contract inception and updated at the end of each reporting period as additional information becomes available and only to the extent that it is probable that a significant reversal of any incremental revenue will not occur. As of September 28, 2019, the Company has reserves for product returns of $41.7 million and other credits and incentives of $78.6 million. As of December 29, 2018, the Company had reserves for product returns of $53.9 million and other credits and incentives of $97.7 million. Revenue recognized during the three and nine months
ended September 28, 2019 and September 29, 2018 related to performance obligations satisfied in a prior period was not material.
Disaggregation of Revenue
The following table provides information about disaggregated revenue by geographical region (in thousands):
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
United States
$
117,929

 
$
127,240

 
$
356,466

 
$
345,628

EMEA
93,688

 
73,831

 
251,150

 
213,541

Other
77,782

 
63,463

 
179,616

 
148,750

Total revenue
$
289,399

 
$
264,534

 
$
787,232

 
$
707,919


Contract Balances
The following table provides information about receivables and contract liabilities from contracts with customers (in thousands):
 
September 28, 2019
 
December 29, 2018
Accounts receivable, net
$
169,562

 
$
162,166

Contract liabilities
6,412

 
5,756

The Company invoices customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract liabilities primarily relate to prepayments received from customers in advance of product shipments. The change in the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and the customer’s payment. During the three months ended September 28, 2019 and September 29, 2018, the Company recognized $1.7 million and $2.2 million, respectively, of the contract liability balance as revenue upon transfer of the products to customers. During the nine months ended September 28, 2019 and September 29, 2018, the Company recognized $5.8 million and $6.7 million, respectively, of the contract liability balance as revenue upon transfer of the products to customers. The Company does not assess whether a prepayment received represents a significant financing component as the period between when the payment is received and the transfer of the products to the customer is generally one year or less.
JSON 59 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "irbt-201992810q.htm": { "axisCustom": 0, "axisStandard": 13, "contextCount": 121, "dts": { "calculationLink": { "local": [ "irbt-20190928_cal.xml" ] }, "definitionLink": { "local": [ "irbt-20190928_def.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-eedm-def-2018-01-31.xml", "http://xbrl.fasb.org/srt/2018/elts/srt-eedm1-def-2018-01-31.xml" ] }, "inline": { "local": [ "irbt-201992810q.htm" ] }, "labelLink": { "local": [ "irbt-20190928_lab.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-doc-2018-01-31.xml", "http://xbrl.sec.gov/invest/2013/invest-doc-2013-01-31.xml", "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml" ] }, "presentationLink": { "local": [ "irbt-20190928_pre.xml" ] }, "referenceLink": { "remote": [ "http://xbrl.sec.gov/invest/2013/invest-ref-2013-01-31.xml", "https://xbrl.sec.gov/dei/2019/dei-ref-2019-01-31.xml", "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-ref-2018-01-31.xml" ] }, "schema": { "local": [ "irbt-20190928.xsd" ], "remote": [ "http://xbrl.fasb.org/srt/2018/elts/srt-2018-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/2018/elts/srt-types-2018-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2018/elts/us-roles-2018-01-31.xsd", "http://xbrl.fasb.org/srt/2018/elts/srt-roles-2018-01-31.xsd", "http://xbrl.sec.gov/country/2017/country-2017-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2018/elts/us-types-2018-01-31.xsd", "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd", "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd", "https://xbrl.sec.gov/exch/2018/exch-2018-01-31.xsd", "http://xbrl.sec.gov/invest/2013/invest-2013-01-31.xsd", "http://xbrl.sec.gov/naics/2017/naics-2017-01-31.xsd", "http://xbrl.sec.gov/sic/2011/sic-2011-01-31.xsd", "https://xbrl.sec.gov/stpr/2018/stpr-2018-01-31.xsd", "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "http://xbrl.fasb.org/us-gaap/2018/elts/us-parts-codification-2018-01-31.xsd" ] } }, "elementCount": 400, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2018-01-31": 14, "http://xbrl.sec.gov/dei/2019-01-31": 5, "total": 19 }, "keyCustom": 10, "keyStandard": 287, "memberCustom": 2, "memberStandard": 28, "nsprefix": "irbt", "nsuri": "http://www.irobot.com/20190928", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "0001000 - Document - Document and Entity Information", "role": "http://www.irobot.com/role/DocumentAndEntityInformation", "shortName": "Document and Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2108100 - Disclosure - Revenue Recognition (Notes)", "role": "http://www.irobot.com/role/RevenueRecognitionNotes", "shortName": "Revenue Recognition (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2109100 - Disclosure - Leases (Notes)", "role": "http://www.irobot.com/role/LeasesNotes", "shortName": "Leases (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2116100 - Disclosure - Inventory", "role": "http://www.irobot.com/role/Inventory", "shortName": "Inventory", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2117100 - Disclosure - Goodwill, Other Intangible Assets and Other Assets", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssets", "shortName": "Goodwill, Other Intangible Assets and Other Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2118100 - Disclosure - Accrued Expenses", "role": "http://www.irobot.com/role/AccruedExpenses", "shortName": "Accrued Expenses", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2119100 - Disclosure - Derivative Instruments (Notes)", "role": "http://www.irobot.com/role/DerivativeInstrumentsNotes", "shortName": "Derivative Instruments (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2122100 - Disclosure - Fair Value Measurements (Notes)", "role": "http://www.irobot.com/role/FairValueMeasurementsNotes", "shortName": "Fair Value Measurements (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2123100 - Disclosure - Stockholders Equity (Notes)", "role": "http://www.irobot.com/role/StockholdersEquityNotes", "shortName": "Stockholders Equity (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2124100 - Disclosure - Commitments and Contingencies", "role": "http://www.irobot.com/role/CommitmentsAndContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2126100 - Disclosure - Income Taxes (Notes)", "role": "http://www.irobot.com/role/IncomeTaxesNotes", "shortName": "Income Taxes (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1001000 - Statement - Consolidated Balance Sheets (Unaudited)", "role": "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "shortName": "Consolidated Balance Sheets (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2127100 - Disclosure - Industry Segment, Geographic Information and Significant Customers", "role": "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomers", "shortName": "Industry Segment, Geographic Information and Significant Customers", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2128100 - Disclosure - Subsequent Event (Notes)", "role": "http://www.irobot.com/role/SubsequentEventNotes", "shortName": "Subsequent Event (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2202201 - Disclosure - Summary of Significant Accounting Policies (Policies)", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies", "shortName": "Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2308303 - Disclosure - Revenue Recognition Disaggregation of Revenue (Tables)", "role": "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueTables", "shortName": "Revenue Recognition Disaggregation of Revenue (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2308304 - Disclosure - Revenue Recognition Contract Balances (Tables)", "role": "http://www.irobot.com/role/RevenueRecognitionContractBalancesTables", "shortName": "Revenue Recognition Contract Balances (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2309301 - Disclosure - Leases (Tables)", "role": "http://www.irobot.com/role/LeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2316301 - Disclosure - Inventory (Tables)", "role": "http://www.irobot.com/role/InventoryTables", "shortName": "Inventory (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2317301 - Disclosure - Goodwill, Other Intangible Assets and Other Assets (Tables)", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsTables", "shortName": "Goodwill, Other Intangible Assets and Other Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2318301 - Disclosure - Accrued Expenses (Tables)", "role": "http://www.irobot.com/role/AccruedExpensesTables", "shortName": "Accrued Expenses (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2319301 - Disclosure - Derivative Instruments (Tables)", "role": "http://www.irobot.com/role/DerivativeInstrumentsTables", "shortName": "Derivative Instruments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "1001501 - Statement - Consolidated Balance Sheets (Unaudited) (Parenthetical)", "role": "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "shortName": "Consolidated Balance Sheets (Unaudited) (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R30": { "firstAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashFlowHedgesIncludedInAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2319302 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Tables)", "role": "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables", "shortName": "Derivative Instruments Schedule of Derivative Instruments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashFlowHedgesIncludedInAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2324301 - Disclosure - Commitments and Contingencies (Tables)", "role": "http://www.irobot.com/role/CommitmentsAndContingenciesTables", "shortName": "Commitments and Contingencies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2327301 - Disclosure - Industry Segment, Geographic Information and Significant Customers (Tables)", "role": "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersTables", "shortName": "Industry Segment, Geographic Information and Significant Customers (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2402403 - Disclosure - Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail)", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail", "shortName": "Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "lang": null, "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "span", "span", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2402405 - Disclosure - Summary of Significant Accounting Policies Other Assets (Details)", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesOtherAssetsDetails", "shortName": "Summary of Significant Accounting Policies Other Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-5", "first": true, "lang": null, "name": "irbt:Refundliabilityproductreturns", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2408405 - Disclosure - Revenue Recognition Significant Judgments (Details)", "role": "http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsDetails", "shortName": "Revenue Recognition Significant Judgments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-5", "first": true, "lang": null, "name": "irbt:Refundliabilityproductreturns", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2408406 - Disclosure - Revenue Recognition Disaggregation of Revenue (Details)", "role": "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails", "shortName": "Revenue Recognition Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccountsReceivableNetCurrent", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2408407 - Disclosure - Revenue Recognition Contract Balances (Details)", "role": "http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails", "shortName": "Revenue Recognition Contract Balances (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-5", "lang": null, "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent", "reportCount": 1, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409402 - Disclosure - Leases Lease Cost (Details)", "role": "http://www.irobot.com/role/LeasesLeaseCostDetails", "shortName": "Leases Lease Cost (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "lang": null, "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409403 - Disclosure - Leases Supplemental Cash Flow (Details)", "role": "http://www.irobot.com/role/LeasesSupplementalCashFlowDetails", "shortName": "Leases Supplemental Cash Flow (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "irbt:ScheduleOfLeasesSupplementalCashFlowTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "lang": null, "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1003000 - Statement - Consolidated Statements of Income Statement", "role": "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "shortName": "Consolidated Statements of Income Statement", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "lang": null, "name": "irbt:Costofproductrevenue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409404 - Disclosure - Leases Maturity of Operating Lease LIability (Details)", "role": "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails", "shortName": "Leases Maturity of Operating Lease LIability (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409405 - Disclosure - Leases Financial Statement Impact of Adopting ASC 842 (Details)", "role": "http://www.irobot.com/role/LeasesFinancialStatementImpactOfAdoptingAsc842Details", "shortName": "Leases Financial Statement Impact of Adopting ASC 842 (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "I2019Q1AdoptionASC842", "decimals": "-5", "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2416402 - Disclosure - Inventory (Details)", "role": "http://www.irobot.com/role/InventoryDetails", "shortName": "Inventory (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2417402 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail)", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "shortName": "Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": null }, "R44": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2417403 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail)", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail", "shortName": "Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2018Q4", "decimals": "-3", "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2417404 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details)", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails", "shortName": "Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": "-3", "lang": null, "name": "us-gaap:GoodwillAcquiredDuringPeriod", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2417405 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details)", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails", "shortName": "Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccruedProfessionalFeesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2418402 - Disclosure - Accrued Expenses (Details)", "role": "http://www.irobot.com/role/AccruedExpensesDetails", "shortName": "Accrued Expenses (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccruedProfessionalFeesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2419403 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Details)", "role": "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "shortName": "Derivative Instruments Schedule of Derivative Instruments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2018Q4_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_DesignatedAsHedgingInstrumentMember", "decimals": "-5", "lang": null, "name": "invest:DerivativeNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2419404 - Disclosure - Derivative Instruments (Details)", "role": "http://www.irobot.com/role/DerivativeInstrumentsDetails", "shortName": "Derivative Instruments (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R5": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1004000 - Statement - Consolidated Statements of Comprehensive Income (Unaudited)", "role": "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "shortName": "Consolidated Statements of Comprehensive Income (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentBeforeTaxPortionAttributableToParent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2422401 - Disclosure - Fair Value Measurements Fair Value on a Recurring Basis (Details)", "role": "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails", "shortName": "Fair Value Measurements Fair Value on a Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "I2018Q1RepurchaseDate", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2423402 - Disclosure - Stockholders Equity (Details)", "role": "http://www.irobot.com/role/StockholdersEquityDetails", "shortName": "Stockholders Equity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "I2018Q1RepurchaseDate", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ContractualObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2424402 - Disclosure - Commitments and Contingencies - Additional Information (Detail)", "role": "http://www.irobot.com/role/CommitmentsAndContingenciesAdditionalInformationDetail", "shortName": "Commitments and Contingencies - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q3", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ContractualObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StandardProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2424404 - Disclosure - Commitments and Contingencies - Activity Related to Warranty Accrual (Detail)", "role": "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail", "shortName": "Commitments and Contingencies - Activity Related to Warranty Accrual (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2019Q2", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StandardProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3QTD", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2426402 - Disclosure - Income Taxes (Details)", "role": "http://www.irobot.com/role/IncomeTaxesDetails", "shortName": "Income Taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3QTD", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "span", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2427402 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail)", "role": "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail", "shortName": "Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2427403 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail)", "role": "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "shortName": "Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3QTD_srt_MajorCustomersAxis_irbt_AmazonMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember", "decimals": "3", "lang": null, "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "span", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "D2019Q4SD", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:GainLossOnSaleOfEquityInvestments", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2428402 - Disclosure - Subsequent Event (Details)", "role": "http://www.irobot.com/role/SubsequentEventDetails", "shortName": "Subsequent Event (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "D2019Q4SD", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:GainLossOnSaleOfEquityInvestments", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesIssued", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1005000 - Statement - Consolidated Statement of Shareholders' Equity Statement", "role": "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "shortName": "Consolidated Statement of Shareholders' Equity Statement", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesIssued", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1006000 - Statement - Consolidated Statements of Cash Flows (Unaudited)", "role": "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited", "shortName": "Consolidated Statements of Cash Flows (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": "-3", "lang": null, "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2101100 - Disclosure - Description of Business", "role": "http://www.irobot.com/role/DescriptionOfBusiness", "shortName": "Description of Business", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2102100 - Disclosure - Summary of Significant Accounting Policies", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPolicies", "shortName": "Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "irbt-201992810q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 33, "tag": { "country_US": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "UNITED STATES", "terseLabel": "UNITED STATES" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2017-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This is focus fiscal year of the document report in CCYY 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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "gYearItemType" }, "dei_DocumentInformationTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.", "label": "Document Information [Table]", "terseLabel": "Document Information [Table]" } } }, "localname": "DocumentInformationTable", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "stringItemType" }, "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 CCYY-MM-DD.", "label": "Document Period End Date", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DocumentAndEntityInformation", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "http://www.irobot.com/role/LeasesSupplementalCashFlowDetails", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r308" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r309" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r310" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.", "label": "Entity [Domain]", "terseLabel": "Entity [Domain]" } } }, "localname": "EntityDomain", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.irobot.com/role/DocumentAndEntityInformation", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r310" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r310" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInformationLineItems": { "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": "Entity Information [Line Items]", "terseLabel": "Entity Information [Line Items]" } } }, "localname": "EntityInformationLineItems", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "stringItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r311" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r310" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r310" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r310" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r310" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "employerIdItemType" }, "dei_LegalEntityAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The set of legal entities associated with a report.", "label": "Legal Entity [Axis]", "terseLabel": "Legal Entity [Axis]" } } }, "localname": "LegalEntityAxis", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.irobot.com/role/DocumentAndEntityInformation", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "stringItemType" }, "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r306" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r307" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "invest_DerivativeNotionalAmount": { "auth_ref": [ "r312" ], "lang": { "en-US": { "role": { "documentation": "Aggregate notional amount specified by the derivative(s). Expressed as an absolute value.", "label": "Derivative, Notional Amount", "terseLabel": "Derivative, Notional Amount" } } }, "localname": "DerivativeNotionalAmount", "nsuri": "http://xbrl.sec.gov/invest/2013-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "irbt_AccruedDirectFulfillmentCosts": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 5.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accrued direct fulfillment costs.", "label": "Accrued Direct Fulfillment Costs", "terseLabel": "Accrued direct fulfillment costs" } } }, "localname": "AccruedDirectFulfillmentCosts", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "irbt_AccruedSalesTax": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 6.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accrued Sales Tax", "label": "Accrued Sales Tax", "terseLabel": "Accrued sales and other taxes payable" } } }, "localname": "AccruedSalesTax", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "irbt_AdjustmentsToAdditionalPaidInCapitalDirectorsDeferredCompensation": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Adjustments to additional paid in capital directors deferred compensation.", "label": "Adjustments to Additional Paid in Capital Directors Deferred Compensation", "terseLabel": "Adjustments to Additional Paid in Capital Directors Deferred Compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalDirectorsDeferredCompensation", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "irbt_AllOtherRegionsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "All Other Regions [Member]", "label": "All Other Regions [Member]", "terseLabel": "All Other Regions [Member]" } } }, "localname": "AllOtherRegionsMember", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "irbt_AmazonMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Amazon [Member]", "label": "Amazon [Member]", "terseLabel": "Amazon [Member]" } } }, "localname": "AmazonMember", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "irbt_AmortizationofIntangibleAssetsNonproduction": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amortization of Intangible Assets, Nonproduction", "label": "Amortization of Intangible Assets, Nonproduction", "terseLabel": "Amortization of acquired intangible assets" } } }, "localname": "AmortizationofIntangibleAssetsNonproduction", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "irbt_Costofproductrevenue": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Cost of product revenue", "label": "Cost of product revenue", "terseLabel": "Cost of product revenue" } } }, "localname": "Costofproductrevenue", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "irbt_DisclosureActivityRelatedToWarrantyAccrualAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure - Activity Related to Warranty Accrual [Abstract]", "label": "Disclosure Activity Related To Warranty Accrual [Abstract]" } } }, "localname": "DisclosureActivityRelatedToWarrantyAccrualAbstract", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail" ], "xbrltype": "stringItemType" }, "irbt_DisclosureBasicAndDilutedNetIncomePerShareAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure - Basic and Diluted Net Income Per Share [Abstract]", "label": "Disclosure Basic And Diluted Net Income Per Share [Abstract]" } } }, "localname": "DisclosureBasicAndDilutedNetIncomePerShareAbstract", "nsuri": "http://www.irobot.com/20190928", "xbrltype": "stringItemType" }, "irbt_DisclosureGoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure - Goodwill, Other Intangible Assets and Other Assets - Additional Information [Abstract]", "label": "Disclosure Goodwill Other Intangible Assets And Other Assets Additional Information [Abstract]" } } }, "localname": "DisclosureGoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationAbstract", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "irbt_DisclosureOtherIntangibleAssetsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure Other Intangible Assets [Abstract]", "label": "Disclosure Other Intangible Assets [Abstract]" } } }, "localname": "DisclosureOtherIntangibleAssetsAbstract", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "stringItemType" }, "irbt_DisclosureSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes [Abstract]", "label": "Disclosure Segment Information About Revenue Cost Of Revenue Gross Margin And Income Before Income Taxes [Abstract]" } } }, "localname": "DisclosureSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesAbstract", "nsuri": "http://www.irobot.com/20190928", "xbrltype": "stringItemType" }, "irbt_DocumentDocumentandEntityInformationAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Document Documentand Entity Information [Abstract]", "label": "Document Documentand Entity Information [Abstract]" } } }, "localname": "DocumentDocumentandEntityInformationAbstract", "nsuri": "http://www.irobot.com/20190928", "xbrltype": "stringItemType" }, "irbt_EquityandcostmethodinvestmentsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Equity and cost method investments [Abstract]", "label": "Equity and cost method investments [Abstract]" } } }, "localname": "EquityandcostmethodinvestmentsAbstract", "nsuri": "http://www.irobot.com/20190928", "xbrltype": "stringItemType" }, "irbt_FairValueFootnoteAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Fair Value Footnote [Abstract]", "label": "Fair Value Footnote [Abstract]" } } }, "localname": "FairValueFootnoteAbstract", "nsuri": "http://www.irobot.com/20190928", "xbrltype": "stringItemType" }, "irbt_Finitelivedintangibleassetsfutureamortizationtotal": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Finite-lived intangible assets, future amortization total", "label": "Finite-lived intangible assets, future amortization total", "terseLabel": "Total" } } }, "localname": "Finitelivedintangibleassetsfutureamortizationtotal", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "irbt_FinitelivedintangibleassetsscheduleofamortizationexpenseLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "[Line Items] for Finite-lived intangible assets, schedule of amortization expense [Table]", "label": "Finite-lived intangible assets, schedule of amortization expense [Line Items]", "terseLabel": "Finite-lived intangible assets, schedule of amortization expense [Line Items]" } } }, "localname": "FinitelivedintangibleassetsscheduleofamortizationexpenseLineItems", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "stringItemType" }, "irbt_FinitelivedintangibleassetsscheduleofamortizationexpenseTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Finite-lived intangible assets, schedule of amortization expense [Table]", "label": "Finite-lived intangible assets, schedule of amortization expense [Table]", "terseLabel": "Finite-lived intangible assets, schedule of amortization expense [Table]" } } }, "localname": "FinitelivedintangibleassetsscheduleofamortizationexpenseTable", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "stringItemType" }, "irbt_OperatingLeaseCostAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Operating Lease Cost [Abstract]", "label": "Operating Lease Cost [Abstract]" } } }, "localname": "OperatingLeaseCostAbstract", "nsuri": "http://www.irobot.com/20190928", "xbrltype": "stringItemType" }, "irbt_OutstandingPOsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Outstanding POs [Abstract]", "label": "Outstanding POs [Abstract]" } } }, "localname": "OutstandingPOsAbstract", "nsuri": "http://www.irobot.com/20190928", "xbrltype": "stringItemType" }, "irbt_Refundliabilityothercreditsandincentives": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Refund liability, other credits and incentives", "label": "Refund liability, other credits and incentives", "terseLabel": "Refund liability, other credits and incentives" } } }, "localname": "Refundliabilityothercreditsandincentives", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsDetails" ], "xbrltype": "monetaryItemType" }, "irbt_Refundliabilityproductreturns": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Refund liability, product returns", "label": "Refund liability, product returns", "terseLabel": "Refund liability, product returns" } } }, "localname": "Refundliabilityproductreturns", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsDetails" ], "xbrltype": "monetaryItemType" }, "irbt_ReturnsreserveadjustmentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Returns reserve adjustment [Abstract]", "label": "Returns reserve adjustment [Abstract]" } } }, "localname": "ReturnsreserveadjustmentAbstract", "nsuri": "http://www.irobot.com/20190928", "xbrltype": "stringItemType" }, "irbt_ScheduleOfComputationOfBasicAndDilutedEarningsPerCommonShareLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items]", "label": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items]", "terseLabel": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items]" } } }, "localname": "ScheduleOfComputationOfBasicAndDilutedEarningsPerCommonShareLineItems", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "stringItemType" }, "irbt_ScheduleOfComputationOfBasicAndDilutedEarningsPerCommonShareTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table]", "label": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table]", "terseLabel": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table]" } } }, "localname": "ScheduleOfComputationOfBasicAndDilutedEarningsPerCommonShareTable", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "stringItemType" }, "irbt_ScheduleOfLeasesSupplementalCashFlowTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "ScheduleOfLeasesSupplementalCashFlow [Table Text Block]", "label": "ScheduleOfLeasesSupplementalCashFlow [Table Text Block]", "terseLabel": "ScheduleOfLeasesSupplementalCashFlow [Table Text Block]" } } }, "localname": "ScheduleOfLeasesSupplementalCashFlowTableTextBlock", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "irbt_ScheduleofDerivativeInstrumentsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule of Derivative Instruments [Abstract]", "label": "Schedule of Derivative Instruments [Abstract]" } } }, "localname": "ScheduleofDerivativeInstrumentsAbstract", "nsuri": "http://www.irobot.com/20190928", "xbrltype": "stringItemType" }, "irbt_StockWithheldToCoverTaxWithholdingRequirementsUponVestingToRestrictedStockUnitsAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Stock withheld to Cover tax withholding requirements Upon Vesting to restricted Stock Units.", "label": "Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount", "terseLabel": "Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount" } } }, "localname": "StockWithheldToCoverTaxWithholdingRequirementsUponVestingToRestrictedStockUnitsAmount", "nsuri": "http://www.irobot.com/20190928", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r129", "r138" ], "lang": { "en-US": { "role": { "label": "Consolidation Items [Axis]", "terseLabel": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Consolidation Items [Domain]", "terseLabel": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r141", "r188", "r193" ], "lang": { "en-US": { "role": { "label": "Customer [Axis]", "terseLabel": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r139", "r188", "r191", "r301" ], "lang": { "en-US": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Product and Service [Domain]", "terseLabel": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Range [Axis]", "terseLabel": "Range [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Range [Domain]", "terseLabel": "Range [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "domainItemType" }, "srt_RestatementAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Restatement [Axis]", "terseLabel": "Restatement [Axis]" } } }, "localname": "RestatementAxis", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "stringItemType" }, "srt_RestatementDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Restatement [Domain]", "terseLabel": "Restatement [Domain]" } } }, "localname": "RestatementDomain", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r140", "r188", "r192", "r303", "r304" ], "lang": { "en-US": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "auth_ref": [ "r35" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.", "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "terseLabel": "Accrued Expenses" } } }, "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpenses" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r34" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsPayableCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Accounts Payable, Current [Abstract]", "terseLabel": "Accounts Payable, Current [Abstract]" } } }, "localname": "AccountsPayableCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r21", "r189" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount due from customers or clients, within one year of the balance sheet date (or the normal operating cycle, whichever is longer), for goods or services (including trade receivables) that have been delivered or sold in the normal course of business, reduced to the estimated net realizable fair value by an allowance established by the entity of the amount it deems uncertain of collection.", "label": "Accounts Receivable, Net, Current", "terseLabel": "Accounts receivable, net", "verboseLabel": "Accounts Receivable, Net, Current" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedBonusesCurrentAndNoncurrent": { "auth_ref": [ "r286", "r297" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements.", "label": "Accrued Bonuses", "terseLabel": "Accrued bonus" } } }, "localname": "AccruedBonusesCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedEmployeeBenefitsCurrentAndNoncurrent": { "auth_ref": [ "r286", "r297" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them.", "label": "Accrued Employee Benefits", "terseLabel": "Accrued Employee Benefits" } } }, "localname": "AccruedEmployeeBenefitsCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxes": { "auth_ref": [ "r14", "r17", "r209", "r284", "r292" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 7.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all domestic and foreign income tax obligations due. This amount is the total of current and noncurrent accrued income taxes.", "label": "Accrued Income Taxes", "terseLabel": "Accrued federal and state income taxes" } } }, "localname": "AccruedIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r38" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Liabilities, Current", "terseLabel": "Accrued expenses", "totalLabel": "Accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails", "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Accrued Liabilities, Current [Abstract]" } } }, "localname": "AccruedLiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccruedLiabilitiesMember": { "auth_ref": [ "r38" ], "lang": { "en-US": { "role": { "documentation": "This item represents 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.", "label": "Accrued Liabilities [Member]", "terseLabel": "Accrued Liabilities [Member]" } } }, "localname": "AccruedLiabilitiesMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccruedProfessionalFeesCurrent": { "auth_ref": [ "r5", "r6", "r38" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 8.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": "Accrued Professional Fees, Current" } } }, "localname": "AccruedProfessionalFeesCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r50", "r51", "r52" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive income (loss)" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r49", "r52", "r55", "r222" ], "lang": { "en-US": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]", "terseLabel": "AOCI Attributable to Parent [Member]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r22" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [], "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 [Member]" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsForChangeInAccountingPrincipleAxis": { "auth_ref": [ "r100" ], "lang": { "en-US": { "role": { "documentation": "Information by type of change in accounting principle. Does not include error corrections.", "label": "Adjustments for Change in Accounting Principle [Axis]", "terseLabel": "Adjustments for Change in Accounting Principle [Axis]" } } }, "localname": "AdjustmentsForChangeInAccountingPrincipleAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsForErrorCorrectionDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the types error corrections made to the financial statements.", "label": "Adjustments for Error Correction [Domain]", "terseLabel": "Adjustments for Error Correction [Domain]" } } }, "localname": "AdjustmentsForErrorCorrectionDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": { "auth_ref": [ "r100" ], "lang": { "en-US": { "role": { "documentation": "Information by new accounting pronouncement.", "label": "Adjustments for New Accounting Pronouncements [Axis]", "terseLabel": "Adjustments for New Accounting Pronouncements [Axis]" } } }, "localname": "AdjustmentsForNewAccountingPronouncementsAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r199", "r200", "r202", "r203" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) from recognition of equity-based compensation.", "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "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]", "terseLabel": "Adjustments to reconcile net income to net cash (used in) provided by operating activities, net of the effects of acquisition:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r86", "r158", "r163" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization of Acquired Intangible Assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r111" ], "lang": { "en-US": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_Assets": { "auth_ref": [ "r132", "r283", "r291" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r3", "r4", "r45" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r249" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Fair Value Disclosure", "terseLabel": "Assets, Fair Value Disclosure" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecurities": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt and equity securities categorized neither as held-to-maturity nor trading.", "label": "Available-for-sale Securities", "terseLabel": "Available-for-sale Securities" } } }, "localname": "AvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesAmortizedCost": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "This item represents the cost of debt and equity securities, which are categorized neither as held-to-maturity nor trading, net of adjustments including accretion, amortization, collection of cash, previous other-than-temporary impairments recognized in earnings (less any cumulative-effect adjustments recognized, as defined), and fair value hedge accounting adjustments, if any.", "label": "Available-for-sale Securities, Amortized Cost Basis", "terseLabel": "Available-for-sale Securities, Amortized Cost Basis" } } }, "localname": "AvailableForSaleSecuritiesAmortizedCost", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesCurrent": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt and equity securities categorized neither as trading securities nor held-to-maturity securities and intended be sold or mature one year or operating cycle, if longer.", "label": "Available-for-sale Securities, Current", "terseLabel": "Short term investments" } } }, "localname": "AvailableForSaleSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_BalanceSheetLocationAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by location on balance sheet (statement of financial position).", "label": "Balance Sheet Location [Axis]", "terseLabel": "Balance Sheet Location [Axis]" } } }, "localname": "BalanceSheetLocationAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r230", "r233" ], "lang": { "en-US": { "role": { "documentation": "Location in the balance sheet (statement of financial position).", "label": "Balance Sheet Location [Domain]", "terseLabel": "Balance Sheet Location [Domain]" } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition, Acquiree [Domain]", "terseLabel": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r213", "r214" ], "lang": { "en-US": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]", "terseLabel": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionLineItems": { "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": "Business Acquisition [Line Items]", "terseLabel": "Business Acquisition [Line Items]" } } }, "localname": "BusinessAcquisitionLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r1", "r32", "r88" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "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", "periodEndLabel": "Cash and cash equivalents, at end of period", "periodStartLabel": "Cash and cash equivalents, at beginning of period", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Cash and Cash Equivalents, Fair Value Disclosure" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in cash and cash equivalents. Cash and cash equivalents are the 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. Includes effect from exchange rate changes.", "label": "Cash and Cash Equivalents, Period Increase (Decrease)", "totalLabel": "Net decrease in cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashFlowHedgingMember": { "auth_ref": [ "r226" ], "lang": { "en-US": { "role": { "documentation": "Hedge of the exposure to variability in the cash flows of a recognized asset or liability, or of a forecasted transaction, that is attributable to a particular risk.", "label": "Cash Flow Hedging [Member]", "terseLabel": "Cash Flow Hedging [Member]" } } }, "localname": "CashFlowHedgingMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ChangeInAccountingPrincipleMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A change from one generally accepted accounting principle to another generally accepted accounting principle when there are two or more generally accepted accounting principles that apply or when the accounting principle formerly used is no longer generally accepted. A change in the method of applying an accounting principle that is not treated as a change in accounting estimate also is considered a change in accounting principle.", "label": "Adjustments for Change in Accounting Principle [Domain]", "terseLabel": "Adjustments for Change in Accounting Principle [Domain]" } } }, "localname": "ChangeInAccountingPrincipleMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_ClassOfStockDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.", "label": "Class of Stock [Domain]", "terseLabel": "Class of Stock [Domain]" } } }, "localname": "ClassOfStockDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r41", "r173", "r287", "r296" ], "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", "terseLabel": "Commitments and contingencies (Note 11)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r172", "r174" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock [Member]" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r20" ], "lang": { "en-US": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r20" ], "lang": { "en-US": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r20" ], "lang": { "en-US": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued", "verboseLabel": "Beginning Balance, Shares" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r20", "r179" ], "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", "terseLabel": "Common stock, shares outstanding" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r20" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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", "terseLabel": "Common stock, $0.01 par value, 100,000 shares authorized; 28,245 and 27,788 shares issued and outstanding, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r58", "r60", "r61" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "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": "Total comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r121", "r122", "r259", "r260" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r121", "r122", "r259", "r260", "r302" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r121", "r122", "r259", "r260", "r302" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r121", "r122", "r259", "r260" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r121", "r122", "r259", "r260" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r185" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of contract balances and changes in contract balances.", "label": "Contract with Customer, Asset and Liability [Table Text Block]", "terseLabel": "Contract with Customer, Asset and Liability [Table Text Block]" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionContractBalancesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r182", "r183", "r189" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Contract with Customer, Liability", "terseLabel": "Contract with Customer, Liability" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r190" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractualObligation": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of contractual obligation, including but not limited to, long-term debt, capital lease obligations, operating lease obligations, purchase obligations, and other commitments.", "label": "Contractual Obligation", "terseLabel": "Contractual Obligation" } } }, "localname": "ContractualObligation", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConvertibleDebtFairValueDisclosures": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value portion of borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's common stock.", "label": "Convertible Debt, Fair Value Disclosures", "terseLabel": "Convertible Debt, Fair Value Disclosures" } } }, "localname": "ConvertibleDebtFairValueDisclosures", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r70" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of Goods and Services Sold", "terseLabel": "Total cost of revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsAndServicesSoldAmortization": { "auth_ref": [ "r67" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of expense for allocation of cost of intangible asset over its useful life directly used in production of good and rendering of service.", "label": "Cost, Amortization", "terseLabel": "Amortization of acquired intangible assets" } } }, "localname": "CostOfGoodsAndServicesSoldAmortization", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]", "verboseLabel": "Cost of revenue" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CreationDateAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information about two or more restatements of a single financial reporting concept where restated amounts have been reported in a prior filing.", "label": "Report Date [Axis]", "terseLabel": "Report Date [Axis]" } } }, "localname": "CreationDateAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "stringItemType" }, "us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of increase (decrease) to equity or (increase) decrease to net assets, resulting from the cumulative effect adjustment of a new accounting principle applied in the period of adoption.", "label": "Cumulative Effect of New Accounting Principle in Period of Adoption", "terseLabel": "Cumulative Effect of New Accounting Principle in Period of Adoption" } } }, "localname": "CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r120" ], "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 [Member]" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelatedIntangibleAssetsMember": { "auth_ref": [ "r215" ], "lang": { "en-US": { "role": { "documentation": "Customer-related asset, including, but not limited to, customer lists, and noncontractual customer relationships.", "label": "Customer-Related Intangible Assets [Member]", "terseLabel": "Customer-Related Intangible Assets [Member]" } } }, "localname": "CustomerRelatedIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_DefaultFinancialStatementsDateMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Date the financial statement was made available and submitted, in CCYY-MM-DD format.", "label": "Financial Statement Filing Date [Domain]", "terseLabel": "Financial Statement Filing Date [Domain]" } } }, "localname": "DefaultFinancialStatementsDateMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r206", "r210" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenue": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of deferred revenue as of balance sheet date. Deferred revenue represents collections of cash or other assets related to a revenue producing activity for which revenue has not yet been recognized. Generally, an entity records deferred revenue when it receives consideration from a customer before achieving certain criteria that must be met for revenue to be recognized in conformity with GAAP.", "label": "Deferred Revenue", "terseLabel": "Deferred revenue and customer advances" } } }, "localname": "DeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent": { "auth_ref": [ "r205", "r206", "r210" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 4.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 and classified as noncurrent.", "label": "Deferred Tax Assets, Net, Noncurrent", "terseLabel": "Deferred tax assets" } } }, "localname": "DeferredTaxAssetsLiabilitiesNetNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r86", "r130" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssets": { "auth_ref": [ "r46", "r47", "r258" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.", "label": "Derivative Asset", "terseLabel": "Derivative Asset" } } }, "localname": "DerivativeAssets", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeContractTypeDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset.", "label": "Derivative Contract [Domain]", "terseLabel": "Derivative Contract [Domain]" } } }, "localname": "DerivativeContractTypeDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_DerivativeInstrumentRiskAxis": { "auth_ref": [ "r231", "r232", "r237", "r240" ], "lang": { "en-US": { "role": { "documentation": "Information by type of derivative contract.", "label": "Derivative Instrument [Axis]", "terseLabel": "Derivative Instrument [Axis]", "verboseLabel": "Derivative, by Nature [Axis]" } } }, "localname": "DerivativeInstrumentRiskAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosure [Abstract]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "auth_ref": [ "r247" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.", "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]", "terseLabel": "Derivative Instruments and Hedging Activities Disclosure [Text Block]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis": { "auth_ref": [ "r227", "r231", "r237" ], "lang": { "en-US": { "role": { "documentation": "Information by type of hedging relationship.", "label": "Hedging Relationship [Axis]", "terseLabel": "Hedging Relationship [Axis]" } } }, "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": { "auth_ref": [ "r227", "r231", "r237", "r240", "r241", "r244", "r245" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.", "label": "Derivative Instruments, Gain (Loss) [Table]", "terseLabel": "Derivative Instruments, Gain (Loss) [Table]" } } }, "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Derivative Instruments, Gain (Loss) [Line Items]", "terseLabel": "Derivative Instruments, Gain (Loss) [Line Items]" } } }, "localname": "DerivativeInstrumentsGainLossLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet": { "auth_ref": [ "r235", "r239" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The effective portion of net gain (loss) reclassified from accumulated other comprehensive income into income on derivative instruments designated and qualifying as hedging instruments.", "label": "Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net", "terseLabel": "Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net" } } }, "localname": "DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet": { "auth_ref": [ "r236", "r238" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of realized and unrealized gain (loss) of derivative instruments not designated or qualifying as hedging instruments.", "label": "Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net", "terseLabel": "Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net" } } }, "localname": "DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLiabilities": { "auth_ref": [ "r46", "r47", "r258" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.", "label": "Derivative Liability", "terseLabel": "Derivative Liability" } } }, "localname": "DerivativeLiabilities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Derivative [Line Items]", "terseLabel": "Derivative [Line Items]" } } }, "localname": "DerivativeLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeTable": { "auth_ref": [ "r96", "r223", "r224", "r225", "r227", "r229", "r234", "r237", "r242", "r243", "r245" ], "lang": { "en-US": { "role": { "documentation": "Schedule that describes and identifies a derivative or group of derivatives on a disaggregated basis, such as for individual instruments, or small groups of similar instruments. May include a combination of the type of instrument, risks being hedged, notional amount, hedge designation, related hedged item, inception date, maturity date, or other relevant item.", "label": "Derivative [Table]", "terseLabel": "Derivative [Table]" } } }, "localname": "DerivativeTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_DesignatedAsHedgingInstrumentMember": { "auth_ref": [ "r227" ], "lang": { "en-US": { "role": { "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).", "label": "Designated as Hedging Instrument [Member]", "terseLabel": "Designated as Hedging Instrument [Member]" } } }, "localname": "DesignatedAsHedgingInstrumentMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r188" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Disaggregation of Revenue [Table Text Block]" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DistributionRightsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Legal rights, generally of a limited duration, to distribute a product or products, often within specific geographic areas or supply channels.", "label": "Distribution Rights [Member]", "terseLabel": "Distribution Rights [Member]" } } }, "localname": "DistributionRightsMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_EMEAMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Regions of Europe, Middle East and Africa.", "label": "EMEA [Member]", "terseLabel": "EMEA [Member]" } } }, "localname": "EMEAMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r66", "r101", "r107", "r108", "r109", "r110", "r114", "r290", "r299" ], "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", "verboseLabel": "Basic income per share" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r66", "r101", "r107", "r108", "r109", "r110", "r114", "r290", "r299" ], "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", "verboseLabel": "Diluted income per share" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerSharePolicyTextBlock": { "auth_ref": [ "r93", "r111", "r112", "r113" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.", "label": "Earnings Per Share, Policy [Policy Text Block]", "terseLabel": "Net Income Per Share" } } }, "localname": "EarningsPerSharePolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents": { "auth_ref": [ "r261" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 4.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) from the effect of exchange rate changes on cash and cash equivalent balances held in foreign currencies.", "label": "Effect of Exchange Rate on Cash and Cash Equivalents", "terseLabel": "Effect of exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashAndCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r95", "r207", "r208" ], "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 Income Tax Rate Reconciliation, Percent" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/IncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EnergyAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by type of energy source.", "label": "Energy [Axis]", "terseLabel": "Energy [Axis]" } } }, "localname": "EnergyAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_EnergyDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Combustible material used to power engines, power plants or reactors. Examples include, but are not limited to, fuel and oil.", "label": "Energy [Domain]", "terseLabel": "Energy [Domain]" } } }, "localname": "EnergyDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Equity [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r179" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount": { "auth_ref": [ "r147" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in equity security without readily determinable fair value.", "label": "Equity Securities without Readily Determinable Fair Value, Amount", "terseLabel": "Equity Securities without Readily Determinable Fair Value, Amount" } } }, "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesOtherAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis": { "auth_ref": [ "r102", "r103", "r104" ], "lang": { "en-US": { "role": { "documentation": "Information by type of error correction.", "label": "Adjustments for Error Corrections [Axis]", "terseLabel": "Adjustments for Error Corrections [Axis]" } } }, "localname": "ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "stringItemType" }, "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r248", "r249", "r250", "r251", "r255", "r256" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about financial instruments measured at fair value, including those classified in shareholders' equity measured on a recurring or nonrecurring basis. Disclosures include, but are not limited to, fair value measurements recorded and the reasons for the measurements, level within the fair value hierarchy in which the fair value measurements are categorized and transfers between levels 1 and 2. Nonrecurring fair value measurements are those that are required or permitted in the statement of financial position in particular circumstances.", "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]", "terseLabel": "Fair Value Measurements, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r195", "r196", "r197", "r250", "r277" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r248" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r257" ], "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 Disclosures [Text Block]" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r195", "r196", "r197", "r250", "r278" ], "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": "Fair Value, Inputs, Level 1 [Member]" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r195", "r196", "r197", "r250", "r279" ], "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": "Fair Value, Inputs, Level 2 [Member]" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r195", "r196", "r197", "r250", "r280" ], "lang": { "en-US": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]", "terseLabel": "Fair Value, Inputs, Level 3 [Member]" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [ "r248", "r254" ], "lang": { "en-US": { "role": { "documentation": "Provides the general categories used to describe the frequency with which financial assets and liabilities (as defined) are measured at fair value (on a recurring or nonrecurring basis).", "label": "Fair Value, Measurement Frequency [Domain]", "terseLabel": "Fair Value, Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements": { "auth_ref": [ "r253" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of settlement of financial instrument classified as an asset measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Settlements", "negatedTerseLabel": "conversion of debt" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue": { "auth_ref": [ "r252" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value of financial instrument classified as an asset measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value", "terseLabel": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r248", "r254" ], "lang": { "en-US": { "role": { "documentation": "This item represents a description of the frequency with which certain items are measured at fair value. Items measured at fair value on a recurring basis generally include those items for which measurement inputs are readily available and which are measured at fair value at successive reporting periods.", "label": "Fair Value, Measurements, Recurring [Member]", "terseLabel": "Fair Value, Measurements, Recurring [Member]" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r162" ], "calculation": { "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "terseLabel": "Intangible assets accumulated amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized after the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, after Year Five", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the remainder of the fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year", "terseLabel": "Remainder of 2018" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r164" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five", "terseLabel": "2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r164" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four", "terseLabel": "2021" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r164" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three", "terseLabel": "2020" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r164" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two", "terseLabel": "2019" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r159", "r160", "r162", "r165", "r281" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r162", "r281" ], "calculation": { "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Finite-Lived Intangible Assets, Gross" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r159", "r161" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r162" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "totalLabel": "Intangible Assets, Net", "verboseLabel": "Intangible assets, net" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignExchangeForwardMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate.", "label": "Foreign Exchange Forward [Member]", "terseLabel": "Foreign Exchange Forward [Member]" } } }, "localname": "ForeignExchangeForwardMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GainLossOnSaleOfEquityInvestments": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The difference between the carrying value and the sale price of equity securities, not separately or otherwise categorized as trading or available-for-sale. This element includes investments in which the entity holds a small ownership stake (generally, less than 20% of the shares outstanding) and cannot exert significant influence.", "label": "Gain (Loss) on Sale of Equity Investments", "terseLabel": "Gain (Loss) on Sale of Equity Investments" } } }, "localname": "GainLossOnSaleOfEquityInvestments", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r71" ], "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", "terseLabel": "General and administrative", "verboseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r152", "r153" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r154" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.", "label": "Goodwill, Acquired During Period", "terseLabel": "Goodwill, Acquired During Period" } } }, "localname": "GoodwillAcquiredDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r166" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for goodwill and intangible assets.", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "terseLabel": "Goodwill, Other Intangible Assets and Other Assets" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "auth_ref": [ "r155" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "terseLabel": "Goodwill, Foreign Currency Translation Gain (Loss)" } } }, "localname": "GoodwillForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Goodwill [Line Items]", "terseLabel": "Goodwill [Line Items]" } } }, "localname": "GoodwillLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r69" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "terseLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_HedgingDesignationAxis": { "auth_ref": [ "r227", "r241" ], "lang": { "en-US": { "role": { "documentation": "Information by designation of purpose of derivative instrument.", "label": "Hedging Designation [Axis]", "terseLabel": "Hedging Designation [Axis]" } } }, "localname": "HedgingDesignationAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_HedgingDesignationDomain": { "auth_ref": [ "r227" ], "lang": { "en-US": { "role": { "documentation": "Designation of purpose of derivative instrument.", "label": "Hedging Designation [Domain]", "terseLabel": "Hedging Designation [Domain]" } } }, "localname": "HedgingDesignationDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_HedgingRelationshipDomain": { "auth_ref": [ "r227" ], "lang": { "en-US": { "role": { "documentation": "Nature or intent of a hedge.", "label": "Hedging Relationship [Domain]", "terseLabel": "Hedging Relationship [Domain]" } } }, "localname": "HedgingRelationshipDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r64", "r101", "r282", "r288", "r300" ], "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", "terseLabel": "Income before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r168" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Income Tax Disclosure [Abstract]" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r212" ], "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]", "terseLabel": "Income Tax Disclosure [Text Block]" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/IncomeTaxesNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r94", "r131", "r211" ], "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 tax expense" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaid": { "auth_ref": [ "r83", "r89" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.", "label": "Income Taxes Paid", "terseLabel": "Cash paid for income taxes" } } }, "localname": "IncomeTaxesPaid", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 6.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", "negatedTerseLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "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 the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.", "label": "Increase (Decrease) in Deferred Income Taxes", "negatedTerseLabel": "Deferred income taxes, net" } } }, "localname": "IncreaseDecreaseInDeferredIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 7.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/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities \u2014 (use) source" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid.", "label": "Increase (Decrease) in Other Accrued Liabilities", "terseLabel": "Accrued expenses and other liabilities" } } }, "localname": "IncreaseDecreaseInOtherAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in operating assets classified as other.", "label": "Increase (Decrease) in Other Operating Assets", "negatedLabel": "Other current assets" } } }, "localname": "IncreaseDecreaseInOtherOperatingAssets", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Inventory Disclosure [Abstract]" } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r151" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.", "label": "Inventory Disclosure [Text Block]", "terseLabel": "Inventory" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/Inventory" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r27", "r150" ], "calculation": { "http://www.irobot.com/role/InventoryDetails": { "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 merchandise or goods held by the company that are readily available for sale.", "label": "Inventory, Finished Goods, Net of Reserves", "terseLabel": "Inventory, Finished Goods, Net of Reserves" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/InventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r2", "r43", "r149" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.irobot.com/role/InventoryDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "terseLabel": "Inventory", "totalLabel": "Inventory" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/InventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r28", "r150" ], "calculation": { "http://www.irobot.com/role/InventoryDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.", "label": "Inventory, Raw Materials, Net of Reserves", "terseLabel": "Inventory, Raw Materials, Net of Reserves" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/InventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentPolicyTextBlock": { "auth_ref": [ "r37", "r93", "r145", "r146", "r148" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for investments in financial assets, including marketable securities (debt and equity securities with readily determinable fair values), investments accounted for under the equity method and cost method, securities borrowed and loaned, and repurchase and resale agreements. For marketable securities, the disclosure may include the entity's accounting treatment for transfers between investment categories and how the fair values for such securities are determined. Also, for all investments, an entity may describe its policy for assessing, recognizing and measuring impairment of the investment.", "label": "Investment, Policy [Policy Text Block]", "terseLabel": "Investment, Policy [Policy Text Block]" } } }, "localname": "InvestmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r271", "r273" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "terseLabel": "Lease, Cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r271" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Lease, Cost [Table Text Block]" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Leases [Abstract]" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r272" ], "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": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r272" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Payments, Due", "terseLabel": "Lessee, Operating Lease, Liability, Payments, Due" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "auth_ref": [ "r272" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due after fifth fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Five", "terseLabel": "Lessee, Operating Lease, Liability, Payments, Due after Year Five" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r272" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fifth fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five", "terseLabel": "Lessee, Operating Lease, Liability, Payments, Due Year Five" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r272" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fourth fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four", "terseLabel": "Lessee, Operating Lease, Liability, Payments, Due Year Four" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r272" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in third fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three", "terseLabel": "Lessee, Operating Lease, Liability, Payments, Due Year Three" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r272" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in second fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two", "terseLabel": "Lessee, Operating Lease, Liability, Payments, Due Year Two" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r272" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease having an initial or remaining lease term in excess of one year due in remainder of fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year", "terseLabel": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r272" ], "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", "terseLabel": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r274" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.", "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Lessee, Operating Leases [Text Block]" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r36" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r26", "r285", "r294" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES, REDEEMABLE CONVERTIBLE PREFERRED STOCK AND STOCKHOLDERS' EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r39" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 2.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/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesFairValueDisclosure": { "auth_ref": [ "r249" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value of financial and nonfinancial obligations.", "label": "Financial and Nonfinancial Liabilities, Fair Value Disclosure", "terseLabel": "Financial and Nonfinancial Liabilities, Fair Value Disclosure" } } }, "localname": "LiabilitiesFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesNoncurrent": { "auth_ref": [ "r9", "r10", "r11", "r15", "r16" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer.", "label": "Liabilities, Noncurrent", "totalLabel": "Total long-term liabilities" } } }, "localname": "LiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail" ], "xbrltype": "stringItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r115", "r126" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.", "label": "Nature of Operations [Text Block]", "terseLabel": "Description of Business" } } }, "localname": "NatureOfOperations", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DescriptionOfBusiness" ], "xbrltype": "textBlockItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r82" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "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 used in financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Cash flows from financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r82" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r82", "r84", "r87" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "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 (used in) provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r56", "r59", "r65", "r87", "r112", "r289", "r298" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "terseLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited", "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "monetaryItemType" }, "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]", "terseLabel": "Recent Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncashOrPartNoncashAcquisitionFixedAssetsAcquired1": { "auth_ref": [ "r90", "r91", "r92" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The amount of fixed assets that an Entity acquires in a noncash (or part noncash) acquisition. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.", "label": "Noncash or Part Noncash Acquisition, Fixed Assets Acquired", "terseLabel": "Additions of property and equipment included in accounts payable" } } }, "localname": "NoncashOrPartNoncashAcquisitionFixedAssetsAcquired1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NoncompeteAgreementsMember": { "auth_ref": [ "r217" ], "lang": { "en-US": { "role": { "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.", "label": "Noncompete Agreements [Member]", "terseLabel": "Noncompete Agreements [Member]" } } }, "localname": "NoncompeteAgreementsMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_NondesignatedMember": { "auth_ref": [ "r227" ], "lang": { "en-US": { "role": { "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).", "label": "Not Designated as Hedging Instrument [Member]", "terseLabel": "Not Designated as Hedging Instrument [Member]" } } }, "localname": "NondesignatedMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r72" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).", "label": "Nonoperating Income (Expense)", "terseLabel": "Other income, net", "verboseLabel": "Other income, net" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of Reportable Segments", "terseLabel": "Number of Reportable Segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingExpenseMember": { "auth_ref": [ "r239" ], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing expenses associated with normal operations.", "label": "Operating Expense [Member]", "terseLabel": "Operating Expense [Member]" } } }, "localname": "OperatingExpenseMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "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", "terseLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "terseLabel": "Operating income" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r265", "r273" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.", "label": "Operating Lease, Cost", "terseLabel": "Operating Lease, Cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r263" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "terseLabel": "Operating Lease, Liability" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesFinancialStatementImpactOfAdoptingAsc842Details", "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r263" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "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 Lease, Liability, Current" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails", "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r263" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesNoncurrent", "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 lease liabilities", "verboseLabel": "Operating Lease, Liability, Noncurrent" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r264", "r267" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesSupplementalCashFlowDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r262" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease right-of-use assets", "verboseLabel": "Operating lease right-of-use asset" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/LeasesFinancialStatementImpactOfAdoptingAsc842Details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r270", "r273" ], "lang": { "en-US": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Operating Lease, Weighted Average Discount Rate, Percent" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesLeaseCostDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r269", "r273" ], "lang": { "en-US": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Operating Lease, Weighted Average Remaining Lease Term" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesLeaseCostDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r5", "r6", "r7", "r38" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 9.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Accrued Liabilities, Current", "terseLabel": "Accrued other" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsCurrent": { "auth_ref": [ "r44" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of current assets classified as other.", "label": "Other Assets, Current", "terseLabel": "Other current assets" } } }, "localname": "OtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r33" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r219", "r220", "r221" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "order": 5.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax and reclassification adjustments, of appreciation (loss) in value of unsold available-for-sale securities, attributable to parent entity. Excludes amounts related to other than temporary impairment (OTTI) loss.", "label": "Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax, Portion Attributable to Parent", "terseLabel": "Net unrealized gains (losses) on marketable securities, net of tax" } } }, "localname": "OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentBeforeTaxPortionAttributableToParent": { "auth_ref": [ "r219", "r220", "r221" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount before tax, after reclassification adjustments of gain (loss) on foreign currency translation adjustments, on foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax, Portion Attributable to Parent", "terseLabel": "Net foreign currency translation adjustments" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentBeforeTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLocationAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by location in other comprehensive income.", "label": "Other Comprehensive Income Location [Axis]", "terseLabel": "Other Comprehensive Income Location [Axis]" } } }, "localname": "OtherComprehensiveIncomeLocationAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLocationDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Location in other comprehensive income.", "label": "Other Comprehensive Income Location [Domain]", "terseLabel": "Other Comprehensive Income Location [Domain]" } } }, "localname": "OtherComprehensiveIncomeLocationDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "terseLabel": "Other comprehensive income (loss):" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r57", "r60", "r219", "r220", "r221" ], "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), Net of Tax, Portion Attributable to Parent" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax": { "auth_ref": [ "r50", "r53", "r54", "r228" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "order": 4.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of reclassification adjustment from accumulated other comprehensive income of accumulated gain (loss) realized from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's deferred hedging gain (loss).", "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI on Derivatives, Net of Tax", "negatedTerseLabel": "Net (gains) losses on cash flow hedge reclassified into earnings, net of tax" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodBeforeTax": { "auth_ref": [ "r48", "r50", "r246" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount before tax of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).", "label": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax", "terseLabel": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax", "verboseLabel": "Derivative Instruments, Gain Recognized in Other Comprehensive Income (Loss), Effective Portion" } } }, "localname": "OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodBeforeTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r48", "r50", "r246" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "order": 3.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).", "label": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax", "terseLabel": "Net unrealized gains (losses) on cash flow hedges, net of tax" } } }, "localname": "OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCurrentAssetsMember": { "auth_ref": [ "r230", "r244" ], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing other current assets.", "label": "Other Current Assets [Member]", "terseLabel": "Other Current Assets [Member]" } } }, "localname": "OtherCurrentAssetsMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherDerivativesNotDesignatedAsHedgingInstrumentsAtFairValueNet": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Net fair value of all derivative instruments not designated as a hedging instrument.", "label": "Other Derivatives Not Designated as Hedging Instruments at Fair Value, Net", "terseLabel": "Other Derivatives Not Designated as Hedging Instruments at Fair Value, Net" } } }, "localname": "OtherDerivativesNotDesignatedAsHedgingInstrumentsAtFairValueNet", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r40" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesNoncurrent", "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", "terseLabel": "Other long-term liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncashIncomeExpense": { "auth_ref": [ "r87" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.", "label": "Other Noncash Income (Expense)", "negatedTerseLabel": "Other" } } }, "localname": "OtherNoncashIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncurrentAssetsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing other noncurrent assets.", "label": "Other Noncurrent Assets [Member]", "terseLabel": "Other Noncurrent Assets [Member]" } } }, "localname": "OtherNoncurrentAssetsMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherNoncurrentLiabilitiesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing other noncurrent liabilities.", "label": "Other Noncurrent Liabilities [Member]", "terseLabel": "Other Noncurrent Liabilities [Member]" } } }, "localname": "OtherNoncurrentLiabilitiesMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherNonoperatingIncomeExpenseMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing other nonoperating income (expense).", "label": "Other Nonoperating Income (Expense) [Member]", "terseLabel": "Other Nonoperating Income (Expense) [Member]" } } }, "localname": "OtherNonoperatingIncomeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PatentedTechnologyMember": { "auth_ref": [ "r218" ], "lang": { "en-US": { "role": { "documentation": "Exclusive legal right granted by the government to the owner of the patented technology to exploit the technology for a period of time specified by law.", "label": "Patented Technology [Member]", "terseLabel": "Completed technology" } } }, "localname": "PatentedTechnologyMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentsForProceedsFromOtherInvestingActivities": { "auth_ref": [ "r75", "r79", "r97" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash (inflow) outflow from investing activities classified as other.", "label": "Payments for (Proceeds from) Other Investing Activities", "negatedTerseLabel": "Change in other assets" } } }, "localname": "PaymentsForProceedsFromOtherInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r81" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "Payments for Repurchase of Common Stock", "terseLabel": "Stock repurchases" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r81", "r198" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow to satisfy an employee's income tax withholding obligation as part of a net-share settlement of a share-based award.", "label": "Payments Related to Tax Withholding for Share-based Compensation", "negatedTerseLabel": "Income tax withholding payment associated with restricted stock vesting" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireAvailableForSaleSecurities": { "auth_ref": [ "r76", "r144" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow to acquire debt and equity securities not classified as either held-to-maturity securities or trading securities which would be classified as available-for-sale securities and reported at fair value, with unrealized gains and losses excluded from earnings and reported in a separate component of shareholders' equity.", "label": "Payments to Acquire Available-for-sale Securities", "negatedLabel": "Purchases of investments" } } }, "localname": "PaymentsToAcquireAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r77" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.", "label": "Payments to Acquire Businesses, Net of Cash Acquired", "terseLabel": "Cash paid for business acquisition, net of cash acquired" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r78" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 1.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", "negatedTerseLabel": "Additions of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PositionAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by position taken for a security.", "label": "Position [Axis]", "terseLabel": "Position [Axis]" } } }, "localname": "PositionAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_PositionDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Indicates position taken for a security.", "label": "Position [Domain]", "terseLabel": "Position [Domain]" } } }, "localname": "PositionDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r19" ], "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", "terseLabel": "Preferred stock, shares authorized" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r19" ], "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", "terseLabel": "Preferred stock, shares outstanding" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r19" ], "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, 5,000 shares authorized and none outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities": { "auth_ref": [ "r73", "r74", "r144" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow from sale, 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 Sale and Maturity of Debt Securities, Available-for-sale", "terseLabel": "Sales and maturities of investments" } } }, "localname": "ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfOtherAssetsInvestingActivities": { "auth_ref": [ "r75" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow from the sale of other assets recognized in investing activities.", "label": "Proceeds from Sale of Other Assets, Investing Activities", "terseLabel": "Proceeds from sale of equity investment" } } }, "localname": "ProceedsFromSaleOfOtherAssetsInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockPlans": { "auth_ref": [ "r80" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The cash inflow associated with the amount received from the stock plan during the period.", "label": "Proceeds from Stock Plans", "terseLabel": "Proceeds from employee stock plans" } } }, "localname": "ProceedsFromStockPlans", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r12", "r13", "r167", "r295" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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", "terseLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable": { "auth_ref": [ "r134", "r136" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about the reconciliation of profit (loss) from reportable segments to the consolidated income (loss) before income tax expense (benefit) and discontinued operations. Includes, but is not limited to, reconciliation after income tax if income tax is allocated to the reportable segment.", "label": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]", "terseLabel": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]" } } }, "localname": "ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r204", "r305" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "terseLabel": "Research and development", "verboseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r23", "r180", "r293" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings [Member]" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r184", "r187", "r188" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenue from Contract with Customer, Excluding Assessed Tax" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r99", "r194" ], "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 Contract with Customer [Text Block]" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueJudgmentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Revenue, Judgment [Abstract]", "terseLabel": "Revenue, Judgment [Abstract]" } } }, "localname": "RevenueJudgmentAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRecognitionAndDeferredRevenueAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Revenue Recognition and Deferred Revenue [Abstract]" } } }, "localname": "RevenueRecognitionAndDeferredRevenueAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r186" ], "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": "Revenue, Remaining Performance Obligation, Amount" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Revenues": { "auth_ref": [ "r68", "r128", "r129", "r137" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).", "label": "Revenues", "terseLabel": "Revenue" } } }, "localname": "Revenues", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "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": "Revenues from External Customers and Long-Lived Assets [Line Items]", "terseLabel": "Revenues from External Customers and Long-Lived Assets [Line Items]" } } }, "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r268", "r273" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesSupplementalCashFlowDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Revenue from sale of goods and services rendered, in the normal course of business, after sales returns and allowances, and sales discounts, when it serves as a benchmark in a concentration of risk calculation.", "label": "Sales Revenue, Net [Member]", "terseLabel": "Sales Revenue, Net [Member]" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ScenarioUnspecifiedDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Any scenario, that is, the particular reporting scenario is left unspecified. Scenarios distinguish among different kinds of business reporting facts, as for example actual versus budgeted figures.", "label": "Scenario, Unspecified [Domain]", "terseLabel": "Scenario, Unspecified [Domain]" } } }, "localname": "ScenarioUnspecifiedDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Components of Accrued Expenses" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "auth_ref": [ "r213", "r214" ], "lang": { "en-US": { "role": { "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.", "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]" } } }, "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCashFlowHedgesIncludedInAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "auth_ref": [ "r235" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of gain (loss) on derivative and nonderivative instruments designated and qualifying as cash flow hedge recorded in accumulated other comprehensive income (AOCI) and reclassified into earnings.", "label": "Schedule of Cash Flow Hedges Included in Accumulated Other Comprehensive Income (Loss) [Table Text Block]", "terseLabel": "Schedule of Cash Flow Hedges Included in Accumulated Other Comprehensive Income (Loss) [Table Text Block]" } } }, "localname": "ScheduleOfCashFlowHedgesIncludedInAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": { "auth_ref": [ "r231", "r237", "r241" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.", "label": "Derivative Instruments, Gain (Loss) [Table Text Block]", "terseLabel": "Derivative Instruments, Gain (Loss) [Table Text Block]" } } }, "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsTextBlock": { "auth_ref": [ "r96", "r223", "r224", "r225", "r227", "r229", "r234", "r237", "r242", "r243" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of pertinent information about a derivative or group of derivatives on a disaggregated basis, such as for individual instruments, or small groups of similar instruments. May include a combination of the type of instrument, risks being hedged, notional amount, hedge designation, related hedged item, inception date, maturity date, or other relevant item.", "label": "Schedule of Derivative Instruments [Table Text Block]", "terseLabel": "Schedule of Derivative Instruments [Table Text Block]" } } }, "localname": "ScheduleOfDerivativeInstrumentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r159", "r161" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r159", "r161" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Other Intangible Assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTable": { "auth_ref": [ "r156", "r157" ], "lang": { "en-US": { "role": { "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.", "label": "Schedule of Goodwill [Table]", "terseLabel": "Schedule of Goodwill [Table]" } } }, "localname": "ScheduleOfGoodwillTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r156", "r157" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Schedule of Goodwill [Table Text Block]" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r8", "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]", "terseLabel": "Components of Inventory" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/InventoryTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r178" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.", "label": "Schedule of Product Warranty Liability [Table Text Block]", "terseLabel": "Activity Related to the Warranty Accrual" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "auth_ref": [ "r62", "r63", "r140" ], "lang": { "en-US": { "role": { "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.", "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "terseLabel": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]" } } }, "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r127", "r132", "r133", "r135", "r156" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r161" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Estimated Future Amortization Expense Related to Current Intangible Assets" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]", "terseLabel": "Segment [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Segment Reporting [Abstract]" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r142" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Industry Segment, Geographic Information and Significant Customers" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomers" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]", "terseLabel": "Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]" } } }, "localname": "SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "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", "terseLabel": "Selling and marketing", "verboseLabel": "Selling and marketing" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate amount of noncash, equity-based employee remuneration. This may include the value of stock or unit options, amortization of restricted stock or units, and adjustment for officers' compensation. As noncash, this element is an add back when calculating net cash generated by operating activities using the indirect method.", "label": "Share-based Compensation", "terseLabel": "Stock-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "For net-share settlement of share-based awards when the employer settles employees' income tax withholding obligations, this element represents the number of shares the employees use to repay the employer.", "label": "Shares Paid for Tax Withholding for Share Based Compensation", "terseLabel": "Shares Paid for Tax Withholding for Share Based Compensation (in shares)" } } }, "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "sharesItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r99" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StandardProductWarrantyAccrual": { "auth_ref": [ "r177" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability. Does not include the balance for the extended product warranty liability.", "label": "Standard Product Warranty Accrual", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period" } } }, "localname": "StandardProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_StandardProductWarrantyAccrualCurrent": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid within one year or the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability.", "label": "Standard Product Warranty Accrual, Current", "terseLabel": "Accrued warranty" } } }, "localname": "StandardProductWarrantyAccrualCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StandardProductWarrantyAccrualPayments": { "auth_ref": [ "r175" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties.", "label": "Standard Product Warranty Accrual, Decrease for Payments", "negatedLabel": "Warranty usage" } } }, "localname": "StandardProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_StandardProductWarrantyAccrualWarrantiesIssued": { "auth_ref": [ "r176" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in the standard product warranty accrual from warranties issued. Excludes extended product warranties.", "label": "Standard Product Warranty Accrual, Increase for Warranties Issued", "terseLabel": "Provision" } } }, "localname": "StandardProductWarrantyAccrualWarrantiesIssued", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r0", "r132", "r156", "r169", "r170", "r171", "r301" ], "lang": { "en-US": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]", "terseLabel": "Business Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_StatementClassOfStockAxis": { "auth_ref": [ "r18", "r19", "r20", "r179" ], "lang": { "en-US": { "role": { "documentation": "Information by the different classes of stock of the entity.", "label": "Class of Stock [Axis]", "terseLabel": "Class of Stock [Axis]" } } }, "localname": "StatementClassOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r42", "r179" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Comprehensive Income [Abstract]" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementScenarioAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by scenario to be reported. Scenarios distinguish among different kinds of business reporting facts, as for example actual versus budgeted figures.", "label": "Scenario [Axis]", "terseLabel": "Scenario [Axis]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r19", "r20", "r179", "r180" ], "lang": { "en-US": { "role": { "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited.", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r19", "r20", "r179", "r180", "r201" ], "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": "Issuance of common stock under employee stock plans (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r179", "r180" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.", "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures" } } }, "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r42", "r179", "r180" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Stock Issued During Period, Value, Stock Options Exercised" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of stock repurchase plan authorized.", "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Stock Repurchase Program, Authorized Amount" } } }, "localname": "StockRepurchaseProgramAuthorizedAmount1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/StockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "auth_ref": [ "r19", "r20", "r179", "r180" ], "lang": { "en-US": { "role": { "documentation": "Number of shares that have been repurchased and retired during the period.", "label": "Stock Repurchased and Retired During Period, Shares", "negatedTerseLabel": "Stock Repurchased and Retired During Period, Shares", "terseLabel": "Stock Repurchased and Retired During Period, Shares" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/StockholdersEquityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "auth_ref": [ "r19", "r20", "r179", "r180" ], "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": "Stock Repurchased and Retired During Period, Value", "terseLabel": "Stock Repurchased and Retired During Period, Value" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/StockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r20", "r24", "r25", "r143" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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", "terseLabel": "Beginning balance", "totalLabel": "Total stockholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r181" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.", "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Stockholders' Equity Note Disclosure [Text Block]" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/StockholdersEquityNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubsequentEventLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.", "label": "Subsequent Event [Line Items]", "terseLabel": "Subsequent Event [Line Items]" } } }, "localname": "SubsequentEventLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event [Member]", "terseLabel": "Subsequent Event [Member]" } } }, "localname": "SubsequentEventMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventTable": { "auth_ref": [ "r275" ], "lang": { "en-US": { "role": { "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.", "label": "Subsequent Event [Table]", "terseLabel": "Subsequent Event [Table]" } } }, "localname": "SubsequentEventTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r275" ], "lang": { "en-US": { "role": { "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Axis]", "terseLabel": "Subsequent Event Type [Axis]" } } }, "localname": "SubsequentEventTypeAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r275" ], "lang": { "en-US": { "role": { "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Domain]", "terseLabel": "Subsequent Event Type [Domain]" } } }, "localname": "SubsequentEventTypeDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Subsequent Events [Abstract]" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r276" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.", "label": "Subsequent Events [Text Block]", "terseLabel": "Subsequent Events [Text Block]" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental disclosure of cash flow information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r216" ], "lang": { "en-US": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade Names [Member]", "terseLabel": "Trade Names" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_TypeOfAdoptionMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Adoption and early adoption of sources of change to generally accepted accounting principles (GAAP) in the United States. The FASB released the FASB Accounting Standards Codification as the authoritative source of literature effective for interim and annual periods ending after September 15, 2009. As part of the Codification process, the FASB issues Accounting Standards Updates to amend the Codification but otherwise the Accounting Standards Updates are not authoritative in their own right. All previous accounting standards (such as FASB Statements of Financial Accounting Standards, FASB Interpretations, FASB Staff Positions, Emerging Issues Task Force Consensuses, other pronouncements of the FASB or other designated bodies, or other forms of GAAP are considered accounting pronouncements) were superseded upon the adoption of the Codification. For an interim period, references to the superseded standards are included to help users transition from the previous accounting hierarchy and will be removed from future versions of this taxonomy.", "label": "Type of Adoption [Domain]", "terseLabel": "Type of Adoption [Domain]" } } }, "localname": "TypeOfAdoptionMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r116", "r117", "r118", "r119", "r123", "r124", "r125" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ValuationAllowancesAndReservesDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]", "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]" } } }, "localname": "ValuationAllowancesAndReservesDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ValuationAllowancesAndReservesTypeAxis": { "auth_ref": [ "r98" ], "lang": { "en-US": { "role": { "documentation": "Information by valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]", "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]" } } }, "localname": "ValuationAllowancesAndReservesTypeAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableLeaseCost": { "auth_ref": [ "r266", "r273" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.", "label": "Variable Lease, Cost", "terseLabel": "Variable Lease, Cost" } } }, "localname": "VariableLeaseCost", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/LeasesLeaseCostDetails" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "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/2018-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "auth_ref": [ "r110" ], "calculation": { "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail": { "order": 3.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.", "label": "Weighted Average Number Diluted Shares Outstanding Adjustment", "terseLabel": "Dilutive effect of employee stock options and restricted shares" } } }, "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r106", "r110" ], "calculation": { "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-US": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted", "totalLabel": "Diluted weighted-average shares outstanding" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r105", "r110" ], "calculation": { "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail": { "order": 2.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", "verboseLabel": "Weighted-average shares outstanding" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "sharesItemType" } }, "unitCount": 5 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6676-107765" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 201.5-02(25))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r103": { "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" }, "r104": { "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" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1448-109256" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1505-109256" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1252-109256" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=SL5780133-109256" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1337-109256" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 201.5-02(26))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r110": { "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" }, "r111": { "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" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r113": { "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" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109256448&loc=d3e4984-109258" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592" }, "r12": { "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=6877327&loc=d3e13212-122682" }, "r120": { "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" }, "r121": { "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" }, "r122": { "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" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592" }, "r126": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "http://asc.fasb.org/topic&trid=2134479" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8721-108599" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r13": { "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=6877327&loc=d3e13212-122682" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8813-108599" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8906-108599" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8906-108599" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8924-108599" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9031-108599" }, "r14": { "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=6877327&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9038-108599" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9054-108599" }, "r142": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r143": { "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" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=109979856&loc=d3e26853-111562" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27290-111563" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.M)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=65877573&loc=d3e87990-122713" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "321", "URI": "http://asc.fasb.org/extlink&oid=84241550&loc=SL75117539-209714" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=68049868&loc=d3e3927-108312" }, "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=6877327&loc=d3e13212-122682" }, "r150": { "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" }, "r151": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "http://asc.fasb.org/topic&trid=2126998" }, "r152": { "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" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=77989000&loc=SL49117168-202975" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13854-109267" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274" }, "r159": { "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" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(23))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r160": { "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" }, "r161": { "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" }, "r162": { "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" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r165": { "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" }, "r166": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "http://asc.fasb.org/topic&trid=2144416" }, "r167": { "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" }, "r168": { "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" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r17": { "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=6877327&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r172": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=82911808&loc=d3e14326-108349" }, "r174": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r175": { "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" }, "r176": { "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" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1),(c)(5)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r178": { "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" }, "r179": { "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" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r180": { "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=27012166&loc=d3e187085-122770" }, "r181": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=82913815&loc=SL49130531-203044" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=82913815&loc=SL49130532-203044" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130539-203045" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130551-203045" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130556-203045" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130543-203045" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130545-203045" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130549-203045" }, "r19": { "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=6877327&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130549-203045" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=108792157&loc=SL49130690-203046-203046" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=108792157&loc=SL49130690-203046-203046" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=108792157&loc=SL49130690-203046-203046" }, "r194": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e1928-114920" }, "r196": { "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=108410482&loc=d3e1928-114920" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=112275985&loc=d3e4179-114921" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "19A", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=107668666&loc=SL79513924-113897" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=79507207&loc=d3e4534-113899" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6676-107765" }, "r20": { "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=6877327&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5047-113901" }, "r201": { "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=109197908&loc=d3e5070-113901" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109196918&loc=d3e11149-113907" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109196918&loc=d3e11178-113907" }, "r204": { "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" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84176650&loc=d3e31917-109318" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84176650&loc=d3e31931-109318" }, "r207": { "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" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32698-109319" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319" }, "r21": { "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=6877327&loc=d3e13212-122682" }, "r210": { "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" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=109238882&loc=d3e38679-109324" }, "r212": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5227-128473" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5263-128473" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5263-128473" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5504-128473" }, "r219": { "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" }, "r22": { "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=6877327&loc=d3e13212-122682" }, "r220": { "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" }, "r221": { "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" }, "r222": { "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" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579240-113959" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579245-113959" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5580258-113959" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)(ii)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41620-113959" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41620-113959" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "c", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41638-113959" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41638-113959" }, "r23": { "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=6877327&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5618551-113959" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5618551-113959" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624171-113959" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624171-113959" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624171-113959" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "4CC", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL109998890-113959" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624177-113959" }, "r24": { "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=6877327&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624177-113959" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "4E", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624181-113959" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41641-113959" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41678-113959" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "182", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109975725&loc=SL5629052-113961" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "25", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109977999&loc=d3e76258-113986" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109978405&loc=d3e80720-113993" }, "r247": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "815", "URI": "http://asc.fasb.org/topic&trid=2229140" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19190-110258" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r25": { "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=6877327&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "2C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=SL7498348-110258" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19279-110258" }, "r257": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "820", "URI": "http://asc.fasb.org/topic&trid=2155941" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=109250915&loc=d3e13433-108611" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=109250915&loc=d3e13531-108611" }, "r26": { "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=6877327&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=109250915&loc=d3e13537-108611" }, "r261": { "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" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918643-209977" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "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=6877327&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918701-209980" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888399&loc=SL77918982-209971" }, "r274": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/subtopic&trid=77888251" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r276": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "http://asc.fasb.org/topic&trid=2122774" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719" }, "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=6877327&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719" }, "r281": { "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" }, "r282": { "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" }, "r283": { "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=6876686&loc=d3e534808-122878" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r285": { "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=6876686&loc=d3e534808-122878" }, "r286": { "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=6876686&loc=d3e534808-122878" }, "r287": { "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=6876686&loc=d3e534808-122878" }, "r288": { "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=114873765&loc=SL114874048-224260" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=114873765&loc=SL114874048-224260" }, "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=6877327&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=114873765&loc=SL114874048-224260" }, "r291": { "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=6879938&loc=d3e572229-122910" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(a))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910" }, "r293": { "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=6879938&loc=d3e572229-122910" }, "r294": { "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=6879938&loc=d3e572229-122910" }, "r295": { "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=6879938&loc=d3e572229-122910" }, "r296": { "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=6879938&loc=d3e572229-122910" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.15(a))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=114873790&loc=SL114874131-224263" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=114873790&loc=SL114874131-224263" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&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=6877327&loc=d3e13212-122682" }, "r300": { "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=114873790&loc=SL114874131-224263" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=99384497&loc=SL65671331-158438" }, "r302": { "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" }, "r303": { "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=6589523&loc=d3e617274-123014" }, "r304": { "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=6590653&loc=d3e638233-123024" }, "r305": { "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" }, "r306": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r307": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r308": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-13" }, "r309": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1-" }, "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=6877327&loc=d3e13212-122682" }, "r310": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r311": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r312": { "Article": "12", "Name": "Regulation S-X (SX)", "Number": "210", "Publisher": "SEC", "Section": "13", "Sentence": "Column B" }, "r32": { "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=6877327&loc=d3e13212-122682" }, "r33": { "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=6877327&loc=d3e13212-122682" }, "r34": { "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=6877327&loc=d3e13212-122682" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r36": { "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=6877327&loc=d3e13212-122682" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.2,12)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r38": { "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=6877327&loc=d3e13212-122682" }, "r39": { "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=6877327&loc=d3e13212-122682" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6801-107765" }, "r40": { "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=6877327&loc=d3e13212-122682" }, "r41": { "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=6877327&loc=d3e13212-122682" }, "r42": { "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=6877327&loc=d3e13212-122682" }, "r43": { "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=6877327&loc=d3e13212-122682" }, "r44": { "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=6877327&loc=d3e13212-122682" }, "r45": { "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=6877327&loc=d3e13212-122682" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226008-175313" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669646-108580" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669646-108580" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6911-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e637-108580" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e681-108580" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669686-108580" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e689-108580" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "17A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL34724391-108580" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "17B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL34724394-108580" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669619-108580" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669619-108580" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669619-108580" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669625-108580" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6935-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669625-108580" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e557-108580" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-03(e))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868656-224227" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(1))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "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=115205541&loc=SL114868664-224227" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(21))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(b)(2))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r69": { "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=115205541&loc=SL114868664-224227" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e7018-107765" }, "r70": { "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=115205541&loc=SL114868664-224227" }, "r71": { "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=115205541&loc=SL114868664-224227" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3151-108585" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3179-108585" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3179-108585" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a),(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3213-108585" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3213-108585" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3213-108585" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3213-108585" }, "r8": { "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" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3255-108585" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3291-108585" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3521-108585" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3536-108585" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3536-108585" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3044-108585" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4297-108586" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 201.5-02(24))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4304-108586" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4313-108586" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4332-108586" }, "r93": { "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" }, "r94": { "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=26873400&loc=d3e23780-122690" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(h)(2))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(n)(2))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24072-122690" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24092-122690" }, "r99": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" } }, "version": "2.1" } XML 60 R56.htm IDEA: XBRL DOCUMENT v3.19.3
Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail)
3 Months Ended 9 Months Ended
Sep. 28, 2019
Sep. 29, 2018
Sep. 28, 2019
Sep. 29, 2018
Revenues from External Customers and Long-Lived Assets [Line Items]        
Document Period End Date     Sep. 28, 2019  
Sales Revenue, Net [Member] | Amazon [Member] | Customer Concentration Risk [Member]        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Concentration Risk, Percentage 29.60% 24.80% 25.00% 20.40%
XML 61 R52.htm IDEA: XBRL DOCUMENT v3.19.3
Commitments and Contingencies - Additional Information (Detail)
$ in Millions
Sep. 28, 2019
USD ($)
Outstanding POs [Abstract]  
Contractual Obligation $ 135.2
XML 62 R32.htm IDEA: XBRL DOCUMENT v3.19.3
Industry Segment, Geographic Information and Significant Customers (Tables)
9 Months Ended
Sep. 28, 2019
Segment Reporting [Abstract]  
Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes The Company operates as one operating segment.
XML 63 R36.htm IDEA: XBRL DOCUMENT v3.19.3
Revenue Recognition Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 28, 2019
Sep. 29, 2018
Sep. 28, 2019
Sep. 29, 2018
Disaggregation of Revenue [Line Items]        
Revenue from Contract with Customer, Excluding Assessed Tax $ 289,399 $ 264,534 $ 787,232 $ 707,919
UNITED STATES        
Disaggregation of Revenue [Line Items]        
Revenue from Contract with Customer, Excluding Assessed Tax 117,929 127,240 356,466 345,628
EMEA [Member]        
Disaggregation of Revenue [Line Items]        
Revenue from Contract with Customer, Excluding Assessed Tax 93,688 73,831 251,150 213,541
All Other Regions [Member]        
Disaggregation of Revenue [Line Items]        
Revenue from Contract with Customer, Excluding Assessed Tax $ 77,782 $ 63,463 $ 179,616 $ 148,750
XML 64 R15.htm IDEA: XBRL DOCUMENT v3.19.3
Derivative Instruments (Notes)
9 Months Ended
Sep. 28, 2019
Derivative Instruments and Hedging Activities Disclosure [Abstract]  
Derivative Instruments and Hedging Activities Disclosure [Text Block] Derivative Instruments
The Company operates internationally and, in the normal course of business, is exposed to fluctuations in foreign currency exchange rates. The foreign currency exposures typically arise from transactions denominated in currencies other than the functional currency of the Company's operations, primarily the British Pound, Canadian Dollar, Euro and Japanese Yen. The Company uses derivative instruments that are designated in cash flow hedge relationships to reduce or eliminate the effects of foreign exchange rate changes on sales. These contracts typically have maturities of thirty-seven months or less. At September 28, 2019 and December 29, 2018, the Company had outstanding cash flow hedges with a total notional value of $387.8 million and $366.7 million, respectively.
The Company also enters into economic hedges that are not designated as hedges from an accounting standpoint to reduce or eliminate the effects of foreign exchange rate changes typically related to short term trade receivables and payables. These contracts typically have maturities of ten months or less. At September 28, 2019 and December 29, 2018, the Company had outstanding economic hedges with a total notional value of $75.9 million and $56.0 million, respectively.
The fair values of derivative instruments are as follows (in thousands):
 
 
 
Fair Value
 
Classification
 
September 28, 2019
 
December 29, 2018
Derivatives not designated as hedging instruments:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
1,342

 
$
551

Foreign currency forward contracts
Accrued expenses
 
727

 

Derivatives designated as cash flow hedges:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
4,580

 
$
53

Foreign currency forward contracts
Other assets
 
9,574

 
172

Foreign currency forward contracts
Accrued expenses
 
355

 
335

Foreign currency forward contracts
Long-term liabilities
 
363

 
795


Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):
 
 
 
Three Months Ended
 
Nine Months Ended
 
Classification
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Gain (loss) recognized in income
Other income, net
 
$
852

 
$
435

 
$
200

 
$
973


The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): 
 
 
Gain (loss) recognized in OCI on Derivative (1)
 
 
Three Months Ended
 
Nine Months Ended
 
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
Foreign currency forward contracts
 
$
10,905

 
$
362

 
$
15,254

 
$
(198
)

(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
 
 
Gain (loss) recognized in earnings on cash flow hedging instruments
 
 
Three Months Ended
 
 
September 28, 2019
 
September 29, 2018
 
 
Revenue
 
Cost of revenue
 
Revenue
 
Cost of revenue
Consolidated statements of income in which the effects of cash flow hedging instruments are recorded
 
$
289,399

 
$
152,558

 
$
264,534

 
$
129,328

 
 
 
 
 
 
 
 
 
Gain (loss) on cash flow hedging relationships:
 
 
 
 
 
 
 
 
Foreign currency forward contracts:
 
 
 
 
 
 
 
 
Amount of gain (loss) reclassified from AOCI into earnings
 
$
185

 
$

 
$
549

 
$


 
 
Gain (loss) recognized in earnings on cash flow hedging instruments
 
 
Nine Months Ended
 
 
September 28, 2019
 
September 29, 2018
 
 
Revenue
 
Cost of revenue
 
Revenue
 
Cost of revenue
Consolidated statements of income in which the effects of cash flow hedging instruments are recorded
 
$
787,232

 
$
412,675

 
$
707,919

 
$
339,002

 
 
 
 
 
 
 
 
 
Gain (loss) on cash flow hedging relationships:
 
 
 
 
 
 
 
 
Foreign currency forward contracts:
 
 
 
 
 
 
 
 
Amount of gain (loss) reclassified from AOCI into earnings
 
$
400

 
$

 
$
270

 
$
(386
)

XML 65 R11.htm IDEA: XBRL DOCUMENT v3.19.3
Leases (Notes)
9 Months Ended
Sep. 28, 2019
Leases [Abstract]  
Lessee, Operating Leases [Text Block] Leases
The Company's leasing arrangements primarily consist of operating leases for its facilities which include corporate, sales and research and development offices. For leases with terms greater than 12 months, the Company records the related right-of-use asset and lease obligation at the present value of lease payments over the term. The Company's leases typically include rental escalation clauses, renewal options and/or termination options that are factored into the determination of lease payments when appropriate. The Company does not separate lease and nonlease components of contracts and excludes all variable lease payments from the measurement of right-of-use assets and lease liabilities. The Company's variable lease payments generally include usage based nonlease components. The Company's lease agreements do not contain any residual value guarantees or restrictive covenants. Leases with an initial term of 12 months or less are not recorded on the balance sheet; lease expense is recognized on a straight-line basis over the lease term.
The Company's existing leases do not provide a readily determinable implicit rate. Therefore, the Company estimates its incremental borrowing rate to discount the lease payments based on information available at December 30, 2018 (date of initial application) or the lease commencement date for existing leases upon adoption or new leases post adoption, respectively. At September 28, 2019, the Company's weighted average discount rate was 3.61%, while the weighted average remaining lease term was 9.40 years.
The components of lease expense were as follows (in thousands):
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
Operating lease cost
$
2,250

 
$
6,539

Variable lease cost
828

 
2,965

Total lease cost
$
3,078

 
$
9,504


Supplemental cash flow information related to leases was as follows (in thousands):
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
Cash paid for amounts included in the measurement of lease liabilities:
 
 
 
Operating cash flows from operating leases
$
2,566

 
$
7,447

Right-of-use assets obtained in exchange for lease obligations:
 
 
 
Operating leases
$
460

 
$
53,227


Maturities of operating lease liabilities were as follows as of September 28, 2019 (in thousands):
 
Operating leases
Remainder of 2019
$
1,774

2020
8,798

2021
8,232

2022
7,560

2023
7,109

Thereafter
41,128

Total minimum lease payments
$
74,601

Less: imputed interest
11,953

Present value of future minimum lease payments
$
62,648

Less: current portion of operating lease liabilities (Note 7)
6,307

Long-term lease liabilities
$
56,341



Financial Statement Impact of Adopting ASC 842
The Company adopted ASC 842 effective December 30, 2018 using the alternative transition method. Under this alternative transition method, a company is permitted to use its effective date as the date of initial application without restating comparative period financial statements. The Company elected the package of practical expedients permitted under the transition guidance, which allowed the Company to carryforward its historical assessments of (1) whether contracts are or contain leases, (2) lease classification and (3) initial direct costs. In addition, the Company elected the practical expedient to use hindsight in determining lease term. The adoption of the new standard resulted in the recognition of right-of-use assets and lease liabilities of approximately $52.8 million and $67.3 million, respectively. The standard did not materially impact the Company's consolidated income or cash flows.
XML 66 R6.htm IDEA: XBRL DOCUMENT v3.19.3
Consolidated Statement of Shareholders' Equity Statement - USD ($)
$ in Thousands
Total
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Beginning Balance, Shares   27,945,000      
Beginning balance $ 470,327 $ 279 $ 190,067 $ 277,989 $ 1,992
Issuance of common stock under employee stock plans (in shares)   216,000      
Stock Issued During Period, Value, Stock Options Exercised 7,948 $ 3 7,945    
Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares)   360,000      
Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures 0 $ 4 (4)    
Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition 18,969   18,969    
Shares Paid for Tax Withholding for Share Based Compensation (in shares)   (51,000)      
Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount (3,532) $ (1) (3,531)    
Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent (4,024)       (4,024)
Adjustments to Additional Paid in Capital Directors Deferred Compensation 49   49    
Net income $ 62,801     62,801  
Stock Repurchased and Retired During Period, Shares (799,000)        
Stock Repurchased and Retired During Period, Value $ (50,000) $ (8) (49,992)    
Stock Repurchased and Retired During Period, Shares (798,794)        
Stock Repurchased and Retired During Period, Value $ (50,000)        
Beginning Balance, Shares   27,402,000      
Beginning balance 458,041 $ 274 151,556 309,901 (3,690)
Issuance of common stock under employee stock plans (in shares)   149,000      
Stock Issued During Period, Value, Stock Options Exercised 5,342 $ 2 5,340    
Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares)   120,000      
Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures 0 $ 1 (1)    
Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition 6,592   6,592    
Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent 1,658       1,658
Adjustments to Additional Paid in Capital Directors Deferred Compensation 16   16    
Net income 31,929     31,929  
Beginning Balance, Shares   27,671,000      
Beginning balance 503,578 $ 277 163,503 341,830 (2,032)
Cumulative Effect of New Accounting Principle in Period of Adoption $ 1,040     1,040  
Beginning Balance, Shares 27,788,000 27,788,000      
Beginning balance $ 535,322 $ 278 172,771 367,021 (4,748)
Issuance of common stock under employee stock plans (in shares)   125,000      
Stock Issued During Period, Value, Stock Options Exercised 4,981 $ 1 4,980    
Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares)   391,000      
Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures 0 $ 4 (4)    
Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition 18,742   18,742    
Shares Paid for Tax Withholding for Share Based Compensation (in shares)   (59,000)      
Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount (7,277) $ (1) (7,276)    
Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent 5,803       5,803
Adjustments to Additional Paid in Capital Directors Deferred Compensation 55   55    
Net income 65,259     65,259  
Beginning Balance, Shares   28,123,000      
Beginning balance 579,576 $ 281 184,663 396,748 (2,116)
Issuance of common stock under employee stock plans (in shares)   9,000      
Stock Issued During Period, Value, Stock Options Exercised 301 $ 0 301    
Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares)   113,000      
Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures 0 $ 1 (1)    
Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition 4,284   4,284    
Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent 3,171       3,171
Adjustments to Additional Paid in Capital Directors Deferred Compensation 21   21    
Net income $ 35,532     35,532  
Beginning Balance, Shares 28,245,000 28,245,000      
Beginning balance $ 622,885 $ 282 $ 189,268 $ 432,280 $ 1,055
XML 67 R19.htm IDEA: XBRL DOCUMENT v3.19.3
Income Taxes (Notes)
9 Months Ended
Sep. 28, 2019
Income Tax Disclosure [Abstract]  
Income Tax Disclosure [Text Block] Income Taxes
The Company’s effective income tax rate for the three months ended September 28, 2019 and September 29, 2018, was 18.2% and 15.1%, respectively. The increase in the effective income tax rate was primarily due to lower tax benefits recognized related to excess stock-based compensation.
The Company's effective income tax rate of 18.2% for the three months ended September 28, 2019 differed from the federal statutory tax rate of 21% primarily due to the recognition of higher tax benefits related to federal and state income tax credits.
The Company’s effective income tax rate for the nine months ended September 28, 2019 and September 29, 2018, was 11.6% and 19.9%, respectively. The decrease in the effective income tax rate was primarily due to increased tax benefits related to excess stock-based compensation and a decrease in foreign taxes related to a discrete charge for estimated taxes associated with a restructuring of the EMEA business in the nine months ended September 29, 2018.
The Company's effective income tax rate of 11.6% for the nine months ended September 28, 2019 differed from the federal statutory tax rate of 21% primarily due to the recognition of tax benefits related to excess stock-based compensation.
XML 68 R2.htm IDEA: XBRL DOCUMENT v3.19.3
Consolidated Balance Sheets (Unaudited) - USD ($)
$ in Thousands
Sep. 28, 2019
Dec. 29, 2018
Current assets:    
Cash and cash equivalents $ 70,542 $ 130,373
Short term investments 20,530 31,605
Accounts receivable, net 169,562 162,166
Inventory 248,303 164,633
Other current assets 39,112 25,660
Total current assets 548,049 514,437
Property and equipment, net 75,019 57,026
Operating lease right-of-use assets 48,948 0
Deferred tax assets 37,177 36,979
Goodwill 117,537 118,896
Intangible assets, net 14,931 24,273
Other assets 32,003 15,350
Total assets 873,664 766,961
Current liabilities:    
Accounts payable 108,331 136,742
Accrued expenses 70,586 71,259
Deferred revenue and customer advances 4,902 5,756
Total current liabilities 183,819 213,757
Operating lease liabilities 56,341 0
Deferred tax liabilities 1,560 4,005
Other long-term liabilities 9,059 13,877
Total long-term liabilities 66,960 17,882
Total liabilities 250,779 231,639
Commitments and contingencies (Note 11)
Preferred stock, 5,000 shares authorized and none outstanding 0 0
Common stock, $0.01 par value, 100,000 shares authorized; 28,245 and 27,788 shares issued and outstanding, respectively 282 278
Additional paid-in capital 189,268 172,771
Retained earnings 432,280 367,021
Accumulated other comprehensive income (loss) 1,055 (4,748)
Total stockholders’ equity 622,885 535,322
Total liabilities and stockholders’ equity $ 873,664 $ 766,961
XML 69 R57.htm IDEA: XBRL DOCUMENT v3.19.3
Subsequent Event (Details)
$ in Millions
Oct. 17, 2019
USD ($)
Subsequent Event [Line Items]  
Gain (Loss) on Sale of Equity Investments $ 8.0
XML 70 R53.htm IDEA: XBRL DOCUMENT v3.19.3
Commitments and Contingencies - Activity Related to Warranty Accrual (Detail) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 28, 2019
Sep. 29, 2018
Sep. 28, 2019
Sep. 29, 2018
Movement in Standard Product Warranty Accrual [Roll Forward]        
Balance at beginning of period $ 11,970 $ 11,233 $ 11,964 $ 11,264
Provision 3,484 2,682 8,817 7,310
Warranty usage (3,082) (2,485) (8,409) (7,144)
Balance at end of period $ 12,372 $ 11,430 $ 12,372 $ 11,430
XML 71 Show.js IDEA: XBRL DOCUMENT // 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)}}} XML 72 R42.htm IDEA: XBRL DOCUMENT v3.19.3
Inventory (Details) - USD ($)
$ in Thousands
Sep. 28, 2019
Dec. 29, 2018
Inventory Disclosure [Abstract]    
Inventory, Raw Materials, Net of Reserves $ 2,801 $ 2,992
Inventory, Finished Goods, Net of Reserves 245,502 161,641
Inventory $ 248,303 $ 164,633
XML 73 R46.htm IDEA: XBRL DOCUMENT v3.19.3
Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details)
$ in Thousands
Sep. 28, 2019
USD ($)
Finite-lived intangible assets, schedule of amortization expense [Line Items]  
Remainder of 2018 $ 2,642
2019 2,130
2020 1,914
2021 1,689
2022 1,014
Thereafter 5,542
Total 14,931
Cost of revenue  
Finite-lived intangible assets, schedule of amortization expense [Line Items]  
Remainder of 2018 2,411
2019 1,140
2020 1,140
2021 915
2022 240
Thereafter 61
Total 5,907
Operating Expense [Member]  
Finite-lived intangible assets, schedule of amortization expense [Line Items]  
Remainder of 2018 231
2019 990
2020 774
2021 774
2022 774
Thereafter 5,481
Total $ 9,024
XML 74 R27.htm IDEA: XBRL DOCUMENT v3.19.3
Goodwill, Other Intangible Assets and Other Assets (Tables)
9 Months Ended
Sep. 28, 2019
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill [Table Text Block]
The following table summarizes the activity in the carrying amount of goodwill for the nine months ended September 28, 2019 (in thousands):
Balance as of December 29, 2018
$
118,896

Acquisition
2,050

Effect of foreign currency translation
(3,409
)
Balance as of September 28, 2019
$
117,537


Other Intangible Assets
Intangible assets consisted of the following (in thousands):
 
September 28, 2019
 
December 29, 2018
 
Cost
 
Accumulated
Amortization
 
Net
 
Cost
 
Accumulated
Amortization
 
Net
Completed technology
$
28,100

 
$
24,320

 
$
3,780

 
$
26,900

 
$
21,607

 
$
5,293

Tradename
100

 
100

 

 
100

 
100

 

Customer relationships
10,989

 
2,049

 
8,940

 
11,291

 
1,365

 
9,926

Reacquired distribution rights
31,239

 
29,112

 
2,127

 
32,499

 
23,598

 
8,901

Non-competition agreements
251

 
167


84

 
263

 
110

 
153

Total
$
70,679

 
$
55,748

 
$
14,931

 
$
71,053

 
$
46,780

 
$
24,273


Estimated Future Amortization Expense Related to Current Intangible Assets
The estimated future amortization expense related to current intangible assets in each of the five succeeding fiscal years is expected to be as follows (in thousands):
 
Cost of Revenue
 
Operating Expenses
 
Total
Remainder of 2019
$
2,411

 
$
231

 
$
2,642

2020
1,140

 
990

 
2,130

2021
1,140

 
774

 
1,914

2022
915

 
774

 
1,689

2023
240

 
774

 
1,014

Thereafter
61

 
5,481

 
5,542

Total
$
5,907

 
$
9,024

 
$
14,931


XML 75 R23.htm IDEA: XBRL DOCUMENT v3.19.3
Revenue Recognition Disaggregation of Revenue (Tables)
9 Months Ended
Sep. 28, 2019
Revenue Recognition and Deferred Revenue [Abstract]  
Disaggregation of Revenue [Table Text Block]
Disaggregation of Revenue
The following table provides information about disaggregated revenue by geographical region (in thousands):
 
Three Months Ended
 
Nine Months Ended
 
September 28, 2019
 
September 29, 2018
 
September 28, 2019
 
September 29, 2018
United States
$
117,929

 
$
127,240

 
$
356,466

 
$
345,628

EMEA
93,688

 
73,831

 
251,150

 
213,541

Other
77,782

 
63,463

 
179,616

 
148,750

Total revenue
$
289,399

 
$
264,534

 
$
787,232

 
$
707,919