From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 40953A0C41; Wed, 15 Sep 2021 16:45:13 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BB8634068F; Wed, 15 Sep 2021 16:45:12 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2065.outbound.protection.outlook.com [40.107.92.65]) by mails.dpdk.org (Postfix) with ESMTP id 1E7184014F for ; Wed, 15 Sep 2021 16:45:11 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hgsi+5eYxyX8G0WGDrN2wZXLAd5JofWaViayO2indqlro/qN58ehsjtdS5AWrRE8EWf8lOe73+dVkKDxbWjZnUjFL3Dd97IwqJJvjKUihITWYwXoijNlUJEavJ1bbCfKG7Q/XlFswrfpNi9v86+VG044itOaWLdiFnHIbdH/+h9RncNpU+pZ3Nmf9TxuxseAKMVBWNTFliqLI4qQg/XRlCOZRFOhrmLh/yZBTjM6LsJy4/uvZo89Fp/GguXtouA7OvXvFbrpkuO6lX1OgFxEgZX79plUF4HSQPEsg6uOtkNUzCNw8EmjS7n5/llBqj4jTu/DUwlEfsLi6U5RAL9kZA== 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; bh=Nq49uT95+DwGT8h86atWMd9kx1AtwOTCGQHKHxRyDuk=; b=i0qvUg2fFSF704kopO2HmLz7uH1QvRo1TuAv3ImMyG14gjS0wgyioAJJj2M7JB04jb4foI/6NBr7MLG71R1V12JtNEf5mQynC+KN+VULLUCxH+n+kPxgI7mQFMvWmyBbH8t5yX4VIL5jyyd2IqFBfPFMf2kRl+HiEbIJEwV7sjhohXvXFxg3vXTX9uUzvB9n7Z0+dA/X3zVJKDMLEunJZFHywTT9MGLhu6Px1e1fTlFepjZnq3Xuamd/hc9yiVjgJrqB3TE/DbfGS/ggxlzHoY+v5gMKGqGAv7+sWrOKRbnVy5QnLOKKx3LSZLhwQn8jwbRf8lYhLFWocBEYmPnY1w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Nq49uT95+DwGT8h86atWMd9kx1AtwOTCGQHKHxRyDuk=; b=XDy5QN1F/yXrufY0K5fD4KD6+qVtqo/p4iRZ9VtGGweHVW4DsUXEy86dqqfbp7SBpq+/OpQm0wPg/kyv3M51R/a4ePu0SD/5MrYbyD18RGNCzEZzZEYQhy4BdYsu6p8TwzNjcnlGXFAA6KeMhMOnJiWB7sH4eDtY8x68NqA720gpzDQEWP+MjaDScpmQtUF0BVd1X3GfZCi/mkDUGfx/j+7qyOSLJIbzeGZoMxxllh29ZZJOPo7LnBAAeIXf/yKFn4o2NDZIxP0/Eygb8lsQR+IkL0vn0AQCvG7e+phVBAaUrdim7Wv7Sxbyyx2jOX6A8KkP7kORNq1UbspMHNpcvw== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39a::17) by DM6PR12MB5518.namprd12.prod.outlook.com (2603:10b6:5:1b9::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14; Wed, 15 Sep 2021 14:45:08 +0000 Received: from DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::584f:672a:653f:fe25]) by DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::584f:672a:653f:fe25%5]) with mapi id 15.20.4523.014; Wed, 15 Sep 2021 14:45:08 +0000 From: "Xueming(Steven) Li" To: "jerinjacobk@gmail.com" CC: NBU-Contact-Thomas Monjalon , "andrew.rybchenko@oktetlabs.ru" , "dev@dpdk.org" , "ferruh.yigit@intel.com" Thread-Topic: [PATCH v2 01/15] ethdev: introduce shared Rx queue Thread-Index: AQHXjrnd1i7/1bMsyEmpVz6Kp88Yyqt3eGmAgAAdm6CAAED4gIABKgpggAFXLwCAAGszAIALAnAAgANDfUCAAtzEAIAZfQCA Date: Wed, 15 Sep 2021 14:45:08 +0000 Message-ID: <820d6cbe0ddba612ee9bfd6999feb9a3e8312beb.camel@nvidia.com> References: <20210727034204.20649-1-xuemingl@nvidia.com> <20210811140418.393264-1-xuemingl@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.40.4 authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 36bae0a7-3b43-4cf5-ddc5-08d978576a3c x-ms-traffictypediagnostic: DM6PR12MB5518: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr 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: Dx82brS+t9LobU+BnsOVTZDAvIy4Ct+CqtkCKSSznuVSNELt03sEftwxRBJStCuh8we/2B4NMCUZAOv0GPQXagcI1BE51tLk+Pcnfx6XEYk2p/fQq/E/QaK5n3fEbWSUOlRE9P1of+Zw0PdxqDqY+ep1qI4U+biNVYX9SdPAK1UbApN3Q17rYj3xfNcjX8Wlk4wVXBytsnZLe0FAJrhOkxZB9LnVmicfi6mky35tkkICRBtMD1gwru+RA1dIb2IgoBd4BdD8bwlYl8UTjsAvwxrpjRp9jWz+CNoSJjejZrJLVL1xebRnqK8LrWrwyOcj10tPORUPW6FKQVqlEKCoOtV+VIk9m3EF8feD+Yge1wffSRlI7sbmes5tASyCCz4HVglkD6q+qySzt3jZa43yUmSrrj2bqDwnaMxPrEjVW/+asbNO7yJTC4ZLn6c7aY6u6g/FKvh+senQkGxkHMWJaBvQYNphiuKZ8a1gwIlTyBufV5760/FGtSvRyuFpFiPor0TD0eS7Njko2Cc7RIYx3xgzz7EHzquLIOkn31naWL7z7b+g3v2j/oS6q4XF1jaBSHVRlx9fRucP5/W1LjjXcheQGnOpu4z0YDU4mN/Tce/P9oaS5shZVa6d51SzqhX4yrGguw1Nl7+pkXDt2zl9cYU6p+kBDkyDPf7mu3HnskABojnPx5xp0hq0CdnRVdqkYOviqqpfmbgrMNZ7ZCSX3AY/YXw9Gr+SU8kXlwpA+uyqsfCi8np/77osNHgxEz1ZgWNYDls3VvqmYr4Q4pZam3pTzXil3K7zOjbPBH8upfU= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5373.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(39860400002)(346002)(376002)(396003)(136003)(6512007)(4326008)(64756008)(54906003)(6486002)(26005)(66446008)(122000001)(66946007)(2906002)(2616005)(66556008)(66476007)(71200400001)(8676002)(38070700005)(316002)(86362001)(91956017)(76116006)(30864003)(5660300002)(966005)(186003)(38100700002)(36756003)(53546011)(478600001)(6506007)(6916009)(8936002)(83380400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MVZpdEZaNkJzMFZwMlRHQmRGRExqUmtQbXMvclpoUVZlU1hCNGhUb2RCTi8x?= =?utf-8?B?MkxpVmNMalFKT2sxSVVTVW1IeGFoNlUyK2h0UEdZUVVhQjFwUmprTzhjcUho?= =?utf-8?B?SVhCVFBGNzY3Ykt6ZWhyZ2RrbHhnbVgxVkYxWGtTM254V2ZCY3BCOTdhaXVK?= =?utf-8?B?YjgwZUJZMFY2OGkxdnd6SDF4cmZUVjh3M28yTG94YjJRcVZTdGl4dTdLckVG?= =?utf-8?B?bWJXd3Q4c2UyWGpaMUdqdGd3RkNXejVreG1JaDV3czlPZ2lkUVZudm0ybk5s?= =?utf-8?B?Vi9zM1BWMlcrUlh1MTVWQjlSYlFPbXArOGljUzNUeEVrZG1hMlpOVWhjZkZt?= =?utf-8?B?a09wVGR3K1BUeFcrSkxWcmxWSjhjbDkvRyttQUVJNm1jajlQUXVhWkhrVGpw?= =?utf-8?B?Unl0U0NjTVVtdHlOUWpPWDB4TmdPT1RMdFU4SFVVMWppdkJmb0lnUDRkZ3dS?= =?utf-8?B?RmUxWUxqbEJVZGNGZmxOQTg4ZUlTUFhmaVVvTk9lNjdkNFJydFpVTHliU2pz?= =?utf-8?B?SE11YnFFRlR3S3RnNG4vSCtuM0tnUitVY256UEhzZGJ3Y1RiY0dER1cyejY5?= =?utf-8?B?Z0paM0dSaDZXbWoxdnhsTlFUT3NYRVdOd0RFMnlLTmlQWkk0K1N6Q1pXTzlL?= =?utf-8?B?VHo3MU04MHRFalhpOWpXT1RwS1lnS0lWbGlKUmVCSFhlblZla0NZczIxTUhv?= =?utf-8?B?R3phRlVMS1VKNWczU0RZbTcvekxwcTlxY1RhVGcwK3M4UGZkVlhDWEhIK0Nj?= =?utf-8?B?MnFRc2JQcVFLWjNKblIxM1o1RWFtdllndW16cHg1SkZ1UWZkNVFZbXdldnQ4?= =?utf-8?B?STJwUSs4S3ZYbUlrbVdWNHI0MEh0RUQ2UjJ0c2lRY0Y2RFF4ZWtCdTJka1BZ?= =?utf-8?B?czdYWXdIS1gwTzhqS3M2M0ZsMENRUmVITytIWmI2TDg2WFd2ZTFzVFVOMGdr?= =?utf-8?B?eXkzVUp0bE1xRHJja2QwMElJdXMzUXcvUzZPYjZQT0ZGYk9ianRKdGlrbG00?= =?utf-8?B?TFNaSTV0d1FFd2REdFRhYTMxUDNDQmNHaUlYL0xpVFFEUGxycnZGc1MrcVpm?= =?utf-8?B?LzRLU3lzVDJORDlkZzFvaGRlSURkSDh4TUFnZHVLb1dHMTNIczRFQmdLaUVO?= =?utf-8?B?UkpOVDc1VGxoc1FLNHNQN1lxNGJaMkM1ZU5nWWJiNFRVbVE1dE9nSTJheFhr?= =?utf-8?B?eVdOYWVyc1M1c2tFWWx0NC9mdEdkOUZaYUZYS2JzMFJudWt1UjJmZk8vWEQy?= =?utf-8?B?NW1LNWdCdDZITlI0blJqN1RaWlFIRE5FdnM0MUtlV29WbE1HajVZYnFxT0NX?= =?utf-8?B?YUhNVlRHU000SWc5U3JsSXFQVHpmMHBLVFhoNlNKTWJXZitsU3RBdTNINlVq?= =?utf-8?B?ZE1pZFJGdnJ5dmd1N0NTRytSRzN4ME1Qc1VKVm4wS1ZhRE5zNUtFWXBDVlI5?= =?utf-8?B?Y0ZWeHhJUjU2c002QW50Q2REMXI5L29XQ2ZKcTE1d1kxMitnTmZ2cjFmWDJZ?= =?utf-8?B?Vzg2U1FuUVprL1NXcFJpbFdrMmNaSUo4MzBmWWcwYVp3Ym83TzRDZkxzQ2Rq?= =?utf-8?B?NmtoQTBsMVc2VC91aTF6L2pLNWM2U2liUS83RVp6NXJkRWRTWlN4bHZmQjVI?= =?utf-8?B?aTRxM2pheTBraW9FVFpPTTNTOEx2VzR4TnYydU5tczgyeGVUUkpVNStuZUF5?= =?utf-8?B?dnB1bFlRQTliaGhvSG9CYU95QXFCRHhRZi9zMm1rVzE4UGhrYUZzdVNoU0hG?= =?utf-8?B?NU9GVGYwSTBsRjFZT1lQUm9FV3ZaV1JIR1B6RnJKdG5LUHYvSzRJM3BqcDE4?= =?utf-8?B?REZxZVo2RmU5aXZkUnB0UT09?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <1B5FC1B9F70C69468A46447F230FE891@namprd12.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5373.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 36bae0a7-3b43-4cf5-ddc5-08d978576a3c X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2021 14:45:08.8203 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6sArdUkD0p1HdPFabUMhPSDzWRhMRrD8awRY9OLt3c/rPx/y9dYdxysEBKzlzV9ujeCY82la1QuYATmT2XPxGA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB5518 Subject: Re: [dpdk-dev] [PATCH v2 01/15] ethdev: introduce shared Rx queue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGkgSmVyaW4sDQoNCk9uIE1vbiwgMjAyMS0wOC0zMCBhdCAxNTowMSArMDUzMCwgSmVyaW4gSmFj b2Igd3JvdGU6DQo+IE9uIFNhdCwgQXVnIDI4LCAyMDIxIGF0IDc6NDYgUE0gWHVlbWluZyhTdGV2 ZW4pIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPiB3cm90ZToNCj4gPiANCj4gPiANCj4gPiANCj4g PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBKZXJpbiBKYWNvYiA8 amVyaW5qYWNvYmtAZ21haWwuY29tPg0KPiA+ID4gU2VudDogVGh1cnNkYXksIEF1Z3VzdCAyNiwg MjAyMSA3OjU4IFBNDQo+ID4gPiBUbzogWHVlbWluZyhTdGV2ZW4pIExpIDx4dWVtaW5nbEBudmlk aWEuY29tPg0KPiA+ID4gQ2M6IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+OyBGZXJydWggWWlnaXQg PGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24gPHRo b21hc0Btb25qYWxvbi5uZXQ+Ow0KPiA+ID4gQW5kcmV3IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNo ZW5rb0Bva3RldGxhYnMucnU+DQo+ID4gPiBTdWJqZWN0OiBSZTogW1BBVENIIHYyIDAxLzE1XSBl dGhkZXY6IGludHJvZHVjZSBzaGFyZWQgUnggcXVldWUNCj4gPiA+IA0KPiA+ID4gT24gVGh1LCBB dWcgMTksIDIwMjEgYXQgNTozOSBQTSBYdWVtaW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG52aWRp YS5jb20+IHdyb3RlOg0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiA+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gRnJvbTogSmVyaW4gSmFjb2IgPGpl cmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPiA+ID4gPiBTZW50OiBUaHVyc2RheSwgQXVndXN0IDE5 LCAyMDIxIDE6MjcgUE0NCj4gPiA+ID4gPiBUbzogWHVlbWluZyhTdGV2ZW4pIExpIDx4dWVtaW5n bEBudmlkaWEuY29tPg0KPiA+ID4gPiA+IENjOiBkcGRrLWRldiA8ZGV2QGRwZGsub3JnPjsgRmVy cnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsNCj4gPiA+ID4gPiBOQlUtQ29udGFj dC1UaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBBbmRyZXcgUnliY2hlbmtv DQo+ID4gPiA+ID4gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiA+ID4gPiA+IFN1 YmplY3Q6IFJlOiBbUEFUQ0ggdjIgMDEvMTVdIGV0aGRldjogaW50cm9kdWNlIHNoYXJlZCBSeCBx dWV1ZQ0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IE9uIFdlZCwgQXVnIDE4LCAyMDIxIGF0IDQ6NDQg UE0gWHVlbWluZyhTdGV2ZW4pIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPiB3cm90ZToNCj4gPiA+ ID4gPiA+IA0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+ID4gRnJvbTogSmVyaW4gSmFjb2IgPGpl cmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPiA+ID4gPiA+ID4gU2VudDogVHVlc2RheSwgQXVndXN0 IDE3LCAyMDIxIDExOjEyIFBNDQo+ID4gPiA+ID4gPiA+IFRvOiBYdWVtaW5nKFN0ZXZlbikgTGkg PHh1ZW1pbmdsQG52aWRpYS5jb20+DQo+ID4gPiA+ID4gPiA+IENjOiBkcGRrLWRldiA8ZGV2QGRw ZGsub3JnPjsgRmVycnVoIFlpZ2l0DQo+ID4gPiA+ID4gPiA+IDxmZXJydWgueWlnaXRAaW50ZWwu Y29tPjsgTkJVLUNvbnRhY3QtVGhvbWFzIE1vbmphbG9uDQo+ID4gPiA+ID4gPiA+IDx0aG9tYXNA bW9uamFsb24ubmV0PjsgQW5kcmV3IFJ5YmNoZW5rbw0KPiA+ID4gPiA+ID4gPiA8YW5kcmV3LnJ5 YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+ID4gPiA+ID4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0gg djIgMDEvMTVdIGV0aGRldjogaW50cm9kdWNlIHNoYXJlZCBSeCBxdWV1ZQ0KPiA+ID4gPiA+ID4g PiANCj4gPiA+ID4gPiA+ID4gT24gVHVlLCBBdWcgMTcsIDIwMjEgYXQgNTowMSBQTSBYdWVtaW5n KFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+IHdyb3RlOg0KPiA+ID4gPiA+ID4gPiA+ IA0KPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+ID4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+ID4gPiA+IEZyb206IEplcmlu IEphY29iIDxqZXJpbmphY29ia0BnbWFpbC5jb20+DQo+ID4gPiA+ID4gPiA+ID4gPiBTZW50OiBU dWVzZGF5LCBBdWd1c3QgMTcsIDIwMjEgNTozMyBQTQ0KPiA+ID4gPiA+ID4gPiA+ID4gVG86IFh1 ZW1pbmcoU3RldmVuKSBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4NCj4gPiA+ID4gPiA+ID4gPiA+ IENjOiBkcGRrLWRldiA8ZGV2QGRwZGsub3JnPjsgRmVycnVoIFlpZ2l0DQo+ID4gPiA+ID4gPiA+ ID4gPiA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxv bg0KPiA+ID4gPiA+ID4gPiA+ID4gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBBbmRyZXcgUnliY2hl bmtvDQo+ID4gPiA+ID4gPiA+ID4gPiA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+ ID4gPiA+ID4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW1BBVENIIHYyIDAxLzE1XSBldGhkZXY6IGlu dHJvZHVjZSBzaGFyZWQgUngNCj4gPiA+ID4gPiA+ID4gPiA+IHF1ZXVlDQo+ID4gPiA+ID4gPiA+ ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+IE9uIFdlZCwgQXVnIDExLCAyMDIxIGF0IDc6MzQgUE0g WHVlbWluZyBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4gd3JvdGU6DQo+ID4gPiA+ID4gPiA+ID4g PiA+IA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBJbiBjdXJyZW50IERQREsgZnJhbWV3b3JrLCBlYWNo IFJYIHF1ZXVlIGlzIHByZS1sb2FkZWQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gd2l0aCBtYnVmcyBm b3IgaW5jb21pbmcgcGFja2V0cy4gV2hlbiBudW1iZXIgb2YNCj4gPiA+ID4gPiA+ID4gPiA+ID4g cmVwcmVzZW50b3JzIHNjYWxlIG91dCBpbiBhIHN3aXRjaCBkb21haW4sIHRoZSBtZW1vcnkNCj4g PiA+ID4gPiA+ID4gPiA+ID4gY29uc3VtcHRpb24gYmVjYW1lIHNpZ25pZmljYW50LiBNb3N0IGlt cG9ydGFudCwgcG9sbGluZw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBhbGwgcG9ydHMgbGVhZHMgdG8g aGlnaCBjYWNoZSBtaXNzLCBoaWdoIGxhdGVuY3kgYW5kIGxvdyB0aHJvdWdocHV0Lg0KPiA+ID4g PiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+ID4gVGhpcyBwYXRjaCBpbnRyb2R1Y2Vz IHNoYXJlZCBSWCBxdWV1ZS4gUG9ydHMgd2l0aCBzYW1lDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGNv bmZpZ3VyYXRpb24gaW4gYSBzd2l0Y2ggZG9tYWluIGNvdWxkIHNoYXJlIFJYIHF1ZXVlIHNldCBi eSBzcGVjaWZ5aW5nIHNoYXJpbmcgZ3JvdXAuDQo+ID4gPiA+ID4gPiA+ID4gPiA+IFBvbGxpbmcg YW55IHF1ZXVlIHVzaW5nIHNhbWUgc2hhcmVkIFJYIHF1ZXVlIHJlY2VpdmVzDQo+ID4gPiA+ID4g PiA+ID4gPiA+IHBhY2tldHMgZnJvbSBhbGwgbWVtYmVyIHBvcnRzLiBTb3VyY2UgcG9ydCBpcyBp ZGVudGlmaWVkIGJ5IG1idWYtPnBvcnQuDQo+ID4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ ID4gPiA+ID4gPiBQb3J0IHF1ZXVlIG51bWJlciBpbiBhIHNoYXJlZCBncm91cCBzaG91bGQgYmUg aWRlbnRpY2FsLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBRdWV1ZSBpbmRleCBpcw0KPiA+ID4gPiA+ ID4gPiA+ID4gPiAxOjEgbWFwcGVkIGluIHNoYXJlZCBncm91cC4NCj4gPiA+ID4gPiA+ID4gPiA+ ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+IFNoYXJlIFJYIHF1ZXVlIG11c3QgYmUgcG9sbGVkIG9u IHNpbmdsZSB0aHJlYWQgb3IgY29yZS4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4g PiA+ID4gPiA+IE11bHRpcGxlIGdyb3VwcyBpcyBzdXBwb3J0ZWQgYnkgZ3JvdXAgSUQuDQo+ID4g PiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBYdWVt aW5nIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBDYzogSmVy aW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gLS0t DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFJ4IHF1ZXVlIG9iamVjdCBjb3VsZCBiZSB1c2VkIGFzIHNo YXJlZCBSeCBxdWV1ZSBvYmplY3QsDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGl0J3MgaW1wb3J0YW50 IHRvIGNsZWFyIGFsbCBxdWV1ZSBjb250cm9sIGNhbGxiYWNrIGFwaSB0aGF0IHVzaW5nIHF1ZXVl IG9iamVjdDoNCj4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGh0dHBz Oi8vbWFpbHMuZHBkay5vcmcvYXJjaGl2ZXMvZGV2LzIwMjEtSnVseS8yMTU1NzQuaHRtbA0KPiA+ ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAjdW5kZWYgUlRFX1JYX09GRkxP QURfQklUMlNUUiBkaWZmIC0tZ2l0DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGEvbGliL2V0aGRldi9y dGVfZXRoZGV2LmggYi9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuaCBpbmRleA0KPiA+ID4gPiA+ID4g PiA+ID4gPiBkMmIyN2MzNTFmLi5hNTc4YzlkYjlkIDEwMDY0NA0KPiA+ID4gPiA+ID4gPiA+ID4g PiAtLS0gYS9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuaA0KPiA+ID4gPiA+ID4gPiA+ID4gPiArKysg Yi9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuaA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBAQCAtMTA0Nyw2 ICsxMDQ3LDcgQEAgc3RydWN0IHJ0ZV9ldGhfcnhjb25mIHsNCj4gPiA+ID4gPiA+ID4gPiA+ID4g ICAgICAgICB1aW50OF90IHJ4X2Ryb3BfZW47IC8qKjwgRHJvcCBwYWNrZXRzIGlmIG5vIGRlc2Ny aXB0b3JzIGFyZSBhdmFpbGFibGUuICovDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgdWlu dDhfdCByeF9kZWZlcnJlZF9zdGFydDsgLyoqPCBEbyBub3Qgc3RhcnQgcXVldWUgd2l0aCBydGVf ZXRoX2Rldl9zdGFydCgpLiAqLw0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHVpbnQxNl90 IHJ4X25zZWc7IC8qKjwgTnVtYmVyIG9mIGRlc2NyaXB0aW9ucyBpbiByeF9zZWcgYXJyYXkuDQo+ ID4gPiA+ID4gPiA+ID4gPiA+ICovDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgdWludDMy X3Qgc2hhcmVkX2dyb3VwOyAvKio8IFNoYXJlZCBwb3J0IGdyb3VwDQo+ID4gPiA+ID4gPiA+ID4g PiA+ICsgaW5kZXggaW4gc3dpdGNoIGRvbWFpbi4gKi8NCj4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+ ID4gPiA+ID4gPiA+ID4gTm90IHRvIGFibGUgdG8gc2VlIGFueW9uZSBzZXR0aW5nL2NyZWF0aW5n IHRoaXMgZ3JvdXAgSUQgdGVzdCBhcHBsaWNhdGlvbi4NCj4gPiA+ID4gPiA+ID4gPiA+IEhvdyB0 aGlzIGdyb3VwIGlzIGNyZWF0ZWQ/DQo+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4g TmljZSBjYXRjaCwgdGhlIGluaXRpYWwgdGVzdHBtZCB2ZXJzaW9uIG9ubHkgc3VwcG9ydCBvbmUg ZGVmYXVsdCBncm91cCgwKS4NCj4gPiA+ID4gPiA+ID4gPiBBbGwgcG9ydHMgdGhhdCBzdXBwb3J0 cyBzaGFyZWQtcnhxIGFzc2lnbmVkIGluIHNhbWUgZ3JvdXAuDQo+ID4gPiA+ID4gPiA+ID4gDQo+ ID4gPiA+ID4gPiA+ID4gV2Ugc2hvdWxkIGJlIGFibGUgdG8gY2hhbmdlICItLXJ4cS1zaGFyZWQi IHRvICItLXJ4cS1zaGFyZWQtZ3JvdXAiDQo+ID4gPiA+ID4gPiA+ID4gdG8gc3VwcG9ydCBncm91 cCBvdGhlciB0aGFuIGRlZmF1bHQuDQo+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4g VG8gc3VwcG9ydCBtb3JlIGdyb3VwcyBzaW11bHRhbmVvdXNseSwgbmVlZCB0byBjb25zaWRlcg0K PiA+ID4gPiA+ID4gPiA+IHRlc3RwbWQgZm9yd2FyZGluZyBzdHJlYW0gY29yZSBhc3NpZ25tZW50 LCBhbGwgc3RyZWFtcyBpbiBzYW1lIGdyb3VwIG5lZWQgdG8gc3RheSBvbiBzYW1lIGNvcmUuDQo+ ID4gPiA+ID4gPiA+ID4gSXQncyBwb3NzaWJsZSB0byBzcGVjaWZ5IGhvdyBtYW55IHBvcnRzIHRv IGluY3JlYXNlIGdyb3VwDQo+ID4gPiA+ID4gPiA+ID4gbnVtYmVyLCBidXQgdXNlciBtdXN0IHNj aGVkdWxlIHN0cmVhbSBhZmZpbml0eSBjYXJlZnVsbHkgLSBlcnJvciBwcm9uZS4NCj4gPiA+ID4g PiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiBPbiB0aGUgb3RoZXIgaGFuZCwgb25lIGdyb3VwIHNo b3VsZCBiZSBzdWZmaWNpZW50IGZvciBtb3N0DQo+ID4gPiA+ID4gPiA+ID4gY3VzdG9tZXIsIHRo ZSBkb3VidCBpcyB3aGV0aGVyIGl0IHZhbHVhYmxlIHRvIHN1cHBvcnQgbXVsdGlwbGUgZ3JvdXBz IHRlc3QuDQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBBY2suIE9uZSBncm91cCBpcyBl bm91Z2ggaW4gdGVzdHBtZC4NCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+IE15IHF1ZXN0 aW9uIHdhcyBtb3JlIGFib3V0IHdobyBhbmQgaG93IHRoaXMgZ3JvdXAgaXMgY3JlYXRlZCwNCj4g PiA+ID4gPiA+ID4gU2hvdWxkIG4ndCB3ZSBuZWVkIEFQSSB0byBjcmVhdGUgc2hhcmVkX2dyb3Vw PyBJZiB3ZSBkbyB0aGUgZm9sbG93aW5nLCBhdCBsZWFzdCwgSSBjYW4gdGhpbmssIGhvdyBpdCBj YW4gYmUgaW1wbGVtZW50ZWQgaW4gU1cNCj4gPiA+IG9yIG90aGVyIEhXLg0KPiA+ID4gPiA+ID4g PiANCj4gPiA+ID4gPiA+ID4gLSBDcmVhdGUgYWdncmVnYXRpb24gcXVldWUgZ3JvdXANCj4gPiA+ ID4gPiA+ID4gLSBBdHRhY2ggbXVsdGlwbGUgIFJ4IHF1ZXVlcyB0byB0aGUgYWdncmVnYXRpb24g cXVldWUgZ3JvdXANCj4gPiA+ID4gPiA+ID4gLSBQdWxsIHRoZSBwYWNrZXRzIGZyb20gdGhlIHF1 ZXVlIGdyb3VwKHdoaWNoIGludGVybmFsbHkgZmV0Y2gNCj4gPiA+ID4gPiA+ID4gZnJvbSB0aGUg UnggcXVldWVzIF9hdHRhY2hlZF8pDQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBEb2Vz IHRoZSBhYm92ZSBraW5kIG9mIHNlcXVlbmNlLCBicmVhayB5b3VyIHJlcHJlc2VudG9yIHVzZSBj YXNlPw0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBTZWVtcyBtb3JlIGxpa2UgYSBzZXQgb2Yg RUFMIHdyYXBwZXIuIEN1cnJlbnQgQVBJIHRyaWVzIHRvIG1pbmltaXplIHRoZSBhcHBsaWNhdGlv biBlZmZvcnRzIHRvIGFkYXB0IHNoYXJlZC1yeHEuDQo+ID4gPiA+ID4gPiAtIHN0ZXAgMSwgbm90 IHN1cmUgaG93IGltcG9ydGFudCBpdCBpcyB0byBjcmVhdGUgZ3JvdXAgd2l0aCBBUEksIGluIHJ0 ZV9mbG93LCBncm91cCBpcyBjcmVhdGVkIG9uIGRlbWFuZC4NCj4gPiA+ID4gPiANCj4gPiA+ID4g PiBXaGljaCBydGVfZmxvdyBwYXR0ZXJuL2FjdGlvbiBmb3IgdGhpcz8NCj4gPiA+ID4gDQo+ID4g PiA+IE5vIHJ0ZV9mbG93IGZvciB0aGlzLCBqdXN0IHJlY2FsbGVkIHRoYXQgdGhlIGdyb3VwIGlu IHJ0ZV9mbG93IGlzIG5vdCBjcmVhdGVkIGFsb25nIHdpdGggZmxvdywgbm90IHZpYSBhcGkuDQo+ ID4gPiA+IEkgZG9u4oCZdCBzZWUgYW55dGhpbmcgZWxzZSB0byBjcmVhdGUgYWxvbmcgd2l0aCBn cm91cCwganVzdCBkb3VibGUgd2hldGhlciBpdCB2YWx1YWJsZSB0byBpbnRyb2R1Y2UgYSBuZXcg YXBpIHNldCB0byBtYW5hZ2UgZ3JvdXAuDQo+ID4gPiANCj4gPiA+IFNlZSBiZWxvdy4NCj4gPiA+ IA0KPiA+ID4gPiANCj4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IC0gc3RlcCAyLCBjdXJyZW50bHks IHRoZSBhdHRhY2hpbmcgaXMgZG9uZSBpbiBydGVfZXRoX3J4X3F1ZXVlX3NldHVwLCBzcGVjaWZ5 IG9mZmxvYWQgYW5kIGdyb3VwIGluIHJ4X2NvbmYgc3RydWN0Lg0KPiA+ID4gPiA+ID4gLSBzdGVw IDMsIGRlZmluZSBhIGRlZGljYXRlIGFwaSB0byByZWNlaXZlIHBhY2tldHMgZnJvbSBzaGFyZWQg cnhxPyBMb29rcyBjbGVhciB0byByZWNlaXZlIHBhY2tldHMgZnJvbSBzaGFyZWQgcnhxLg0KPiA+ ID4gPiA+ID4gICBjdXJyZW50bHksIHJ4cSBvYmplY3RzIGluIHNoYXJlIGdyb3VwIGlzIHNhbWUg LSB0aGUgc2hhcmVkIHJ4cSwgc28gdGhlIGV0aCBjYWxsYmFjayBldGhfcnhfYnVyc3RfdChyeHFf b2JqLCBtYnVmcywgbikgY291bGQNCj4gPiA+ID4gPiA+ICAgYmUgdXNlZCB0byByZWNlaXZlIHBh Y2tldHMgZnJvbSBhbnkgcG9ydHMgaW4gZ3JvdXAsIG5vcm1hbGx5IHRoZSBmaXJzdCBwb3J0KFBG KSBpbiBncm91cC4NCj4gPiA+ID4gPiA+ICAgQW4gYWx0ZXJuYXRpdmUgd2F5IGlzIGRlZmluaW5n IGEgdmRldiB3aXRoIHNhbWUgcXVldWUgbnVtYmVyIGFuZCBjb3B5IHJ4cSBvYmplY3RzIHdpbGwg bWFrZSB0aGUgdmRldiBhIHByb3h5IG9mDQo+ID4gPiA+ID4gPiAgIHRoZSBzaGFyZWQgcnhxIGdy b3VwIC0gdGhpcyBjb3VsZCBiZSBhbiBoZWxwZXIgQVBJLg0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ ID4gPiBBbnl3YXkgdGhlIHdyYXBwZXIgZG9lc24ndCBicmVhayB1c2UgY2FzZSwgc3RlcCAzIGFw aSBpcyBtb3JlIGNsZWFyLCBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRvIGltcGxlbWVudCBlZmZp Y2llbnRseS4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBBcmUgeW91IGRvaW5nIHRoaXMgZmVhdHVy ZSBiYXNlZCBvbiBhbnkgSFcgc3VwcG9ydCBvciBpdCBqdXN0IHB1cmUNCj4gPiA+ID4gPiBTVyB0 aGluZywgSWYgaXQgaXMgU1csIEl0IGlzIGJldHRlciB0byBoYXZlIGp1c3QgbmV3IHZkZXYgZm9y IGxpa2UgZHJpdmVycy9uZXQvYm9uZGluZy8uIFRoaXMgd2UgY2FuIGhlbHAgYWdncmVnYXRlIG11 bHRpcGxlIFJ4cSBhY3Jvc3MNCj4gPiA+IHRoZSBtdWx0aXBsZSBwb3J0cyBvZiBzYW1lIHRoZSBk cml2ZXIuDQo+ID4gPiA+IA0KPiA+ID4gPiBCYXNlZCBvbiBIVyBzdXBwb3J0Lg0KPiA+ID4gDQo+ ID4gPiBJbiBNYXJ2ZWwgSFcsIHdlIGRvIHNvbWUgc3VwcG9ydCwgSSB3aWxsIG91dGxpbmUgaGVy ZSBhbmQgc29tZSBxdWVyaWVzIG9uIHRoaXMuDQo+ID4gPiANCj4gPiA+ICMgV2UgbmVlZCB0byBj cmVhdGUgc29tZSBuZXcgSFcgc3RydWN0dXJlIGZvciBhZ2dyZWdhdGlvbiAjIENvbm5lY3QgZWFj aCBSeHEgdG8gdGhlIG5ldyBIVyBzdHJ1Y3R1cmUgZm9yIGFnZ3JlZ2F0aW9uICMgVXNlDQo+ID4g PiByeF9idXJzdCBmcm9tIHRoZSBuZXcgSFcgc3RydWN0dXJlLg0KPiA+ID4gDQo+ID4gPiBDb3Vs ZCB5b3Ugb3V0bGluZSB5b3VyIEhXIHN1cHBvcnQ/DQo+ID4gPiANCj4gPiA+IEFsc28sIEkgYW0g bm90IGFibGUgdG8gdW5kZXJzdGFuZCBob3cgdGhpcyB3aWxsIHJlZHVjZSB0aGUgbWVtb3J5LCBh dGxlYXN0IGluIG91ciBIVyBuZWVkIGNyZWF0aW5nIG1vcmUgbWVtb3J5IG5vdyB0byBkZWFsIHRo aXMgYXMNCj4gPiA+IHdlIG5lZWQgdG8gZGVhbCBuZXcgSFcgc3RydWN0dXJlLg0KPiA+ID4gDQo+ ID4gPiBIb3cgaXMgaW4geW91ciBIVyBpdCByZWR1Y2VzIHRoZSBtZW1vcnk/IEFsc28sIGlmIG1l bW9yeSBpcyB0aGUgY29uc3RyYWludCwgd2h5IE5PVCByZWR1Y2UgdGhlIG51bWJlciBvZiBxdWV1 ZXMuDQo+ID4gPiANCj4gPiANCj4gPiBHbGFkIHRvIGtub3cgdGhhdCBNYXJ2ZWwgaXMgd29ya2lu ZyBvbiB0aGlzLCB3aGF0J3MgdGhlIHN0YXR1cyBvZiBkcml2ZXIgaW1wbGVtZW50YXRpb24/DQo+ ID4gDQo+ID4gSW4gbXkgUE1EIGltcGxlbWVudGF0aW9uLCBpdCdzIHZlcnkgc2ltaWxhciwgYSBu ZXcgSFcgb2JqZWN0IHNoYXJlZCBtZW1vcnkgcG9vbCBpcyBjcmVhdGVkIHRvIHJlcGxhY2UgcGVy IHJ4cSBtZW1vcnkgcG9vbC4NCj4gPiBMZWdhY3kgcnhxIGZlZWQgcXVldWUgd2l0aCBhbGxvY2F0 ZWQgbWJ1ZnMgYXMgbnVtYmVyIG9mIGRlc2NyaXB0b3JzLCBub3cgc2hhcmVkIHJ4cXMgc2hhcmUg dGhlIHNhbWUgcG9vbCwgbm8gbmVlZCB0byBzdXBwbHkNCj4gPiBtYnVmcyBmb3IgZWFjaCByeHEs IGp1c3QgZmVlZCB0aGUgc2hhcmVkIHJ4cS4NCj4gPiANCj4gPiBTbyB0aGUgbWVtb3J5IHNhdmlu ZyByZWZsZWN0cyB0byBtYnVmIHBlciByeHEsIGV2ZW4gMTAwMCByZXByZXNlbnRvcnMgaW4gc2hh cmVkIHJ4cSBncm91cCwgdGhlIG1idWZzIGNvbnN1bWVkIGlzIG9uZSByeHEuDQo+ID4gSW4gb3Ro ZXIgd29yZHMsIG5ldyBtZW1iZXJzIGluIHNoYXJlZCByeHEgZG9lc27igJl0IGFsbG9jYXRlIG5l dyBtYnVmcyB0byBmZWVkIHJ4cSwganVzdCBzaGFyZSB3aXRoIGV4aXN0aW5nIHNoYXJlZCByeHEo SFcgbWVtcG9vbCkuDQo+ID4gVGhlIG1lbW9yeSByZXF1aXJlZCB0byBzZXR1cCBlYWNoIHJ4cSBk b2Vzbid0IGNoYW5nZSB0b28gbXVjaCwgYWdyZWUuDQo+IA0KPiBXZSBjYW4gYXNrIHRoZSBhcHBs aWNhdGlvbiB0byBjb25maWd1cmUgdGhlIHNhbWUgbWVtcG9vbCBmb3IgbXVsdGlwbGUNCj4gUlEg dG9vLiBSSWdodD8gSWYgdGhlIHNhdmluZyBpcyBiYXNlZCBvbiBzaGFyaW5nIHRoZSBtZW1wb29s DQo+IHdpdGggbXVsdGlwbGUgUlFzLg0KPiANCj4gPiANCj4gPiA+ICMgQWxzbywgSSB3YXMgdGhp bmtpbmcsIG9uZSB3YXkgdG8gYXZvaWQgdGhlIGZhc3QgcGF0aCBvciBBQkkgY2hhbmdlIHdvdWxk IGxpa2UuDQo+ID4gPiANCj4gPiA+ICMgRHJpdmVyIEluaXRpYWxpemVzIG9uZSBtb3JlIGV0aF9k ZXZfb3BzIGluIGRyaXZlciBhcyBhZ2dyZWdhdG9yIGV0aGRldiAjIGRldmFyZ3Mgb2YgbmV3IGV0 aGRldiBvciBzcGVjaWZpYyBBUEkgbGlrZQ0KPiA+ID4gZHJpdmVycy9uZXQvYm9uZGluZy9ydGVf ZXRoX2JvbmQuaCBjYW4gdGFrZSB0aGUgYXJndW1lbnQgKHBvcnQsIHF1ZXVlKSB0dXBsZXMgd2hp Y2ggbmVlZHMgdG8gYWdncmVnYXRlIGJ5IG5ldyBldGhkZXYgcG9ydCAjIE5vDQo+ID4gPiBjaGFu Z2UgaW4gZmFzdHBhdGggb3IgQUJJIGlzIHJlcXVpcmVkIGluIHRoaXMgbW9kZWwuDQo+ID4gPiAN Cj4gPiANCj4gPiBUaGlzIGNvdWxkIGJlIGFuIG9wdGlvbiB0byBhY2Nlc3Mgc2hhcmVkIHJ4cS4g V2hhdCdzIHRoZSBkaWZmZXJlbmNlIG9mIHRoZSBuZXcgUE1EPw0KPiANCj4gTm8gQUJJIGFuZCBm YXN0IGNoYW5nZSBhcmUgcmVxdWlyZWQuDQo+IA0KPiA+IFdoYXQncyB0aGUgZGlmZmVyZW5jZSBv ZiBQTUQgZHJpdmVyIHRvIGNyZWF0ZSB0aGUgbmV3IGRldmljZT8NCj4gPiANCj4gPiBJcyBpdCBp bXBvcnRhbnQgaW4geW91ciBpbXBsZW1lbnRhdGlvbj8gRG9lcyBpdCB3b3JrIHdpdGggZXhpc3Rp bmcgcnhfYnVyc3QgYXBpPw0KPiANCj4gWWVzIC4gSXQgd2lsbCB3b3JrIHdpdGggdGhlIGV4aXN0 aW5nIHJ4X2J1cnN0IEFQSS4NCj4gDQoNClRoZSBhZ2dyZWdhdG9yIGV0aGRldiByZXF1aXJlZCBi eSB1c2VyIGlzIGEgcG9ydCwgbWF5YmUgaXQgZ29vZCB0byBhZGQNCmEgY2FsbGJhY2sgZm9yIFBN RCB0byBwcmVwYXJlIGEgY29tcGxldGUgZXRoZGV2IGp1c3QgbGlrZSBjcmVhdGluZw0KcmVwcmVz ZW50b3IgZXRoZGV2IC0gcG1kIHJlZ2lzdGVyIG5ldyBwb3J0IGludGVybmFsbHkuIElmIHRoZSBQ TUQNCmRvZW5zJ3QgcHJvdmlkZSB0aGUgY2FsbGJhY2ssIGV0aGRldiBhcGkgZmFsbGJhY2sgdG8g aW5pdGlhbGl6ZSBhbg0KZW1wdHkgZXRoZGV2IGJ5IGNvcHkgcnhxIGRhdGEoc2hhcmVkKSBhbmQg cnhfYnVyc3QgYXBpIGZyb20gc291cmNlIHBvcnQNCmFuZCBzaGFyZSBncm91cC4gQWN0dWFsbHkg dXNlcnMgY2FuIGRvIHRoaXMgZmFsbGJhY2sgdGhlbXNlbHZlcyBvciB3aXRoDQphbiB1dGlsIGFw aS4NCg0KSUlVQywgYW4gYWdncmVnYXRvciBldGhkZXYgbm90IGEgbXVzdCwgZG8geW91IHRoaW5r IHdlIGNhbiBjb250aW51ZSBhbmQNCmxlYXZlIHRoYXQgZGVzaWduIGluIGxhdGVyIHN0YWdlPyAN Cg0KPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+ID4gTW9zdCB1c2VyIG1pZ2h0IHVzZXMgUEYg aW4gZ3JvdXAgYXMgdGhlIGFuY2hvciBwb3J0IHRvIHJ4IGJ1cnN0LCBjdXJyZW50IGRlZmluaXRp b24gc2hvdWxkIGJlIGVhc3kgZm9yIHRoZW0gdG8gbWlncmF0ZS4NCj4gPiA+ID4gYnV0IHNvbWUg dXNlciBtaWdodCBwcmVmZXIgZ3JvdXBpbmcgc29tZSBob3QNCj4gPiA+ID4gcGx1Zy91bnBsdWdn ZWRyZXByZXNlbnRvcnMsIEVBTCBjb3VsZCBwcm92aWRlIHdyYXBwZXJzLCB1c2VycyBjb3VsZCBk byB0aGF0IGVpdGhlciBkdWUgdG8gdGhlIHN0cmF0ZWd5IG5vdCBjb21wbGV4IGVub3VnaC4NCj4g PiA+IEFueXdheSwgd2VsY29tZSBhbnkgc3VnZ2VzdGlvbi4NCj4gPiA+ID4gDQo+ID4gPiA+ID4g DQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ IA0KPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4g PiANCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAvKioNCj4gPiA+ID4gPiA+ID4gPiA+ID4g ICAgICAgICAgKiBQZXItcXVldWUgUnggb2ZmbG9hZHMgdG8gYmUgc2V0IHVzaW5nIERFVl9SWF9P RkZMT0FEXyogZmxhZ3MuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICogT25seSBvZmZs b2FkcyBzZXQgb24gcnhfcXVldWVfb2ZmbG9hZF9jYXBhIG9yDQo+ID4gPiA+ID4gPiA+ID4gPiA+ IHJ4X29mZmxvYWRfY2FwYSBAQCAtMTM3Myw2ICsxMzc0LDEyIEBAIHN0cnVjdCBydGVfZXRoX2Nv bmYNCj4gPiA+ID4gPiA+ID4gPiA+ID4geyAjZGVmaW5lIERFVl9SWF9PRkZMT0FEX09VVEVSX1VE UF9DS1NVTSAgMHgwMDA0MDAwMA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgI2RlZmluZSBERVZfUlhf T0ZGTE9BRF9SU1NfSEFTSCAgICAgICAgICAgICAgICAweDAwMDgwMDAwDQo+ID4gPiA+ID4gPiA+ ID4gPiA+ICAjZGVmaW5lIFJURV9FVEhfUlhfT0ZGTE9BRF9CVUZGRVJfU1BMSVQgMHgwMDEwMDAw MA0KPiA+ID4gPiA+ID4gPiA+ID4gPiArLyoqDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsgKiBSeCBx dWV1ZSBpcyBzaGFyZWQgYW1vbmcgcG9ydHMgaW4gc2FtZSBzd2l0Y2ggZG9tYWluDQo+ID4gPiA+ ID4gPiA+ID4gPiA+ICt0byBzYXZlIG1lbW9yeSwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKyAqIGF2 b2lkIHBvbGxpbmcgZWFjaCBwb3J0LiBBbnkgcG9ydCBpbiBncm91cCBjYW4gYmUgdXNlZCB0byBy ZWNlaXZlIHBhY2tldHMuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsgKiBSZWFsIHNvdXJjZSBwb3J0 IG51bWJlciBzYXZlZCBpbiBtYnVmLT5wb3J0IGZpZWxkLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiAr ICovDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsjZGVmaW5lIFJURV9FVEhfUlhfT0ZGTE9BRF9TSEFS RURfUlhRICAgMHgwMDIwMDAwMA0KPiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4g PiA+ID4gICNkZWZpbmUgREVWX1JYX09GRkxPQURfQ0hFQ0tTVU0gKERFVl9SWF9PRkZMT0FEX0lQ VjRfQ0tTVU0gfCBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIERFVl9SWF9PRkZMT0FEX1VEUF9DS1NVTQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gMi4yNS4xDQo+ ID4gPiA+ID4gPiA+ID4gPiA+IA0KDQo=