From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 40F62A0534 for ; Wed, 12 Feb 2020 12:22:01 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0C3F7137D; Wed, 12 Feb 2020 12:22:01 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id B7E1F137D for ; Wed, 12 Feb 2020 12:21:58 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Feb 2020 03:21:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,428,1574150400"; d="scan'208";a="233761736" Received: from irsmsx106.ger.corp.intel.com ([163.33.3.31]) by orsmga003.jf.intel.com with ESMTP; 12 Feb 2020 03:21:55 -0800 Received: from irsmsx103.ger.corp.intel.com ([169.254.3.146]) by IRSMSX106.ger.corp.intel.com ([169.254.8.31]) with mapi id 14.03.0439.000; Wed, 12 Feb 2020 11:21:55 +0000 From: "Dybkowski, AdamX" To: Kevin Traynor CC: dpdk stable Thread-Topic: patch 'test/crypto: fix missing operation status check' has been queued to stable release 19.11.1 Thread-Index: AQHV4M3Ib95ckEGOzk2elPPa7SPyu6gV3QcAgAAE1oCAAATtgIABeBNggAAMbgA= Date: Wed, 12 Feb 2020 11:21:54 +0000 Message-ID: <522B1A062D56224ABC0C6BDBCD64D9D38CB1B0D8@IRSMSX103.ger.corp.intel.com> References: <20200211112216.3929-1-luca.boccassi@gmail.com> <20200211112216.3929-23-luca.boccassi@gmail.com> <522B1A062D56224ABC0C6BDBCD64D9D38CAA4D2E@IRSMSX103.ger.corp.intel.com> <522B1A062D56224ABC0C6BDBCD64D9D38CB1A0C4@IRSMSX103.ger.corp.intel.com> In-Reply-To: <522B1A062D56224ABC0C6BDBCD64D9D38CB1A0C4@IRSMSX103.ger.corp.intel.com> Accept-Language: pl-PL, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [163.33.239.180] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-stable] patch 'test/crypto: fix missing operation status check' has been queued to stable release 19.11.1 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" U29ycnksIHRoZSBmaWxlbmFtZSBmb3IgMTguMTEgZml4IGlzIHRlc3QvdGVzdC90ZXN0X2NyeXB0 b2Rldi5jIG9mIGNvdXJzZS4NCkFuZCBJIGhhdmUgbm8gaXNzdWVzIGluIGFwcGx5aW5nIHRoZSBw YXRjaCBvbnRvIDE4LjExIGJyYW5jaC4NCg0KQWRhbQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+IEZyb206IHN0YWJsZSBbbWFpbHRvOnN0YWJsZS1ib3VuY2VzQGRwZGsub3JnXSBP biBCZWhhbGYgT2YgRHlia293c2tpLA0KPiBBZGFtWA0KPiBTZW50OiBXZWRuZXNkYXksIDEyIEZl YnJ1YXJ5LCAyMDIwIDEyOjIwDQo+IFRvOiBLZXZpbiBUcmF5bm9yIDxrdHJheW5vckByZWRoYXQu Y29tPg0KPiBDYzogZHBkayBzdGFibGUgPHN0YWJsZUBkcGRrLm9yZz4NCj4gU3ViamVjdDogUmU6 IFtkcGRrLXN0YWJsZV0gcGF0Y2ggJ3Rlc3QvY3J5cHRvOiBmaXggbWlzc2luZyBvcGVyYXRpb24g c3RhdHVzDQo+IGNoZWNrJyBoYXMgYmVlbiBxdWV1ZWQgdG8gc3RhYmxlIHJlbGVhc2UgMTkuMTEu MQ0KPiANCj4gSGkgS2V2aW4uDQo+IA0KPiBJIG1hZGUgdGhlIGZpeCB0byBiZSBhcHBsaWVkIG9u dG8gIjE4LjExIiBicmFuY2ggYXQ6DQo+ICAgQ2xvbmUgVVJMOiBnaXQ6Ly9kcGRrLm9yZy9kcGRr LXN0YWJsZQ0KPiAgIExhc3QgY29tbWl0czogaHR0cHM6Ly9naXQuZHBkay5vcmcvZHBkay1zdGFi bGUvbG9nLz9oPTE4LjExDQo+IElzIHRoaXMgdGhlIGNvcnJlY3Qgb25lPw0KPiANCj4gVGhlIHBh dGNoIEkgc2VudCAodGhhdCB1cGRhdGVzIHRoZSBmaWxlIGFwcC90ZXN0L3Rlc3RfY3J5cHRvZGV2 LmMgb25seSkgY2FuIGJlDQo+IGFwcGxpZWQgb24gbXkgc2lkZSB3aXRoIG5vIGlzc3Vlcy4NCj4g DQo+IEFkYW0NCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBL ZXZpbiBUcmF5bm9yIFttYWlsdG86a3RyYXlub3JAcmVkaGF0LmNvbV0NCj4gPiBTZW50OiBUdWVz ZGF5LCAxMSBGZWJydWFyeSwgMjAyMCAxMzoxMA0KPiA+IFRvOiBMdWNhIEJvY2Nhc3NpIDxsdWNh LmJvY2Nhc3NpQGdtYWlsLmNvbT47IER5Ymtvd3NraSwgQWRhbVgNCj4gPiA8YWRhbXguZHlia293 c2tpQGludGVsLmNvbT4NCj4gPiBDYzogVHJhaGUsIEZpb25hIDxmaW9uYS50cmFoZUBpbnRlbC5j b20+OyBBbmt1ciBEd2l2ZWRpDQo+ID4gPGFkd2l2ZWRpQG1hcnZlbGwuY29tPjsgQW5vb2IgSm9z ZXBoIDxhbm9vYmpAbWFydmVsbC5jb20+OyBkcGRrDQo+IHN0YWJsZQ0KPiA+IDxzdGFibGVAZHBk ay5vcmc+DQo+ID4gU3ViamVjdDogUmU6IHBhdGNoICd0ZXN0L2NyeXB0bzogZml4IG1pc3Npbmcg b3BlcmF0aW9uIHN0YXR1cyBjaGVjaycNCj4gPiBoYXMgYmVlbiBxdWV1ZWQgdG8gc3RhYmxlIHJl bGVhc2UgMTkuMTEuMQ0KPiA+DQo+ID4gT24gMTEvMDIvMjAyMCAxMTo1MiwgTHVjYSBCb2NjYXNz aSB3cm90ZToNCj4gPiA+IEhpLA0KPiA+ID4NCj4gPiA+IFRoYXQncyBhIHF1ZXN0aW9uIGZvciBL ZXZpbiwgdGhlIDE4LjExIG1haW50YWluZXIuDQo+ID4gPg0KPiA+ID4gT24gVHVlLCAyMDIwLTAy LTExIGF0IDExOjM3ICswMDAwLCBEeWJrb3dza2ksIEFkYW1YIHdyb3RlOg0KPiA+ID4+IEhpIEx1 Y2EuDQo+ID4gPj4NCj4gPiA+PiBJIG9yaWdpbmFsbHkgdGFyZ2V0ZWQgdGhpcyBwYXRjaCBmb3Ig RFBESyAxOC4xMS4gVGhhdCdzIGdvb2QgaXQnbGwNCj4gPiA+PiBnbyBpbnRvIDE5LjExLCB0b28u IEJ1dCB3aWxsIGl0IGJlIGFwcGxpZWQgdG8gMTguMTEgYXMgd2VsbD8NCj4gPiA+Pg0KPiA+DQo+ ID4gSSB0cmllZCB0byBhcHBseSBpdCBvbiAxOC4xMSBicmFuY2ggbGFzdCB3ZWVrLCBidXQgaXQg ZG9lc24ndCBhcHBseQ0KPiA+IGFuZCBJIGhhdmUgYSBub3RlIHRvIHNheSB0aGVyZSB3YXMgdG9v IG11Y2ggY2h1cm4uIFNvLCB5b3UnbGwgbmVlZCB0bw0KPiA+IHNlbmQgYSByZWJhc2VkIHZlcnNp b24gb24gMTguMTEgYnJhbmNoLiBJdCB3aWxsIGJlIG9uIHRoZSBsaXN0IG9mDQo+ID4gY29tbWl0 cyB0aGF0IGRpZG4ndCBhcHBseSBhbmQgYXNraW5nIGF1dGhvcnMgZm9yIHJlYmFzZSB0aGF0IEkn bGwgc2VuZCBvdXQgYQ0KPiBiaXQgbGF0ZXIuDQo+ID4NCj4gPiA+PiBBZGFtDQo+ID4gPj4NCj4g PiA+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+Pj4gRnJvbToNCj4gPiA+Pj4g bHVjYS5ib2NjYXNzaUBnbWFpbC5jb20NCj4gPiA+Pj4gIFttYWlsdG86DQo+ID4gPj4+IGx1Y2Eu Ym9jY2Fzc2lAZ21haWwuY29tDQo+ID4gPj4+IF0NCj4gPiA+Pj4gU2VudDogVHVlc2RheSwgMTEg RmVicnVhcnksIDIwMjAgMTI6MTkNCj4gPiA+Pj4gVG86IER5Ymtvd3NraSwgQWRhbVggPA0KPiA+ ID4+PiBhZGFteC5keWJrb3dza2lAaW50ZWwuY29tDQo+ID4gPj4+Pg0KPiA+ID4+PiBDYzogVHJh aGUsIEZpb25hIDwNCj4gPiA+Pj4gZmlvbmEudHJhaGVAaW50ZWwuY29tDQo+ID4gPj4+PiA7IEFu a3VyIER3aXZlZGkNCj4gPiA+Pj4gPA0KPiA+ID4+PiBhZHdpdmVkaUBtYXJ2ZWxsLmNvbQ0KPiA+ ID4+Pj4gOyBBbm9vYiBKb3NlcGggPA0KPiA+ID4+PiBhbm9vYmpAbWFydmVsbC5jb20NCj4gPiA+ Pj4+IDsgZHBkaw0KPiA+ID4+PiBzdGFibGUgPA0KPiA+ID4+PiBzdGFibGVAZHBkay5vcmcNCj4g PiA+Pj4+DQo+ID4gPj4+IFN1YmplY3Q6IHBhdGNoICd0ZXN0L2NyeXB0bzogZml4IG1pc3Npbmcg b3BlcmF0aW9uIHN0YXR1cyBjaGVjaycNCj4gPiA+Pj4gaGFzIGJlZW4NCj4gPiA+Pj4gcXVldWVk IHRvIHN0YWJsZSByZWxlYXNlIDE5LjExLjENCj4gPiA+Pj4NCj4gPiA+Pj4gSGksDQo+ID4gPj4+ DQo+ID4gPj4+IEZZSSwgeW91ciBwYXRjaCBoYXMgYmVlbiBxdWV1ZWQgdG8gc3RhYmxlIHJlbGVh c2UgMTkuMTEuMQ0KPiA+ID4+Pg0KPiA+ID4+PiBOb3RlIGl0IGhhc24ndCBiZWVuIHB1c2hlZCB0 bw0KPiA+ID4+PiBodHRwOi8vZHBkay5vcmcvYnJvd3NlL2RwZGstc3RhYmxlDQo+ID4gPj4+ICB5 ZXQuDQo+ID4gPj4+IEl0IHdpbGwgYmUgcHVzaGVkIGlmIEkgZ2V0IG5vIG9iamVjdGlvbnMgYmVm b3JlIDAyLzEzLzIwLiBTbw0KPiA+ID4+PiBwbGVhc2Ugc2hvdXQgaWYgYW55b25lIGhhcyBvYmpl Y3Rpb25zLg0KPiA+ID4+Pg0KPiA+ID4+PiBBbHNvIG5vdGUgdGhhdCBhZnRlciB0aGUgcGF0Y2gg dGhlcmUncyBhIGRpZmYgb2YgdGhlIHVwc3RyZWFtDQo+ID4gPj4+IGNvbW1pdCB2cyB0aGUgcGF0 Y2ggYXBwbGllZCB0byB0aGUgYnJhbmNoLiBUaGlzIHdpbGwgaW5kaWNhdGUgaWYNCj4gPiA+Pj4g dGhlcmUgd2FzIGFueSByZWJhc2luZyBuZWVkZWQgdG8gYXBwbHkgdG8gdGhlIHN0YWJsZSBicmFu Y2guIElmDQo+ID4gPj4+IHRoZXJlIHdlcmUgY29kZSBjaGFuZ2VzIGZvciByZWJhc2luZw0KPiA+ ID4+PiAoaWU6IG5vdCBvbmx5IG1ldGFkYXRhIGRpZmZzKSwgcGxlYXNlIGRvdWJsZSBjaGVjayB0 aGF0IHRoZSByZWJhc2UNCj4gPiA+Pj4gd2FzIGNvcnJlY3RseSBkb25lLg0KPiA+ID4+Pg0KPiA+ ID4+PiBUaGFua3MuDQo+ID4gPj4+DQo+ID4gPj4+IEx1Y2EgQm9jY2Fzc2kNCj4gPiA+Pj4NCj4g PiA+Pj4gLS0tDQo+ID4gPj4+IEZyb20gY2U4MzAyMTcyZjlmOGUwNjgzM2E0OWFiZjhiMjgzYTcx YjA3ZGMzYiBNb24gU2VwIDE3DQo+ID4gMDA6MDA6MDANCj4gPiA+Pj4gMjAwMQ0KPiA+ID4+PiBG cm9tOiBBZGFtIER5Ymtvd3NraSA8DQo+ID4gPj4+IGFkYW14LmR5Ymtvd3NraUBpbnRlbC5jb20N Cj4gPiA+Pj4+DQo+ID4gPj4+IERhdGU6IEZyaSwgMjAgRGVjIDIwMTkgMTM6NTg6NTIgKzAxMDAN Cj4gPiA+Pj4gU3ViamVjdDogW1BBVENIXSB0ZXN0L2NyeXB0bzogZml4IG1pc3Npbmcgb3BlcmF0 aW9uIHN0YXR1cyBjaGVjaw0KPiA+ID4+Pg0KPiA+ID4+PiBbIHVwc3RyZWFtIGNvbW1pdCBiMjZl ZjFhMTFmMjFlY2RlNjM1ODJlZDZkYjI4MWM5M2NlOWZiZjIzIF0NCj4gPiA+Pj4NCj4gPiA+Pj4g VGhpcyBwYXRjaCBhZGRzIGNoZWNraW5nIG9mIHRoZSBzeW1tZXRyaWMgY3J5cHRvIG9wZXJhdGlv biBzdGF0dXMNCj4gPiA+Pj4gdGhhdCB3YXMgc2lsZW50bHkgc2tpcHBlZCBiZWZvcmUuIEl0IGZp eGVzIHRoZSB3aXJlbGVzcyBhbGdvcml0aG1zDQo+ID4gPj4+IHNlc3Npb24gY3JlYXRpb24gKFNO T1czRywgS0FTVU1JLCBaVUMpIGFuZCBwYXNzaW5nIG9mIHRoZSBkaWdlc3QNCj4gPiA+Pj4gZGF0 YSBmb3IgdGhlIHZlcmlmaWNhdGlvbiBieSBQTUQuIEFsc28gZml4ZWQgdGhlIG1pc3NpbmcgYWFk DQo+ID4gPj4+IHBhZGRpbmcgaXNzdWUgcmV2ZWFsZWQgYWZ0ZXIgb3Agc3RhdHVzIGNoZWNraW5n IHdhcyBpbnRyb2R1Y2VkLg0KPiA+ID4+Pg0KPiA+ID4+PiBGaXhlczogYzBmODdlYjUyNTJiICgi Y3J5cHRvZGV2OiBjaGFuZ2UgYnVyc3QgQVBJIHRvIGJlIGNyeXB0byBvcA0KPiA+ID4+PiBvcmll bnRlZCIpDQo+ID4gPj4+IEZpeGVzOiA3N2EyMTdhMTliYjcgKCJ0ZXN0L2NyeXB0bzogYWRkIEFF Uy1DQ00gdGVzdHMiKQ0KPiA+ID4+Pg0KPiA+ID4+PiBTaWduZWQtb2ZmLWJ5OiBBZGFtIER5Ymtv d3NraSA8DQo+ID4gPj4+IGFkYW14LmR5Ymtvd3NraUBpbnRlbC5jb20NCj4gPiA+Pj4+DQo+ID4g Pj4+IEFja2VkLWJ5OiBGaW9uYSBUcmFoZSA8DQo+ID4gPj4+IGZpb25hLnRyYWhlQGludGVsLmNv bQ0KPiA+ID4+Pj4NCj4gPiA+Pj4gVGVzdGVkLWJ5OiBBbmt1ciBEd2l2ZWRpIDwNCj4gPiA+Pj4g YWR3aXZlZGlAbWFydmVsbC5jb20NCj4gPiA+Pj4+DQo+ID4gPj4+IFJldmlld2VkLWJ5OiBBbm9v YiBKb3NlcGggPA0KPiA+ID4+PiBhbm9vYmpAbWFydmVsbC5jb20NCj4gPiA+Pj4+DQo+ID4gPj4+ IC0tLQ0KPiA+ID4+PiAgYXBwL3Rlc3QvdGVzdF9jcnlwdG9kZXYuYyB8IDk2ICsrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLQ0KPiA+ID4+PiAtLS0tLS0NCj4gPiA+Pj4gIDEgZmlsZSBj aGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCA0NCBkZWxldGlvbnMoLSkNCj4gPiA+Pj4NCj4gPiA+ Pj4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0L3Rlc3RfY3J5cHRvZGV2LmMgYi9hcHAvdGVzdC90ZXN0 X2NyeXB0b2Rldi5jDQo+ID4gPj4+IGluZGV4IDFiNTYxNDU2ZDcuLjc5Y2VkODA5ZGUgMTAwNjQ0 DQo+ID4gPj4+IC0tLSBhL2FwcC90ZXN0L3Rlc3RfY3J5cHRvZGV2LmMNCj4gPiA+Pj4gKysrIGIv YXBwL3Rlc3QvdGVzdF9jcnlwdG9kZXYuYw0KPiA+ID4+PiBAQCAtMTQzLDcgKzE0Myw3IEBAIHN0 YXRpYyBzdHJ1Y3QgcnRlX2NyeXB0b19vcCAqDQo+ID4gPj4+IHByb2Nlc3NfY3J5cHRvX3JlcXVl c3QodWludDhfdCBkZXZfaWQsIHN0cnVjdCBydGVfY3J5cHRvX29wICpvcCkgIHsNCj4gPiA+Pj4g IAlpZiAocnRlX2NyeXB0b2Rldl9lbnF1ZXVlX2J1cnN0KGRldl9pZCwgMCwgJm9wLCAxKSAhPSAx KSB7DQo+ID4gPj4+IC0JCXByaW50ZigiRXJyb3Igc2VuZGluZyBwYWNrZXQgZm9yIGVuY3J5cHRp b24iKTsNCj4gPiA+Pj4gKwkJUlRFX0xPRyhFUlIsIFVTRVIxLCAiRXJyb3Igc2VuZGluZyBwYWNr ZXQgZm9yDQo+ID4gPj4+IGVuY3J5cHRpb25cbiIpOw0KPiA+ID4+PiAgCQlyZXR1cm4gTlVMTDsN Cj4gPiA+Pj4gIAl9DQo+ID4gPj4+DQo+ID4gPj4+IEBAIC0xNTIsNiArMTUyLDExIEBAIHByb2Nl c3NfY3J5cHRvX3JlcXVlc3QodWludDhfdCBkZXZfaWQsIHN0cnVjdA0KPiA+ID4+PiBydGVfY3J5 cHRvX29wICpvcCkNCj4gPiA+Pj4gIAl3aGlsZSAocnRlX2NyeXB0b2Rldl9kZXF1ZXVlX2J1cnN0 KGRldl9pZCwgMCwgJm9wLCAxKSA9PSAwKQ0KPiA+ID4+PiAgCQlydGVfcGF1c2UoKTsNCj4gPiA+ Pj4NCj4gPiA+Pj4gKwlpZiAob3AtPnN0YXR1cyAhPSBSVEVfQ1JZUFRPX09QX1NUQVRVU19TVUND RVNTKSB7DQo+ID4gPj4+ICsJCVJURV9MT0coREVCVUcsIFVTRVIxLCAiT3BlcmF0aW9uIHN0YXR1 cyAlZFxuIiwgb3AtDQo+ID4gPj4+PiBzdGF0dXMpOw0KPiA+ID4+Pg0KPiA+ID4+PiArCQlyZXR1 cm4gTlVMTDsNCj4gPiA+Pj4gKwl9DQo+ID4gPj4+ICsNCj4gPiA+Pj4gIAlyZXR1cm4gb3A7DQo+ ID4gPj4+ICB9DQo+ID4gPj4+DQo+ID4gPj4+IEBAIC0yODIzLDkgKzI4MjgsMTggQEANCj4gPiA+ Pj4gY3JlYXRlX3dpcmVsZXNzX2FsZ29fYXV0aF9jaXBoZXJfc2Vzc2lvbih1aW50OF90IGRldl9p ZCwNCj4gPiA+Pj4gIAl1dF9wYXJhbXMtPnNlc3MgPSBydGVfY3J5cHRvZGV2X3N5bV9zZXNzaW9u X2NyZWF0ZSgNCj4gPiA+Pj4gIAkJCXRzX3BhcmFtcy0+c2Vzc2lvbl9tcG9vbCk7DQo+ID4gPj4+ DQo+ID4gPj4+IC0Jc3RhdHVzID0gcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lvbl9pbml0KGRldl9p ZCwgdXRfcGFyYW1zLQ0KPiA+ID4+Pj4gc2VzcywNCj4gPiA+Pj4gLQkJCSZ1dF9wYXJhbXMtPmF1 dGhfeGZvcm0sDQo+ID4gPj4+IC0JCQl0c19wYXJhbXMtPnNlc3Npb25fcHJpdl9tcG9vbCk7DQo+ ID4gPj4+ICsJaWYgKGNpcGhlcl9vcCA9PSBSVEVfQ1JZUFRPX0NJUEhFUl9PUF9ERUNSWVBUKSB7 DQo+ID4gPj4+ICsJCXV0X3BhcmFtcy0+YXV0aF94Zm9ybS5uZXh0ID0gTlVMTDsNCj4gPiA+Pj4g KwkJdXRfcGFyYW1zLT5jaXBoZXJfeGZvcm0ubmV4dCA9ICZ1dF9wYXJhbXMtPmF1dGhfeGZvcm07 DQo+ID4gPj4+ICsJCXN0YXR1cyA9IHJ0ZV9jcnlwdG9kZXZfc3ltX3Nlc3Npb25faW5pdChkZXZf aWQsDQo+ID4gPj4+IHV0X3BhcmFtcy0NCj4gPiA+Pj4+IHNlc3MsDQo+ID4gPj4+DQo+ID4gPj4+ ICsJCQkJJnV0X3BhcmFtcy0+Y2lwaGVyX3hmb3JtLA0KPiA+ID4+PiArCQkJCXRzX3BhcmFtcy0+ c2Vzc2lvbl9wcml2X21wb29sKTsNCj4gPiA+Pj4gKw0KPiA+ID4+PiArCX0gZWxzZQ0KPiA+ID4+ PiArCQlzdGF0dXMgPSBydGVfY3J5cHRvZGV2X3N5bV9zZXNzaW9uX2luaXQoZGV2X2lkLA0KPiA+ ID4+PiB1dF9wYXJhbXMtDQo+ID4gPj4+PiBzZXNzLA0KPiA+ID4+Pg0KPiA+ID4+PiArCQkJCSZ1 dF9wYXJhbXMtPmF1dGhfeGZvcm0sDQo+ID4gPj4+ICsJCQkJdHNfcGFyYW1zLT5zZXNzaW9uX3By aXZfbXBvb2wpOw0KPiA+ID4+PiArDQo+ID4gPj4+ICAJVEVTVF9BU1NFUlRfRVFVQUwoc3RhdHVz LCAwLCAic2Vzc2lvbiBpbml0IGZhaWxlZCIpOw0KPiA+ID4+PiAgCVRFU1RfQVNTRVJUX05PVF9O VUxMKHV0X3BhcmFtcy0+c2VzcywgIlNlc3Npb24gY3JlYXRpb24NCj4gPiA+Pj4gZmFpbGVkIik7 DQo+ID4gPj4+DQo+ID4gPj4+IEBAIC0zMDE4LDEzICszMDMyLDE0IEBADQo+ID4gPj4+IGNyZWF0 ZV93aXJlbGVzc19hbGdvX2NpcGhlcl9oYXNoX29wZXJhdGlvbihjb25zdCB1aW50OF90DQo+ID4g Pj4+ICphdXRoX3RhZywgIH0NCj4gPiA+Pj4NCj4gPiA+Pj4gIHN0YXRpYyBpbnQNCj4gPiA+Pj4g LWNyZWF0ZV93aXJlbGVzc19hbGdvX2F1dGhfY2lwaGVyX29wZXJhdGlvbih1bnNpZ25lZCBpbnQN Cj4gPiA+Pj4gYXV0aF90YWdfbGVuLA0KPiA+ID4+PiArY3JlYXRlX3dpcmVsZXNzX2FsZ29fYXV0 aF9jaXBoZXJfb3BlcmF0aW9uKA0KPiA+ID4+PiArCQljb25zdCB1aW50OF90ICphdXRoX3RhZywg dW5zaWduZWQgaW50IGF1dGhfdGFnX2xlbiwNCj4gPiA+Pj4gIAkJY29uc3QgdWludDhfdCAqY2lw aGVyX2l2LCB1aW50OF90IGNpcGhlcl9pdl9sZW4sDQo+ID4gPj4+ICAJCWNvbnN0IHVpbnQ4X3Qg KmF1dGhfaXYsIHVpbnQ4X3QgYXV0aF9pdl9sZW4sDQo+ID4gPj4+ICAJCXVuc2lnbmVkIGludCBk YXRhX3BhZF9sZW4sDQo+ID4gPj4+ICAJCXVuc2lnbmVkIGludCBjaXBoZXJfbGVuLCB1bnNpZ25l ZCBpbnQgY2lwaGVyX29mZnNldCwNCj4gPiA+Pj4gIAkJdW5zaWduZWQgaW50IGF1dGhfbGVuLCB1 bnNpZ25lZCBpbnQgYXV0aF9vZmZzZXQsDQo+ID4gPj4+IC0JCXVpbnQ4X3Qgb3BfbW9kZSwgdWlu dDhfdCBkb19zZ2wpDQo+ID4gPj4+ICsJCXVpbnQ4X3Qgb3BfbW9kZSwgdWludDhfdCBkb19zZ2ws IHVpbnQ4X3QgdmVyaWZ5KQ0KPiA+ID4+PiAgew0KPiA+ID4+PiAgCXN0cnVjdCBjcnlwdG9fdGVz dHN1aXRlX3BhcmFtcyAqdHNfcGFyYW1zID0gJnRlc3RzdWl0ZV9wYXJhbXM7DQo+ID4gPj4+ICAJ c3RydWN0IGNyeXB0b191bml0dGVzdF9wYXJhbXMgKnV0X3BhcmFtcyA9ICZ1bml0dGVzdF9wYXJh bXM7IEBADQo+ID4gPj4+IC0zMDgxLDYgKzMwOTYsMTAgQEANCj4gPiA+Pj4gY3JlYXRlX3dpcmVs ZXNzX2FsZ29fYXV0aF9jaXBoZXJfb3BlcmF0aW9uKHVuc2lnbmVkIGludA0KPiA+ID4+PiBhdXRo X3RhZ19sZW4sDQo+ID4gPj4+ICAJCX0NCj4gPiA+Pj4gIAl9DQo+ID4gPj4+DQo+ID4gPj4+ICsJ LyogQ29weSBkaWdlc3QgZm9yIHRoZSB2ZXJpZmljYXRpb24gKi8NCj4gPiA+Pj4gKwlpZiAodmVy aWZ5KQ0KPiA+ID4+PiArCQltZW1jcHkoc3ltX29wLT5hdXRoLmRpZ2VzdC5kYXRhLCBhdXRoX3Rh ZywNCj4gPiA+Pj4gYXV0aF90YWdfbGVuKTsNCj4gPiA+Pj4gKw0KPiA+ID4+PiAgCS8qIENvcHkg Y2lwaGVyIGFuZCBhdXRoIElWcyBhdCB0aGUgZW5kIG9mIHRoZSBjcnlwdG8gb3BlcmF0aW9uDQo+ ID4gPj4+ICovDQo+ID4gPj4+ICAJdWludDhfdCAqaXZfcHRyID0gcnRlX2NyeXB0b19vcF9jdG9k X29mZnNldCgNCj4gPiA+Pj4gIAkJCXV0X3BhcmFtcy0+b3AsIHVpbnQ4X3QgKiwgSVZfT0ZGU0VU KTsgQEANCj4gPiA+Pj4gLTQ2NDMsNw0KPiA+ID4+PiArNDY2Miw3IEBAIHRlc3Rfc25vdzNnX2F1 dGhfY2lwaGVyKGNvbnN0IHN0cnVjdCBzbm93M2dfdGVzdF9kYXRhDQo+ID4gPj4+ICp0ZGF0YSwN Cj4gPiA+Pj4NCj4gPiA+Pj4gIAkvKiBDcmVhdGUgU05PVyAzRyBvcGVyYXRpb24gKi8NCj4gPiA+ Pj4gIAlyZXR2YWwgPSBjcmVhdGVfd2lyZWxlc3NfYWxnb19hdXRoX2NpcGhlcl9vcGVyYXRpb24o DQo+ID4gPj4+IC0JCXRkYXRhLT5kaWdlc3QubGVuLA0KPiA+ID4+PiArCQl0ZGF0YS0+ZGlnZXN0 LmRhdGEsIHRkYXRhLT5kaWdlc3QubGVuLA0KPiA+ID4+PiAgCQl0ZGF0YS0+Y2lwaGVyX2l2LmRh dGEsIHRkYXRhLT5jaXBoZXJfaXYubGVuLA0KPiA+ID4+PiAgCQl0ZGF0YS0+YXV0aF9pdi5kYXRh LCB0ZGF0YS0+YXV0aF9pdi5sZW4sDQo+ID4gPj4+ICAJCSh0ZGF0YS0+ZGlnZXN0Lm9mZnNldF9i eXRlcyA9PSAwID8NCj4gPiA+Pj4gQEAgLTQ2NTMsNyArNDY3Miw3IEBAIHRlc3Rfc25vdzNnX2F1 dGhfY2lwaGVyKGNvbnN0IHN0cnVjdA0KPiA+ID4+PiBzbm93M2dfdGVzdF9kYXRhICp0ZGF0YSwN Cj4gPiA+Pj4gIAkJdGRhdGEtPmNpcGhlci5vZmZzZXRfYml0cywNCj4gPiA+Pj4gIAkJdGRhdGEt PnZhbGlkQXV0aExlbkluQml0cy5sZW4sDQo+ID4gPj4+ICAJCXRkYXRhLT5hdXRoLm9mZnNldF9i aXRzLA0KPiA+ID4+PiAtCQlvcF9tb2RlLCAwKTsNCj4gPiA+Pj4gKwkJb3BfbW9kZSwgMCwgdmVy aWZ5KTsNCj4gPiA+Pj4NCj4gPiA+Pj4gIAlpZiAocmV0dmFsIDwgMCkNCj4gPiA+Pj4gIAkJcmV0 dXJuIHJldHZhbDsNCj4gPiA+Pj4gQEAgLTQ4MTksNyArNDgzOCw3IEBAIHRlc3Rfc25vdzNnX2F1 dGhfY2lwaGVyX3NnbChjb25zdCBzdHJ1Y3QNCj4gPiA+Pj4gc25vdzNnX3Rlc3RfZGF0YSAqdGRh dGEsDQo+ID4gPj4+DQo+ID4gPj4+ICAJLyogQ3JlYXRlIFNOT1cgM0cgb3BlcmF0aW9uICovDQo+ ID4gPj4+ICAJcmV0dmFsID0gY3JlYXRlX3dpcmVsZXNzX2FsZ29fYXV0aF9jaXBoZXJfb3BlcmF0 aW9uKA0KPiA+ID4+PiAtCQl0ZGF0YS0+ZGlnZXN0LmxlbiwNCj4gPiA+Pj4gKwkJdGRhdGEtPmRp Z2VzdC5kYXRhLCB0ZGF0YS0+ZGlnZXN0LmxlbiwNCj4gPiA+Pj4gIAkJdGRhdGEtPmNpcGhlcl9p di5kYXRhLCB0ZGF0YS0+Y2lwaGVyX2l2LmxlbiwNCj4gPiA+Pj4gIAkJdGRhdGEtPmF1dGhfaXYu ZGF0YSwgdGRhdGEtPmF1dGhfaXYubGVuLA0KPiA+ID4+PiAgCQkodGRhdGEtPmRpZ2VzdC5vZmZz ZXRfYnl0ZXMgPT0gMCA/DQo+ID4gPj4+IEBAIC00ODI5LDcgKzQ4NDgsNyBAQCB0ZXN0X3Nub3cz Z19hdXRoX2NpcGhlcl9zZ2woY29uc3Qgc3RydWN0DQo+ID4gPj4+IHNub3czZ190ZXN0X2RhdGEg KnRkYXRhLA0KPiA+ID4+PiAgCQl0ZGF0YS0+Y2lwaGVyLm9mZnNldF9iaXRzLA0KPiA+ID4+PiAg CQl0ZGF0YS0+dmFsaWRBdXRoTGVuSW5CaXRzLmxlbiwNCj4gPiA+Pj4gIAkJdGRhdGEtPmF1dGgu b2Zmc2V0X2JpdHMsDQo+ID4gPj4+IC0JCW9wX21vZGUsIDEpOw0KPiA+ID4+PiArCQlvcF9tb2Rl LCAxLCB2ZXJpZnkpOw0KPiA+ID4+Pg0KPiA+ID4+PiAgCWlmIChyZXR2YWwgPCAwKQ0KPiA+ID4+ PiAgCQlyZXR1cm4gcmV0dmFsOw0KPiA+ID4+PiBAQCAtNDk4OCw3ICs1MDA3LDcgQEAgdGVzdF9r YXN1bWlfYXV0aF9jaXBoZXIoY29uc3Qgc3RydWN0DQo+ID4gPj4+IGthc3VtaV90ZXN0X2RhdGEg KnRkYXRhLA0KPiA+ID4+Pg0KPiA+ID4+PiAgCS8qIENyZWF0ZSBLQVNVTUkgb3BlcmF0aW9uICov DQo+ID4gPj4+ICAJcmV0dmFsID0gY3JlYXRlX3dpcmVsZXNzX2FsZ29fYXV0aF9jaXBoZXJfb3Bl cmF0aW9uKA0KPiA+ID4+PiAtCQl0ZGF0YS0+ZGlnZXN0LmxlbiwNCj4gPiA+Pj4gKwkJdGRhdGEt PmRpZ2VzdC5kYXRhLCB0ZGF0YS0+ZGlnZXN0LmxlbiwNCj4gPiA+Pj4gIAkJdGRhdGEtPmNpcGhl cl9pdi5kYXRhLCB0ZGF0YS0+Y2lwaGVyX2l2LmxlbiwNCj4gPiA+Pj4gIAkJTlVMTCwgMCwNCj4g PiA+Pj4gIAkJKHRkYXRhLT5kaWdlc3Qub2Zmc2V0X2J5dGVzID09IDAgPw0KPiA+ID4+PiBAQCAt NDk5OCw3ICs1MDE3LDcgQEAgdGVzdF9rYXN1bWlfYXV0aF9jaXBoZXIoY29uc3Qgc3RydWN0DQo+ ID4gPj4+IGthc3VtaV90ZXN0X2RhdGEgKnRkYXRhLA0KPiA+ID4+PiAgCQl0ZGF0YS0+dmFsaWRD aXBoZXJPZmZzZXRJbkJpdHMubGVuLA0KPiA+ID4+PiAgCQl0ZGF0YS0+dmFsaWRBdXRoTGVuSW5C aXRzLmxlbiwNCj4gPiA+Pj4gIAkJMCwNCj4gPiA+Pj4gLQkJb3BfbW9kZSwgMCk7DQo+ID4gPj4+ ICsJCW9wX21vZGUsIDAsIHZlcmlmeSk7DQo+ID4gPj4+DQo+ID4gPj4+ICAJaWYgKHJldHZhbCA8 IDApDQo+ID4gPj4+ICAJCXJldHVybiByZXR2YWw7DQo+ID4gPj4+IEBAIC01MTY1LDcgKzUxODQs NyBAQCB0ZXN0X2thc3VtaV9hdXRoX2NpcGhlcl9zZ2woY29uc3Qgc3RydWN0DQo+ID4gPj4+IGth c3VtaV90ZXN0X2RhdGEgKnRkYXRhLA0KPiA+ID4+Pg0KPiA+ID4+PiAgCS8qIENyZWF0ZSBLQVNV TUkgb3BlcmF0aW9uICovDQo+ID4gPj4+ICAJcmV0dmFsID0gY3JlYXRlX3dpcmVsZXNzX2FsZ29f YXV0aF9jaXBoZXJfb3BlcmF0aW9uKA0KPiA+ID4+PiAtCQl0ZGF0YS0+ZGlnZXN0LmxlbiwNCj4g PiA+Pj4gKwkJdGRhdGEtPmRpZ2VzdC5kYXRhLCB0ZGF0YS0+ZGlnZXN0LmxlbiwNCj4gPiA+Pj4g IAkJdGRhdGEtPmNpcGhlcl9pdi5kYXRhLCB0ZGF0YS0+Y2lwaGVyX2l2LmxlbiwNCj4gPiA+Pj4g IAkJTlVMTCwgMCwNCj4gPiA+Pj4gIAkJKHRkYXRhLT5kaWdlc3Qub2Zmc2V0X2J5dGVzID09IDAg Pw0KPiA+ID4+PiBAQCAtNTE3NSw3ICs1MTk0LDcgQEAgdGVzdF9rYXN1bWlfYXV0aF9jaXBoZXJf c2dsKGNvbnN0IHN0cnVjdA0KPiA+ID4+PiBrYXN1bWlfdGVzdF9kYXRhICp0ZGF0YSwNCj4gPiA+ Pj4gIAkJdGRhdGEtPnZhbGlkQ2lwaGVyT2Zmc2V0SW5CaXRzLmxlbiwNCj4gPiA+Pj4gIAkJdGRh dGEtPnZhbGlkQXV0aExlbkluQml0cy5sZW4sDQo+ID4gPj4+ICAJCTAsDQo+ID4gPj4+IC0JCW9w X21vZGUsIDEpOw0KPiA+ID4+PiArCQlvcF9tb2RlLCAxLCB2ZXJpZnkpOw0KPiA+ID4+Pg0KPiA+ ID4+PiAgCWlmIChyZXR2YWwgPCAwKQ0KPiA+ID4+PiAgCQlyZXR1cm4gcmV0dmFsOw0KPiA+ID4+ PiBAQCAtNTY2Niw3ICs1Njg1LDcgQEAgdGVzdF96dWNfYXV0aF9jaXBoZXIoY29uc3Qgc3RydWN0 DQo+ID4gPj4+IHdpcmVsZXNzX3Rlc3RfZGF0YSAqdGRhdGEsDQo+ID4gPj4+DQo+ID4gPj4+ICAJ LyogQ3JlYXRlIFpVQyBvcGVyYXRpb24gKi8NCj4gPiA+Pj4gIAlyZXR2YWwgPSBjcmVhdGVfd2ly ZWxlc3NfYWxnb19hdXRoX2NpcGhlcl9vcGVyYXRpb24oDQo+ID4gPj4+IC0JCXRkYXRhLT5kaWdl c3QubGVuLA0KPiA+ID4+PiArCQl0ZGF0YS0+ZGlnZXN0LmRhdGEsIHRkYXRhLT5kaWdlc3QubGVu LA0KPiA+ID4+PiAgCQl0ZGF0YS0+Y2lwaGVyX2l2LmRhdGEsIHRkYXRhLT5jaXBoZXJfaXYubGVu LA0KPiA+ID4+PiAgCQl0ZGF0YS0+YXV0aF9pdi5kYXRhLCB0ZGF0YS0+YXV0aF9pdi5sZW4sDQo+ ID4gPj4+ICAJCSh0ZGF0YS0+ZGlnZXN0Lm9mZnNldF9ieXRlcyA9PSAwID8NCj4gPiA+Pj4gQEAg LTU2NzYsNyArNTY5NSw3IEBAIHRlc3RfenVjX2F1dGhfY2lwaGVyKGNvbnN0IHN0cnVjdA0KPiA+ ID4+PiB3aXJlbGVzc190ZXN0X2RhdGEgKnRkYXRhLA0KPiA+ID4+PiAgCQl0ZGF0YS0+dmFsaWRD aXBoZXJPZmZzZXRJbkJpdHMubGVuLA0KPiA+ID4+PiAgCQl0ZGF0YS0+dmFsaWRBdXRoTGVuSW5C aXRzLmxlbiwNCj4gPiA+Pj4gIAkJMCwNCj4gPiA+Pj4gLQkJb3BfbW9kZSwgMCk7DQo+ID4gPj4+ ICsJCW9wX21vZGUsIDAsIHZlcmlmeSk7DQo+ID4gPj4+DQo+ID4gPj4+ICAJaWYgKHJldHZhbCA8 IDApDQo+ID4gPj4+ICAJCXJldHVybiByZXR2YWw7DQo+ID4gPj4+IEBAIC01ODUyLDcgKzU4NzEs NyBAQCB0ZXN0X3p1Y19hdXRoX2NpcGhlcl9zZ2woY29uc3Qgc3RydWN0DQo+ID4gPj4+IHdpcmVs ZXNzX3Rlc3RfZGF0YSAqdGRhdGEsDQo+ID4gPj4+DQo+ID4gPj4+ICAJLyogQ3JlYXRlIFpVQyBv cGVyYXRpb24gKi8NCj4gPiA+Pj4gIAlyZXR2YWwgPSBjcmVhdGVfd2lyZWxlc3NfYWxnb19hdXRo X2NpcGhlcl9vcGVyYXRpb24oDQo+ID4gPj4+IC0JCXRkYXRhLT5kaWdlc3QubGVuLA0KPiA+ID4+ PiArCQl0ZGF0YS0+ZGlnZXN0LmRhdGEsIHRkYXRhLT5kaWdlc3QubGVuLA0KPiA+ID4+PiAgCQl0 ZGF0YS0+Y2lwaGVyX2l2LmRhdGEsIHRkYXRhLT5jaXBoZXJfaXYubGVuLA0KPiA+ID4+PiAgCQlO VUxMLCAwLA0KPiA+ID4+PiAgCQkodGRhdGEtPmRpZ2VzdC5vZmZzZXRfYnl0ZXMgPT0gMCA/DQo+ ID4gPj4+IEBAIC01ODYyLDcgKzU4ODEsNyBAQCB0ZXN0X3p1Y19hdXRoX2NpcGhlcl9zZ2woY29u c3Qgc3RydWN0DQo+ID4gPj4+IHdpcmVsZXNzX3Rlc3RfZGF0YSAqdGRhdGEsDQo+ID4gPj4+ICAJ CXRkYXRhLT52YWxpZENpcGhlck9mZnNldEluQml0cy5sZW4sDQo+ID4gPj4+ICAJCXRkYXRhLT52 YWxpZEF1dGhMZW5JbkJpdHMubGVuLA0KPiA+ID4+PiAgCQkwLA0KPiA+ID4+PiAtCQlvcF9tb2Rl LCAxKTsNCj4gPiA+Pj4gKwkJb3BfbW9kZSwgMSwgdmVyaWZ5KTsNCj4gPiA+Pj4NCj4gPiA+Pj4g IAlpZiAocmV0dmFsIDwgMCkNCj4gPiA+Pj4gIAkJcmV0dXJuIHJldHZhbDsNCj4gPiA+Pj4gQEAg LTY2NDMsNyArNjY2Miw3IEBAIHRlc3RfbWl4ZWRfYXV0aF9jaXBoZXIoY29uc3Qgc3RydWN0DQo+ ID4gPj4+IG1peGVkX2NpcGhlcl9hdXRoX3Rlc3RfZGF0YSAqdGRhdGEsDQo+ID4gPj4+DQo+ID4g Pj4+ICAJLyogQ3JlYXRlIHRoZSBvcGVyYXRpb24gKi8NCj4gPiA+Pj4gIAlyZXR2YWwgPSBjcmVh dGVfd2lyZWxlc3NfYWxnb19hdXRoX2NpcGhlcl9vcGVyYXRpb24oDQo+ID4gPj4+IC0JCQl0ZGF0 YS0+ZGlnZXN0X2VuYy5sZW4sDQo+ID4gPj4+ICsJCQl0ZGF0YS0+ZGlnZXN0X2VuYy5kYXRhLCB0 ZGF0YS0+ZGlnZXN0X2VuYy5sZW4sDQo+ID4gPj4+ICAJCQl0ZGF0YS0+Y2lwaGVyX2l2LmRhdGEs IHRkYXRhLT5jaXBoZXJfaXYubGVuLA0KPiA+ID4+PiAgCQkJdGRhdGEtPmF1dGhfaXYuZGF0YSwg dGRhdGEtPmF1dGhfaXYubGVuLA0KPiA+ID4+PiAgCQkJKHRkYXRhLT5kaWdlc3RfZW5jLm9mZnNl dCA9PSAwID8NCj4gPiA+Pj4gQEAgLTY2NTMsNyArNjY3Miw3IEBAIHRlc3RfbWl4ZWRfYXV0aF9j aXBoZXIoY29uc3Qgc3RydWN0DQo+ID4gPj4+IG1peGVkX2NpcGhlcl9hdXRoX3Rlc3RfZGF0YSAq dGRhdGEsDQo+ID4gPj4+ICAJCQl0ZGF0YS0+Y2lwaGVyLm9mZnNldF9iaXRzLA0KPiA+ID4+PiAg CQkJdGRhdGEtPnZhbGlkQXV0aExlbi5sZW5fYml0cywNCj4gPiA+Pj4gIAkJCXRkYXRhLT5hdXRo Lm9mZnNldF9iaXRzLA0KPiA+ID4+PiAtCQkJb3BfbW9kZSwgMCk7DQo+ID4gPj4+ICsJCQlvcF9t b2RlLCAwLCB2ZXJpZnkpOw0KPiA+ID4+Pg0KPiA+ID4+PiAgCWlmIChyZXR2YWwgPCAwKQ0KPiA+ ID4+PiAgCQlyZXR1cm4gcmV0dmFsOw0KPiA+ID4+PiBAQCAtNjgyNyw3ICs2ODQ2LDcgQEAgdGVz dF9taXhlZF9hdXRoX2NpcGhlcl9zZ2woY29uc3Qgc3RydWN0DQo+ID4gPj4+IG1peGVkX2NpcGhl cl9hdXRoX3Rlc3RfZGF0YSAqdGRhdGEsDQo+ID4gPj4+DQo+ID4gPj4+ICAJLyogQ3JlYXRlIHRo ZSBvcGVyYXRpb24gKi8NCj4gPiA+Pj4gIAlyZXR2YWwgPSBjcmVhdGVfd2lyZWxlc3NfYWxnb19h dXRoX2NpcGhlcl9vcGVyYXRpb24oDQo+ID4gPj4+IC0JCQl0ZGF0YS0+ZGlnZXN0X2VuYy5sZW4s DQo+ID4gPj4+ICsJCQl0ZGF0YS0+ZGlnZXN0X2VuYy5kYXRhLCB0ZGF0YS0+ZGlnZXN0X2VuYy5s ZW4sDQo+ID4gPj4+ICAJCQl0ZGF0YS0+Y2lwaGVyX2l2LmRhdGEsIHRkYXRhLT5jaXBoZXJfaXYu bGVuLA0KPiA+ID4+PiAgCQkJdGRhdGEtPmF1dGhfaXYuZGF0YSwgdGRhdGEtPmF1dGhfaXYubGVu LA0KPiA+ID4+PiAgCQkJKHRkYXRhLT5kaWdlc3RfZW5jLm9mZnNldCA9PSAwID8NCj4gPiA+Pj4g QEAgLTY4MzcsNyArNjg1Niw3IEBAIHRlc3RfbWl4ZWRfYXV0aF9jaXBoZXJfc2dsKGNvbnN0IHN0 cnVjdA0KPiA+ID4+PiBtaXhlZF9jaXBoZXJfYXV0aF90ZXN0X2RhdGEgKnRkYXRhLA0KPiA+ID4+ PiAgCQkJdGRhdGEtPmNpcGhlci5vZmZzZXRfYml0cywNCj4gPiA+Pj4gIAkJCXRkYXRhLT52YWxp ZEF1dGhMZW4ubGVuX2JpdHMsDQo+ID4gPj4+ICAJCQl0ZGF0YS0+YXV0aC5vZmZzZXRfYml0cywN Cj4gPiA+Pj4gLQkJCW9wX21vZGUsIDEpOw0KPiA+ID4+PiArCQkJb3BfbW9kZSwgMSwgdmVyaWZ5 KTsNCj4gPiA+Pj4NCj4gPiA+Pj4gIAlpZiAocmV0dmFsIDwgMCkNCj4gPiA+Pj4gIAkJcmV0dXJu IHJldHZhbDsNCj4gPiA+Pj4gQEAgLTEwODE4LDEzICsxMDgzNyw4IEBADQo+ID4gPj4+IHRlc3Rf YXV0aGVudGljYXRpb25fdmVyaWZ5X2ZhaWxfd2hlbl9kYXRhX2NvcnJ1cHRpb24oDQo+ID4gPj4+ DQo+ID4gPj4+ICAJdXRfcGFyYW1zLT5vcCA9IHByb2Nlc3NfY3J5cHRvX3JlcXVlc3QodHNfcGFy YW1zLQ0KPiA+ID4+Pj4gdmFsaWRfZGV2c1swXSwNCj4gPiA+Pj4gIAkJCXV0X3BhcmFtcy0+b3Ap Ow0KPiA+ID4+PiAtCVRFU1RfQVNTRVJUX05PVF9OVUxMKHV0X3BhcmFtcy0+b3AsICJmYWlsZWQg Y3J5cHRvIHByb2Nlc3MiKTsNCj4gPiA+Pj4gLQlURVNUX0FTU0VSVF9OT1RfRVFVQUwodXRfcGFy YW1zLT5vcC0+c3RhdHVzLA0KPiA+ID4+PiAtCQkJUlRFX0NSWVBUT19PUF9TVEFUVVNfU1VDQ0VT UywNCj4gPiA+Pj4gLQkJCSJhdXRoZW50aWNhdGlvbiBub3QgZmFpbGVkIik7DQo+ID4gPj4+DQo+ ID4gPj4+IC0JdXRfcGFyYW1zLT5vYnVmID0gdXRfcGFyYW1zLT5vcC0+c3ltLT5tX3NyYzsNCj4g PiA+Pj4gLQlURVNUX0FTU0VSVF9OT1RfTlVMTCh1dF9wYXJhbXMtPm9idWYsICJmYWlsZWQgdG8g cmV0cmlldmUNCj4gPiA+Pj4gb2J1ZiIpOw0KPiA+ID4+PiArCVRFU1RfQVNTRVJUX05VTEwodXRf cGFyYW1zLT5vcCwgImF1dGhlbnRpY2F0aW9uIG5vdCBmYWlsZWQiKTsNCj4gPiA+Pj4NCj4gPiA+ Pj4gIAlyZXR1cm4gMDsNCj4gPiA+Pj4gIH0NCj4gPiA+Pj4gQEAgLTEwODc5LDEzICsxMDg5Myw4 IEBADQo+ID4gPj4+IHRlc3RfYXV0aGVudGljYXRpb25fdmVyaWZ5X0dNQUNfZmFpbF93aGVuX2Nv cnJ1cHRpb24oDQo+ID4gPj4+DQo+ID4gPj4+ICAJdXRfcGFyYW1zLT5vcCA9IHByb2Nlc3NfY3J5 cHRvX3JlcXVlc3QodHNfcGFyYW1zLQ0KPiA+ID4+Pj4gdmFsaWRfZGV2c1swXSwNCj4gPiA+Pj4g IAkJCXV0X3BhcmFtcy0+b3ApOw0KPiA+ID4+PiAtCVRFU1RfQVNTRVJUX05PVF9OVUxMKHV0X3Bh cmFtcy0+b3AsICJmYWlsZWQgY3J5cHRvIHByb2Nlc3MiKTsNCj4gPiA+Pj4gLQlURVNUX0FTU0VS VF9OT1RfRVFVQUwodXRfcGFyYW1zLT5vcC0+c3RhdHVzLA0KPiA+ID4+PiAtCQkJUlRFX0NSWVBU T19PUF9TVEFUVVNfU1VDQ0VTUywNCj4gPiA+Pj4gLQkJCSJhdXRoZW50aWNhdGlvbiBub3QgZmFp bGVkIik7DQo+ID4gPj4+DQo+ID4gPj4+IC0JdXRfcGFyYW1zLT5vYnVmID0gdXRfcGFyYW1zLT5v cC0+c3ltLT5tX3NyYzsNCj4gPiA+Pj4gLQlURVNUX0FTU0VSVF9OT1RfTlVMTCh1dF9wYXJhbXMt Pm9idWYsICJmYWlsZWQgdG8gcmV0cmlldmUNCj4gPiA+Pj4gb2J1ZiIpOw0KPiA+ID4+PiArCVRF U1RfQVNTRVJUX05VTEwodXRfcGFyYW1zLT5vcCwgImF1dGhlbnRpY2F0aW9uIG5vdCBmYWlsZWQi KTsNCj4gPiA+Pj4NCj4gPiA+Pj4gIAlyZXR1cm4gMDsNCj4gPiA+Pj4gIH0NCj4gPiA+Pj4gQEAg LTEwOTQwLDEzICsxMDk0OSw3IEBADQo+ID4gPj4+IHRlc3RfYXV0aGVudGljYXRlZF9kZWNyeXB0 aW9uX2ZhaWxfd2hlbl9jb3JydXB0aW9uKA0KPiA+ID4+PiAgCXV0X3BhcmFtcy0+b3AgPSBwcm9j ZXNzX2NyeXB0b19yZXF1ZXN0KHRzX3BhcmFtcy0NCj4gPiA+Pj4+IHZhbGlkX2RldnNbMF0sDQo+ ID4gPj4+ICAJCQl1dF9wYXJhbXMtPm9wKTsNCj4gPiA+Pj4NCj4gPiA+Pj4gLQlURVNUX0FTU0VS VF9OT1RfTlVMTCh1dF9wYXJhbXMtPm9wLCAiZmFpbGVkIGNyeXB0byBwcm9jZXNzIik7DQo+ID4g Pj4+IC0JVEVTVF9BU1NFUlRfTk9UX0VRVUFMKHV0X3BhcmFtcy0+b3AtPnN0YXR1cywNCj4gPiA+ Pj4gLQkJCVJURV9DUllQVE9fT1BfU1RBVFVTX1NVQ0NFU1MsDQo+ID4gPj4+IC0JCQkiYXV0aGVu dGljYXRpb24gbm90IGZhaWxlZCIpOw0KPiA+ID4+PiAtDQo+ID4gPj4+IC0JdXRfcGFyYW1zLT5v YnVmID0gdXRfcGFyYW1zLT5vcC0+c3ltLT5tX3NyYzsNCj4gPiA+Pj4gLQlURVNUX0FTU0VSVF9O T1RfTlVMTCh1dF9wYXJhbXMtPm9idWYsICJmYWlsZWQgdG8gcmV0cmlldmUNCj4gPiA+Pj4gb2J1 ZiIpOw0KPiA+ID4+PiArCVRFU1RfQVNTRVJUX05VTEwodXRfcGFyYW1zLT5vcCwgImF1dGhlbnRp Y2F0aW9uIG5vdCBmYWlsZWQiKTsNCj4gPiA+Pj4NCj4gPiA+Pj4gIAlyZXR1cm4gMDsNCj4gPiA+ Pj4gIH0NCj4gPiA+Pj4gQEAgLTExMTQ5LDYgKzExMTUyLDcgQEAgY3JlYXRlX2FlYWRfb3BlcmF0 aW9uX1NHTChlbnVtDQo+ID4gPj4+IHJ0ZV9jcnlwdG9fYWVhZF9vcGVyYXRpb24gb3AsDQo+ID4g Pj4+ICAJY29uc3QgdW5zaWduZWQgaW50IGF1dGhfdGFnX2xlbiA9IHRkYXRhLT5hdXRoX3RhZy5s ZW47DQo+ID4gPj4+ICAJY29uc3QgdW5zaWduZWQgaW50IGl2X2xlbiA9IHRkYXRhLT5pdi5sZW47 DQo+ID4gPj4+ICAJdW5zaWduZWQgaW50IGFhZF9sZW4gPSB0ZGF0YS0+YWFkLmxlbjsNCj4gPiA+ Pj4gKwl1bnNpZ25lZCBpbnQgYWFkX2xlbl9wYWQgPSAwOw0KPiA+ID4+Pg0KPiA+ID4+PiAgCS8q IEdlbmVyYXRlIENyeXB0byBvcCBkYXRhIHN0cnVjdHVyZSAqLw0KPiA+ID4+PiAgCXV0X3BhcmFt cy0+b3AgPSBydGVfY3J5cHRvX29wX2FsbG9jKHRzX3BhcmFtcy0+b3BfbXBvb2wsDQo+ID4gPj4+ IEBAIC0xMTIwMyw4ICsxMTIwNywxMCBAQCBjcmVhdGVfYWVhZF9vcGVyYXRpb25fU0dMKGVudW0N Cj4gPiA+Pj4gcnRlX2NyeXB0b19hZWFkX29wZXJhdGlvbiBvcCwNCj4gPiA+Pj4NCj4gPiA+Pj4g IAkJcnRlX21lbWNweShpdl9wdHIsIHRkYXRhLT5pdi5kYXRhLCBpdl9sZW4pOw0KPiA+ID4+Pg0K PiA+ID4+PiArCQlhYWRfbGVuX3BhZCA9IFJURV9BTElHTl9DRUlMKGFhZF9sZW4sIDE2KTsNCj4g PiA+Pj4gKw0KPiA+ID4+PiAgCQlzeW1fb3AtPmFlYWQuYWFkLmRhdGEgPSAodWludDhfdCAqKXJ0 ZV9wa3RtYnVmX3ByZXBlbmQoDQo+ID4gPj4+IC0JCQkJdXRfcGFyYW1zLT5pYnVmLCBhYWRfbGVu KTsNCj4gPiA+Pj4gKwkJCQl1dF9wYXJhbXMtPmlidWYsIGFhZF9sZW5fcGFkKTsNCj4gPiA+Pj4g IAkJVEVTVF9BU1NFUlRfTk9UX05VTEwoc3ltX29wLT5hZWFkLmFhZC5kYXRhLA0KPiA+ID4+PiAg CQkJCSJubyByb29tIHRvIHByZXBlbmQgYWFkIik7DQo+ID4gPj4+ICAJCXN5bV9vcC0+YWVhZC5h YWQucGh5c19hZGRyID0gcnRlX3BrdG1idWZfaW92YSggQEAgLQ0KPiA+ID4+PiAxMTIxOSw3ICsx MTIyNSw3IEBAIGNyZWF0ZV9hZWFkX29wZXJhdGlvbl9TR0woZW51bQ0KPiA+ID4+PiBydGVfY3J5 cHRvX2FlYWRfb3BlcmF0aW9uIG9wLA0KPiA+ID4+PiAgCX0NCj4gPiA+Pj4NCj4gPiA+Pj4gIAlz eW1fb3AtPmFlYWQuZGF0YS5sZW5ndGggPSB0ZGF0YS0+cGxhaW50ZXh0LmxlbjsNCj4gPiA+Pj4g LQlzeW1fb3AtPmFlYWQuZGF0YS5vZmZzZXQgPSBhYWRfbGVuOw0KPiA+ID4+PiArCXN5bV9vcC0+ YWVhZC5kYXRhLm9mZnNldCA9IGFhZF9sZW5fcGFkOw0KPiA+ID4+Pg0KPiA+ID4+PiAgCXJldHVy biAwOw0KPiA+ID4+PiAgfQ0KPiA+ID4+PiBAQCAtMTEyNTIsNyArMTEyNTgsNyBAQCB0ZXN0X2F1 dGhlbnRpY2F0ZWRfZW5jcnlwdGlvbl9TR0woY29uc3QNCj4gPiA+Pj4gc3RydWN0DQo+ID4gPj4+ IGFlYWRfdGVzdF9kYXRhICp0ZGF0YSwNCj4gPiA+Pj4gIAlpbnQgZWN4ID0gMDsNCj4gPiA+Pj4g IAl2b2lkICpkaWdlc3RfbWVtID0gTlVMTDsNCj4gPiA+Pj4NCj4gPiA+Pj4gLQl1aW50MzJfdCBw cmVwZW5kX2xlbiA9IHRkYXRhLT5hYWQubGVuOw0KPiA+ID4+PiArCXVpbnQzMl90IHByZXBlbmRf bGVuID0gUlRFX0FMSUdOX0NFSUwodGRhdGEtPmFhZC5sZW4sIDE2KTsNCj4gPiA+Pj4NCj4gPiA+ Pj4gIAlpZiAodGRhdGEtPnBsYWludGV4dC5sZW4gJSBmcmFnc3ogIT0gMCkgew0KPiA+ID4+PiAg CQlpZiAodGRhdGEtPnBsYWludGV4dC5sZW4gLyBmcmFnc3ogKyAxID4gU0dMX01BWF9OTykgQEAN Cj4gPiA+Pj4gLQ0KPiA+ID4+PiAxMTkxNSw2ICsxMTkyMSw4IEBAIHN0YXRpYyBzdHJ1Y3QgdW5p dF90ZXN0X3N1aXRlDQo+ID4gPj4+IGNyeXB0b2Rldl9xYXRfdGVzdHN1aXRlICA9IHsNCj4gPiA+ Pj4NCj4gPiA+Pj4gCXRlc3RfQUVTX0dDTV9hdXRoX2VuY3J5cHRfU0dMX291dF9vZl9wbGFjZV80 MDBCXzQwMEIpLA0KPiA+ID4+PiAgCQlURVNUX0NBU0VfU1QodXRfc2V0dXAsIHV0X3RlYXJkb3du LA0KPiA+ID4+Pg0KPiA+ID4+PiAJdGVzdF9BRVNfR0NNX2F1dGhfZW5jcnlwdF9TR0xfb3V0X29m X3BsYWNlXzE1MDBCXzIwMDBCKSwNCj4gPiA+Pj4gKwkJVEVTVF9DQVNFX1NUKHV0X3NldHVwLCB1 dF90ZWFyZG93biwNCj4gPiA+Pj4gKw0KPiA+ID4+PiAJdGVzdF9BRVNfR0NNX2F1dGhfZW5jcnlw dF9TR0xfb3V0X29mX3BsYWNlXzQwMEJfMXNlZyksDQo+ID4gPj4+ICAJCVRFU1RfQ0FTRV9TVCh1 dF9zZXR1cCwgdXRfdGVhcmRvd24sDQo+ID4gPj4+DQo+ID4gPj4+IAl0ZXN0X0FFU19HQ01fYXV0 aGVudGljYXRlZF9lbmNyeXB0aW9uX3Rlc3RfY2FzZV8xKSwNCj4gPiA+Pj4gIAkJVEVTVF9DQVNF X1NUKHV0X3NldHVwLCB1dF90ZWFyZG93biwNCj4gPiA+Pj4gLS0NCj4gPiA+Pj4gMi4yMC4xDQo+ ID4gPj4+DQo+ID4gPj4+IC0tLQ0KPiA+ID4+PiAgIERpZmYgb2YgdGhlIGFwcGxpZWQgcGF0Y2gg dnMgdXBzdHJlYW0gY29tbWl0IChwbGVhc2UNCj4gPiA+Pj4gZG91YmxlLWNoZWNrIGlmIG5vbi0N Cj4gPiA+Pj4gZW1wdHk6DQo+ID4gPj4+IC0tLQ0KPiA+ID4+PiAtLS0gLQkyMDIwLTAyLTExIDEx OjE3OjM5Ljk4NjAwMjU5NiArMDAwMA0KPiA+ID4+PiArKysgMDAyMy10ZXN0LWNyeXB0by1maXgt bWlzc2luZy1vcGVyYXRpb24tc3RhdHVzLWNoZWNrLnBhdGNoDQo+ID4gPj4+IDIwMjAtMDItMTEN Cj4gPiA+Pj4gMTE6MTc6MzguMzMyMDAwMDc1ICswMDAwDQo+ID4gPj4+IEBAIC0xLDggKzEsMTAg QEANCj4gPiA+Pj4gLUZyb20gYjI2ZWYxYTExZjIxZWNkZTYzNTgyZWQ2ZGIyODFjOTNjZTlmYmYy MyBNb24gU2VwIDE3DQo+ID4gMDA6MDA6MDANCj4gPiA+Pj4gMjAwMQ0KPiA+ID4+PiArRnJvbSBj ZTgzMDIxNzJmOWY4ZTA2ODMzYTQ5YWJmOGIyODNhNzFiMDdkYzNiIE1vbiBTZXAgMTcNCj4gPiAw MDowMDowMA0KPiA+ID4+PiAyMDAxDQo+ID4gPj4+ICBGcm9tOiBBZGFtIER5Ymtvd3NraSA8DQo+ ID4gPj4+IGFkYW14LmR5Ymtvd3NraUBpbnRlbC5jb20NCj4gPiA+Pj4+DQo+ID4gPj4+ICBEYXRl OiBGcmksIDIwIERlYyAyMDE5IDEzOjU4OjUyICswMTAwDQo+ID4gPj4+ICBTdWJqZWN0OiBbUEFU Q0hdIHRlc3QvY3J5cHRvOiBmaXggbWlzc2luZyBvcGVyYXRpb24gc3RhdHVzIGNoZWNrDQo+ID4g Pj4+DQo+ID4gPj4+ICtbIHVwc3RyZWFtIGNvbW1pdCBiMjZlZjFhMTFmMjFlY2RlNjM1ODJlZDZk YjI4MWM5M2NlOWZiZjIzIF0NCj4gPiA+Pj4gKw0KPiA+ID4+PiAgVGhpcyBwYXRjaCBhZGRzIGNo ZWNraW5nIG9mIHRoZSBzeW1tZXRyaWMgY3J5cHRvIG9wZXJhdGlvbiBzdGF0dXMNCj4gPiA+Pj4g dGhhdCB3YXMgc2lsZW50bHkgc2tpcHBlZCBiZWZvcmUuIEl0IGZpeGVzIHRoZSB3aXJlbGVzcyBh bGdvcml0aG1zDQo+ID4gPj4+IHNlc3Npb24gY3JlYXRpb24gKFNOT1czRywgS0FTVU1JLCBaVUMp IGFuZCBwYXNzaW5nIG9mIHRoZSBkaWdlc3QNCj4gPiA+Pj4gQEAgLTExLDcgKzEzLDYgQEANCj4g PiA+Pj4NCj4gPiA+Pj4gIEZpeGVzOiBjMGY4N2ViNTI1MmIgKCJjcnlwdG9kZXY6IGNoYW5nZSBi dXJzdCBBUEkgdG8gYmUgY3J5cHRvIG9wDQo+ID4gPj4+IG9yaWVudGVkIikNCj4gPiA+Pj4gIEZp eGVzOiA3N2EyMTdhMTliYjcgKCJ0ZXN0L2NyeXB0bzogYWRkIEFFUy1DQ00gdGVzdHMiKQ0KPiA+ ID4+PiAtQ2M6DQo+ID4gPj4+IHN0YWJsZUBkcGRrLm9yZw0KPiA+ID4+Pg0KPiA+ID4+Pg0KPiA+ ID4+PiAgU2lnbmVkLW9mZi1ieTogQWRhbSBEeWJrb3dza2kgPA0KPiA+ID4+PiBhZGFteC5keWJr b3dza2lAaW50ZWwuY29tDQo+ID4gPj4+Pg0KPiA+ID4+PiAgQWNrZWQtYnk6IEZpb25hIFRyYWhl IDwNCj4gPiA+Pj4gZmlvbmEudHJhaGVAaW50ZWwuY29tDQo+ID4gPj4+Pg0KDQo=