From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0604.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe42::604]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 98C2181AD1 for ; Mon, 9 Jan 2017 06:22:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=jDUW0Ud7d6IMjbivWEdtiH8A04htyMYQ2RqWmRJL0aM=; b=j+QQYbqt8Sjb0kjFSKoFvcRAQbOCC8a+l3AgV9J8cOiKpyWwJkn70ZMWQu27zUAWo+Frq027EnlqW29MDVwX4Po5wBCD2L2yOdA1tF4tKVtuFoNN1x8q90OCpBdfI3g+BG2nRG+sv7PEBNA8CxinnQcWU1mf0eDb/rNxMDMtVZk= Received: from DM5PR12MB1243.namprd12.prod.outlook.com (10.168.237.22) by BLUPR12MB0659.namprd12.prod.outlook.com (10.163.217.29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.829.7; Mon, 9 Jan 2017 14:22:43 +0000 Received: from DM5PR12MB1243.namprd12.prod.outlook.com ([10.168.237.22]) by DM5PR12MB1243.namprd12.prod.outlook.com ([10.168.237.22]) with mapi id 15.01.0829.013; Mon, 9 Jan 2017 14:22:42 +0000 From: "Duran, Leo" To: "'Gao, Liming'" , "Justen, Jordan L" , 'Laszlo Ersek' , "edk2-devel@lists.01.org" CC: "Singh, Brijesh" , "Fan, Jeff" , "Kinney, Michael D" , "Ma, Maurice" , "Agyeman, Prince" , "Ni, Ruiyu" , "Steele, Kelly" , "Wei, David" , "Guo, Mang" Thread-Topic: [PATCH v3 0/4] BaseIoFifoLib Thread-Index: AQHSZ52cOmPc+CcC30G0SQfvf+/kGaEq9c2AgABWXgCAAEV48IAAnvoAgAERYuCAAjq6gIAAuKcQ Date: Mon, 9 Jan 2017 14:22:41 +0000 Message-ID: References: <1483652965-14357-1-git-send-email-leo.duran@amd.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14D6CA2BD@shsmsx102.ccr.corp.intel.com> <9bf84287-cdec-b5c0-26c6-16f5cd1e453f@redhat.com> <148375017874.13659.3185969071926290103@jljusten-ivb> <4A89E2EF3DFEDB4C8BFDE51014F606A14D6CAC20@shsmsx102.ccr.corp.intel.com> In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14D6CAC20@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=leo.duran@amd.com; x-originating-ip: [165.204.77.1] x-microsoft-exchange-diagnostics: 1; BLUPR12MB0659; 7:teDdLJKo0KJ8jb1reGS2bZPh2qegfsceIHmm/rL4ZHdPz1vGob4D7iWzSK+yBX9FGNitcKDiWe/zzimTPInzId94zKeBmiVfjMVvPFChYzDFF3DRBbNYhRhdzIfWiC0u2frMzjqTIwiWSSP3NL0nnhiGHSY/Fujz5PlfeOvRlVk2jCs+RQASra7rMopYYFtO/uAV23m+Wg5yHrLca+J9g4Tha5yyITAKn2SmyzYrXm+npvpsatVBIi6K7UWkRbJGvR4lr6emJOlZEK27N4NKZIMQPvWvoRFOPl6FEVDm87XYJBTTUKd6uAOeuSYvG58pkhIG0ovBhQYDbRb6jMCIORGTKSB1nUf1Ux1061vXVFTXF5GGTdjZN6jivweEGr8wRJKCxy7+vNZ2Bynh1FIk1IGFf27AqoMEJwNapi08MByAdAPJHeVm8HgxIUfreFzSeZrekS2dk1XgH+t3YxbK7w==; 20:oEb2DJS+F8KSGY8HlNHGzcDOTFDafAzjKNlwKMkMTZwBXt6206hNTT7zPxki6LZYSs6YEkx/t64lF8YUw5ZcOsBHfPRkRpJN2xdps2DyHMgcDoWn3t+3Zc5bFQPSuONeOwznsqh+PfqpRnqKa71GMRE4ycU2jxDjXC1g2RbADTW34FNMK5F/2/4stxOMm6vHaWLEcPJ2wK4m4TfTJRGAWyncgurJYxnM4h0Cz/0M+Iea3eQUChxhJ8+Axk8wXO+K x-forefront-antispam-report: SFV:SKI; SCL:-1SFV:NSPM; SFS:(10009020)(6029001)(6009001)(7916002)(39840400002)(39860400002)(39450400003)(39850400002)(39410400002)(13464003)(189002)(377424004)(377454003)(24454002)(199003)(101416001)(229853002)(93886004)(50986999)(68736007)(86362001)(77096006)(105586002)(7416002)(106116001)(66066001)(2501003)(2906002)(74316002)(106356001)(3846002)(5001770100001)(6116002)(2950100002)(102836003)(9686003)(122556002)(33656002)(7736002)(38730400001)(92566002)(6506006)(97736004)(2900100001)(6436002)(7696004)(25786008)(189998001)(76176999)(81166006)(81156014)(8676002)(55016002)(54906002)(8936002)(4326007)(305945005)(99286003)(5660300001)(3660700001)(3280700002)(54356999)(19627235001); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR12MB0659; H:DM5PR12MB1243.namprd12.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; x-ms-office365-filtering-correlation-id: 87d90695-5c19-4357-be88-08d4389af909 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BLUPR12MB0659; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(767451399110)(162533806227266)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123560025)(20161123558021)(20161123555025)(20161123562025)(20161123564025)(6072148); SRVR:BLUPR12MB0659; BCL:0; PCL:0; RULEID:; SRVR:BLUPR12MB0659; x-forefront-prvs: 0182DBBB05 received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jan 2017 14:22:41.8475 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR12MB0659 Subject: Re: [PATCH v3 0/4] BaseIoFifoLib X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jan 2017 14:22:45 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEdhbywgTGltaW5nIFttYWls dG86bGltaW5nLmdhb0BpbnRlbC5jb21dDQo+IFNlbnQ6IFN1bmRheSwgSmFudWFyeSAwOCwgMjAx NyA5OjExIFBNDQo+IFRvOiBEdXJhbiwgTGVvIDxsZW8uZHVyYW5AYW1kLmNvbT47IEp1c3Rlbiwg Sm9yZGFuIEwNCj4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyAnTGFzemxvIEVyc2VrJyA8 bGVyc2VrQHJlZGhhdC5jb20+OyBlZGsyLQ0KPiBkZXZlbEBsaXN0cy4wMS5vcmcNCj4gQ2M6IFNp bmdoLCBCcmlqZXNoIDxicmlqZXNoLnNpbmdoQGFtZC5jb20+OyBGYW4sIEplZmYgPGplZmYuZmFu QGludGVsLmNvbT47DQo+IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVs LmNvbT47IE1hLCBNYXVyaWNlDQo+IDxtYXVyaWNlLm1hQGludGVsLmNvbT47IEFneWVtYW4sIFBy aW5jZSA8cHJpbmNlLmFneWVtYW5AaW50ZWwuY29tPjsNCj4gTmksIFJ1aXl1IDxydWl5dS5uaUBp bnRlbC5jb20+OyBTdGVlbGUsIEtlbGx5IDxrZWxseS5zdGVlbGVAaW50ZWwuY29tPjsgV2VpLA0K PiBEYXZpZCA8ZGF2aWQud2VpQGludGVsLmNvbT47IEd1bywgTWFuZyA8bWFuZy5ndW9AaW50ZWwu Y29tPg0KPiBTdWJqZWN0OiBSRTogW1BBVENIIHYzIDAvNF0gQmFzZUlvRmlmb0xpYg0KPiANCj4g TGVvOg0KPiAgIElvTGliIExpYnJhcnkgY2xhc3MgaXMgZGVzaWduZWQgZnJvbSB0aGUgZnVuY3Rp b25hbGl0eSwgbm90IGNvZGUNCj4gaW1wbGVtZW50YXRpb24uIFNvLCBtYW55IElPIG9wZXJhdGlv bnMgYXJlIGluY2x1ZGVkIGluIHRoaXMgbGlicmFyeSBjbGFzcy4gSWYNCj4gZGV2ZWxvcGVycyB3 YW50IHRvIHVzZSBJTyBBUEksIHRoZXkgb25seSBuZWVkIHRvIGNoZWNrIElvTGliIGxpYnJhcnkg Y2xhc3MuDQo+IEFmdGVyIGFkZCBuZXcgQVBJcywgd2UgbmVlZCB0byB1cGRhdGUgYWxsIElvTGli IGxpYnJhcnkgaW5zdGFuY2VzIHRvDQo+IGltcGxlbWVudCB0aGVtLiBBbmQsIGlmIGFueSBsaWJy YXJ5IEFQSSBpbXBsZW1lbnRhdGlvbiBoYXMgdGhlIGRpZmZlcmVudA0KPiB2ZXJzaW9uLCB0aGUg ZnVsbCBsaWJyYXJ5IGluc3RhbmNlIHdpbGwgaGF2ZSB0byBiZSBjb3BpZWQgdG8gYW5vdGhlciBp bnN0YW5jZS4gSQ0KPiBrbm93IHlvdXIgY29uY2VybiBpcyB0byBkdXBsaWNhdGUgdGhlIGxpYnJh cnkgaW1wbGVtZW50YXRpb24uIEJ1dCwgSSB0aGluayB0aGlzDQo+IGlzIHRoZSBzZXBhcmF0ZSB0 b3BpYyB0byBvcHRpbWl6ZSB0aGUgbGlicmFyeSBpbXBsZW1lbnRhdGlvbiBhbmQgcmV1c2UgdGhl DQo+IHNhbWUgc291cmNlIGZpbGUuIE90aGVyIGxpYnJhcnkgaW5zdGFuY2VzIG1heSBoYXZlIHRo ZSBzYW1lIGlzc3VlLiBTbywgSQ0KPiBzdWdnZXN0IHlvdSBzdWJtaXQgYnVnemlsbGEgZm9yIHRo aXMgb3B0aW1pemF0aW9uIHJlcXVlc3QuIFdlIHdpbGwgZmlndXJlIG91dA0KPiB0aGUgc29sdXRp b24gYW5kIHJldmlldyBpdCBpbiB0aGlzIG1haWwgbGlzdC4NCj4gDQo+IFRoYW5rcw0KPiBMaW1p bmcNCltEdXJhbiwgTGVvXSANCkhpIExpbWluZywNCg0KSSdtIG5vdCBzdXJlIEkgZm9sbG93IHdo YXQgeW91IG1lYW4gYnkgYW4gJ29wdGltaXphdGlvbiByZXF1ZXN0Jy4NCkF0IHByZXNlbnQgSW9M SWIgZG9lcyAqbm90KiBpbmNsdWRlIHRoZSBGaWZvIHJvdXRpbmVzIHRoYXQgSSd2ZSByZWZlcnJl ZCB0bywgc28gSSdtIHNpbXBseSBwcm9wb3NpbmcgdG8gd3JhcCB0aGUgRmlmbyByb3V0aW5lcyBp bnRvIGluIGEgbGlicmFyeS4NCk1vcmVvdmVyLCBhcyB5b3UganVzdCBzYWlkLCBJ4oCZbSBhbHNv IHByb3Bvc2luZyBub3QgdXNpbmcgSW9MaWIgdG8gYXZvaWQgaGF2aW5nIHRvIGR1cGxpY2F0ZSBh bGwgb2YgdGhlIGZ1bmN0aW9uYWxpdHkgaW4gSW9MaWIuDQoNCkNhbiB5b3UgcGxlYXNlIGdpdmUg bWUgYSBiaXQgbW9yZSBkZXRhaWwgYXMgdG8gd2hhdCB0aGUgJ29wdGltaXphdGlvbiByZXF1ZXN0 JyB3b3VsZCBiZT8NCihpLmUuLCBzaG91bGQgdGhhdCByZXF1ZXN0IHJlYWQgZXhhY3RseSBhcyBJ J3ZlIHByb3Bvc2VkIHNvIGZhciwgcHJvcG9zaW5nIHRoZSBjcmVhdGlvbiBvZiBhbiBJb0ZpZm9M aWI/KQ0KSSdsbCBzdWJtaXQgQnVnemlsbGEgb25jZSBJIGJldHRlciB1bmRlcnN0YW5kIHdoYXQg bmVlZHMgdG8gYmUgaW4gaXQuDQoNClRoYW5rcywNCkxlbw0KDQoNCg0KPiA+LS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPkZyb206IER1cmFuLCBMZW8gW21haWx0bzpsZW8uZHVyYW5AYW1k LmNvbV0NCj4gPlNlbnQ6IFN1bmRheSwgSmFudWFyeSAwOCwgMjAxNyAxOjE3IEFNDQo+ID5Ubzog SnVzdGVuLCBKb3JkYW4gTCA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT47ICdMYXN6bG8gRXJz ZWsnDQo+ID48bGVyc2VrQHJlZGhhdC5jb20+OyBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRl bC5jb20+OyBlZGsyLQ0KPiA+ZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID5DYzogU2luZ2gsIEJyaWpl c2ggPGJyaWplc2guc2luZ2hAYW1kLmNvbT47IEZhbiwgSmVmZg0KPiA+PGplZmYuZmFuQGludGVs LmNvbT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47DQo+ ID5NYSwgTWF1cmljZSA8bWF1cmljZS5tYUBpbnRlbC5jb20+OyBBZ3llbWFuLCBQcmluY2UNCj4g PjxwcmluY2UuYWd5ZW1hbkBpbnRlbC5jb20+OyBOaSwgUnVpeXUgPHJ1aXl1Lm5pQGludGVsLmNv bT47IFN0ZWVsZSwNCj4gPktlbGx5IDxrZWxseS5zdGVlbGVAaW50ZWwuY29tPjsgV2VpLCBEYXZp ZCA8ZGF2aWQud2VpQGludGVsLmNvbT47IEd1bywNCj4gPk1hbmcgPG1hbmcuZ3VvQGludGVsLmNv bT4NCj4gPlN1YmplY3Q6IFJFOiBbUEFUQ0ggdjMgMC80XSBCYXNlSW9GaWZvTGliDQo+ID4NCj4g PkpvcmRhbiwgTGltaW5nLCBldCBhbCwNCj4gPg0KPiA+SXQgdHVybnMgb3V0IHRoYXQgdGhlIHJ1 bnRpbWUgZW5hYmxlbWVudCBvZiBTRVYgZmVhdHVyZSB0aGF0IEkgcmVmZXJyZWQNCj4gPnRvIGNh biBiZSBkZXRlY3RlZCBpbiBoYXJkd2FyZTsgc28gaW5zdGVhZCBvZiByZXF1aXJpbmcgJ2RyaXZl cicgY29kZQ0KPiA+dG8gc2V0IGEgZHluYW1pYyBQQ0QsIHRoZSBvdmVycmlkZSBGaWZvIHJvdXRp bmVzIGNvdWxkIGRvIGEgcnVudGltZQ0KPiA+Y2hlY2sgbGlrZSB0aGlzOg0KPiA+DQo+ID4vLyBJ biBvdmVycmlkZSB2ZXJzaW9uIG9mIHRoZSBGaWZvIGxpYnJhcnkNCj4gPmZpZm9fZm9vKCkNCj4g PnsNCj4gPglJZiAoU0VWX0VuYWJsZWQoKSkgew0KPiA+CQkvLyBkb24ndCB1c2UgUkVQIGlucy9v dXRzDQo+ID4JfSBlbHNlIHsNCj4gPgkJLy8gdXNlIFJFUCBpbnMvb3V0cw0KPiA+CX0NCj4gPn0N Cj4gPkluIGVzc2VuY2Ugd2UgYWxyZWFkeSBoYXZlIGEgaGFyZHdhcmUtYmFzZWQgZHluYW1pYyBQ Q0QsIHNvIHRoZSBpZGVhIGlzDQo+ID50byBsZXZlcmFnZSBpdC4NCj4gPg0KPiA+QW5kIHNpbmNl IHdlJ3JlIGludGVyZXN0ZWQgaW4gb3ZlcnJpZGluZyBqdXN0IHRoZSBGaWZvIHJvdXRpbmVzLCBp dA0KPiA+d291bGQgbWFrZSBiZXR0ZXIgc2Vuc2UgdG8ga2VlcCB0aGVtIGluIGEgc2VwYXJhdGUg bGlicmFyeSAoYXMgcHJvcG9zZWQgaW4NCj4gdGhlIHBhdGNoIHNldCkuDQo+ID5MZW8uDQo+ID4N Cj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogSm9yZGFuIEp1c3Rl biBbbWFpbHRvOmpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb21dDQo+ID4+IFNlbnQ6IEZyaWRheSwg SmFudWFyeSAwNiwgMjAxNyA2OjUwIFBNDQo+ID4+IFRvOiBEdXJhbiwgTGVvIDxsZW8uZHVyYW5A YW1kLmNvbT47ICdMYXN6bG8gRXJzZWsnDQo+ID4+IDxsZXJzZWtAcmVkaGF0LmNvbT47IEdhbywg TGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT47DQo+ID4+IGVkazItZGV2ZWxAbGlzdHMuMDEu b3JnDQo+ID4+IENjOiBTaW5naCwgQnJpamVzaCA8YnJpamVzaC5zaW5naEBhbWQuY29tPjsgRmFu LCBKZWZmDQo+ID4+IDxqZWZmLmZhbkBpbnRlbC5jb20+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWlj aGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Ow0KPiA+PiBNYSwgTWF1cmljZSA8bWF1cmljZS5tYUBp bnRlbC5jb20+OyBBZ3llbWFuLCBQcmluY2UNCj4gPj4gPHByaW5jZS5hZ3llbWFuQGludGVsLmNv bT47IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50ZWwuY29tPjsgU3RlZWxlLA0KPiA+PiBLZWxseSA8 a2VsbHkuc3RlZWxlQGludGVsLmNvbT47IFdlaSwgRGF2aWQgPGRhdmlkLndlaUBpbnRlbC5jb20+ Ow0KPiA+PiBHdW8sIE1hbmcgPG1hbmcuZ3VvQGludGVsLmNvbT4NCj4gPj4gU3ViamVjdDogUkU6 IFtQQVRDSCB2MyAwLzRdIEJhc2VJb0ZpZm9MaWINCj4gPj4NCj4gPj4gT24gMjAxNy0wMS0wNiAw NzoyMzo0NywgRHVyYW4sIExlbyB3cm90ZToNCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4gPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiA+ID4gRnJvbTogTGFzemxvIEVyc2VrIFttYWls dG86bGVyc2VrQHJlZGhhdC5jb21dDQo+ID4+ID4gPiBTZW50OiBGcmlkYXksIEphbnVhcnkgMDYs IDIwMTcgNToxMiBBTQ0KPiA+PiA+ID4gVG86IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVs LmNvbT47IER1cmFuLCBMZW8NCj4gPj4gPiA+IDxsZW8uZHVyYW5AYW1kLmNvbT47IGVkazItZGV2 ZWxAbGlzdHMuMDEub3JnDQo+ID4+ID4gPiA8ZWRrMi1kZXZlbEBtbDAxLjAxLm9yZz4NCj4gPj4g PiA+IENjOiBTaW5naCwgQnJpamVzaCA8YnJpamVzaC5zaW5naEBhbWQuY29tPjsgSnVzdGVuLCBK b3JkYW4gTA0KPiA+PiA+ID4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBGYW4sIEplZmYg PGplZmYuZmFuQGludGVsLmNvbT47DQo+ID4+ID4gPiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFl bC5kLmtpbm5leUBpbnRlbC5jb20+OyBNYSwgTWF1cmljZQ0KPiA+PiA+ID4gPG1hdXJpY2UubWFA aW50ZWwuY29tPjsgQWd5ZW1hbiwgUHJpbmNlDQo+ID4+IDxwcmluY2UuYWd5ZW1hbkBpbnRlbC5j b20+Ow0KPiA+PiA+ID4gTmksIFJ1aXl1IDxydWl5dS5uaUBpbnRlbC5jb20+OyBTdGVlbGUsIEtl bGx5DQo+ID4+ID4gPiA8a2VsbHkuc3RlZWxlQGludGVsLmNvbT47IFdlaSwgRGF2aWQgPGRhdmlk LndlaUBpbnRlbC5jb20+OyBHdW8sDQo+ID4+ID4gPiBNYW5nIDxtYW5nLmd1b0BpbnRlbC5jb20+ DQo+ID4+ID4gPiBTdWJqZWN0OiBSZTogW1BBVENIIHYzIDAvNF0gQmFzZUlvRmlmb0xpYg0KPiA+ PiA+ID4NCj4gPj4gPiA+IE9uIDAxLzA2LzE3IDA3OjAyLCBHYW8sIExpbWluZyB3cm90ZToNCj4g Pj4gPiA+ID4gTGVvOg0KPiA+PiA+ID4gPiBGaWZvSW8gaXMgb25lIHdpZHRoIHR5cGUgb2YgRUZJ X0NQVV9JT19QUk9UT0NPTF9XSURUSC4gU28sIGhvdw0KPiA+PiA+ID4gPiBhYm91dCBhZGQgbmV3 IEFQSXMgaW50byBJb0xpYiB0b2dldGhlciB3aXRoIG90aGVyIElvIEFQSXM/IElmDQo+ID4+ID4g PiA+IHNvLCBubyBuZXcgbGlicmFyeSBjbGFzcyBpcyByZXF1aXJlZC4gUGxhdGZvcm0gRFNDIGZp bGVzIGFyZQ0KPiA+PiA+ID4gPiBub3QgcmVxdWlyZWQgdG8gYmUgY2hhbmdlZC4NCj4gPj4gPiA+ DQo+ID4+ID4gPiBCdXQgdGhlbiBhbGwgb2YgdGhlIElvTGliIGluc3RhbmNlcyB3aWxsIGhhdmUg dG8gYmUgZXh0ZW5kZWQgdG9vOg0KPiA+PiA+ID4NCj4gPj4gPiA+IEludGVsRnJhbWV3b3JrUGtn L0xpYnJhcnkvRHhlSW9MaWJDcHVJby9EeGVJb0xpYkNwdUlvLmluZg0KPiA+PiA+ID4gTWRlUGtn L0xpYnJhcnkvQmFzZUlvTGliSW50cmluc2ljL0Jhc2VJb0xpYkludHJpbnNpYy5pbmYNCj4gPj4g PiA+IE1kZVBrZy9MaWJyYXJ5L0R4ZUlvTGliQ3B1SW8yL0R4ZUlvTGliQ3B1SW8yLmluZg0KPiA+ PiA+ID4gTWRlUGtnL0xpYnJhcnkvRHhlSW9MaWJFc2FsL0R4ZUlvTGliRXNhbC5pbmYNCj4gPj4g PiA+IE1kZVBrZy9MaWJyYXJ5L1BlaUlvTGliQ3B1SW8vUGVpSW9MaWJDcHVJby5pbmYNCj4gPj4g PiA+IE1kZVBrZy9MaWJyYXJ5L1NtbUlvTGliU21tQ3B1SW8yL1NtbUlvTGliU21tQ3B1SW8yLmlu Zg0KPiA+PiA+ID4NCj4gPj4gPiA+IFRoYW5rcywNCj4gPj4gPiA+IExhc3psbw0KPiA+PiA+ID4N Cj4gPj4gPiBbRHVyYW4sIExlb10gQ29ycmVjdC4NCj4gPj4gPiBBcyBJIG1lbnRpb25lZCwgb25l IG9mIHRoZSByZWFzb25zIGZvciB0aGUgbmV3IElvRmlmbyBsaWJyYXJ5IGlzIHRvDQo+ID4+ID4g YmUgYWJsZSB0byBvdmVycmlkZSBpdCB3aXRob3V0IGhhdmluZyB0byBkdXBsaWNhdGUgdGhlIGNv bXBsZXRlIElvTGliLg0KPiA+PiA+DQo+ID4+DQo+ID4+IEkgYWdyZWUgd2l0aCBMaW1pbmcgYWJv dXQgYWRkaW5nIHRoZSBmdW5jdGlvbnMgdG8gSW9MaWIgaW5zdGVhZC4NCj4gPj4NCj4gPj4gUGVy aGFwcyBhIFBDRCBjb3VsZCBiZSBhZGRlZCB0byBjb250cm9sIGlmIHJlcCBpL28gaW5zdHJ1Y3Rp b25zIGFyZQ0KPiA+PiB1c2VkLg0KPiA+Pg0KPiA+PiAtSm9yZGFuDQo=