From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.115; helo=mga14.intel.com; envelope-from=jiewen.yao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 653B02034A86B for ; Thu, 26 Oct 2017 17:31:16 -0700 (PDT) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Oct 2017 17:35:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,302,1505804400"; d="scan'208";a="1235857184" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga002.fm.intel.com with ESMTP; 26 Oct 2017 17:35:01 -0700 Received: from fmsmsx125.amr.corp.intel.com (10.18.125.40) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 26 Oct 2017 17:35:01 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by FMSMSX125.amr.corp.intel.com (10.18.125.40) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 26 Oct 2017 17:35:01 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.175]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.213]) with mapi id 14.03.0319.002; Fri, 27 Oct 2017 08:34:24 +0800 From: "Yao, Jiewen" To: Laszlo Ersek , "Zeng, Star" , "edk2-devel@lists.01.org" CC: "Ni, Ruiyu" , Ard Biesheuvel , "Kinney, Michael D" Thread-Topic: [edk2] [PATCH] IntelSiliconPkg/VTdDxe: Change EBS Event TPL to CALLBACK. Thread-Index: AQHTThcCxLYSYGW9y0GhkiqH8Xoq2aL1lmkw//+FSYCAAIfpEP//foKAgACO5jD//3tdgAACC26AAACcdoAAClfKAAARipCQ//+VBQD//tyGEA== Date: Fri, 27 Oct 2017 00:34:23 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503AA068EA@shsmsx102.ccr.corp.intel.com> References: <1508984017-11740-1-git-send-email-jiewen.yao@intel.com> <0C09AFA07DD0434D9E2A0C6AEB0483103B9AE2AB@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503AA0491C@shsmsx102.ccr.corp.intel.com> <0C09AFA07DD0434D9E2A0C6AEB0483103B9AE3FE@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503AA04CE4@shsmsx102.ccr.corp.intel.com> <0C09AFA07DD0434D9E2A0C6AEB0483103B9AE45B@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503AA04F32@shsmsx102.ccr.corp.intel.com> <0C09AFA07DD0434D9E2A0C6AEB0483103B9AE4D0@shsmsx102.ccr.corp.intel.com> <0C09AFA07DD0434D9E2A0C6AEB0483103B9AE57E@shsmsx102.ccr.corp.intel.com> <657e3efc-c5f3-df60-4263-07f076f07a1c@redhat.com> <74D8A39837DF1E4DA445A8C0B3885C503AA06060@shsmsx102.ccr.corp.intel.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYmEzYjRhYmEtZDc5OC00YjczLTlmZjQtOGQwZjUyNWQyZDllIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJjcmhUOUdPY0s3KzA1SnE5SWczNHdqb05LUnpKZExDRXJwUWl4VnZtWjlYRHlnNzJWOEc4OUJIVmRZN2szcVNwIn0= x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH] IntelSiliconPkg/VTdDxe: Change EBS Event TPL to CALLBACK. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Oct 2017 00:31:16 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 R29vZCBJbmZvLiBJIHRoaW5rIGEgY29ycmVjdCBpbXBsZW1lbnRhdGlvbiBzaG91bGQgbm90IHVz ZSBidXN5IHdhaXQuDQoNCkl0IHNob3VsZCBhZGQgZXJyb3IgaGFuZGxpbmcgdG8gY2hlY2sgaWYg dGhlcmUgaXMgaGFyZHdhcmUgZXJyb3IgZHVyaW5nIHRoYXQuDQoNCj4gLSBidXN5IHdhaXQgKHBv bGwpIHVuaWwgdGhlIHRyYW5zZmVyIGlzIGNvbXBsZXRlLA0KDQpUaGUgcHJvY2VzcyBvZiBidXN5 IHdhaXQgc2hvdWxkIGJlIHNvbWV0aGluZyBsaWtlIGJlbG93Og0KICB3aGlsZShUUlVFKSB7DQog ICAgaWYgKGVycm9yKSB7DQogICAgICBicmVhazsNCiAgICB9DQogICAgR2V0RGF0YQ0KICAgIGlm IChjb21wbGV0ZSkgew0KICAgICAgQnJlYWsNCiAgICB9DQogIH0NCg0KQk1FIGNsZWFyIHdpbGwg dHJpZ2dlciBlcnJvciBicmVhay4NCg0KVGhhbmsgeW91DQpZYW8gSmlld2VuDQoNCj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGFzemxvIEVyc2VrIFttYWlsdG86bGVyc2Vr QHJlZGhhdC5jb21dDQo+IFNlbnQ6IFRodXJzZGF5LCBPY3RvYmVyIDI2LCAyMDE3IDExOjA3IFBN DQo+IFRvOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBaZW5nLCBTdGFyIDxz dGFyLnplbmdAaW50ZWwuY29tPjsNCj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gQ2M6IE5p LCBSdWl5dSA8cnVpeXUubmlAaW50ZWwuY29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1 dmVsQGxpbmFyby5vcmc+Ow0KPiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBp bnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIXSBJbnRlbFNpbGljb25Qa2cv VlRkRHhlOiBDaGFuZ2UgRUJTIEV2ZW50IFRQTCB0bw0KPiBDQUxMQkFDSy4NCj4gDQo+IE9uIDEw LzI2LzE3IDE1OjM2LCBZYW8sIEppZXdlbiB3cm90ZToNCj4gPiBIaSBMYXN6bG8NCj4gPiBJIGhh dmUgZGlzY3Vzc2VkIHRoaXMgd2l0aCBNaWtlIEtpbm5leSBvZmZsaW5lIGFuZCBzb21lIE1pY3Jv c29mdCBlbmdpbmVlcnMuDQo+ID4NCj4gPiBXZSBiZWxpZXZlIHRoZSBpbXBhY3Qgb2YgQk1FIGRp c2FibGUgaXMgZGlmZmVyZW50IHdpdGggdGhlIGltcGFjdCBvZiBTRVYuDQo+ID4NCj4gPiBGb3Ig U0VWLCBpZiBhIERNQSBidWZmZXIgaXMgaW4gdHJhbnNpdGlvbiB3aGVuIFNFViBiaXQgY2hhbmdl LCB0aGUgRE1BIHdpbGwgc3RpbGwNCj4gYmUgYWN0aXZlLCBidXQgdGhlIGNvbnRlbnQgaXMgZGlm ZmVyZW50LiBJdCB3aWxsIGJyaW5nIHdyb25nIGRhdGEgZnJvbSBkZXZpY2UNCj4gcGVyc3BlY3Rp dmUuDQo+ID4NCj4gPiBGb3IgQk1FLCBpZiBhIERNQSBidWZmZXIgaXMgaW4gdHJhbnNpdGlvbiB3 aGVuIEJNRSBpcyBjbGVhciwgdGhlIERNQSB3aWxsIGJlDQo+IHN0b3BwZWQgaW1tZWRpYXRlbHku IFRoZSBkZXZpY2Ugb25seSBzZWVzIHRoZSBETUEgdHJhbnNpdGlvbiBpcyBhYm9ydC4gQnV0IHRo ZXJlDQo+IGlzIG5vIHdyb25nIGRhdGEgdHJhbnNtaXR0ZWQuDQo+IA0KPiBJIGFncmVlIHdpdGgg dGhlIGFib3ZlIGFuYWx5c2lzLg0KPiANCj4gPiBCZWNhdXNlIG9mIGFib3ZlIHJlYXNvbiwgd2Ug dGhpbmsgaXQgaXMgT0sgdG8gbGV0IFBDSSBidXMgZHJpdmVyIHRvIGNsZWFyIEJNRSBiaXQNCj4g ZXZlbiB0aGVyZSBpcyBhY3RpdmUgRE1BIHRyYW5zYWN0aW9uLg0KPiANCj4gVGhlIHJlYXNvbiB3 aHkgSSBiZWxpZXZlIHRoYXQgdGhlIFBjaUJ1c0R4ZSBkcml2ZXIgc2hvdWxkIG5vdCBjbGVhciB0 aGUNCj4gQk1FIGJpdCBpcyBkaWZmZXJlbnQuIEl0IGlzIHVucmVsYXRlZCB0byBTRVYuDQo+IA0K PiBJbWFnaW5lIGEgUENJIGRldmljZSB0aGF0IHJlcXVpcmVzIGEgc3BlY2lhbCBETUEgdHJhbnNm ZXIgYmVmb3JlIGl0IGNhbg0KPiBiZSBxdWllc2NlZCBhdCBFeGl0Qm9vdFNlcnZpY2VzKCkuIFRo ZSB2ZW5kb3Igb2YgdGhpcyBkZXZpY2Ugd2lsbA0KPiBpbXBsZW1lbnQgYW4gRUJTIG5vdGlmaWNh dGlvbiBmdW5jdGlvbiBsaWtlIHRoaXM6DQo+IA0KPiAtIGNoZWNrIHRoZSBwcml2YXRlIGRhdGEg c3RydWN0dXJlIHRvIHNlZSBpZiB0aGUgZGV2aWNlIG5lZWRzIHRoZQ0KPiBzcGVjaWFsIERNQSB0 cmFuc2Zlcg0KPiANCj4gLSBpbml0aWF0ZSB0aGUgc3BlY2lhbCBETUEgdHJhbnNmZXIgLS0gd3Jp dGUgc29tZSBkYXRhIHRvIGEgcHJlYWxsb2NhdGVkDQo+ICAgYW5kIHByZS1wcm9ncmFtbWVkIG1l bW9yeSBidWZmZXIsIGFuZCB0aGVuIHB1c2ggdGhlIGRvb3JiZWxsIGluIE1NSU8NCj4gICBvciBj b25maWcgc3BhY2UsDQo+IA0KPiAtIGJ1c3kgd2FpdCAocG9sbCkgdW5pbCB0aGUgdHJhbnNmZXIg aXMgY29tcGxldGUsDQo+IA0KPiAtIGNsZWFyIEJNRSAoYXMgcmVxdWlyZWQgYnkgdGhlIERXRyAv IHNwZWMpDQo+IA0KPiAtIGRvbmUNCj4gDQo+IE5vdywgaWYgUGNpQnVzRHhlIGludHJvZHVjZXMg aXRzIG93biBFQlMgbm90aWZpY2F0aW9uIGZ1bmN0aW9uLCB3aGljaA0KPiBpdGVyYXRlcyBvdmVy IGFsbCB0aGUgUGNpSW8gaW5zdGFuY2VzLCBhbmQgY2xlYXJzIHRoZSBCTUUgYml0IGluIGVhY2gN Cj4gY29tbWFuZCByZWdpc3RlciwgdGhlbiB0aGlzIG5vdGlmaWNhdGlvbiBmdW5jdGlvbiBtYXks IG9yIG1heSBub3QsIGJlDQo+IHF1ZXVlZCBiZWZvcmUgdGhlIG90aGVyIG9uZSB0aGF0IEkgZGVz Y3JpYmVkIGFib3ZlLg0KPiANCj4gSWYgdGhlIFBjaUJ1c0R4ZSBmdW5jdGlvbiBpcyBxdWV1ZWQg ImFmdGVyIiwgdGhlbiBldmVyeXRoaW5nIGlzIGZpbmUuIElmDQo+IGl0IGlzIHF1ZXVlZCAiYmVm b3JlIiwgdGhlbiB0aGUgZHJpdmVyJ3Mgb3duIG5vdGlmaWNhdGlvbiBmdW5jdGlvbiB3aWxsDQo+ IGJyZWFrLiAoSXQgbWF5IGV2ZW4gaGFuZywgaWYgdGhlIGJ1c3kgd2FpdCBuZXZlciBjb21wbGV0 ZXMuKQ0KPiANCj4gDQo+IFVFRkkgZHJpdmVycyBmb3IgUENJIGRldmljZXMgYXJlIGN1cnJlbnRs eSBub3QgZm9yYmlkZGVuIGZyb20gZG9pbmcgYQ0KPiBxdWljayBDb21tb25CdWZmZXIgRE1BIHRy YW5zZmVyIGluIHRoZWlyIEVCUyBjYWxsYmFja3MgKGFzIGxvbmcgYXMgdGhleQ0KPiBkb24ndCBh bGxvY2F0ZSBvciByZWxlYXNlIG1lbW9yeSAtLSBidXQgdGhlIG1lbW9yeSBidWZmZXIgYW5kIHRo ZQ0KPiBjb3JyZXNwb25kaW5nIENvbW1vbkJ1ZmZlciBtYXBwaW5nIGFyZSBub3QgaGFyZCB0byBz ZXQgdXAgaW4gYWR2YW5jZSwNCj4gZm9yIGV4YW1wbGUgaW4gRHJpdmVyQmluZGluZ1N0YXJ0KCkp Lg0KPiANCj4gVGhpcyBtZWFucyB0aGF0IGFueSBhdXRvbWF0ZWQgSU9NTVUgZGVhY3RpdmF0aW9u LCBhbmQvb3IgQk1FIGNsZWFyaW5nIGluDQo+IFBjaUJ1c0R4ZSwgc2hvdWxkIG9jY3VyIG9ubHkg YWZ0ZXIgdGhlIGluZGl2aWR1YWwgZHJpdmVyIGNhbGxiYWNrcyBoYXZlDQo+IHJldHVybmVkLiBJ ZiBQY2lCdXNEeGUgY2FuIGd1YXJhbnRlZSB0aGlzLCB0aGVuIEkgaGF2ZSBubyBvYmplY3Rpb25z IDopDQo+IA0KPiBUaGFua3MhDQo+IExhc3psbw0KPiANCj4gPg0KPiA+IFRoYW5rIHlvdQ0KPiA+ IFlhbyBKaWV3ZW4NCj4gPg0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4+IEZyb206IExhc3psbyBFcnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXQ0KPiA+PiBT ZW50OiBUaHVyc2RheSwgT2N0b2JlciAyNiwgMjAxNyA5OjA3IFBNDQo+ID4+IFRvOiBaZW5nLCBT dGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPjsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwu Y29tPjsNCj4gPj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPj4gQ2M6IE5pLCBSdWl5dSA8 cnVpeXUubmlAaW50ZWwuY29tPjsgQXJkIEJpZXNoZXV2ZWwNCj4gPGFyZC5iaWVzaGV1dmVsQGxp bmFyby5vcmc+DQo+ID4+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIXSBJbnRlbFNpbGljb25Q a2cvVlRkRHhlOiBDaGFuZ2UgRUJTIEV2ZW50IFRQTCB0bw0KPiA+PiBDQUxMQkFDSy4NCj4gPj4N Cj4gPj4gT24gMTAvMjYvMTcgMTA6MTAsIFplbmcsIFN0YXIgd3JvdGU6DQo+ID4+PiBJcyBpdCBz ZWN1cml0eSByZWFzb24gd2hlbiBJT01NVSBkaXNhYmxlZCBhbmQgQnVzIE1hc3RlciBub3QgZGlz YWJsZWQ/DQo+ID4+DQo+ID4+IE5vLCBJIGRvbid0IHRoaW5rIHRoZXJlIGlzIGEgc2VjdXJpdHkg aXNzdWUgaGVyZS4NCj4gPj4NCj4gPj4gQnV0LCBteSBwcmV2aW91cyBhc3Nlc3NtZW50IGFib3V0 IFZUZER4ZSB3YXMgaW5kZWVkIHdyb25nIC0tIHRoZXJlIG1heQ0KPiA+PiBiZSBhICpjb3JyZWN0 bmVzcyogaXNzdWUuDQo+ID4+DQo+ID4+IE5hbWVseSwgaWYgdGhlIElPTU1VIGlzIGRlLWFjdGl2 YXRlZCBieSBWVGREeGUgYmVmb3JlIFBDSSBkcml2ZXJzIGFib3J0DQo+ID4+IHBlbmRpbmcgRE1B LCB0aGVuIGxpdmUgc3lzdGVtIFJBTSByZWZlcmVuY2VzIGluIHRoZSBkZXZpY2VzIG1heSBiZWNv bWUNCj4gPj4gYm9ndXMuIFRoaXMgaXMgbm90IGEgc2VjdXJpdHkgaXNzdWUgKGJlY2F1c2UgZGUt YWN0aXZhdGluZyB0aGUgSU9NTVUNCj4gPj4gd2lsbCBncmFudCB0aGUgZGV2aWNlcyBhY2Nlc3Mg dG8gYWxsIG9mIHRoZSBzeXN0ZW0gUkFNIGFueXdheSksIGluc3RlYWQNCj4gPj4gaXQncyBhIGNv cnJlY3RuZXNzIHByb2JsZW06IERNQSByZWFkL3dyaXRlIG1heSBub3cgYmUgZGlyZWN0ZWQgdG8g dGhlDQo+ID4+IHdyb25nIHNwb3RzIGluIFJBTSAoaWYgdGhlIElPTU1VIG1hcHBpbmdzIHdlcmUg bm90IDE6MSBwcmV2aW91c2x5KS4NCj4gPj4NCj4gPj4gU28sIEkgYWdyZWUgdGhhdCBQQ0kgZHJp dmVycyBzaG91bGQgZ2V0IGEgY2hhbmNlIHRvIGFib3J0IHBlbmRpbmcgRE1BDQo+ID4+IGZpcnN0 LCBiZWZvcmUgdGhlIElPTU1VIGRyaXZlciByZW1vdmVzIHRoZSBtYXBwaW5ncy4NCj4gPj4NCj4g Pj4+IENvdWxkIG91ciBjb2RlIGhhdmUgYSBjZW50cmFsIHBsYWNlIHRvIGRpc2FibGUgQnVzIE1h c3Rlcj8gRm9yIGV4YW1wbGUNCj4gPj4gUGNpQnVzRHhlPw0KPiA+Pg0KPiA+PiBObywgSSBkb24n dCB0aGluayBQY2lCdXNEeGUgaXMgYSBnb29kIGlkZWEuIEhpZ2hlci1sZXZlbCBQQ0kgZHJpdmVy cw0KPiA+PiBtaWdodCB3YW50IHRvIGRvIG9uZS1zaG90IGJ1cyBtYXN0ZXIgRE1BIG9wZXJhdGlv bnMgaW4gdGhlaXIgb3duIEVCUw0KPiA+PiBjYWxsYmFja3MuIElmIFBjaUJ1c0R4ZSdzIGNhbGxi YWNrIHJhbiBmaXJzdCwgdGhlbiB0aGVzZSBoaWdoZXItbGV2ZWwNCj4gPj4gZHJpdmVycyB3b3Vs ZCBicmVhay4NCj4gPj4NCj4gPj4gRm9yIHRoZSBTRVYgSU9NTVUgZHJpdmVyLCB3ZSBzb2x2ZWQg dGhlIHByb2JsZW0gaW4gY29tbWl0IDdhZWUzOTFmYTNkMA0KPiA+PiAoIk92bWZQa2cvSW9NbXVE eGU6IHVubWFwIGFsbCBJT01NVSBtYXBwaW5ncyBhdCBFeGl0Qm9vdFNlcnZpY2VzKCkiLA0KPiA+ PiAyMDE3LTA5LTA3KS4gSSB0aGluayB0aGUgc2FtZSBjb3VsZCBiZSBhcHBsaWVkIHRvIFZUZER4 ZS4NCj4gPj4NCj4gPj4NCj4gPj4gQW5vdGhlciBpZGVhIChzdWdnZXN0ZWQgLyBzdXBwb3J0ZWQg YnkgQXJkKSB3YXMgdG8gbW9kaWZ5IHRoZSBlZGsyDQo+ID4+IEV4aXRCb290U2VydmljZXMoKSBp bXBsZW1lbnRhdGlvbi4gSW4gQ29yZUV4aXRCb290U2VydmljZXMoKQ0KPiA+PiBbTWRlTW9kdWxl UGtnL0NvcmUvRHhlL0R4ZU1haW4vRHhlTWFpbi5jXSwgd2UgY291bGQgc2lnbmFsIGEgc3BlY2lh bA0KPiA+PiBlZGsyIElPTU1VIGV2ZW50IGdyb3VwLCByaWdodCBhZnRlciBzaWduYWxpbmcNCj4g Pj4gImdFZmlFdmVudEV4aXRCb290U2VydmljZXNHdWlkIjoNCj4gPj4NCj4gPj4gICAvLw0KPiA+ PiAgIC8vIE5vdGlmeSBvdGhlciBkcml2ZXJzIHRoYXQgd2UgYXJlIGV4aXRpbmcgYm9vdCBzZXJ2 aWNlcy4NCj4gPj4gICAvLw0KPiA+PiAgIENvcmVOb3RpZnlTaWduYWxMaXN0ICgmZ0VmaUV2ZW50 RXhpdEJvb3RTZXJ2aWNlc0d1aWQpOw0KPiA+Pg0KPiA+PiAgIFtIRVJFXQ0KPiA+Pg0KPiA+PiAg IC8vDQo+ID4+ICAgLy8gUmVwb3J0IHRoYXQgRXhpdEJvb3RTZXJ2aWNlcygpIGhhcyBiZWVuIGNh bGxlZA0KPiA+PiAgIC8vDQo+ID4+ICAgUkVQT1JUX1NUQVRVU19DT0RFICgNCj4gPj4gICAgIEVG SV9QUk9HUkVTU19DT0RFLA0KPiA+PiAgICAgKEVGSV9TT0ZUV0FSRV9FRklfQk9PVF9TRVJWSUNF IHwNCj4gPj4gRUZJX1NXX0JTX1BDX0VYSVRfQk9PVF9TRVJWSUNFUykNCj4gPj4gICAgICk7DQo+ ID4+DQo+ID4+IFRoaXMgd291bGQgZW5zdXJlIHRoYXQgdGhlIElPTU1VIGNhbGxiYWNrIHJhbiBs YXN0Lg0KPiA+Pg0KPiA+Pg0KPiA+PiBZZXQgYW5vdGhlciBpZGVhIChmcm9tIEppZXdlbiBJIHRo aW5rPykgd2FzIHRvIGNhdGNoIHRoZQ0KPiA+PiBFRklfU1dfQlNfUENfRVhJVF9CT09UX1NFUlZJ Q0VTIHN0YXR1cyBjb2RlIGluIHRoZSBJT01NVSBkcml2ZXIuIEkNCj4gPj4gZGlkbid0IGxpa2Ug dGhlIGlkZWEgYmVjYXVzZSAoSU1PKSBpdCBwdXQgdG9vIG1hbnkgcmVxdWlyZW1lbnRzIG9uDQo+ ID4+IHBsYXRmb3Jtcy4NCj4gPj4NCj4gPj4gVGhhbmtzLA0KPiA+PiBMYXN6bG8NCj4gPj4NCj4g Pj4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4gVGhhbmtzLA0KPiA+Pj4gU3Rhcg0KPiA+Pj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+IEZyb206IExhc3psbyBFcnNlayBbbWFpbHRvOmxl cnNla0ByZWRoYXQuY29tXQ0KPiA+Pj4gU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjYsIDIwMTcg Mzo1MyBQTQ0KPiA+Pj4gVG86IFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+OyBZYW8s IEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+Ow0KPiA+PiBlZGsyLWRldmVsQGxpc3RzLjAx Lm9yZw0KPiA+Pj4gQ2M6IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50ZWwuY29tPg0KPiA+Pj4gU3Vi amVjdDogUmU6IFtQQVRDSF0gSW50ZWxTaWxpY29uUGtnL1ZUZER4ZTogQ2hhbmdlIEVCUyBFdmVu dCBUUEwgdG8NCj4gPj4gQ0FMTEJBQ0suDQo+ID4+Pg0KPiA+Pj4gT24gMTAvMjYvMTcgMDg6NTQs IFplbmcsIFN0YXIgd3JvdGU6DQo+ID4+Pj4gT2ssIHBsZWFzZSBhZGQgbW9yZSBkZXNjcmlwdGlv biBpbnRvIHRoZSBjb21taXQgbG9nLCBmb3IgZXhhbXBsZSwgIlBDSQ0KPiBkZXZpY2UNCj4gPj4g c2hvdWxkIGRpc2FibGUgQk1FIGF0IE5PVElGWSIsIGV0Yy4NCj4gPj4+DQo+ID4+PiBMYXN0IHRp bWUgd2UgZGlzY3Vzc2VkIHRoaXMgcXVlc3Rpb24sIHRoZSBjb25zZW5zdXMgd2FzIHRoYXQgZWRr MiBzaG91bGQNCj4gbm90DQo+ID4+IHByZXNlbnQgYW55IHJlcXVpcmVtZW50IGZvciBQQ0kgZHJp dmVycyB0aGF0IGlzIG5vdCByZXF1aXJlZCBieSB0aGUgVUVGSSBzcGVjLg0KPiA+PiBVRUZJIGRy aXZlcnMgZm9yIFBDSSBkZXZpY2VzIGNvbWUgZnJvbSB0aGlyZCBwYXJ0aWVzIGFzIHdlbGwsIGFu ZCB0aG9zZSBkcml2ZXJzDQo+IHdpbGwNCj4gPj4gb25seSBjYXJlIGFib3V0IHRoZSBVRUZJIHNw ZWMgKGFzIHRoZXkgc2hvdWxkKSwgbm90IGFib3V0IGVkazIuDQo+ID4+Pg0KPiA+Pj4gSW4gZmFj dCwgSSB0aGluayB0aGlzIGFkZGl0aW9uYWwgcmVxdWlyZW1lbnQgaXMgbm90IG5lY2Vzc2FyeToN Cj4gPj4+DQo+ID4+PiAqIEluIHRoZSBlYXJsaWVyIGRpc2N1c3Npb24gKGZvciB0aGUgU0VWIElv TW11RHhlIGluIE9WTUYpLCBpdCB3YXMgcmVhbGx5DQo+ID4+IG5lY2Vzc2FyeSB0byBkZWxheSB0 aGUgSW9NbXVEeGUgRXhpdEJvb3RTZXJ2aWNlcygpIGNhbGxiYWNrIGFmdGVyIGFsbCB0aGUgUENJ DQo+ID4+IGRyaXZlciBjYWxsYmFja3MuIFRoZSByZWFzb24gZm9yIHRoaXMgd2FzIHRoYXQgdGhl IElvTW11RHhlDQo+ID4+PiBFeGl0Qm9vdFNlcnZpY2VzKCkgY2FsbGJhY2sgd2FzIGdvaW5nIHRv ICpsb2NrIGRvd24qIGFsbCBSQU0gZnJvbSBkZXZpY2VzLA0KPiBhbmQNCj4gPj4gcGVuZGluZyBE TUEgaGFkIHRvIGJlIGFib3J0ZWQgYmVmb3JlIHRoaXMgbG9jay1kb3duLg0KPiA+Pj4NCj4gPj4+ ICogSW4gY29tcGFyaXNvbiwgdGhlIFZUZER4ZSBjYWxsYmFjayBhdCBFQlMgZG9lcyB0aGUgb3Bw b3NpdGU6IGl0ICJkaXNhYmxlW3NdDQo+ID4+IHRoZSBwcm90ZWN0aW9uIGFuZCBhbGxvd1tzXSBh bGwgRE1BIGFjY2VzcyIsIGluIEppZXdlbidzIHdvcmRzIGZyb20NCj4gdXAtdGhyZWFkLg0KPiA+ PiBTbywgSU1PLCBuZWl0aGVyIHRoZSBQQ0kgZHJpdmVyIHJlcXVpcmVtZW50LCBub3IgdGhpcyBw YXRjaCwgYXJlIG5lY2Vzc2FyeSAtLQ0KPiA+PiB0aGVyZSBpcyBuZXZlciBhbiBJT01NVSBzdGF0 ZSB0aGF0IGNvbmZsaWN0cyB3aXRoIGEgY29ycmVjdGx5IHdyaXR0ZW4gUENJDQo+IGRyaXZlcidz DQo+ID4+IHBlbmRpbmcgRE1BIG9wZXJhdGlvbi4NCj4gPj4+DQo+ID4+PiBUaGFua3MNCj4gPj4+ IExhc3psbw0KPiA+Pj4NCj4gPj4+Pg0KPiA+Pj4+IFdpdGggdGhhdCwgUmV2aWV3ZWQtYnk6IFN0 YXIgWmVuZyA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gPj4+Pg0KPiA+Pj4+DQo+ID4+Pj4gVGhh bmtzLA0KPiA+Pj4+IFN0YXINCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ Pj4+IEZyb206IFlhbywgSmlld2VuDQo+ID4+Pj4gU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjYs IDIwMTcgMjo1MSBQTQ0KPiA+Pj4+IFRvOiBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29t PjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPj4+PiBDYzogTGFzemxvIEVyc2VrIChsZXJz ZWtAcmVkaGF0LmNvbSkgPGxlcnNla0ByZWRoYXQuY29tPjsgTmksIFJ1aXl1DQo+ID4+Pj4gPHJ1 aXl1Lm5pQGludGVsLmNvbT4NCj4gPj4+PiBTdWJqZWN0OiBSRTogW1BBVENIXSBJbnRlbFNpbGlj b25Qa2cvVlRkRHhlOiBDaGFuZ2UgRUJTIEV2ZW50IFRQTCB0bw0KPiA+PiBDQUxMQkFDSy4NCj4g Pj4+Pg0KPiA+Pj4+IFllcywgdGhpcyBQQ0kgcGF0Y2ggd2lsbCBiZSBzdWJtaXR0ZWQgc29vbi4g OikNCj4gPj4+Pg0KPiA+Pj4+IFRoYW5rIHlvdQ0KPiA+Pj4+IFlhbyBKaWV3ZW4NCj4gPj4+Pg0K PiA+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+PiBGcm9tOiBaZW5nLCBT dGFyDQo+ID4+Pj4+IFNlbnQ6IFRodXJzZGF5LCBPY3RvYmVyIDI2LCAyMDE3IDI6MTggUE0NCj4g Pj4+Pj4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IGVkazItZGV2ZWxA bGlzdHMuMDEub3JnDQo+ID4+Pj4+IENjOiBMYXN6bG8gRXJzZWsgKGxlcnNla0ByZWRoYXQuY29t KSA8bGVyc2VrQHJlZGhhdC5jb20+OyBaZW5nLCBTdGFyDQo+ID4+Pj4+IDxzdGFyLnplbmdAaW50 ZWwuY29tPg0KPiA+Pj4+PiBTdWJqZWN0OiBSRTogW1BBVENIXSBJbnRlbFNpbGljb25Qa2cvVlRk RHhlOiBDaGFuZ2UgRUJTIEV2ZW50IFRQTCB0bw0KPiA+PiBDQUxMQkFDSy4NCj4gPj4+Pj4NCj4g Pj4+Pj4gU28gdGhlcmUgd2lsbCBiZSBhIGd1aWRhbmNlIGZvciB0aGlzICIgUENJIGRldmljZSBk aXNhYmxlIEJNRSBhdA0KPiA+Pj4+PiBOT1RJRlkgIiB0byBiZSBkb2N1bWVudGVkPw0KPiA+Pj4+ Pg0KPiA+Pj4+PiBUaGFua3MsDQo+ID4+Pj4+IFN0YXINCj4gPj4+Pj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPj4+Pj4gRnJvbTogWWFvLCBKaWV3ZW4NCj4gPj4+Pj4gU2VudDogVGh1 cnNkYXksIE9jdG9iZXIgMjYsIDIwMTcgMjowMyBQTQ0KPiA+Pj4+PiBUbzogWmVuZywgU3RhciA8 c3Rhci56ZW5nQGludGVsLmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4+Pj4+IENj OiBMYXN6bG8gRXJzZWsgKGxlcnNla0ByZWRoYXQuY29tKSA8bGVyc2VrQHJlZGhhdC5jb20+DQo+ ID4+Pj4+IFN1YmplY3Q6IFJFOiBbUEFUQ0hdIEludGVsU2lsaWNvblBrZy9WVGREeGU6IENoYW5n ZSBFQlMgRXZlbnQgVFBMIHRvDQo+ID4+IENBTExCQUNLLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBSaWdo dC4gSW4gdGhlIGZ1dHVyZSwgd2Ugd2lsbCBsZXQgUENJIGRldmljZSBkaXNhYmxlIEJNRSBhdCBO T1RJRlkuDQo+ID4+Pj4+DQo+ID4+Pj4+IFNvIHdlIGxldCBJT01NVSB1c2UgQ0FMTEJBQ0ssIHRv IG1ha2Ugc3VyZSBCTUUgaXMgZGlzYWJsZWQgYmVmb3JlDQo+ID4+Pj4+IElPTU1VIGlzIGRpc2Fi bGVkLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBUaGFuayB5b3UNCj4gPj4+Pj4gWWFvIEppZXdlbg0KPiA+ Pj4+Pg0KPiA+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+Pj4+IEZyb206 IFplbmcsIFN0YXINCj4gPj4+Pj4+IFNlbnQ6IFRodXJzZGF5LCBPY3RvYmVyIDI2LCAyMDE3IDE6 NTUgUE0NCj4gPj4+Pj4+IFRvOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBl ZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+Pj4+Pj4gQ2M6IExhc3psbyBFcnNlayAobGVyc2Vr QHJlZGhhdC5jb20pIDxsZXJzZWtAcmVkaGF0LmNvbT47IFplbmcsIFN0YXINCj4gPj4+Pj4+IDxz dGFyLnplbmdAaW50ZWwuY29tPg0KPiA+Pj4+Pj4gU3ViamVjdDogUkU6IFtQQVRDSF0gSW50ZWxT aWxpY29uUGtnL1ZUZER4ZTogQ2hhbmdlIEVCUyBFdmVudCBUUEwgdG8NCj4gPj4+Pj4gQ0FMTEJB Q0suDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gSSBhbSBjb25mdXNlZC4NCj4gPj4+Pj4+DQo+ID4+Pj4+ PiBJcyB0aGlzIHBhdGNoIHRvIG1ha2UgdGhlIGRldmljZSBkcml2ZXIncyBFQlMgZXZlbnQgbm90 aWZpY2F0aW9uIHRvDQo+ID4+Pj4+PiBiZSBydW4gYmVmb3JlIEludGVsVlRkRHhlJ3MgRUJTIGV2 ZW50IG5vdGlmaWNhdGlvbj8NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBJZiB5ZXMsIHRoaXMgcGF0Y2gg c2VlbWluZ2x5IGNhbiBvbmx5IG1ha2Ugc3VyZSB0aGUgYmVoYXZpb3Igd2hlbg0KPiA+Pj4+Pj4g dGhlIGRldmljZSBkcml2ZXIncyBFQlMgZXZlbnQgbm90aWZpY2F0aW9uIGlzIGF0IE5PVElGWSwg YnV0IG5vdCBDQUxMQkFDSy4NCj4gPj4+Pj4+DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhhbmtzLA0K PiA+Pj4+Pj4gU3Rhcg0KPiA+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+ Pj4+IEZyb206IFlhbywgSmlld2VuDQo+ID4+Pj4+PiBTZW50OiBUaHVyc2RheSwgT2N0b2JlciAy NiwgMjAxNyAxOjE2IFBNDQo+ID4+Pj4+PiBUbzogWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVs LmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4+Pj4+PiBDYzogTGFzemxvIEVyc2Vr IChsZXJzZWtAcmVkaGF0LmNvbSkgPGxlcnNla0ByZWRoYXQuY29tPg0KPiA+Pj4+Pj4gU3ViamVj dDogUkU6IFtQQVRDSF0gSW50ZWxTaWxpY29uUGtnL1ZUZER4ZTogQ2hhbmdlIEVCUyBFdmVudCBU UEwgdG8NCj4gPj4+Pj4gQ0FMTEJBQ0suDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhhdCBpcyBmaW5l Lg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEhlcmUsIGRpc2FibGluZyBJT01NVSBtZWFucyB0byBkaXNh YmxlIHRoZSBwcm90ZWN0aW9uIGFuZCBhbGxvdyBhbGwNCj4gPj4+Pj4+IERNQSBhY2Nlc3MuDQo+ ID4+Pj4+PiBJIGRvIG5vdCB0aGluayBpdCB3aWxsIGJyaW5nIGFueSBmdW5jdGlvbmFsIGltcGFj dC4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBUaGFuayB5b3UNCj4gPj4+Pj4+IFlhbyBKaWV3ZW4NCj4g Pj4+Pj4+DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4+Pj4+Pj4gRnJvbTogWmVuZywgU3Rhcg0KPiA+Pj4+Pj4+IFNlbnQ6IFRodXJzZGF5LCBPY3Rv YmVyIDI2LCAyMDE3IDEyOjU4IFBNDQo+ID4+Pj4+Pj4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4u eWFvQGludGVsLmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4+Pj4+Pj4gQ2M6IExh c3psbyBFcnNlayAobGVyc2VrQHJlZGhhdC5jb20pIDxsZXJzZWtAcmVkaGF0LmNvbT47IFplbmcs DQo+ID4+Pj4+Pj4gU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gPj4+Pj4+PiBTdWJqZWN0 OiBSRTogW1BBVENIXSBJbnRlbFNpbGljb25Qa2cvVlRkRHhlOiBDaGFuZ2UgRUJTIEV2ZW50IFRQ TA0KPiA+Pj4+Pj4+IHRvDQo+ID4+Pj4+PiBDQUxMQkFDSy4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+ IFNvbWUgZGV2aWNlIGRyaXZlciBtYXkgYWxzbyBoYXZlIGV4aXQgYm9vdCBzZXJ2aWNlIGV2ZW50 IGF0DQo+ID4+Pj4+Pj4gQ0FMTEJBQ0ssIGZvciBleGFtcGxlIEF0YVBhc3NUaHJ1RXhpdEJvb3RT ZXJ2aWNlcygpIHRoYXQgd2FzIGFkZGVkDQo+ID4+Pj4+Pj4gYnkNCj4gPj4+Pj4gTGFzemxvLg0K PiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBUaGFua3MsDQo+ID4+Pj4+Pj4gU3Rhcg0K PiA+Pj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4+Pj4gRnJvbTogWWFv LCBKaWV3ZW4NCj4gPj4+Pj4+PiBTZW50OiBUaHVyc2RheSwgT2N0b2JlciAyNiwgMjAxNyAxMDox NCBBTQ0KPiA+Pj4+Pj4+IFRvOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+Pj4+Pj4+IENj OiBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPg0KPiA+Pj4+Pj4+IFN1YmplY3Q6IFtQ QVRDSF0gSW50ZWxTaWxpY29uUGtnL1ZUZER4ZTogQ2hhbmdlIEVCUyBFdmVudCBUUEwgdG8NCj4g Pj4gQ0FMTEJBQ0suDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBDaGFuZ2UgRXhpdEJvb3RTZXJ2aWNl cyBUUEwgdG8gQ0FMTEJBQ0ssIHNvIHRoYXQgYSBkZXZpY2UgY2FuDQo+ID4+Pj4+Pj4gZGlzYWJs ZSBCTUUgYmVmb3JlIElPTU1VIGdyYW50cyBhY2Nlc3MgcmlnaHQuDQo+ID4+Pj4+Pj4NCj4gPj4+ Pj4+PiBDYzogU3RhciBaZW5nIDxzdGFyLnplbmdAaW50ZWwuY29tPg0KPiA+Pj4+Pj4+IENvbnRy aWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjENCj4gPj4+ Pj4+PiBTaWduZWQtb2ZmLWJ5OiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4g Pj4+Pj4+PiAtLS0NCj4gPj4+Pj4+PiAgSW50ZWxTaWxpY29uUGtnL0ZlYXR1cmUvVlRkL0ludGVs VlRkRHhlL0RtYVByb3RlY3Rpb24uYyB8IDQgKystLQ0KPiA+Pj4+Pj4+ICAxIGZpbGUgY2hhbmdl ZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQ0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4g ZGlmZiAtLWdpdA0KPiA+Pj4+Pj4+IGEvSW50ZWxTaWxpY29uUGtnL0ZlYXR1cmUvVlRkL0ludGVs VlRkRHhlL0RtYVByb3RlY3Rpb24uYw0KPiA+Pj4+Pj4+IGIvSW50ZWxTaWxpY29uUGtnL0ZlYXR1 cmUvVlRkL0ludGVsVlRkRHhlL0RtYVByb3RlY3Rpb24uYw0KPiA+Pj4+Pj4+IGluZGV4IGY1ZGUw MWYuLjRhNGQ4MmUgMTAwNjQ0DQo+ID4+Pj4+Pj4gLS0tIGEvSW50ZWxTaWxpY29uUGtnL0ZlYXR1 cmUvVlRkL0ludGVsVlRkRHhlL0RtYVByb3RlY3Rpb24uYw0KPiA+Pj4+Pj4+ICsrKyBiL0ludGVs U2lsaWNvblBrZy9GZWF0dXJlL1ZUZC9JbnRlbFZUZER4ZS9EbWFQcm90ZWN0aW9uLmMNCj4gPj4+ Pj4+PiBAQCAtNDgzLDcgKzQ4Myw3IEBAIEluaXRpYWxpemVEbWFQcm90ZWN0aW9uICgNCj4gPj4+ Pj4+Pg0KPiA+Pj4+Pj4+ICAgIFN0YXR1cyA9IGdCUy0+Q3JlYXRlRXZlbnRFeCAoDQo+ID4+Pj4+ Pj4gICAgICAgICAgICAgICAgICAgIEVWVF9OT1RJRllfU0lHTkFMLA0KPiA+Pj4+Pj4+IC0gICAg ICAgICAgICAgICAgICBUUExfTk9USUZZLA0KPiA+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICBU UExfQ0FMTEJBQ0ssDQo+ID4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIE9uRXhpdEJvb3RTZXJ2 aWNlcywNCj4gPj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gPj4+Pj4+PiAgICAg ICAgICAgICAgICAgICAgJmdFZmlFdmVudEV4aXRCb290U2VydmljZXNHdWlkLCBAQCAtNDkyLDcN Cj4gPj4+Pj4+PiArNDkyLDcgQEAgSW5pdGlhbGl6ZURtYVByb3RlY3Rpb24gKA0KPiA+Pj4+Pj4+ ICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiAgICBT dGF0dXMgPSBFZmlDcmVhdGVFdmVudExlZ2FjeUJvb3RFeCAoDQo+ID4+Pj4+Pj4gLSAgICAgICAg ICAgICBUUExfTk9USUZZLA0KPiA+Pj4+Pj4+ICsgICAgICAgICAgICAgVFBMX0NBTExCQUNLLA0K PiA+Pj4+Pj4+ICAgICAgICAgICAgICAgT25MZWdhY3lCb290LA0KPiA+Pj4+Pj4+ICAgICAgICAg ICAgICAgTlVMTCwNCj4gPj4+Pj4+PiAgICAgICAgICAgICAgICZMZWdhY3lCb290RXZlbnQNCj4g Pj4+Pj4+PiAtLQ0KPiA+Pj4+Pj4+IDIuNy40LndpbmRvd3MuMQ0KPiA+Pj4+DQo+ID4+Pg0KPiA+ Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPj4+ IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+ID4+PiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0K PiA+Pj4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo+ ID4+Pg0KPiA+DQoNCg==