From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 505005B3E for ; Tue, 15 Jan 2019 14:08:02 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Jan 2019 05:08:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,481,1539673200"; d="scan'208";a="267290381" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga004.jf.intel.com with ESMTP; 15 Jan 2019 05:08:00 -0800 Received: from fmsmsx118.amr.corp.intel.com (10.18.116.18) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 15 Jan 2019 05:08:00 -0800 Received: from shsmsx107.ccr.corp.intel.com (10.239.4.96) by fmsmsx118.amr.corp.intel.com (10.18.116.18) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 15 Jan 2019 05:07:59 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.150]) by SHSMSX107.ccr.corp.intel.com ([169.254.9.239]) with mapi id 14.03.0415.000; Tue, 15 Jan 2019 21:07:57 +0800 From: "Hu, Xuekun" To: "Burakov, Anatoly" , Ravi Kerur CC: "dev@dpdk.org" , "Ananyev, Konstantin" , "Lu, Wenzhuo" Thread-Topic: [dpdk-dev] IXGBE, IOMMU DMAR DRHD handling fault issue Thread-Index: AQHTlP6b1dQzmzMzDEqTRhjcASEIwqOC3rCAgAEFjYCABw6HAIASGS8AgAB0GwCAAqQ8AIAAxXSAgAEU5YCAAe5TgIAA8maAgACFs4CAACjigIAA1rWAgguvWaD//8UNAIAAozfw Date: Tue, 15 Jan 2019 13:07:57 +0000 Message-ID: <88A92D351643BA4CB23E30315517062663541E70@SHSMSX103.ccr.corp.intel.com> References: <8ddb30a3-1253-ff60-20bb-b735fef5a91c@intel.com> <4a54fe58-02d8-07ef-b706-f747383f4985@intel.com> <3b6d6cfc-7e2e-70ee-e059-aa31dc23c93b@intel.com> <1ab980ce-16a5-4bf4-e673-b706e3126474@intel.com> <88A92D351643BA4CB23E303155170626635418D0@SHSMSX103.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYTM3Zjk0NDAtMDI1MS00Yzc4LWE1MzQtNTZkMzVkZDc1ZDdhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiUVJZSUtmWlpVZWVNTWJ1b0s5SXpJbnQxSUJXTVZWSDFCXC9POVZtR3F5OE1zMXUrWnFCWlF3UlFJY1BmNlwveXIrIn0= x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action 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] IXGBE, IOMMU DMAR DRHD handling fault issue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Jan 2019 13:08:03 -0000 VGhhbmtzLCBJJ20ganVzdCB1c2luZyBDZW50T1M3LjUgMy4xMCENCkkgd2lsbCB0cnkgYSBuZXdl ciBrZXJuZWwuIFN0YXkgdHVuZWQuICANCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZy b206IEJ1cmFrb3YsIEFuYXRvbHkgDQpTZW50OiBUdWVzZGF5LCBKYW51YXJ5IDE1LCAyMDE5IDc6 MjIgUE0NClRvOiBIdSwgWHVla3VuIDx4dWVrdW4uaHVAaW50ZWwuY29tPjsgUmF2aSBLZXJ1ciA8 cmtlcnVyQGdtYWlsLmNvbT4NCkNjOiBkZXZAZHBkay5vcmc7IEFuYW55ZXYsIEtvbnN0YW50aW4g PGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+OyBMdSwgV2Vuemh1byA8d2Vuemh1by5sdUBp bnRlbC5jb20+DQpTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBJWEdCRSwgSU9NTVUgRE1BUiBEUkhE IGhhbmRsaW5nIGZhdWx0IGlzc3VlDQoNCk9uIDE1LUphbi0xOSA3OjA3IEFNLCBIdSwgWHVla3Vu IHdyb3RlOg0KPiBIaSwgUmF2aQ0KPiANCj4gRGlkIHlvdSByZXNvbHZlIHRoaXMgaXNzdWUgdGhh dCBWRiB1c2VkIGluIGd1ZXN0IHdpdGggdklPTU1VIGVuYWJsZWQ/IEkgZ29vZ2xlZCwgYnV0IHN0 aWxsIGNhbid0IGdldCB0aGUgYW5zd2VyIHRoYXQgaXQgaXMgZHJpdmVyIG9yIHFlbXUgdnQtZCBl bXVsYXRpb24gaXNzdWUuDQo+IA0KPiBDdXJyZW50bHkgSSBtZXQgdGhlIHNhbWUgaXNzdWUgYWdh aW4gdGhhdCBob3N0IHJlcG9ydGVkIERNQVIgZXJyb3I6DQo+IFs1OTkzOS4xMzAxMTBdIERNQVI6 IERSSEQ6IGhhbmRsaW5nIGZhdWx0IHN0YXR1cyByZWcgMiBbNTk5MzkuMTMwMTE2XSANCj4gRE1B UjogW0RNQSBSZWFkXSBSZXF1ZXN0IGRldmljZSBbODM6MTAuMF0gZmF1bHQgYWRkciAxNWYwM2Qw MDAgW2ZhdWx0IA0KPiByZWFzb24gMDZdIFBURSBSZWFkIGFjY2VzcyBpcyBub3Qgc2V0IFs1OTk0 MC4xODA4NTldIGl4Z2JlIA0KPiAwMDAwOjgzOjAwLjA6IElzc3VpbmcgVkZMUiB3aXRoIHBlbmRp bmcgdHJhbnNhY3Rpb25zIFs1OTk0MC4xODA4NjNdIA0KPiBpeGdiZSAwMDAwOjgzOjAwLjA6IElz c3VpbmcgVkZMUiBmb3IgVkYgMDAwMDo4MzoxMC4wIFs1OTk4OS4zNDQ2ODNdIA0KPiBpeGdiZSAw MDAwOjgzOjAwLjAgZW5zODE3ZjA6IFZGIFJlc2V0IG1zZyByZWNlaXZlZCBmcm9tIHZmIDANCj4g DQo+IEknbSB1c2luZyBEUERLIDE4LjExIGluIGd1ZXN0LCBhbmQgaXhnYmUua28gaW4gaG9zdC4N Cj4gDQo+IFRoeCwgWHVla3VuDQo+IA0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG cm9tOiBkZXYgPGRldi1ib3VuY2VzQGRwZGsub3JnPiBPbiBCZWhhbGYgT2YgQnVyYWtvdiwgQW5h dG9seQ0KPiBTZW50OiBGcmlkYXksIEZlYnJ1YXJ5IDE2LCAyMDE4IDU6NDIgUE0NCj4gVG86IFJh dmkgS2VydXIgPHJrZXJ1ckBnbWFpbC5jb20+DQo+IENjOiBkZXZAZHBkay5vcmc7IEFuYW55ZXYs IEtvbnN0YW50aW4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+OyANCj4gTHUsIFdlbnpo dW8gPHdlbnpodW8ubHVAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBJWEdC RSwgSU9NTVUgRE1BUiBEUkhEIGhhbmRsaW5nIGZhdWx0IGlzc3VlDQo+IA0KPiBPbiAxNS1GZWIt MTggODo1MyBQTSwgUmF2aSBLZXJ1ciB3cm90ZToNCj4+DQo+Pg0KPj4gT24gVGh1LCBGZWIgMTUs IDIwMTggYXQgMTA6MjcgQU0sIFJhdmkgS2VydXIgPHJrZXJ1ckBnbWFpbC5jb20gDQo+PiA8bWFp bHRvOnJrZXJ1ckBnbWFpbC5jb20+PiB3cm90ZToNCj4+DQo+Pg0KPj4NCj4+ICAgICAgT24gVGh1 LCBGZWIgMTUsIDIwMTggYXQgMjoyOCBBTSwgQnVyYWtvdiwgQW5hdG9seQ0KPj4gICAgICA8YW5h dG9seS5idXJha292QGludGVsLmNvbSA8bWFpbHRvOmFuYXRvbHkuYnVyYWtvdkBpbnRlbC5jb20+ PiB3cm90ZToNCj4+DQo+PiAgICAgICAgICBPbiAxNC1GZWItMTggODowMCBQTSwgUmF2aSBLZXJ1 ciB3cm90ZToNCj4+DQo+Pg0KPj4gICAgICAgICAgICAgIEVhcmxpZXIgSSB3YXMgZm9jdXNpbmcg b25seSBvbiBETUFSIGVycm9ycyBhbmQgSSBtaWdodCBoYXZlDQo+PiAgICAgICAgICAgICAgc2Fp ZCAnaXQgd29ya2VkJyB3aGVuIEkgZGlkbid0IG5vdGljZSB0aGVtIG9uIGhvc3Qgd2hlbiBkcGRr DQo+PiAgICAgICAgICAgICAgd2FzIHN0YXJ0ZWQgb24gZ3Vlc3QuIFdoZW4gdHJ5aW5nIHRvIHNl bmQgcGFja2V0cyBvdXQgb2YNCj4+ICAgICAgICAgICAgICB0aGF0IGludGVyZmFjZSBmcm9tIGd1 ZXN0IEkgZGlkIHNlZSBETUFSIGVycm9ycy4gSSBhbQ0KPj4gICAgICAgICAgICAgIGF0dGFjaGlu ZyBpbmZvcm1hdGlvbiB5b3UgcmVxdWVzdGVkLsKgIEkgaGF2ZSBlbmFibGVkDQo+PiAgICAgICAg ICAgICAgbG9nLWxldmVsPTggYW5kIGZpbGVzIGNvbnRhaW4gZHBkayBFQUwvUE1EIGxvZ3MgYXMg d2VsbC4NCj4+DQo+Pg0KPj4gICAgICAgICAgR3JlYXQsIG5vdyB3ZSdyZSBvbiB0aGUgc2FtZSBw YWdlLg0KPj4NCj4+DQo+PiAgICAgICAgICAgICAgU25pcHBldHMgYmVsb3cNCj4+DQo+PiAgICAg ICAgICAgICAgb24gaG9zdCwgRE1BUiBmYXVsdCBhZGRyZXNzIGZyb20gZG1lc2cNCj4+DQo+PiAg ICAgICAgICAgICAgWzM1MTU3Ni45OTgxMDldIERNQVI6IERSSEQ6IGhhbmRsaW5nIGZhdWx0IHN0 YXR1cyByZWcgNzAyDQo+PiAgICAgICAgICAgICAgWzM1MTU3Ni45OTgxMTNdIERNQVI6IFtETUEg UmVhZF0gUmVxdWVzdCBkZXZpY2UgWzA0OjEwLjBdDQo+PiAgICAgICAgICAgICAgZmF1bHQgYWRk ciAyNTc2MTcwMDAgW2ZhdWx0IHJlYXNvbiAwNl0gUFRFIFJlYWQgYWNjZXNzIGlzDQo+PiAgICAg ICAgICAgICAgbm90IHNldA0KPj4NCj4+ICAgICAgICAgICAgICBvbiBndWVzdCAoZHVtcCBwaHlz X21lbV9sYXlvdXQpDQo+Pg0KPj4gICAgICAgICAgICAgIFNlZ21lbnQgMjM1OiBwaHlzOjB4MjU3 NjAwMDAwLCBsZW46MjA5NzE1MiwNCj4+ICAgICAgICAgICAgICB2aXJ0OjB4N2ZjZTg3ZTAwMDAw LCBzb2NrZXRfaWQ6MCwgaHVnZXBhZ2Vfc3o6MjA5NzE1MiwNCj4+ICAgICAgICAgICAgICBuY2hh bm5lbDowLCBucmFuazowDQo+PiAgICAgICAgICAgICAgLi4uDQo+PiAgICAgICAgICAgICAgUE1E OiBpeGdiZV9kZXZfcnhfcXVldWVfc2V0dXAoKTogc3dfcmluZz0weDdmY2U4N2UwZjRjMA0KPj4g ICAgICAgICAgICAgIHN3X3NjX3Jpbmc9MHg3ZmNlODdlMDczODAgaHdfcmluZz0weDdmY2U4N2Ux NzYwMA0KPj4gICAgICAgICAgICAgIGRtYV9hZGRyPTB4MjU3NjE3NjAwDQo+PiAgICAgICAgICAg ICAgUE1EOiBpeGdiZV9kZXZfcnhfcXVldWVfc2V0dXAoKTogc3dfcmluZz0weDdmY2U4OWM2N2Q0 MA0KPj4gICAgICAgICAgICAgIHN3X3NjX3Jpbmc9MHg3ZmNlODljNWZjMDAgaHdfcmluZz0weDdm Y2U4OWM2ZmU4MA0KPj4gICAgICAgICAgICAgIGRtYV9hZGRyPTB4MjU0MDZmZTgwDQo+PiAgICAg ICAgICAgICAgLi4uDQo+Pg0KPj4NCj4+ICAgICAgICAgIFRvIG1lIHRoaXMgbG9va3MgbGlrZSBo b3N0IChpLmUuIGVpdGhlciBRRU1VIG9yIHRoZSBQRiBkcml2ZXIpDQo+PiAgICAgICAgICBpcyB0 cnlpbmcgdG8gZG8gRE1BIHVzaW5nIGd1ZXN0LXBoeXNpY2FsIChhbmQgbm90DQo+PiAgICAgICAg ICBob3N0LXBoeXNpY2FsKS4gSSdtIG5vdCB0b28gd2VsbC12ZXJzZWQgaW4gaG93IFFFTVUgd29y a3MsIGJ1dA0KPj4gICAgICAgICAgaSdtIHByZXR0eSBzdXJlIHRoYXQncyBub3Qgc3VwcG9zZWQg dG8gaGFwcGVuLg0KPj4NCj4+ICAgICAgICAgIElzIFBGIGFsc28gYm91bmQgdG8gRFBESywgb3Ig YXJlIHlvdSB1c2luZyBuYXRpdmUgTGludXggaXhnYmUNCj4+ICAgICAgICAgIGRyaXZlcj8NCj4+ DQo+Pg0KPj4gICAgICBUaGFua3MgZm9yIHlvdXIgaGVscC4gSSBjYW5ub3QgdXNlIFBGIHdpdGgg RFBESyAodmZpby1wY2kpLCBWRg0KPj4gICAgICBpbnRlcmZhY2VzIGRpc2FwcGVhciBhZnRlciBp dCBpcyBib3VuZCB0byBEUERLLiBJZiB0aGVyZSBpcyBhIHdheSB0bw0KPj4gICAgICB1c2UgUEYg YW5kIFZGIHdpdGggRFBESyBsZXQgbWUga25vdyBJIGNhbiB0cnkgaXQgb3V0LiBJIGFtIG5vdCBz dXJlDQo+PiAgICAgIGhvdyB0byBtb3ZlIGZvcndhcmQgb24gdGhpcywgSXMgQ1BVL0lYR0JFIFBG IGRyaXZlciBwbGF5aW5nIGEgcm9sZT8NCj4+ICAgICAgRm9sbG93aW5nIGFyZSB0aGUgdmVyc2lv bnMgSSBoYXZlDQo+Pg0KPj4gICAgICBsc2NwdQ0KPj4gICAgICBBcmNoaXRlY3R1cmU6wqDCoMKg wqDCoMKgwqDCoMKgIHg4Nl82NA0KPj4gICAgICBDUFUgb3AtbW9kZShzKTrCoMKgwqDCoMKgwqDC oCAzMi1iaXQsIDY0LWJpdA0KPj4gICAgICBCeXRlIE9yZGVyOsKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgTGl0dGxlIEVuZGlhbg0KPj4gICAgICBDUFUocyk6wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIDU2DQo+PiAgICAgIE9uLWxpbmUgQ1BVKHMpIGxpc3Q6wqDCoCAwLTI3DQo+PiAgICAg IE9mZi1saW5lIENQVShzKSBsaXN0OsKgIDI4LTU1DQo+PiAgICAgIFRocmVhZChzKSBwZXIgY29y ZTrCoMKgwqAgMQ0KPj4gICAgICBDb3JlKHMpIHBlciBzb2NrZXQ6wqDCoMKgIDE0DQo+PiAgICAg IFNvY2tldChzKTrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMg0KPj4gICAgICBOVU1BIG5vZGUo cyk6wqDCoMKgwqDCoMKgwqDCoMKgIDINCj4+ICAgICAgVmVuZG9yIElEOsKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBHZW51aW5lSW50ZWwNCj4+ICAgICAgQ1BVIGZhbWlseTrCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIDYNCj4+ICAgICAgTW9kZWw6wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgNjMNCj4+ICAgICAgTW9kZWwgbmFtZTrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEludGVsKFIp IFhlb24oUikgQ1BVIEU1LTI2ODMgdjMgQCAyLjAwR0h6DQo+PiAgICAgIFN0ZXBwaW5nOsKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIDINCj4+ICAgICAgQ1BVIE1IejrCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIDI1MDAuNjEwDQo+PiAgICAgIENQVSBtYXggTUh6OsKgwqDCoMKgwqDCoMKg wqDCoMKgIDMwMDAuMDAwMA0KPj4gICAgICBDUFUgbWluIE1IejrCoMKgwqDCoMKgwqDCoMKgwqDC oCAxMjAwLjAwMDANCj4+ICAgICAgQm9nb01JUFM6wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg NDAwMC43NA0KPj4gICAgICBWaXJ0dWFsaXphdGlvbjrCoMKgwqDCoMKgwqDCoCBWVC14DQo+PiAg ICAgIEwxZCBjYWNoZTrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMzJLDQo+PiAgICAgIEwxaSBj YWNoZTrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMzJLDQo+PiAgICAgIEwyIGNhY2hlOsKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI1NksNCj4+ICAgICAgTDMgY2FjaGU6wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgMzU4NDBLDQo+PiAgICAgIE5VTUEgbm9kZTAgQ1BVKHMpOsKgwqDCoMKg IDAtMTMNCj4+ICAgICAgTlVNQSBub2RlMSBDUFUocyk6wqDCoMKgwqAgMTQtMjcNCj4+DQo+PiAg ICAgICMgZXRodG9vbCAtaSBlbnA0czBmMA0KPj4gICAgICBkcml2ZXI6IGl4Z2JlDQo+PiAgICAg IHZlcnNpb246IDUuMy4zDQo+PiAgICAgIGZpcm13YXJlLXZlcnNpb246IDB4ODAwMDA3YjgsIDEu MTAxOC4wDQo+PiAgICAgIGJ1cy1pbmZvOiAwMDAwOjA0OjAwLjANCj4+ICAgICAgc3VwcG9ydHMt c3RhdGlzdGljczogeWVzDQo+PiAgICAgIHN1cHBvcnRzLXRlc3Q6IHllcw0KPj4gICAgICBzdXBw b3J0cy1lZXByb20tYWNjZXNzOiB5ZXMNCj4+ICAgICAgc3VwcG9ydHMtcmVnaXN0ZXItZHVtcDog eWVzDQo+PiAgICAgIHN1cHBvcnRzLXByaXYtZmxhZ3M6IHllcw0KPj4NCj4+ICAgICAgVGhhbmtz LA0KPj4gICAgICBSYXZpDQo+Pg0KPj4NCj4+DQo+PiBEZWJ1Z2dpbmcgdGhpcyBJIGNvdWxkIGNv LXJlbGF0ZSBkb2luZyBpbnRlcmZhY2UgbGluay11cCBhc3NvY2lhdGVkIA0KPj4gd2l0aCB0aGUg ZHBkayBpbnNpZGUgdGhlIGd1ZXN0IGNhdXNlcyBETUFSIGVycm9ycyBvbiBob3N0IGFuZCBhbiAN Cj4+IGFkZGl0aW9uYWwgdmZsciBtZXNzYWdlLg0KPj4NCj4+IFsgODEzNS44NjE2MjJdIERNQVI6 IERSSEQ6IGhhbmRsaW5nIGZhdWx0IHN0YXR1cyByZWcgNDAyIFsgDQo+PiA4MTM1Ljg2MTYyN10g RE1BUjogW0RNQSBSZWFkXSBSZXF1ZXN0IGRldmljZSBbMDQ6MTAuMF0gZmF1bHQgYWRkcg0KPj4g MWI2NDhhMDAwIFtmYXVsdCByZWFzb24gMDZdIFBURSBSZWFkIGFjY2VzcyBpcyBub3Qgc2V0IFsg ODEzNi41ODgwNzRdIA0KPj4gaXhnYmUgMDAwMDowNDowMC4wOiBJc3N1aW5nIFZGTFIgd2l0aCBw ZW5kaW5nIHRyYW5zYWN0aW9ucyBbIA0KPj4gODEzNi41ODgwNzldIGl4Z2JlIDAwMDA6MDQ6MDAu MDogSXNzdWluZyBWRkxSIGZvciBWRiAwMDAwOjA0OjEwLjANCj4+DQo+PiBMb29rZWQgYXQgaXhn YmUgZHJpdmVyIGNvZGUgJ2l4Z2JlX2lzc3VlX3ZmX2ZscicgaXMgY2FsbGVkIGZyb20gDQo+PiAn aXhnYmVfY2hlY2tfZm9yX2JhZF92Zicgb3IgJ2l4Z2JlX2lvX2Vycm9yX2RldGVjdGVkJyBmdW5j dGlvbnMuIElzIA0KPj4gaXQgcG9zc2libGUgdGhhdCBkcGRrIHBtZCB2ZiBkcml2ZXIgaXMgbWlz c2luZyBzb21lIGZpeGVzL3BvcnRpbmcgDQo+PiBmcm9tIGl4Z2JldmYgZHJpdmVyIHNpbmNlIHRo aXMgaXNzdWUgaXMgbm90IHNlZW4gd2hlbiBpeGdiZXZmIGtlcm5lbCANCj4+IGRyaXZlciBpcyB1 c2VkPw0KPj4NCj4gDQo+IENvdWxkIHZlcnkgd2VsbCBiZS4gK0NDIGl4Z2JlIG1haW50YWluZXJz IHdoaWNoIG1pZ2h0IGJlIG9mIGZ1cnRoZXIgaGVscCBkZWJ1Z2dpbmcgdGhpcyBpc3N1ZS4NCj4g DQo+IC0tDQo+IFRoYW5rcywNCj4gQW5hdG9seQ0KPiANCg0KWW91IG1pZ2h0IGFsc28gd2FudCB0 byBsb29rIGhlcmU6IGh0dHBzOi8vYnVncy5kcGRrLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYNCg0K VGhlcmUgYXJlIGFwcGFyZW50bHkgaXNzdWVzIHdpdGggc29tZSBrZXJuZWwgdmVyc2lvbnMgdGhh dCB3aWxsIG1hbmlmZXN0IHRoZW1zZWx2ZXMgYXMgcHJvYmxlbXMgd2l0aCB1c2luZyBWRiBkZXZp Y2VzIHdpdGggSU9NTVUgaW4gYSBWTS4NCg0KLS0NClRoYW5rcywNCkFuYXRvbHkNCg==