From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 97CA6C433F5 for ; Thu, 7 Oct 2021 09:47:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 73E0F61090 for ; Thu, 7 Oct 2021 09:47:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240282AbhJGJtF (ORCPT ); Thu, 7 Oct 2021 05:49:05 -0400 Received: from mail-vi1eur05on2078.outbound.protection.outlook.com ([40.107.21.78]:62049 "EHLO EUR05-VI1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S232625AbhJGJtD (ORCPT ); Thu, 7 Oct 2021 05:49:03 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mkxnwWMZQMyWxR+Fym6zcEa5C+dGrxsJqOtFz4cC7rYmKpIuwUEC+iz2hc5EVSZSsOgt20C+p7seX+rjjeeUpxUN8B4tqft+SuiGTEGl3fCOTRLBnoeFN2vW2d2yWF5cxQkbYPyN8wcPllci6CsZGXNshn4w63csBoGHQBlfOASJc+AILQCBsoHQTWHADpZ5mq4RudeK7FIBQ+qzCcRVPSh5YJoZpPyyQjPFlMoaqejnwbS/4UKstWXh2T5AwVD2BvrH7Y/B92tPyIBrTufcmvT++WvPjJwb/ZehEH8N8ud0poWWM00oPVuL8Xa8WrrFO4K1sarBVsQYGP+gRsOnnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8z6F2wE5klh+wHucnkfxfMvOjnsfwDcvBHYTYuuJPpA=; b=L12m0TuDPQMfNgy8+745oY2Qlrf6KwIHqWkXMyLTLhNaE8a7EPFcqTCBI4o0cAwAWGRIF7zzEEG1Rzz6nWMwoRKtzs/YJM/DkitkDYT8WBdSKGB9EzWTKW/ONQ+sxWFUHxLpjEDALawEdHhw2QR5l6QpuyB+UZiEfV3NRIjiZ2ZOMtEDvT1QT7Dp4+ZU9OSBLy5lscveTSh+tOGFKiKfBeihqfZpl4Fhf33woJZ3nJoUnsUfvviLthPHpNxT+N/PO2IMXqOFLrQpSnZWFjDEl8SNNclFl3uPaP59VePm7ETJqkOTYeaoppPAmJNsBVbGN3zr+fTtwrs8mCzgTllgbg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8z6F2wE5klh+wHucnkfxfMvOjnsfwDcvBHYTYuuJPpA=; b=Xi7yPCbkG7ksTGjTZekZPwD35HLUFJomqIps9vSpX2ex3sGpnk1ZmeMDGT7wd3FxaXREHwDiSTPpaDypvH1lUWNDGCraYgAgg+dxhZuPhksHIoiCCG0e/p7TM93btBc1fgYffmk0G9OcpijitLmyhVp22ZuGwiqW4C4IpV4KXh0= Received: from VI1PR04MB5136.eurprd04.prod.outlook.com (2603:10a6:803:55::19) by VI1PR04MB5136.eurprd04.prod.outlook.com (2603:10a6:803:55::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.19; Thu, 7 Oct 2021 09:47:07 +0000 Received: from VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::e157:3280:7bc3:18c4]) by VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::e157:3280:7bc3:18c4%5]) with mapi id 15.20.4566.023; Thu, 7 Oct 2021 09:47:07 +0000 From: Vladimir Oltean To: =?utf-8?B?QWx2aW4gxaBpcHJhZ2E=?= CC: "netdev@vger.kernel.org" , Florian Fainelli , Andrew Lunn Subject: Re: DSA: some questions regarding TX forwarding offload Thread-Topic: DSA: some questions regarding TX forwarding offload Thread-Index: AQHXucaemV05T+14+0C6ajjHlibfJavEL5CAgAAgAgCAABbYAIAAE5gAgAANB4CAAaB4gIABJYaA Date: Thu, 7 Oct 2021 09:47:07 +0000 Message-ID: <20211007094707.wg24vgbf57cr76mi@skbuf> References: <04d700b6-a4f7-b108-e711-d400ef01cc2e@bang-olufsen.dk> <20211005101253.sqvsvk53k34atjwt@skbuf> <20211005132912.bkjogbbv7gpf6ue7@skbuf> <3603d4eb-61d0-e64d-3e9d-53803d8c46a4@bang-olufsen.dk> <20211005152557.wbn7ojk5nphos5s5@skbuf> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: bang-olufsen.dk; dkim=none (message not signed) header.d=none;bang-olufsen.dk; dmarc=none action=none header.from=nxp.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0420906d-74bb-4232-60fd-08d989776d50 x-ms-traffictypediagnostic: VI1PR04MB5136: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: VzYMM1yoUaEFVESv3WODqnPNE/Iy2FJ5FR3sV182izfW4AnBprMYrXm2U1iwieZss/pOJqSAWaynzzh/B9EiIv33XqmZJPVaD289KZK7f/gK6RsIseCLJB3pb1fOIpvUT6ZIvewc81ZjW3wRm3Pnztk4eLyzpC7gZdr66fjk3EfH9OhqX2Om76kVc4yGxqL/R0Mk8CpJS0GaImD5chSQHCZXL9hv4zm2qN9ZbiEY6pt7+I7M7sMzawtznYG34P1YsNetUrVn3UoH3IjeHxUciO8Q+do8YcrQIp5790PV1kMa7DmEUkYkDFpXouUuCzBaUGTROc7AWwQlWsjSfc3TleKojck6m6O8niCg24V9zEwYO0oLc5PAbUYrWTtslTmckuhJJgcBrVJjKB8A1E8/sh0qrTVsbCUsVfBI3K/03lTM3fX0ggE6xOGplLr5SRe+T/sO/ZvYeuvNJBQYpeN3hHgELtDtIbCIeBCIq+qjEwNOJzAuJJigaOTQHbKAFPVD3bJMTlWpohJ5bMTZWXwM2Udg8Okbtgxud6yKVI9zSgIjtrI/QjzErx6uwIcnZyhtvnizYee07S4HD9BDGUIQbbck4Qf5g6H10qNqfZc5E1pgvOus7oIswm4qAU99qq7DSqrXFKi9GCDt3rtsUvr9FQrwG0kNgtFUidclkrh1r3BSz3nO/TjqhBFiY3nItXqZJ83CKSWdpzPyX6lS1/MINg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5136.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(6916009)(8936002)(8676002)(4326008)(38100700002)(54906003)(122000001)(316002)(5660300002)(6506007)(508600001)(1076003)(6512007)(9686003)(83380400001)(26005)(186003)(30864003)(71200400001)(6486002)(33716001)(44832011)(66446008)(86362001)(66476007)(66946007)(76116006)(64756008)(66574015)(66556008)(38070700005)(2906002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MzFvbnRYcGxsTlg0cnI1L2ZoUXpzVmZqYS9xbDlVZVVTamtKUUpGbTVycmlE?= =?utf-8?B?S0swTGFla2J1K1JOTjZZL1MvNnB3VjlUb2FrUFpxNldTRzl6ZmpmTzBHVmFT?= =?utf-8?B?d1ZGUkR5SmFTdk9Bak9seWlaRnhEUjRtcVdudlpTMTBLVUszalZjbzB3alFl?= =?utf-8?B?WkJNbkdxTm5LbTdMbWw4eFlvTjJhMUVlMlBzc0lJb0VkUXVlUHliNlZhTzc4?= =?utf-8?B?MzdIRGdRekcrK0dudkFHbGZUeEE0NVJSSnc3OVRiV2oxd1h0MnFBNHNBeGFq?= =?utf-8?B?b2dXeHNkcm81OFlWOFJ0MjFSZTZtWTFxQVROV20wdUJwV0JqUE1SMDk4alNz?= =?utf-8?B?Q0syekRIdmVGV2w5ZURVUFhVRE1PNVdTdW9aMlVybzM1amttZGRwNDd0UTdH?= =?utf-8?B?azJrNFhKdE9XQk5QUWtLeUpzeTVtWHllZFVXR2hrdDRiR25vbkYwSGZqQ0ta?= =?utf-8?B?MTluVThQYUxXRWpsYjVvcDFyRlpCb0ZGUkZFZW9Ydnl1UG9lTmhUakVxRjRT?= =?utf-8?B?bTN2QTBibHY3UlB0VDhmc3E4RW9VUy9LVVU4QVYxaVRoV2JnQUkyT0tQL0pn?= =?utf-8?B?NU5uK01RL3V6S05OTERPa2RCVGlsdkZFclVtKy9qZUw4N2E2bC9WdnJZMGZj?= =?utf-8?B?Q2QzeW9IUEpGaGZ1U2FwRG14bnFaeFRNbmh3WjRNVEhIM2hNRUJ4c0xiOUhM?= =?utf-8?B?TlVnZ2NNSFdjYkNucUI1QURBd2hNb2MrWmp1SjNxaWxhQWp3d1o4QVVJNDBV?= =?utf-8?B?cncyOEZMRzdZVHY1cWc3QXJBUkdHMmtscGtGWWJUcXdLY2wrM2Nkc3NVM2tO?= =?utf-8?B?aEREaGlEYjNtWkpTVFB3SXJHOW4zeWVOWU5sS3pyMGdZYTduWmlmTkoyZkFr?= =?utf-8?B?aWcwZG02Rmp3YVpvcmtuRW5nRmR4cGpHRVZVMjlNdFNrai9XdStWTzkvb2ZX?= =?utf-8?B?Q3Q4NVlFSjU1VjV3QnJGcHAxcnRKK2hzNzFCeVV1T2FGV1JJbjF3T250T0JS?= =?utf-8?B?MFg5SVdaVElNZmZOc3FTMkhQSzU3NktSRTNwM0YvMWIzNUJTSlR4TTQza2lH?= =?utf-8?B?ZEs4cVdRSU93MzU2ZnIrd215RGc2NXhwZ0p1SjhWK0w2czdwK1ZsQ2o5ejNK?= =?utf-8?B?QWFQZWxUdnZsQ3NtUnZXTVBHQ0tudjFtN1poejhKd3RBQ2tCeU41dmNYKzBu?= =?utf-8?B?Y3ZUUm8yRW4zWUQzWUs5U1JzYWlKSml2WWw5dWluWWEvOWtVZDdHbVFzelRL?= =?utf-8?B?QXBJQllYMW9scnFLOHhuTTFVQ2czYWtHL1Eya1crcnZydDUwQWFXdWNCV0tz?= =?utf-8?B?YWZPaHZ0U2pjZ25US2RYaFFoaHlPTk1RaUtJMy9wSjJsQ1dURTJLNWYwaERw?= =?utf-8?B?TzA0MzVtM1ArcGlLeDdPSlVKRVZJNzZvZ2NyRk91RU9NU1VNODBrbGl3Wnlo?= =?utf-8?B?UTNZTFVXcmJwVWROK1JBdFRYVWJ2TzI4WkhhaXF2N0JZb3BTMy9Ja3FPVVNP?= =?utf-8?B?clZnM1gzeS8yMitqR0wwTTV4YVBmdGxzSW1PUXhoeEZuaHZnNjg3QWpPUEd4?= =?utf-8?B?ODlzWjZOV2NJUUlWcHBlZGJjZ2F0WnE2aTI0eWc5SFRTQi94T0V2bko3NlVL?= =?utf-8?B?aHFLT2l4d1JKTCtIenJxZEVjZUp0MkJVK3pkRWxjSDl4YnFDclVzMGhQTmlT?= =?utf-8?B?endVSVpEbSsyU2U5RmNHd2lJZ1IyaTJYL0JqRGpENi82bUl1blM1TW9lU3R1?= =?utf-8?Q?HhSZFqTw1uxwAjSy/9R/DkEeuVyvEM4Mi3Dml3L?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5136.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0420906d-74bb-4232-60fd-08d989776d50 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Oct 2021 09:47:07.7113 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: XpK38+drC7mRMcDGwW6rGrOcTz76mKq2CCil9LHEdbseLF6JBU9QTa24pXAggISFuQC6k7ug6yXuf2nq+m8UDQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5136 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org T24gV2VkLCBPY3QgMDYsIDIwMjEgYXQgMDQ6MTY6MzRQTSArMDAwMCwgQWx2aW4gxaBpcHJhZ2Eg d3JvdGU6DQo+IEZpcnN0LCBhbGxvdyBtZSB0byByZXByb2R1Y2UgdGhlIHJlbGV2YW50IHBhcnQg b2YgdGhlIGRhdGFzaGVldCBoZXJlOg0KPg0KPiB8ID09IFNlYXJjaCBhbmQgTGVhcm5pbmcNCj4g fA0KPiB8ID0gU2VhcmNoDQo+IHwNCj4gfCBXaGVuIGEgcGFja2V0IGlzIHJlY2VpdmVkLCB0aGUg UlRMODM2NU1CLVZDIHVzZXMgdGhlIGRlc3RpbmF0aW9uIE1BQw0KPiB8IGFkZHJlc3MsIEZpbHRl cmluZyBJZGVudGlmaWVyIChGSUQpIGFuZCBFbmhhbmNlZCBGaWx0ZXJpbmcgSWRlbnRpZmllcg0K PiB8IChFRklEKSB0byBzZWFyY2ggdGhlIDJLLWVudHJ5IGxvb2stdXAgdGFibGUuIFRoZSA0OC1i aXQgTUFDIGFkZHJlc3MsDQo+IHwgNC1iaXQgRklEIGFuZCAzLWJpdCBFRklEIHVzZSBhIGhhc2gg YWxnb3JpdGhtLCB0byBjYWxjdWxhdGUgYW4gMTEtYml0DQo+IHwgaW5kZXggdmFsdWUuIFRoZSBS VEw4MzY1TUItVkMgdXNlcyB0aGUgaW5kZXggdG8gY29tcGFyZSB0aGUgcGFja2V0IE1BQw0KPiB8 IGFkZHJlc3Mgd2l0aCB0aGUgZW50cmllcyAoTUFDIGFkZHJlc3NlcykgaW4gdGhlIGxvb2stdXAg dGFibGUuIFRoaXMgaXMNCj4gfCB0aGUg4oCYQWRkcmVzcyBTZWFyY2jigJkuIElmIHRoZSBkZXN0 aW5hdGlvbiBNQUMgYWRkcmVzcyBpcyBub3QgZm91bmQsIHRoZQ0KPiB8IHN3aXRjaCB3aWxsIGJy b2FkY2FzdCB0aGUgcGFja2V0IGFjY29yZGluZyB0byBWTEFOIGNvbmZpZ3VyYXRpb24uDQoNClVu bGVzcyB0aGUgd29yZGluZyBpcyBwbGFpbiBpbmNvcnJlY3Qgb3IgZG9lcyBub3QgY292ZXIgYWxs IGNhc2VzIGV4Y2VwdA0KZm9yIHRoZSAiZGVmYXVsdCBvcGVyYXRpb24iLCBJIHRoaW5rIHRoaXMg c2F5cyB0aGF0IHRoZSBMVVQgaXMgYWx3YXlzDQppbmRleGVkIGJhc2VkIG9uIGEgaGFzaCBvZiB7 NDgtYml0IE1BQywgNC1iaXQgRklELCAzLWJpdCBFRklEfS4NCk5vIG1lbnRpb24gb2YgVklELg0K DQo+IHwNCj4gfCA9IExlYXJuaW5nDQo+IHwNCj4gfCBUaGUgUlRMODM2NU1CLVZDIHVzZXMgdGhl IHNvdXJjZSBNQUMgYWRkcmVzcywgRklELCBhbmQgRUZJRCBvZiB0aGUNCj4gfCBpbmNvbWluZyBw YWNrZXQgdG8gaGFzaCBpbnRvIGEgOS1iaXQgaW5kZXguIEl0IHRoZW4gY29tcGFyZXMgdGhlIHNv dXJjZQ0KPiB8IE1BQyBhZGRyZXNzIHdpdGggdGhlIGRhdGEgKE1BQyBhZGRyZXNzZXMpIGluIHRo aXMgaW5kZXguIElmIHRoZXJlIGlzIGENCj4gfCBtYXRjaCB3aXRoIG9uZSBvZiB0aGUgZW50cmll cywgdGhlIFJUTDgzNjVNQi1WQyB3aWxsIHVwZGF0ZSB0aGUgZW50cnkNCj4gfCB3aXRoIG5ldyBp bmZvcm1hdGlvbi4gSWYgdGhlcmUgaXMgbm8gbWF0Y2ggYW5kIHRoZSAySyBlbnRyaWVzIGFyZSBu b3QNCj4gfCBhbGwgb2NjdXBpZWQgYnkgb3RoZXIgTUFDIGFkZHJlc3NlcywgdGhlIFJUTDgzNjVN Qi0gVkMgd2lsbCByZWNvcmQgdGhlDQo+IHwgc291cmNlIE1BQyBhZGRyZXNzIGFuZCBpbmdyZXNz IHBvcnQgbnVtYmVyIGludG8gYW4gZW1wdHkgZW50cnkuIFRoaXMNCj4gfCBwcm9jZXNzIGlzIGNh bGxlZCDigJhMZWFybmluZ+KAmS4NCj4gfCBBZGRyZXNzIGFnaW5nIGlzIHVzZWQgdG8ga2VlcCB0 aGUgY29udGVudHMgb2YgdGhlIGFkZHJlc3MgdGFibGUgY29ycmVjdA0KPiB8IGluIGEgZHluYW1p YyBuZXR3b3JrIHRvcG9sb2d5LiBUaGUgbG9vay11cCBlbmdpbmUgd2lsbCB1cGRhdGUgdGhlIHRp bWUNCj4gfCBzdGFtcCBpbmZvcm1hdGlvbiBvZiBhbiBlbnRyeSB3aGVuZXZlciB0aGUgY29ycmVz cG9uZGluZyBzb3VyY2UgTUFDDQo+IHwgYWRkcmVzcyBhcHBlYXJzLiBBbiBlbnRyeSB3aWxsIGJl IGludmFsaWQgKGFnZWQgb3V0KSBpZiBpdHMgdGltZSBzdGFtcA0KPiB8IGluZm9ybWF0aW9uIGlz IG5vdCByZWZyZXNoZWQgYnkgdGhlIGFkZHJlc3MgbGVhcm5pbmcgcHJvY2VzcyBkdXJpbmcgdGhl DQo+IHwgYWdpbmcgdGltZSBwZXJpb2QuIFRoZSBhZ2luZyB0aW1lIG9mIHRoZSBSVEw4MzY1TUIt VkMgaXMgYmV0d2VlbiAyMDAgYW5kDQo+IHwgNDAwIHNlY29uZHMgKHR5cGljYWwgaXMgMzAwIHNl Y29uZHMpLg0KPiB8DQo+IHwgPT0gU1ZMIGFuZCBJVkwvU1ZMDQo+IHwNCj4gfCBUaGUgUlRMODM2 NU1CLVZDIHN1cHBvcnRzIGEgMTYtZ3JvdXAgRmlsdGVyaW5nIElkZW50aWZpZXIgKEZJRCkgZm9y IEwyDQo+IHwgc2VhcmNoIGFuZCBsZWFybmluZy4gSW4gZGVmYXVsdCBvcGVyYXRpb24sIGFsbCBW TEFOIGVudHJpZXMgYmVsb25nIHRvDQo+IHwgdGhlIHNhbWUgRklELiBUaGlzIGlzIGNhbGxlZCBT aGFyZWQgVkxBTiBMZWFybmluZyAoU1ZMKS4gSWYgVkxBTiBlbnRyaWVzDQo+IHwgYXJlIGNvbmZp Z3VyZWQgdG8gZGlmZmVyZW50IEZJRHMsIHRoZW4gdGhlIHNhbWUgc291cmNlIE1BQyBhZGRyZXNz IHdpdGgNCj4gfCBtdWx0aXBsZSBGSURzIGNhbiBiZSBsZWFybmVkIGludG8gZGlmZmVyZW50IGxv b2stdXAgdGFibGUgZW50cmllcy4gVGhpcw0KPiB8IGlzIGNhbGxlZCBJbmRlcGVuZGVudCBWTEFO IExlYXJuaW5nIGFuZCBTaGFyZWQgVkxBTiBMZWFybmluZyAoSVZML1NWTCkuDQoNCkkgdGhpbmsg SSB1bmRlcnN0YW5kIHdoYXQgdGhleSdyZSB0cnlpbmcgdG8gc2F5LCBhbHRob3VnaCBJIGRvbid0 DQp1bmRlcnN0YW5kIHdoYXQgZG9lcyAiZGVmYXVsdCBvcGVyYXRpb24iIG1lYW4uIFR5cGljYWwg dXNhZ2U/IE5vIGlkZWEuDQoNCj4gVGhpcyAiSVZML1NWTCIgbW9kZSB3b3VsZCBhcHBlYXIgdG8g Y29ycmVzcG9uZCB0byBhIGZpZWxkIGluIHRoZSB2ZW5kb3INCj4gZHJpdmVyIHNvdXJjZXMgY2Fs bGVkIGl2bF9zdmwgKGl2bF9zdmw9MSBpcyB3aGF0IEkgaGF2ZSByZWZlcnJlZCB0byBhcw0KPiAi SVZMIiBhbGwgdGhpcyB0aW1lKSwgd2hpY2ggaXMgcGFydCBvZiBlYWNoIFZMQU4gY29uZmlndXJh dGlvbiBpbiB0aGUNCj4gVkxBTiB0YWJsZS4gQnV0IHRoYXQgZmllbGQgYWxzbyBjb21lcyB3aXRo IGEgLyogSVZMICovIG9yIC8qIElWTF9FTiAqLw0KPiBjb21tZW50IG5leHQgdG8gaXQgaW4gc29t ZSBwbGFjZXMuIFNvIEkgYW0gdW5zdXJlIHdoZXRoZXIgdGhlcmUgaXMgYQ0KPiB0aGlyZCwgImdl bnVpbmUiIElWTCBtb2RlIHdoaWNoIGRvZXMgbm90IHVzZSB0aGUgRklEIGF0IGFsbC4gQXQgbGVh c3QsDQo+IHRoZSBkZXNjcmlwdGlvbiBpbiB0aGUgZGF0YXNoZWV0IGRvZXNuJ3Qgc2VlbSBzZWVt IHRvIGNvcnJlbGF0ZSB3aXRoIHRoZQ0KPiBiZWhhdmlvdXIgb2YgdGhpcyBpdmxfc3ZsIHN3aXRj aC4gQnV0IEkgY291bGQgYmUgcGFyc2luZyBpdCB3cm9uZy4NCg0KU28geW91J3ZlIHNhaWQgdGhh dCBhIFZMQU4gdGFibGUgZW50cnkgY29udGFpbnMgYW4gSVZMX0VOIGJpdCwgYW5kIGEgRklELg0K SXQncyB0aGlzIHN0cnVjdHVyZSwgcmlnaHQ/DQoNCnN0cnVjdCBydGw4MzY1bWJfdmxhbl80ayB7 DQoJdTE2IHZpZDsNCgl1MTYgbWVtYmVyOw0KCXUxNiB1bnRhZzsNCgl1OCBmaWQ7DQoJdTggcHJp b3JpdHk7DQoJdTggcHJpb3JpdHlfZW4gOiAxOw0KCXU4IHBvbGljaW5nX2VuIDogMTsNCgl1OCBp dmxfZW4gOiAxOw0KCXU4IG1ldGVyaWR4Ow0KfTsNCg0KV2hhdCB0aGV5IHNheSBpczogaWYgeW91 IGNvbmZpZ3VyZSBzb21lIG9mIHRoZSBWTEFOIHRhYmxlIGVudHJpZXMgd2l0aA0Kbm9uLWlkZW50 aWNhbCBGSURzLCB5b3UgYXJlIG9wZXJhdGluZyBpbiBtaXhlZCBJVkwvU1ZMIG1vZGUuIE1lYW5p bmc6DQp5b3Ugc3RpbGwgaGF2ZW4ndCBzZXQgdGhlIElWTCBiaXQgaW4gYW55IG9mIHRoZSBWTEFO IHRhYmxlIGVudHJpZXMsDQp0aGVyZWZvcmUgeW91IGFyZSBzdGlsbCB1c2luZyBTVkwsIHdoZXJl IHRoZSBWTEFOIHRhYmxlIG1hcHMgYSBWSUQgdG8gYQ0KRklEIChhbmQgdGhpcyBpcyBpbiBsaW5l IHdpdGggdGhlIGV4cGxhbmF0aW9uIGdpdmVuIGFib3ZlKS4NCkJ1dCBvbiB0aGUgb3RoZXIgaGFu ZCwgbm90IGFsbCBWTEFOcyBtYXAgdG8gdGhlIHNhbWUgRklEIChhcyBpbiB0aGUgcHVyZQ0KU1ZM IGNhc2UpLiBTbyBpdCBpcyBhIG1peGVkIFNWTC9JVkwgbW9kZS4NCg0KV2hhdCBJIHN1c3BlY3Qg aXMgdGhhdCBpZiB5b3Ugc2V0IHRoZSBJVkwgYml0IGluIHRoZSBWTEFOIHRhYmxlIGVudHJ5LA0K dGhlIEZJRCBpcyBjb21wbGV0ZWx5IGlnbm9yZWQuIE9yIG1heWJlLCB3aXRoIElWTCwgdGhlIFZJ RCBfaXNfIHRoZSBGSUQsDQphbmQgaW4gdGhhdCBjYXNlLCB0aGUgZGVzY3JpcHRpb24gYWJvdmUg d291bGQgYWN0dWFsbHkgYmUgY29ycmVjdCBpbg0Kc3RhdGluZyB0aGF0IHRoZSBMVVQgaXMgYWx3 YXlzIGxvb2tlZCB1cCBieSB7TUFDLCBFRklELCBGSUR9Lg0KV2hhdCBhYnNvbHV0ZWx5IGJ1Z3Mg bWUgaXMgdGhlIGZhY3QgdGhhdCB0aGV5IHNheSB0aGUgRklEIGlzIDQtYml0Lg0KV2hlbiB1c2lu ZyBhIDRLIFZMQU4gSUQgYXMgRklELCB5b3UgY2FuJ3QgdXNlIGp1c3QgNCBiaXRzIG9mIGl0Li4u DQoNCj4gTm93LCByYXRoZXIgdGhhbiBzcGVjdWxhdGUgZnVydGhlciBvbiB0aGUgc2VtYW50aWNz LCBJIHdlbnQgYWhlYWQgYW5kDQo+IHRlc3RlZCBvdXQgdGhlIGJlaGF2aW91ciBieToNCj4NCj4g LSBhZGRpbmcgMzIgVkxBTnMgMTAwLi4xMzEgb24gYSBwb3J0LCBhbGwgd2l0aCBJVkwgKGkuZS4g aXZsX3N2bD0xKQ0KPiAtIGN5Y2xpbmcgdGhyb3VnaCB0aGUgOCBwb3NzaWJsZSBwb3J0IEVGSURz ICgwLi43KSBvbiB0aGF0IHBvcnQNCj4gLSBmb3IgZWFjaCBFRklELCBzZW5kaW5nIG9uZSA4MDIu MVEtdGFnZ2VkIGZyYW1lIHdpdGggVklEPW4gZm9yDQo+IG49MTAwLi4xMzEgdG8gdGhlIHBvcnQg ZnJvbSB0aGUgbmV0d29yaw0KPg0KPiBTb21lIG5vdGVzOg0KPg0KPiAtIHRoZSBjaGlwIHN1cHBv cnRzIHVwIHRvIDMyIGNvbmN1cnJlbnQgVkxBTnMgKGdsb2JhbGx5KTsgdGhpcyBpcyBhDQo+IGdl bmVyYWwgbGltaXRhdGlvbiBvZiB0aGUgaGFyZHdhcmUuDQo+IC0gaW4gdGhpcyBzY2VuYXJpbyB0 aGUgTUFDIFNBIGlzIHRoZSBzYW1lIGZvciBlYWNoIGZyYW1lIEkgdHJhbnNtaXQgZnJvbQ0KPiB0 aGUgbmV0d29yayBpbnRvIHRoZSBwb3J0Lg0KPg0KPiBCeSBkdW1waW5nIHRoZSBoYXJkd2FyZSBG REIgYWZ0ZXIgdGhlIGZhY3QsIEkgY2FuIHNlZSAzMiAqIDggRkRCIGVudHJpZXMNCj4gZm9yIHRo ZSBnaXZlbiBNQUMgU0Egb2YgbXkgZnJhbWVzOg0KPg0KPiAJY2F0IC9zeXMva2VybmVsL2RlYnVn L3J0bDgzNjVtYi9sdXRfZHVtcA0KPiAJYWRkciAgICBtYWMgICAgICAgICAgICAgICAgICAgICB2 aWRfZmlkIHNwYSAgICAgZmlkICAgICBlZmlkDQo+IAkwMDA0ICAgIDAwOjAwOmFhOmFhOmFhOmFh ICAgICAgIDEwNCAgICAgMiAgICAgICAwICAgICAgIDANCj4gCTAwMDUgICAgMDA6MDA6YWE6YWE6 YWE6YWEgICAgICAgMTEyICAgICAyICAgICAgIDAgICAgICAgMw0KPiAJMDAwNiAgICAwMDowMDph YTphYTphYTphYSAgICAgICAxMjAgICAgIDIgICAgICAgMCAgICAgICAyDQo+IAkwMDA4ICAgIDAw OjAwOmFhOmFhOmFhOmFhICAgICAgIDEyOCAgICAgMiAgICAgICAwICAgICAgIDUNCj4gCTAwMzYg ICAgMDA6MDA6YWE6YWE6YWE6YWEgICAgICAgMTA1ICAgICAyICAgICAgIDAgICAgICAgMA0KPiAJ MDAzNyAgICAwMDowMDphYTphYTphYTphYSAgICAgICAxMTMgICAgIDIgICAgICAgMCAgICAgICAz DQo+IAkwMDM4ICAgIDAwOjAwOmFhOmFhOmFhOmFhICAgICAgIDEyMSAgICAgMiAgICAgICAwICAg ICAgIDINCj4gCTAwNDAgICAgMDA6MDA6YWE6YWE6YWE6YWEgICAgICAgMTI5ICAgICAyICAgICAg IDAgICAgICAgNQ0KPiAJMDA2OCAgICAwMDowMDphYTphYTphYTphYSAgICAgICAxMDYgICAgIDIg ICAgICAgMCAgICAgICAwDQo+IAkuLi4gKHRhYmxlIGNvbnRpbnVlcyB3aXRoIGFuIGVudHJ5IGZv ciBlYWNoIFZJRC9FRklEIGNvbWJvKQ0KPg0KPiBMZWdlbmQ6DQo+IAlhZGRyOiBsb29rLXVwLXRh YmxlIGluZGV4DQo+IAltYWM6IE1BQyBhZGRyZXNzDQo+IAl2aWRfZmlkOiBWSUQgb2YgdGhlIGZy YW1lIGZvciBib3RoIElWTCBhbmQgU1ZMDQoNCldobyBnYXZlIGl0IHRoaXMgInZpZF9maWQiIG5h bWU/DQoNCj4gCXNwYTogc291cmNlIHBvcnQgYWRkcmVzcywgaS5lLiB0aGUgcG9ydCB0aGF0IGxl YXJuZWQNCj4gCWZpZDogRklEIChvZiB0aGUgVkxBTikNCj4gCWVmaWQ6IEVGSUQgKG9mIHRoZSBw b3J0KQ0KPg0KPiBJIGFsc28gdHJpZWQgc2VuZGluZyB1bnRhZ2dlZCBmcmFtZXMgZnJvbSB0aGUg bmV0d29yayBhbmQgY3ljbGluZw0KPiB0aHJvdWdoIG9uZSBvZiB0aGUgVkxBTnMgYXMgUFZJRCwg aW4gd2hpY2ggY2FzZSB0aGUgcG9ydCB3b3VsZCBsZWFybiBhbmQNCj4gbWFrZSBhbiBlbnRyeSB3 aXRoIHZpZF9maWQgY29ycmVzcG9uZGluZyB0byB0aGUgUFZJRC4NCj4NCj4gVGhpcyBzdWdnZXN0 cyB0byBtZSB0aGF0IHRoZSBJVkwgZmllbGQgb2YgdGhlIFZMQU4gY29uZmlndXJhdGlvbiByZWFs bHkNCj4gZG9lcyBhY2hpZXZlIEluZGVwZW5kZW50IFZMQU4gbGVhcm5pbmcsIGFuZCB0aGF0IHRo ZXJlIGFyZSBub3QgbWFueQ0KPiBjb25zdHJhaW50cyBoZXJlIGJlc2lkZXMgdGhlIHNpemUgb2Yg dGhlIGxvb2stdXAtdGFibGUuDQoNCkNhbiB5b3UgcmVwZWF0IHRoZSBleHBlcmltZW50IHN3ZWVw aW5nIHRocm91Z2ggRUZJRHMsIGJ1dCB3aXRoIHRoZSBWTEFOcw0KY29uZmlndXJlZCBmb3IgU1ZM IGFuZCBoYXZpbmcgdGhlIHNhbWUgRklEPyBJIHdvdWxkIGV4cGVjdCB0aGF0IHRoZSBMVVQNCmlu ZGljZXMgd2lsbCBiZSBkaWZmZXJlbnQsIGJ1dCBzdGlsbCBhcyBtYW55LiBKdXN0IHdhbnQgdG8g Y29uZmlybSBteQ0KdGhlb3J5IHRoYXQgdGhlIEVGSUQgcHJvdmlkZXMgcG9ydC1iYXNlZCBpc29s YXRpb24gcmVnYXJkbGVzcyBvZiBJVkxfRU4uDQoNCkFsc28sIGNhbiB5b3UgcGxlYXNlIHJlcGVh dCB0aGUgSVZMIGV4cGVyaW1lbnQgYnV0IHdpdGggVklEcyBub3QgaGF2aW5nDQpjb25zZWN1dGl2 ZSB2YWx1ZXMsIGJ1dCByYXRoZXIgTiwgTisxNiwgTiszMiwgTis0OCwgLi4uIE4rMjA0OCBldGM/ DQpJIHdvdWxkIGxpa2UgdG8gZ2V0IHRvIHRoZSBib3R0b20gb2YgdGhhdCA0LWJpdCBGSUQgdGhp bmcuDQoNCj4gQ291bGQgaXQgYmUgdGhhdCB0aGUgaXZsX3N2bCBzd2l0Y2ggc2ltcGx5IGNvbnRy b2xzIGhvdyB0aGlzDQo+IGxvb2stdXAtdGFibGUgaW5kZXggaXMgY29tcHV0ZWQ/IFRoYXQgaXMg dG8gc2F5Og0KPg0KPiBTVkw6IHtGSUQsIEVGSUQsIE1BQ30gLT4gaW5kZXgNCj4gSVZMOiB7VklE LCBFRklELCBNQUN9IC0+IGluZGV4DQo+DQo+IEkgdHJpZWQgdGhlIGZvbGxvd2luZyBzY2VuYXJp bzoNCj4NCj4gCSMgYWRkIFZMQU4gMTAwLzEwMQ0KPiAJYnJpZGdlIHZsYW4gYWRkIHZpZCAxMDAg ZGV2IHN3cDINCj4gCWJyaWRnZSB2bGFuIGFkZCB2aWQgMTAxIGRldiBzd3AyDQo+DQo+IAkjIHNl bmQgVklEIDEwMCBmcmFtZSBmcm9tIGFub3RoZXIgaG9zdCBvbiB0aGUgbmV0d29yaw0KPiAJbWF1 c2V6YWhuIGV0aDIgLVEgMTAwIC1jIDEgLWEgJzAwOjAwOmFhOmFhOmFhOmFhJyAtdCB0Y3ANCj4N Cj4gCSMgZHVtcCBIVyBGREINCj4gCWNhdCAvc3lzL2tlcm5lbC9kZWJ1Zy9ydGw4MzY1bWIvbHV0 X2R1bXANCj4NCj4gCSMgc2VuZCBWSUQgMTAxIGZyYW1lIHRoaXMgdGltZQ0KPiAJbWF1c2V6YWhu IGV0aDIgLVEgMTAxIC1jIDEgLWEgJzAwOjAwOmFhOmFhOmFhOmFhJyAtdCB0Y3ANCj4NCj4gCSMg ZHVtcCBIVyBGREINCj4gCWNhdCAvc3lzL2tlcm5lbC9kZWJ1Zy9ydGw4MzY1bWIvbHV0X2R1bXAN Cj4NCj4gSSB0aGVuIHRlc3RlZCB0aGlzIG91dCB3aXRoOg0KPg0KPiAtIElWTCwgRklEPTANCj4N Cj4gCSMjIyMjIHNlbmQgZnJhbWUgb24gVkxBTiAxMDANCj4gCWNhdCAvc3lzL2tlcm5lbC9kZWJ1 Zy9ydGw4MzY1bWIvbHV0X2R1bXANCj4gCWFkZHIgICAgbWFjICAgICAgICAgICAgICAgICAgICAg dmlkX2ZpZCBzcGEgICAgIGZpZCAgICAgZWZpZA0KPiAJMDM4OCAgICAwMDowMDphYTphYTphYTph YSAgICAgICAxMDAgICAgIDIgICAgICAgMCAgICAgICAwDQo+IAkjIyMjIyBzZW5kIGZyYW1lIG9u IFZMQU4gMTAxDQo+IAljYXQgL3N5cy9rZXJuZWwvZGVidWcvcnRsODM2NW1iL2x1dF9kdW1wDQo+ IAlhZGRyICAgIG1hYyAgICAgICAgICAgICAgICAgICAgIHZpZF9maWQgc3BhICAgICBmaWQgICAg IGVmaWQNCj4gCTAzODggICAgMDA6MDA6YWE6YWE6YWE6YWEgICAgICAgMTAwICAgICAyICAgICAg IDAgICAgICAgMA0KPiAJMDQyMCAgICAwMDowMDphYTphYTphYTphYSAgICAgICAxMDEgICAgIDIg ICAgICAgMCAgICAgICAwDQo+DQo+IC0gSVZMLCBGSUQ9OQ0KPg0KPiAJIyMjIyMgc2VuZCBmcmFt ZSBvbiBWTEFOIDEwMA0KPiAJY2F0IC9zeXMva2VybmVsL2RlYnVnL3J0bDgzNjVtYi9sdXRfZHVt cA0KPiAJYWRkciAgICBtYWMgICAgICAgICAgICAgICAgICAgICB2aWRfZmlkIHNwYSAgICAgZmlk ICAgICBlZmlkDQo+IAkwMzg4ICAgIDAwOjAwOmFhOmFhOmFhOmFhICAgICAgIDEwMCAgICAgMiAg ICAgICA5ICAgICAgIDANCj4gCSMjIyMjIHNlbmQgZnJhbWUgb24gVkxBTiAxMDENCj4gCWNhdCAv c3lzL2tlcm5lbC9kZWJ1Zy9ydGw4MzY1bWIvbHV0X2R1bXANCj4gCWFkZHIgICAgbWFjICAgICAg ICAgICAgICAgICAgICAgdmlkX2ZpZCBzcGEgICAgIGZpZCAgICAgZWZpZA0KPiAJMDM4OCAgICAw MDowMDphYTphYTphYTphYSAgICAgICAxMDAgICAgIDIgICAgICAgOSAgICAgICAwDQo+IAkwNDIw ICAgIDAwOjAwOmFhOmFhOmFhOmFhICAgICAgIDEwMSAgICAgMiAgICAgICA5ICAgICAgIDANCj4N Cj4gLSBTVkwsIEZJRD0wDQo+DQo+IAkjIyMjIyBzZW5kIGZyYW1lIG9uIFZMQU4gMTAwDQo+IAlj YXQgL3N5cy9rZXJuZWwvZGVidWcvcnRsODM2NW1iL2x1dF9kdW1wDQo+IAlhZGRyICAgIG1hYyAg ICAgICAgICAgICAgICAgICAgIHZpZF9maWQgc3BhICAgICBmaWQgICAgIGVmaWQNCj4gCTEyODAg ICAgMDA6MDA6YWE6YWE6YWE6YWEgICAgICAgMTAwICAgICAyICAgICAgIDAgICAgICAgMA0KPiAJ IyMjIyMgc2VuZCBmcmFtZSBvbiBWTEFOIDEwMQ0KPiAJY2F0IC9zeXMva2VybmVsL2RlYnVnL3J0 bDgzNjVtYi9sdXRfZHVtcA0KPiAJYWRkciAgICBtYWMgICAgICAgICAgICAgICAgICAgICB2aWRf ZmlkIHNwYSAgICAgZmlkICAgICBlZmlkDQo+IAkxMjgwICAgIDAwOjAwOmFhOmFhOmFhOmFhICAg ICAgIDEwMSAgICAgMiAgICAgICAwICAgICAgIDANCj4NCj4gLSBTVkwsIEZJRD05DQo+DQo+IAkj IyMjIyBzZW5kIGZyYW1lIG9uIFZMQU4gMTAwDQo+IAljYXQgL3N5cy9rZXJuZWwvZGVidWcvcnRs ODM2NW1iL2x1dF9kdW1wDQo+IAlhZGRyICAgIG1hYyAgICAgICAgICAgICAgICAgICAgIHZpZF9m aWQgc3BhICAgICBmaWQgICAgIGVmaWQNCj4gCTEwNTYgICAgMDA6MDA6YWE6YWE6YWE6YWEgICAg ICAgMTAwICAgICAyICAgICAgIDkgICAgICAgMA0KPiAJIyMjIyMgc2VuZCBmcmFtZSBvbiBWTEFO IDEwMQ0KPiAJY2F0IC9zeXMva2VybmVsL2RlYnVnL3J0bDgzNjVtYi9sdXRfZHVtcA0KPiAJYWRk ciAgICBtYWMgICAgICAgICAgICAgICAgICAgICB2aWRfZmlkIHNwYSAgICAgZmlkICAgICBlZmlk DQo+IAkxMDU2ICAgIDAwOjAwOmFhOmFhOmFhOmFhICAgICAgIDEwMSAgICAgMiAgICAgICA5ICAg ICAgIDANCj4NCj4gU29tZSBvYnNlcnZhdGlvbnM6DQo+DQo+IC0gd2l0aCBJVkwsIGluZGV4IGlz IHRoZSBzYW1lIGZvciBGSUQ9MCw5DQo+IC0gd2l0aCBTVkwsIGluZGV4IGlzIGRpZmZlcmVudCBm b3IgRklEPTAsOQ0KPiAtIHdpdGggSVZMLCBpbmRleCBpcyBkaWZmZXJlbnQgZm9yIFZJRD0xMDAs MTAxDQo+IC0gd2l0aCBTVkwsIGluZGV4IGlzIHRoZSBzYW1lIGZvciBWSUQ9MTAwLDEwMQ0KDQpZ ZXMsIGdvb2Qgam9iIGludmVzdGlnYXRpbmcsIHRoaXMgc2VlbXMgdG8gc3VwcG9ydCB0aGUgdGhl b3J5IHRoYXQgd2hlbg0KYSBWTEFOIHRhYmxlIGVudHJ5IGlzIGNvbmZpZ3VyZWQgZm9yIElWTCwg dGhlIEZJRCAoYWN0dWFsbHkgdmlkX2ZpZCBpbg0KeW91ciBkdW1wcykgaXMgdGhlIFZJRCwgb3Ro ZXJ3aXNlIGl0J3MgdGhlIEZJRCBmcm9tIHRoZSBWTEFOIHRhYmxlIGVudHJ5Lg0KDQo+IEluIHBh cnRpY3VsYXIsIHdpdGggSVZMLCB0aGUgRklEIGlzIHN0b3JlZCBpbiB0aGUgdGFibGUgYnV0IGl0 IGRvZXMgbm90DQo+IHNlZW0gdG8gYWZmZWN0IHRoZSBpbmRleC4NCg0KSXQncyBwcm9iYWJseSB0 aGVyZSBzbyB0aGF0IHlvdSBkb24ndCBuZWVkIHRvIGZsdXNoIHRoZSBMVVQgYW5kDQpyZWluc3Rh bGwgZXZlcnl0aGluZyB3aGVuIHlvdSBjaGFuZ2UgYSBWTEFOIHRhYmxlIGVudHJ5IGZyb20gSVZM IHRvIFNWTC9JVkwuDQoNCj4gSSBfdGhpbmtfIEkgY2FuIGxvb2sgdXAgdGhlIEZEQiBieSBWSUQs IG5vdCBqdXN0IEZJRCAtIEkgc3RpbGwgaGF2ZSB0bw0KPiBjb25maXJtIHRoYXQgYnV0IEkgdGhp bmsgaXQgZGVwZW5kcyBvbiB3aGV0aGVyIHRoZSBwYXJ0aWN1bGFyIFZMQU4gaXMgaW4NCj4gSVZM IG9yIFNWTCBtb2RlLg0KPg0KPiBCdXQgZWl0aGVyIHdheSwgdGhlcmUgYXJlIGJvdW5kIHRvIGJl IGNvbGxpc2lvbnMgZ2l2ZW4gdGhlIHdheSB0aGUNCj4gbG9vay11cC10YWJsZSB3b3Jrcy4gSWYg dGhlIGRyaXZlciBpcyBhc2tlZCB0byBvZmZsb2FkIHR3byBGREIgZW50cmllcw0KPiB3aGljaCBt YXAgdG8gdGhlIHNhbWUgbG9vay11cC10YWJsZSBlbnRyeSAoaS5lLiBzYW1lIGluZGV4KSwgY2Fu J3QgaXQNCj4ganVzdCBlcnJvciBvdXQgb24gdGhlIHNlY29uZCByZXF1ZXN0PyBTb21ldGhpbmcg bGlrZSAiSSBzZWUgdGhpcyBlbnRyeQ0KPiBpcyBhbHJlYWR5IG9jY3VwaWVkIGJ5IGEgc3RhdGlj IChvZmZsb2FkZWQpIEZEQiBlbnRyeSwgc28gSSBjYW4ndA0KPiBzYXRpc2Z5IHRoaXMgcmVxdWVz dCIuDQoNClllcywgaW4gY2FzZSBvZiBoYXNoIGNvbGxpc2lvbnMgYmV0d2VlbiB1bnJlbGF0ZWQg ZW50cmllcyBvbiBhIGZ1bGwgcm93LA0KcmV0dXJuaW5nIC1FTk9TUEMgaXMgY2xlYXJseSBva2F5 LiBUaGlzIGNhc2UgaXMgbW9yZSBpbnRlcmVzdGluZyBiZWNhdXNlDQp0aGUgTFVUIGVudHJpZXMg YXJlIG5vdCB1bnJlbGF0ZWQuIEkgd2FzIGNvbW1lbnRpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24N CnRoYXQgeW91IHdpbGwgbmVlZCB0byBnaXZlIHN3aXRjaGRldiB0aGUgaW1wcmVzc2lvbiB0aGF0 IHlvdSBhcmUNCm9mZmxvYWRpbmcgZW50cmllcyB2aWEgSVZMIChzbyB5b3Ugc2hvdWxkIGFjY2Vw dCB0d28gRkRCIGVudHJpZXMgZm9yIHRoZQ0Kc2FtZSBNQUMgREEgaW4gZGlmZmVyZW50IFZJRHMs IGFzIGxvbmcgYXMgdGhleSBwb2ludCB0b3dhcmRzIHRoZSBzYW1lDQpkZXN0aW5hdGlvbiBwb3J0 KSBiZWNhdXNlIHRoYXQncyBob3cgdGhlIGhhcmR3YXJlIGlzIGdvaW5nIHRvIHRyZWF0IHRoZW0u DQpUaGUgb25seSBwcm9ibGVtYXRpYyBjYXNlIGlzIHdoZW4gc3dpdGNoZGV2IGFza3Mgb25lIEZE QiBpbiBvbmUgVkxBTiB0bw0KZ28gb25lIHdheSwgYW5kIGFub3RoZXIgaW4gYW5vdGhlciBWTEFO IHRvIGdvIGFub3RoZXIgd2F5Lg0KDQpbIGJ5IHRoZSB3YXkgeW91IGNhbid0IHByb3BhZ2F0ZSBl cnJvcnMgZnJvbSAucG9ydF9mZGJfYWRkIHRvIHN3aXRjaGRldiwNCiAgYW5kIHRvIHRoZSBicmlk Z2UsIHNvcnJ5IF0NCg0KQW55d2F5LCBkb2Vzbid0IG1hdHRlciwgaXQncyBjbGVhcmVyIG5vdyB0 aGF0IHlvdSBkb24ndCBoYXZlIHRvIGNhcmUNCmFib3V0IHRoaXMsIEkgZG9uJ3QgdGhpbmsgeW91 IHNob3VsZCB1c2UgdGhlIFNWTCBvciBTVkwvSVZMIG1vZGVzIGZvcg0KYW55dGhpbmcsIGp1c3Qg cHJvZ3JhbSBhbGwgVkxBTiB0YWJsZSBlbnRyaWVzIHdpdGggSVZMPXRydWUsIGFuZCBzZXQgdGhl DQpFRklEIGJhc2VkIG9uIGRwLT5icmlkZ2VfbnVtLg0KDQo+ID4gQW5kIG1vc3QgaW1wb3J0YW50 bHksIGRvIHlvdSBzZWUgdGhlIEZJRCBiaXRzIGluIHRoZSB0YWdnZXIgaW4gdGhlDQo+ID4gcmVj ZWl2ZSBwYXRoIGFzIHdlbGw/DQo+DQo+IE5vLCBJIGRvbid0LCB3aGljaCBpcyBraW5kIG9mIHN0 cmFuZ2UuIEJ1dCBpcyBpdCBhIHByb2JsZW0/DQoNCk5vdCByZWFsbHksIG5vLg==