From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 5CA795477 for ; Sun, 5 Jun 2016 17:47:21 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP; 05 Jun 2016 08:47:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,422,1459839600"; d="scan'208";a="969312025" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga001.jf.intel.com with ESMTP; 05 Jun 2016 08:47:19 -0700 Received: from fmsmsx122.amr.corp.intel.com (10.18.125.37) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.248.2; Sun, 5 Jun 2016 08:47:18 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx122.amr.corp.intel.com (10.18.125.37) with Microsoft SMTP Server (TLS) id 14.3.248.2; Sun, 5 Jun 2016 08:47:18 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.181]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.150]) with mapi id 14.03.0248.002; Sun, 5 Jun 2016 23:47:15 +0800 From: "Zhang, Helin" To: Chandrasekar Kannan , "Wu, Jingjing" , "Tao, Zhe" CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] SR-IOV/DPDK/VPP with vfio-pci Thread-Index: AQHRvDKKsuZO/VLPs02TRFjH4keQyp/bCYOw Date: Sun, 5 Jun 2016 15:47:15 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] SR-IOV/DPDK/VPP with vfio-pci X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jun 2016 15:47:22 -0000 SGkgS2FubmFuDQoNCkNvdWxkIHlvdSBoZWxwIHRvIHByb3ZpZGUgbW9yZSBkZXRhaWxzIG9mIHlv dXIgdGVzdCBjYXNlcz8gSG93IHRvIHJlcHJvZHVjZSB0aGF0IGlzc3VlPyBJdCB3b3VsZCBiZSBi ZXR0ZXIgdG8gdHJ5IHdpdGggRFBESyBleGFtcGxlIGFwcGxpY2F0aW9ucy4NCkkgdGhpbmsgdGhl IGtlcm5lbCBkcml2ZXIgdmVyc2lvbiwgRFBESyB2ZXJzaW9uLCBYTDcxMCBmaXJtd2FyZSB2ZXJz aW9uIGFyZSB0aGUgYmFzaWMgaW5mb3JtYXRpb24gd2Ugd2FudCB0byBrbm93Lg0KSWYgcG9zc2li bGUsIEknZCBzdWdnZXN0IHlvdSB0byB0cnkgd2l0aCBsYXRlc3QgdmVyc2lvbiBvZiBhYm92ZSBh bmQgdHJ5IGlmIHRoZSBpc3N1ZSBpcyBzdGlsbCB0aGVyZS4NClRoYW5rIHlvdSB2ZXJ5IG11Y2gh DQoNClJlZ2FyZHMsDQpIZWxpbg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IGRldiBbbWFpbHRvOmRldi1ib3VuY2VzQGRwZGsub3JnXSBPbiBCZWhhbGYgT2YgQ2hhbmRy YXNla2FyDQo+IEthbm5hbg0KPiBTZW50OiBUaHVyc2RheSwgSnVuZSAyLCAyMDE2IDI6MjIgQU0N Cj4gVG86IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBbZHBkay1kZXZdIFNSLUlPVi9EUERLL1ZQ UCB3aXRoIHZmaW8tcGNpDQo+IA0KPiBJIGhhdmUgYmVlbiBhdHRlbXB0aW5nIHRvIFZQUCAoZHBk aykgYXBwbGljYXRpb24gd2l0aCBTUi1JT1YgZW5hYmxlZC4NCj4gVXNpbmcgdGhlIHZmaW8tcGNp IGRyaXZlci9pNDBlL1hMNzEwbmljcy8uDQo+IEknbSBlbmNvdW50ZXJpbmcgYSBTRUdWIG9uIHRo ZSBpNDBlIGNvZGUgcGF0aC4NCj4gDQo+IEhhcyBhbnlvbmUgZWxzZSBzZWVuIHRoaXMgYmVoYXZp b3VyID8uDQo+IA0KPiBmdWxsIG1haWwgdGhyZWFkIGRpc2N1c3Npb24gd2l0aCB2cHAtZGV2IGlz IGhlcmUgLQ0KPiBodHRwczovL2xpc3RzLmZkLmlvL3BpcGVybWFpbC92cHAtZGV2LzIwMTYtSnVu ZS8wMDEzNDguaHRtbA0KPiANCj4gDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQo+IGhlcmUncyBhIGJhY2t0cmFjZSBkdXJpbmcgdnBwIGNyYXNoLi4uDQo+IA0KPiBQcm9ncmFt IHJlY2VpdmVkIHNpZ25hbCBTSUdTRUdWLCBTZWdtZW50YXRpb24gZmF1bHQuDQo+IFtTd2l0Y2hp bmcgdG8gVGhyZWFkIDB4N2YyYjgxMWZkNzAwIChMV1AgODcyNSldDQo+IDB4MDAwMDAwMDAwMDQ1 NTUzOSBpbiByeF9yZWN2X3BrdHMgKCkNCj4gKGdkYikgYmFja3RyYWNlDQo+ICMwICAweDAwMDAw MDAwMDA0NTU1MzkgaW4gcnhfcmVjdl9wa3RzICgpDQo+ICMxICAweDAwMDAwMDAwMDA0NTVlNzYg aW4gaTQwZV9yZWN2X3BrdHNfYnVsa19hbGxvYyAoKQ0KPiAjMiAgMHgwMDAwN2YyYmU0M2Q4YmY3 IGluIHJ0ZV9ldGhfcnhfYnVyc3QgKG5iX3BrdHM9MjU2LA0KPiByeF9wa3RzPTB4N2YyYmIxZTY2 YTgwLCBxdWV1ZV9pZD0xLCBwb3J0X2lkPTxvcHRpbWl6ZWQgb3V0PikNCj4gICAgIGF0DQo+IC93 L3dvcmtzcGFjZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVpbGQtcm9vdC9pbnN0YWxsLXZw cC0NCj4gbmF0aXZlL2RwZGsvaW5jbHVkZS9ydGVfZXRoZGV2Lmg6MjY0MQ0KPiAjMyAgZHBka19y eF9idXJzdCAoZG09MHg3ZjJiZTQ2NzM5ODAgPGRwZGtfbWFpbj4sIHF1ZXVlX2lkPTEsDQo+IHhk PTB4N2YyYmIxODk4NTQwKQ0KPiAgICAgYXQNCj4gL3cvd29ya3NwYWNlL3ZwcC1tZXJnZS1tYXN0 ZXItY2VudG9zNy9idWlsZC0NCj4gZGF0YS8uLi92bmV0L3ZuZXQvZGV2aWNlcy9kcGRrL2RwZGtf cHJpdi5oOjY0DQo+ICM0ICBkcGRrX2RldmljZV9pbnB1dCAoZG09MHg3ZjJiZTQ2NzM5ODAgPGRw ZGtfbWFpbj4sIHF1ZXVlX2lkPTEsDQo+IGNwdV9pbmRleD08b3B0aW1pemVkIG91dD4sIG5vZGU9 MHg3ZjJiYjFlZjU5ZmMsIHhkPTxvcHRpbWl6ZWQgb3V0PikNCj4gICAgIGF0DQo+IC93L3dvcmtz cGFjZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVpbGQtDQo+IGRhdGEvLi4vdm5ldC92bmV0 L2RldmljZXMvZHBkay9ub2RlLmM6NTA4DQo+ICM1ICBkcGRrX2lucHV0X3JzcyAodm09PG9wdGlt aXplZCBvdXQ+LCBub2RlPTB4N2YyYmIxZWY1OWZjLA0KPiBmPTxvcHRpbWl6ZWQNCj4gb3V0PikN Cj4gICAgIGF0DQo+IC93L3dvcmtzcGFjZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVpbGQt DQo+IGRhdGEvLi4vdm5ldC92bmV0L2RldmljZXMvZHBkay9ub2RlLmM6ODIxDQo+ICM2ICAweDAw MDA3ZjJiZTQ3ZWI3N2EgaW4gZGlzcGF0Y2hfbm9kZSAodm09dm1AZW50cnk9MHg3ZjJiYjFmMDJj ZDQsDQo+IG5vZGU9bm9kZUBlbnRyeT0weDdmMmJiMWVmNTlmYywNCj4gdHlwZT10eXBlQGVudHJ5 PVZMSUJfTk9ERV9UWVBFX0lOUFVULA0KPiAgICAgZGlzcGF0Y2hfc3RhdGU9ZGlzcGF0Y2hfc3Rh dGVAZW50cnk9VkxJQl9OT0RFX1NUQVRFX1BPTExJTkcsDQo+IGZyYW1lPWZyYW1lQGVudHJ5PTB4 MCwgbGFzdF90aW1lX3N0YW1wPTE0ODIwOTc2NjE0OTQwMzUpDQo+ICAgICBhdA0KPiAvdy93b3Jr c3BhY2UvdnBwLW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1aWxkLWRhdGEvLi4vdmxpYi92bGliL21h aW4uYzo5OTYNCj4gIzcgIDB4MDAwMDdmMmJlNDNkYjZkOCBpbiBkcGRrX3dvcmtlcl90aHJlYWRf aW50ZXJuYWwNCj4gKGhhdmVfaW9fdGhyZWFkcz0wLCBjYWxsYmFjaz0weDAsIHZtPTB4N2YyYmIx ZjAyY2Q0KQ0KPiAgICAgYXQNCj4gL3cvd29ya3NwYWNlL3ZwcC1tZXJnZS1tYXN0ZXItY2VudG9z Ny9idWlsZC0NCj4gZGF0YS8uLi92bmV0L3ZuZXQvZGV2aWNlcy9kcGRrL3RocmVhZHMuYzoyMDkN Cj4gIzggIGRwZGtfd29ya2VyX3RocmVhZCAodz08b3B0aW1pemVkIG91dD4sIGlvX25hbWU9PG9w dGltaXplZCBvdXQ+LA0KPiBjYWxsYmFjaz0weDApDQo+ICAgICBhdA0KPiAvdy93b3Jrc3BhY2Uv dnBwLW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1aWxkLQ0KPiBkYXRhLy4uL3ZuZXQvdm5ldC9kZXZp Y2VzL2RwZGsvdGhyZWFkcy5jOjI2NQ0KPiAjOSAgMHgwMDAwN2YyYmUzNzkxNTMwIGluIGNsaWJf Y2FsbGptcCAoKSBhdA0KPiAvdy93b3Jrc3BhY2UvdnBwLW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1 aWxkLQ0KPiBkYXRhLy4uL3ZwcGluZnJhL3ZwcGluZnJhL2xvbmdqbXAuUzoxMTANCj4gIzEwIDB4 MDAwMDdmMmI4MTFmY2M0MCBpbiA/PyAoKQ0KPiAjMTEgMHgwMDAwMDAwMDAwNGViOWM3IGluIGVh bF90aHJlYWRfbG9vcCAoKSAtLS1UeXBlIDxyZXR1cm4+IHRvIGNvbnRpbnVlLA0KPiBvciBxIDxy ZXR1cm4+IHRvIHF1aXQtLS0NCj4gIzEyIDB4MDAwMDAwMDAwMDAwMDAwMCBpbiA/PyAoKQ0KPiAo Z2RiKQ0KPiAoZ2RiKSB0aHJlYWQgYXBwbHkgYWxsIGJ0DQo+IA0KPiBUaHJlYWQgMTAgKFRocmVh ZCAweDdmMmI4YzY4NTcwMCAoTFdQIDg3MjIpKToNCj4gIzAgIDB4MDAwMDdmMmJlMzI1ODRhZCBp biBhY2NlcHQgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c2NhbGwtdGVtcGxhdGUuUzo4MQ0KPiAj MSAgMHgwMDAwMDAwMDAwNGVmMTc4IGluIHBjaV92ZmlvX21wX3N5bmNfdGhyZWFkICgpDQo+ICMy ICAweDAwMDA3ZjJiZTMyNTFkYzUgaW4gc3RhcnRfdGhyZWFkIChhcmc9MHg3ZjJiOGM2ODU3MDAp IGF0DQo+IHB0aHJlYWRfY3JlYXRlLmM6MzA4DQo+ICMzICAweDAwMDA3ZjJiZTI5OTJjZWQgaW4g Y2xvbmUgKCkgYXQNCj4gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6 MTEzDQo+IA0KPiBUaHJlYWQgOSAoVGhyZWFkIDB4N2YyYjgyMWZmNzAwIChMV1AgODcyMykpOg0K PiAjMCAgMHgwMDAwN2YyYmUyOTkzMmMzIGluIGVwb2xsX3dhaXQgKCkgYXQNCj4gLi4vc3lzZGVw cy91bml4L3N5c2NhbGwtdGVtcGxhdGUuUzo4MQ0KPiAjMSAgMHgwMDAwMDAwMDAwNGVmZTA0IGlu IGVhbF9pbnRyX3RocmVhZF9tYWluICgpDQo+ICMyICAweDAwMDA3ZjJiZTMyNTFkYzUgaW4gc3Rh cnRfdGhyZWFkIChhcmc9MHg3ZjJiODIxZmY3MDApIGF0DQo+IHB0aHJlYWRfY3JlYXRlLmM6MzA4 DQo+ICMzICAweDAwMDA3ZjJiZTI5OTJjZWQgaW4gY2xvbmUgKCkgYXQNCj4gLi4vc3lzZGVwcy91 bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6MTEzDQo+IA0KPiBUaHJlYWQgOCAoVGhyZWFk IDB4N2YyYjgxOWZlNzAwIChMV1AgODcyNCkpOg0KPiAjMCAgMHgwMDAwMDAwMDAwNDU1MjZiIGlu IHJ4X3JlY3ZfcGt0cyAoKQ0KPiAjMSAgMHgwMDAwMDAwMDAwNDU1ZTc2IGluIGk0MGVfcmVjdl9w a3RzX2J1bGtfYWxsb2MgKCkNCj4gIzIgIDB4MDAwMDdmMmJlNDNkOGJmNyBpbiBydGVfZXRoX3J4 X2J1cnN0IChuYl9wa3RzPTI1NiwNCj4gcnhfcGt0cz0weDdmMmJiMWU3NTU4MCwgcXVldWVfaWQ9 MCwgcG9ydF9pZD08b3B0aW1pemVkIG91dD4pDQo+ICAgICBhdA0KPiAvdy93b3Jrc3BhY2UvdnBw LW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1aWxkLXJvb3QvaW5zdGFsbC12cHAtDQo+IG5hdGl2ZS9k cGRrL2luY2x1ZGUvcnRlX2V0aGRldi5oOjI2NDENCj4gIzMgIGRwZGtfcnhfYnVyc3QgKGRtPTB4 N2YyYmU0NjczOTgwIDxkcGRrX21haW4+LCBxdWV1ZV9pZD0wLA0KPiB4ZD0weDdmMmJiMWExZmQ0 MCkNCj4gICAgIGF0DQo+IC93L3dvcmtzcGFjZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVp bGQtDQo+IGRhdGEvLi4vdm5ldC92bmV0L2RldmljZXMvZHBkay9kcGRrX3ByaXYuaDo2NA0KPiAt LS1UeXBlIDxyZXR1cm4+IHRvIGNvbnRpbnVlLCBvciBxIDxyZXR1cm4+IHRvIHF1aXQtLS0NCj4g IzQgIGRwZGtfZGV2aWNlX2lucHV0IChkbT0weDdmMmJlNDY3Mzk4MCA8ZHBka19tYWluPiwgcXVl dWVfaWQ9MCwNCj4gY3B1X2luZGV4PTxvcHRpbWl6ZWQgb3V0Piwgbm9kZT0weDdmMmJiMWVhMThj YywgeGQ9PG9wdGltaXplZCBvdXQ+KQ0KPiAgICAgYXQNCj4gL3cvd29ya3NwYWNlL3ZwcC1tZXJn ZS1tYXN0ZXItY2VudG9zNy9idWlsZC0NCj4gZGF0YS8uLi92bmV0L3ZuZXQvZGV2aWNlcy9kcGRr L25vZGUuYzo1MDgNCj4gIzUgIGRwZGtfaW5wdXRfcnNzICh2bT08b3B0aW1pemVkIG91dD4sIG5v ZGU9MHg3ZjJiYjFlYTE4Y2MsDQo+IGY9PG9wdGltaXplZA0KPiBvdXQ+KQ0KPiAgICAgYXQNCj4g L3cvd29ya3NwYWNlL3ZwcC1tZXJnZS1tYXN0ZXItY2VudG9zNy9idWlsZC0NCj4gZGF0YS8uLi92 bmV0L3ZuZXQvZGV2aWNlcy9kcGRrL25vZGUuYzo4MjENCj4gIzYgIDB4MDAwMDdmMmJlNDdlYjc3 YSBpbiBkaXNwYXRjaF9ub2RlICh2bT12bUBlbnRyeT0weDdmMmJiMWYyMzdkNCwNCj4gbm9kZT1u b2RlQGVudHJ5PTB4N2YyYmIxZWExOGNjLA0KPiB0eXBlPXR5cGVAZW50cnk9VkxJQl9OT0RFX1RZ UEVfSU5QVVQsDQo+ICAgICBkaXNwYXRjaF9zdGF0ZT1kaXNwYXRjaF9zdGF0ZUBlbnRyeT1WTElC X05PREVfU1RBVEVfUE9MTElORywNCj4gZnJhbWU9ZnJhbWVAZW50cnk9MHgwLCBsYXN0X3RpbWVf c3RhbXA9MTQ4MjA5NzY2NjY1NDgwMCkNCj4gICAgIGF0DQo+IC93L3dvcmtzcGFjZS92cHAtbWVy Z2UtbWFzdGVyLWNlbnRvczcvYnVpbGQtZGF0YS8uLi92bGliL3ZsaWIvbWFpbi5jOjk5Ng0KPiAj NyAgMHgwMDAwN2YyYmU0M2RiNmQ4IGluIGRwZGtfd29ya2VyX3RocmVhZF9pbnRlcm5hbA0KPiAo aGF2ZV9pb190aHJlYWRzPTAsIGNhbGxiYWNrPTB4MCwgdm09MHg3ZjJiYjFmMjM3ZDQpDQo+ICAg ICBhdA0KPiAvdy93b3Jrc3BhY2UvdnBwLW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1aWxkLQ0KPiBk YXRhLy4uL3ZuZXQvdm5ldC9kZXZpY2VzL2RwZGsvdGhyZWFkcy5jOjIwOQ0KPiAjOCAgZHBka193 b3JrZXJfdGhyZWFkICh3PTxvcHRpbWl6ZWQgb3V0PiwgaW9fbmFtZT08b3B0aW1pemVkIG91dD4s DQo+IGNhbGxiYWNrPTB4MCkNCj4gICAgIGF0DQo+IC93L3dvcmtzcGFjZS92cHAtbWVyZ2UtbWFz dGVyLWNlbnRvczcvYnVpbGQtDQo+IGRhdGEvLi4vdm5ldC92bmV0L2RldmljZXMvZHBkay90aHJl YWRzLmM6MjY1DQo+ICM5ICAweDAwMDA3ZjJiZTM3OTE1MzAgaW4gY2xpYl9jYWxsam1wICgpIGF0 DQo+IC93L3dvcmtzcGFjZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVpbGQtDQo+IGRhdGEv Li4vdnBwaW5mcmEvdnBwaW5mcmEvbG9uZ2ptcC5TOjExMA0KPiAjMTAgMHgwMDAwN2YyYjgxOWZk YzQwIGluID8/ICgpDQo+ICMxMSAweDAwMDAwMDAwMDA0ZWI5YzcgaW4gZWFsX3RocmVhZF9sb29w ICgpDQo+ICMxMiAweDAwMDAwMDAwMDAwMDAwMDAgaW4gPz8gKCkNCj4gDQo+IFRocmVhZCA3IChU aHJlYWQgMHg3ZjJiODExZmQ3MDAgKExXUCA4NzI1KSk6DQo+ICMwICAweDAwMDAwMDAwMDA0NTU1 MzkgaW4gcnhfcmVjdl9wa3RzICgpDQo+ICMxICAweDAwMDAwMDAwMDA0NTVlNzYgaW4gaTQwZV9y ZWN2X3BrdHNfYnVsa19hbGxvYyAoKQ0KPiAjMiAgMHgwMDAwN2YyYmU0M2Q4YmY3IGluIHJ0ZV9l dGhfcnhfYnVyc3QgKG5iX3BrdHM9MjU2LA0KPiByeF9wa3RzPTB4N2YyYmIxZTY2YTgwLCBxdWV1 ZV9pZD0xLCBwb3J0X2lkPTxvcHRpbWl6ZWQgb3V0PikgLS0tVHlwZQ0KPiA8cmV0dXJuPiB0byBj b250aW51ZSwgb3IgcSA8cmV0dXJuPiB0byBxdWl0LS0tDQo+ICAgICBhdA0KPiAvdy93b3Jrc3Bh Y2UvdnBwLW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1aWxkLXJvb3QvaW5zdGFsbC12cHAtDQo+IG5h dGl2ZS9kcGRrL2luY2x1ZGUvcnRlX2V0aGRldi5oOjI2NDENCj4gIzMgIGRwZGtfcnhfYnVyc3Qg KGRtPTB4N2YyYmU0NjczOTgwIDxkcGRrX21haW4+LCBxdWV1ZV9pZD0xLA0KPiB4ZD0weDdmMmJi MTg5ODU0MCkNCj4gICAgIGF0DQo+IC93L3dvcmtzcGFjZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRv czcvYnVpbGQtDQo+IGRhdGEvLi4vdm5ldC92bmV0L2RldmljZXMvZHBkay9kcGRrX3ByaXYuaDo2 NA0KPiAjNCAgZHBka19kZXZpY2VfaW5wdXQgKGRtPTB4N2YyYmU0NjczOTgwIDxkcGRrX21haW4+ LCBxdWV1ZV9pZD0xLA0KPiBjcHVfaW5kZXg9PG9wdGltaXplZCBvdXQ+LCBub2RlPTB4N2YyYmIx ZWY1OWZjLCB4ZD08b3B0aW1pemVkIG91dD4pDQo+ICAgICBhdA0KPiAvdy93b3Jrc3BhY2UvdnBw LW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1aWxkLQ0KPiBkYXRhLy4uL3ZuZXQvdm5ldC9kZXZpY2Vz L2RwZGsvbm9kZS5jOjUwOA0KPiAjNSAgZHBka19pbnB1dF9yc3MgKHZtPTxvcHRpbWl6ZWQgb3V0 Piwgbm9kZT0weDdmMmJiMWVmNTlmYywNCj4gZj08b3B0aW1pemVkDQo+IG91dD4pDQo+ICAgICBh dA0KPiAvdy93b3Jrc3BhY2UvdnBwLW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1aWxkLQ0KPiBkYXRh Ly4uL3ZuZXQvdm5ldC9kZXZpY2VzL2RwZGsvbm9kZS5jOjgyMQ0KPiAjNiAgMHgwMDAwN2YyYmU0 N2ViNzdhIGluIGRpc3BhdGNoX25vZGUgKHZtPXZtQGVudHJ5PTB4N2YyYmIxZjAyY2Q0LA0KPiBu b2RlPW5vZGVAZW50cnk9MHg3ZjJiYjFlZjU5ZmMsDQo+IHR5cGU9dHlwZUBlbnRyeT1WTElCX05P REVfVFlQRV9JTlBVVCwNCj4gICAgIGRpc3BhdGNoX3N0YXRlPWRpc3BhdGNoX3N0YXRlQGVudHJ5 PVZMSUJfTk9ERV9TVEFURV9QT0xMSU5HLA0KPiBmcmFtZT1mcmFtZUBlbnRyeT0weDAsIGxhc3Rf dGltZV9zdGFtcD0xNDgyMDk3NjYxNDk0MDM1KQ0KPiAgICAgYXQNCj4gL3cvd29ya3NwYWNlL3Zw cC1tZXJnZS1tYXN0ZXItY2VudG9zNy9idWlsZC1kYXRhLy4uL3ZsaWIvdmxpYi9tYWluLmM6OTk2 DQo+ICM3ICAweDAwMDA3ZjJiZTQzZGI2ZDggaW4gZHBka193b3JrZXJfdGhyZWFkX2ludGVybmFs DQo+IChoYXZlX2lvX3RocmVhZHM9MCwgY2FsbGJhY2s9MHgwLCB2bT0weDdmMmJiMWYwMmNkNCkN Cj4gICAgIGF0DQo+IC93L3dvcmtzcGFjZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVpbGQt DQo+IGRhdGEvLi4vdm5ldC92bmV0L2RldmljZXMvZHBkay90aHJlYWRzLmM6MjA5DQo+ICM4ICBk cGRrX3dvcmtlcl90aHJlYWQgKHc9PG9wdGltaXplZCBvdXQ+LCBpb19uYW1lPTxvcHRpbWl6ZWQg b3V0PiwNCj4gY2FsbGJhY2s9MHgwKQ0KPiAgICAgYXQNCj4gL3cvd29ya3NwYWNlL3ZwcC1tZXJn ZS1tYXN0ZXItY2VudG9zNy9idWlsZC0NCj4gZGF0YS8uLi92bmV0L3ZuZXQvZGV2aWNlcy9kcGRr L3RocmVhZHMuYzoyNjUNCj4gIzkgIDB4MDAwMDdmMmJlMzc5MTUzMCBpbiBjbGliX2NhbGxqbXAg KCkgYXQNCj4gL3cvd29ya3NwYWNlL3ZwcC1tZXJnZS1tYXN0ZXItY2VudG9zNy9idWlsZC0NCj4g ZGF0YS8uLi92cHBpbmZyYS92cHBpbmZyYS9sb25nam1wLlM6MTEwDQo+ICMxMCAweDAwMDA3ZjJi ODExZmNjNDAgaW4gPz8gKCkNCj4gIzExIDB4MDAwMDAwMDAwMDRlYjljNyBpbiBlYWxfdGhyZWFk X2xvb3AgKCkNCj4gIzEyIDB4MDAwMDAwMDAwMDAwMDAwMCBpbiA/PyAoKQ0KPiANCj4gVGhyZWFk IDYgKFRocmVhZCAweDdmMmI4MDlmYzcwMCAoTFdQIDg3MjYpKToNCj4gLS0tVHlwZSA8cmV0dXJu PiB0byBjb250aW51ZSwgb3IgcSA8cmV0dXJuPiB0byBxdWl0LS0tDQo+ICMwICAweDAwMDAwMDAw MDA0NTUzOWUgaW4gcnhfcmVjdl9wa3RzICgpDQo+ICMxICAweDAwMDAwMDAwMDA0NTVlNzYgaW4g aTQwZV9yZWN2X3BrdHNfYnVsa19hbGxvYyAoKQ0KPiAjMiAgMHgwMDAwN2YyYmU0M2Q4YmY3IGlu IHJ0ZV9ldGhfcnhfYnVyc3QgKG5iX3BrdHM9MjU2LA0KPiByeF9wa3RzPTB4N2YyYmIxZGE4YTAw LCBxdWV1ZV9pZD0yLCBwb3J0X2lkPTxvcHRpbWl6ZWQgb3V0PikNCj4gICAgIGF0DQo+IC93L3dv cmtzcGFjZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVpbGQtcm9vdC9pbnN0YWxsLXZwcC0N Cj4gbmF0aXZlL2RwZGsvaW5jbHVkZS9ydGVfZXRoZGV2Lmg6MjY0MQ0KPiAjMyAgZHBka19yeF9i dXJzdCAoZG09MHg3ZjJiZTQ2NzM5ODAgPGRwZGtfbWFpbj4sIHF1ZXVlX2lkPTIsDQo+IHhkPTB4 N2YyYmIxODk4NTQwKQ0KPiAgICAgYXQNCj4gL3cvd29ya3NwYWNlL3ZwcC1tZXJnZS1tYXN0ZXIt Y2VudG9zNy9idWlsZC0NCj4gZGF0YS8uLi92bmV0L3ZuZXQvZGV2aWNlcy9kcGRrL2RwZGtfcHJp di5oOjY0DQo+ICM0ICBkcGRrX2RldmljZV9pbnB1dCAoZG09MHg3ZjJiZTQ2NzM5ODAgPGRwZGtf bWFpbj4sIHF1ZXVlX2lkPTIsDQo+IGNwdV9pbmRleD08b3B0aW1pemVkIG91dD4sIG5vZGU9MHg3 ZjJiYjFlYmM3ZjgsIHhkPTxvcHRpbWl6ZWQgb3V0PikNCj4gICAgIGF0DQo+IC93L3dvcmtzcGFj ZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVpbGQtDQo+IGRhdGEvLi4vdm5ldC92bmV0L2Rl dmljZXMvZHBkay9ub2RlLmM6NTA4DQo+ICM1ICBkcGRrX2lucHV0X3JzcyAodm09PG9wdGltaXpl ZCBvdXQ+LCBub2RlPTB4N2YyYmIxZWJjN2Y4LA0KPiBmPTxvcHRpbWl6ZWQNCj4gb3V0PikNCj4g ICAgIGF0DQo+IC93L3dvcmtzcGFjZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVpbGQtDQo+ IGRhdGEvLi4vdm5ldC92bmV0L2RldmljZXMvZHBkay9ub2RlLmM6ODIxDQo+ICM2ICAweDAwMDA3 ZjJiZTQ3ZWI3N2EgaW4gZGlzcGF0Y2hfbm9kZSAodm09dm1AZW50cnk9MHg3ZjJiYjFlZTI5ZDQs DQo+IG5vZGU9bm9kZUBlbnRyeT0weDdmMmJiMWViYzdmOCwNCj4gdHlwZT10eXBlQGVudHJ5PVZM SUJfTk9ERV9UWVBFX0lOUFVULA0KPiAgICAgZGlzcGF0Y2hfc3RhdGU9ZGlzcGF0Y2hfc3RhdGVA ZW50cnk9VkxJQl9OT0RFX1NUQVRFX1BPTExJTkcsDQo+IGZyYW1lPWZyYW1lQGVudHJ5PTB4MCwg bGFzdF90aW1lX3N0YW1wPTE0ODIwOTc2NTg2MTQ2MDkpDQo+ICAgICBhdA0KPiAvdy93b3Jrc3Bh Y2UvdnBwLW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1aWxkLWRhdGEvLi4vdmxpYi92bGliL21haW4u Yzo5OTYNCj4gIzcgIDB4MDAwMDdmMmJlNDNkYjZkOCBpbiBkcGRrX3dvcmtlcl90aHJlYWRfaW50 ZXJuYWwNCj4gKGhhdmVfaW9fdGhyZWFkcz0wLCBjYWxsYmFjaz0weDAsIHZtPTB4N2YyYmIxZWUy OWQ0KQ0KPiAgICAgYXQNCj4gL3cvd29ya3NwYWNlL3ZwcC1tZXJnZS1tYXN0ZXItY2VudG9zNy9i dWlsZC0NCj4gZGF0YS8uLi92bmV0L3ZuZXQvZGV2aWNlcy9kcGRrL3RocmVhZHMuYzoyMDkNCj4g IzggIGRwZGtfd29ya2VyX3RocmVhZCAodz08b3B0aW1pemVkIG91dD4sIGlvX25hbWU9PG9wdGlt aXplZCBvdXQ+LA0KPiBjYWxsYmFjaz0weDApDQo+ICAgICBhdA0KPiAvdy93b3Jrc3BhY2UvdnBw LW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1aWxkLQ0KPiBkYXRhLy4uL3ZuZXQvdm5ldC9kZXZpY2Vz L2RwZGsvdGhyZWFkcy5jOjI2NQ0KPiAjOSAgMHgwMDAwN2YyYmUzNzkxNTMwIGluIGNsaWJfY2Fs bGptcCAoKSBhdA0KPiAvdy93b3Jrc3BhY2UvdnBwLW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1aWxk LQ0KPiBkYXRhLy4uL3ZwcGluZnJhL3ZwcGluZnJhL2xvbmdqbXAuUzoxMTANCj4gIzEwIDB4MDAw MDdmMmI4MDlmYmM0MCBpbiA/PyAoKQ0KPiAjMTEgMHgwMDAwMDAwMDAwNGViOWM3IGluIGVhbF90 aHJlYWRfbG9vcCAoKSAtLS1UeXBlIDxyZXR1cm4+IHRvIGNvbnRpbnVlLA0KPiBvciBxIDxyZXR1 cm4+IHRvIHF1aXQtLS0NCj4gIzEyIDB4MDAwMDAwMDAwMDAwMDAwMCBpbiA/PyAoKQ0KPiANCj4g VGhyZWFkIDUgKFRocmVhZCAweDdmMmI4MDFmYjcwMCAoTFdQIDg3MjcpKToNCj4gIzAgIDB4MDAw MDdmMmJlNDdlYjcyOCBpbiBkaXNwYXRjaF9ub2RlICh2bT12bUBlbnRyeT0weDdmMmJiMWVjMjYx NCwNCj4gbm9kZT1ub2RlQGVudHJ5PTB4N2YyYmIxZGE1ZTYwLA0KPiB0eXBlPXR5cGVAZW50cnk9 VkxJQl9OT0RFX1RZUEVfSU5QVVQsDQo+ICAgICBkaXNwYXRjaF9zdGF0ZT1kaXNwYXRjaF9zdGF0 ZUBlbnRyeT1WTElCX05PREVfU1RBVEVfUE9MTElORywNCj4gZnJhbWU9ZnJhbWVAZW50cnk9MHgw LCBsYXN0X3RpbWVfc3RhbXA9MTQ4MjA5NzY2NjY2NTQ0MikNCj4gICAgIGF0DQo+IC93L3dvcmtz cGFjZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVpbGQtZGF0YS8uLi92bGliL3ZsaWIvbWFp bi5jOjkyNA0KPiAjMSAgMHgwMDAwN2YyYmU0M2RiNmQ4IGluIGRwZGtfd29ya2VyX3RocmVhZF9p bnRlcm5hbA0KPiAoaGF2ZV9pb190aHJlYWRzPTAsIGNhbGxiYWNrPTB4MCwgdm09MHg3ZjJiYjFl YzI2MTQpDQo+ICAgICBhdA0KPiAvdy93b3Jrc3BhY2UvdnBwLW1lcmdlLW1hc3Rlci1jZW50b3M3 L2J1aWxkLQ0KPiBkYXRhLy4uL3ZuZXQvdm5ldC9kZXZpY2VzL2RwZGsvdGhyZWFkcy5jOjIwOQ0K PiAjMiAgZHBka193b3JrZXJfdGhyZWFkICh3PTxvcHRpbWl6ZWQgb3V0PiwgaW9fbmFtZT08b3B0 aW1pemVkIG91dD4sDQo+IGNhbGxiYWNrPTB4MCkNCj4gICAgIGF0DQo+IC93L3dvcmtzcGFjZS92 cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVpbGQtDQo+IGRhdGEvLi4vdm5ldC92bmV0L2Rldmlj ZXMvZHBkay90aHJlYWRzLmM6MjY1DQo+ICMzICAweDAwMDA3ZjJiZTM3OTE1MzAgaW4gY2xpYl9j YWxsam1wICgpIGF0DQo+IC93L3dvcmtzcGFjZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVp bGQtDQo+IGRhdGEvLi4vdnBwaW5mcmEvdnBwaW5mcmEvbG9uZ2ptcC5TOjExMA0KPiAjNCAgMHgw MDAwN2YyYjgwMWZhYzQwIGluID8/ICgpDQo+ICM1ICAweDAwMDAwMDAwMDA0ZWI5YzcgaW4gZWFs X3RocmVhZF9sb29wICgpDQo+ICM2ICAweDAwMDAwMDAwMDAwMDAwMDAgaW4gPz8gKCkNCj4gDQo+ IFRocmVhZCA0IChUaHJlYWQgMHg3ZjJiN2Y5ZmE3MDAgKExXUCA4NzI4KSk6DQo+ICMwICAweDAw MDA3ZjJiZTQzZGI2Y2MgaW4gZHBka193b3JrZXJfdGhyZWFkX2ludGVybmFsDQo+IChoYXZlX2lv X3RocmVhZHM9MCwgY2FsbGJhY2s9MHgwLCB2bT0weDdmMmJiMWVhMjI5NCkNCj4gICAgIGF0DQo+ IC93L3dvcmtzcGFjZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVpbGQtDQo+IGRhdGEvLi4v dm5ldC92bmV0L2RldmljZXMvZHBkay90aHJlYWRzLmM6MjA5DQo+ICMxICBkcGRrX3dvcmtlcl90 aHJlYWQgKHc9PG9wdGltaXplZCBvdXQ+LCBpb19uYW1lPTxvcHRpbWl6ZWQgb3V0PiwNCj4gY2Fs bGJhY2s9MHgwKQ0KPiAgICAgYXQNCj4gL3cvd29ya3NwYWNlL3ZwcC1tZXJnZS1tYXN0ZXItY2Vu dG9zNy9idWlsZC0NCj4gZGF0YS8uLi92bmV0L3ZuZXQvZGV2aWNlcy9kcGRrL3RocmVhZHMuYzoy NjUNCj4gLS0tVHlwZSA8cmV0dXJuPiB0byBjb250aW51ZSwgb3IgcSA8cmV0dXJuPiB0byBxdWl0 LS0tDQo+ICMyICAweDAwMDA3ZjJiZTM3OTE1MzAgaW4gY2xpYl9jYWxsam1wICgpIGF0DQo+IC93 L3dvcmtzcGFjZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVpbGQtDQo+IGRhdGEvLi4vdnBw aW5mcmEvdnBwaW5mcmEvbG9uZ2ptcC5TOjExMA0KPiAjMyAgMHgwMDAwN2YyYjdmOWY5YzQwIGlu ID8/ICgpDQo+ICM0ICAweDAwMDAwMDAwMDA0ZWI5YzcgaW4gZWFsX3RocmVhZF9sb29wICgpDQo+ ICM1ICAweDAwMDAwMDAwMDAwMDAwMDAgaW4gPz8gKCkNCj4gDQo+IFRocmVhZCAzIChUaHJlYWQg MHg3ZjJiN2YxZjk3MDAgKExXUCA4NzI5KSk6DQo+ICMwICB2bGliX25vZGVfcnVudGltZV91cGRh dGVfc3RhdHMgKG5fY2xvY2tzPTIwNSwgbl92ZWN0b3JzPTAsIG5fY2FsbHM9MSwNCj4gbm9kZT0w eDdmMmJiMWQ3ODJkMCwgdm09MHg3ZjJiYjFlODFmOTQpDQo+ICAgICBhdA0KPiAvdy93b3Jrc3Bh Y2UvdnBwLW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1aWxkLWRhdGEvLi4vdmxpYi92bGliL21haW4u Yzo2MjkNCj4gIzEgIGRpc3BhdGNoX25vZGUgKHZtPXZtQGVudHJ5PTB4N2YyYmIxZTgxZjk0LA0K PiBub2RlPW5vZGVAZW50cnk9MHg3ZjJiYjFkNzgyZDAsDQo+IHR5cGU9dHlwZUBlbnRyeT1WTElC X05PREVfVFlQRV9JTlBVVCwNCj4gICAgIGRpc3BhdGNoX3N0YXRlPWRpc3BhdGNoX3N0YXRlQGVu dHJ5PVZMSUJfTk9ERV9TVEFURV9QT0xMSU5HLA0KPiBmcmFtZT1mcmFtZUBlbnRyeT0weDAsIGxh c3RfdGltZV9zdGFtcD0xNDgyMDk3NjY2NjgwNDU2KQ0KPiAgICAgYXQNCj4gL3cvd29ya3NwYWNl L3ZwcC1tZXJnZS1tYXN0ZXItY2VudG9zNy9idWlsZC0NCj4gZGF0YS8uLi92bGliL3ZsaWIvbWFp bi5jOjEwMDUNCj4gIzIgIDB4MDAwMDdmMmJlNDNkYjZkOCBpbiBkcGRrX3dvcmtlcl90aHJlYWRf aW50ZXJuYWwNCj4gKGhhdmVfaW9fdGhyZWFkcz0wLCBjYWxsYmFjaz0weDAsIHZtPTB4N2YyYmIx ZTgxZjk0KQ0KPiAgICAgYXQNCj4gL3cvd29ya3NwYWNlL3ZwcC1tZXJnZS1tYXN0ZXItY2VudG9z Ny9idWlsZC0NCj4gZGF0YS8uLi92bmV0L3ZuZXQvZGV2aWNlcy9kcGRrL3RocmVhZHMuYzoyMDkN Cj4gIzMgIGRwZGtfd29ya2VyX3RocmVhZCAodz08b3B0aW1pemVkIG91dD4sIGlvX25hbWU9PG9w dGltaXplZCBvdXQ+LA0KPiBjYWxsYmFjaz0weDApDQo+ICAgICBhdA0KPiAvdy93b3Jrc3BhY2Uv dnBwLW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1aWxkLQ0KPiBkYXRhLy4uL3ZuZXQvdm5ldC9kZXZp Y2VzL2RwZGsvdGhyZWFkcy5jOjI2NQ0KPiAjNCAgMHgwMDAwN2YyYmUzNzkxNTMwIGluIGNsaWJf Y2FsbGptcCAoKSBhdA0KPiAvdy93b3Jrc3BhY2UvdnBwLW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1 aWxkLQ0KPiBkYXRhLy4uL3ZwcGluZnJhL3ZwcGluZnJhL2xvbmdqbXAuUzoxMTANCj4gIzUgIDB4 MDAwMDdmMmI3ZjFmOGM0MCBpbiA/PyAoKQ0KPiAjNiAgMHgwMDAwMDAwMDAwNGViOWM3IGluIGVh bF90aHJlYWRfbG9vcCAoKQ0KPiAjNyAgMHgwMDAwMDAwMDAwMDAwMDAwIGluID8/ICgpDQo+IA0K PiAtLS1UeXBlIDxyZXR1cm4+IHRvIGNvbnRpbnVlLCBvciBxIDxyZXR1cm4+IHRvIHF1aXQtLS0g VGhyZWFkIDIgKFRocmVhZA0KPiAweDdmMmI3ZTlmODcwMCAoTFdQIDg3MzApKToNCj4gIzAgIDB4 MDAwMDdmMmJlMzI1ODk2ZCBpbiBuYW5vc2xlZXAgKCkgYXQNCj4gLi4vc3lzZGVwcy91bml4L3N5 c2NhbGwtdGVtcGxhdGUuUzo4MQ0KPiAjMSAgMHgwMDAwMDAwMDAwNDEzOTE2IGluIGlwNDZfZmli X3N0YXRzX2RlbGF5LmlzcmEuNiAoKQ0KPiAjMiAgMHgwMDAwMDAwMDAwNDE5MGI2IGluIHN0YXRz X3RocmVhZF9mbiAoKQ0KPiAjMyAgMHgwMDAwN2YyYmUzNzkxNTMwIGluIGNsaWJfY2FsbGptcCAo KSBhdA0KPiAvdy93b3Jrc3BhY2UvdnBwLW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1aWxkLQ0KPiBk YXRhLy4uL3ZwcGluZnJhL3ZwcGluZnJhL2xvbmdqbXAuUzoxMTANCj4gIzQgIDB4MDAwMDdmMmI3 ZTlmN2RhMCBpbiA/PyAoKQ0KPiAjNSAgMHgwMDAwN2YyYmUzMjUxZGM1IGluIHN0YXJ0X3RocmVh ZCAoYXJnPTB4MCkgYXQgcHRocmVhZF9jcmVhdGUuYzozMDgNCj4gIzYgIDB4MDAwMDAwMDAwMDAw MDAwMCBpbiA/PyAoKQ0KPiANCj4gVGhyZWFkIDEgKFRocmVhZCAweDdmMmJlNTI4OThjMCAoTFdQ IDg3MjEpKToNCj4gIzAgIDB4MDAwMDdmMmJlMjk5MmYyNyBpbiBfX0dJX2Vwb2xsX3B3YWl0IChl cGZkPTUsDQo+IGV2ZW50cz0weDdmMmJiMjE1NTQyNCwgbWF4ZXZlbnRzPTI1NiwgdGltZW91dD10 aW1lb3V0QGVudHJ5PTEwLA0KPiAgICAgc2V0PXNldEBlbnRyeT0weDdmMmJlNGM1MjJlMCA8dW5i bG9ja19hbGxfc2lnbmFscy4xNjMzMz4pIGF0DQo+IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4 L2Vwb2xsX3B3YWl0LmM6NDgNCj4gIzEgIDB4MDAwMDdmMmJlNGE0MjlmYiBpbiBsaW51eF9lcG9s bF9pbnB1dCAodm09MHg3ZTEzYzANCj4gPHZsaWJfZ2xvYmFsX21haW4+LCBub2RlPTxvcHRpbWl6 ZWQgb3V0PiwgZnJhbWU9PG9wdGltaXplZCBvdXQ+KQ0KPiAgICAgYXQNCj4gL3cvd29ya3NwYWNl L3ZwcC1tZXJnZS1tYXN0ZXItY2VudG9zNy9idWlsZC0NCj4gZGF0YS8uLi92bGliL3ZsaWIvdW5p eC9pbnB1dC5jOjE0Ng0KPiAjMiAgMHgwMDAwN2YyYmU0N2ViNzdhIGluIGRpc3BhdGNoX25vZGUg KHZtPTB4N2UxM2MwDQo+IDx2bGliX2dsb2JhbF9tYWluPiwgbm9kZT0weDdmMmJiMjI1NGNjMCwg dHlwZT08b3B0aW1pemVkIG91dD4sDQo+IGRpc3BhdGNoX3N0YXRlPTxvcHRpbWl6ZWQgb3V0PiwN Cj4gICAgIGZyYW1lPTxvcHRpbWl6ZWQgb3V0PiwgbGFzdF90aW1lX3N0YW1wPTE0ODIwOTc2MzY5 NzI4MzYpIGF0DQo+IC93L3dvcmtzcGFjZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVpbGQt ZGF0YS8uLi92bGliL3ZsaWIvbWFpbi5jOjk5Ng0KPiAjMyAgMHgwMDAwN2YyYmU0N2ViZWExIGlu IHZsaWJfbWFpbl9sb29wICh2bT0weDdlMTNjMA0KPiA8dmxpYl9nbG9iYWxfbWFpbj4pIGF0IC93 L3dvcmtzcGFjZS92cHAtbWVyZ2UtbWFzdGVyLWNlbnRvczcvYnVpbGQtDQo+IGRhdGEvLi4vdmxp Yi92bGliL21haW4uYzoxNDAzDQo+ICM0ICB2bGliX21haW4gKHZtPXZtQGVudHJ5PTB4N2UxM2Mw IDx2bGliX2dsb2JhbF9tYWluPiwNCj4gaW5wdXQ9aW5wdXRAZW50cnkNCj4gPTB4N2YyYmIyNzg2 ZmEwKQ0KPiAgICAgYXQNCj4gL3cvd29ya3NwYWNlL3ZwcC1tZXJnZS1tYXN0ZXItY2VudG9zNy9i dWlsZC0NCj4gZGF0YS8uLi92bGliL3ZsaWIvbWFpbi5jOjE2MTUNCj4gIzUgIDB4MDAwMDdmMmJl NGE0MzVmMyBpbiB0aHJlYWQwIChhcmc9ODI2MjU5MikgYXQNCj4gL3cvd29ya3NwYWNlL3ZwcC1t ZXJnZS1tYXN0ZXItY2VudG9zNy9idWlsZC0NCj4gZGF0YS8uLi92bGliL3ZsaWIvdW5peC9tYWlu LmM6NDI1DQo+IC0tLVR5cGUgPHJldHVybj4gdG8gY29udGludWUsIG9yIHEgPHJldHVybj4gdG8g cXVpdC0tLQ0KPiAjNiAgMHgwMDAwN2YyYmUzNzkxNTMwIGluIGNsaWJfY2FsbGptcCAoKSBhdA0K PiAvdy93b3Jrc3BhY2UvdnBwLW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1aWxkLQ0KPiBkYXRhLy4u L3ZwcGluZnJhL3ZwcGluZnJhL2xvbmdqbXAuUzoxMTANCj4gIzcgIDB4MDAwMDdmZmM5OGE2OGQ2 MCBpbiA/PyAoKQ0KPiAjOCAgMHgwMDAwN2YyYmU0YTQzZTMxIGluIHZsaWJfdW5peF9tYWluIChh cmdjPTxvcHRpbWl6ZWQgb3V0PiwNCj4gYXJndj08b3B0aW1pemVkIG91dD4pDQo+ICAgICBhdA0K PiAvdy93b3Jrc3BhY2UvdnBwLW1lcmdlLW1hc3Rlci1jZW50b3M3L2J1aWxkLQ0KPiBkYXRhLy4u L3ZsaWIvdmxpYi91bml4L21haW4uYzo0ODUNCj4gIzkgIDB4MDAwMDAwMDAwMDAwMDAwMCBpbiA/ PyAoKQ0KPiAoZ2RiKQ0KPiAoZ2RiKQ0KPiAoZ2RiKQ0KPiAoZ2RiKQ0KPiAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo=