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 F0EDEA00C3; Wed, 21 Sep 2022 22:56:28 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9D40940691; Wed, 21 Sep 2022 22:56:28 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 24B074067C for ; Wed, 21 Sep 2022 22:56:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1663793786; x=1695329786; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=FMnW9WemkuoXhv42trd0LW40xI7pvKwxkR+ELbSdelo=; b=lbi34gZ1UxiBXcsrI1etua9oKYUUUUCmRM7MeN+biM/I19TLcY19p5HE guLWuI5yDPc9N33kLYLRgJwBb9VEhnRBYh+8VgecF3gjtMheENoz1fzTv wqlyClrohDfZvimYjt6GKjuzRcTVjO1ozCMbQ4PoT0yZK7mBGHM1JjHdS Ab7/Q0Bhqjyc37HxiwrH63o/j94IFyfvp7auf5WR6R1KErClED8J6IBcV VK7FOEw4ra/JKQEuAFLg81b82kFy1ENsjU0/ZrTEGUm1NCTlwg80YXBNE UmYaJlKuI5YUuaN0tKs1MRdqsZUH8mtQjClgnn5Eji2wK7d3R8KBQWf/M g==; X-IronPort-AV: E=McAfee;i="6500,9779,10477"; a="279847623" X-IronPort-AV: E=Sophos;i="5.93,334,1654585200"; d="scan'208";a="279847623" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Sep 2022 13:56:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,334,1654585200"; d="scan'208";a="708614219" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by FMSMGA003.fm.intel.com with ESMTP; 21 Sep 2022 13:56:24 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 21 Sep 2022 13:56:24 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 21 Sep 2022 13:56:23 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Wed, 21 Sep 2022 13:56:23 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Wed, 21 Sep 2022 13:56:23 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P7zSKTXpqW2ixNx6sckR3pC84IDFej9nkQohyB5ncuk3Gt0HmFOEvTagarlXYpMAOYD1aOyBh1jUQwGSd+0HHEUptbWUHLmW8H98Y0vj6ooyqbg0KEW8rnFqDYZavwCbctvqA7xprqNWuD2GUNmDQ6YK4SeH/3ETwMxxRaXVVtMipVsUGDHc/qFjx0g2VN7RfodrcUwyoBixMdfx7nQwZJW/T35bqTQZTM/zJL5CaLCrDT8dBp3v7A7OI++j8XanXkQC+dxruK6qummaegI+8KZVznS2lpgTwFbhW88AdkVp5Og76SvSuildlTxJWZ3j4dr3h0NEtSViAVYLbY/rDA== 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=FMnW9WemkuoXhv42trd0LW40xI7pvKwxkR+ELbSdelo=; b=E/8NPY5FHNR9onjNP7qqzNIbJK97r7/U3IQrZLbuhDeBUDYFvVjQLzWBCICQhUl1zxbaClN8ymyotNHZy5bF4gKM3wYalX/796KIffbFOaFcg3WMQgs6grz1E3VhZ1WeeTmkCDh3qwnEXaYFU1XspiYnc3dYD08bEmhsw2GvJM+quG0OTap2vY8FpOjxec2UEXiotbrrxgacJLvgHv282cfPAq5gtCBDFp9tBB9yGUYHSz4SX/QxCEmbu5KsxEbOL5MdM4MLgI95hbVGUejs7zSTy2OaIqcntjdx8xh4t64es7uavY072wJdYJ2to0wkESGkhOhLNzQgsJoU1fjqOg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BY5PR11MB4451.namprd11.prod.outlook.com (2603:10b6:a03:1cb::30) by MW3PR11MB4649.namprd11.prod.outlook.com (2603:10b6:303:5b::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.17; Wed, 21 Sep 2022 20:56:20 +0000 Received: from BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::e6be:3feb:17fd:bdcf]) by BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::e6be:3feb:17fd:bdcf%7]) with mapi id 15.20.5654.017; Wed, 21 Sep 2022 20:56:20 +0000 From: "Chautru, Nicolas" To: Akhil Goyal , "dev@dpdk.org" , "thomas@monjalon.net" , "hemant.agrawal@nxp.com" CC: "maxime.coquelin@redhat.com" , "trix@redhat.com" , "mdr@ashroe.eu" , "Richardson, Bruce" , "david.marchand@redhat.com" , "stephen@networkplumber.org" , "Zhang, Mingshan" Subject: RE: [EXT] [PATCH v7 5/7] bbdev: add new operation for FFT processing Thread-Topic: [EXT] [PATCH v7 5/7] bbdev: add new operation for FFT processing Thread-Index: AQHYu9UuDqmXWxdDmESbbD2CVosNYq3qZQiAgAAcBJA= Date: Wed, 21 Sep 2022 20:56:20 +0000 Message-ID: References: <1655491040-183649-6-git-send-email-nicolas.chautru@intel.com> <1661796438-204861-1-git-send-email-nicolas.chautru@intel.com> <1661796438-204861-6-git-send-email-nicolas.chautru@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.500.17 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BY5PR11MB4451:EE_|MW3PR11MB4649:EE_ x-ms-office365-filtering-correlation-id: 92b2e2ff-fbb3-4fd6-6732-08da9c13bc95 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oePRCmheLap0wAG2m08DXh9TtUWKWzm+kzfH2Fad4nRr3ajp9emzKsG3Nw6PPsEzOXeBDWqZLPvUAdIpqvLGooyqXoq1aUEQekgolS/ImUFcAxQ69vxsoggKYV+sTh0ZbLPK7oP6YaXkNtVRRONFZCVOpDA/+L8L0spMQ+TTG9/hWke6CaTv7nTQ927e+GwXTk+5Q8b9LgCJTA3mcrFdoAPzGYFssIgVKbxhb1CgJ8a0/3comKJboNR4+PT+eKWvp/6rAng+MxVW1dj6JoiYJK6rGrkOs0G1yu068dUEI5el1PLcq0OG8lBPqvUBmxf0BmnslOeicD9IJnjE2etfVEixUrzrwmaVEigj/H/mmYfcr6NtN2MwtpnkVlsJECi+Zgc/+h6tPM2l0WA2CsbT0aHeLS+t1jXmw0t8E4GKCupmpzs7KkawVaHU83rLKwstzrsGNPj3hH0zIl0KGwTuWf6KugKQUHpaG/yLGprb/u/6z3jiY0dwexxJWHXtnZy+N5rESdjzqvduCkbZlYQJ9OsUISme7PL8xDmqlDsi4TbVq3fjsHVA7qGtF50tq/JzCqiDI06vmkeuo2U0aaRScxi1VRFXS1/v3cz2mHftu6zpd1Uc3O4/dF51VYKCG73zgf6nzvTgJRZxgPX6yyEtrDXAec/glpWZy4ZRDtSNpwVFWh5W6AryqnMtwCYTaQqGi8euxREUvdV+iKfiBdIPE8dNyG/680aG+UfOF+X8fwKZreCZHHYVDUrcLI3KK2swestKJBeadpbQ5X6TLNiIMA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB4451.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(366004)(396003)(376002)(136003)(39860400002)(346002)(451199015)(8676002)(76116006)(83380400001)(66446008)(64756008)(66946007)(55016003)(316002)(4326008)(66476007)(66556008)(5660300002)(7696005)(478600001)(52536014)(86362001)(8936002)(6506007)(71200400001)(2906002)(107886003)(110136005)(54906003)(38100700002)(33656002)(41300700001)(122000001)(186003)(9686003)(38070700005)(30864003)(82960400001)(26005)(559001)(579004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YUdiVm1GVzJ0b3k3dnUzWWFsK2NoZXdjYkM4SkxTK3IxdjZjU2FCQ0l3T0Qv?= =?utf-8?B?SDZHcE80K3kreG40MWxJOWhZbXBrUmc1NDJ1M2N5SUZHcHNiRnQydGdsMmFl?= =?utf-8?B?Mk1RRnUrQ1Y3bHZIdzl1bEQ3bG5wR0crUVJUY29udkx3SFpKSGsrR0ZuVit2?= =?utf-8?B?TTdRZ3JCeEdCM2EvdEk5b0dqSllUNTN1R2RteTRQM1h3aVZ6ZjcrY2psdlgz?= =?utf-8?B?UFVOWnFEQW9kbUZMQ0lmUWFycjVWbW1OQ1dRTWpuRGE2ZC9MczU3ek9yNjVa?= =?utf-8?B?RjBwUHV3V1BYWm5UTS9vZnBkUlRGMTVNTmptSEwyci9EOThvSGxrMG15aTl0?= =?utf-8?B?Ykc0aEx1U1k1enFRMXMyU2dpNE5yWmJiU3V1ZFB1MkpabmR2NVVrL2dXYUV1?= =?utf-8?B?cHliZnlpQ3NHK3RkcjNHOHRNTm5lU1pMM2haS0FhTU54WDFGMS8rbzFKcitj?= =?utf-8?B?cDlBYmJtNFVodHVyM1VQZUhGcUVxclFYbmVTVkpoVTlyK0UvM1l4Y3NXemZu?= =?utf-8?B?MnhiOFp4bDMxYWdhZzZsUjI5WUM0RVpOV2M5Y2tWNWpiblNIUlZXSE8za28x?= =?utf-8?B?ZkhLb0g3eGlXVzZJMFBoSWpPd3IzTVQyc2tWRzE5M3ZRZnpMZVN0ZHkvQ0Va?= =?utf-8?B?eXBDU0ZFSzMxb2g5eHhBcFpJWXlkbFhVOWVOSDN2VDV1L3E0NldoRWxPWDFU?= =?utf-8?B?NEtJbkRpeWhsWW50M09GV0VUcnAwMFlwNlUvL0dqY3p3SERPa0tNeXR1a0dG?= =?utf-8?B?bTN4ZGN6enR0NisvMWNMMmdlTVFYenZVajBzRTlBQkRyZW02L0VwVXgveXRC?= =?utf-8?B?WTZkK2Z4YUdjNEdIMkhmSytpY05pL25pNVkzOGRFTzZ5VkloUXpKcDZKc25q?= =?utf-8?B?ditER3N2VUxBT0V1SDhUdkVqTWFSbGNWNGRzMjJjbnovaXhvdWJ0MXJnaENw?= =?utf-8?B?a3pOS0wrRHBTeEdLTEQzM05mQzFyYVc5ZGVMdEplenJLaHhLWXdaSlNHY0JL?= =?utf-8?B?TWhTMXpKZ1JzQnVSWWYvNnYzRGFweGgrSWhPZVZNcXpkaE81TlFGQ0pEdXRu?= =?utf-8?B?M0x2Zkw3MXM1RXhKRmRnUnNrbUh6Nmd6cDlaUEVCMm05VjdZbzJWRS9xL1VC?= =?utf-8?B?c3pYVHBQeXN1b2I0SWp3VktDckJUL2o3eVAzRHUydk5mbk4yaTlvWXZLQVQ1?= =?utf-8?B?R2s5MS9HS2JBeWFQSU53N3NaRWxUNWhDOFFlYjRWSUhNdk1tbkNhakNhamZa?= =?utf-8?B?QnJxQVpkelFEOHZGUlBSL055R0lmTEVvNXB2M3J0dlV5bDloUDBZZ3FlMGxU?= =?utf-8?B?Ylg3S0hCUjlnc0kwWThUaTN0MXVybFQwbEF1OGcyQWdSbm92R05uVTV2RXJO?= =?utf-8?B?QktnVVdrbEVyanJoV2h4U1lucFFobitoSHRqeGNpQlJKVGpwTkdDS0IxVlFN?= =?utf-8?B?SVJEaXNQT0NyMktONW1JeFlTVmdwMmt0OGd0ZzgyZTB3TDdzRjhKNDd6cFlD?= =?utf-8?B?QjFQV0xNeStEOVgweFA5T25XZXNadmFnd0FodUE4eDJVM2JORkZsNE1EN3lU?= =?utf-8?B?YjZoZzBRcEwxVnJtc01FNWw4eVl5cDZLSWdPeDl5V2ZFNFU5R1c1dzhTS3Vw?= =?utf-8?B?SDBFWlN5eHUwWVh1VXBKTE0rYjBBV1VMdHk4LzVvZE5VdUxBZ2xuT1h5cDZF?= =?utf-8?B?bWJoZmwwZm5RT1g0SWNaUXpVQ25sT1dIVktDVms3aFJZOUV1NEJRc1RGR2dX?= =?utf-8?B?ZFlQYk55Q1BTK2VWQndKNGVJWlE4Znl0TFZVTzZ3aHFOWVE0RVpuM1oyTkh6?= =?utf-8?B?L0M2di96a0FuOFpjSnh3ekcrTzhBWHFzUXl6eW5kUjJjckd3OHVLU0dwOTA4?= =?utf-8?B?Y1M1Rk9oRGhMWnhSMzBFT0Q4cWYrdG41bGRPdHl6MFMvRlB5a2FOYVkzdkl4?= =?utf-8?B?VUNFVlpMSXZvS0lnamtjY3dQcWVXeEc5TkZTWGVIa2dURjZrait2U2RCTCs2?= =?utf-8?B?VjhUNGwvenlDQnRBSXlubkJxY1lGYmppc1FERkppQ1BHdjBiSE15RTJGZU8r?= =?utf-8?B?UzM3a3dESGE3VGtUKzNOTHoyeko4Z25tZHdGajB2M2dybVpjWlBVQTJ0Vnd0?= =?utf-8?Q?QYa7aD1yT8aeETGpw6dihgOJP?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB4451.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92b2e2ff-fbb3-4fd6-6732-08da9c13bc95 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Sep 2022 20:56:20.8253 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: wBOSC6FWO3hEoX0jO0F8tDZxap8ehzxrBYp0m5FenfmlNOc0HwD8BJlS8K8gpuRwz29tx/PEoluG+LqnH4DH5f3OscsGoc1tKk1rUFBSojw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4649 X-OriginatorOrg: intel.com 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 SGkgQWtoaWwsIA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFraGls IEdveWFsIDxnYWtoaWxAbWFydmVsbC5jb20+DQo+IA0KPiA+IEV4dGVuc2lvbiBvZiBiYmRldiBv cGVyYXRpb24gdG8gc3VwcG9ydCBGRlQgYmFzZWQgb3BlcmF0aW9ucy4NCj4gPg0KPiA+IFNpZ25l ZC1vZmYtYnk6IE5pY29sYXMgQ2hhdXRydSA8bmljb2xhcy5jaGF1dHJ1QGludGVsLmNvbT4NCj4g PiBBY2tlZC1ieTogSGVtYW50IEFncmF3YWwgPGhlbWFudC5hZ3Jhd2FsQG54cC5jb20+DQo+ID4g QWNrZWQtYnk6IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+ ID4gLS0tDQo+ID4gIGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9iYmRldi5yc3QgfCAxMzANCj4gPiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ICBsaWIvYmJkZXYvcnRlX2Ji ZGV2LmMgICAgICAgICAgIHwgIDEwICsrLQ0KPiA+ICBsaWIvYmJkZXYvcnRlX2JiZGV2LmggICAg ICAgICAgIHwgIDc2ICsrKysrKysrKysrKysrKysrKysrDQo+ID4gIGxpYi9iYmRldi9ydGVfYmJk ZXZfb3AuaCAgICAgICAgfCAxNDkNCj4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrDQo+ID4gIGxpYi9iYmRldi92ZXJzaW9uLm1hcCAgICAgICAgICAgfCAgIDQgKysN Cj4gPiAgNSBmaWxlcyBjaGFuZ2VkLCAzNjggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0K PiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9iYmRldi5yc3QNCj4g PiBiL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9iYmRldi5yc3QgaW5kZXggNzBmYTAxYS4uNWRjYzdi NSAxMDA2NDQNCj4gPiAtLS0gYS9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvYmJkZXYucnN0DQo+ID4g KysrIGIvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL2JiZGV2LnJzdA0KPiA+IEBAIC0xMTE4LDYgKzEx MTgsMTM2IEBAIEZpZ3VyZSA6bnVtcmVmOmBmaWd1cmVfdHVyYm9fdGJfZGVjb2RlYA0KPiBhYm92 ZQ0KPiA+IHNob3dpbmcgdGhlIFR1cmJvIGRlY29kaW5nIG9mIENCcyB1c2luZyBCQkRFViBpbnRl cmZhY2UgaW4gVEItbW9kZSAgaXMNCj4gPiBhbHNvIHZhbGlkIGZvciBMRFBDIGRlY29kZS4NCj4g Pg0KPiA+ICtCQkRFViBGRlQgT3BlcmF0aW9uDQo+ID4gK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4NCj4gPiArDQo+ID4gK1RoaXMgb3BlcmF0aW9uIGFsbG93cyB0byBydW4gYSBjb21iaW5h dGlvbiBvZiBERlQgYW5kL29yIElERlQgYW5kL29yDQo+ID4gK3RpbWUtDQo+ID4gZG9tYWluIHdp bmRvd2luZy4NCj4gPiArVGhlc2UgY2FuIGJlIHVzZWQgaW4gYSBtb2R1bGFyIGZhc2hpb24gKHVz aW5nIGJ5cGFzcyBtb2Rlcykgb3IgYXMgYQ0KPiA+ICtwcm9jZXNzaW5nDQo+ID4gcGlwZWxpbmUN Cj4gPiArd2hpY2ggY2FuIGJlIHVzZWQgZm9yIEZGVC1iYXNlZCBiYXNlYmFuZCBzaWduYWwgcHJv Y2Vzc2luZy4NCj4gPiArSW4gbW9yZSBkZXRhaWxzIGl0IGFsbG93cyA6DQo+ID4gKy0gdG8gcHJv Y2VzcyB0aGUgZGF0YSBmaXJzdCB0aHJvdWdoIGFuIElERlQgb2YgYWRqdXN0YWJsZSBzaXplIGFu ZA0KPiA+ICtwYWRkaW5nOw0KPiA+ICstIHRvIHBlcmZvcm0gdGhlIHdpbmRvd2luZyBhcyBhIHBy b2dyYW1tYWJsZSBjeWNsaWMgc2hpZnQgb2Zmc2V0IG9mDQo+ID4gK3RoZSBkYXRhDQo+ID4gZm9s bG93ZWQgYnkgYQ0KPiA+ICtwb2ludHdpc2UgbXVsdGlwbGljYXRpb24gYnkgYSB0aW1lIGRvbWFp biB3aW5kb3c7DQo+ID4gKy0gdG8gcHJvY2VzcyB0aGUgcmVsYXRlZCBkYXRhIHRocm91Z2ggYSBE RlQgb2YgYWRqdXN0YWJsZSBzaXplIGFuZA0KPiA+ICtkZS1wYWRkaW5nDQo+ID4gZm9yIGVhY2gg c3VjaCBjeWNsaWMNCj4gPiArc2hpZnQgb3V0cHV0Lg0KPiA+ICsNCj4gPiArQSBmbGV4aWJsZSBu dW1iZXIgb2YgUnggYW50ZW5uYXMgYXJlIGJlaW5nIHByb2Nlc3NlZCBpbiBwYXJhbGxlbCB3aXRo DQo+ID4gK3RoZSBzYW1lDQo+ID4gY29uZmlndXJhdGlvbi4NCj4gPiArVGhlIEFQSSBhbGxvd3Mg bW9yZSBnZW5lcmFsbHkgZm9yIGZsZXhpYmlsaXR5IGluIHdoYXQgdGhlIFBNRCBtYXkNCj4gPiAr c3VwcG9ydA0KPiA+IChjYXBhYmlsaXR5IGZsYWdzKSBhbmQNCj4gPiArZmxleGliaWxpdHkgdG8g YWRqdXN0IHNvbWUgb2YgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIHByb2Nlc3NpbmcuDQo+ID4gKw0K PiA+ICtUaGUgb3BlcmF0aW9uL2NhcGFiaWxpdHkgZmxhZ3MgdGhhdCBjYW4gYmUgc2V0IGZvciBl YWNoIEZGVCBvcGVyYXRpb24NCj4gPiArYXJlIGdpdmVuDQo+ID4gYmVsb3cuDQo+ID4gKw0KPiA+ ICsgICoqTk9URToqKiBUaGUgYWN0dWFsIG9wZXJhdGlvbiBmbGFncyB0aGF0IG1heSBiZSB1c2Vk IHdpdGggYQ0KPiA+ICsgc3BlY2lmaWMgIEJCREVWIFBNRCBhcmUgZGVwZW5kZW50IG9uIHRoZSBk cml2ZXIgY2FwYWJpbGl0aWVzIGFzDQo+ID4gKyByZXBvcnRlZCB2aWEgIGBgcnRlX2JiZGV2X2lu Zm9fZ2V0KClgYCwgYW5kIG1heSBiZSBhIHN1YnNldCBvZiB0aG9zZQ0KPiBiZWxvdy4NCj4gPiAr DQo+ID4gKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4gPiArfERlc2NyaXB0aW9uIG9mIEZGVCBjYXBhYmlsaXR5 IGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+DQo+ICsrPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ ID09PQ0KPiA+ID09PT09Kw0KPiA+ICt8UlRFX0JCREVWX0ZGVF9XSU5ET1dJTkcgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4gK3wgU2V0IHRvIGVuYWJs ZS9zdXBwb3J0IHdpbmRvd2luZyBpbiB0aW1lIGRvbWFpbiAgICAgICAgICAgICAgICAgICAgIHwN Cj4gPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+ICt8UlRFX0JCREVWX0ZGVF9DU19BREpVU1RNRU5UICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4gK3wgU2V0IHRvIGVu YWJsZS9zdXBwb3J0ICB0aGUgY3ljbGljIHNoaWZ0IHRpbWUgb2Zmc2V0IGFkanVzdG1lbnQgICAg IHwNCj4gPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+ICt8UlRFX0JCREVWX0ZGVF9ERlRfQllQQVNTICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4gK3wgU2V0IHRv IGJ5cGFzcyB0aGUgREZUIGFuZCB1c2UgZGlyZWN0bHkgdGhlIElERlQgYXMgYW4gb3B0aW9uICAg ICAgIHwNCj4gPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+ICt8UlRFX0JCREVWX0ZGVF9JREZUX0JZUEFT UyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4gK3wgU2V0 IHRvIGJ5cGFzcyB0aGUgSURGVCBhbmQgdXNlIGRpcmVjdGx5IHRoZSBERlQgYXMgYW4gb3B0aW9u ICAgICAgIHwNCj4gPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+ICt8UlRFX0JCREVWX0ZGVF9XSU5ET1dJ TkdfQllQQVNTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4gK3wg U2V0IHRvIGJ5cGFzcyB0aGUgdGltZSBkb21haW4gd2luZG93aW5nICBhcyBhbiBvcHRpb24gICAg ICAgICAgICAgIHwNCj4gPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+ICt8UlRFX0JCREVWX0ZGVF9QT1dF Ul9NRUFTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4g K3wgU2V0IHRvIHByb3ZpZGUgYW4gb3B0aW9uYWwgcG93ZXIgbWVhc3VyZW1lbnQgb2YgdGhlIERG VCBvdXRwdXQgICAgIHwNCj4gPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+ICt8UlRFX0JCREVWX0ZGVF9G UDE2X0lOUFVUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ ID4gK3wgU2V0IGlmIHRoZSBpbnB1dCBkYXRhIHNoYWxsIHVzZSBGUDE2IGZvcm1hdCBpbnN0ZWFk IG9mIElOVDE2ICAgICAgIHwNCj4gPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+ICt8UlRFX0JCREVWX0ZG VF9GUDE2X09VVFBVVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 DQo+ID4gK3wgU2V0IGlmIHRoZSBvdXRwdXQgZGF0YSBzaGFsbCB1c2UgRlAxNiBmb3JtYXQgaW5z dGVhZCBvZiBJTlQxNiAgICAgIHwNCj4gPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+ICsNCj4gPiArVGhl IHN0cnVjdHVyZSBwYXNzZWQgZm9yIGVhY2ggRkZUIG9wZXJhdGlvbiBpcyBnaXZlbiBiZWxvdywg d2l0aCB0aGUNCj4gPiArb3BlcmF0aW9uIGZsYWdzIGZvcm1pbmcgYSBiaXRtYXNrIGluIHRoZSBg YG9wX2ZsYWdzYGAgZmllbGQuDQo+ID4gKw0KPiA+ICsuLiBjb2RlLWJsb2NrOjogYw0KPiA+ICsN Cj4gPiArICAgIHN0cnVjdCBydGVfYmJkZXZfb3BfZmZ0IHsNCj4gPiArICAgICAgICBzdHJ1Y3Qg cnRlX2JiZGV2X29wX2RhdGEgYmFzZV9pbnB1dDsNCj4gPiArICAgICAgICBzdHJ1Y3QgcnRlX2Ji ZGV2X29wX2RhdGEgYmFzZV9vdXRwdXQ7DQo+ID4gKyAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9v cF9kYXRhIHBvd2VyX21lYXNfb3V0cHV0Ow0KPiA+ICsgICAgICAgIHVpbnQzMl90IG9wX2ZsYWdz Ow0KPiA+ICsgICAgICAgIHVpbnQxNl90IGlucHV0X3NlcXVlbmNlX3NpemU7DQo+ID4gKyAgICAg ICAgdWludDE2X3QgaW5wdXRfbGVhZGluZ19wYWRkaW5nOw0KPiA+ICsgICAgICAgIHVpbnQxNl90 IG91dHB1dF9zZXF1ZW5jZV9zaXplOw0KPiA+ICsgICAgICAgIHVpbnQxNl90IG91dHB1dF9sZWFk aW5nX2RlcGFkZGluZzsNCj4gPiArICAgICAgICB1aW50OF90IHdpbmRvd19pbmRleFtSVEVfQkJE RVZfTUFYX0NTXzJdOw0KPiA+ICsgICAgICAgIHVpbnQxNl90IGNzX2JpdG1hcDsNCj4gPiArICAg ICAgICB1aW50OF90IG51bV9hbnRlbm5hc19sb2cyOw0KPiA+ICsgICAgICAgIHVpbnQ4X3QgaWRm dF9sb2cyOw0KPiA+ICsgICAgICAgIHVpbnQ4X3QgZGZ0X2xvZzI7DQo+ID4gKyAgICAgICAgaW50 OF90IGNzX3RpbWVfYWRqdXN0bWVudDsNCj4gPiArICAgICAgICBpbnQ4X3QgaWRmdF9zaGlmdDsN Cj4gPiArICAgICAgICBpbnQ4X3QgZGZ0X3NoaWZ0Ow0KPiA+ICsgICAgICAgIHVpbnQxNl90IG5j c19yZWNpcHJvY2FsOw0KPiA+ICsgICAgICAgIHVpbnQxNl90IHBvd2VyX3NoaWZ0Ow0KPiA+ICsg ICAgICAgIHVpbnQxNl90IGZwMTZfZXhwX2FkanVzdDsNCj4gPiArICAgIH07DQo+IA0KPiBXaHkg aXMgdGhpcyBjb2RlYmxvY2sgYWRkZWQgaW4gdGhpcyBndWlkZT8gSXNuJ3QgaXQgY292ZXJlZCBp biB0aGUgZG94eWdlbiBBUEkNCj4gZG9jPw0KDQpJdCBpcyBidXQgaGVyZSB0aGlzIGRldGFpbGVk IGluIGNvbnRleHQgYW5kIHdpdGggYWRkaXRpb25hbCBkZXRhaWxzLiBOb3RlIHRoYXQgdGhpcyBp cyB0aGUNCmV4YWN0IHNhbWUgZm9ybWF0IGJlaW5nIHVzZWQgZm9yIGFsbCB0aGUgb3RoZXIgZXhp c3Rpbmcgb3BlcmF0aW9ucy4gDQpBcmUgeW91IG9rYXkgdG8ga2VlcCBhcyBpcz8NCg0KPiANCj4g PiArDQo+ID4gK1RoZSBGRlQgcGFyYW1ldGVycyBhcmUgc2V0IG91dCBpbiB0aGUgdGFibGUgYmVs b3cuDQo+ID4gKw0KPiA+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ ID4gK3xQYXJhbWV0ZXIgICAgICAgICAgICAgICAgfERlc2NyaXB0aW9uICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+DQo+ICsrPT09PT09PT09 PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ID09 PQ0KPiA+ID09PT09PT09PT09PT09PT09PT09PT09PT0rDQo+ID4gK3xiYXNlX2lucHV0ICAgICAg ICAgICAgICAgfGlucHV0IGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfA0KPiA+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K PiArDQo+ID4gK3xiYXNlX291dHB1dCAgICAgICAgICAgICAgfG91dHB1dCBkYXRhICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+ICsrLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ID4gK3xwb3dlcl9tZWFzX291dHB1dCAg ICAgICAgfG9wdGlvbmFsIG91dHB1dCBkYXRhIHdpdGggcG93ZXINCj4gbWVhc3VyZW1lbnQgb24N Cj4gPiBERlQgb3V0cHV0ICAgICB8DQo+ID4gKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQo+ICsNCj4gPiArfG9wX2ZsYWdzICAgICAgICAgICAgICAgICB8Yml0bWFzayBvZiBhbGwg YWN0aXZlIG9wZXJhdGlvbiBjYXBhYmlsaXRpZXMgICAgICAgICAgICAgICAgICB8DQo+ID4gKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gPiArfGlucHV0X3NlcXVlbmNl X3NpemUgICAgICB8c2l6ZSBvZiB0aGUgaW5wdXQgc2VxdWVuY2UgaW4gMzItYml0cyBwb2ludHMg cGVyDQo+ID4gYW50ZW5uYSAgICAgIHwNCj4gPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCj4gKw0KPiA+ICt8aW5wdXRfbGVhZGluZ19wYWRkaW5nICAgIHxudW1iZXIgb2YgcG9p bnRzIHBhZGRlZCBhdCB0aGUgc3RhcnQgb2YgaW5wdXQNCj4gZGF0YQ0KPiA+IHwNCj4gPiArKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiA+ICt8b3V0cHV0X3NlcXVlbmNl X3NpemUgICAgIHxzaXplIG9mIHRoZSBvdXRwdXQgc2VxdWVuY2UgcGVyIGFudGVubmEgYW5kDQo+ IGN5Y2xpYw0KPiA+IHNoaWZ0ICAgICAgfA0KPiA+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KPiArDQo+ID4gK3xvdXRwdXRfbGVhZGluZ19kZXBhZGRpbmcgfG51bWJlciBvZiBw b2ludHMgZGUtcGFkZGVkIGF0IHRoZSBzdGFydCBvZg0KPiA+IG91dHB1dCBkYXRhICAgICAgICB8 DQo+ID4gKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gPiArfHdpbmRv d19pbmRleCAgICAgICAgICAgICB8b3B0aW9uYWwgd2luZG93aW5nIHByb2ZpbGUgaW5kZXggdXNl ZCBmb3IgZWFjaA0KPiBjeWNsaWMNCj4gPiBzaGlmdCAgIHwNCj4gPiArKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiA+ICt8Y3NfYml0bWFwICAgICAgICAgICAgICAgIHxi aXRtYXAgb2YgdGhlIGN5Y2xpYyBzaGlmdCBvdXRwdXQgcmVxdWVzdGVkIChMU0IgZm9yDQo+IGlu ZGV4DQo+ID4gMCkgfA0KPiA+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAr DQo+ID4gK3xudW1fYW50ZW5uYXNfbG9nMiAgICAgICAgfG51bWJlciBvZiBhbnRlbm5hcyBhcyBh IGxvZzIgKDEwIG1hcHMgdG8NCj4gMTAyNC4uLikNCj4gPiB8DQo+ID4gKystLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gPiArfGlkZnRfbG9nMiAgICAgICAgICAgICAgICB8 aURGVCBzaXplIGFzIGEgbG9nMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8DQo+ID4gKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gPiAr fGRmdF9sb2cyICAgICAgICAgICAgICAgICB8REZUIHNpemUgYXMgYSBsb2cyICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4gKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gPiArfGNzX3RpbWVfYWRqdXN0bWVudCAgICAgICB8YWRq dXN0bWVudCBvZiB0aW1lIHBvc2l0aW9uIG9mIGFsbCB0aGUgY3ljbGljDQo+IHNoaWZ0DQo+ID4g b3V0cHV0ICAgIHwNCj4gPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0K PiA+ICt8aWRmdF9zaGlmdCAgICAgICAgICAgICAgIHxzaGlmdCBkb3duIG9mIHNpZ25hbCBsZXZl bCBwb3N0IGlERlQgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gPiArKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiA+ICt8ZGZ0X3NoaWZ0ICAgICAgICAgICAgICAg IHxzaGlmdCBkb3duIG9mIHNpZ25hbCBsZXZlbCBwb3N0IERGVCAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwNCj4gPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiA+ ICt8bmNzX3JlY2lwcm9jYWwgICAgICAgICAgIHxpbnZlcnNlIG9mIG1heCBudW1iZXIgb2YgQ1Mg bm9ybWFsaXplZCB0byAxNWIgKGllLg0KPiAyMzENCj4gPiBmb3IgMTIpfA0KPiA+ICsrLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ID4gK3xwb3dlcl9zaGlmdCAgICAgICAg ICAgICAgfHNoaWZ0IGRvd24gb2YgbGV2ZWwgb2YgcG93ZXIgbWVhc3VyZW1lbnQgd2hlbg0KPiBl bmFibGVkDQo+ID4gfA0KPiA+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAr DQo+ID4gK3xmcDE2X2V4cF9hZGp1c3QgICAgICAgICAgfHZhbHVlIGFkZGVkIHRvIEZQMTYgZXhw b25lbnQgYXQgY29udmVyc2lvbiBmcm9tDQo+ID4gSU5UMTYgICAgICAgICB8DQo+ID4gKystLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gPiArDQo+ID4gK1RoZSBtYnVmIGlu cHV0IGBgYmFzZV9pbnB1dGBgIGlzIG1hbmRhdG9yeSBmb3IgYWxsIEJCREVWIFBNRHMgYW5kIGlz DQo+ID4gK3RoZSBpbmNvbWluZyBkYXRhIGZvciB0aGUgcHJvY2Vzc2luZy4gSXRzIHNpemUgbWF5 IG5vdCBmaXQgaW50byBhbg0KPiA+ICthY3R1YWwgbWJ1ZiwgYnV0DQo+ID4gdGhlDQo+ID4gK3N0 cnVjdHVyZSBpcyB1c2VkIHRvIHBhc3MgaW92YSBhZGRyZXNzLg0KPiA+ICtUaGUgbWJ1ZiBvdXRw dXQgYGBvdXRwdXRgYCBpcyBtYW5kYXRvcnkgYW5kIGlzIG91dHB1dCBvZiB0aGUgRkZUDQo+ID4g K3Byb2Nlc3NpbmcNCj4gPiBjaGFpbi4NCj4gPiArRWFjaCBwb2ludCBpcyBhIGNvbXBsZXggbnVt YmVyIG9mIDMyYml0cyA6IGVpdGhlciBhcyAyIElOVDE2IG9yIGFzIDINCj4gPiArRlAxNiBiYXNl ZA0KPiA+IHdoZW4gdGhlIG9wdGlvbg0KPiA+ICtzdXBwb3J0ZWQuDQo+ID4gK1RoZSBkYXRhIGxh eW91dCBpcyBiYXNlZCBvbiBjb250aWd1b3VzIGNvbmNhdGVuYXRpb24gb2Ygb3V0cHV0IGRhdGEN Cj4gPiArZmlyc3QgYnkNCj4gPiBjeWNsaWMgc2hpZnQgdGhlbg0KPiA+ICtieSBhbnRlbm5hLg0K PiA+DQo+ID4gIFNhbXBsZSBjb2RlDQo+ID4gIC0tLS0tLS0tLS0tDQo+ID4gZGlmZiAtLWdpdCBh L2xpYi9iYmRldi9ydGVfYmJkZXYuYyBiL2xpYi9iYmRldi9ydGVfYmJkZXYuYyBpbmRleA0KPiA+ IDM4NjMwYTIuLjlkNjViYTggMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2JiZGV2L3J0ZV9iYmRldi5j DQo+ID4gKysrIGIvbGliL2JiZGV2L3J0ZV9iYmRldi5jDQo+ID4gQEAgLTI0LDcgKzI0LDcgQEAN Cj4gPiAgI2RlZmluZSBERVZfTkFNRSAiQkJERVYiDQo+ID4NCj4gPiAgLyogTnVtYmVyIG9mIHN1 cHBvcnRlZCBvcGVyYXRpb24gdHlwZXMgKi8gLSNkZWZpbmUNCj4gPiBCQkRFVl9PUF9UWVBFX0NP VU5UIDUNCj4gPiArI2RlZmluZSBCQkRFVl9PUF9UWVBFX0NPVU5UIDYNCj4gPg0KPiA+ICAvKiBC QkRldiBsaWJyYXJ5IGxvZ2dpbmcgSUQgKi8NCj4gPiAgUlRFX0xPR19SRUdJU1RFUl9ERUZBVUxU KGJiZGV2X2xvZ3R5cGUsIE5PVElDRSk7IEBAIC04NTIsNg0KPiArODUyLDkgQEANCj4gPiBzdHJ1 Y3QgcnRlX2JiZGV2ICoNCj4gPiAgCWNhc2UgUlRFX0JCREVWX09QX0xEUENfRU5DOg0KPiA+ICAJ CXJlc3VsdCA9IHNpemVvZihzdHJ1Y3QgcnRlX2JiZGV2X2VuY19vcCk7DQo+ID4gIAkJYnJlYWs7 DQo+ID4gKwljYXNlIFJURV9CQkRFVl9PUF9GRlQ6DQo+ID4gKwkJcmVzdWx0ID0gc2l6ZW9mKHN0 cnVjdCBydGVfYmJkZXZfZmZ0X29wKTsNCj4gPiArCQlicmVhazsNCj4gPiAgCWRlZmF1bHQ6DQo+ ID4gIAkJYnJlYWs7DQo+ID4gIAl9DQo+ID4gQEAgLTg3NSw2ICs4NzgsMTAgQEAgc3RydWN0IHJ0 ZV9iYmRldiAqDQo+ID4gIAkJc3RydWN0IHJ0ZV9iYmRldl9lbmNfb3AgKm9wID0gZWxlbWVudDsN Cj4gPiAgCQltZW1zZXQob3AsIDAsIG1lbXBvb2wtPmVsdF9zaXplKTsNCj4gPiAgCQlvcC0+bWVt cG9vbCA9IG1lbXBvb2w7DQo+ID4gKwl9IGVsc2UgaWYgKHR5cGUgPT0gUlRFX0JCREVWX09QX0ZG VCkgew0KPiA+ICsJCXN0cnVjdCBydGVfYmJkZXZfZmZ0X29wICpvcCA9IGVsZW1lbnQ7DQo+ID4g KwkJbWVtc2V0KG9wLCAwLCBtZW1wb29sLT5lbHRfc2l6ZSk7DQo+ID4gKwkJb3AtPm1lbXBvb2wg PSBtZW1wb29sOw0KPiA+ICAJfQ0KPiA+ICB9DQo+ID4NCj4gPiBAQCAtMTEyNSw2ICsxMTMyLDcg QEAgc3RydWN0IHJ0ZV9tZW1wb29sICoNCj4gPiAgCQkiUlRFX0JCREVWX09QX1RVUkJPX0VOQyIs DQo+ID4gIAkJIlJURV9CQkRFVl9PUF9MRFBDX0RFQyIsDQo+ID4gIAkJIlJURV9CQkRFVl9PUF9M RFBDX0VOQyIsDQo+ID4gKwkJIlJURV9CQkRFVl9PUF9GRlQiLA0KPiA+ICAJfTsNCj4gPg0KPiA+ ICAJaWYgKG9wX3R5cGUgPCBCQkRFVl9PUF9UWVBFX0NPVU5UKQ0KPiA+IGRpZmYgLS1naXQgYS9s aWIvYmJkZXYvcnRlX2JiZGV2LmggYi9saWIvYmJkZXYvcnRlX2JiZGV2LmggaW5kZXgNCj4gPiBh Yzk0MWQ2Li5lZDUyOGI4IDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9iYmRldi9ydGVfYmJkZXYuaA0K PiA+ICsrKyBiL2xpYi9iYmRldi9ydGVfYmJkZXYuaA0KPiA+IEBAIC00MDEsNiArNDAxLDEyIEBA IHR5cGVkZWYgdWludDE2X3QNCj4gKCpydGVfYmJkZXZfZW5xdWV1ZV9kZWNfb3BzX3QpKA0KPiA+ ICAJCXN0cnVjdCBydGVfYmJkZXZfZGVjX29wICoqb3BzLA0KPiA+ICAJCXVpbnQxNl90IG51bSk7 DQo+ID4NCj4gPiArLyoqIEBpbnRlcm5hbCBFbnF1ZXVlIGZmdCBvcGVyYXRpb25zIGZvciBwcm9j ZXNzaW5nIG9uIHF1ZXVlIG9mIGENCj4gPiArZGV2aWNlLiAqLyB0eXBlZGVmIHVpbnQxNl90ICgq cnRlX2JiZGV2X2VucXVldWVfZmZ0X29wc190KSgNCj4gPiArCQlzdHJ1Y3QgcnRlX2JiZGV2X3F1 ZXVlX2RhdGEgKnFfZGF0YSwNCj4gPiArCQlzdHJ1Y3QgcnRlX2JiZGV2X2ZmdF9vcCAqKm9wcywN Cj4gPiArCQl1aW50MTZfdCBudW0pOw0KPiA+ICsNCj4gPiAgLyoqIEBpbnRlcm5hbCBEZXF1ZXVl IGVuY29kZSBvcGVyYXRpb25zIGZyb20gYSBxdWV1ZSBvZiBhIGRldmljZS4gKi8NCj4gPiB0eXBl ZGVmIHVpbnQxNl90ICgqcnRlX2JiZGV2X2RlcXVldWVfZW5jX29wc190KSgNCj4gPiAgCQlzdHJ1 Y3QgcnRlX2JiZGV2X3F1ZXVlX2RhdGEgKnFfZGF0YSwgQEAgLTQxMSw2ICs0MTcsMTENCj4gQEAg dHlwZWRlZg0KPiA+IHVpbnQxNl90ICgqcnRlX2JiZGV2X2RlcXVldWVfZGVjX29wc190KSgNCj4g PiAgCQlzdHJ1Y3QgcnRlX2JiZGV2X3F1ZXVlX2RhdGEgKnFfZGF0YSwNCj4gPiAgCQlzdHJ1Y3Qg cnRlX2JiZGV2X2RlY19vcCAqKm9wcywgdWludDE2X3QgbnVtKTsNCj4gPg0KPiA+ICsvKiogQGlu dGVybmFsIERlcXVldWUgZmZ0IG9wZXJhdGlvbnMgZnJvbSBhIHF1ZXVlIG9mIGEgZGV2aWNlLiAq Lw0KPiA+ICt0eXBlZGVmIHVpbnQxNl90ICgqcnRlX2JiZGV2X2RlcXVldWVfZmZ0X29wc190KSgN Cj4gPiArCQlzdHJ1Y3QgcnRlX2JiZGV2X3F1ZXVlX2RhdGEgKnFfZGF0YSwNCj4gPiArCQlzdHJ1 Y3QgcnRlX2JiZGV2X2ZmdF9vcCAqKm9wcywgdWludDE2X3QgbnVtKTsNCj4gPiArDQo+ID4gICNk ZWZpbmUgUlRFX0JCREVWX05BTUVfTUFYX0xFTiAgNjQgIC8qKjwgTWF4IGxlbmd0aCBvZiBkZXZp Y2UNCj4gbmFtZSAqLw0KPiA+DQo+ID4gIC8qKg0KPiA+IEBAIC00NTksNiArNDcwLDEwIEBAIHN0 cnVjdCBfX3J0ZV9jYWNoZV9hbGlnbmVkIHJ0ZV9iYmRldiB7DQo+ID4gIAlydGVfYmJkZXZfZGVx dWV1ZV9lbmNfb3BzX3QgZGVxdWV1ZV9sZHBjX2VuY19vcHM7DQo+ID4gIAkvKiogRGVxdWV1ZSBk ZWNvZGUgZnVuY3Rpb24gKi8NCj4gPiAgCXJ0ZV9iYmRldl9kZXF1ZXVlX2RlY19vcHNfdCBkZXF1 ZXVlX2xkcGNfZGVjX29wczsNCj4gPiArCS8qKiBFbnF1ZXVlIEZGVCBmdW5jdGlvbiAqLw0KPiA+ ICsJcnRlX2JiZGV2X2VucXVldWVfZmZ0X29wc190IGVucXVldWVfZmZ0X29wczsNCj4gPiArCS8q KiBEZXF1ZXVlIEZGVCBmdW5jdGlvbiAqLw0KPiA+ICsJcnRlX2JiZGV2X2RlcXVldWVfZmZ0X29w c190IGRlcXVldWVfZmZ0X29wczsNCj4gPiAgCWNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BzICpk ZXZfb3BzOyAgLyoqPCBGdW5jdGlvbnMgZXhwb3J0ZWQgYnkNCj4gUE1EDQo+ID4gKi8NCj4gPiAg CXN0cnVjdCBydGVfYmJkZXZfZGF0YSAqZGF0YTsgIC8qKjwgUG9pbnRlciB0byBkZXZpY2UgZGF0 YSAqLw0KPiA+ICAJZW51bSBydGVfYmJkZXZfc3RhdGUgc3RhdGU7ICAvKio8IElmIGRldmljZSBp cyBjdXJyZW50bHkgdXNlZCBvciBub3QNCj4gPiAqLyBAQCAtNTkxLDYgKzYwNiwzNiBAQCBzdHJ1 Y3QgX19ydGVfY2FjaGVfYWxpZ25lZCBydGVfYmJkZXYgew0KPiA+ICAJcmV0dXJuIGRldi0+ZW5x dWV1ZV9sZHBjX2RlY19vcHMocV9kYXRhLCBvcHMsIG51bV9vcHMpOyAgfQ0KPiA+DQo+ID4gKy8q Kg0KPiA+ICsgKiBFbnF1ZXVlIGEgYnVyc3Qgb2YgZmZ0IG9wZXJhdGlvbnMgdG8gYSBxdWV1ZSBv ZiB0aGUgZGV2aWNlLg0KPiANCj4gUGxlYXNlIGJlIGNvbnNpc3RlbnQgb2YgdXNpbmcgZmZ0IG9y IEZGVCBpbiBjb21tZW50cy4gSXQgc2hvdWxkIGJlIEZGVCBhbHdheXMNCj4gaW4gY29tbWVudHMu DQoNClRoYW5rcywgZml4aW5nIGluIHY4Lg0KDQo+IA0KPiA+ICsgKiBUaGlzIGZ1bmN0aW9ucyBv bmx5IGVucXVldWVzIGFzIG1hbnkgb3BlcmF0aW9ucyBhcyBjdXJyZW50bHkNCj4gPiArIHBvc3Np YmxlIGFuZA0KPiA+ICsgKiBkb2VzIG5vdCBibG9jayB1bnRpbCBAcCBudW1fb3BzIGVudHJpZXMg aW4gdGhlIHF1ZXVlIGFyZSBhdmFpbGFibGUuDQo+ID4gKyAqIFRoaXMgZnVuY3Rpb24gZG9lcyBu b3QgcHJvdmlkZSBhbnkgZXJyb3Igbm90aWZpY2F0aW9uIHRvIGF2b2lkIHRoZQ0KPiA+ICsgKiBj b3JyZXNwb25kaW5nIG92ZXJoZWFkLg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFyYW0gZGV2X2lkDQo+ ID4gKyAqICAgVGhlIGlkZW50aWZpZXIgb2YgdGhlIGRldmljZS4NCj4gPiArICogQHBhcmFtIHF1 ZXVlX2lkDQo+ID4gKyAqICAgVGhlIGluZGV4IG9mIHRoZSBxdWV1ZS4NCj4gPiArICogQHBhcmFt IG9wcw0KPiA+ICsgKiAgIFBvaW50ZXIgYXJyYXkgY29udGFpbmluZyBvcGVyYXRpb25zIHRvIGJl IGVucXVldWVkIE11c3QgaGF2ZSBhdCBsZWFzdA0KPiA+ICsgKiAgIEBwIG51bV9vcHMgZW50cmll cw0KPiA+ICsgKiBAcGFyYW0gbnVtX29wcw0KPiA+ICsgKiAgIFRoZSBtYXhpbXVtIG51bWJlciBv ZiBvcGVyYXRpb25zIHRvIGVucXVldWUuDQo+ID4gKyAqDQo+ID4gKyAqIEByZXR1cm4NCj4gPiAr ICogICBUaGUgbnVtYmVyIG9mIG9wZXJhdGlvbnMgYWN0dWFsbHkgZW5xdWV1ZWQgKHRoaXMgaXMg dGhlIG51bWJlciBvZg0KPiA+IHByb2Nlc3NlZA0KPiA+ICsgKiAgIGVudHJpZXMgaW4gdGhlIEBw IG9wcyBhcnJheSkuDQo+ID4gKyAqLw0KPiA+ICtfX3J0ZV9leHBlcmltZW50YWwNCj4gPiArc3Rh dGljIGlubGluZSB1aW50MTZfdA0KPiA+ICtydGVfYmJkZXZfZW5xdWV1ZV9mZnRfb3BzKHVpbnQx Nl90IGRldl9pZCwgdWludDE2X3QgcXVldWVfaWQsDQo+ID4gKwkJc3RydWN0IHJ0ZV9iYmRldl9m ZnRfb3AgKipvcHMsIHVpbnQxNl90IG51bV9vcHMpIHsNCj4gPiArCXN0cnVjdCBydGVfYmJkZXYg KmRldiA9ICZydGVfYmJkZXZfZGV2aWNlc1tkZXZfaWRdOw0KPiA+ICsJc3RydWN0IHJ0ZV9iYmRl dl9xdWV1ZV9kYXRhICpxX2RhdGEgPSAmZGV2LT5kYXRhLQ0KPiA+ID5xdWV1ZXNbcXVldWVfaWRd Ow0KPiA+ICsJcmV0dXJuIGRldi0+ZW5xdWV1ZV9mZnRfb3BzKHFfZGF0YSwgb3BzLCBudW1fb3Bz KTsgfQ0KPiA+DQo+ID4gIC8qKg0KPiA+ICAgKiBEZXF1ZXVlIGEgYnVyc3Qgb2YgcHJvY2Vzc2Vk IGVuY29kZSBvcGVyYXRpb25zIGZyb20gYSBxdWV1ZSBvZiB0aGUNCj4gZGV2aWNlLg0KPiA+IEBA IC03MTYsNiArNzYxLDM3IEBAIHN0cnVjdCBfX3J0ZV9jYWNoZV9hbGlnbmVkIHJ0ZV9iYmRldiB7 DQo+ID4gIAlyZXR1cm4gZGV2LT5kZXF1ZXVlX2xkcGNfZGVjX29wcyhxX2RhdGEsIG9wcywgbnVt X29wcyk7ICB9DQo+ID4NCj4gPiArLyoqDQo+ID4gKyAqIERlcXVldWUgYSBidXJzdCBvZiBmZnQg b3BlcmF0aW9ucyBmcm9tIGEgcXVldWUgb2YgdGhlIGRldmljZS4NCj4gPiArICogVGhpcyBmdW5j dGlvbnMgcmV0dXJucyBvbmx5IHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mIHRoZSBxdWV1ZSwgYW5k DQo+ID4gK2RvZXMgbm90DQo+ID4gKyAqIGJsb2NrIHVudGlsIEAgbnVtX29wcyBpcyBhdmFpbGFi bGUuDQo+ID4gKyAqIFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgcHJvdmlkZSBhbnkgZXJyb3Igbm90 aWZpY2F0aW9uIHRvIGF2b2lkIHRoZQ0KPiA+ICsgKiBjb3JyZXNwb25kaW5nIG92ZXJoZWFkLg0K PiA+ICsgKg0KPiA+ICsgKiBAcGFyYW0gZGV2X2lkDQo+ID4gKyAqICAgVGhlIGlkZW50aWZpZXIg b2YgdGhlIGRldmljZS4NCj4gPiArICogQHBhcmFtIHF1ZXVlX2lkDQo+ID4gKyAqICAgVGhlIGlu ZGV4IG9mIHRoZSBxdWV1ZS4NCj4gPiArICogQHBhcmFtIG9wcw0KPiA+ICsgKiAgIFBvaW50ZXIg YXJyYXkgd2hlcmUgb3BlcmF0aW9ucyB3aWxsIGJlIGRlcXVldWVkIHRvLiBNdXN0IGhhdmUgYXQN Cj4gbGVhc3QNCj4gPiArICogICBAcCBudW1fb3BzIGVudHJpZXMNCj4gPiArICogQHBhcmFtIG51 bV9vcHMNCj4gPiArICogICBUaGUgbWF4aW11bSBudW1iZXIgb2Ygb3BlcmF0aW9ucyB0byBkZXF1 ZXVlLg0KPiA+ICsgKg0KPiA+ICsgKiBAcmV0dXJuDQo+ID4gKyAqICAgVGhlIG51bWJlciBvZiBv cGVyYXRpb25zIGFjdHVhbGx5IGRlcXVldWVkICh0aGlzIGlzIHRoZSBudW1iZXIgb2YNCj4gZW50 cmllcw0KPiA+ICsgKiAgIGNvcGllZCBpbnRvIHRoZSBAcCBvcHMgYXJyYXkpLg0KPiA+ICsgKi8N Cj4gPiArX19ydGVfZXhwZXJpbWVudGFsDQo+ID4gK3N0YXRpYyBpbmxpbmUgdWludDE2X3QNCj4g PiArcnRlX2JiZGV2X2RlcXVldWVfZmZ0X29wcyh1aW50MTZfdCBkZXZfaWQsIHVpbnQxNl90IHF1 ZXVlX2lkLA0KPiA+ICsJCXN0cnVjdCBydGVfYmJkZXZfZmZ0X29wICoqb3BzLCB1aW50MTZfdCBu dW1fb3BzKSB7DQo+ID4gKwlzdHJ1Y3QgcnRlX2JiZGV2ICpkZXYgPSAmcnRlX2JiZGV2X2Rldmlj ZXNbZGV2X2lkXTsNCj4gPiArCXN0cnVjdCBydGVfYmJkZXZfcXVldWVfZGF0YSAqcV9kYXRhID0g JmRldi0+ZGF0YS0NCj4gPiA+cXVldWVzW3F1ZXVlX2lkXTsNCj4gPiArCXJldHVybiBkZXYtPmRl cXVldWVfZmZ0X29wcyhxX2RhdGEsIG9wcywgbnVtX29wcyk7IH0NCj4gPiArDQo+ID4gIC8qKiBE ZWZpbml0aW9ucyBvZiBkZXZpY2UgZXZlbnQgdHlwZXMgKi8gIGVudW0gcnRlX2JiZGV2X2V2ZW50 X3R5cGUgew0KPiA+ICAJUlRFX0JCREVWX0VWRU5UX1VOS05PV04sICAvKio8IHVua25vd24gZXZl bnQgdHlwZSAqLyBkaWZmIC0tDQo+IGdpdA0KPiA+IGEvbGliL2JiZGV2L3J0ZV9iYmRldl9vcC5o IGIvbGliL2JiZGV2L3J0ZV9iYmRldl9vcC5oIGluZGV4DQo+ID4gY2Q4MjQxOC4uYWZhMWE3MSAx MDA2NDQNCj4gPiAtLS0gYS9saWIvYmJkZXYvcnRlX2JiZGV2X29wLmgNCj4gPiArKysgYi9saWIv YmJkZXYvcnRlX2JiZGV2X29wLmgNCj4gPiBAQCAtNDcsNiArNDcsOCBAQA0KPiA+ICAjZGVmaW5l IFJURV9CQkRFVl9UVVJCT19NQVhfQ09ERV9CTE9DS1MgKDY0KQ0KPiA+ICAvKiBMRFBDOiAgTWF4 aW11bSBudW1iZXIgb2YgQ29kZSBCbG9ja3MgaW4gVHJhbnNwb3J0IEJsb2NrLiovDQo+ID4gI2Rl ZmluZSBSVEVfQkJERVZfTERQQ19NQVhfQ09ERV9CTE9DS1MgKDI1NikNCj4gPiArLyogMTIgQ1Mg bWF4aW11bSAqLw0KPiA+ICsjZGVmaW5lIFJURV9CQkRFVl9NQVhfQ1NfMiAoNikNCj4gPg0KPiA+ ICAvKiogRmxhZ3MgZm9yIHR1cmJvIGRlY29kZXIgb3BlcmF0aW9uIGFuZCBjYXBhYmlsaXR5IHN0 cnVjdHVyZSAqLw0KPiA+IGVudW0gcnRlX2JiZGV2X29wX3RkX2ZsYWdfYml0bWFza3MgeyBAQCAt MjExLDYgKzIxMywyNiBAQCBlbnVtDQo+ID4gcnRlX2JiZGV2X29wX2xkcGNlbmNfZmxhZ19iaXRt YXNrcyB7DQo+ID4gIAlSVEVfQkJERVZfTERQQ19FTkNfQ09OQ0FURU5BVElPTiA9ICgxVUxMIDw8 IDcpICB9Ow0KPiA+DQo+ID4gKy8qKiBGbGFncyBmb3IgREZUIG9wZXJhdGlvbiBhbmQgY2FwYWJp bGl0eSBzdHJ1Y3R1cmUgKi8gZW51bQ0KPiA+ICtydGVfYmJkZXZfb3BfZmZ0X2ZsYWdfYml0bWFz a3Mgew0KPiA+ICsJLyoqIEZsZXhpYmxlIHdpbmRvd2luZyBjYXBhYmlsaXR5ICovDQo+ID4gKwlS VEVfQkJERVZfRkZUX1dJTkRPV0lORyA9ICgxVUxMIDw8IDApLA0KPiA+ICsJLyoqIEZsZXhpYmxl IGFkanVzdG1lbnQgb2YgQ3ljbGljIFNoaWZ0IHRpbWUgb2Zmc2V0ICovDQo+ID4gKwlSVEVfQkJE RVZfRkZUX0NTX0FESlVTVE1FTlQgPSAoMVVMTCA8PCAxKSwNCj4gPiArCS8qKiBTZXQgZm9yIGJ5 cGFzcyB0aGUgREZUIGFuZCBnZXQgZGlyZWN0bHkgaW50byBpREZUIGlucHV0ICovDQo+ID4gKwlS VEVfQkJERVZfRkZUX0RGVF9CWVBBU1MgPSAoMVVMTCA8PCAyKSwNCj4gPiArCS8qKiBTZXQgZm9y IGJ5cGFzcyB0aGUgSURGVCBhbmQgZ2V0IGRpcmVjdGx5IHRoZSBERlQgb3V0cHV0ICovDQo+ID4g KwlSVEVfQkJERVZfRkZUX0lERlRfQllQQVNTID0gKDFVTEwgPDwgMyksDQo+ID4gKwkvKiogU2V0 IGZvciBieXBhc3MgdGltZSBkb21haW4gd2luZG93aW5nICovDQo+ID4gKwlSVEVfQkJERVZfRkZU X1dJTkRPV0lOR19CWVBBU1MgPSAoMVVMTCA8PCA0KSwNCj4gPiArCS8qKiBTZXQgZm9yIG9wdGlv bmFsIHBvd2VyIG1lYXN1cmVtZW50IG9uIERGVCBvdXRwdXQgKi8NCj4gPiArCVJURV9CQkRFVl9G RlRfUE9XRVJfTUVBUyA9ICgxVUxMIDw8IDUpLA0KPiA+ICsJLyoqIFNldCBpZiB0aGUgaW5wdXQg ZGF0YSB1c2VkIEZQMTYgZm9ybWF0ICovDQo+ID4gKwlSVEVfQkJERVZfRkZUX0ZQMTZfSU5QVVQg PSAoMVVMTCA8PCA2KSwNCj4gPiArCS8qKiAgU2V0IGlmIHRoZSBvdXRwdXQgZGF0YSB1c2VzIEZQ MTYgZm9ybWF0ICAqLw0KPiA+ICsJUlRFX0JCREVWX0ZGVF9GUDE2X09VVFBVVCA9ICgxVUxMIDw8 IDcpIH07DQo+ID4gKw0KPiA+ICAvKiogRmxhZ3MgZm9yIHRoZSBDb2RlIEJsb2NrL1RyYW5zcG9y dCBibG9jayBtb2RlICAqLyAgZW51bQ0KPiA+IHJ0ZV9iYmRldl9vcF9jYl9tb2RlIHsNCj4gPiAg CS8qKiBPbmUgb3BlcmF0aW9uIGlzIG9uZSBvciBmcmFjdGlvbiBvZiBvbmUgdHJhbnNwb3J0IGJs b2NrICAqLyBAQA0KPiA+IC02ODksNiArNzExLDU1IEBAIHN0cnVjdCBydGVfYmJkZXZfb3BfbGRw Y19lbmMgew0KPiA+ICAJfTsNCj4gPiAgfTsNCj4gPg0KPiA+ICsvKiogT3BlcmF0aW9uIHN0cnVj dHVyZSBmb3IgRkZUIHByb2Nlc3NpbmcuDQo+ID4gKyAqDQo+ID4gKyAqIFRoZSBvcGVyYXRpb24g cHJvY2Vzc2VzIHRoZSBkYXRhIGZvciBtdWx0aXBsZSBhbnRlbm5hcyBpbiBhIHNpbmdsZQ0KPiA+ ICtjYWxsDQo+ID4gKyAqICguaS5lIGZvciBhbGwgdGhlIFJFcyBiZWxvbmdpbmcgdG8gYSBnaXZl biBTUlMgc2VxdWVuY2UgZm9yDQo+ID4gK2luc3RhbmNlKQ0KPiA+ICsgKg0KPiA+ICsgKiBUaGUg b3V0cHV0IG1idWYgZGF0YSBzdHJ1Y3R1cmUgaXMgZXhwZWN0ZWQgdG8gYmUgYWxsb2NhdGVkIGJ5 IHRoZQ0KPiA+ICsgKiBhcHBsaWNhdGlvbiB3aXRoIGVub3VnaCByb29tIGZvciB0aGUgb3V0cHV0 IGRhdGEuDQo+ID4gKyAqLw0KPiA+ICtzdHJ1Y3QgcnRlX2JiZGV2X29wX2ZmdCB7DQo+ID4gKwkv KiogSW5wdXQgZGF0YSBzdGFydGluZyBmcm9tIGZpcnN0IGFudGVubmEgKi8NCj4gPiArCXN0cnVj dCBydGVfYmJkZXZfb3BfZGF0YSBiYXNlX2lucHV0Ow0KPiA+ICsJLyoqIE91dHB1dCBkYXRhIHN0 YXJ0aW5nIGZyb20gZmlyc3QgYW50ZW5uYSBhbmQgZmlyc3QgY3ljbGljIHNoaWZ0ICovDQo+ID4g KwlzdHJ1Y3QgcnRlX2JiZGV2X29wX2RhdGEgYmFzZV9vdXRwdXQ7DQo+ID4gKwkvKiogT3B0aW9u YWwgcG93ZXIgbWVhc3VyZW1lbnQgb3V0cHV0IGRhdGEgKi8NCj4gPiArCXN0cnVjdCBydGVfYmJk ZXZfb3BfZGF0YSBwb3dlcl9tZWFzX291dHB1dDsNCj4gPiArCS8qKiBGbGFncyBmcm9tIHJ0ZV9i YmRldl9vcF9mZnRfZmxhZ19iaXRtYXNrcyAqLw0KPiA+ICsJdWludDMyX3Qgb3BfZmxhZ3M7DQo+ ID4gKwkvKiogSW5wdXQgc2VxdWVuY2Ugc2l6ZSBpbiAzMi1iaXRzIHBvaW50cyAqLw0KPiA+ICsJ dWludDE2X3QgaW5wdXRfc2VxdWVuY2Vfc2l6ZTsNCj4gPiArCS8qKiBQYWRkaW5nIGF0IHRoZSBz dGFydCBvZiB0aGUgc2VxdWVuY2UgKi8NCj4gPiArCXVpbnQxNl90IGlucHV0X2xlYWRpbmdfcGFk ZGluZzsNCj4gPiArCS8qKiBPdXRwdXQgc2VxdWVuY2Ugc2l6ZSBpbiAzMi1iaXRzIHBvaW50cyAq Lw0KPiA+ICsJdWludDE2X3Qgb3V0cHV0X3NlcXVlbmNlX3NpemU7DQo+ID4gKwkvKiogRGVwYWRk aW5nIGF0IHRoZSBzdGFydCBvZiB0aGUgREZUIG91dHB1dCAqLw0KPiA+ICsJdWludDE2X3Qgb3V0 cHV0X2xlYWRpbmdfZGVwYWRkaW5nOw0KPiA+ICsJLyoqIFdpbmRvdyBpbmRleCBiZWluZyB1c2Vk IGZvciBlYWNoIGN5Y2xpYyBzaGlmdCBvdXRwdXQgKi8NCj4gPiArCXVpbnQ4X3Qgd2luZG93X2lu ZGV4W1JURV9CQkRFVl9NQVhfQ1NfMl07DQo+ID4gKwkvKiogQml0bWFwIG9mIHRoZSBjeWNsaWMg c2hpZnQgb3V0cHV0IHJlcXVlc3RlZCAqLw0KPiA+ICsJdWludDE2X3QgY3NfYml0bWFwOw0KPiA+ ICsJLyoqIE51bWJlciBvZiBhbnRlbm5hcyBhcyBhIGxvZzIg4oCTIDggdG8gMTI4ICovDQo+ID4g Kwl1aW50OF90IG51bV9hbnRlbm5hc19sb2cyOw0KPiA+ICsJLyoqIGlERlQgc2l6ZSBhcyBhIGxv ZzIgLSAzMiB0byAyMDQ4ICovDQo+ID4gKwl1aW50OF90IGlkZnRfbG9nMjsNCj4gPiArCS8qKiBE RlQgc2l6ZSBhcyBhIGxvZzIgLSA4IHRvIDIwNDggKi8NCj4gPiArCXVpbnQ4X3QgZGZ0X2xvZzI7 DQo+ID4gKwkvKiogQWRqdXN0bWVudCBvZiBwb3NpdGlvbiBvZiB0aGUgY3ljbGljIHNoaWZ0cyAt IC0zMSB0byAzMSAqLw0KPiA+ICsJaW50OF90IGNzX3RpbWVfYWRqdXN0bWVudDsNCj4gPiArCS8q KiBpREZUIHNoaWZ0IGRvd24gKi8NCj4gPiArCWludDhfdCBpZGZ0X3NoaWZ0Ow0KPiA+ICsJLyoq IERGVCBzaGlmdCBkb3duICovDQo+ID4gKwlpbnQ4X3QgZGZ0X3NoaWZ0Ow0KPiA+ICsJLyoqIE5D UyByZWNpcHJvY2FsIGZhY3RvciAgKi8NCj4gPiArCXVpbnQxNl90IG5jc19yZWNpcHJvY2FsOw0K PiA+ICsJLyoqIHBvd2VyIG1lYXN1cmVtZW50IG91dCBzaGlmdCBkb3duICovDQo+ID4gKwl1aW50 MTZfdCBwb3dlcl9zaGlmdDsNCj4gPiArCS8qKiBBZGp1c3QgdGhlIEZQNiBleHBvbmVudCBmb3Ig SU5UPC0+RlAxNiBjb252ZXJzaW9uICovDQo+ID4gKwl1aW50MTZfdCBmcDE2X2V4cF9hZGp1c3Q7 DQo+ID4gK307DQo+ID4gKw0KPiA+ICAvKiogTGlzdCBvZiB0aGUgY2FwYWJpbGl0aWVzIGZvciB0 aGUgVHVyYm8gRGVjb2RlciAqLyAgc3RydWN0DQo+ID4gcnRlX2JiZGV2X29wX2NhcF90dXJib19k ZWMgew0KPiA+ICAJLyoqIEZsYWdzIGZyb20gcnRlX2JiZGV2X29wX3RkX2ZsYWdfYml0bWFza3Mg Ki8gQEAgLTc0MSw2DQo+ICs4MTIsMTYgQEANCj4gPiBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcF9s ZHBjX2VuYyB7DQo+ID4gIAl1aW50MTZfdCBudW1fYnVmZmVyc19kc3Q7DQo+ID4gIH07DQo+ID4N Cj4gPiArLyoqIExpc3Qgb2YgdGhlIGNhcGFiaWxpdGllcyBmb3IgdGhlIEZGVCAqLyBzdHJ1Y3QN Cj4gPiArcnRlX2JiZGV2X29wX2NhcF9mZnQgew0KPiA+ICsJLyoqIEZsYWdzIGZyb20gcnRlX2Ji ZGV2X29wX2ZmdF9mbGFnX2JpdG1hc2tzICovDQo+ID4gKwl1aW50MzJfdCBjYXBhYmlsaXR5X2Zs YWdzOw0KPiA+ICsJLyoqIE51bSBpbnB1dCBjb2RlIGJsb2NrIGJ1ZmZlcnMgKi8NCj4gPiArCXVp bnQxNl90IG51bV9idWZmZXJzX3NyYzsNCj4gPiArCS8qKiBOdW0gb3V0cHV0IGNvZGUgYmxvY2sg YnVmZmVycyAqLw0KPiA+ICsJdWludDE2X3QgbnVtX2J1ZmZlcnNfZHN0Ow0KPiA+ICt9Ow0KPiA+ ICsNCj4gPiAgLyoqIERpZmZlcmVudCBvcGVyYXRpb24gdHlwZXMgc3VwcG9ydGVkIGJ5IHRoZSBk ZXZpY2UgKi8gIGVudW0NCj4gPiBydGVfYmJkZXZfb3BfdHlwZSB7DQo+ID4gIAlSVEVfQkJERVZf T1BfTk9ORSwgIC8qKjwgRHVtbXkgb3BlcmF0aW9uIHRoYXQgZG9lcyBub3RoaW5nDQo+ICovIEBA DQo+ID4gLTc0OCw2ICs4MjksNyBAQCBlbnVtIHJ0ZV9iYmRldl9vcF90eXBlIHsNCj4gPiAgCVJU RV9CQkRFVl9PUF9UVVJCT19FTkMsICAvKio8IFR1cmJvIGVuY29kZSAqLw0KPiA+ICAJUlRFX0JC REVWX09QX0xEUENfREVDLCAgLyoqPCBMRFBDIGRlY29kZSAqLw0KPiA+ICAJUlRFX0JCREVWX09Q X0xEUENfRU5DLCAgLyoqPCBMRFBDIGVuY29kZSAqLw0KPiA+ICsJUlRFX0JCREVWX09QX0ZGVCwg IC8qKjwgRkZUICovDQo+ID4gIAlSVEVfQkJERVZfT1BfVFlQRV9QQURERURfTUFYID0gOCwgIC8q KjwgTWF4aW11bSBvcCB0eXBlDQo+IG51bWJlcg0KPiA+IGluY2x1ZGluZyBwYWRkaW5nICovICB9 Ow0KPiA+DQo+ID4gQEAgLTc5MSw2ICs4NzMsMTggQEAgc3RydWN0IHJ0ZV9iYmRldl9kZWNfb3Ag ew0KPiA+ICAJfTsNCj4gPiAgfTsNCj4gPg0KPiA+ICsvKiogU3RydWN0dXJlIHNwZWNpZnlpbmcg YSBzaW5nbGUgZmZ0IG9wZXJhdGlvbiAqLyBzdHJ1Y3QNCj4gPiArcnRlX2JiZGV2X2ZmdF9vcCB7 DQo+ID4gKwkvKiogU3RhdHVzIG9mIG9wZXJhdGlvbiB0aGF0IHdhcyBwZXJmb3JtZWQgKi8NCj4g PiArCWludCBzdGF0dXM7DQo+ID4gKwkvKiogTWVtcG9vbCB3aGljaCBvcCBpbnN0YW5jZSBpcyBp biAqLw0KPiA+ICsJc3RydWN0IHJ0ZV9tZW1wb29sICptZW1wb29sOw0KPiA+ICsJLyoqIE9wYXF1 ZSBwb2ludGVyIGZvciB1c2VyIGRhdGEgKi8NCj4gPiArCXZvaWQgKm9wYXF1ZV9kYXRhOw0KPiA+ ICsJLyoqIENvbnRhaW5zIHR1cmJvIGRlY29kZXIgc3BlY2lmaWMgcGFyYW1ldGVycyAqLw0KPiA+ ICsJc3RydWN0IHJ0ZV9iYmRldl9vcF9mZnQgZmZ0Ow0KPiA+ICt9Ow0KPiA+ICsNCj4gPiAgLyoq IE9wZXJhdGlvbiBjYXBhYmlsaXRpZXMgc3VwcG9ydGVkIGJ5IGEgZGV2aWNlICovICBzdHJ1Y3QN Cj4gPiBydGVfYmJkZXZfb3BfY2FwIHsNCj4gPiAgCWVudW0gcnRlX2JiZGV2X29wX3R5cGUgdHlw ZTsgIC8qKjwgVHlwZSBvZiBvcGVyYXRpb24gKi8gQEAgLQ0KPiA3OTksNg0KPiA+ICs4OTMsNyBA QCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCB7DQo+ID4gIAkJc3RydWN0IHJ0ZV9iYmRldl9vcF9j YXBfdHVyYm9fZW5jIHR1cmJvX2VuYzsNCj4gPiAgCQlzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcF9s ZHBjX2RlYyBsZHBjX2RlYzsNCj4gPiAgCQlzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcF9sZHBjX2Vu YyBsZHBjX2VuYzsNCj4gPiArCQlzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcF9mZnQgZmZ0Ow0KPiA+ ICAJfSBjYXA7ICAvKio8IE9wZXJhdGlvbi10eXBlIHNwZWNpZmljIGNhcGFiaWxpdGllcyAqLyAg fTsNCj4gPg0KPiA+IEBAIC05MTgsNiArMTAxMyw0MiBAQCBzdHJ1Y3QgcnRlX21lbXBvb2wgKiAg fQ0KPiA+DQo+ID4gIC8qKg0KPiA+ICsgKiBCdWxrIGFsbG9jYXRlIGZmdCBvcGVyYXRpb25zIGZy b20gYSBtZW1wb29sIHdpdGggcGFyYW1ldGVyIGRlZmF1bHRzDQo+IHJlc2V0Lg0KPiA+ICsgKg0K PiA+ICsgKiBAcGFyYW0gbWVtcG9vbA0KPiA+ICsgKiAgIE9wZXJhdGlvbiBtZW1wb29sLCBjcmVh dGVkIGJ5IHJ0ZV9iYmRldl9vcF9wb29sX2NyZWF0ZSgpLg0KPiA+ICsgKiBAcGFyYW0gb3BzDQo+ ID4gKyAqICAgT3V0cHV0IGFycmF5IHRvIHBsYWNlIGFsbG9jYXRlZCBvcGVyYXRpb25zDQo+ID4g KyAqIEBwYXJhbSBudW1fb3BzDQo+ID4gKyAqICAgTnVtYmVyIG9mIG9wZXJhdGlvbnMgdG8gYWxs b2NhdGUNCj4gPiArICoNCj4gPiArICogQHJldHVybnMNCj4gPiArICogICAtIDAgb24gc3VjY2Vz cw0KPiA+ICsgKiAgIC0gRUlOVkFMIGlmIGludmFsaWQgbWVtcG9vbCBpcyBwcm92aWRlZA0KPiA+ ICsgKi8NCj4gPiArX19ydGVfZXhwZXJpbWVudGFsDQo+ID4gK3N0YXRpYyBpbmxpbmUgaW50DQo+ ID4gK3J0ZV9iYmRldl9mZnRfb3BfYWxsb2NfYnVsayhzdHJ1Y3QgcnRlX21lbXBvb2wgKm1lbXBv b2wsDQo+ID4gKwkJc3RydWN0IHJ0ZV9iYmRldl9mZnRfb3AgKipvcHMsIHVpbnQxNl90IG51bV9v cHMpIHsNCj4gPiArCXN0cnVjdCBydGVfYmJkZXZfb3BfcG9vbF9wcml2YXRlICpwcml2Ow0KPiA+ ICsJaW50IHJldDsNCj4gPiArDQo+ID4gKwkvKiBDaGVjayB0eXBlICovDQo+ID4gKwlwcml2ID0g KHN0cnVjdCBydGVfYmJkZXZfb3BfcG9vbF9wcml2YXRlICopDQo+ID4gKwkJCXJ0ZV9tZW1wb29s X2dldF9wcml2KG1lbXBvb2wpOw0KPiA+ICsJaWYgKHVubGlrZWx5KHByaXYtPnR5cGUgIT0gUlRF X0JCREVWX09QX0ZGVCkpDQo+ID4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ID4gKw0KPiA+ICsJLyog R2V0IGVsZW1lbnRzICovDQo+ID4gKwlyZXQgPSBydGVfbWVtcG9vbF9nZXRfYnVsayhtZW1wb29s LCAodm9pZCAqKilvcHMsIG51bV9vcHMpOw0KPiA+ICsJaWYgKHVubGlrZWx5KHJldCA8IDApKQ0K PiA+ICsJCXJldHVybiByZXQ7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIDA7DQo+ID4gK30NCj4gPiAr DQo+ID4gKy8qKg0KPiA+ICAgKiBGcmVlIGRlY29kZSBvcGVyYXRpb24gc3RydWN0dXJlcyB0aGF0 IHdlcmUgYWxsb2NhdGVkIGJ5DQo+ID4gICAqIHJ0ZV9iYmRldl9kZWNfb3BfYWxsb2NfYnVsaygp Lg0KPiA+ICAgKiBBbGwgc3RydWN0dXJlcyBtdXN0IGJlbG9uZyB0byB0aGUgc2FtZSBtZW1wb29s Lg0KPiA+IEBAIC05NTEsNiArMTA4MiwyNCBAQCBzdHJ1Y3QgcnRlX21lbXBvb2wgKg0KPiA+ICAJ CXJ0ZV9tZW1wb29sX3B1dF9idWxrKG9wc1swXS0+bWVtcG9vbCwgKHZvaWQgKiopb3BzLA0KPiBu dW1fb3BzKTsgIH0NCj4gPg0KPiA+ICsvKioNCj4gPiArICogRnJlZSBlbmNvZGUgb3BlcmF0aW9u IHN0cnVjdHVyZXMgdGhhdCB3ZXJlIGFsbG9jYXRlZCBieQ0KPiA+ICsgKiBydGVfYmJkZXZfZmZ0 X29wX2FsbG9jX2J1bGsoKS4NCj4gDQo+IFVzZSAqcnRlX2JiZGV2X2ZmdF9vcF9hbGxvY19idWxr Kg0KDQoNClRoYW5rcywgZml4aW5nIG5vdyBpbiB2OA0KDQo+IA0KPiA+ICsgKiBBbGwgc3RydWN0 dXJlcyBtdXN0IGJlbG9uZyB0byB0aGUgc2FtZSBtZW1wb29sLg0KPiA+ICsgKg0KPiA+ICsgKiBA cGFyYW0gb3BzDQo+ID4gKyAqICAgT3BlcmF0aW9uIHN0cnVjdHVyZXMNCj4gPiArICogQHBhcmFt IG51bV9vcHMNCj4gPiArICogICBOdW1iZXIgb2Ygc3RydWN0dXJlcw0KPiA+ICsgKi8NCj4gPiAr X19ydGVfZXhwZXJpbWVudGFsDQo+ID4gK3N0YXRpYyBpbmxpbmUgdm9pZA0KPiA+ICtydGVfYmJk ZXZfZmZ0X29wX2ZyZWVfYnVsayhzdHJ1Y3QgcnRlX2JiZGV2X2ZmdF9vcCAqKm9wcywgdW5zaWdu ZWQNCj4gPiAraW50DQo+ID4gbnVtX29wcykNCj4gPiArew0KPiA+ICsJaWYgKG51bV9vcHMgPiAw KQ0KPiA+ICsJCXJ0ZV9tZW1wb29sX3B1dF9idWxrKG9wc1swXS0+bWVtcG9vbCwgKHZvaWQgKiop b3BzLA0KPiA+IG51bV9vcHMpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICAjaWZkZWYgX19jcGx1c3Bs dXMNCj4gPiAgfQ0KPiA+ICAjZW5kaWYNCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2JiZGV2L3ZlcnNp b24ubWFwIGIvbGliL2JiZGV2L3ZlcnNpb24ubWFwIGluZGV4DQo+ID4gZjBhMDcyZS4uMGNiZWFi MyAxMDA2NDQNCj4gPiAtLS0gYS9saWIvYmJkZXYvdmVyc2lvbi5tYXANCj4gPiArKysgYi9saWIv YmJkZXYvdmVyc2lvbi5tYXANCj4gPiBAQCAtNDUsNCArNDUsOCBAQCBFWFBFUklNRU5UQUwgew0K PiA+DQo+ID4gIAkjIGFkZGVkIGluIDIyLjExDQo+ID4gIAlydGVfYmJkZXZfZGV2aWNlX3N0YXR1 c19zdHI7DQo+ID4gKwlydGVfYmJkZXZfZW5xdWV1ZV9mZnRfb3BzOw0KPiA+ICsJcnRlX2JiZGV2 X2RlcXVldWVfZmZ0X29wczsNCj4gPiArCXJ0ZV9iYmRldl9mZnRfb3BfYWxsb2NfYnVsazsNCj4g PiArCXJ0ZV9iYmRldl9mZnRfb3BfZnJlZV9idWxrOw0KPiA+ICB9Ow0KPiA+IC0tDQo+ID4gMS44 LjMuMQ0KDQo=