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 D31FE41C2D; Tue, 7 Feb 2023 10:40:17 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B0B36410DF; Tue, 7 Feb 2023 10:40:17 +0100 (CET) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2086.outbound.protection.outlook.com [40.107.244.86]) by mails.dpdk.org (Postfix) with ESMTP id 98CA540042 for ; Tue, 7 Feb 2023 10:40:15 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hM6dx3rsG1zwfVMDwwIn5F4Dgdw9AKBd1DUVeL+L1JU7LGkD39sNDdEVy57gV/dGy+GJ6QKT7EFsCzj5GEqI3fhmG86M6DL1cNpLQN3QY3EhRG+haxNQc745eGjgS7d2jqMR+pT71QyBSbhoUqKjjOZIapOihqPglpoEZvDKvygpHsnGbyXxBS884aINbr6InuDkrKfM1NOCrzx+ckKJD4cg7eP6wo1N/FXmi2v0Y6g6ugC+WxrkodNn4ZZe6r4y7Q+xNmf2xObtYU24RXHTnaeivX1zyRXZqJEz8NhbvjMtVF4ndj2rigqrwGJaiVS4+vi8GH9pHCukLA62+hkcOg== 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=AvP+YBks5pMvbGx0wRppbl7ocgU12qq/cGXhi7FZgCA=; b=cpNIebi+ot9M5p33VP21tRWSaya1AFIVENuoPdUZ6zxUoJAMrjEQ/11LEO977TGPWaqNnss3GVgUWzOL+vO9wB9otXk/ho0s4CUTrFpM2wV9FLB+e8IINZKTTfXHQrMkT0SNoPwQxcZIl+KVJparrmC2wQTkn/by+5Kr+EyF88/Njn0mpgn3iV5XhrpQf7dPvyHq+ZTTHnXDVMwQZddiaBLsxc0x7asC4s6nTBdxbprGX7CaYZA4MREhQLBgwmRpApkryBchq1x38jwvEhQR2is37+amKmKBzZ/GGXkisJogXblYWEBn/pbww/9RVzNW0QcvuxTtSc2Nb/tGTZPYpg== 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=AvP+YBks5pMvbGx0wRppbl7ocgU12qq/cGXhi7FZgCA=; b=qM+Zm5oU/hgHDMtzQ0OW28Qd+4SCK7DCFaPnGQwMfu8Tv+/D7jDUmonbOzZmru6CoUW14vZx55QYgMs6whsxcQuIJqkBGMedjieG93Q/yIr3cpLgAwziEpGJRJNM8dzJ1Ji0bYjMjZ6LDfT6c0hfE/dLoC5RPtq5Yhtcgrnppzw4xN19H5se2NcHD2JQ/3huKqOLGeXYm0lWTfrvOb/TIm4Wkh6emC8QeyRDVQvRip6CdpyoA0r9mD2uGyrCp+ptcGBDoHavLJid8agBo6Lsv/RmGRVxbJcFHY4pegLz6jXfve4IcIjxb/6ISTogFGbba3u1MEL7HXHdHTPSvTAYzA== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by MN0PR12MB6127.namprd12.prod.outlook.com (2603:10b6:208:3c5::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.34; Tue, 7 Feb 2023 09:40:12 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::6ba4:b9e8:d439:59e4]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::6ba4:b9e8:d439:59e4%4]) with mapi id 15.20.6064.031; Tue, 7 Feb 2023 09:40:11 +0000 From: Ori Kam To: "Jiawei(Jonny) Wang" , Slava Ovsiienko , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "andrew.rybchenko@oktetlabs.ru" , Aman Singh , Yuying Zhang , Ferruh Yigit CC: "dev@dpdk.org" , Raslan Darawsheh Subject: RE: [PATCH v4 1/2] ethdev: introduce the PHY affinity field in Tx queue API Thread-Topic: [PATCH v4 1/2] ethdev: introduce the PHY affinity field in Tx queue API Thread-Index: AQHZN9QzbjCDF/ZnJEGKjvfd27gJGK7DQDYA Date: Tue, 7 Feb 2023 09:40:11 +0000 Message-ID: References: <20230203050717.46914-1-jiaweiw@nvidia.com> <20230203133339.30271-1-jiaweiw@nvidia.com> <20230203133339.30271-2-jiaweiw@nvidia.com> In-Reply-To: <20230203133339.30271-2-jiaweiw@nvidia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW2PR12MB4666:EE_|MN0PR12MB6127:EE_ x-ms-office365-filtering-correlation-id: 413c0aa6-8ddf-4138-c173-08db08ef4ef2 x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uStiz8c2NLekuiSeo8nq3IONmzkd9CVFlQIRUSRr+upVRStSPCutcrMJK641zakn51H3J9aUAz4WEhOKuqHZaCiDWLJ6satrDBmaBucSM3fRHADFtZinwuyIWxGoxUFJiIMxidlMnr3ZuqXxSbs/f5yeaosgT4h848N/ax6NdDamixnptagKurqnCMKFvBUG5cJ8J/ilzOe0i4mmVRdkg4aHhwBxLgggFpmQeyd+QbhTUV0JGMm0qlFfslyApN1I9ndPRthODccx4la/DeQsuS7ZM0xPxDll+f8x5d9RBBH+bzSZynmtuhgtgNtxmTLRYUlESC1LCGPdI46a+RnjGv6Ls+RBARywArdN7siOLKqW3uhPBCr6ToGlJNRNv1fePwIPu9mXV4/FPPiH2qkDTlUMufRv4WuWr6SfB/92vItb4FXaBWgQwTQoD1+IqO5PMB7h0zvLZsaE5xhUe9ucymaZgrvMLQGNiyVyDdQLqZ8yJKq82O8NXXLOc36dTimnAfXJmFgWO1/5ssl9VPFc3T1+yNyfp26SVWRMp4K3Ejn3jScsi7nBP5Hfq/fKdL5atM+/5d+kfS3+YF1Q3zkdxXjdPW6xaBAuAy4LISLqg2o+M5NA22EK87T/Et4PKxzE2si87hBsTcBA3f1JNXhoxjvR6ZGj7H/+8HtZaQ2ggP+UKOQZ0omxv6s9IezD0+51TACKu1rq9OrrdHDbgzz7Ww== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4666.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(136003)(366004)(376002)(39860400002)(396003)(346002)(451199018)(38070700005)(2906002)(33656002)(4326008)(66556008)(8676002)(83380400001)(71200400001)(86362001)(7696005)(55016003)(66946007)(186003)(6506007)(107886003)(478600001)(9686003)(38100700002)(26005)(8936002)(5660300002)(41300700001)(30864003)(52536014)(110136005)(54906003)(122000001)(66476007)(64756008)(76116006)(66446008)(316002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OHUvYUFUSVI4cTlSeFdNQVhuSTEvV3VpcGk3MTI2NkxXc2IvMnlIeFN4OUgw?= =?utf-8?B?dG1OS3RSOUZpa09LQ1psVzM4ZlFSUE1RV0RpakVPUVExM2JxeThVdGlWRnlz?= =?utf-8?B?L1JzVVlxVVlJeWk5Z0VMbk16cnVLZnV4enhaWkkxUkY3dXYxQXJadzRUZkow?= =?utf-8?B?VkEySUJOcEtIZmJHT21GSUpDV2JWMGF3Tjd1OU9wMUJQNXM3YkdZYzl3SS9h?= =?utf-8?B?bkpGVGcvVC9ZOVp2YjJqT2liMG4wMUJuZ2V6S0FzcnExdURSS1pFUWlYam9v?= =?utf-8?B?a3orMzJ1ZHM4N2RZTXVxak13QllVL2RKdXF4UHlrYU5Oc0tUUlZlM21nd09Y?= =?utf-8?B?VFBsK3NhMnowdTJpRW84bFFqaERFOGg4UDROb0kyZTRjcXJ2MUxyeitwNmZB?= =?utf-8?B?R1lJcHgyRWFYMURPaEFtVitvU0U1WTk3cGRManhRay9qeVpHbmJJSGJkdkZ1?= =?utf-8?B?N0JOT1hheEFKTm50K21jM1lSNXR2emdIdG01bkJzNmFEU3krQTZtRE9ia2pT?= =?utf-8?B?TnFqQzJRSWVBM2E5RXRxdlBVcWpZT3EwSkY3Z2VKSGpCL2FrWGQ3RmZYeGlB?= =?utf-8?B?b3lQNTVZa2Jrb3VtbVY0NEFjbFY1eFoxOGxJd2tSSk1ZYmZaelh5VGtWaURh?= =?utf-8?B?SW9hTVRGOGNXbzdheFdLQkoxSVJGd0s5eU1HTDcyMms1NnJwSUhOWWRtRUJE?= =?utf-8?B?Nzh5amtjaG05M3JFMmYwVWgrV00zbVQ2V1VYdjIydkdPaWVrN2VmbU9jZUxG?= =?utf-8?B?bVFETkJZbW1WKzNFYWovQlNPOVZ4M1BiSVNRMjVUSDVUTjJ4UnNyVzhzM0lX?= =?utf-8?B?cC9NT0IxclF1Wmd5RDBOZ0VFb3hoMlFKT1cycjlTOXVOTkIwUlBTZ1dIM09I?= =?utf-8?B?aDJIS1QwemxCMkVWQXl3U0pxczFDdnFnSGw5WjUzZmxIY3QxM3Fpc2wyU2p4?= =?utf-8?B?NmxFYzRPRzVWZUJQaVh3TzhiQmZFVy9NQjdjMWtSdmFCUGo4VXdQa0VJb29n?= =?utf-8?B?MVloOE5YVitWVUxlbWZzdS9tS3hpdEJyRStVbzZWaFltUGVUaXROMzdIZXhO?= =?utf-8?B?Wnc4T0pMaVlMYmJQeUJtenM3RHZwdTNYZ0hRMlJYcWwxNmljTVMvNy82Wmxw?= =?utf-8?B?b3NsREhzS2FOL2pwdFZ3WjdjelZrTmcvZW45V0RUWVpwR1lkVnNHNyswYVRU?= =?utf-8?B?MUsrc2w2dzVvR0YyVFFOUFJnNFc1Nm5QdkdORTU4UGRtL3c3MWxESlprdU5L?= =?utf-8?B?K3VPUVN4S2VWdWVaQjFYRU15Wk9wcjhpSjdSYWg0ZVpxdGFyNXRBT1JyY0JF?= =?utf-8?B?ZHg5OE9zRUl6ZU11ZWZsT2ZZVXdQS2JWd3Y4SjJUVk84eHFPcXB2VzQ3SmNZ?= =?utf-8?B?WGdzWFQyWngzb0w3Q3JWMUlLRTdvMDg5SmszTm9rT2h3dGtzZTJqNG9FTmd0?= =?utf-8?B?N2FCYzZYWXNjTStJL0IxWDJoUTJnS1h0R1lnY0hzNmR3UjNkMG5KRExDU3VM?= =?utf-8?B?M0ZwQy9RSnBQNGc5WkF3SG13djdyTFJ0MnJkbE1lLzFBamNHajY5UnBIZ3R1?= =?utf-8?B?elhiVkhBNTZtY2p2MDcwYW9Hc0o2MDk1ejVmQ0NCdkpjR1RvT3NYNzdtQkRy?= =?utf-8?B?cTNvRHBmTlVaWVhscDQyeWFIQ0FmR2Z4NGFvbnQ1SElvTDc3VDdFN0FwYmV6?= =?utf-8?B?aFcxNDlxcGl4YjlYaU9ocTRhMlNNUzc4a0gvbmI4VWxrQytrSXAxaUJRYVgr?= =?utf-8?B?VVRqZ1hZcU9MVjladVBEZDRYemJwYS9qSmwrSE9FVUlwNzlKd1Z3RzRUbUU5?= =?utf-8?B?RXlEVlpIUGlNRWtMM3BoVlY0N0pxRFgzT0QweWVKbDdDYkZhOGc3TDBSZDNu?= =?utf-8?B?Mm1Sd2graVFnU2xtV1pGVGNSK2NKUTVPWG1sa0ZGZjVCanU5OThBSDU5ZXFP?= =?utf-8?B?OHV0aitBSzBneU94UG5ybll0elU5RjZzSjRKNnhENVZvdWc5d09wWTlOL05T?= =?utf-8?B?cElkcitERHVmczBVdHo0VmtpcjRsWEw3Q0Q3TzRRVUg5b1Jrc3VRbksxcWtR?= =?utf-8?B?VXhLRGNkQXN4Nko1MVBpbHVUb0tGUURFbE1BbGlJRmVTMkppbHdYNnBEbTM2?= =?utf-8?Q?dqko=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4666.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 413c0aa6-8ddf-4138-c173-08db08ef4ef2 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Feb 2023 09:40:11.7638 (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: +w1jA2KXeM2Ih1iuQq5v66tX1qCjS5XV8gLYQzZjK77nh7ObWi70O7KsrRD3/XCao8/iFJefNMTU1omOCenK5Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6127 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 SGkgSmlhd2VpLA0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmlh d2VpKEpvbm55KSBXYW5nIDxqaWF3ZWl3QG52aWRpYS5jb20+DQo+IFNlbnQ6IEZyaWRheSwgMyBG ZWJydWFyeSAyMDIzIDE1OjM0DQo+IA0KPiBXaGVuIG11bHRpcGxlIHBoeXNpY2FsIHBvcnRzIGFy ZSBjb25uZWN0ZWQgdG8gYSBzaW5nbGUgRFBESyBwb3J0LA0KPiAoZXhhbXBsZToga2VybmVsIGJv bmRpbmcsIERQREsgYm9uZGluZywgZmFpbHNhZmUsIGV0Yy4pLA0KPiB3ZSB3YW50IHRvIGtub3cg d2hpY2ggcGh5c2ljYWwgcG9ydCBpcyB1c2VkIGZvciBSeCBhbmQgVHguDQo+IA0KPiBUaGlzIHBh dGNoIG1hcHMgYSBEUERLIFR4IHF1ZXVlIHdpdGggYSBwaHlzaWNhbCBwb3J0LA0KPiBieSBhZGRp bmcgdHhfcGh5X2FmZmluaXR5IHNldHRpbmcgaW4gVHggcXVldWUuDQo+IFRoZSBhZmZpbml0eSBu dW1iZXIgaXMgdGhlIHBoeXNpY2FsIHBvcnQgSUQgd2hlcmUgcGFja2V0cyB3aWxsIGJlDQo+IHNl bnQuDQo+IFZhbHVlIDAgbWVhbnMgbm8gYWZmaW5pdHkgYW5kIHRyYWZmaWMgY291bGQgYmUgcm91 dGVkIHRvIGFueQ0KPiBjb25uZWN0ZWQgcGh5c2ljYWwgcG9ydHMsIHRoaXMgaXMgdGhlIGRlZmF1 bHQgY3VycmVudCBiZWhhdmlvci4NCj4gDQo+IFRoZSBudW1iZXIgb2YgcGh5c2ljYWwgcG9ydHMg aXMgcmVwb3J0ZWQgd2l0aCBydGVfZXRoX2Rldl9pbmZvX2dldCgpLg0KPiANCj4gVGhlIG5ldyB0 eF9waHlfYWZmaW5pdHkgZmllbGQgaXMgYWRkZWQgaW50byB0aGUgcGFkZGluZyBob2xlIG9mDQo+ IHJ0ZV9ldGhfdHhjb25mIHN0cnVjdHVyZSwgdGhlIHNpemUgb2YgcnRlX2V0aF90eGNvbmYga2Vl cHMgdGhlIHNhbWUuDQo+IEFuIEFCSSBjaGVjayBydWxlIG5lZWRzIHRvIGJlIGFkZGVkIHRvIGF2 b2lkIGZhbHNlIHdhcm5pbmcuDQo+IA0KPiBBZGQgdGhlIHRlc3RwbWQgY29tbWFuZCBsaW5lOg0K PiB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAocG9ydF9pZCkgdHhxIChxdWV1ZV9pZCkgcGh5X2FmZmlu aXR5ICh2YWx1ZSkNCj4gDQo+IEZvciBleGFtcGxlLCB0aGVyZSdyZSB0d28gcGh5c2ljYWwgcG9y dHMgY29ubmVjdGVkIHRvDQo+IGEgc2luZ2xlIERQREsgcG9ydCAocG9ydCBpZCAwKSwgYW5kIHBo eV9hZmZpbml0eSAxIHN0b29kIGZvcg0KPiB0aGUgZmlyc3QgcGh5c2ljYWwgcG9ydCBhbmQgcGh5 X2FmZmluaXR5IDIgc3Rvb2QgZm9yIHRoZSBzZWNvbmQNCj4gcGh5c2ljYWwgcG9ydC4NCj4gVXNl IHRoZSBiZWxvdyBjb21tYW5kcyB0byBjb25maWcgdHggcGh5IGFmZmluaXR5IGZvciBwZXIgVHgg UXVldWU6DQo+ICAgICAgICAgcG9ydCBjb25maWcgMCB0eHEgMCBwaHlfYWZmaW5pdHkgMQ0KPiAg ICAgICAgIHBvcnQgY29uZmlnIDAgdHhxIDEgcGh5X2FmZmluaXR5IDENCj4gICAgICAgICBwb3J0 IGNvbmZpZyAwIHR4cSAyIHBoeV9hZmZpbml0eSAyDQo+ICAgICAgICAgcG9ydCBjb25maWcgMCB0 eHEgMyBwaHlfYWZmaW5pdHkgMg0KPiANCj4gVGhlc2UgY29tbWFuZHMgY29uZmlnIHRoZSBUeCBR dWV1ZSBpbmRleCAwIGFuZCBUeCBRdWV1ZSBpbmRleCAxIHdpdGgNCj4gcGh5IGFmZmluaXR5IDEs IHVzZXMgVHggUXVldWUgMCBvciBUeCBRdWV1ZSAxIHNlbmQgcGFja2V0cywNCj4gdGhlc2UgcGFj a2V0cyB3aWxsIGJlIHNlbnQgZnJvbSB0aGUgZmlyc3QgcGh5c2ljYWwgcG9ydCwgYW5kIHNpbWls YXINCj4gd2l0aCB0aGUgc2Vjb25kIHBoeXNpY2FsIHBvcnQgaWYgc2VuZGluZyBwYWNrZXRzIHdp dGggVHggUXVldWUgMg0KPiBvciBUeCBRdWV1ZSAzLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogSmlh d2VpIFdhbmcgPGppYXdlaXdAbnZpZGlhLmNvbT4NCj4gLS0tDQo+ICBhcHAvdGVzdC1wbWQvY21k bGluZS5jICAgICAgICAgICAgICAgICAgICAgIHwgMTAwICsrKysrKysrKysrKysrKysrKysrDQo+ ICBhcHAvdGVzdC1wbWQvY29uZmlnLmMgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsNCj4g IGRldnRvb2xzL2xpYmFiaWdhaWwuYWJpZ25vcmUgICAgICAgICAgICAgICAgfCAgIDUgKw0KPiAg ZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yM18wMy5yc3QgICAgICB8ICAgNCArDQo+ICBk b2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0IHwgIDEzICsrKw0KPiAg bGliL2V0aGRldi9ydGVfZXRoZGV2LmggICAgICAgICAgICAgICAgICAgICB8ICAxMCArKw0KPiAg NiBmaWxlcyBjaGFuZ2VkLCAxMzMgaW5zZXJ0aW9ucygrKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2Fw cC90ZXN0LXBtZC9jbWRsaW5lLmMgYi9hcHAvdGVzdC1wbWQvY21kbGluZS5jDQo+IGluZGV4IGNi OGMxNzQwMjAuLmY3NzFmY2Y4YWMgMTAwNjQ0DQo+IC0tLSBhL2FwcC90ZXN0LXBtZC9jbWRsaW5l LmMNCj4gKysrIGIvYXBwL3Rlc3QtcG1kL2NtZGxpbmUuYw0KPiBAQCAtNzc2LDYgKzc3NiwxMCBA QCBzdGF0aWMgdm9pZCBjbWRfaGVscF9sb25nX3BhcnNlZCh2b2lkDQo+ICpwYXJzZWRfcmVzdWx0 LA0KPiANCj4gIAkJCSJwb3J0IGNsZWFudXAgKHBvcnRfaWQpIHR4cSAocXVldWVfaWQpIChmcmVl X2NudClcbiINCj4gIAkJCSIgICAgQ2xlYW51cCB0eHEgbWJ1ZnMgZm9yIGEgc3BlY2lmaWMgVHgg cXVldWVcblxuIg0KPiArDQo+ICsJCQkicG9ydCBjb25maWcgKHBvcnRfaWQpIHR4cSAocXVldWVf aWQpIHBoeV9hZmZpbml0eQ0KPiAodmFsdWUpXG4iDQo+ICsJCQkiICAgIFNldCB0aGUgcGh5c2lj YWwgYWZmaW5pdHkgdmFsdWUgIg0KPiArCQkJIm9uIGEgc3BlY2lmaWMgVHggcXVldWVcblxuIg0K PiAgCQkpOw0KPiAgCX0NCj4gDQo+IEBAIC0xMjYzMyw2ICsxMjYzNywxMDEgQEAgc3RhdGljIGNt ZGxpbmVfcGFyc2VfaW5zdF90DQo+IGNtZF9zaG93X3BvcnRfZmxvd190cmFuc2Zlcl9wcm94eSA9 IHsNCj4gIAl9DQo+ICB9Ow0KPiANCj4gKy8qICoqKiBjb25maWd1cmUgcG9ydCB0eHEgcGh5X2Fm ZmluaXR5IHZhbHVlICoqKiAqLw0KPiArc3RydWN0IGNtZF9jb25maWdfdHhfcGh5X2FmZmluaXR5 IHsNCj4gKwljbWRsaW5lX2ZpeGVkX3N0cmluZ190IHBvcnQ7DQo+ICsJY21kbGluZV9maXhlZF9z dHJpbmdfdCBjb25maWc7DQo+ICsJcG9ydGlkX3QgcG9ydGlkOw0KPiArCWNtZGxpbmVfZml4ZWRf c3RyaW5nX3QgdHhxOw0KPiArCXVpbnQxNl90IHFpZDsNCj4gKwljbWRsaW5lX2ZpeGVkX3N0cmlu Z190IHBoeV9hZmZpbml0eTsNCj4gKwl1aW50OF90IHZhbHVlOw0KPiArfTsNCj4gKw0KPiArc3Rh dGljIHZvaWQNCj4gK2NtZF9jb25maWdfdHhfcGh5X2FmZmluaXR5X3BhcnNlZCh2b2lkICpwYXJz ZWRfcmVzdWx0LA0KPiArCQkJCSAgX19ydGVfdW51c2VkIHN0cnVjdCBjbWRsaW5lICpjbCwNCj4g KwkJCQkgIF9fcnRlX3VudXNlZCB2b2lkICpkYXRhKQ0KPiArew0KPiArCXN0cnVjdCBjbWRfY29u ZmlnX3R4X3BoeV9hZmZpbml0eSAqcmVzID0gcGFyc2VkX3Jlc3VsdDsNCj4gKwlzdHJ1Y3QgcnRl X2V0aF9kZXZfaW5mbyBkZXZfaW5mbzsNCj4gKwlzdHJ1Y3QgcnRlX3BvcnQgKnBvcnQ7DQo+ICsJ aW50IHJldDsNCj4gKw0KPiArCWlmIChwb3J0X2lkX2lzX2ludmFsaWQocmVzLT5wb3J0aWQsIEVO QUJMRURfV0FSTikpDQo+ICsJCXJldHVybjsNCj4gKw0KPiArCWlmIChyZXMtPnBvcnRpZCA9PSAo cG9ydGlkX3QpUlRFX1BPUlRfQUxMKSB7DQo+ICsJCXByaW50ZigiSW52YWxpZCBwb3J0IGlkXG4i KTsNCj4gKwkJcmV0dXJuOw0KPiArCX0NCj4gKw0KPiArCXBvcnQgPSAmcG9ydHNbcmVzLT5wb3J0 aWRdOw0KPiArDQo+ICsJaWYgKHN0cmNtcChyZXMtPnR4cSwgInR4cSIpKSB7DQo+ICsJCXByaW50 ZigiVW5rbm93biBwYXJhbWV0ZXJcbiIpOw0KPiArCQlyZXR1cm47DQo+ICsJfQ0KPiArCWlmICh0 eF9xdWV1ZV9pZF9pc19pbnZhbGlkKHJlcy0+cWlkKSkNCj4gKwkJcmV0dXJuOw0KPiArDQo+ICsJ cmV0ID0gZXRoX2Rldl9pbmZvX2dldF9wcmludF9lcnIocmVzLT5wb3J0aWQsICZkZXZfaW5mbyk7 DQo+ICsJaWYgKHJldCAhPSAwKQ0KPiArCQlyZXR1cm47DQo+ICsNCj4gKwlpZiAoZGV2X2luZm8u bmJfcGh5X3BvcnRzID09IDApIHsNCj4gKwkJcHJpbnRmKCJOdW1iZXIgb2YgcGh5c2ljYWwgcG9y dHMgaXMgMCB3aGljaCBpcyBpbnZhbGlkIGZvciBQSFkNCj4gQWZmaW5pdHlcbiIpOw0KPiArCQly ZXR1cm47DQo+ICsJfQ0KPiArCXByaW50ZigiVGhlIG51bWJlciBvZiBwaHlzaWNhbCBwb3J0cyBp cyAldVxuIiwNCj4gZGV2X2luZm8ubmJfcGh5X3BvcnRzKTsNCj4gKwlpZiAoZGV2X2luZm8ubmJf cGh5X3BvcnRzIDwgcmVzLT52YWx1ZSkgew0KPiArCQlwcmludGYoIlRoZSBQSFkgYWZmaW5pdHkg dmFsdWUgJXUgaXMgSW52YWxpZCwgZXhjZWVkcyB0aGUgIg0KPiArCQkgICAgICAgIm51bWJlciBv ZiBwaHlzaWNhbCBwb3J0c1xuIiwgcmVzLT52YWx1ZSk7DQo+ICsJCXJldHVybjsNCj4gKwl9DQo+ ICsJcG9ydC0+dHhxW3Jlcy0+cWlkXS5jb25mLnR4X3BoeV9hZmZpbml0eSA9IHJlcy0+dmFsdWU7 DQo+ICsNCj4gKwljbWRfcmVjb25maWdfZGV2aWNlX3F1ZXVlKHJlcy0+cG9ydGlkLCAwLCAxKTsN Cj4gK30NCj4gKw0KPiArY21kbGluZV9wYXJzZV90b2tlbl9zdHJpbmdfdCBjbWRfY29uZmlnX3R4 X3BoeV9hZmZpbml0eV9wb3J0ID0NCj4gKwlUT0tFTl9TVFJJTkdfSU5JVElBTElaRVIoc3RydWN0 IGNtZF9jb25maWdfdHhfcGh5X2FmZmluaXR5LA0KPiArCQkJCSBwb3J0LCAicG9ydCIpOw0KPiAr Y21kbGluZV9wYXJzZV90b2tlbl9zdHJpbmdfdCBjbWRfY29uZmlnX3R4X3BoeV9hZmZpbml0eV9j b25maWcgPQ0KPiArCVRPS0VOX1NUUklOR19JTklUSUFMSVpFUihzdHJ1Y3QgY21kX2NvbmZpZ190 eF9waHlfYWZmaW5pdHksDQo+ICsJCQkJIGNvbmZpZywgImNvbmZpZyIpOw0KPiArY21kbGluZV9w YXJzZV90b2tlbl9udW1fdCBjbWRfY29uZmlnX3R4X3BoeV9hZmZpbml0eV9wb3J0aWQgPQ0KPiAr CVRPS0VOX05VTV9JTklUSUFMSVpFUihzdHJ1Y3QgY21kX2NvbmZpZ190eF9waHlfYWZmaW5pdHks DQo+ICsJCQkJIHBvcnRpZCwgUlRFX1VJTlQxNik7DQo+ICtjbWRsaW5lX3BhcnNlX3Rva2VuX3N0 cmluZ190IGNtZF9jb25maWdfdHhfcGh5X2FmZmluaXR5X3R4cSA9DQo+ICsJVE9LRU5fU1RSSU5H X0lOSVRJQUxJWkVSKHN0cnVjdCBjbWRfY29uZmlnX3R4X3BoeV9hZmZpbml0eSwNCj4gKwkJCQkg dHhxLCAidHhxIik7DQo+ICtjbWRsaW5lX3BhcnNlX3Rva2VuX251bV90IGNtZF9jb25maWdfdHhf cGh5X2FmZmluaXR5X3FpZCA9DQo+ICsJVE9LRU5fTlVNX0lOSVRJQUxJWkVSKHN0cnVjdCBjbWRf Y29uZmlnX3R4X3BoeV9hZmZpbml0eSwNCj4gKwkJCSAgICAgIHFpZCwgUlRFX1VJTlQxNik7DQo+ ICtjbWRsaW5lX3BhcnNlX3Rva2VuX3N0cmluZ190IGNtZF9jb25maWdfdHhfcGh5X2FmZmluaXR5 X2h3cG9ydCA9DQo+ICsJVE9LRU5fU1RSSU5HX0lOSVRJQUxJWkVSKHN0cnVjdCBjbWRfY29uZmln X3R4X3BoeV9hZmZpbml0eSwNCj4gKwkJCQkgcGh5X2FmZmluaXR5LCAicGh5X2FmZmluaXR5Iik7 DQo+ICtjbWRsaW5lX3BhcnNlX3Rva2VuX251bV90IGNtZF9jb25maWdfdHhfcGh5X2FmZmluaXR5 X3ZhbHVlID0NCj4gKwlUT0tFTl9OVU1fSU5JVElBTElaRVIoc3RydWN0IGNtZF9jb25maWdfdHhf cGh5X2FmZmluaXR5LA0KPiArCQkJICAgICAgdmFsdWUsIFJURV9VSU5UOCk7DQo+ICsNCj4gK3N0 YXRpYyBjbWRsaW5lX3BhcnNlX2luc3RfdCBjbWRfY29uZmlnX3R4X3BoeV9hZmZpbml0eSA9IHsN Cj4gKwkuZiA9IGNtZF9jb25maWdfdHhfcGh5X2FmZmluaXR5X3BhcnNlZCwNCj4gKwkuZGF0YSA9 ICh2b2lkICopMCwNCj4gKwkuaGVscF9zdHIgPSAicG9ydCBjb25maWcgPHBvcnRfaWQ+IHR4cSA8 cXVldWVfaWQ+IHBoeV9hZmZpbml0eQ0KPiA8dmFsdWU+IiwNCj4gKwkudG9rZW5zID0gew0KPiAr CQkodm9pZCAqKSZjbWRfY29uZmlnX3R4X3BoeV9hZmZpbml0eV9wb3J0LA0KPiArCQkodm9pZCAq KSZjbWRfY29uZmlnX3R4X3BoeV9hZmZpbml0eV9jb25maWcsDQo+ICsJCSh2b2lkICopJmNtZF9j b25maWdfdHhfcGh5X2FmZmluaXR5X3BvcnRpZCwNCj4gKwkJKHZvaWQgKikmY21kX2NvbmZpZ190 eF9waHlfYWZmaW5pdHlfdHhxLA0KPiArCQkodm9pZCAqKSZjbWRfY29uZmlnX3R4X3BoeV9hZmZp bml0eV9xaWQsDQo+ICsJCSh2b2lkICopJmNtZF9jb25maWdfdHhfcGh5X2FmZmluaXR5X2h3cG9y dCwNCj4gKwkJKHZvaWQgKikmY21kX2NvbmZpZ190eF9waHlfYWZmaW5pdHlfdmFsdWUsDQo+ICsJ CU5VTEwsDQo+ICsJfSwNCj4gK307DQo+ICsNCj4gIC8qDQo+ICoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioq KioqKioqKiAqLw0KPiANCj4gIC8qIGxpc3Qgb2YgaW5zdHJ1Y3Rpb25zICovDQo+IEBAIC0xMjg2 Niw2ICsxMjk2NSw3IEBAIHN0YXRpYyBjbWRsaW5lX3BhcnNlX2N0eF90IGJ1aWx0aW5fY3R4W10g PSB7DQo+ICAJKGNtZGxpbmVfcGFyc2VfaW5zdF90ICopJmNtZF9zaG93X3BvcnRfY21hbl9jYXBh LA0KPiAgCShjbWRsaW5lX3BhcnNlX2luc3RfdCAqKSZjbWRfc2hvd19wb3J0X2NtYW5fY29uZmln LA0KPiAgCShjbWRsaW5lX3BhcnNlX2luc3RfdCAqKSZjbWRfc2V0X3BvcnRfY21hbl9jb25maWcs DQo+ICsJKGNtZGxpbmVfcGFyc2VfaW5zdF90ICopJmNtZF9jb25maWdfdHhfcGh5X2FmZmluaXR5 LA0KPiAgCU5VTEwsDQo+ICB9Ow0KPiANCj4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0LXBtZC9jb25m aWcuYyBiL2FwcC90ZXN0LXBtZC9jb25maWcuYw0KPiBpbmRleCBhY2NjYjZiMDM1Li5iODNmYjE3 Y2ZhIDEwMDY0NA0KPiAtLS0gYS9hcHAvdGVzdC1wbWQvY29uZmlnLmMNCj4gKysrIGIvYXBwL3Rl c3QtcG1kL2NvbmZpZy5jDQo+IEBAIC05MzYsNiArOTM2LDcgQEAgcG9ydF9pbmZvc19kaXNwbGF5 KHBvcnRpZF90IHBvcnRfaWQpDQo+ICAJCXByaW50ZigidW5rbm93blxuIik7DQo+ICAJCWJyZWFr Ow0KPiAgCX0NCj4gKwlwcmludGYoIkN1cnJlbnQgbnVtYmVyIG9mIHBoeXNpY2FsIHBvcnRzOiAl dVxuIiwNCj4gZGV2X2luZm8ubmJfcGh5X3BvcnRzKTsNCj4gIH0NCj4gDQo+ICB2b2lkDQo+IGRp ZmYgLS1naXQgYS9kZXZ0b29scy9saWJhYmlnYWlsLmFiaWdub3JlIGIvZGV2dG9vbHMvbGliYWJp Z2FpbC5hYmlnbm9yZQ0KPiBpbmRleCA3YTkzZGUzYmExLi5hYzdkM2ZiMmRhIDEwMDY0NA0KPiAt LS0gYS9kZXZ0b29scy9saWJhYmlnYWlsLmFiaWdub3JlDQo+ICsrKyBiL2RldnRvb2xzL2xpYmFi aWdhaWwuYWJpZ25vcmUNCj4gQEAgLTM0LDMgKzM0LDggQEANCj4gIDs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsNCj4gIDsgVGVtcG9yYXJ5IGV4Y2Vw dGlvbnMgdGlsbCBuZXh0IG1ham9yIEFCSSB2ZXJzaW9uIDsNCj4gIDs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsNCj4gKw0KPiArOyBJZ25vcmUgZmll bGRzIGluc2VydGVkIGluIHBhZGRpbmcgaG9sZSBvZiBydGVfZXRoX3R4Y29uZg0KPiArW3N1cHBy ZXNzX3R5cGVdDQo+ICsgICAgICAgIG5hbWUgPSBydGVfZXRoX3R4Y29uZg0KPiArICAgICAgICBo YXNfZGF0YV9tZW1iZXJfaW5zZXJ0ZWRfYmV0d2VlbiA9IHtvZmZzZXRfb2YodHhfZGVmZXJyZWRf c3RhcnQpLA0KPiBvZmZzZXRfb2Yob2ZmbG9hZHMpfQ0KPiBkaWZmIC0tZ2l0IGEvZG9jL2d1aWRl cy9yZWxfbm90ZXMvcmVsZWFzZV8yM18wMy5yc3QNCj4gYi9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9y ZWxlYXNlXzIzXzAzLnJzdA0KPiBpbmRleCA3M2Y1ZDk0ZTE0Li5lOTliZDJkY2I2IDEwMDY0NA0K PiAtLS0gYS9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIzXzAzLnJzdA0KPiArKysgYi9k b2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIzXzAzLnJzdA0KPiBAQCAtNTUsNiArNTUsMTAg QEAgTmV3IEZlYXR1cmVzDQo+ICAgICAgIEFsc28sIG1ha2Ugc3VyZSB0byBzdGFydCB0aGUgYWN0 dWFsIHRleHQgYXQgdGhlIG1hcmdpbi4NCj4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiANCj4gKyogKipBZGRlZCBhZmZpbml0 eSBmb3IgbXVsdGlwbGUgcGh5c2ljYWwgcG9ydHMgY29ubmVjdGVkIHRvIGEgc2luZ2xlIERQREsN Cj4gcG9ydC4qKg0KPiArDQo+ICsgICogQWRkZWQgVHggYWZmaW5pdHkgaW4gcXVldWUgc2V0dXAg dG8gbWFwIGEgcGh5c2ljYWwgcG9ydC4NCj4gKw0KPiAgKiAqKlVwZGF0ZWQgQU1EIGF4Z2JlIGRy aXZlci4qKg0KPiANCj4gICAgKiBBZGRlZCBtdWx0aS1wcm9jZXNzIHN1cHBvcnQuDQo+IGRpZmYg LS1naXQgYS9kb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0DQo+IGIv ZG9jL2d1aWRlcy90ZXN0cG1kX2FwcF91Zy90ZXN0cG1kX2Z1bmNzLnJzdA0KPiBpbmRleCA3OWEx ZmE5Y2I3Li41YzcxNmY3Njc5IDEwMDY0NA0KPiAtLS0gYS9kb2MvZ3VpZGVzL3Rlc3RwbWRfYXBw X3VnL3Rlc3RwbWRfZnVuY3MucnN0DQo+ICsrKyBiL2RvYy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcv dGVzdHBtZF9mdW5jcy5yc3QNCj4gQEAgLTE2MDUsNiArMTYwNSwxOSBAQCBFbmFibGUgb3IgZGlz YWJsZSBhIHBlciBxdWV1ZSBUeCBvZmZsb2FkaW5nIG9ubHkNCj4gb24gYSBzcGVjaWZpYyBUeCBx dWV1ZTo6DQo+IA0KPiAgVGhpcyBjb21tYW5kIHNob3VsZCBiZSBydW4gd2hlbiB0aGUgcG9ydCBp cyBzdG9wcGVkLCBvciBlbHNlIGl0IHdpbGwgZmFpbC4NCj4gDQo+ICtjb25maWcgcGVyIHF1ZXVl IFR4IHBoeXNpY2FsIGFmZmluaXR5DQo+ICt+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+DQo+ICsNCj4gK0NvbmZpZ3VyZSBhIHBlciBxdWV1ZSBwaHlzaWNhbCBhZmZpbml0eSB2 YWx1ZSBvbmx5IG9uIGEgc3BlY2lmaWMgVHggcXVldWU6Og0KPiArDQo+ICsgICB0ZXN0cG1kPiBw b3J0IChwb3J0X2lkKSB0eHEgKHF1ZXVlX2lkKSBwaHlfYWZmaW5pdHkgKHZhbHVlKQ0KPiArDQo+ ICsqIGBgcGh5X2FmZmluaXR5YGA6IHBoeXNpY2FsIHBvcnQgdG8gdXNlIGZvciBzZW5kaW5nLA0K PiArICAgICAgICAgICAgICAgICAgICB3aGVuIG11bHRpcGxlIHBoeXNpY2FsIHBvcnRzIGFyZSBj b25uZWN0ZWQgdG8NCj4gKyAgICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgRFBESyBwb3J0Lg0K PiArDQo+ICtUaGlzIGNvbW1hbmQgc2hvdWxkIGJlIHJ1biB3aGVuIHRoZSBwb3J0IGlzIHN0b3Bw ZWQsIG90aGVyd2lzZSBpdCBmYWlscy4NCj4gKw0KPiAgQ29uZmlnIFZYTEFOIEVuY2FwIG91dGVy IGxheWVycw0KPiAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KPiANCj4gZGlmZiAt LWdpdCBhL2xpYi9ldGhkZXYvcnRlX2V0aGRldi5oIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2LmgN Cj4gaW5kZXggYzEyOWNhMWVhZi4uMmZkOTcxYjdiNSAxMDA2NDQNCj4gLS0tIGEvbGliL2V0aGRl di9ydGVfZXRoZGV2LmgNCj4gKysrIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2LmgNCj4gQEAgLTEx MzgsNiArMTEzOCwxNCBAQCBzdHJ1Y3QgcnRlX2V0aF90eGNvbmYgew0KPiAgCQkJCSAgICAgIGxl c3MgZnJlZSBkZXNjcmlwdG9ycyB0aGFuIHRoaXMgdmFsdWUuICovDQo+IA0KPiAgCXVpbnQ4X3Qg dHhfZGVmZXJyZWRfc3RhcnQ7IC8qKjwgRG8gbm90IHN0YXJ0IHF1ZXVlIHdpdGgNCj4gcnRlX2V0 aF9kZXZfc3RhcnQoKS4gKi8NCj4gKwkvKioNCj4gKwkgKiBBZmZpbml0eSB3aXRoIG9uZSBvZiB0 aGUgbXVsdGlwbGUgcGh5c2ljYWwgcG9ydHMgY29ubmVjdGVkIHRvIHRoZQ0KPiBEUERLIHBvcnQu DQo+ICsJICogVmFsdWUgMCBtZWFucyBubyBhZmZpbml0eSBhbmQgdHJhZmZpYyBjb3VsZCBiZSBy b3V0ZWQgdG8gYW55DQo+IGNvbm5lY3RlZA0KPiArCSAqIHBoeXNpY2FsIHBvcnQuDQo+ICsJICog VGhlIGZpcnN0IHBoeXNpY2FsIHBvcnQgaXMgbnVtYmVyIDEgYW5kIHNvIG9uLg0KPiArCSAqIE51 bWJlciBvZiBwaHlzaWNhbCBwb3J0cyBpcyByZXBvcnRlZCBieSBuYl9waHlfcG9ydHMgaW4NCj4g cnRlX2V0aF9kZXZfaW5mby4NCj4gKwkgKi8NCj4gKwl1aW50OF90IHR4X3BoeV9hZmZpbml0eTsN Cj4gIAkvKioNCj4gIAkgKiBQZXItcXVldWUgVHggb2ZmbG9hZHMgdG8gYmUgc2V0ICB1c2luZyBS VEVfRVRIX1RYX09GRkxPQURfKg0KPiBmbGFncy4NCj4gIAkgKiBPbmx5IG9mZmxvYWRzIHNldCBv biB0eF9xdWV1ZV9vZmZsb2FkX2NhcGEgb3IgdHhfb2ZmbG9hZF9jYXBhDQo+IEBAIC0xNzQ0LDYg KzE3NTIsOCBAQCBzdHJ1Y3QgcnRlX2V0aF9kZXZfaW5mbyB7DQo+ICAJLyoqIERldmljZSByZWRp cmVjdGlvbiB0YWJsZSBzaXplLCB0aGUgdG90YWwgbnVtYmVyIG9mIGVudHJpZXMuICovDQo+ICAJ dWludDE2X3QgcmV0YV9zaXplOw0KPiAgCXVpbnQ4X3QgaGFzaF9rZXlfc2l6ZTsgLyoqPCBIYXNo IGtleSBzaXplIGluIGJ5dGVzICovDQo+ICsJLyoqIE51bWJlciBvZiBwaHlzaWNhbCBwb3J0cyBj b25uZWN0ZWQgd2l0aCBEUERLIHBvcnQuICovDQo+ICsJdWludDhfdCBuYl9waHlfcG9ydHM7DQo+ ICAJLyoqIEJpdCBtYXNrIG9mIFJTUyBvZmZsb2FkcywgdGhlIGJpdCBvZmZzZXQgYWxzbyBtZWFu cyBmbG93IHR5cGUgKi8NCj4gIAl1aW50NjRfdCBmbG93X3R5cGVfcnNzX29mZmxvYWRzOw0KPiAg CXN0cnVjdCBydGVfZXRoX3J4Y29uZiBkZWZhdWx0X3J4Y29uZjsgLyoqPCBEZWZhdWx0IFJ4IGNv bmZpZ3VyYXRpb24NCj4gKi8NCj4gLS0NCj4gMi4xOC4xDQoNCkFja2VkLWJ5OiBPcmkgS2FtIDxv cmlrYUBudmlkaWEuY29tPg0KVGhhbmtzLA0KT3JpDQo=