From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A1A11A0350; Tue, 30 Jun 2020 23:07:26 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F3F641BF68; Tue, 30 Jun 2020 23:07:25 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id DC2591BF5A for ; Tue, 30 Jun 2020 23:07:23 +0200 (CEST) IronPort-SDR: esDu3WYBBHN+PWd+2Xopgztye3rqP0UioCK6L53caD99vpoj0cF555VVXk0fKTAAoNF7Uv7RRB UcUaqE4vbMxQ== X-IronPort-AV: E=McAfee;i="6000,8403,9668"; a="126008213" X-IronPort-AV: E=Sophos;i="5.75,298,1589266800"; d="scan'208";a="126008213" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jun 2020 14:07:22 -0700 IronPort-SDR: 3os7VM/7SlF/6tEQ2n04PGXA34ub4/vfEiqKNolZxXmth3QAcZW7JNPP5fSXMtvuBCJzOraW17 Q4xIcJXPPZuA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,298,1589266800"; d="scan'208";a="277549972" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga003.jf.intel.com with ESMTP; 30 Jun 2020 14:07:22 -0700 Received: from fmsmsx158.amr.corp.intel.com (10.18.116.75) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 30 Jun 2020 14:07:21 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx158.amr.corp.intel.com (10.18.116.75) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 30 Jun 2020 14:07:21 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.170) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 30 Jun 2020 14:07:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QfISAQscLRJWDJcFI44zx7UsLoNMBmdbuXY8pmEcsUbJtVA1jgW8C6ILNXU1us/38hkDidpEIe5hRutAWOiHYo5BldZYmDYvkTon0YEikF186VWAGfN5us0HMjLMox6ApC6dkGUv7b71F8DZm/RpnTKs4iddWZkUv+5qUHwZCXLHX3rmqYGEjAh85KKYK0+6aFV9bX6J7RhklR6Fjy5Y5j3huqnr7vjQzTtLOKLMk8fo0UdlwrGQ3VhOx7Wo/utXQkKTFqqrsshzvWq3THfaVDZNrtH6jEtw07QkSLSLat3kAQavTTc1oUkcqQwPv/8xFdW5qqGGSweCeR3755vQBw== 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-SenderADCheck; bh=Y9u5NYS0yqpZhhBTWdxN5vp6dTd1XW6YATvbTWcUbL0=; b=j/rU58Uyv9QTMusWM7PgNUpr4JmOUiwSuHzZANcyV5xha2r74r9pQ0MVF4nQ9tf/wbCxaX48GJkII5JiucjiOtU8DYb+ce5B9HmxBWorxLPkpAbpZz0e5jjgeZsfwYS1D+6ZSao6Bqs893PVaYYIOwF42I6AHv3eBUnRNrnzKGJNq1TB47SwO8tvAQbYE6nfq35FE2n/GHTf1zA3s3q/qLcf0tghqw5N+XnCrbFJSbpCHCErIdRboh5/Nk9qpoMql7UXJ6hRRUZouNevScNFGFOwXsFlXZDthzf42ZCMHFa5fc5gOJUGf3LXsXHIOV8JFSP7/X5+5Aiwn5Q/whC5fQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Y9u5NYS0yqpZhhBTWdxN5vp6dTd1XW6YATvbTWcUbL0=; b=rwWYCDT61TGUX6ycqXZoFzkeaUIdUOUvNqEds0I0M1rIZ0tQChHIUKqKcVE/Eubmr4377RIwDZBc3dQtE+K9UkbzZhmzOG6AAboWQH5TvaOm/XOoh2dSbZFNf2j3MRi0HtQdRm07Wp7dXRNeNeTRra0yOVfyXRjK/mrafEIhqbQ= Received: from SN6PR11MB3103.namprd11.prod.outlook.com (2603:10b6:805:d7::13) by SN6PR11MB3022.namprd11.prod.outlook.com (2603:10b6:805:d8::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.24; Tue, 30 Jun 2020 21:07:20 +0000 Received: from SN6PR11MB3103.namprd11.prod.outlook.com ([fe80::315c:b477:373c:11f3]) by SN6PR11MB3103.namprd11.prod.outlook.com ([fe80::315c:b477:373c:11f3%4]) with mapi id 15.20.3131.028; Tue, 30 Jun 2020 21:07:20 +0000 From: "McDaniel, Timothy" To: Pavan Nikhilesh Bhagavatula , Jerin Jacob CC: Ray Kinsella , Neil Horman , "Jerin Jacob Kollanukkaran" , =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= , dpdk-dev , "Eads, Gage" , "Van Haaren, Harry" Thread-Topic: [dpdk-dev] [PATCH 01/27] eventdev: dlb upstream prerequisites Thread-Index: AQHWTFblQP+cVimlyE2YfCkMGJtOqqjv+Q7wgACaBQCAALxxcIAABh8AgAA5cdCAABWSAIAABxVQ Date: Tue, 30 Jun 2020 21:07:20 +0000 Message-ID: References: <1593232671-5690-1-git-send-email-timothy.mcdaniel@intel.com> <1593232671-5690-2-git-send-email-timothy.mcdaniel@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.0.600.7 authentication-results: marvell.com; dkim=none (message not signed) header.d=none;marvell.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [162.251.9.49] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 08ef415c-7288-4e99-c433-08d81d3993d5 x-ms-traffictypediagnostic: SN6PR11MB3022: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0450A714CB x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vUUcSNYkIMakK5iWpFMDxuuBPl1RITh3yFBX5tId2XCI7ZK2OUb0nAqQbfCumT/6miBgZopR0Mu+R5ILd5ZJK9Qaggy2sOS6lH+i303SB0PoZAPQFcYfpW2G3HZyXKTE2KePebAkKUSF3tqb7bCbcEmilYhXkMRsJ1OuM0UGtsttvYTy367GoRlOzOZ1+F3+kUHErn+osLxRir07ia2IxjK/csBKzUK0ZjvF781nx5gdAKH9a/8VRjVwlwom8ZRjxC8XPOoCLGjXNBPq7w8WUiAZAndiTuW1bbXKXGAW9O+7/R1kogmWJCntvGDkOH+8V0Ka1JBb++7+ayV1DtJU5Skpmautep3tLeGHVoVYlVMTgZ4YvmMC2gqRsHwfBm58kSbZwiNAVMdZpZJGGM285A== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3103.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(396003)(346002)(136003)(376002)(39860400002)(83380400001)(66574015)(52536014)(55016002)(5660300002)(30864003)(9686003)(86362001)(33656002)(8676002)(4326008)(66446008)(186003)(76116006)(2906002)(71200400001)(64756008)(66556008)(66476007)(8936002)(107886003)(66946007)(316002)(54906003)(110136005)(966005)(7696005)(478600001)(53546011)(26005)(6506007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: 67kIlP0D5FveF/d0kA+4EKbxbm6LtM+ginx996DXQxtn+Swni+LPDZkOwY0upYb4/ek9u4FK1LfdCzfyK+LV5502y714yathZMatAdgxzjdqw69rLCcHFN4QuFnbWWKc4NrKT151bBsHyGDTyKIgu8yeBpaqNwZ10Um4pbwrN87yIRHk9hiPoGmRH4Tjkohn8KZx+4N3M9zu95Aqb7jco6VSLKV6SECeiIi25cLNUgVFcjWOez4sKZ3jOibxvTyeFZE2yedamb1A+VHYQFHqXg8Q95a/2p5uRIZ3H7SL20eQJhkqwbLH5kd6CIJe9Y68fpKBPa+FXUjlKdmhVjg2n+pLWD7NIvpIR/DxHoK/CLdkxM9Faj49EVED4DjJ83yIvrHDRRbIsJcwPk99T3ixsQMkDjqjh8btgG+BiyHjYAHD5oH1ds2gUkwEynmJJ+sIiA0Nm/yUJ3AubdhbFhOf7j9PbstxkeS9vEZPiAteGic= 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: SN6PR11MB3103.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 08ef415c-7288-4e99-c433-08d81d3993d5 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jun 2020 21:07:20.1647 (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: voYFuZFCXBWJPjzMGyIPNnk99PRTE0+j//1aLnuR8ZxYF+vmNoa43NGjZS65DOPLBI8FDr4yHn+zdywNOa/UTsG72Qt064y3L3cBtXC20vY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3022 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 01/27] eventdev: dlb upstream prerequisites X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" Pi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogUGF2YW4gTmlraGlsZXNoIEJoYWdh dmF0dWxhIDxwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+DQo+U2VudDogVHVlc2RheSwgSnVuZSAz MCwgMjAyMCAzOjQwIFBNDQo+VG86IE1jRGFuaWVsLCBUaW1vdGh5IDx0aW1vdGh5Lm1jZGFuaWVs QGludGVsLmNvbT47IEplcmluIEphY29iDQo+PGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj5DYzog UmF5IEtpbnNlbGxhIDxtZHJAYXNocm9lLmV1PjsgTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4ZHJp dmVyLmNvbT47DQo+SmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbiA8amVyaW5qQG1hcnZlbGwuY29t PjsgTWF0dGlhcyBSw7ZubmJsb20NCj48bWF0dGlhcy5yb25uYmxvbUBlcmljc3Nvbi5jb20+OyBk cGRrLWRldiA8ZGV2QGRwZGsub3JnPjsgRWFkcywgR2FnZQ0KPjxnYWdlLmVhZHNAaW50ZWwuY29t PjsgVmFuIEhhYXJlbiwgSGFycnkgPGhhcnJ5LnZhbi5oYWFyZW5AaW50ZWwuY29tPg0KPlN1Ympl Y3Q6IFJFOiBbZHBkay1kZXZdIFtQQVRDSCAwMS8yN10gZXZlbnRkZXY6IGRsYiB1cHN0cmVhbSBw cmVyZXF1aXNpdGVzDQo+DQo+DQo+DQo+Pi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PkZy b206IGRldiA8ZGV2LWJvdW5jZXNAZHBkay5vcmc+IE9uIEJlaGFsZiBPZiBNY0RhbmllbCwgVGlt b3RoeQ0KPj5TZW50OiBXZWRuZXNkYXksIEp1bHkgMSwgMjAyMCAxMjo1NyBBTQ0KPj5UbzogSmVy aW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4+Q2M6IFJheSBLaW5zZWxsYSA8bWRy QGFzaHJvZS5ldT47IE5laWwgSG9ybWFuDQo+PjxuaG9ybWFuQHR1eGRyaXZlci5jb20+OyBKZXJp biBKYWNvYiBLb2xsYW51a2thcmFuDQo+PjxqZXJpbmpAbWFydmVsbC5jb20+OyBNYXR0aWFzIFLD tm5uYmxvbQ0KPj48bWF0dGlhcy5yb25uYmxvbUBlcmljc3Nvbi5jb20+OyBkcGRrLWRldiA8ZGV2 QGRwZGsub3JnPjsgRWFkcywNCj4+R2FnZSA8Z2FnZS5lYWRzQGludGVsLmNvbT47IFZhbiBIYWFy ZW4sIEhhcnJ5DQo+PjxoYXJyeS52YW4uaGFhcmVuQGludGVsLmNvbT4NCj4+U3ViamVjdDogUmU6 IFtkcGRrLWRldl0gW1BBVENIIDAxLzI3XSBldmVudGRldjogZGxiIHVwc3RyZWFtDQo+PnByZXJl cXVpc2l0ZXMNCj4+DQo+Pj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+RnJvbTogSmVy aW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4+PlNlbnQ6IFR1ZXNkYXksIEp1bmUg MzAsIDIwMjAgMTA6NTggQU0NCj4+PlRvOiBNY0RhbmllbCwgVGltb3RoeSA8dGltb3RoeS5tY2Rh bmllbEBpbnRlbC5jb20+DQo+Pj5DYzogUmF5IEtpbnNlbGxhIDxtZHJAYXNocm9lLmV1PjsgTmVp bCBIb3JtYW4NCj4+PG5ob3JtYW5AdHV4ZHJpdmVyLmNvbT47DQo+Pj5KZXJpbiBKYWNvYiA8amVy aW5qQG1hcnZlbGwuY29tPjsgTWF0dGlhcyBSw7ZubmJsb20NCj4+PjxtYXR0aWFzLnJvbm5ibG9t QGVyaWNzc29uLmNvbT47IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+OyBFYWRzLA0KPj5HYWdlDQo+ Pj48Z2FnZS5lYWRzQGludGVsLmNvbT47IFZhbiBIYWFyZW4sIEhhcnJ5DQo+PjxoYXJyeS52YW4u aGFhcmVuQGludGVsLmNvbT4NCj4+PlN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCAwMS8y N10gZXZlbnRkZXY6IGRsYiB1cHN0cmVhbQ0KPj5wcmVyZXF1aXNpdGVzDQo+Pj4NCj4+Pk9uIFR1 ZSwgSnVuIDMwLCAyMDIwIGF0IDk6MTIgUE0gTWNEYW5pZWwsIFRpbW90aHkNCj4+Pjx0aW1vdGh5 Lm1jZGFuaWVsQGludGVsLmNvbT4gd3JvdGU6DQo+Pj4+DQo+Pj4+ID4tLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPj4+PiA+RnJvbTogSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNv bT4NCj4+Pj4gPlNlbnQ6IE1vbmRheSwgSnVuZSAyOSwgMjAyMCAxMToyMSBQTQ0KPj4+PiA+VG86 IE1jRGFuaWVsLCBUaW1vdGh5IDx0aW1vdGh5Lm1jZGFuaWVsQGludGVsLmNvbT4NCj4+Pj4gPkNj OiBSYXkgS2luc2VsbGEgPG1kckBhc2hyb2UuZXU+OyBOZWlsIEhvcm1hbg0KPj48bmhvcm1hbkB0 dXhkcml2ZXIuY29tPjsNCj4+Pj4gPkplcmluIEphY29iIDxqZXJpbmpAbWFydmVsbC5jb20+OyBN YXR0aWFzIFLDtm5uYmxvbQ0KPj4+PiA+PG1hdHRpYXMucm9ubmJsb21AZXJpY3Nzb24uY29tPjsg ZHBkay1kZXYgPGRldkBkcGRrLm9yZz47DQo+PkVhZHMsIEdhZ2UNCj4+Pj4gPjxnYWdlLmVhZHNA aW50ZWwuY29tPjsgVmFuIEhhYXJlbiwgSGFycnkNCj4+PGhhcnJ5LnZhbi5oYWFyZW5AaW50ZWwu Y29tPg0KPj4+PiA+U3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIDAxLzI3XSBldmVudGRl djogZGxiIHVwc3RyZWFtDQo+PnByZXJlcXVpc2l0ZXMNCj4+Pj4gPg0KPj4+PiA+T24gVHVlLCBK dW4gMzAsIDIwMjAgYXQgMTowMSBBTSBNY0RhbmllbCwgVGltb3RoeQ0KPj4+PiA+PHRpbW90aHku bWNkYW5pZWxAaW50ZWwuY29tPiB3cm90ZToNCj4+Pj4gPj4NCj4+Pj4gPj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4+Pj4gPj4gRnJvbTogSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdt YWlsLmNvbT4NCj4+Pj4gPj4gU2VudDogU2F0dXJkYXksIEp1bmUgMjcsIDIwMjAgMjo0NSBBTQ0K Pj4+PiA+PiBUbzogTWNEYW5pZWwsIFRpbW90aHkgPHRpbW90aHkubWNkYW5pZWxAaW50ZWwuY29t PjsgUmF5DQo+PktpbnNlbGxhDQo+Pj4+ID48bWRyQGFzaHJvZS5ldT47IE5laWwgSG9ybWFuIDxu aG9ybWFuQHR1eGRyaXZlci5jb20+DQo+Pj4+ID4+IENjOiBKZXJpbiBKYWNvYiA8amVyaW5qQG1h cnZlbGwuY29tPjsgTWF0dGlhcyBSw7ZubmJsb20NCj4+Pj4gPjxtYXR0aWFzLnJvbm5ibG9tQGVy aWNzc29uLmNvbT47IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+Ow0KPj5FYWRzLCBHYWdlDQo+Pj4+ ID48Z2FnZS5lYWRzQGludGVsLmNvbT47IFZhbiBIYWFyZW4sIEhhcnJ5DQo+PjxoYXJyeS52YW4u aGFhcmVuQGludGVsLmNvbT4NCj4+Pj4gPj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENI IDAxLzI3XSBldmVudGRldjogZGxiIHVwc3RyZWFtDQo+PnByZXJlcXVpc2l0ZXMNCj4+Pj4gPj4N Cj4+Pj4gPj4gPiArDQo+Pj4+ID4+ID4gKy8qKiBFdmVudCBwb3J0IGNvbmZpZ3VyYXRpb24gc3Ry dWN0dXJlICovDQo+Pj4+ID4+ID4gK3N0cnVjdCBydGVfZXZlbnRfcG9ydF9jb25mX3YyMCB7DQo+ Pj4+ID4+ID4gKyAgICAgICBpbnQzMl90IG5ld19ldmVudF90aHJlc2hvbGQ7DQo+Pj4+ID4+ID4g KyAgICAgICAvKio8IEEgYmFja3ByZXNzdXJlIHRocmVzaG9sZCBmb3IgbmV3IGV2ZW50IGVucXVl dWVzIG9uDQo+PnRoaXMgcG9ydC4NCj4+Pj4gPj4gPiArICAgICAgICAqIFVzZSBmb3IgKmNsb3Nl ZCBzeXN0ZW0qIGV2ZW50IGRldiB3aGVyZSBldmVudCBjYXBhY2l0eQ0KPj5pcyBsaW1pdGVkLA0K Pj4+PiA+PiA+ICsgICAgICAgICogYW5kIGNhbm5vdCBleGNlZWQgdGhlIGNhcGFjaXR5IG9mIHRo ZSBldmVudCBkZXYuDQo+Pj4+ID4+ID4gKyAgICAgICAgKiBDb25maWd1cmluZyBwb3J0cyB3aXRo IGRpZmZlcmVudCB0aHJlc2hvbGRzIGNhbiBtYWtlDQo+PmhpZ2hlciBwcmlvcml0eQ0KPj4+PiA+ PiA+ICsgICAgICAgICogdHJhZmZpYyBsZXNzIGxpa2VseSB0byAgYmUgYmFja3ByZXNzdXJlZC4N Cj4+Pj4gPj4gPiArICAgICAgICAqIEZvciBleGFtcGxlLCBhIHBvcnQgdXNlZCB0byBpbmplY3Qg TklDIFJ4IHBhY2tldHMgaW50bw0KPj50aGUgZXZlbnQgZGV2DQo+Pj4+ID4+ID4gKyAgICAgICAg KiBjYW4gaGF2ZSBhIGxvd2VyIHRocmVzaG9sZCBzbyBhcyBub3QgdG8gb3ZlcndoZWxtIHRoZQ0K Pj5kZXZpY2UsDQo+Pj4+ID4+ID4gKyAgICAgICAgKiB3aGlsZSBwb3J0cyB1c2VkIGZvciB3b3Jr ZXIgcG9vbHMgY2FuIGhhdmUgYSBoaWdoZXINCj4+dGhyZXNob2xkLg0KPj4+PiA+PiA+ICsgICAg ICAgICogVGhpcyB2YWx1ZSBjYW5ub3QgZXhjZWVkIHRoZSAqbmJfZXZlbnRzX2xpbWl0Kg0KPj4+ PiA+PiA+ICsgICAgICAgICogd2hpY2ggd2FzIHByZXZpb3VzbHkgc3VwcGxpZWQgdG8NCj4+cnRl X2V2ZW50X2Rldl9jb25maWd1cmUoKS4NCj4+Pj4gPj4gPiArICAgICAgICAqIFRoaXMgc2hvdWxk IGJlIHNldCB0byAnLTEnIGZvciAqb3BlbiBzeXN0ZW0qLg0KPj4+PiA+PiA+ICsgICAgICAgICov DQo+Pj4+ID4+ID4gKyAgICAgICB1aW50MTZfdCBkZXF1ZXVlX2RlcHRoOw0KPj4+PiA+PiA+ICsg ICAgICAgLyoqPCBDb25maWd1cmUgbnVtYmVyIG9mIGJ1bGsgZGVxdWV1ZXMgZm9yIHRoaXMgZXZl bnQNCj4+cG9ydC4NCj4+Pj4gPj4gPiArICAgICAgICAqIFRoaXMgdmFsdWUgY2Fubm90IGV4Y2Vl ZCB0aGUNCj4+Km5iX2V2ZW50X3BvcnRfZGVxdWV1ZV9kZXB0aCoNCj4+Pj4gPj4gPiArICAgICAg ICAqIHdoaWNoIHByZXZpb3VzbHkgc3VwcGxpZWQgdG8gcnRlX2V2ZW50X2Rldl9jb25maWd1cmUo KS4NCj4+Pj4gPj4gPiArICAgICAgICAqIElnbm9yZWQgd2hlbiBkZXZpY2UgaXMgbm90DQo+PlJU RV9FVkVOVF9ERVZfQ0FQX0JVUlNUX01PREUNCj4+Pj4gPmNhcGFibGUuDQo+Pj4+ID4+ID4gKyAg ICAgICAgKi8NCj4+Pj4gPj4gPiArICAgICAgIHVpbnQxNl90IGVucXVldWVfZGVwdGg7DQo+Pj4+ ID4+ID4gKyAgICAgICAvKio8IENvbmZpZ3VyZSBudW1iZXIgb2YgYnVsayBlbnF1ZXVlcyBmb3Ig dGhpcyBldmVudA0KPj5wb3J0Lg0KPj4+PiA+PiA+ICsgICAgICAgICogVGhpcyB2YWx1ZSBjYW5u b3QgZXhjZWVkIHRoZQ0KPj4qbmJfZXZlbnRfcG9ydF9lbnF1ZXVlX2RlcHRoKg0KPj4+PiA+PiA+ ICsgICAgICAgICogd2hpY2ggcHJldmlvdXNseSBzdXBwbGllZCB0byBydGVfZXZlbnRfZGV2X2Nv bmZpZ3VyZSgpLg0KPj4+PiA+PiA+ICsgICAgICAgICogSWdub3JlZCB3aGVuIGRldmljZSBpcyBu b3QNCj4+UlRFX0VWRU5UX0RFVl9DQVBfQlVSU1RfTU9ERQ0KPj4+PiA+Y2FwYWJsZS4NCj4+Pj4g Pj4gPiArICAgICAgICAqLw0KPj4+PiA+PiA+ICAgICAgICAgdWludDhfdCBkaXNhYmxlX2ltcGxp Y2l0X3JlbGVhc2U7DQo+Pj4+ID4+ID4gICAgICAgICAvKio8IENvbmZpZ3VyZSB0aGUgcG9ydCBu b3QgdG8gcmVsZWFzZSBvdXRzdGFuZGluZyBldmVudHMNCj4+aW4NCj4+Pj4gPj4gPiAgICAgICAg ICAqIHJ0ZV9ldmVudF9kZXZfZGVxdWV1ZV9idXJzdCgpLiBJZiB0cnVlLCBhbGwgZXZlbnRzDQo+ PnJlY2VpdmVkIHRocm91Z2gNCj4+Pj4gPj4gPiBAQCAtNzMzLDYgKzkxMSwxNCBAQCBzdHJ1Y3Qg cnRlX2V2ZW50X3BvcnRfY29uZiB7DQo+Pj4+ID4+ID4gIHJ0ZV9ldmVudF9wb3J0X2RlZmF1bHRf Y29uZl9nZXQodWludDhfdCBkZXZfaWQsIHVpbnQ4X3QNCj4+cG9ydF9pZCwNCj4+Pj4gPj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnRfcG9ydF9jb25m ICpwb3J0X2NvbmYpOw0KPj4+PiA+PiA+DQo+Pj4+ID4+ID4gK2ludA0KPj4+PiA+PiA+ICtydGVf ZXZlbnRfcG9ydF9kZWZhdWx0X2NvbmZfZ2V0X3YyMCh1aW50OF90IGRldl9pZCwgdWludDhfdA0K Pj5wb3J0X2lkLA0KPj4+PiA+PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IHJ0ZV9ldmVudF9wb3J0X2NvbmZfdjIwICpwb3J0X2NvbmYpOw0KPj4+PiA+PiA+ICsNCj4+ Pj4gPj4gPiAraW50DQo+Pj4+ID4+ID4gK3J0ZV9ldmVudF9wb3J0X2RlZmF1bHRfY29uZl9nZXRf djIxKHVpbnQ4X3QgZGV2X2lkLCB1aW50OF90DQo+PnBvcnRfaWQsDQo+Pj4+ID4+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X3BvcnRfY29u ZiAqcG9ydF9jb25mKTsNCj4+Pj4gPj4NCj4+Pj4gPj4gSGkgVGltb3RoeSwNCj4+Pj4gPj4NCj4+ Pj4gPj4gKyBBQkkgTWFpbnRhaW5lcnMgKFJheSwgTmVpbCkNCj4+Pj4gPj4NCj4+Pj4gPj4gIyBB cyBwZXIgbXkgdW5kZXJzdGFuZGluZywgdGhlIHN0cnVjdHVyZXMgY2FuIG5vdCBiZSB2ZXJzaW9u ZWQsDQo+Pm9ubHkNCj4+Pj4gPj4gZnVuY3Rpb24gY2FuIGJlIHZlcnNpb25lZC4NCj4+Pj4gPj4g aS5lIHdlIGNhbiBub3QgbWFrZSBhbnkgY2hhbmdlIHRvICIgc3RydWN0IHJ0ZV9ldmVudF9wb3J0 X2NvbmYiDQo+Pj4+ID4+DQo+Pj4+ID4+ICMgV2UgaGF2ZSBhIHNpbWlsYXIgY2FzZSB3aXRoIGV0 aGRldiBhbmQgaXQgZGVmZXJyZWQgdG8gbmV4dA0KPj5yZWxlYXNlIHYyMC4xMQ0KPj4+PiA+PiBo dHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9aHR0cC0NCj4+M0FfX3Bh dGNoZXMuZHBkay5vcmdfcGF0Y2hfNjkxMTNfJmQ9RHdJR2FRJmM9bktqV2VjMmI2UjBtTw0KPj55 UGF6N3h0ZlEmcj0xY2p1QUhyR2g3NDVqSE5tajJmRDg1c1VNSUoySVBJRHNJSnpvNkZONlowJm09 bEw3DQo+PmREbE43SUNJcEVOdklCN19FbDI3VWNsWEEydEpMZE93YnNpcmcxRHcmcz1DTm1TWERE bjI4VS0NCj4+T2pFQWFaZ0pJX0EyZkRtTUtNNnpiMTJzSUU5TC1JbyZlPQ0KPj4+PiA+Pg0KPj4+ PiA+PiBSZWdhcmRpbmcgdGhlIEFQSSBjaGFuZ2VzOg0KPj4+PiA+PiAjIFRoZSBzbG93IHBhdGgg Y2hhbmdlcyBnZW5lcmFsIGxvb2tzIGdvb2QgdG8gbWUuIEkgd2lsbCByZXZpZXcNCj4+dGhlDQo+ Pj4+ID4+IG5leHQgbGV2ZWwgaW4gdGhlIGNvbWluZyBkYXlzDQo+Pj4+ID4+ICMgVGhlIGZvbGxv d2luZyBmYXN0IHBhdGggY2hhbmdlcyBib3RoZXJzIHRvIG1lLiBDb3VsZCB5b3Ugc2hhcmUNCj4+ bW9yZQ0KPj4+PiA+PiBkZXRhaWxzIG9uIGJlbG93IGNoYW5nZT8NCj4+Pj4gPj4NCj4+Pj4gPj4g ZGlmZiAtLWdpdCBhL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3Rfb3JkZXJfYXRxLmMNCj4+Pj4gPj4g Yi9hcHAvdGVzdC1ldmVudGRldi90ZXN0X29yZGVyX2F0cS5jDQo+Pj4+ID4+IGluZGV4IDMzNjZj ZmMuLjgyNDZiOTYgMTAwNjQ0DQo+Pj4+ID4+IC0tLSBhL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3Rf b3JkZXJfYXRxLmMNCj4+Pj4gPj4gKysrIGIvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9vcmRlcl9h dHEuYw0KPj4+PiA+PiBAQCAtMzQsNiArMzQsOCBAQA0KPj4+PiA+PiAgICAgICAgICAgICAgICAg ICAgICAgICBjb250aW51ZTsNCj4+Pj4gPj4gICAgICAgICAgICAgICAgIH0NCj4+Pj4gPj4NCj4+ Pj4gPj4gKyAgICAgICAgICAgICAgIGV2LmZsb3dfaWQgPSBldi5tYnVmLT51ZGF0YTY0Ow0KPj4+ PiA+PiArDQo+Pj4+ID4+ICMgU2luY2UgUkMxIGlzIG5lYXIsIEkgYW0gbm90IHN1cmUgaG93IHRv IGFjY29tbW9kYXRlIHRoZSBBUEkNCj4+Y2hhbmdlcw0KPj4+PiA+PiBub3cgYW5kIHNvcnQgb3V0 IEFCSSBzdHVmZnMuDQo+Pj4+ID4+ICMgT3RoZXIgY29uY2VybiBpcyBldmVudGRldiBzcGVjIGdl dCBibG9hdGVkIHdpdGggdmVyc2lvbmluZyBmaWxlcw0KPj4+PiA+PiBqdXN0IGZvciBPTkUgcmVs ZWFzZSBhcyAyMC4xMSB3aWxsIGJlIE9LIHRvIGNoYW5nZSB0aGUgQUJJLg0KPj4+PiA+PiAjIFdo aWxlIHdlIGRpc2N1c3MgdGhlIEFQSSBjaGFuZ2UsIFBsZWFzZSBzZW5kIGRlcHJlY2F0aW9uDQo+ Pm5vdGljZSBmb3INCj4+Pj4gPj4gQUJJIGNoYW5nZSBmb3IgMjAuMTEsDQo+Pj4+ID4+IHNvIHRo YXQgdGhlcmUgaXMgbm8gYW1iaWd1aXR5IG9mIHRoaXMgcGF0Y2ggZm9yIHRoZSAyMC4xMSByZWxl YXNlLg0KPj4+PiA+Pg0KPj4+PiA+PiBIZWxsbyBKZXJpbiwNCj4+Pj4gPj4NCj4+Pj4gPj4gVGhh bmsgeW91IGZvciB0aGUgcmV2aWV3IGNvbW1lbnRzLg0KPj4+PiA+Pg0KPj4+PiA+PiBXaXRoIHJl Z2FyZCB0byB5b3VyIGNvbW1lbnRzIHJlZ2FyZGluZyB0aGUgZmFzdCBwYXRoIGZsb3dfaWQNCj4+ Y2hhbmdlLCB0aGUNCj4+PkludGVsDQo+Pj4+ID5ETEIgaGFyZHdhcmUNCj4+Pj4gPj4gaXMgbm90 IGNhcGFibGUgb2YgdHJhbnNmZXJyaW5nIHRoZSBmbG93X2lkIGFzIHBhcnQgb2YgdGhlIGV2ZW50 DQo+Pml0c2VsZi4gV2UNCj4+Pj4gPnRoZXJlZm9yZSByZXF1aXJlIGEgbWVjaGFuaXNtDQo+Pj4+ ID4+IHRvIGFjY29tcGxpc2ggdGhpcy4gV2hhdCB3ZSBoYXZlIGRvbmUgdG8gd29yayBhcm91bmQg dGhpcyBpcyB0bw0KPj5yZXF1aXJlIHRoZQ0KPj4+PiA+YXBwbGljYXRpb24gdG8gZW1iZWQgdGhl IGZsb3dfaWQNCj4+Pj4gPj4gd2l0aGluIHRoZSBkYXRhIHBheWxvYWQuIFRoZSBuZXcgZmxhZywg I2RlZmluZQ0KPj4+PiA+UlRFX0VWRU5UX0RFVl9DQVBfQ0FSUllfRkxPV19JRCAoMVVMTCA8PCA5 KSwgY2FuIGJlIHVzZWQNCj4+Pj4gPj4gYnkgYXBwbGljYXRpb25zIHRvIGRldGVybWluZSBpZiB0 aGV5IG5lZWQgdG8gZW1iZWQgdGhlIGZsb3dfaWQsDQo+Pm9yIGlmIGl0cw0KPj4+PiA+YXV0b21h dGljYWxseSBwcm9wYWdhdGVkIGFuZCBwcmVzZW50IGluIHRoZQ0KPj4+PiA+PiByZWNlaXZlZCBl dmVudC4NCj4+Pj4gPj4NCj4+Pj4gPj4gV2hhdCB3ZSBzaG91bGQgaGF2ZSBkb25lIGlzIHRvIHdy YXAgdGhlIGFzc2lnbm1lbnQgd2l0aCBhDQo+PmNvbmRpdGlvbmFsLg0KPj4+PiA+Pg0KPj4+PiA+ PiBpZiAoIShkZXZpY2VfY2FwYWJpbGl0eV9mbGFncyAmDQo+PlJURV9FVkVOVF9ERVZfQ0FQX0NB UlJZX0ZMT1dfSUQpKQ0KPj4+PiA+PiAgICAgICAgIGV2LmZsb3dfaWQgPSBldi5tYnVmLT51ZGF0 YTY0Ow0KPj4+PiA+DQo+Pj4+ID5Ud28gcHJvYmxlbXMgd2l0aCB0aGlzIGFwcHJvYWNoLA0KPj4+ PiA+MSkgd2UgYXJlIGFzc3VtaW5nIG1idWYgdWRhdGE2NCBmaWVsZCBpcyBhdmFpbGFibGUgZm9y IERMQiBkcml2ZXINCj4+Pj4gPjIpIEl0IHdvbid0IHdvcmsgd2l0aCBhbm90aGVyIGFkYXB0ZXIs IGV2ZW50ZGV2IGhhcyBubw0KPj5kZXBlbmRlbmN5IHdpdGggbWJ1Zg0KPj4+PiA+DQo+Pj4+DQo+ Pj4+IFRoaXMgc25pcHBldCBpcyBub3QgaW50ZW5kZWQgdG8gc3VnZ2VzdCB0aGF0IHVkYXRhNjQg YWx3YXlzIGJlIHVzZWQNCj4+dG8gc3RvcmUgdGhlDQo+Pj5mbG93IElELCBidXQgYXMgYW4gZXhh bXBsZSBvZiBob3cgYW4gYXBwbGljYXRpb24gY291bGQgZG8gaXQuIFNvbWUNCj4+YXBwbGljYXRp b25zDQo+Pj53b27igJl0IG5lZWQgdG8gY2FycnkgdGhlIGZsb3cgSUQgdGhyb3VnaDsgb3RoZXJz IGNhbiBzZWxlY3QgYW4gdW51c2VkDQo+PmZpZWxkIGluIHRoZQ0KPj4+ZXZlbnQgZGF0YSAoZS5n LiBoYXNoLnJzcyBvciB1ZGF0YTY0IGlmIHVzaW5nIG1idWZzKSwgb3IgKHdvcnN0LWNhc2UpDQo+ PnJlLWdlbmVyYXRlDQo+Pj50aGUgZmxvdyBJRCBpbiBwaXBlbGluZSBzdGFnZXMgdGhhdCByZXF1 aXJlIGl0Lg0KPj4+DQo+Pj5PSy4NCj4+Pj4NCj4+Pj4gPlF1ZXN0aW9uOg0KPj4+PiA+MSkgSW4g dGhlIGNhc2Ugb2YgRExCIGhhcmR3YXJlLCBvbiBkZXF1ZXVlKCksICB3aGF0IEhXIHJldHVybnM/ IGlzDQo+Pml0DQo+Pj4+ID5vbmx5IGV2ZW50IHBvaW50ZXIgYW5kIG5vdCBoYXZlIGFueSBvdGhl ciBtZXRhZGF0YSBsaWtlDQo+PnNjaGVkdWxlX3R5cGUNCj4+Pj4gPmV0Yy4NCj4+Pj4gPg0KPj4+ Pg0KPj4+PiBUaGUgRExCIGRldmljZSBwcm92aWRlcyBhIDE2QiDigJxxdWV1ZSBlbnRyeeKAnSB0 aGF0IGNvbnNpc3RzIG9mOg0KPj4+Pg0KPj4+PiAqICAgICAgIDhCIGV2ZW50IGRhdGENCj4+Pj4g KiAgICAgICBRdWV1ZSBJRA0KPj4+PiAqICAgICAgIFByaW9yaXR5DQo+Pj4+ICogICAgICAgU2No ZWR1bGluZyB0eXBlDQo+Pj4+ICogICAgICAgMTkgYml0cyBvZiBjYXJyaWVkLXRocm91Z2ggZGF0 YQ0KPj4+PiAqICAgICAgIEFzc29ydGVkIGVycm9yL2RlYnVnL3Jlc2VydmVkIGJpdHMgdGhhdCBh cmUgc2V0IGJ5IHRoZSBkZXZpY2UNCj4+KG5vdCBjYXJyaWVkLQ0KPj4+dGhyb3VnaCkNCj4+Pj4N Cj4+Pj4gIEZvciB0aGUgY2FycmllZC10aHJvdWdoIDE5Yiwgd2UgdXNlIDEyYiBmb3IgZXZlbnRf dHlwZSBhbmQNCj4+c3ViX2V2ZW50X3R5cGUuDQo+Pj4NCj4+PkkgY2FuIG9ubHkgdGhpbmsgb2Yg VFdPIG9wdGlvbnMgdG8gaGVscA0KPj4+MSkgU2luY2UgZXZlbnQgcG9pbnRlciBhbHdheXMgY2Fj aGUgYWxpZ25lZCwgWW91IGNvdWxkIGdyYWIgTFNCDQo+Pj42Yml0cygyXjYgPSA2NEIgKSBhbmQg NyBiaXRzIGZyb20gKDE5YiAtIDEyYikgY2FycmllZCB0aHJvdWdoDQo+Pj5zdHJ1Y3R1cmUNCj4+ PjIpIEhhdmUgc2VwYXJhdGUgbWVtcG9vbCBkcml2ZXIgdXNpbmcgZXhpc3RpbmcgZHJpdmVycywg aWUgImV2ZW50DQo+Pj5wb2ludGVyIiArIG9yIC0gc29tZSBvZmZzZXQgaGF2ZSBhbnkgYW1vdW50 IG9mIGN1c3RvbSBkYXRhLg0KPj4+DQo+Pg0KPj5XZSBjYW4ndCBndWFyYW50ZWUgdGhhdCB0aGUg ZXZlbnQgd2lsbCBjb250YWluIGEgcG9pbnRlciAtLSBpdCdzIHBvc3NpYmxlDQo+PnRoYXQgOEIg aXMgaW5saW5lIGRhdGEgKGkuZS4gc3RydWN0IHJ0ZV9ldmVudCdzIHU2NCBmaWVsZCkuDQo+Pg0K Pj5JdCdzIHJlYWxseSBhbiBhcHBsaWNhdGlvbiBkZWNpc2lvbiAtLSBmb3IgZXhhbXBsZSBhbiBh cHAgY291bGQgYWxsb2NhdGUNCj4+c3BhY2UgaW4gdGhlICdtYnVmIHByaXZhdGUgZGF0YScgdG8g c3RvcmUgdGhlIGZsb3cgSUQsIGlmIHRoZSBldmVudCBkZXZpY2UNCj4+bGFja3MgdGhhdCBjYXJy eS1mbG93LUlEIGNhcGFiaWxpdHkgYW5kIHRoZSBvdGhlciBtYnVmIGZpZWxkcyBjYW4ndCBiZQ0K Pj51c2VkIGZvciB3aGF0ZXZlciByZWFzb24uDQo+PldlIG1vZGlmaWVkIHRoZSB0ZXN0cywgc2Ft cGxlIGFwcHMgdG8gc2hvdyBob3cgdGhpcyBtaWdodCBiZSBkb25lLA0KPj5ub3QgbmVjZXNzYXJp bHkgaG93IGl0IG11c3QgYmUgZG9uZS4NCj4+DQo+Pj4NCj4+Pj4NCj4+Pj4gPg0KPj4+PiA+Pg0K Pj4+PiA+PiBUaGlzIHdvdWxkIG1pbmltaXplL2VsaW1pbmF0ZSBhbnkgcGVyZm9ybWFuY2UgaW1w YWN0IGR1ZSB0bw0KPj50aGUNCj4+PnByb2Nlc3NvcidzDQo+Pj4+ID5icmFuY2ggcHJlZGljdGlv biBsb2dpYy4NCj4+Pg0KPj4+SSB0aGluaywgSWYgd2UgbmVlZCB0byBjaGFuZ2UgY29tbW9uIGZh c3RwYXRoLCBiZXR0ZXIgd2UgbmVlZCB0bw0KPj5tYWtlDQo+Pj5pdCB0ZW1wbGF0ZSB0byBjcmVh dGUgY29kZSBmb3IgY29tcGlsZS10aW1lIHRvIGhhdmUgYWJzb2x1dGUgemVybw0KPj4+b3Zlcmhl YWQNCj4+PmFuZCB1c2UgcnVudGltZS4NCj4+PlNlZSBhcHAvdGVzdC1ldmVudGRldi90ZXN0X29y ZGVyX2F0cS5jOiBmdW5jdGlvbjogd29ya2VyX3dyYXBwZXIoKQ0KPj4+X2NyZWF0ZV8gd29ya2Vy IGF0IGNvbXBpbGUgdGltZSBiYXNlZCBvbiBydW50aW1lIGNhcGFiaWxpdHkuDQo+Pj4NCj4+DQo+ PlllcywgdGhhdCB3b3VsZCBiZSBwZXJmZWN0LiAgVGhhbmtzIGZvciB0aGUgZXhhbXBsZSENCj4N Cj5KdXN0IHRvICBhZGQgaW5zdGVhZCBvZiBoYXZpbmcgaWYgYW5kIGVsc2UgdXNpbmcgYSBqdW1w dGJsIHdvdWxkIGJlIG11Y2ggY2xlYW5lcg0KPkV4Lg0KPgljb25zdCBwaXBlbGluZV9hdHFfd29y a2VyX3QgcGlwZWxpbmVfYXRxX3dvcmtlcl9zaW5nbGVfc3RhZ2VbMl1bMl1bMl0NCj49IHsNCj4J CVswXVswXSA9IHBpcGVsaW5lX2F0cV93b3JrZXJfc2luZ2xlX3N0YWdlX2Z3ZCwNCj4JCVswXVsx XSA9IHBpcGVsaW5lX2F0cV93b3JrZXJfc2luZ2xlX3N0YWdlX3R4LA0KPgkJWzFdWzBdID0gcGlw ZWxpbmVfYXRxX3dvcmtlcl9zaW5nbGVfc3RhZ2VfYnVyc3RfZndkLA0KPgkJWzFdWzFdID0gcGlw ZWxpbmVfYXRxX3dvcmtlcl9zaW5nbGVfc3RhZ2VfYnVyc3RfdHgsDQo+CX07DQo+DQo+CQlyZXR1 cm4NCj4ocGlwZWxpbmVfYXRxX3dvcmtlcl9zaW5nbGVfc3RhZ2VbYnVyc3RdW2ludGVybmFsX3Bv cnRdKShhcmcpOw0KPg0KDQoNClRoYW5rIHlvdSBmb3IgdGhlIHN1Z2dlc3Rpb24uDQoNCg0KPj4N Cj4+Pg0KPj4+DQo+Pj4+ID4+IFRoZSBhc3NpZ25tZW50IHRoZW4gYmVjb21lcyBpbiBlc3NlbmNl IGEgTk9PUCBmb3IgYWxsIGV2ZW50DQo+PmRldmljZXMgdGhhdA0KPj4+YXJlDQo+Pj4+ID5jYXBh YmxlIG9mIGNhcnJ5aW5nIHRoZSBmbG93X2lkIGFzIHBhcnQgb2YgdGhlIGV2ZW50IHBheWxvYWQg aXRzZWxmLg0KPj4+PiA+Pg0KPj4+PiA+PiBUaGFua3MsDQo+Pj4+ID4+IFRpbQ0KPj4+PiA+Pg0K Pj4+PiA+Pg0KPj4+PiA+Pg0KPj4+PiA+PiBUaGFua3MsDQo+Pj4+ID4+IFRpbQ0K