From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web11.5060.1586245973646786523 for ; Tue, 07 Apr 2020 00:52:53 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=TzEv19mb; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: tien.hock.loh@intel.com) IronPort-SDR: fqxpF9vHW86NKOtIf4N302kgLt+eOehLhnB5jfWVzpUmXGtWteGgKqUFmYXzI2QZZPUhxBYMG0 hp+6Fo6IXwlA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Apr 2020 00:52:53 -0700 IronPort-SDR: Ev6+qSdVeCEPhu3I296h7TULaKfKzdHAWTQXHP9h38OGbeD2ypEISEA04Ob+K0tUZDdCTPcd10 jHKNB2IKPVOQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,353,1580803200"; d="scan'208";a="254381798" Received: from orsmsx103.amr.corp.intel.com ([10.22.225.130]) by orsmga006.jf.intel.com with ESMTP; 07 Apr 2020 00:52:52 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX103.amr.corp.intel.com (10.22.225.130) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 7 Apr 2020 00:52:51 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) 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.1713.5; Tue, 7 Apr 2020 00:52:51 -0700 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 7 Apr 2020 00:52:51 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.109) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 7 Apr 2020 00:52:42 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Nq6u5G4KSXdrvWG1O2tSr2aIS6suaSGQsesuHrOpZJ33Nw345YFmrGAQ+Hp0axEALuwm9E70S8o2R9HCFNaKNedl+VywTX2Bde2aFBBXH9rPTkv9ObuRY+YljYtYLcQ4C7/aGUIc2vxzMiVg3cCZLB5zgjedxCt0IsmM6JEg1T0XGxe/Xs6zEtHHLZ1BY1Rog5ZxRLIMLmzzkzPxG2FVKlZcVuKYBtRYdfQkBI2+1mr+/NILAUCYePUdO3UuC9dNwZ2vLBPYvrsM37qTBFjKGLrGTyYOmsXFCgTLziaFKGGH1Ng9pVt79TuPZQKtgb5jeqi2foaP4j8AnZm3pUM/Mw== 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=sDEkxMg5v4ObMgHXbmvLmcnlwN/BV2gVRMK27YKAbU0=; b=Q/rT+30u8SUzhFQSsru+wN1tAqOMbFnKP41F3AqsOTQWWbrlbNutSXykdPVZJ/E0i8Y6U7C1lFr92Dv/4ez/gDeXXLuID/LOlganTJzbMXz5/ZWwbtecCGkxbaXW8oIOWE0G2BDPH9XvTLiJTEml4dXZGjlDjPdUsMIG4CmXyH3jiZkEPEzL0DZPy3J5/kjZglsj0k1R8ZlqIEkVnwlYBGml64cMN5Mop0PNxppeRRm1xU64dGm4RSKZej1fIoWM7TIlES3Z8pMaQ1TR6+NrbAMDyMMvxroqyWjUN7Oe24XSbob+theQO1RYhNQoTXBu5Sqob54CM0KvAV0ZJY1boA== 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=sDEkxMg5v4ObMgHXbmvLmcnlwN/BV2gVRMK27YKAbU0=; b=TzEv19mbDSNFRHSzyFMxB5KcJqgh5MGNF9yrgWFSWvemx4NRJEDJrzPG5Eeg7vWBUYqigRvw75AWB0iamriilIovgdWj36Ircr4GzpBZ2FCDVvyy8humyzUkwhygRKqzF6ULeU/xoh7QQcoxyM7UzL9dtrTpDxw3THw3yURDfME= Received: from MN2PR11MB3869.namprd11.prod.outlook.com (2603:10b6:208:138::16) by MN2PR11MB3693.namprd11.prod.outlook.com (2603:10b6:208:f3::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2878.15; Tue, 7 Apr 2020 07:52:41 +0000 Received: from MN2PR11MB3869.namprd11.prod.outlook.com ([fe80::2d69:be8f:10a3:7849]) by MN2PR11MB3869.namprd11.prod.outlook.com ([fe80::2d69:be8f:10a3:7849%7]) with mapi id 15.20.2878.016; Tue, 7 Apr 2020 07:52:41 +0000 From: "Loh, Tien Hock" To: Gaurav Jain , Ard Biesheuvel , Leif Lindholm CC: "devel@edk2.groups.io" , Pankaj Bansal , Haojian Zhuang Subject: Re: [EXT] Re: [PATCH 1/1] EmbeddedPkg/MmcDxe: Added MaxBlock Transfer Limit 65535 in R/W. Thread-Topic: [EXT] Re: [PATCH 1/1] EmbeddedPkg/MmcDxe: Added MaxBlock Transfer Limit 65535 in R/W. Thread-Index: AQHWDBzofcsD7xNxxEOSr+rMWAtEz6hsIpWAgAEZ84CAAAyFUA== Date: Tue, 7 Apr 2020 07:52:41 +0000 Message-ID: References: <1585905847-16380-1-git-send-email-gaurav.jain@nxp.com> <20200406140819.GI14075@vanye> <3d55018b-8751-bbe1-b1ac-98ac36e16e1c@arm.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.2.0.6 dlp-product: dlpe-windows authentication-results: spf=none (sender IP is ) smtp.mailfrom=tien.hock.loh@intel.com; x-originating-ip: [192.198.147.213] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 84d32de1-9f3a-4844-d7fc-08d7dac8a633 x-ms-traffictypediagnostic: MN2PR11MB3693: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 036614DD9C x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB3869.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(10019020)(136003)(396003)(346002)(366004)(376002)(39860400002)(6506007)(55016002)(52536014)(8936002)(66476007)(66446008)(5660300002)(66556008)(9686003)(71200400001)(64756008)(53546011)(26005)(4326008)(66946007)(316002)(81156014)(81166006)(8676002)(7696005)(186003)(33656002)(86362001)(478600001)(2906002)(110136005)(76116006)(54906003);DIR:OUT;SFP:1102; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WJTAvp8Fuc4QT+FQziaClu0XmCQjZFqm+QTfGAVCK1I+/D9ixP4sp8XdVxeggGBVVF+Std4NCznxrBfeF/BiC6Y8WRgIc1XIpmngiJSBjPPBTZ0QV9IPXxH1ZKrRjBJm5m/dcZQnoVaa4nevVqpG0/Pgw9xOMQL7t4XjKQ8I73XKj83/06uNztQ24k5R3VfRQu045GnxHWE8pO/jF5A+Ow9SnpO0vqE2jhHD+pFXPEHKnyJVIrYhW9JGKgFsGEESm0YhtjxvKkpVEuuJfcaNLjc9BCAqD24SSm0PMhSQBModwZfnelzyRb56AyS3EHSmhNR8mQNlc3kzR3Fxi7vIQmTaZu8ZHnL5a4zikHgxwlecaV23T3hZxa4KnKkIxtx1fDcfYMPMyfovG834hlDgANt69wdDtKXsjGbyS3292R57lHhhBA6era+ftkIvPTLe x-ms-exchange-antispam-messagedata: Bq8jCJSln7fph8HtDEhIbyLLFFjDnLzqKtcP2hj56UIRNu904ssXyFA49/hEC8jJBUywYvcvt9D+cmnlJNuKXAzDDoN0bgCvzqqWTACcA2OG7wie14cZiifi0DMgdtztwK0P7tWo+lSTkgg+Iivp0g== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 84d32de1-9f3a-4844-d7fc-08d7dac8a633 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Apr 2020 07:52:41.0945 (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: jUhFJNh51pjXi0IBxsXsr7M18CHYrKyWShdSDuZmQ2utgbxqxFXvkuub1Mg0anO6z0KDdVH35QbK8bmBjxP55Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3693 Return-Path: tien.hock.loh@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGVpZiwgR2F1cmF2LA0KDQpUaGUgY2hhbmdlcyBsb29rIGdvb2QgdG8gbWUsIGJ1dCBJIGhh dmVuJ3QgdGVzdGVkIGl0IG9uIEludGVsJ3MgU29DRlBHQSBwbGF0Zm9ybS4NCkkgd2lsbCBuZWVk IHNvbWUgdGltZSB0byB0ZXN0IGl0IGFzIEknbSB3b3JraW5nIG9uIHNvbWUgb3RoZXIgdGFza3Ms IG1heWJlIGluIGEgd2VlayBvciBzby4NCg0KVGhhbmtzIA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+IEZyb206IEdhdXJhdiBKYWluIDxnYXVyYXYuamFpbkBueHAuY29tPg0KPiBT ZW50OiBUdWVzZGF5LCBBcHJpbCA3LCAyMDIwIDM6MDIgUE0NCj4gVG86IEFyZCBCaWVzaGV1dmVs IDxhcmQuYmllc2hldXZlbEBhcm0uY29tPjsgTGVpZiBMaW5kaG9sbQ0KPiA8bGVpZkBudXZpYWlu Yy5jb20+DQo+IENjOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgUGFua2FqIEJhbnNhbCA8cGFua2Fq LmJhbnNhbEBueHAuY29tPjsgSGFvamlhbg0KPiBaaHVhbmcgPGhhb2ppYW4uemh1YW5nQGxpbmFy by5vcmc+OyBMb2gsIFRpZW4gSG9jaw0KPiA8dGllbi5ob2NrLmxvaEBpbnRlbC5jb20+DQo+IFN1 YmplY3Q6IFJFOiBbRVhUXSBSZTogW1BBVENIIDEvMV0gRW1iZWRkZWRQa2cvTW1jRHhlOiBBZGRl ZCBNYXhCbG9jaw0KPiBUcmFuc2ZlciBMaW1pdCA2NTUzNSBpbiBSL1cuDQo+IA0KPiANCj4gDQo+ ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBBcmQgQmllc2hldXZlbCA8 YXJkLmJpZXNoZXV2ZWxAYXJtLmNvbT4NCj4gPiBTZW50OiBNb25kYXksIEFwcmlsIDYsIDIwMjAg Nzo0MiBQTQ0KPiA+IFRvOiBMZWlmIExpbmRob2xtIDxsZWlmQG51dmlhaW5jLmNvbT47IEdhdXJh diBKYWluDQo+ID4gPGdhdXJhdi5qYWluQG54cC5jb20+DQo+ID4gQ2M6IGRldmVsQGVkazIuZ3Jv dXBzLmlvOyBQYW5rYWogQmFuc2FsIDxwYW5rYWouYmFuc2FsQG54cC5jb20+Ow0KPiA+IEhhb2pp YW4gWmh1YW5nIDxoYW9qaWFuLnpodWFuZ0BsaW5hcm8ub3JnPjsgTG9oLCBUaWVuIEhvY2sNCj4g PiA8dGllbi5ob2NrLmxvaEBpbnRlbC5jb20+DQo+ID4gU3ViamVjdDogW0VYVF0gUmU6IFtQQVRD SCAxLzFdIEVtYmVkZGVkUGtnL01tY0R4ZTogQWRkZWQgTWF4QmxvY2sNCj4gPiBUcmFuc2ZlciBM aW1pdCA2NTUzNSBpbiBSL1cuDQo+ID4NCj4gPiBDYXV0aW9uOiBFWFQgRW1haWwNCj4gPg0KPiA+ IE9uIDQvNi8yMCA0OjA4IFBNLCBMZWlmIExpbmRob2xtIHdyb3RlOg0KPiA+ID4gSGkgR2F1cmF2 LA0KPiA+ID4NCj4gPiA+IEhhb2ppYW4sIFRpZW4gSG9jayAtIGNhbiB5b3UgaGVscCByZXZpZXcv dGVzdCB0aGlzIGNoYW5nZT8NCj4gPiA+DQo+ID4gPiBCZXN0IFJlZ2FyZHMsDQo+ID4gPg0KPiA+ ID4gTGVpZg0KPiA+ID4NCj4gPiA+IE9uIEZyaSwgQXByIDAzLCAyMDIwIGF0IDE0OjU0OjA3ICsw NTMwLCBHYXVyYXYgSmFpbiB3cm90ZToNCj4gPiA+PiBNb3ZlZCBCbG9ja0NvdW50IGNhbGN1bGF0 aW9uIGJlbG93IEJ1ZmZlclNpemUgVmFsaWRhdGlvbiBjaGVja3MuDQo+ID4gPj4gRmlyc3QgRW5z dXJlIEJ1ZmZlcnNpemUgaXMgTm90IFplcm8gYW5kIG11bHRpcGxlIG9mIE1lZGlhIEJsb2NrU2l6 ZS4NCj4gPiA+PiB0aGVuIGNhbGN1bGF0ZSBCbG9ja0NvdW50IGFuZCBwZXJmb3JtIEJsb2NrIGNo ZWNrcy4NCj4gPiA+Pg0KPiA+ID4+IENvcnJlY3RlZCBCbG9ja0NvdW50IGNhbGN1bGF0aW9uLCBh cyBCdWZmZXJTaXplIGlzIG11bHRpcGxlIG9mDQo+ID4gPj4gQmxvY2tTaXplLCBTbyBhZGRpbmcg KEJsb2NrU2l6ZS0xKSBieXRlcyB0byBCdWZmZXJTaXplIGFuZCB0aGVuDQo+ID4gPj4gZGl2aWRl IGJ5IEJsb2NrU2l6ZSB3aWxsIGhhdmUgbm8gaW1wYWN0IG9uIEJsb2NrQ291bnQuDQo+ID4gPj4N Cj4gPiA+PiBSZWFkaW5nIExhcmdlIEltYWdlcyBmcm9tIE1NQyBjYXVzZXMgZXJyb3JzLg0KPiA+ ID4+IEFzIHBlciBTRCBIb3N0IENvbnRyb2xsZXIgU3BlYyB2ZXJzaW9uIDQuMjAsIFJlc3RyaWN0 aW9uIG9mIDE2LWJpdA0KPiA+ID4+IEJsb2NrIENvdW50IHRyYW5zZmVyIGlzIDY1NTM1Lg0KPiA+ ID4+IE1heCBibG9jayB0cmFuc2ZlciBsaW1pdCBpbiBzaW5nbGUgY21kIGlzIDY1NTM1IGJsb2Nr cy4NCj4gPiA+PiBBZGRlZCBNYXggQmxvY2sgY2hlY2sgdGhhdCBjYW4gYmUgcHJvY2Vzc2VkIGlz IDB4RkZGRi4NCj4gPiA+PiB0aGVuIFVwZGF0ZSBCbG9ja0NvdW50IG9uIHRoZSBiYXNpcyBvZiBN YXhCbG9jay4NCj4gPiA+Pg0KPiA+ID4+IFNpZ25lZC1vZmYtYnk6IEdhdXJhdiBKYWluIDxnYXVy YXYuamFpbkBueHAuY29tPg0KPiA+DQo+ID4NCj4gPiBIZWxsbyBHYXVyYXYsDQo+ID4NCj4gPiBD b3VsZCB5b3UgcGxlYXNlIGVsYWJvcmF0ZSBvbiB0aGUgdW5kZXJseWluZyBuZWVkIGZvciB0aGlz IGNoYW5nZT8gSWYNCj4gPiB5b3UgYXJlIGNvbnNpZGVyaW5nIHVzaW5nIHRoaXMgZHJpdmVyIGZv ciBmdXR1cmUgTlhQIHBsYXRmb3JtcywgSQ0KPiA+IHNob3VsZCBwb2ludCBvdXQgdGhhdCB0aGlz IGxlZ2FjeSBkcml2ZXIgaXMgb25seSBrZXB0IGFyb3VuZCBmb3INCj4gPiBleGlzdGluZyB1c2Vy cywgYW5kIG5ldyB1c2VycyBzaG91bGQgdXNlIHRoZSBkcml2ZXIgc3RhY2sgaW4NCj4gPiBNZGVN b2R1bGVQa2csIHdoaWNoIGlzIGJhc2VkIG9uIHRoZSBVRUZJIHNwZWMuDQo+ID4NCj4gPiAtLQ0K PiA+IEFyZC4NCj4gDQo+IEhlbGxvIEFyZA0KPiANCj4gVGhpcyBjaGFuZ2UgaXMgZm9yIGV4aXN0 aW5nIFBsYXRmb3JtcyBhcyB3ZWxsLCB0aGF0IGFyZSB1c2luZyBFbWJlZGRlZFBrZw0KPiBkcml2 ZXIuDQo+IEkgY2FuIHNlZSBNYXggQmxvY2sgVHJhbnNmZXIgTGltaXQgaW4gTWRlTW9kdWxlUGtn IGFsc28uDQo+IFRoaXMgTGltaXQgaXMgbm90IGRlZmluZWQgaW4gRW1iZWRkZWRQa2csIHdoaWNo IGlzIGNhdXNpbmcgZXJyb3JzIG9uIE5YUA0KPiBleGlzdGluZyBwbGF0Zm9ybSBXaGlsZSByZWFk aW5nIExhcmdlIGltYWdlcyBmcm9tIE1NQy4NCj4gQmxvY2sgdHJhbnNmZXIgbGltaXQgaXMgZGVm aW5lZCBpbiBTRCBzcGVjLg0KPiANCj4gUmVnYXJkcw0KPiBHYXVyYXYgSmFpbg0KPiA+DQo+ID4N Cj4gPg0KPiA+ID4+IC0tLQ0KPiA+ID4+ICAgRW1iZWRkZWRQa2cvVW5pdmVyc2FsL01tY0R4ZS9N bWNCbG9ja0lvLmMgfCAzOA0KPiA+ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0NCj4g PiA+PiAgIDEgZmlsZSBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkN Cj4gPiA+Pg0KPiA+ID4+IGRpZmYgLS1naXQgYS9FbWJlZGRlZFBrZy9Vbml2ZXJzYWwvTW1jRHhl L01tY0Jsb2NrSW8uYw0KPiA+ID4+IGIvRW1iZWRkZWRQa2cvVW5pdmVyc2FsL01tY0R4ZS9NbWNC bG9ja0lvLmMNCj4gPiA+PiBpbmRleCAxN2MyMGMwMTU5YmEuLmI1MDhjNDY2ZDljNSAxMDA2NDQN Cj4gPiA+PiAtLS0gYS9FbWJlZGRlZFBrZy9Vbml2ZXJzYWwvTW1jRHhlL01tY0Jsb2NrSW8uYw0K PiA+ID4+ICsrKyBiL0VtYmVkZGVkUGtnL1VuaXZlcnNhbC9NbWNEeGUvTW1jQmxvY2tJby5jDQo+ ID4gPj4gQEAgLTI0Miw2ICsyNDIsOCBAQCBNbWNJb0Jsb2NrcyAoDQo+ID4gPj4gICAgIFVJTlRO ICAgICAgICAgICAgICAgICAgIEJ5dGVzUmVtYWluaW5nVG9CZVRyYW5zZmVyZWQ7DQo+ID4gPj4g ICAgIFVJTlROICAgICAgICAgICAgICAgICAgIEJsb2NrQ291bnQ7DQo+ID4gPj4gICAgIFVJTlRO ICAgICAgICAgICAgICAgICAgIENvbnN1bWVTaXplOw0KPiA+ID4+ICsgIFVJTlQzMiAgICAgICAg ICAgICAgICAgIE1heEJsb2NrOw0KPiA+ID4+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgIFJl bWFpbmluZ0Jsb2NrOw0KPiA+ID4+DQo+ID4gPj4gICAgIEJsb2NrQ291bnQgPSAxOw0KPiA+ID4+ ICAgICBNbWNIb3N0SW5zdGFuY2UgPSBNTUNfSE9TVF9JTlNUQU5DRV9GUk9NX0JMT0NLX0lPX1RI SVMNCj4gPiAoVGhpcyk7IEBADQo+ID4gPj4gLTI2MiwxOSArMjY0LDYgQEAgTW1jSW9CbG9ja3Mg KA0KPiA+ID4+ICAgICAgIHJldHVybiBFRklfTk9fTUVESUE7DQo+ID4gPj4gICAgIH0NCj4gPiA+ Pg0KPiA+ID4+IC0gIGlmIChNTUNfSE9TVF9IQVNfSVNNVUxUSUJMT0NLKE1tY0hvc3QpICYmIE1t Y0hvc3QtDQo+ID4gPklzTXVsdGlCbG9jayhNbWNIb3N0KSkgew0KPiA+ID4+IC0gICAgQmxvY2tD b3VudCA9IChCdWZmZXJTaXplICsgVGhpcy0+TWVkaWEtPkJsb2NrU2l6ZSAtIDEpIC8gVGhpcy0+ TWVkaWEtDQo+ID4gPkJsb2NrU2l6ZTsNCj4gPiA+PiAtICB9DQo+ID4gPj4gLQ0KPiA+ID4+IC0g IC8vIEFsbCBibG9ja3MgbXVzdCBiZSB3aXRoaW4gdGhlIGRldmljZQ0KPiA+ID4+IC0gIGlmICgo TGJhICsgKEJ1ZmZlclNpemUgLyBUaGlzLT5NZWRpYS0+QmxvY2tTaXplKSkgPg0KPiA+ID4+IChU aGlzLT5NZWRpYS0NCj4gPiA+TGFzdEJsb2NrICsgMSkpIHsNCj4gPiA+PiAtICAgIHJldHVybiBF RklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ID4gPj4gLSAgfQ0KPiA+ID4+IC0NCj4gPiA+PiAtICBp ZiAoKFRyYW5zZmVyID09IE1NQ19JT0JMT0NLU19XUklURSkgJiYgKFRoaXMtPk1lZGlhLT5SZWFk T25seQ0KPiA+ID09IFRSVUUpKSB7DQo+ID4gPj4gLSAgICByZXR1cm4gRUZJX1dSSVRFX1BST1RF Q1RFRDsNCj4gPiA+PiAtICB9DQo+ID4gPj4gLQ0KPiA+ID4+ICAgICAvLyBSZWFkaW5nIDAgQnl0 ZSBpcyB2YWxpZA0KPiA+ID4+ICAgICBpZiAoQnVmZmVyU2l6ZSA9PSAwKSB7DQo+ID4gPj4gICAg ICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiA+ID4+IEBAIC0yODUsMTQgKzI3NCwzNiBAQCBNbWNJ b0Jsb2NrcyAoDQo+ID4gPj4gICAgICAgcmV0dXJuIEVGSV9CQURfQlVGRkVSX1NJWkU7DQo+ID4g Pj4gICAgIH0NCj4gPiA+Pg0KPiA+ID4+ICsgIGlmIChNTUNfSE9TVF9IQVNfSVNNVUxUSUJMT0NL KE1tY0hvc3QpICYmIE1tY0hvc3QtDQo+ID4gPklzTXVsdGlCbG9jayhNbWNIb3N0KSkgew0KPiA+ ID4+ICsgICAgQmxvY2tDb3VudCA9IEJ1ZmZlclNpemUgLyBUaGlzLT5NZWRpYS0+QmxvY2tTaXpl OyAgfQ0KPiA+ID4+ICsNCj4gPiA+PiArICAvLyBBbGwgYmxvY2tzIG11c3QgYmUgd2l0aGluIHRo ZSBkZXZpY2UgIGlmICgoTGJhICsgKEJ1ZmZlclNpemUNCj4gPiA+PiArIC8NCj4gPiA+PiArIFRo aXMtPk1lZGlhLT5CbG9ja1NpemUpKSA+IChUaGlzLT5NZWRpYS0+TGFzdEJsb2NrICsgMSkpIHsN Cj4gPiA+PiArICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ID4gPj4gKyAgfQ0K PiA+ID4+ICsNCj4gPiA+PiArICBpZiAoKFRyYW5zZmVyID09IE1NQ19JT0JMT0NLU19XUklURSkg JiYgKFRoaXMtPk1lZGlhLT5SZWFkT25seQ0KPiA+ID09IFRSVUUpKSB7DQo+ID4gPj4gKyAgICBy ZXR1cm4gRUZJX1dSSVRFX1BST1RFQ1RFRDsNCj4gPiA+PiArICB9DQo+ID4gPj4gKw0KPiA+ID4+ ICAgICAvLyBDaGVjayB0aGUgYWxpZ25tZW50DQo+ID4gPj4gICAgIGlmICgoVGhpcy0+TWVkaWEt PklvQWxpZ24gPiAyKSAmJiAoKChVSU5UTilCdWZmZXIgJg0KPiA+ID4+IChUaGlzLT5NZWRpYS0N Cj4gPiA+SW9BbGlnbiAtIDEpKSAhPSAwKSkgew0KPiA+ID4+ICAgICAgIHJldHVybiBFRklfSU5W QUxJRF9QQVJBTUVURVI7DQo+ID4gPj4gICAgIH0NCj4gPiA+Pg0KPiA+ID4+ICsgIC8vIE1heCBi bG9jayBudW1iZXIgaW4gc2luZ2xlIGNtZCBpcyA2NTUzNSBibG9ja3MuDQo+ID4gPj4gKyAgTWF4 QmxvY2sgPSAweEZGRkY7DQo+ID4gPj4gKyAgUmVtYWluaW5nQmxvY2sgPSBCbG9ja0NvdW50Ow0K PiA+ID4+ICAgICBCeXRlc1JlbWFpbmluZ1RvQmVUcmFuc2ZlcmVkID0gQnVmZmVyU2l6ZTsNCj4g PiA+PiAgICAgd2hpbGUgKEJ5dGVzUmVtYWluaW5nVG9CZVRyYW5zZmVyZWQgPiAwKSB7DQo+ID4g Pj4NCj4gPiA+PiArICAgIGlmIChSZW1haW5pbmdCbG9jayA8PSBNYXhCbG9jaykgew0KPiA+ID4+ ICsgICAgICBCbG9ja0NvdW50ID0gUmVtYWluaW5nQmxvY2s7DQo+ID4gPj4gKyAgICB9IGVsc2Ug ew0KPiA+ID4+ICsgICAgICBCbG9ja0NvdW50ID0gTWF4QmxvY2s7DQo+ID4gPj4gKyAgICB9DQo+ ID4gPj4gKw0KPiA+ID4+ICAgICAgIC8vIENoZWNrIGlmIHRoZSBDYXJkIGlzIGluIFJlYWR5IHN0 YXR1cw0KPiA+ID4+ICAgICAgIENtZEFyZyA9IE1tY0hvc3RJbnN0YW5jZS0+Q2FyZEluZm8uUkNB IDw8IDE2Ow0KPiA+ID4+ICAgICAgIFJlc3BvbnNlWzBdID0gMDsNCj4gPiA+PiBAQCAtMzM4LDYg KzM0OSw3IEBAIE1tY0lvQmxvY2tzICgNCj4gPiA+PiAgICAgICAgIERFQlVHICgoRUZJX0RfRVJS T1IsICIlYSgpOiBGYWlsZWQgdG8gdHJhbnNmZXIgYmxvY2sgYW5kDQo+ID4gU3RhdHVzOiVyXG4i LCBfX2Z1bmNfXywgU3RhdHVzKSk7DQo+ID4gPj4gICAgICAgfQ0KPiA+ID4+DQo+ID4gPj4gKyAg ICBSZW1haW5pbmdCbG9jayAtPSBCbG9ja0NvdW50Ow0KPiA+ID4+ICAgICAgIEJ5dGVzUmVtYWlu aW5nVG9CZVRyYW5zZmVyZWQgLT0gQ29uc3VtZVNpemU7DQo+ID4gPj4gICAgICAgaWYgKEJ5dGVz UmVtYWluaW5nVG9CZVRyYW5zZmVyZWQgPiAwKSB7DQo+ID4gPj4gICAgICAgICBMYmEgICAgKz0g QmxvY2tDb3VudDsNCj4gPiA+PiAtLQ0KPiA+ID4+IDIuNy40DQo+ID4gPj4NCg0K