From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web10.278.1587953720928348060 for ; Sun, 26 Apr 2020 19:15:21 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=nxJLPmK7; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: tien.hock.loh@intel.com) IronPort-SDR: JsizW7shp6hfaZ5e4y8PbuVHh1hVQk+28WJpA7ll0o0Co7MV0DZSOGKPe2JH9I6cljcbuyGVgn MDrNZi1l+kPg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Apr 2020 19:15:19 -0700 IronPort-SDR: T+3QbbStF8adLkB0L8OGydRvM5sVqALt8U+MPql0Bk/0HBOr/DPfNOQeVg2gn76dSwew9mUyN2 rxeQxxr60u8w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,321,1583222400"; d="scan'208";a="245947866" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga007.jf.intel.com with ESMTP; 26 Apr 2020 19:15:19 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 26 Apr 2020 19:15:18 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 26 Apr 2020 19:15:17 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Sun, 26 Apr 2020 19:15:17 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.171) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 26 Apr 2020 19:15:11 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T53DD5BRP78Vf4Ck/NKUfqUfRUeS4X0E9jzgjga4qMucsHuI47/NMJi1IkG8zzdkbuQOWYZMaJgWx+8VyRmrYcRhNiFY67ToWUB31tJFum6HGxI5KHZsoelqHe/uzoKyxlGcj0I18kv9MXCktMpJTqw52HIxnisan5bgABnOqCoBGcmZV/6dlW3RHTHYABdRhElqrisaLbI5G+HZKPy0F56MUyD8GOO3cAFDtopnzxMmzICVcBmMHkLnSv5uK57E513vlscs/8fad5H4nE+3HEN+Er2mnN/RU/Q3Y2V5J44eMC9b8sy6Nj2ofriRKIsQ3BsX+dPw8R5W9/IYigLeSA== 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=bhyZef3sFbDhiaZvRTMs7ampQh+mkVZJ3YNA5K/YW34=; b=I9DoItArg9gvSQWhORttSrrQCffpUAksqsC7PM0dJXKyJh5fr7AbSZ6fJYs1aMJ8Qh6g6tDzBXTqewc/vz95YdDMY704QaEeX1X6N/DbRm3Z0NPuw9I6PU51ZYkmGZWpZ9VMosIOWqjpAfKFMTJcNyRmuY0YForCZwswxqmHrbNP7bg2qT9Sc+Ym3oditluHNeoE9MNFrAJZaSDve0uJmk4MIvwpEEIAY6f/3yepnbY5BcEGZHOnUGH11XxgTFo3R/p+ZhVrS0ja6W1SWtbrHYJI6AsaOiXFGJkHExTU7X+gOUCWqy/7fxPY3b75K7pmZ2hZYoftz0LFNiDYoC8AGw== 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=bhyZef3sFbDhiaZvRTMs7ampQh+mkVZJ3YNA5K/YW34=; b=nxJLPmK7elo86YPFhENB9NH2eAWsYsz/5Z/qUYWS/HZi7ICr6Z9nw8U/3dG00p3mhf3gKz1Rxk1PjUrGmcvZQVJhI0zxpQNuxQOCnXHQUTeM+gMm36ltooPU8+BdXro18o3DyIwok+pKRoR0rUB58X9zx3QC4sqKtnC3k1Z/SD0= Received: from MN2PR11MB3869.namprd11.prod.outlook.com (2603:10b6:208:138::16) by MN2PR11MB4549.namprd11.prod.outlook.com (2603:10b6:208:26d::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.22; Mon, 27 Apr 2020 02:15:10 +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.2937.020; Mon, 27 Apr 2020 02:15:10 +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+rMWAtEz6hsIpWAgAEZ84CAAAyFUIAV7fyAgAkjvaA= Date: Mon, 27 Apr 2020 02:15:09 +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: [42.189.237.24] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d8665a67-f494-4cb2-5a6c-08d7ea50cfe9 x-ms-traffictypediagnostic: MN2PR11MB4549: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0386B406AA 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:(136003)(396003)(366004)(346002)(376002)(39860400002)(7696005)(5660300002)(26005)(8676002)(478600001)(81156014)(186003)(8936002)(66946007)(33656002)(2906002)(316002)(76116006)(86362001)(53546011)(110136005)(4326008)(71200400001)(6506007)(9686003)(64756008)(66476007)(66556008)(66446008)(55016002)(52536014)(54906003);DIR:OUT;SFP:1102; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TFaqBOhcVR3mNT5MYdEjFt5wPAsVNp5mQalF7FXhf+kcRKxlJBDOUOFKqZEuklav6y1ZFq6hGurJ4QG87wFr6ElMrGO9WQhOjANGejUFzyNdnYkNGaAvPt5QTctXZJIG3Zw+Ifj2BgHvskIg8TJ/wkOMOwALpFVeNTAK117XUzjZaqIl9HNjT+kFUwjQ7rR5PZzdwQyCK3fG01ZRAPDOcvEVH0KrUwjfiY7QXiONAq2H0jYiM/xqgFr8sSeGX5bjAyAhUj1Z+zudtOgWVdrP3YCUEFMRmfz3UTdlPYWIvANzFCF8/PI21FwuvWIsZDHk4fxjii57QG8ewX1xQ2A5esZTni5fy2W621xIPQV7n/jJnsoP6VLOFJ28me2cRfkfDKl+I07yjKMqgnFe+/tjSmeGoIWpkwER81j2RBdR/3SbPeJHSoB80+Akb06wOOVr x-ms-exchange-antispam-messagedata: AyebDwVH+2IPWWKbIwPp46bJ3PN4vMahAPgcH8c5xqybjINs/xxXXlsBi9prXF/oXYuDWDCo5EGsq3R5EL0O+kiIdFPW+gFMT1tgUZEuftJfBRg43K+39Y+QtnKptJt/ow9PEAaBKQQ4RMe2kUX4l9Me2oMdkVCeR376Fxj/d7RJ+vnVHV7L6juKYU0/q0+AoRcF07+s2tYP0llggWSAN9kSNB0w5Jsk5YpRguuDRHf6HFzD8mKPP8Oi8vR/moCNU7naNwze2/vq0GPMBKV9YWPSPcruBnWoa8y1PKE2xGYxcZiJMOGBRsVWX6APP/AKy8WQmy/4pIGivMKbNQO6L5of4l2WZJ61rGCJivrx7/Ual4Kj0zQc8zNrKsS3+CmO7LWYua7UEcB99mahEUIaqwG5W9gfP8ap0hB/CvVKgPBVZN4YES5FqP0SFdt4meetPJHuiXK4n7f8VxI7U+LB+46lTX3dEpOlJ9+BU6dh97ZWfX2lk36HO0lWJ662/atG3J/cw4Nfy6k4ZXo6lOxXM8kDd+rQLkxd04Bx5zlWQetaKEqqH7UpoE1TCrn4NMvF0z77Eoq/6wppQCVQZlcEtJBn1i8+dvt1NqroeJot8LG/R3FVFJY4tnMeQI7iNdJ+cMfDXfDdP3R8hJse/P3FGXkqGulrfzM8JMqZ4SRfPyFub9xO+blwaKijGyu+ajT3M/X+gARFKxAoSEcuBzxoVUcxtdroYvYGXKjjHpSJddvDSu7z8cOM0gBe/eniwwCe3SHgp0Pjfa1/4ceScUkUCrjYuJhaUUIkEKR95sxUh8Q= x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: d8665a67-f494-4cb2-5a6c-08d7ea50cfe9 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Apr 2020 02:15:10.0619 (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: RNi+9m/bizGh3RnqMI4IKrJ07CKXj04grM0nN+0Ng/VFK/bjM+jLU7/6OGuDI7cOPhARRYH+8Z++o40qolZTtQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4549 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 SGkgR2F1cmF2LA0KDQpTb3JyeSBmb3IgdGhlIGxhdGUgcmVwbHkuIEkgd2FudGVkIHRvIHRlc3Qg dGhlIHBhdGNoIGxhc3Qgd2VlayBidXQgd2VyZSBmaXhpbmcgYSBidWcgaW4gb3VyIHBsYXRmb3Jt IGluaXRpYWxpemF0aW9uIGJ1ZyB0aGF0IGNhdXNlZCBNTUMgdG8gZmFpbCwgdGh1cyBJIHdlcmUg dW5hYmxlIHRvIHRlc3QuDQpJJ2xsIHRlc3QgaXQgaW4gYSBmZXcgZGF5cy4gDQoNClRoYW5rcyEg DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogR2F1cmF2IEphaW4gPGdh dXJhdi5qYWluQG54cC5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIEFwcmlsIDIxLCAyMDIwIDI6NDAg UE0NCj4gVG86IExvaCwgVGllbiBIb2NrIDx0aWVuLmhvY2subG9oQGludGVsLmNvbT47IEFyZCBC aWVzaGV1dmVsDQo+IDxhcmQuYmllc2hldXZlbEBhcm0uY29tPjsgTGVpZiBMaW5kaG9sbSA8bGVp ZkBudXZpYWluYy5jb20+DQo+IENjOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgUGFua2FqIEJhbnNh bCA8cGFua2FqLmJhbnNhbEBueHAuY29tPjsgSGFvamlhbg0KPiBaaHVhbmcgPGhhb2ppYW4uemh1 YW5nQGxpbmFyby5vcmc+DQo+IFN1YmplY3Q6IFJFOiBbRVhUXSBSZTogW1BBVENIIDEvMV0gRW1i ZWRkZWRQa2cvTW1jRHhlOiBBZGRlZCBNYXhCbG9jaw0KPiBUcmFuc2ZlciBMaW1pdCA2NTUzNSBp biBSL1cuDQo+IA0KPiBIaSBUaWVuIEhvY2sNCj4gDQo+IENhbiB5b3UgaGVscCB0byByZXZpZXcg dGhlIHBhdGNoPw0KPiANCj4gUmVnYXJkcw0KPiBHYXVyYXYgSmFpbg0KPiANCj4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IExvaCwgVGllbiBIb2NrIDx0aWVuLmhvY2su bG9oQGludGVsLmNvbT4NCj4gPiBTZW50OiBUdWVzZGF5LCBBcHJpbCA3LCAyMDIwIDE6MjMgUE0N Cj4gPiBUbzogR2F1cmF2IEphaW4gPGdhdXJhdi5qYWluQG54cC5jb20+OyBBcmQgQmllc2hldXZl bA0KPiA+IDxhcmQuYmllc2hldXZlbEBhcm0uY29tPjsgTGVpZiBMaW5kaG9sbSA8bGVpZkBudXZp YWluYy5jb20+DQo+ID4gQ2M6IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBQYW5rYWogQmFuc2FsIDxw YW5rYWouYmFuc2FsQG54cC5jb20+Ow0KPiA+IEhhb2ppYW4gWmh1YW5nIDxoYW9qaWFuLnpodWFu Z0BsaW5hcm8ub3JnPg0KPiA+IFN1YmplY3Q6IFJFOiBbRVhUXSBSZTogW1BBVENIIDEvMV0gRW1i ZWRkZWRQa2cvTW1jRHhlOiBBZGRlZCBNYXhCbG9jaw0KPiA+IFRyYW5zZmVyIExpbWl0IDY1NTM1 IGluIFIvVy4NCj4gPg0KPiA+IENhdXRpb246IEVYVCBFbWFpbA0KPiA+DQo+ID4gSGkgTGVpZiwg R2F1cmF2LA0KPiA+DQo+ID4gVGhlIGNoYW5nZXMgbG9vayBnb29kIHRvIG1lLCBidXQgSSBoYXZl bid0IHRlc3RlZCBpdCBvbiBJbnRlbCdzDQo+ID4gU29DRlBHQSBwbGF0Zm9ybS4NCj4gPiBJIHdp bGwgbmVlZCBzb21lIHRpbWUgdG8gdGVzdCBpdCBhcyBJJ20gd29ya2luZyBvbiBzb21lIG90aGVy IHRhc2tzLA0KPiA+IG1heWJlIGluIGEgd2VlayBvciBzby4NCj4gPg0KPiA+IFRoYW5rcw0KPiA+ DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogR2F1cmF2IEph aW4gPGdhdXJhdi5qYWluQG54cC5jb20+DQo+ID4gPiBTZW50OiBUdWVzZGF5LCBBcHJpbCA3LCAy MDIwIDM6MDIgUE0NCj4gPiA+IFRvOiBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAYXJt LmNvbT47IExlaWYgTGluZGhvbG0NCj4gPiA+IDxsZWlmQG51dmlhaW5jLmNvbT4NCj4gPiA+IENj OiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgUGFua2FqIEJhbnNhbCA8cGFua2FqLmJhbnNhbEBueHAu Y29tPjsNCj4gPiA+IEhhb2ppYW4gWmh1YW5nIDxoYW9qaWFuLnpodWFuZ0BsaW5hcm8ub3JnPjsg TG9oLCBUaWVuIEhvY2sNCj4gPiA+IDx0aWVuLmhvY2subG9oQGludGVsLmNvbT4NCj4gPiA+IFN1 YmplY3Q6IFJFOiBbRVhUXSBSZTogW1BBVENIIDEvMV0gRW1iZWRkZWRQa2cvTW1jRHhlOiBBZGRl ZA0KPiA+IE1heEJsb2NrDQo+ID4gPiBUcmFuc2ZlciBMaW1pdCA2NTUzNSBpbiBSL1cuDQo+ID4g Pg0KPiA+ID4NCj4gPiA+DQo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4g PiA+IEZyb206IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBhcm0uY29tPg0KPiA+ID4g PiBTZW50OiBNb25kYXksIEFwcmlsIDYsIDIwMjAgNzo0MiBQTQ0KPiA+ID4gPiBUbzogTGVpZiBM aW5kaG9sbSA8bGVpZkBudXZpYWluYy5jb20+OyBHYXVyYXYgSmFpbg0KPiA+ID4gPiA8Z2F1cmF2 LmphaW5AbnhwLmNvbT4NCj4gPiA+ID4gQ2M6IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBQYW5rYWog QmFuc2FsIDxwYW5rYWouYmFuc2FsQG54cC5jb20+Ow0KPiA+ID4gPiBIYW9qaWFuIFpodWFuZyA8 aGFvamlhbi56aHVhbmdAbGluYXJvLm9yZz47IExvaCwgVGllbiBIb2NrDQo+ID4gPiA+IDx0aWVu LmhvY2subG9oQGludGVsLmNvbT4NCj4gPiA+ID4gU3ViamVjdDogW0VYVF0gUmU6IFtQQVRDSCAx LzFdIEVtYmVkZGVkUGtnL01tY0R4ZTogQWRkZWQgTWF4QmxvY2sNCj4gPiA+ID4gVHJhbnNmZXIg TGltaXQgNjU1MzUgaW4gUi9XLg0KPiA+ID4gPg0KPiA+ID4gPiBDYXV0aW9uOiBFWFQgRW1haWwN Cj4gPiA+ID4NCj4gPiA+ID4gT24gNC82LzIwIDQ6MDggUE0sIExlaWYgTGluZGhvbG0gd3JvdGU6 DQo+ID4gPiA+ID4gSGkgR2F1cmF2LA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSGFvamlhbiwgVGll biBIb2NrIC0gY2FuIHlvdSBoZWxwIHJldmlldy90ZXN0IHRoaXMgY2hhbmdlPw0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4gQmVzdCBSZWdhcmRzLA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gTGVpZg0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4gT24gRnJpLCBBcHIgMDMsIDIwMjAgYXQgMTQ6NTQ6MDcgKzA1MzAs IEdhdXJhdiBKYWluIHdyb3RlOg0KPiA+ID4gPiA+PiBNb3ZlZCBCbG9ja0NvdW50IGNhbGN1bGF0 aW9uIGJlbG93IEJ1ZmZlclNpemUgVmFsaWRhdGlvbiBjaGVja3MuDQo+ID4gPiA+ID4+IEZpcnN0 IEVuc3VyZSBCdWZmZXJzaXplIGlzIE5vdCBaZXJvIGFuZCBtdWx0aXBsZSBvZiBNZWRpYSBCbG9j a1NpemUuDQo+ID4gPiA+ID4+IHRoZW4gY2FsY3VsYXRlIEJsb2NrQ291bnQgYW5kIHBlcmZvcm0g QmxvY2sgY2hlY2tzLg0KPiA+ID4gPiA+Pg0KPiA+ID4gPiA+PiBDb3JyZWN0ZWQgQmxvY2tDb3Vu dCBjYWxjdWxhdGlvbiwgYXMgQnVmZmVyU2l6ZSBpcyBtdWx0aXBsZSBvZg0KPiA+ID4gPiA+PiBC bG9ja1NpemUsIFNvIGFkZGluZyAoQmxvY2tTaXplLTEpIGJ5dGVzIHRvIEJ1ZmZlclNpemUgYW5k IHRoZW4NCj4gPiA+ID4gPj4gZGl2aWRlIGJ5IEJsb2NrU2l6ZSB3aWxsIGhhdmUgbm8gaW1wYWN0 IG9uIEJsb2NrQ291bnQuDQo+ID4gPiA+ID4+DQo+ID4gPiA+ID4+IFJlYWRpbmcgTGFyZ2UgSW1h Z2VzIGZyb20gTU1DIGNhdXNlcyBlcnJvcnMuDQo+ID4gPiA+ID4+IEFzIHBlciBTRCBIb3N0IENv bnRyb2xsZXIgU3BlYyB2ZXJzaW9uIDQuMjAsIFJlc3RyaWN0aW9uIG9mDQo+ID4gPiA+ID4+IDE2 LWJpdCBCbG9jayBDb3VudCB0cmFuc2ZlciBpcyA2NTUzNS4NCj4gPiA+ID4gPj4gTWF4IGJsb2Nr IHRyYW5zZmVyIGxpbWl0IGluIHNpbmdsZSBjbWQgaXMgNjU1MzUgYmxvY2tzLg0KPiA+ID4gPiA+ PiBBZGRlZCBNYXggQmxvY2sgY2hlY2sgdGhhdCBjYW4gYmUgcHJvY2Vzc2VkIGlzIDB4RkZGRi4N Cj4gPiA+ID4gPj4gdGhlbiBVcGRhdGUgQmxvY2tDb3VudCBvbiB0aGUgYmFzaXMgb2YgTWF4Qmxv Y2suDQo+ID4gPiA+ID4+DQo+ID4gPiA+ID4+IFNpZ25lZC1vZmYtYnk6IEdhdXJhdiBKYWluIDxn YXVyYXYuamFpbkBueHAuY29tPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBIZWxsbyBHYXVy YXYsDQo+ID4gPiA+DQo+ID4gPiA+IENvdWxkIHlvdSBwbGVhc2UgZWxhYm9yYXRlIG9uIHRoZSB1 bmRlcmx5aW5nIG5lZWQgZm9yIHRoaXMgY2hhbmdlPw0KPiA+ID4gPiBJZiB5b3UgYXJlIGNvbnNp ZGVyaW5nIHVzaW5nIHRoaXMgZHJpdmVyIGZvciBmdXR1cmUgTlhQIHBsYXRmb3JtcywNCj4gPiA+ ID4gSSBzaG91bGQgcG9pbnQgb3V0IHRoYXQgdGhpcyBsZWdhY3kgZHJpdmVyIGlzIG9ubHkga2Vw dCBhcm91bmQgZm9yDQo+ID4gPiA+IGV4aXN0aW5nIHVzZXJzLCBhbmQgbmV3IHVzZXJzIHNob3Vs ZCB1c2UgdGhlIGRyaXZlciBzdGFjayBpbg0KPiA+ID4gPiBNZGVNb2R1bGVQa2csIHdoaWNoIGlz IGJhc2VkIG9uIHRoZSBVRUZJIHNwZWMuDQo+ID4gPiA+DQo+ID4gPiA+IC0tDQo+ID4gPiA+IEFy ZC4NCj4gPiA+DQo+ID4gPiBIZWxsbyBBcmQNCj4gPiA+DQo+ID4gPiBUaGlzIGNoYW5nZSBpcyBm b3IgZXhpc3RpbmcgUGxhdGZvcm1zIGFzIHdlbGwsIHRoYXQgYXJlIHVzaW5nDQo+ID4gPiBFbWJl ZGRlZFBrZyBkcml2ZXIuDQo+ID4gPiBJIGNhbiBzZWUgTWF4IEJsb2NrIFRyYW5zZmVyIExpbWl0 IGluIE1kZU1vZHVsZVBrZyBhbHNvLg0KPiA+ID4gVGhpcyBMaW1pdCBpcyBub3QgZGVmaW5lZCBp biBFbWJlZGRlZFBrZywgd2hpY2ggaXMgY2F1c2luZyBlcnJvcnMgb24NCj4gPiA+IE5YUCBleGlz dGluZyBwbGF0Zm9ybSBXaGlsZSByZWFkaW5nIExhcmdlIGltYWdlcyBmcm9tIE1NQy4NCj4gPiA+ IEJsb2NrIHRyYW5zZmVyIGxpbWl0IGlzIGRlZmluZWQgaW4gU0Qgc3BlYy4NCj4gPiA+DQo+ID4g PiBSZWdhcmRzDQo+ID4gPiBHYXVyYXYgSmFpbg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0K PiA+ID4gPiA+PiAtLS0NCj4gPiA+ID4gPj4gICBFbWJlZGRlZFBrZy9Vbml2ZXJzYWwvTW1jRHhl L01tY0Jsb2NrSW8uYyB8IDM4DQo+ID4gPiA+ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0NCj4gPiA+ID4gPj4gICAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTMgZGVs ZXRpb25zKC0pDQo+ID4gPiA+ID4+DQo+ID4gPiA+ID4+IGRpZmYgLS1naXQgYS9FbWJlZGRlZFBr Zy9Vbml2ZXJzYWwvTW1jRHhlL01tY0Jsb2NrSW8uYw0KPiA+ID4gPiA+PiBiL0VtYmVkZGVkUGtn L1VuaXZlcnNhbC9NbWNEeGUvTW1jQmxvY2tJby5jDQo+ID4gPiA+ID4+IGluZGV4IDE3YzIwYzAx NTliYS4uYjUwOGM0NjZkOWM1IDEwMDY0NA0KPiA+ID4gPiA+PiAtLS0gYS9FbWJlZGRlZFBrZy9V bml2ZXJzYWwvTW1jRHhlL01tY0Jsb2NrSW8uYw0KPiA+ID4gPiA+PiArKysgYi9FbWJlZGRlZFBr Zy9Vbml2ZXJzYWwvTW1jRHhlL01tY0Jsb2NrSW8uYw0KPiA+ID4gPiA+PiBAQCAtMjQyLDYgKzI0 Miw4IEBAIE1tY0lvQmxvY2tzICgNCj4gPiA+ID4gPj4gICAgIFVJTlROICAgICAgICAgICAgICAg ICAgIEJ5dGVzUmVtYWluaW5nVG9CZVRyYW5zZmVyZWQ7DQo+ID4gPiA+ID4+ICAgICBVSU5UTiAg ICAgICAgICAgICAgICAgICBCbG9ja0NvdW50Ow0KPiA+ID4gPiA+PiAgICAgVUlOVE4gICAgICAg ICAgICAgICAgICAgQ29uc3VtZVNpemU7DQo+ID4gPiA+ID4+ICsgIFVJTlQzMiAgICAgICAgICAg ICAgICAgIE1heEJsb2NrOw0KPiA+ID4gPiA+PiArICBVSU5UTiAgICAgICAgICAgICAgICAgICBS ZW1haW5pbmdCbG9jazsNCj4gPiA+ID4gPj4NCj4gPiA+ID4gPj4gICAgIEJsb2NrQ291bnQgPSAx Ow0KPiA+ID4gPiA+PiAgICAgTW1jSG9zdEluc3RhbmNlID0NCj4gTU1DX0hPU1RfSU5TVEFOQ0Vf RlJPTV9CTE9DS19JT19USElTDQo+ID4gPiA+IChUaGlzKTsgQEANCj4gPiA+ID4gPj4gLTI2Miwx OSArMjY0LDYgQEAgTW1jSW9CbG9ja3MgKA0KPiA+ID4gPiA+PiAgICAgICByZXR1cm4gRUZJX05P X01FRElBOw0KPiA+ID4gPiA+PiAgICAgfQ0KPiA+ID4gPiA+Pg0KPiA+ID4gPiA+PiAtICBpZiAo TU1DX0hPU1RfSEFTX0lTTVVMVElCTE9DSyhNbWNIb3N0KSAmJiBNbWNIb3N0LQ0KPiA+ID4gPiA+ SXNNdWx0aUJsb2NrKE1tY0hvc3QpKSB7DQo+ID4gPiA+ID4+IC0gICAgQmxvY2tDb3VudCA9IChC dWZmZXJTaXplICsgVGhpcy0+TWVkaWEtPkJsb2NrU2l6ZSAtIDEpIC8gVGhpcy0NCj4gPiA+TWVk aWEtDQo+ID4gPiA+ID5CbG9ja1NpemU7DQo+ID4gPiA+ID4+IC0gIH0NCj4gPiA+ID4gPj4gLQ0K PiA+ID4gPiA+PiAtICAvLyBBbGwgYmxvY2tzIG11c3QgYmUgd2l0aGluIHRoZSBkZXZpY2UNCj4g PiA+ID4gPj4gLSAgaWYgKChMYmEgKyAoQnVmZmVyU2l6ZSAvIFRoaXMtPk1lZGlhLT5CbG9ja1Np emUpKSA+DQo+ID4gPiA+ID4+IChUaGlzLT5NZWRpYS0NCj4gPiA+ID4gPkxhc3RCbG9jayArIDEp KSB7DQo+ID4gPiA+ID4+IC0gICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gPiA+ ID4gPj4gLSAgfQ0KPiA+ID4gPiA+PiAtDQo+ID4gPiA+ID4+IC0gIGlmICgoVHJhbnNmZXIgPT0g TU1DX0lPQkxPQ0tTX1dSSVRFKSAmJiAoVGhpcy0+TWVkaWEtDQo+ID4gPlJlYWRPbmx5DQo+ID4g PiA+ID09IFRSVUUpKSB7DQo+ID4gPiA+ID4+IC0gICAgcmV0dXJuIEVGSV9XUklURV9QUk9URUNU RUQ7DQo+ID4gPiA+ID4+IC0gIH0NCj4gPiA+ID4gPj4gLQ0KPiA+ID4gPiA+PiAgICAgLy8gUmVh ZGluZyAwIEJ5dGUgaXMgdmFsaWQNCj4gPiA+ID4gPj4gICAgIGlmIChCdWZmZXJTaXplID09IDAp IHsNCj4gPiA+ID4gPj4gICAgICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiA+ID4gPiA+PiBAQCAt Mjg1LDE0ICsyNzQsMzYgQEAgTW1jSW9CbG9ja3MgKA0KPiA+ID4gPiA+PiAgICAgICByZXR1cm4g RUZJX0JBRF9CVUZGRVJfU0laRTsNCj4gPiA+ID4gPj4gICAgIH0NCj4gPiA+ID4gPj4NCj4gPiA+ ID4gPj4gKyAgaWYgKE1NQ19IT1NUX0hBU19JU01VTFRJQkxPQ0soTW1jSG9zdCkgJiYgTW1jSG9z dC0NCj4gPiA+ID4gPklzTXVsdGlCbG9jayhNbWNIb3N0KSkgew0KPiA+ID4gPiA+PiArICAgIEJs b2NrQ291bnQgPSBCdWZmZXJTaXplIC8gVGhpcy0+TWVkaWEtPkJsb2NrU2l6ZTsgIH0NCj4gPiA+ ID4gPj4gKw0KPiA+ID4gPiA+PiArICAvLyBBbGwgYmxvY2tzIG11c3QgYmUgd2l0aGluIHRoZSBk ZXZpY2UgIGlmICgoTGJhICsNCj4gPiA+ID4gPj4gKyAoQnVmZmVyU2l6ZSAvDQo+ID4gPiA+ID4+ ICsgVGhpcy0+TWVkaWEtPkJsb2NrU2l6ZSkpID4gKFRoaXMtPk1lZGlhLT5MYXN0QmxvY2sgKyAx KSkgew0KPiA+ID4gPiA+PiArICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7ICB9DQo+ ID4gPiA+ID4+ICsNCj4gPiA+ID4gPj4gKyAgaWYgKChUcmFuc2ZlciA9PSBNTUNfSU9CTE9DS1Nf V1JJVEUpICYmIChUaGlzLT5NZWRpYS0NCj4gPiA+UmVhZE9ubHkNCj4gPiA+ID4gPT0gVFJVRSkp IHsNCj4gPiA+ID4gPj4gKyAgICByZXR1cm4gRUZJX1dSSVRFX1BST1RFQ1RFRDsgIH0NCj4gPiA+ ID4gPj4gKw0KPiA+ID4gPiA+PiAgICAgLy8gQ2hlY2sgdGhlIGFsaWdubWVudA0KPiA+ID4gPiA+ PiAgICAgaWYgKChUaGlzLT5NZWRpYS0+SW9BbGlnbiA+IDIpICYmICgoKFVJTlROKUJ1ZmZlciAm DQo+ID4gPiA+ID4+IChUaGlzLT5NZWRpYS0NCj4gPiA+ID4gPklvQWxpZ24gLSAxKSkgIT0gMCkp IHsNCj4gPiA+ID4gPj4gICAgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gPiA+ ID4gPj4gICAgIH0NCj4gPiA+ID4gPj4NCj4gPiA+ID4gPj4gKyAgLy8gTWF4IGJsb2NrIG51bWJl ciBpbiBzaW5nbGUgY21kIGlzIDY1NTM1IGJsb2Nrcy4NCj4gPiA+ID4gPj4gKyAgTWF4QmxvY2sg PSAweEZGRkY7DQo+ID4gPiA+ID4+ICsgIFJlbWFpbmluZ0Jsb2NrID0gQmxvY2tDb3VudDsNCj4g PiA+ID4gPj4gICAgIEJ5dGVzUmVtYWluaW5nVG9CZVRyYW5zZmVyZWQgPSBCdWZmZXJTaXplOw0K PiA+ID4gPiA+PiAgICAgd2hpbGUgKEJ5dGVzUmVtYWluaW5nVG9CZVRyYW5zZmVyZWQgPiAwKSB7 DQo+ID4gPiA+ID4+DQo+ID4gPiA+ID4+ICsgICAgaWYgKFJlbWFpbmluZ0Jsb2NrIDw9IE1heEJs b2NrKSB7DQo+ID4gPiA+ID4+ICsgICAgICBCbG9ja0NvdW50ID0gUmVtYWluaW5nQmxvY2s7DQo+ ID4gPiA+ID4+ICsgICAgfSBlbHNlIHsNCj4gPiA+ID4gPj4gKyAgICAgIEJsb2NrQ291bnQgPSBN YXhCbG9jazsNCj4gPiA+ID4gPj4gKyAgICB9DQo+ID4gPiA+ID4+ICsNCj4gPiA+ID4gPj4gICAg ICAgLy8gQ2hlY2sgaWYgdGhlIENhcmQgaXMgaW4gUmVhZHkgc3RhdHVzDQo+ID4gPiA+ID4+ICAg ICAgIENtZEFyZyA9IE1tY0hvc3RJbnN0YW5jZS0+Q2FyZEluZm8uUkNBIDw8IDE2Ow0KPiA+ID4g PiA+PiAgICAgICBSZXNwb25zZVswXSA9IDA7DQo+ID4gPiA+ID4+IEBAIC0zMzgsNiArMzQ5LDcg QEAgTW1jSW9CbG9ja3MgKA0KPiA+ID4gPiA+PiAgICAgICAgIERFQlVHICgoRUZJX0RfRVJST1Is ICIlYSgpOiBGYWlsZWQgdG8gdHJhbnNmZXIgYmxvY2sNCj4gPiA+ID4gPj4gYW5kDQo+ID4gPiA+ IFN0YXR1czolclxuIiwgX19mdW5jX18sIFN0YXR1cykpOw0KPiA+ID4gPiA+PiAgICAgICB9DQo+ ID4gPiA+ID4+DQo+ID4gPiA+ID4+ICsgICAgUmVtYWluaW5nQmxvY2sgLT0gQmxvY2tDb3VudDsN Cj4gPiA+ID4gPj4gICAgICAgQnl0ZXNSZW1haW5pbmdUb0JlVHJhbnNmZXJlZCAtPSBDb25zdW1l U2l6ZTsNCj4gPiA+ID4gPj4gICAgICAgaWYgKEJ5dGVzUmVtYWluaW5nVG9CZVRyYW5zZmVyZWQg PiAwKSB7DQo+ID4gPiA+ID4+ICAgICAgICAgTGJhICAgICs9IEJsb2NrQ291bnQ7DQo+ID4gPiA+ ID4+IC0tDQo+ID4gPiA+ID4+IDIuNy40DQo+ID4gPiA+ID4+DQoNCg==