From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 41507 invoked by alias); 12 Oct 2017 18:55:03 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 41456 invoked by uid 89); 12 Oct 2017 18:55:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.3 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=H*c:HHH X-HELO: mga11.intel.com Received: from mga11.intel.com (HELO mga11.intel.com) (192.55.52.93) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 12 Oct 2017 18:55:00 +0000 Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Oct 2017 11:54:59 -0700 X-ExtLoop1: 1 Received: from irsmsx153.ger.corp.intel.com ([163.33.192.75]) by orsmga002.jf.intel.com with ESMTP; 12 Oct 2017 11:54:57 -0700 Received: from irsmsx102.ger.corp.intel.com ([169.254.2.180]) by IRSMSX153.ger.corp.intel.com ([169.254.9.34]) with mapi id 14.03.0319.002; Thu, 12 Oct 2017 19:54:56 +0100 From: "Tsimbalist, Igor V" To: Uros Bizjak CC: "gcc-patches@gcc.gnu.org" , "Tsimbalist, Igor V" Subject: RE: 0006-Part-6.-Add-x86-tests-for-Intel-CET-implementation Date: Thu, 12 Oct 2017 18:56:00 -0000 Message-ID: References: In-Reply-To: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action Content-Type: multipart/mixed; boundary="_002_D511F25789BA7F4EBA64C8A63891A00291F42195IRSMSX102gercor_" MIME-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2017-10/txt/msg00784.txt.bz2 --_002_D511F25789BA7F4EBA64C8A63891A00291F42195IRSMSX102gercor_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Content-length: 8000 QXR0YWNoZWQgaXMgYW4gdXBkYXRlZCBwYXRjaCBhY2NvcmRpbmcgdG8geW91 ciBjb21tZW50cy4gTmV3IHRlc3RzIGFyZQ0KYWRkZWQgdG8gdGVzdCBJQ0Yg b3B0aW1pemF0aW9uIGluIHByZXNlbmNlIG9mIG5vY2ZfY2hlY2sgYXR0cmli dXRlLg0KDQpJZ29yDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiBGcm9tOiBUc2ltYmFsaXN0LCBJZ29yIFYNCj4gU2VudDogVHVlc2Rh eSwgU2VwdGVtYmVyIDE5LCAyMDE3IDExOjMwIFBNDQo+IFRvOiBVcm9zIEJp emphayA8dWJpempha0BnbWFpbC5jb20+DQo+IENjOiBnY2MtcGF0Y2hlc0Bn Y2MuZ251Lm9yZzsgVHNpbWJhbGlzdCwgSWdvciBWDQo+IDxpZ29yLnYudHNp bWJhbGlzdEBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJFOiAwMDA2LVBhcnQt Ni4tQWRkLXg4Ni10ZXN0cy1mb3ItSW50ZWwtQ0VULWltcGxlbWVudGF0aW9u DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJv bTogZ2NjLXBhdGNoZXMtb3duZXJAZ2NjLmdudS5vcmcgW21haWx0bzpnY2Mt cGF0Y2hlcy0NCj4gPiBvd25lckBnY2MuZ251Lm9yZ10gT24gQmVoYWxmIE9m IFVyb3MgQml6amFrDQo+ID4gU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDE5 LCAyMDE3IDY6MTMgUE0NCj4gPiBUbzogVHNpbWJhbGlzdCwgSWdvciBWIDxp Z29yLnYudHNpbWJhbGlzdEBpbnRlbC5jb20+DQo+ID4gQ2M6IGdjYy1wYXRj aGVzQGdjYy5nbnUub3JnDQo+ID4gU3ViamVjdDogUmU6IDAwMDYtUGFydC02 Li1BZGQteDg2LXRlc3RzLWZvci1JbnRlbC1DRVQtaW1wbGVtZW50YXRpb24N Cj4gPg0KPiA+IE9uIFR1ZSwgU2VwIDE5LCAyMDE3IGF0IDU6MTggUE0sIFRz aW1iYWxpc3QsIElnb3IgVg0KPiA+IDxpZ29yLnYudHNpbWJhbGlzdEBpbnRl bC5jb20+IHdyb3RlOg0KPiA+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+ID4gPj4gRnJvbTogZ2NjLXBhdGNoZXMtb3duZXJAZ2NjLmdudS5v cmcgW21haWx0bzpnY2MtcGF0Y2hlcy0NCj4gPiA+PiBvd25lckBnY2MuZ251 Lm9yZ10gT24gQmVoYWxmIE9mIFVyb3MgQml6amFrDQo+ID4gPj4gU2VudDog TW9uZGF5LCBTZXB0ZW1iZXIgMTgsIDIwMTcgMTI6MTcgUE0NCj4gPiA+PiBU bzogZ2NjLXBhdGNoZXNAZ2NjLmdudS5vcmcNCj4gPiA+PiBDYzogVHNpbWJh bGlzdCwgSWdvciBWIDxpZ29yLnYudHNpbWJhbGlzdEBpbnRlbC5jb20+OyBU c2ltYmFsaXN0LA0KPiA+ID4+IElnb3IgViA8aWdvci52LnRzaW1iYWxpc3RA aW50ZWwuY29tPg0KPiA+ID4+IFN1YmplY3Q6IFJlOg0KPiA+ID4+IDAwMDYt UGFydC02Li1BZGQteDg2LXRlc3RzLWZvci1JbnRlbC1DRVQtaW1wbGVtZW50 YXRpb24NCj4gPiA+Pg0KPiA+ID4+IEhlbGxvIQ0KPiA+ID4+DQo+ID4gPj4g PiBnY2MvdGVzdHN1aXRlLw0KPiA+ID4+ID4NCj4gPiA+PiA+ICogZysrLmRn L2NldC1ub3RyYWNrLTEuQzogTmV3IHRlc3QuDQo+ID4gPj4gPiAqIGdjYy50 YXJnZXQvaTM4Ni9jZXQtaW50cmluLTEuYzogTGlrZXdpc2UuDQo+ID4gPj4g PiAqIGdjYy50YXJnZXQvaTM4Ni9jZXQtaW50cmluLTEwLmM6IExpa2V3aXNl Lg0KPiA+ID4+ID4gKiBnY2MudGFyZ2V0L2kzODYvY2V0LWludHJpbi0yLmM6 IExpa2V3aXNlLg0KPiA+ID4+ID4gKiBnY2MudGFyZ2V0L2kzODYvY2V0LWlu dHJpbi0zLmM6IExpa2V3aXNlLg0KPiA+ID4+ID4gKiBnY2MudGFyZ2V0L2kz ODYvY2V0LWludHJpbi00LmM6IExpa2V3aXNlLg0KPiA+ID4+ID4gKiBnY2Mu dGFyZ2V0L2kzODYvY2V0LWludHJpbi01LmM6IExpa2V3aXNlLg0KPiA+ID4+ ID4gKiBnY2MudGFyZ2V0L2kzODYvY2V0LWludHJpbi02LmM6IExpa2V3aXNl Lg0KPiA+ID4+ID4gKiBnY2MudGFyZ2V0L2kzODYvY2V0LWludHJpbi03LmM6 IExpa2V3aXNlLg0KPiA+ID4+ID4gKiBnY2MudGFyZ2V0L2kzODYvY2V0LWlu dHJpbi04LmM6IExpa2V3aXNlLg0KPiA+ID4+ID4gKiBnY2MudGFyZ2V0L2kz ODYvY2V0LWludHJpbi05LmM6IExpa2V3aXNlLg0KPiA+ID4+ID4gKiBnY2Mu dGFyZ2V0L2kzODYvY2V0LWxhYmVsLmM6IExpa2V3aXNlLg0KPiA+ID4+ID4g KiBnY2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2stMWEuYzogTGlrZXdpc2Uu DQo+ID4gPj4gPiAqIGdjYy50YXJnZXQvaTM4Ni9jZXQtbm90cmFjay0xYi5j OiBMaWtld2lzZS4NCj4gPiA+PiA+ICogZ2NjLnRhcmdldC9pMzg2L2NldC1u b3RyYWNrLTJhLmM6IExpa2V3aXNlLg0KPiA+ID4+ID4gKiBnY2MudGFyZ2V0 L2kzODYvY2V0LW5vdHJhY2stMmIuYzogTGlrZXdpc2UuDQo+ID4gPj4gPiAq IGdjYy50YXJnZXQvaTM4Ni9jZXQtbm90cmFjay0zLmM6IExpa2V3aXNlLg0K PiA+ID4+ID4gKiBnY2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2stNGEuYzog TGlrZXdpc2UuDQo+ID4gPj4gPiAqIGdjYy50YXJnZXQvaTM4Ni9jZXQtbm90 cmFjay00Yi5jOiBMaWtld2lzZS4NCj4gPiA+PiA+ICogZ2NjLnRhcmdldC9p Mzg2L2NldC1ub3RyYWNrLTVhLmM6IExpa2V3aXNlLg0KPiA+ID4+ID4gKiBn Y2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2stNWIuYzogTGlrZXdpc2UuDQo+ ID4gPj4gPiAqIGdjYy50YXJnZXQvaTM4Ni9jZXQtbm90cmFjay02YS5jOiBM aWtld2lzZS4NCj4gPiA+PiA+ICogZ2NjLnRhcmdldC9pMzg2L2NldC1ub3Ry YWNrLTZiLmM6IExpa2V3aXNlLg0KPiA+ID4+ID4gKiBnY2MudGFyZ2V0L2kz ODYvY2V0LW5vdHJhY2stNy5jOiBMaWtld2lzZS4NCj4gPiA+PiA+ICogZ2Nj LnRhcmdldC9pMzg2L2NldC1wcm9wZXJ0eS0xLmM6IExpa2V3aXNlLg0KPiA+ ID4+ID4gKiBnY2MudGFyZ2V0L2kzODYvY2V0LXByb3BlcnR5LTIuYzogTGlr ZXdpc2UuDQo+ID4gPj4gPiAqIGdjYy50YXJnZXQvaTM4Ni9jZXQtcmRzc3At MS5jOiBMaWtld2lzZS4NCj4gPiA+PiA+ICogZ2NjLnRhcmdldC9pMzg2L2Nl dC1zamxqLTEuYzogTGlrZXdpc2UuDQo+ID4gPj4gPiAqIGdjYy50YXJnZXQv aTM4Ni9jZXQtc2psai0yLmM6IExpa2V3aXNlLg0KPiA+ID4+ID4gKiBnY2Mu dGFyZ2V0L2kzODYvY2V0LXNqbGotMy5jOiBMaWtld2lzZS4NCj4gPiA+PiA+ ICogZ2NjLnRhcmdldC9pMzg2L2NldC1zd2l0Y2gtMS5jOiBMaWtld2lzZS4N Cj4gPiA+PiA+ICogZ2NjLnRhcmdldC9pMzg2L2NldC1zd2l0Y2gtMi5jOiBM aWtld2lzZS4NCj4gPiA+PiA+ICogbGliL3RhcmdldC1zdXBwb3J0cy5leHAg KGNoZWNrX2VmZmVjdGl2ZV90YXJnZXRfY2V0KTogTmV3IHByb2MuDQo+ID4g Pj4NCj4gPiA+PiBBIGNvdXBsZSBvZiBxdWVzdGlvbnM6DQo+ID4gPj4NCj4g PiA+PiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gPiA+PiArLyogeyBk Zy1vcHRpb25zICItTzIgLW1jZXQiIH0gKi8NCj4gPiA+PiArLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJzZXRzc2JzeSIgMiB9IH0g Ki8NCj4gPiA+PiArDQo+ID4gPj4gKyNpbmNsdWRlIDxpbW1pbnRyaW4uaD4N Cj4gPiA+PiArDQo+ID4gPj4gK3ZvaWQgZjEgKHZvaWQpDQo+ID4gPj4gK3sN Cj4gPiA+PiArICBfX2J1aWx0aW5faWEzMl9zZXRzc2JzeSAoKTsNCj4gPiA+ PiArfQ0KPiA+ID4+ICsNCj4gPiA+PiArdm9pZCBmMiAodm9pZCkNCj4gPiA+ PiArew0KPiA+ID4+ICsgIF9zZXRzc2JzeSAoKTsNCj4gPiA+PiArfQ0KPiA+ ID4+DQo+ID4gPj4gSXMgdGhlcmUgYSByZWFzb24gdGhhdCBib3RoLCBfX2J1 aWx0aW4gYW5kIGludHJpbnNpYyB2ZXJzaW9ucyBhcmUNCj4gPiA+PiB0ZXN0 ZWQgaW4gYSBjb3VwbGUgb2YgcGxhY2VzPyBUaGUgaW50cmluc2ljIHZlcnNp b24gaXMganVzdCBhDQo+ID4gPj4gd3JhcHBlciBmb3IgX19idWlsdGluLCBz byBJTU8gdGVzdGluZyBpbnRyaW5zaWMgdmVyc2lvbiBzaG91bGQgYmUNCj4g ZW5vdWdoLg0KPiA+ID4gTm8gc3Ryb25nIHJlYXNvbi4gSnVzdCB0byBjaGVj ayB0aGF0IGludHJpbnNpYyBuYW1lcyBhcmUgcmVjb2duaXplZA0KPiA+ID4g YW5kDQo+ID4gcHJvY2Vzc2VkIGNvcnJlY3RseS4NCj4gPiA+IFRoZSBpbXBs ZW1lbnRhdGlvbiBjb3VsZCBjaGFuZ2UgYW5kIHRoZSB0ZXN0IHdpbGwgY2F0 Y2ggaW5jb25zaXN0ZW5jeS4NCj4gPiA+IEkgd291bGQgYWxzbyBhc3N1bWUg YSB1c2VyIHdpbGwgdXNlIGludHJpbnNpY3MgdGhhdCdzIHdoeSBJIGFkZCBp bnRyaW5zaWMNCj4gY2hlY2suDQo+ID4gU2hvdWxkIEkgcmVtb3ZlIGl0Pw0K PiA+DQo+ID4gQWN0dWFsbHksIHRoZXNlIF9fYnVpbHRpbnMgYXJlIGNvbnNp ZGVyZWQgYXMgaW1wbGVtZW50YXRpb24gZGV0YWlsLA0KPiA+IGFuZCB0aGVp ciB1c2Ugc2hvdWxkIGJlIGRpc2NvdXJhZ2VkLiBUaGV5IGFyZSBkZWxpYmVy YXRlbHkgbm90DQo+ID4gZG9jdW1lbnRlZCwgYW5kIHVzZXJzIHNob3VsZCB1 c2UgaW50cmluc2ljIGhlYWRlcnMgaW5zdGVhZC4gVGhhdCBzYWlkLA0KPiA+ IGJ1aWx0aW5zIHdvbid0IGNoYW5nZSB3aXRob3V0IGEgcmVhc29uLCBzaW5j ZSBBZGEgbmVlZHMgdGhlbS4NCj4gPg0KPiA+IEl0IGNhbiBoYXBwZW4gdGhh dCB0aGUgdGVzdCBmYWlscyBkdWUgdG8gY2hhbmdlIG9mIGludHJpbnNpY3Ms IHNvIEknZA0KPiA+IHJlY29tbWVuZCB0byByZW1vdmUgdGhlbS4NCj4gT2ss IEkgd2lsbCByZW1vdmUgaW50cmluc2ljLg0KPiANCj4gPiA+PiBkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LXJkc3Nw LTEuYw0KPiA+ID4+IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYv Y2V0LXJkc3NwLTEuYw0KPiA+ID4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ ID4gPj4gaW5kZXggMDAwMDAwMC4uZjkyMjNhNQ0KPiA+ID4+IC0tLSAvZGV2 L251bGwNCj4gPiA+PiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv aTM4Ni9jZXQtcmRzc3AtMS5jDQo+ID4gPj4gQEAgLTAsMCArMSwzOSBAQA0K PiA+ID4+ICsvKiB7IGRnLWRvIHJ1biB7IHRhcmdldCBjZXQgfSB9ICovDQo+ ID4gPj4gKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1maW5zdHJ1bWVudC1jb250 cm9sLWZsb3cgLW1jZXQiIH0gKi8NCj4gPiA+Pg0KPiA+ID4+IFRoZSAidGFy Z2V0IGNldCIgZGlyZWN0aXZlIGp1c3QgY2hlY2tzIHRoYXQgQ0VUIGluc3Ry dWN0aW9ucyBjYW4gYmUNCj4gPiBjb21waWxlZC4NCj4gPiA+PiBUaGUgdGVz dCB3aWxsIChwcm9iYWJseT8pIGZhaWwgb24gdGFyZ2V0cyB3aXRoIGJpbnV0 aWxzIHRoYXQgY2FuDQo+ID4gPj4gY29tcGlsZSBDRVQgaW5zdHJ1Y3Rpb25z LCBidXQgdGhlIHRhcmdldCBpdHNlbGYgZG9lc24ndCBzdXBwb3J0IENFVC4N Cj4gPiA+PiBJZiB0aGlzIGlzIHRoZSBjYXNlLCB0aGVuIGNoZWNrIGhlYWRl ciBoYXMgdG8gYmUgaW50cm9kdWNlZCwgc28gdGhlDQo+ID4gPj4gdGVzdCBj YW4gYmUgYnlwYXNzZWQgb24gdGFyZ2V0cyB3aXRob3V0IHJ1bnRpbWUgc3Vw cG9ydC4NCj4gPiA+IFRoZSB0ZXN0IHdpbGwgbm90IGZhaWwgZXZlbiBpZiBh IHRhcmdldCBkb2Vzbid0IHN1cHBvcnQgQ0VUIGFzICdyZHNzcCcNCj4gPiA+ IGluc3RydWN0aW9uIGlzIGEgTk9QIG9uIHN1Y2ggdGFyZ2V0IGFuZCBmdXJ0 aGVyIHVzYWdlIG9mIENFVA0KPiA+ID4gaW5zdHJ1Y3Rpb24gaXMgYnlwYXNz ZWQuIEluIHRoaXMgY2FzZSB0aGUgY29kZQ0KPiA+ID4NCj4gPiA+ICsgIHNz cCA9IHJkc3NwIChzc3ApOw0KPiA+ID4NCj4gPiA+IFdpbGwga2VlcCBzc3Ag YXMgMC4NCj4gPg0KPiA+IEkgYXNzdW1lIHRoYXQgdGhpcyBpcyB0cnVlIGFs c28gZm9yIG90aGVyIHJ1bnRpbWUgdGVzdHMsIGFuZCB0aGlzDQo+ID4gY2xl YXJzIG15IGNvbmNlcm4gYWJvdXQgcnVudGltZSBmYWlsdXJlcyB3aXRoIHVw ZGF0ZWQgYmludXRpbHMuDQo+IFllcywgdGhhdCdzIHRydWUgZm9yIG90aGVy IHJ1bnRpbWUgdGVzdHMuDQo+IA0KPiBJZ29yDQo+IA0KPiA+DQo+ID4gVXJv cy4NCg== --_002_D511F25789BA7F4EBA64C8A63891A00291F42195IRSMSX102gercor_ Content-Type: application/octet-stream; name="0006-Add-x86-tests-for-Intel-CET-implementation.patch" Content-Description: 0006-Add-x86-tests-for-Intel-CET-implementation.patch Content-Disposition: attachment; filename="0006-Add-x86-tests-for-Intel-CET-implementation.patch"; size=39464; creation-date="Thu, 12 Oct 2017 18:54:49 GMT"; modification-date="Thu, 12 Oct 2017 18:54:49 GMT" Content-Transfer-Encoding: base64 Content-length: 53497 RnJvbSA4NWM4MTc1MWNkZTIzMWMzODA0ODA4ZmI3N2U0OTMzMWMxNTFjOWM0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJZ29yIFRzaW1iYWxp c3QgPGlnb3Iudi50c2ltYmFsaXN0QGludGVsLmNvbT4KRGF0ZTogRnJpLCAy MSBKdWwgMjAxNyAxOTo0MDo0MCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggNi82 XSBBZGQgeDg2IHRlc3RzIGZvciBJbnRlbCBDRVQgaW1wbGVtZW50YXRpb24u CgpnY2MvdGVzdHN1aXRlLwoJKiBnKysuZGcvY2V0LW5vdHJhY2stMS5DOiBO ZXcgdGVzdC4KCSogZ2NjLnRhcmdldC9pMzg2L2NldC1pbnRyaW4tMS5jOiBM aWtld2lzZS4KCSogZ2NjLnRhcmdldC9pMzg2L2NldC1pbnRyaW4tMTAuYzog TGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4Ni9jZXQtaW50cmluLTIuYzog TGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4Ni9jZXQtaW50cmluLTMuYzog TGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4Ni9jZXQtaW50cmluLTQuYzog TGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4Ni9jZXQtaW50cmluLTUuYzog TGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4Ni9jZXQtaW50cmluLTYuYzog TGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4Ni9jZXQtaW50cmluLTcuYzog TGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4Ni9jZXQtaW50cmluLTguYzog TGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4Ni9jZXQtaW50cmluLTkuYzog TGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4Ni9jZXQtbGFiZWwuYzogTGlr ZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4Ni9jZXQtbm90cmFjay0xYS5jOiBM aWtld2lzZS4KCSogZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLTFiLmM6 IExpa2V3aXNlLgoJKiBnY2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2stMmEu YzogTGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4Ni9jZXQtbm90cmFjay0y Yi5jOiBMaWtld2lzZS4KCSogZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNr LTMuYzogTGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4Ni9jZXQtbm90cmFj ay00YS5jOiBMaWtld2lzZS4KCSogZ2NjLnRhcmdldC9pMzg2L2NldC1ub3Ry YWNrLTRiLmM6IExpa2V3aXNlLgoJKiBnY2MudGFyZ2V0L2kzODYvY2V0LW5v dHJhY2stNWEuYzogTGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4Ni9jZXQt bm90cmFjay01Yi5jOiBMaWtld2lzZS4KCSogZ2NjLnRhcmdldC9pMzg2L2Nl dC1ub3RyYWNrLTZhLmM6IExpa2V3aXNlLgoJKiBnY2MudGFyZ2V0L2kzODYv Y2V0LW5vdHJhY2stNmIuYzogTGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4 Ni9jZXQtbm90cmFjay03LmM6IExpa2V3aXNlLgoJKiBnY2MudGFyZ2V0L2kz ODYvY2V0LXByb3BlcnR5LTEuYzogTGlrZXdpc2UuCgkqIGdjYy50YXJnZXQv aTM4Ni9jZXQtcHJvcGVydHktMi5jOiBMaWtld2lzZS4KCSogZ2NjLnRhcmdl dC9pMzg2L2NldC1yZHNzcC0xLmM6IExpa2V3aXNlLgoJKiBnY2MudGFyZ2V0 L2kzODYvY2V0LXNqbGotMS5jOiBMaWtld2lzZS4KCSogZ2NjLnRhcmdldC9p Mzg2L2NldC1zamxqLTIuYzogTGlrZXdpc2UuCgkqIGdjYy50YXJnZXQvaTM4 Ni9jZXQtc2psai0zLmM6IExpa2V3aXNlLgoJKiBnY2MudGFyZ2V0L2kzODYv Y2V0LXN3aXRjaC0xLmM6IExpa2V3aXNlLgoJKiBnY2MudGFyZ2V0L2kzODYv Y2V0LXN3aXRjaC0yLmM6IExpa2V3aXNlLgoJKiBsaWIvdGFyZ2V0LXN1cHBv cnRzLmV4cCAoY2hlY2tfZWZmZWN0aXZlX3RhcmdldF9jZXQpOiBOZXcKCXBy b2MuCi0tLQogZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vYXR0ci1ub2Nm LWNoZWNrLTFhLmMgICB8IDMyICsrKysrKysrKysrKysrKysKIGdjYy90ZXN0 c3VpdGUvYy1jKystY29tbW9uL2F0dHItbm9jZi1jaGVjay0zYS5jICAgfCAz MiArKysrKysrKysrKysrKysrCiBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1v bi9mY2YtcHJvdGVjdGlvbi0xLmMgICAgIHwgIDIgKy0KIGdjYy90ZXN0c3Vp dGUvYy1jKystY29tbW9uL2ZjZi1wcm90ZWN0aW9uLTIuYyAgICAgfCAgMiAr LQogZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vZmNmLXByb3RlY3Rpb24t My5jICAgICB8ICAyICstCiBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9m Y2YtcHJvdGVjdGlvbi00LmMgICAgIHwgIDIgKy0KIGdjYy90ZXN0c3VpdGUv Yy1jKystY29tbW9uL2ZjZi1wcm90ZWN0aW9uLTUuYyAgICAgfCAgMiArLQog Z2NjL3Rlc3RzdWl0ZS9nKysuZGcvY2V0LW5vdHJhY2stMS5DICAgICAgICAg ICAgICB8IDI1ICsrKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvY2V0LWludHJpbi0xMC5jICAgICB8IDEwICsrKysrCiBnY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtaW50cmluLTMuYyAgICAg IHwgMzMgKysrKysrKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvY2V0LWludHJpbi00LmMgICAgICB8IDMxICsrKysrKysrKysr KysrKwogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LWludHJp bi01LmMgICAgICB8IDEwICsrKysrCiBnY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvaTM4Ni9jZXQtaW50cmluLTYuYyAgICAgIHwgMTAgKysrKysKIGdjYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1pbnRyaW4tNy5jICAgICAg fCAxOCArKysrKysrKysKIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2 L2NldC1pbnRyaW4tOC5jICAgICAgfCAxOCArKysrKysrKysKIGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1pbnRyaW4tOS5jICAgICAgfCAx MCArKysrKwogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LWxh YmVsLmMgICAgICAgICB8IDE2ICsrKysrKysrCiBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvaTM4Ni9jZXQtbm90cmFjay0xYS5jICAgIHwgMjIgKysrKysr KysrKysKIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3Ry YWNrLTFiLmMgICAgfCAyMyArKysrKysrKysrKysKIGdjYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLTJhLmMgICAgfCAxMiArKysr KysKIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNr LTJiLmMgICAgfCAxMiArKysrKysKIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9pMzg2L2NldC1ub3RyYWNrLTMuYyAgICAgfCAxNCArKysrKysrCiBnY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtbm90cmFjay00YS5jICAg IHwgIDYgKysrCiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQt bm90cmFjay00Yi5jICAgIHwgIDYgKysrCiBnY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvaTM4Ni9jZXQtbm90cmFjay01YS5jICAgIHwgMTYgKysrKysrKysK IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLTVi LmMgICAgfCAyMSArKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvY2V0LW5vdHJhY2stNmEuYyAgICB8IDE1ICsrKysrKysrCiBn Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtbm90cmFjay02Yi5j ICAgIHwgMTUgKysrKysrKysKIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9p Mzg2L2NldC1ub3RyYWNrLTcuYyAgICAgfCAxNSArKysrKysrKwogZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2staWNmLTEuYyB8 IDMxICsrKysrKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvY2V0LW5vdHJhY2staWNmLTIuYyB8IDMwICsrKysrKysrKysrKysr KwogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2st aWNmLTMuYyB8IDM2ICsrKysrKysrKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2staWNmLTQuYyB8IDM1ICsr KysrKysrKysrKysrKysrCiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4 Ni9jZXQtcHJvcGVydHktMS5jICAgIHwgMTEgKysrKysrCiBnY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtcHJvcGVydHktMi5jICAgIHwgMTEg KysrKysrCiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtcmRz c3AtMS5jICAgICAgIHwgMzkgKysrKysrKysrKysrKysrKysrKwogZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LXNqbGotMS5jICAgICAgICB8 IDQyICsrKysrKysrKysrKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2kzODYvY2V0LXNqbGotMi5jICAgICAgICB8ICA0ICsrCiBnY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtc2psai0zLmMgICAgICAg IHwgNDYgKysrKysrKysrKysrKysrKysrKysrKysKIGdjYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9pMzg2L2NldC1zd2l0Y2gtMS5jICAgICAgfCAyNiArKysr KysrKysrKysrCiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQt c3dpdGNoLTIuYyAgICAgIHwgMjYgKysrKysrKysrKysrKwogZ2NjL3Rlc3Rz dWl0ZS9saWIvdGFyZ2V0LXN1cHBvcnRzLmV4cCAgICAgICAgICAgICB8IDEz ICsrKysrKysKIDQyIGZpbGVzIGNoYW5nZWQsIDc3NyBpbnNlcnRpb25zKCsp LCA1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvYy1jKystY29tbW9uL2F0dHItbm9jZi1jaGVjay0xYS5jCiBjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vYXR0 ci1ub2NmLWNoZWNrLTNhLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVz dHN1aXRlL2crKy5kZy9jZXQtbm90cmFjay0xLkMKIGNyZWF0ZSBtb2RlIDEw MDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtaW50cmlu LTEwLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvaTM4Ni9jZXQtaW50cmluLTMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0 IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1pbnRyaW4tNC5j CiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvY2V0LWludHJpbi01LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtaW50cmluLTYuYwogY3Jl YXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2 L2NldC1pbnRyaW4tNy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LWludHJpbi04LmMKIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQt aW50cmluLTkuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9pMzg2L2NldC1sYWJlbC5jCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2st MWEuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L2NldC1ub3RyYWNrLTFiLmMKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtbm90cmFjay0y YS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvY2V0LW5vdHJhY2stMmIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0 IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLTMu YwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9pMzg2L2NldC1ub3RyYWNrLTRhLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtbm90cmFjay00Yi5j CiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvY2V0LW5vdHJhY2stNWEuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLTViLmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv aTM4Ni9jZXQtbm90cmFjay02YS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2stNmIuYwog Y3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9p Mzg2L2NldC1ub3RyYWNrLTcuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLWljZi0xLmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv aTM4Ni9jZXQtbm90cmFjay1pY2YtMi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2staWNm LTMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L2NldC1ub3RyYWNrLWljZi00LmMKIGNyZWF0ZSBtb2RlIDEw MDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtcHJvcGVy dHktMS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2kzODYvY2V0LXByb3BlcnR5LTIuYwogY3JlYXRlIG1vZGUgMTAw NjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1yZHNzcC0x LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvaTM4Ni9jZXQtc2psai0xLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtc2psai0yLmMKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9j ZXQtc2psai0zLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvaTM4Ni9jZXQtc3dpdGNoLTEuYwogY3JlYXRlIG1vZGUg MTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1zd2l0 Y2gtMi5jCgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21t b24vYXR0ci1ub2NmLWNoZWNrLTFhLmMgYi9nY2MvdGVzdHN1aXRlL2MtYysr LWNvbW1vbi9hdHRyLW5vY2YtY2hlY2stMWEuYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi45NTQ5ZTY5Ci0tLSAvZGV2L251bGwKKysr IGIvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vYXR0ci1ub2NmLWNoZWNr LTFhLmMKQEAgLTAsMCArMSwzMiBAQAorLyogeyBkZy1kbyBjb21waWxlIH0g Ki8KKy8qIHsgZGctb3B0aW9ucyAiLWZjZi1wcm90ZWN0aW9uIC1tY2V0IiB9 ICovCisKK2ludCBmdW5jIChpbnQpIF9fYXR0cmlidXRlX18gKChub2NmX2No ZWNrKSk7CitpbnQgKCpmcHRyKSAoaW50KSBfX2F0dHJpYnV0ZV9fICgobm9j Zl9jaGVjaykpOwordHlwZWRlZiB2b2lkICgqbm9jZl9jaGVja190KSAodm9p ZCkgX19hdHRyaWJ1dGVfXyAoKG5vY2ZfY2hlY2spKTsKKworaW50Citmb28x IChpbnQgYXJnKQoreworICByZXR1cm4gZnVuYyAoYXJnKSArIGZwdHIgKGFy Zyk7Cit9CisKK3ZvaWQKK2ZvbzIgKHZvaWQgKCpmb28pICh2b2lkKSkKK3sK KyAgdm9pZCAoKmZ1bmMpICh2b2lkKSBfX2F0dHJpYnV0ZV9fKChub2NmX2No ZWNrKSkgPSBmb287IC8qIHsgZGctd2FybmluZyAiaW5jb21wYXRpYmxlIHBv aW50ZXIgdHlwZSIgIiIgeyB0YXJnZXQgYyB9IH0gKi8KKwkJCQkJCQkgLyog eyBkZy1lcnJvciAiaW52YWxpZCBjb252ZXJzaW9uIiAiIiB7IHRhcmdldCBj KysgfSAuLTEgfSAqLworICBmdW5jICgpOworfQorCit2b2lkCitmb28zIChu b2NmX2NoZWNrX3QgZm9vKQoreworICBmb28gKCk7Cit9CisKK3ZvaWQKK2Zv bzQgKHZvaWQgKCpmb28pICh2b2lkKSBfX2F0dHJpYnV0ZV9fKChub2NmX2No ZWNrKSkpCit7CisgIGZvbyAoKTsKK30KZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvYy1jKystY29tbW9uL2F0dHItbm9jZi1jaGVjay0zYS5jIGIvZ2Nj L3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vYXR0ci1ub2NmLWNoZWNrLTNhLmMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE4MzMwMQot LS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9u L2F0dHItbm9jZi1jaGVjay0zYS5jCkBAIC0wLDAgKzEsMzIgQEAKKy8qIHsg ZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1mY2YtcHJv dGVjdGlvbiAtbWNldCIgfSAqLworCitpbnQgIGZvbyAodm9pZCkgX19hdHRy aWJ1dGVfXyAoKG5vY2ZfY2hlY2spKTsKK3ZvaWQgKCpmb28xKSAodm9pZCkg X19hdHRyaWJ1dGVfXygobm9jZl9jaGVjaykpOwordm9pZCAoKmZvbzIpICh2 b2lkKTsKKworaW50IF9fYXR0cmlidXRlX18gKChub2NmX2NoZWNrKSkKK2Zv byAodm9pZCkgLyogVGhlIGZ1bmN0aW9uJ3MgYWRkcmVzcyBpcyBub3QgdHJh Y2tlZC4gICovCit7CisgIC8qIFRoaXMgY2FsbCBzaXRlIGlzIG5vdCB0cmFj a2VkIGZvcgorICAgICBjb250cm9sLWZsb3cgaW5zdHJ1bWVudGF0aW9uLiAg Ki8KKyAgKCpmb28xKSgpOworCisgIGZvbzEgPSBmb28yOyAvKiB7IGRnLXdh cm5pbmcgImluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUiICIiIHsgdGFyZ2V0 IGMgfSB9ICovCisJICAgICAgIC8qIHsgZGctZXJyb3IgImludmFsaWQgY29u dmVyc2lvbiIgIiIgeyB0YXJnZXQgYysrIH0gLi0xIH0gKi8KKyAgLyogVGhp cyBjYWxsIHNpdGUgaXMgc3RpbGwgbm90IHRyYWNrZWQgZm9yCisgICAgIGNv bnRyb2wtZmxvdyBpbnN0cnVtZW50YXRpb24uICAqLworICAoKmZvbzEpKCk7 CisKKyAgLyogVGhpcyBjYWxsIHNpdGUgaXMgdHJhY2tlZCBmb3IKKyAgICAg Y29udHJvbC1mbG93IGluc3RydW1lbnRhdGlvbi4gICovCisgICgqZm9vMiko KTsKKworICBmb28yID0gZm9vMTsgLyogeyBkZy13YXJuaW5nICJpbmNvbXBh dGlibGUgcG9pbnRlciB0eXBlIiAiIiB7IHRhcmdldCBjIH0gfSAqLworCSAg ICAgICAvKiB7IGRnLWVycm9yICJpbnZhbGlkIGNvbnZlcnNpb24iICIiIHsg dGFyZ2V0IGMrKyB9IC4tMSB9ICovCisgIC8qIFRoaXMgY2FsbCBzaXRlIGlz IHN0aWxsIHRyYWNrZWQgZm9yCisgICAgIGNvbnRyb2wtZmxvdyBpbnN0cnVt ZW50YXRpb24uICAqLworICAoKmZvbzIpKCk7CisKKyAgcmV0dXJuIDA7Cit9 CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9mY2Yt cHJvdGVjdGlvbi0xLmMgYi9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9m Y2YtcHJvdGVjdGlvbi0xLmMKaW5kZXggNmEyN2UxOS4uODMyYWUwNSAxMDA2 NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vZmNmLXByb3Rl Y3Rpb24tMS5jCisrKyBiL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2Zj Zi1wcm90ZWN0aW9uLTEuYwpAQCAtMSw0ICsxLDQgQEAKIC8qIHsgZGctZG8g Y29tcGlsZSB9ICovCiAvKiB7IGRnLW9wdGlvbnMgIi1mY2YtcHJvdGVjdGlv bj1mdWxsIiB9ICovCi0vKiB7IGRnLWVycm9yICInLWZjZi1wcm90ZWN0aW9u PWZ1bGwnIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgdGFyZ2V0IiAiIiB7 IHRhcmdldCB7ICJpPzg2LSotKiB4ODZfNjQtKi0qIiB9IH0gMCB9ICovCisv KiB7IGRnLWVycm9yICInLWZjZi1wcm90ZWN0aW9uPWZ1bGwnIHJlcXVpcmVz IENFVCBzdXBwb3J0IG9uIHRoaXMgdGFyZ2V0LiBVc2UgLW1jZXQgb3Igb25l IG9mIC1taWJ0LCAtbXNoc3RrIG9wdGlvbnMgdG8gZW5hYmxlIENFVCIgIiIg eyB0YXJnZXQgeyAiaT84Ni0qLSogeDg2XzY0LSotKiIgfSB9IDAgfSAqLwog LyogeyBkZy1lcnJvciAiJy1mY2YtcHJvdGVjdGlvbj1mdWxsJyBpcyBub3Qg c3VwcG9ydGVkIGZvciB0aGlzIHRhcmdldCIgIiIgeyB0YXJnZXQgeyAhICJp Pzg2LSotKiB4ODZfNjQtKi0qIiB9IH0gMCB9ICovCmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9mY2YtcHJvdGVjdGlvbi0yLmMg Yi9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9mY2YtcHJvdGVjdGlvbi0y LmMKaW5kZXggNTU4ZjRjMC4uNTIwYjE2ZSAxMDA2NDQKLS0tIGEvZ2NjL3Rl c3RzdWl0ZS9jLWMrKy1jb21tb24vZmNmLXByb3RlY3Rpb24tMi5jCisrKyBi L2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2ZjZi1wcm90ZWN0aW9uLTIu YwpAQCAtMSw0ICsxLDQgQEAKIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCiAv KiB7IGRnLW9wdGlvbnMgIi1mY2YtcHJvdGVjdGlvbj1icmFuY2giIH0gKi8K LS8qIHsgZGctZXJyb3IgIictZmNmLXByb3RlY3Rpb249YnJhbmNoJyBpcyBu b3Qgc3VwcG9ydGVkIGZvciB0aGlzIHRhcmdldCIgIiIgeyB0YXJnZXQgeyAi aT84Ni0qLSogeDg2XzY0LSotKiIgfSB9IDAgfSAqLworLyogeyBkZy1lcnJv ciAiJy1mY2YtcHJvdGVjdGlvbj1icmFuY2gnIHJlcXVpcmVzIENFVCBzdXBw b3J0IG9uIHRoaXMgdGFyZ2V0LiBVc2UgLW1jZXQgb3Igb25lIG9mIC1taWJ0 LCAtbXNoc3RrIG9wdGlvbnMgdG8gZW5hYmxlIENFVCIgIiIgeyB0YXJnZXQg eyAiaT84Ni0qLSogeDg2XzY0LSotKiIgfSB9IDAgfSAqLwogLyogeyBkZy1l cnJvciAiJy1mY2YtcHJvdGVjdGlvbj1icmFuY2gnIGlzIG5vdCBzdXBwb3J0 ZWQgZm9yIHRoaXMgdGFyZ2V0IiAiIiB7IHRhcmdldCB7ICEgImk/ODYtKi0q IHg4Nl82NC0qLSoiIH0gfSAwIH0gKi8KZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvYy1jKystY29tbW9uL2ZjZi1wcm90ZWN0aW9uLTMuYyBiL2djYy90 ZXN0c3VpdGUvYy1jKystY29tbW9uL2ZjZi1wcm90ZWN0aW9uLTMuYwppbmRl eCBmZmM3MzQ2Li5jZjE3YzY1IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRl L2MtYysrLWNvbW1vbi9mY2YtcHJvdGVjdGlvbi0zLmMKKysrIGIvZ2NjL3Rl c3RzdWl0ZS9jLWMrKy1jb21tb24vZmNmLXByb3RlY3Rpb24tMy5jCkBAIC0x LDQgKzEsNCBAQAogLyogeyBkZy1kbyBjb21waWxlIH0gKi8KIC8qIHsgZGct b3B0aW9ucyAiLWZjZi1wcm90ZWN0aW9uPXJldHVybiIgfSAqLwotLyogeyBk Zy1lcnJvciAiJy1mY2YtcHJvdGVjdGlvbj1yZXR1cm4nIGlzIG5vdCBzdXBw b3J0ZWQgZm9yIHRoaXMgdGFyZ2V0IiAiIiB7IHRhcmdldCB7ICJpPzg2LSot KiB4ODZfNjQtKi0qIiB9IH0gMCB9ICovCisvKiB7IGRnLWVycm9yICInLWZj Zi1wcm90ZWN0aW9uPXJldHVybicgcmVxdWlyZXMgQ0VUIHN1cHBvcnQgb24g dGhpcyB0YXJnZXQuIFVzZSAtbWNldCBvciBvbmUgb2YgLW1pYnQsIC1tc2hz dGsgb3B0aW9ucyB0byBlbmFibGUgQ0VUIiAiIiB7IHRhcmdldCB7ICJpPzg2 LSotKiB4ODZfNjQtKi0qIiB9IH0gMCB9ICovCiAvKiB7IGRnLWVycm9yICIn LWZjZi1wcm90ZWN0aW9uPXJldHVybicgaXMgbm90IHN1cHBvcnRlZCBmb3Ig dGhpcyB0YXJnZXQiICIiIHsgdGFyZ2V0IHsgISAiaT84Ni0qLSogeDg2XzY0 LSotKiIgfSB9IDAgfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9j LWMrKy1jb21tb24vZmNmLXByb3RlY3Rpb24tNC5jIGIvZ2NjL3Rlc3RzdWl0 ZS9jLWMrKy1jb21tb24vZmNmLXByb3RlY3Rpb24tNC5jCmluZGV4IDFhNWIx YjguLmZhYjA5ODIgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvYy1jKyst Y29tbW9uL2ZjZi1wcm90ZWN0aW9uLTQuYworKysgYi9nY2MvdGVzdHN1aXRl L2MtYysrLWNvbW1vbi9mY2YtcHJvdGVjdGlvbi00LmMKQEAgLTEsNCArMSw0 IEBACiAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwogLyogeyBkZy1vcHRpb25z ICItZmNmLXByb3RlY3Rpb249bm9uZSIgfSAqLwotLyogeyBkZy1ib2d1cyAi Jy1mY2YtcHJvdGVjdGlvbj1ub25lJyBpcyBub3Qgc3VwcG9ydGVkIGZvciB0 aGlzIHRhcmdldCIgIiIgeyB0YXJnZXQgeyAiaT84Ni0qLSogeDg2XzY0LSot KiIgfSB9IDAgfSAqLworLyogeyBkZy1ib2d1cyAiJy1mY2YtcHJvdGVjdGlv bj1ub25lJyByZXMgQ0VUIHN1cHBvcnQgb24gdGhpcyB0YXJnZXQuIFVzZSAt bWNldCBvciBvbmUgb2YgLW1pYnQsIC1tc2hzdGsgb3B0aW9ucyB0byBlbmFi bGUgQ0VUIiAiIiB7IHRhcmdldCB7ICJpPzg2LSotKiB4ODZfNjQtKi0qIiB9 IH0gMCB9ICovCiAvKiB7IGRnLWJvZ3VzICInLWZjZi1wcm90ZWN0aW9uPW5v bmUnIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgdGFyZ2V0IiAiIiB7IHRh cmdldCB7ICEgImk/ODYtKi0qIHg4Nl82NC0qLSoiIH0gfSAwIH0gKi8KZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2ZjZi1wcm90 ZWN0aW9uLTUuYyBiL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2ZjZi1w cm90ZWN0aW9uLTUuYwppbmRleCAyZWEyY2UwLi4zMGUwY2JiIDEwMDY0NAot LS0gYS9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9mY2YtcHJvdGVjdGlv bi01LmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vZmNmLXBy b3RlY3Rpb24tNS5jCkBAIC0xLDQgKzEsNCBAQAogLyogeyBkZy1kbyBjb21w aWxlIH0gKi8KIC8qIHsgZGctb3B0aW9ucyAiLWZjZi1wcm90ZWN0aW9uIiB9 ICovCi0vKiB7IGRnLWVycm9yICInLWZjZi1wcm90ZWN0aW9uPWZ1bGwnIGlz IG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgdGFyZ2V0IiAiIiB7IHRhcmdldCB7 ICJpPzg2LSotKiB4ODZfNjQtKi0qIiB9IH0gMCB9ICovCisvKiB7IGRnLWVy cm9yICInLWZjZi1wcm90ZWN0aW9uPWZ1bGwnIHJlcXVpcmVzIENFVCBzdXBw b3J0IG9uIHRoaXMgdGFyZ2V0LiBVc2UgLW1jZXQgb3Igb25lIG9mIC1taWJ0 LCAtbXNoc3RrIG9wdGlvbnMgdG8gZW5hYmxlIENFVCIgIiIgeyB0YXJnZXQg eyAiaT84Ni0qLSogeDg2XzY0LSotKiIgfSB9IDAgfSAqLwogLyogeyBkZy1l cnJvciAiJy1mY2YtcHJvdGVjdGlvbj1mdWxsJyBpcyBub3Qgc3VwcG9ydGVk IGZvciB0aGlzIHRhcmdldCIgIiIgeyB0YXJnZXQgeyAhICJpPzg2LSotKiB4 ODZfNjQtKi0qIiB9IH0gMCB9ICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2crKy5kZy9jZXQtbm90cmFjay0xLkMgYi9nY2MvdGVzdHN1aXRlL2cr Ky5kZy9jZXQtbm90cmFjay0xLkMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uNDNkYmJkNgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90 ZXN0c3VpdGUvZysrLmRnL2NldC1ub3RyYWNrLTEuQwpAQCAtMCwwICsxLDI1 IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgaT84Ni0qLSogeDg2 XzY0LSotKiB9IH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLWZjZi1wcm90ZWN0 aW9uIC1tY2V0IiB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXIgImVuZGJyMzJ8ZW5kYnI2NCIgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMgIlx0Y2FsbFxbIFx0XStwdXRzIiAyIH0g fSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJu b3RyYWNrIGNhbGxcWyBcdF0rIiAxIH0gfSAqLworI2luY2x1ZGUgPHN0ZGlv Lmg+CisKK3N0cnVjdCBBIHsKK3ZpcnR1YWwgaW50IGZvbygpIF9fYXR0cmli dXRlX18oKG5vY2ZfY2hlY2spKSB7IHJldHVybiA0MjsgfQorfTsKKworc3Ry dWN0IEIgOiBBIHsKK2ludCBmb28oKSBfX2F0dHJpYnV0ZV9fKChub2NmX2No ZWNrKSkgeyByZXR1cm4gNzM7IH0KK307CisKK2ludCBtYWluKCkgeworQiBi OworQSYgYSA9IGI7CitpbnQgKEE6OiphbWVtKSAoKSBfX2F0dHJpYnV0ZV9f KChub2NmX2NoZWNrKSkgPSAmQTo6Zm9vOyAvLyB0YWtlIGFkZHJlc3MKK2lm ICgoYS4qYW1lbSkoKSA9PSA3MykgLy8gdXNlIHRoZSBhZGRyZXNzCisgIHBy aW50ZigicGFzc1xuIik7CitlbHNlCisgIHByaW50ZigiZmFpbFxuIik7City ZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L2NldC1pbnRyaW4tMTAuYyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9pMzg2L2NldC1pbnRyaW4tMTAuYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi42OTVkYzVlCi0tLSAvZGV2L251bGwKKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LWludHJpbi0x MC5jCkBAIC0wLDAgKzEsMTAgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICov CisvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbWNldCIgfSAqLworLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJjbHJzc2JzeSIgMSB9IH0g Ki8KKworI2luY2x1ZGUgPGltbWludHJpbi5oPgorCit2b2lkIGYyICh2b2lk ICpfX0IpCit7CisgIF9jbHJzc2JzeSAoX19CKTsKK30KZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1pbnRyaW4tMy5j IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LWludHJpbi0z LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmNkNzIw MwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9pMzg2L2NldC1pbnRyaW4tMy5jCkBAIC0wLDAgKzEsMzMgQEAKKy8qIHsg ZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PIC1mY2Yt cHJvdGVjdGlvbiAtbWNldCIgfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzICJlbmRicjMyIiAyIHsgdGFyZ2V0IGlhMzIgfSB9 IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAi ZW5kYnI2NCIgNCB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSB9ICovCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIgInJkc3NwZHxpbmNzc3BkXFsg XHRdKyglfCllYXgiIHsgdGFyZ2V0IGlhMzIgfSB9IH0gKi8KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlciAicmRzc3BcW2RxXVxbIFx0XSsoJXwp XFtyZV1heCIgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gfSAqLworLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJpbmNzc3BcW2RxXVxbIFx0XSso JXwpXFtyZV1kaSIgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gfSAqLworCisj aW5jbHVkZSA8aW1taW50cmluLmg+CisKK3Vuc2lnbmVkIGludCBmMSAoKQor eworICB1bnNpZ25lZCBpbnQgeCA9IDA7CisgIHJldHVybiBfcmRzc3BkICh4 KTsKK30KKwordm9pZCBmMyAodW5zaWduZWQgaW50IF9hKQoreworICBfaW5j c3NwZCAoX2EpOworfQorCisjaWZkZWYgX194ODZfNjRfXwordW5zaWduZWQg bG9uZyBsb25nIGYyICgpCit7CisgIHVuc2lnbmVkIGxvbmcgbG9uZyB4ID0g MDsKKyAgcmV0dXJuIF9yZHNzcHEgKHgpOworfQorCit2b2lkIGY0ICh1bnNp Z25lZCBpbnQgX2EpCit7CisgIF9pbmNzc3BxIChfYSk7Cit9CisjZW5kaWYK ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Nl dC1pbnRyaW4tNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYv Y2V0LWludHJpbi00LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uNzZlYzE2MAotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9pMzg2L2NldC1pbnRyaW4tNC5jCkBAIC0wLDAgKzEs MzEgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLW9wdGlv bnMgIi1PIC1mY2YtcHJvdGVjdGlvbiAtbXNoc3RrIiB9ICovCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIgInJkc3NwZHxpbmNzc3BkXFsgXHRd KyglfCllYXgiIHsgdGFyZ2V0IGlhMzIgfSB9IH0gKi8KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlciAicmRzc3BcW2RxXVxbIFx0XSsoJXwpXFty ZV1heCIgIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9IH0gKi8KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlciAiaW5jc3NwXFtkcV1cWyBcdF0rKCV8 KVxbcmVdZGkiIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9IH0gKi8KKworI2lu Y2x1ZGUgPGltbWludHJpbi5oPgorCit1bnNpZ25lZCBpbnQgZjEgKCkKK3sK KyAgdW5zaWduZWQgaW50IHggPSAwOworICByZXR1cm4gX3Jkc3NwZCAoeCk7 Cit9CisKK3ZvaWQgZjMgKHVuc2lnbmVkIGludCBfYSkKK3sKKyAgX2luY3Nz cGQgKF9hKTsKK30KKworI2lmZGVmIF9feDg2XzY0X18KK3Vuc2lnbmVkIGxv bmcgbG9uZyBmMiAoKQoreworICB1bnNpZ25lZCBsb25nIGxvbmcgeCA9IDA7 CisgIHJldHVybiBfcmRzc3BxICh4KTsKK30KKwordm9pZCBmNCAodW5zaWdu ZWQgaW50IF9hKQoreworICBfaW5jc3NwcSAoX2EpOworfQorI2VuZGlmCmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQt aW50cmluLTUuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Nl dC1pbnRyaW4tNS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjhhMWI2MzcKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvaTM4Ni9jZXQtaW50cmluLTUuYwpAQCAtMCwwICsxLDEw IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1vcHRpb25z ICItTzIgLW1jZXQiIH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyAic2F2ZXByZXZzc3AiIDEgfSB9ICovCisKKyNpbmNsdWRl IDxpbW1pbnRyaW4uaD4KKwordm9pZCBmMiAodm9pZCkKK3sKKyAgX3NhdmVw cmV2c3NwICgpOworfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2kzODYvY2V0LWludHJpbi02LmMgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvaTM4Ni9jZXQtaW50cmluLTYuYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5kZmE2ZDIwCi0tLSAvZGV2L251bGwKKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LWludHJpbi02 LmMKQEAgLTAsMCArMSwxMCBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8K Ky8qIHsgZGctb3B0aW9ucyAiLU8yIC1tY2V0IiB9ICovCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInJzdG9yc3NwIiAxIH0gfSAq LworCisjaW5jbHVkZSA8aW1taW50cmluLmg+CisKK3ZvaWQgZjIgKHZvaWQg Kl9fQikKK3sKKyAgX3JzdG9yc3NwIChfX0IpOworfQpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LWludHJpbi03LmMg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtaW50cmluLTcu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2QxODI1 Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvY2V0LWludHJpbi03LmMKQEAgLTAsMCArMSwxOCBAQAorLyogeyBk Zy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tY2V0 IiB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg Indyc3NkIiAxIHsgdGFyZ2V0IGlhMzIgfSB9IH0gKi8KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAid3Jzc1xbZHxxXSIgMiB7IHRh cmdldCBscDY0IH0gfSB9ICovCisKKyNpbmNsdWRlIDxpbW1pbnRyaW4uaD4K Kwordm9pZCBmMSAodW5zaWduZWQgaW50IF9fQSwgdm9pZCAqX19CKQorewor ICBfd3Jzc2QgKF9fQSwgX19CKTsKK30KKworI2lmZGVmIF9feDg2XzY0X18K K3ZvaWQgZjIgKHVuc2lnbmVkIGxvbmcgbG9uZyBfX0EsIHZvaWQgKl9fQikK K3sKKyAgX3dyc3NxIChfX0EsIF9fQik7Cit9CisjZW5kaWYKZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1pbnRyaW4t OC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LWludHJp bi04LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjE4 ODg3NgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L2NldC1pbnRyaW4tOC5jCkBAIC0wLDAgKzEsMTggQEAKKy8q IHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PMiAt bWNldCIgfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzICJ3cnVzc2QiIDEgeyB0YXJnZXQgaWEzMiB9IH0gfSAqLworLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJ3cnVzc1xbZHxxXSIg MiB7IHRhcmdldCBscDY0IH0gfSB9ICovCisKKyNpbmNsdWRlIDxpbW1pbnRy aW4uaD4KKwordm9pZCBmMSAodW5zaWduZWQgaW50IF9fQSwgdm9pZCAqX19C KQoreworICBfd3J1c3NkIChfX0EsIF9fQik7Cit9CisKKyNpZmRlZiBfX3g4 Nl82NF9fCit2b2lkIGYyICh1bnNpZ25lZCBsb25nIGxvbmcgX19BLCB2b2lk ICpfX0IpCit7CisgIF93cnVzc3EgKF9fQSwgX19CKTsKK30KKyNlbmRpZgpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0 LWludHJpbi05LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9j ZXQtaW50cmluLTkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi41Njk5MzFhCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2kzODYvY2V0LWludHJpbi05LmMKQEAgLTAsMCArMSwx MCBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctb3B0aW9u cyAiLU8yIC1tY2V0IiB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMgInNldHNzYnN5IiAxIH0gfSAqLworCisjaW5jbHVkZSA8 aW1taW50cmluLmg+CisKK3ZvaWQgZjIgKHZvaWQpCit7CisgIF9zZXRzc2Jz eSAoKTsKK30KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9pMzg2L2NldC1sYWJlbC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvY2V0LWxhYmVsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uOGZiOGQ0MgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1sYWJlbC5jCkBAIC0wLDAgKzEs MTYgQEAKKy8qIFZlcmlmeSB0aGF0IENFVCB3b3Jrcy4gICovCisvKiB7IGRn LWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1vcHRpb25zICItTyAtZmNmLXBy b3RlY3Rpb24gLW1jZXQiIH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyAiZW5kYnIzMiIgMyB7IHRhcmdldCBpYTMyIH0gfSB9 ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImVu ZGJyNjQiIDMgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gfSAqLworCitpbnQg ZnVuYyAoaW50IGFyZykKK3sKKyAgc3RhdGljIHZvaWQgKmFycmF5W10gPSB7 ICYmZm9vLCAmJmJhciB9OworCisgIGdvdG8gKmFycmF5W2FyZ107Citmb286 CisgIHJldHVybiBhcmcqMTExOworYmFyOgorICByZXR1cm4gYXJnKjc3NzsK K30KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2 L2NldC1ub3RyYWNrLTFhLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv aTM4Ni9jZXQtbm90cmFjay0xYS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLmFiMGJkM2IKLS0tIC9kZXYvbnVsbAorKysgYi9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtbm90cmFjay0xYS5jCkBA IC0wLDAgKzEsMjIgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7 IGRnLW9wdGlvbnMgIi1PMCAtZmNmLXByb3RlY3Rpb249bm9uZSAtbW5vLWNl dCIgfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCAi ZW5kYnIiIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LW5vdCAibm90cmFjayBjYWxsXFsgXHRdKyIgfSB9ICovCisKK2ludCBmdW5j IChpbnQgYSkgX19hdHRyaWJ1dGVfXyAoKG5vY2ZfY2hlY2spKTsgLyogeyBk Zy13YXJuaW5nICInbm9jZl9jaGVjaycgYXR0cmlidXRlIGlnbm9yZWQuIFVz ZSAtZmNmLXByb3RlY3Rpb24gb3B0aW9uIHRvIGVuYWJsZSBpdCIgfSAqLwor aW50ICgqZnB0cikgKGludCBhKSBfX2F0dHJpYnV0ZV9fICgobm9jZl9jaGVj aykpOyAvKiB7IGRnLXdhcm5pbmcgIidub2NmX2NoZWNrJyBhdHRyaWJ1dGUg aWdub3JlZC4gVXNlIC1mY2YtcHJvdGVjdGlvbiBvcHRpb24gdG8gZW5hYmxl IGl0IiB9ICovCisKK2ludCBmb28gKGludCBhcmcpCit7CisgIGludCBhLCBi OworICBhID0gZnVuYyAoYXJnKTsKKyAgYiA9ICgqZnB0cikgKGFyZyk7Cisg IHJldHVybiBhK2I7Cit9CisKK2ludCBfX2F0dHJpYnV0ZV9fICgobm9jZl9j aGVjaykpCitmdW5jIChpbnQgYXJnKQoreyAvKiB7IGRnLXdhcm5pbmcgIidu b2NmX2NoZWNrJyBhdHRyaWJ1dGUgaWdub3JlZC4gVXNlIC1mY2YtcHJvdGVj dGlvbiBvcHRpb24gdG8gZW5hYmxlIGl0IiB9ICovCisgIGludCAoKmZwdHJs KSAoaW50IGEpIF9fYXR0cmlidXRlX18gKChub2NmX2NoZWNrKSk7IC8qIHsg ZGctd2FybmluZyAiJ25vY2ZfY2hlY2snIGF0dHJpYnV0ZSBpZ25vcmVkLiBV c2UgLWZjZi1wcm90ZWN0aW9uIG9wdGlvbiB0byBlbmFibGUgaXQiIH0gKi8K KyAgcmV0dXJuIGFyZyooKmZwdHJsKShhcmcpOworfQpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2stMWIu YyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNr LTFiLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZh Zjg4ZgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L2NldC1ub3RyYWNrLTFiLmMKQEAgLTAsMCArMSwyMyBAQAor LyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8g LWZjZi1wcm90ZWN0aW9uIC1tY2V0IiB9ICovCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMgImVuZGJyMzIiIDEgeyB0YXJnZXQgaWEz MiB9IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzICJlbmRicjY0IiAxIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9IH0gKi8K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAibm90cmFj ayBjYWxsXFsgXHRdKyIgMiB9IH0gKi8KKworaW50IGZ1bmMgKGludCBhKSBf X2F0dHJpYnV0ZV9fICgobm9jZl9jaGVjaykpOworaW50ICgqZnB0cikgKGlu dCBhKSBfX2F0dHJpYnV0ZV9fICgobm9jZl9jaGVjaykpOworCitpbnQgZm9v IChpbnQgYXJnKQoreworaW50IGEsIGI7CisgIGEgPSBmdW5jIChhcmcpOwor ICBiID0gKCpmcHRyKSAoYXJnKTsKKyAgcmV0dXJuIGErYjsKK30KKworaW50 IF9fYXR0cmlidXRlX18gKChub2NmX2NoZWNrKSkKK2Z1bmMgKGludCBhcmcp Cit7CitpbnQgKCpmcHRybCkgKGludCBhKSBfX2F0dHJpYnV0ZV9fICgobm9j Zl9jaGVjaykpOworICByZXR1cm4gYXJnKigqZnB0cmwpKGFyZyk7Cit9CmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQt bm90cmFjay0yYS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYv Y2V0LW5vdHJhY2stMmEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi42ZjQ0MWU0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2stMmEuYwpAQCAtMCww ICsxLDEyIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1v cHRpb25zICItTyAtZmNmLXByb3RlY3Rpb24gLW1jZXQiIH0gKi8KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZW5kYnIzMiIgMSB7 IHRhcmdldCBpYTMyIH0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMgImVuZGJyNjQiIDEgeyB0YXJnZXQgeyAhIGlhMzIg fSB9IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzICJub3RyYWNrIGNhbGxcWyBcdF0rIiAxIH0gfSAqLworCit2b2lkCiti YXIgKHZvaWQgKCpmb28pICh2b2lkKSkKK3sKKyAgdm9pZCAoKmZ1bmMpICh2 b2lkKSBfX2F0dHJpYnV0ZV9fKChub2NmX2NoZWNrKSkgPSBmb287IC8qIHsg ZGctd2FybmluZyAiaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSIgfSAqLwor ICBmdW5jICgpOworfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2kzODYvY2V0LW5vdHJhY2stMmIuYyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLTJiLmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGRmNDY0NQotLS0gL2Rldi9udWxs CisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3Ry YWNrLTJiLmMKQEAgLTAsMCArMSwxMiBAQAorLyogeyBkZy1kbyBjb21waWxl IH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1mY2YtcHJvdGVjdGlvbiAt bWNldCIgfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzICJlbmRicjMyIiAxIHsgdGFyZ2V0IGlhMzIgfSB9IH0gKi8KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZW5kYnI2NCIgMSB7 IHRhcmdldCB7ICEgaWEzMiB9IH0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMgIm5vdHJhY2sgam1wXFsgXHRdKyIgMSB9 IH0gKi8KKwordm9pZAorYmFyICh2b2lkICgqZm9vKSAodm9pZCkpCit7Cisg IHZvaWQgKCpmdW5jKSAodm9pZCkgX19hdHRyaWJ1dGVfXygobm9jZl9jaGVj aykpID0gZm9vOyAvKiB7IGRnLXdhcm5pbmcgImluY29tcGF0aWJsZSBwb2lu dGVyIHR5cGUiIH0gKi8KKyAgZnVuYyAoKTsKK30KZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLTMuYyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLTMu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTEyNGM3 Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvY2V0LW5vdHJhY2stMy5jCkBAIC0wLDAgKzEsMTQgQEAKKy8qIHsg ZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PIC1mY2Yt cHJvdGVjdGlvbiAtbWNldCIgfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzICJlbmRicjMyIiAxIHsgdGFyZ2V0IGlhMzIgfSB9 IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAi ZW5kYnI2NCIgMSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSB9ICovCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgIm5vdHJhY2sgY2Fs bFxbIFx0XSsiIDEgfSB9ICovCisKK3R5cGVkZWYgdm9pZCAoKmZ1bmNfdCkg KHZvaWQpIF9fYXR0cmlidXRlX18oKG5vY2ZfY2hlY2spKTsKK2V4dGVybiBm dW5jX3QgZnVuYzsKKwordm9pZAorYmFyICh2b2lkKQoreworICBmdW5jICgp OworfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kz ODYvY2V0LW5vdHJhY2stNGEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9pMzg2L2NldC1ub3RyYWNrLTRhLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uMzRjZmQ5MAotLS0gL2Rldi9udWxsCisrKyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLTRhLmMK QEAgLTAsMCArMSw2IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyog eyBkZy1vcHRpb25zICItZmNmLXByb3RlY3Rpb249bm9uZSAtbW5vLWNldCIg fSAqLworCitpbnQgdmFyMSBfX2F0dHJpYnV0ZV9fKChub2NmX2NoZWNrKSk7 IC8qIHsgZGctd2FybmluZyAiJ25vY2ZfY2hlY2snIGF0dHJpYnV0ZSBvbmx5 IGFwcGxpZXMgdG8gZnVuY3Rpb24gdHlwZXMiIH0gKi8KK2ludCAqdmFyMiBf X2F0dHJpYnV0ZV9fKChub2NmX2NoZWNrKSk7IC8qIHsgZGctd2FybmluZyAi J25vY2ZfY2hlY2snIGF0dHJpYnV0ZSBvbmx5IGFwcGxpZXMgdG8gZnVuY3Rp b24gdHlwZXMiIH0gKi8KK3ZvaWQgKCoqdmFyMykgKHZvaWQpIF9fYXR0cmli dXRlX18oKG5vY2ZfY2hlY2spKTsgLyogeyBkZy13YXJuaW5nICInbm9jZl9j aGVjaycgYXR0cmlidXRlIG9ubHkgYXBwbGllcyB0byBmdW5jdGlvbiB0eXBl cyIgfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvY2V0LW5vdHJhY2stNGIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L2NldC1ub3RyYWNrLTRiLmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uNjA2NWVmNgotLS0gL2Rldi9udWxsCisrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLTRi LmMKQEAgLTAsMCArMSw2IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwor LyogeyBkZy1vcHRpb25zICItTyAtZmNmLXByb3RlY3Rpb24gLW1jZXQiIH0g Ki8KKworaW50IHZhcjEgX19hdHRyaWJ1dGVfXygobm9jZl9jaGVjaykpOyAv KiB7IGRnLXdhcm5pbmcgIidub2NmX2NoZWNrJyBhdHRyaWJ1dGUgb25seSBh cHBsaWVzIHRvIGZ1bmN0aW9uIHR5cGVzIiB9ICovCitpbnQgKnZhcjIgX19h dHRyaWJ1dGVfXygobm9jZl9jaGVjaykpOyAvKiB7IGRnLXdhcm5pbmcgIidu b2NmX2NoZWNrJyBhdHRyaWJ1dGUgb25seSBhcHBsaWVzIHRvIGZ1bmN0aW9u IHR5cGVzIiB9ICovCit2b2lkICgqKnZhcjMpICh2b2lkKSBfX2F0dHJpYnV0 ZV9fKChub2NmX2NoZWNrKSk7IC8qIHsgZGctd2FybmluZyAiJ25vY2ZfY2hl Y2snIGF0dHJpYnV0ZSBvbmx5IGFwcGxpZXMgdG8gZnVuY3Rpb24gdHlwZXMi IH0gKi8KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9p Mzg2L2NldC1ub3RyYWNrLTVhLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvaTM4Ni9jZXQtbm90cmFjay01YS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLmQyMzk2OGUKLS0tIC9kZXYvbnVsbAorKysgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtbm90cmFjay01YS5j CkBAIC0wLDAgKzEsMTYgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisv KiB7IGRnLW9wdGlvbnMgIi1PIC1mY2YtcHJvdGVjdGlvbiAtbWNldCIgfSAq LworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJlbmRi cjMyIiAxIHsgdGFyZ2V0IGlhMzIgfSB9IH0gKi8KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZW5kYnI2NCIgMSB7IHRhcmdldCB7 ICEgaWEzMiB9IH0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItbm90ICJcdGNhbGxcWyBcdF0rIiB9IH0gKi8KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAibm90cmFjayBjYWxsXFsgXHRd KyIgMSB9IH0gKi8KKworaW50ICgqZnB0cikgKGludCkgX19hdHRyaWJ1dGVf XyAoKG5vY2ZfY2hlY2spKTsKKworaW50Citmb28gKGludCBhcmcpCit7Cisg IGludCBhOworICBhID0gKCpmcHRyKSAoYXJnKTsgLyogbm90cmFjayBjYWxs LiAgKi8KKyAgcmV0dXJuIGFyZythOworfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2stNWIuYyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLTViLmMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJkOWQwNwot LS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9p Mzg2L2NldC1ub3RyYWNrLTViLmMKQEAgLTAsMCArMSwyMSBAQAorLyogQ2hl Y2sgdGhlIGF0dHJpYnV0ZSBkbyBub3QgcHJvcGFyYXRlIHRocm91Z2ggYXNz aWdubWVudC4gICovCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBk Zy1vcHRpb25zICItTyAtZmNmLXByb3RlY3Rpb24gLW1jZXQiIH0gKi8KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZW5kYnIzMiIg MSB7IHRhcmdldCBpYTMyIH0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMgImVuZGJyNjQiIDEgeyB0YXJnZXQgeyAhIGlh MzIgfSB9IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzICJcdGNhbGxcWyBcdF0rIiAxIH0gfSAqLworLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJub3RyYWNrIGNhbGxcWyBcdF0r IiAxIH0gfSAqLworCitpbnQgKCpmcHRyKSAoaW50KSBfX2F0dHJpYnV0ZV9f ICgobm9jZl9jaGVjaykpOworaW50ICgqZnB0cjEpIChpbnQpOworCitpbnQK K2ZvbyAoaW50IGFyZykKK3sKKyAgaW50IGE7CisgIGEgPSAoKmZwdHIpIChh cmcpOyAvKiBub24tY2hlY2tlZCBjYWxsLiAgKi8KKyAgYXJnICs9IGE7Cisg IGZwdHIxID0gZnB0cjsgLyogeyBkZy13YXJuaW5nICJpbmNvbXBhdGlibGUg cG9pbnRlciB0eXBlIiB9ICovIAorICBhID0gKCpmcHRyMSkgKGFyZyk7IC8q IGNoZWNrZWQgY2FsbC4gICovCisgIHJldHVybiBhcmcrYTsKK30KZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3Ry YWNrLTZhLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQt bm90cmFjay02YS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmUwZmI0ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvaTM4Ni9jZXQtbm90cmFjay02YS5jCkBAIC0wLDAgKzEs MTUgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLW9wdGlv bnMgIi1PMiAtZmNmLXByb3RlY3Rpb24gLW1jZXQiIH0gKi8KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZW5kYnIzMiIgMSB7IHRh cmdldCBpYTMyIH0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMgImVuZGJyNjQiIDEgeyB0YXJnZXQgeyAhIGlhMzIgfSB9 IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz ICJcdCg/OmNhbGx8am1wKVxbIFx0XSsuKmZvbyIgMSB9IH0gKi8KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3QgIm5vdHJhY2sgY2FsbFxb IFx0XSsiIH0gfSAqLworCitpbnQgZm9vIChpbnQgYXJnKTsKKworaW50IGZ1 bmMgKGludCBhcmcpCit7CisgIGludCAoKmZwdHJsKSAoaW50IGEpIF9fYXR0 cmlidXRlX18gKChub2NmX2NoZWNrKSkgPSBmb287IC8qIHsgZGctd2Fybmlu ZyAiaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSIgfSAqLworCisgIHJldHVy biAoKmZwdHJsKShhcmcpOworfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2stNmIuYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLTZiLmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWM0N2M5ZgotLS0gL2Rl di9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Nl dC1ub3RyYWNrLTZiLmMKQEAgLTAsMCArMSwxNSBAQAorLyogeyBkZy1kbyBj b21waWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8wIC1mY2YtcHJvdGVj dGlvbiAtbWNldCIgfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzICJlbmRicjMyIiAxIHsgdGFyZ2V0IGlhMzIgfSB9IH0gKi8K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZW5kYnI2 NCIgMSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSB9ICovCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90ICJcdGNhbGxcWyBcdF0rIiB9IH0g Ki8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAibm90 cmFjayBjYWxsXFsgXHRdKyIgMSB9IH0gKi8KKworaW50IGZvbyAoaW50IGFy Zyk7CisKK2ludCBmdW5jIChpbnQgYXJnKQoreworICBpbnQgKCpmcHRybCkg KGludCBhKSBfX2F0dHJpYnV0ZV9fICgobm9jZl9jaGVjaykpID0gZm9vOyAv KiB7IGRnLXdhcm5pbmcgImluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUiIH0g Ki8KKworICByZXR1cm4gKCpmcHRybCkoYXJnKTsgIC8qIG5vdHJhY2sgY2Fs bC4gICovCit9CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvaTM4Ni9jZXQtbm90cmFjay03LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvaTM4Ni9jZXQtbm90cmFjay03LmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uZjJlMzFkMAotLS0gL2Rldi9udWxsCisrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLTcu YwpAQCAtMCwwICsxLDE1IEBACisvKiBDaGVjayB0aGUgbm90cmFjayBwcmVm aXggaXMgbm90IGdlbmVyYXRlZCBmb3IgZGlyZWN0IGNhbGwuICAqLworLyog eyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8gLWZj Zi1wcm90ZWN0aW9uIC1tY2V0IiB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMgImVuZGJyMzIiIDEgeyB0YXJnZXQgaWEzMiB9 IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz ICJlbmRicjY0IiAxIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9IH0gKi8KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAibm90cmFjayBj YWxsXFsgXHRdKy4qZm9vIiAwIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzICJcdGNhbGxcWyBcdF0rLipmb28iIDEgfSB9 ICovCisKK2V4dGVybiB2b2lkIGZvbyAodm9pZCkgX19hdHRyaWJ1dGVfXygo bm9jZl9jaGVjaykpOworCit2b2lkCitiYXIgKHZvaWQpCit7CisgIGZvbyAo KTsKK30KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9p Mzg2L2NldC1ub3RyYWNrLWljZi0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvaTM4Ni9jZXQtbm90cmFjay1pY2YtMS5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5ODdkNTMKLS0tIC9kZXYvbnVsbAor KysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtbm90cmFj ay1pY2YtMS5jCkBAIC0wLDAgKzEsMzEgQEAKKy8qIFZlcmlmeSBub2NmX2No ZWNrIGZ1bmN0aW9ucyBhcmUgbm90IElDRiBvcHRpbWl6ZWQuICAqLworLyog eyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIiB9 ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90ICJlbmRi ciIgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90 ICJmbjM6IiB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ciAic2V0XFsgXHRdK2ZuMixmbjEiIH0gfSAqLworLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyICJzZXRcWyBcdF0rZm4zLGZuMSIgfSB9ICovCisK K3N0YXRpYyBfX2F0dHJpYnV0ZV9fKChub2lubGluZSkpIGludAorZm4xIChp bnQgeCkKK3sKKyAgcmV0dXJuIHggKyAxMjsKK30KKworc3RhdGljIF9fYXR0 cmlidXRlX18oKG5vaW5saW5lKSkgaW50CitmbjIgKGludCB4KQoreworICBy ZXR1cm4geCArIDEyOworfQorCitzdGF0aWMgX19hdHRyaWJ1dGVfXygobm9p bmxpbmUsIG5vY2ZfY2hlY2spKSBpbnQKK2ZuMyAoaW50IHgpCit7IC8qIHsg ZGctd2FybmluZyAiJ25vY2ZfY2hlY2snIGF0dHJpYnV0ZSBpZ25vcmVkLiBV c2UgLWZjZi1wcm90ZWN0aW9uIG9wdGlvbiB0byBlbmFibGUgaXQiIH0gKi8K KyAgcmV0dXJuIHggKyAxMjsKK30KKworaW50CitmbjQgKGludCB4KQorewor ICByZXR1cm4gZm4xICh4KSArIGZuMiAoeCkgKyBmbjMgKHgpOworfQpkaWZm IC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LW5v dHJhY2staWNmLTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2 L2NldC1ub3RyYWNrLWljZi0yLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uZGIwYjBhNAotLS0gL2Rldi9udWxsCisrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLWljZi0yLmMK QEAgLTAsMCArMSwzMCBAQAorLyogVmVyaWZ5IG5vY2ZfY2hlY2sgZnVuY3Rp b25zIGFyZSBub3QgSUNGIG9wdGltaXplZC4gICovCisvKiB7IGRnLWRvIGNv bXBpbGUgfSAqLworLyogeyBkZy1vcHRpb25zICItTzIgLWZjZi1wcm90ZWN0 aW9uIC1tY2V0IiB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXIgImVuZGJyIiB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt YmxlciAiZm4zOiIgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXIgInNldFxbIFx0XStmbjIsZm4xIiB9IH0gKi8KKworc3RhdGljIF9f YXR0cmlidXRlX18oKG5vaW5saW5lKSkgaW50CitmbjEgKGludCB4KQorewor ICByZXR1cm4geCArIDEyOworfQorCitzdGF0aWMgX19hdHRyaWJ1dGVfXygo bm9pbmxpbmUpKSBpbnQKK2ZuMiAoaW50IHgpCit7CisgIHJldHVybiB4ICsg MTI7Cit9CisKK3N0YXRpYyBfX2F0dHJpYnV0ZV9fKChub2lubGluZSwgbm9j Zl9jaGVjaykpIGludAorZm4zIChpbnQgeCkKK3sKKyAgcmV0dXJuIHggKyAx MjsKK30KKworaW50CitmbjQgKGludCB4KQoreworICByZXR1cm4gZm4xICh4 KSArIGZuMiAoeCkgKyBmbjMgKHgpOworfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2staWNmLTMuYyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLWlj Zi0zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDdj NGE2YgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L2NldC1ub3RyYWNrLWljZi0zLmMKQEAgLTAsMCArMSwzNiBA QAorLyogVmVyaWZ5IG5vY2ZfY2hlY2sgZnVuY3Rpb24gY2FsbHMgYXJlIG5v dCBJQ0Ygb3B0aW1pemVkLiAgKi8KKy8qIHsgZGctZG8gY29tcGlsZSB9ICov CisvKiB7IGRnLW9wdGlvbnMgIi1PMiIgfSAqLworLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLW5vdCAiZW5kYnIiIH0gfSAqLworLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCAiZm4yOiIgfSB9ICovCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIgInNldFxbIFx0XStmbjIsZm4x IiB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAic2V0 XFsgXHRdK2ZuMyxmbjEiIH0gfSAqLworCitpbnQgKCpmb28pKGludCk7CisK K3R5cGVkZWYgaW50ICgqdHlwZTFfdCkgKGludCkgX19hdHRyaWJ1dGVfXyAo KG5vY2ZfY2hlY2spKTsgLyogeyBkZy13YXJuaW5nICInbm9jZl9jaGVjaycg YXR0cmlidXRlIGlnbm9yZWQuIFVzZSAtZmNmLXByb3RlY3Rpb24gb3B0aW9u IHRvIGVuYWJsZSBpdCIgfSAqLwordHlwZWRlZiBpbnQgKCp0eXBlMl90KSAo aW50KTsKKworc3RhdGljIF9fYXR0cmlidXRlX18oKG5vaW5saW5lKSkgaW50 CitmbjEgKGludCB4KQoreworICByZXR1cm4gKCh0eXBlMl90KWZvbykoeCAr IDEyKTsKK30KKworc3RhdGljIF9fYXR0cmlidXRlX18oKG5vaW5saW5lKSkg aW50CitmbjIgKGludCB4KQoreworICByZXR1cm4gKCh0eXBlMV90KWZvbyko eCArIDEyKTsKK30KKworc3RhdGljIF9fYXR0cmlidXRlX18oKG5vaW5saW5l KSkgaW50CitmbjMgKGludCB4KQoreworICByZXR1cm4gKCh0eXBlMl90KWZv bykoeCArIDEyKTsKK30KKworaW50CitmbjQgKGludCB4KQoreworICByZXR1 cm4gZm4xICh4KSArIGZuMiAoeCkgKyBmbjMgKHgpOworfQpkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LW5vdHJhY2st aWNmLTQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1u b3RyYWNrLWljZi00LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uZTRlOTZhYQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9pMzg2L2NldC1ub3RyYWNrLWljZi00LmMKQEAgLTAs MCArMSwzNSBAQAorLyogVmVyaWZ5IG5vY2ZfY2hlY2sgZnVuY3Rpb24gY2Fs bHMgYXJlIG5vdCBJQ0Ygb3B0aW1pemVkLiAgKi8KKy8qIHsgZGctZG8gY29t cGlsZSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PMiAtZmNmLXByb3RlY3Rp b24gLW1jZXQiIH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ciAiZW5kYnIiIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyICJmbjI6IiB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt YmxlciAic2V0XFsgXHRdK2ZuMyxmbjEiIH0gfSAqLworCitpbnQgKCpmb28p KGludCk7CisKK3R5cGVkZWYgaW50ICgqdHlwZTFfdCkgKGludCkgX19hdHRy aWJ1dGVfXyAoKG5vY2ZfY2hlY2spKTsKK3R5cGVkZWYgaW50ICgqdHlwZTJf dCkgKGludCk7CisKK3N0YXRpYyBfX2F0dHJpYnV0ZV9fKChub2lubGluZSkp IGludAorZm4xIChpbnQgeCkKK3sKKyAgcmV0dXJuICgodHlwZTJfdClmb28p KHggKyAxMik7Cit9CisKK3N0YXRpYyBfX2F0dHJpYnV0ZV9fKChub2lubGlu ZSkpIGludAorZm4yIChpbnQgeCkKK3sKKyAgcmV0dXJuICgodHlwZTFfdClm b28pKHggKyAxMik7Cit9CisKK3N0YXRpYyBfX2F0dHJpYnV0ZV9fKChub2lu bGluZSkpIGludAorZm4zIChpbnQgeCkKK3sKKyAgcmV0dXJuICgodHlwZTJf dClmb28pKHggKyAxMik7Cit9CisKK2ludAorZm40IChpbnQgeCkKK3sKKyAg cmV0dXJuIGZuMSAoeCkgKyBmbjIgKHgpICsgZm4zICh4KTsKK30KZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2NldC1wcm9w ZXJ0eS0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQt cHJvcGVydHktMS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmRmMjQzZWYKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvaTM4Ni9jZXQtcHJvcGVydHktMS5jCkBAIC0wLDAgKzEs MTEgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCAqLSotbGludXgq IH0gfSAqLworLyogeyBkZy1vcHRpb25zICItZmNmLXByb3RlY3Rpb24gLW1j ZXQiIH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAiLm5v dGUuZ251LnByb3BlcnR5IiB9IH0gKi8KKworZXh0ZXJuIHZvaWQgZm9vICh2 b2lkKTsKKwordm9pZAorYmFyICh2b2lkKQoreworICBmb28gKCk7Cit9CmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQt cHJvcGVydHktMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYv Y2V0LXByb3BlcnR5LTIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi41YTg3ZGFiCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LXByb3BlcnR5LTIuYwpAQCAtMCww ICsxLDExIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1v cHRpb25zICItbWNldCIgfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLW5vdCAiLm5vdGUuZ251LnByb3BlcnR5IiB9IH0gKi8KKworZXh0 ZXJuIHZvaWQgZm9vICh2b2lkKTsKKwordm9pZAorYmFyICh2b2lkKQorewor ICBmb28gKCk7Cit9CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvaTM4Ni9jZXQtcmRzc3AtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2kzODYvY2V0LXJkc3NwLTEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi5mYjUwZmY0Ci0tLSAvZGV2L251bGwKKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LXJkc3NwLTEuYwpA QCAtMCwwICsxLDM5IEBACisvKiB7IGRnLWRvIHJ1biB7IHRhcmdldCBjZXQg fSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PMiAtZmNmLXByb3RlY3Rpb24g LW1jZXQiIH0gKi8KKwordm9pZCBfZXhpdChpbnQgc3RhdHVzKSBfX2F0dHJp YnV0ZV9fICgoX19ub3JldHVybl9fKSk7CisKKyNpZmRlZiBfX3g4Nl82NF9f CisjIGRlZmluZSBpbmNzc3AoeCkgX19idWlsdGluX2lhMzJfaW5jc3NwcSAo eCkKKyMgZGVmaW5lIHJkc3NwKHgpIF9fYnVpbHRpbl9pYTMyX3Jkc3NwcSAo eCkKKyNlbHNlCisjIGRlZmluZSBpbmNzc3AoeCkgX19idWlsdGluX2lhMzJf aW5jc3NwZCAoeCkKKyMgZGVmaW5lIHJkc3NwKHgpIF9fYnVpbHRpbl9pYTMy X3Jkc3NwZCAoeCkKKyNlbmRpZgorCitzdGF0aWMgdm9pZAorX19hdHRyaWJ1 dGVfXyAoKG5vaW5saW5lLCBub2Nsb25lKSkKK3Rlc3QgKHVuc2lnbmVkIGxv bmcgZnJhbWVzKQoreworICB1bnNpZ25lZCBsb25nIHNzcCA9IDA7CisgIHNz cCA9IHJkc3NwIChzc3ApOworICBpZiAoc3NwICE9IDApCisgICAgeworICAg ICAgdW5zaWduZWQgbG9uZyB0bXAgPSBmcmFtZXM7CisgICAgICB3aGlsZSAo dG1wID4gMjU1KQorCXsKKwkgIGluY3NzcCAodG1wKTsKKwkgIHRtcCAtPSAy NTU7CisJfQorICAgICAgaW5jc3NwICh0bXApOworICAgIH0KKyAgLyogV2Ug bXVzdCBjYWxsIF9leGl0IHNpbmNlIHNoYWRvdyBzdGFjayBpcyBpbmNvcnJl Y3Qgbm93LiAgKi8KKyAgX2V4aXQgKDApOworfQorCitpbnQKK21haW4gKCkK K3sKKyAgdGVzdCAoMSk7CisgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LXNqbGotMS5jIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LXNqbGotMS5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3NGQxMmEKLS0t IC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4 Ni9jZXQtc2psai0xLmMKQEAgLTAsMCArMSw0MiBAQAorLyogeyBkZy1kbyBj b21waWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8gLWZjZi1wcm90ZWN0 aW9uIC1tY2V0IiB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMgImVuZGJyMzIiIDQgeyB0YXJnZXQgaWEzMiB9IH0gfSAqLwor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJlbmRicjY0 IiA0IHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9IH0gKi8KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAicmRzc3BcW2RxXSIgMiB9IH0g Ki8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiaW5j c3NwXFtkcV0iIDEgfSB9ICovCisKKy8qIEJhc2VkIG9uIGdjYy5kZy9zZXRq bXAtMy5jLiAgKi8KKwordm9pZCAqYnVmWzVdOworCitleHRlcm4gdm9pZCBh Ym9ydCAodm9pZCk7CisKK3ZvaWQgcmFpc2UwKHZvaWQpCit7CisgIF9fYnVp bHRpbl9sb25nam1wIChidWYsIDEpOworfQorCitpbnQgZXhlY3V0ZShpbnQg Y21kKQoreworICBpbnQgbGFzdCA9IDA7CisKKyAgaWYgKF9fYnVpbHRpbl9z ZXRqbXAgKGJ1ZikgPT0gMCkKKyAgICB3aGlsZSAoMSkKKyAgICAgIHsKKwls YXN0ID0gMTsKKwlyYWlzZTAgKCk7CisgICAgICB9CisKKyAgaWYgKGxhc3Qg PT0gMCkKKyAgICByZXR1cm4gMDsKKyAgZWxzZQorICAgIHJldHVybiBjbWQ7 Cit9CisKK2ludCBtYWluKHZvaWQpCit7CisgIGlmIChleGVjdXRlICgxKSA9 PSAwKQorICAgIGFib3J0ICgpOworCisgIHJldHVybiAwOworfQpkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LXNqbGot Mi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LXNqbGot Mi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NzA5 NGEKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvaTM4Ni9jZXQtc2psai0yLmMKQEAgLTAsMCArMSw0IEBACisvKiB7IGRn LWRvIHJ1biB7IHRhcmdldCBjZXQgfSB9ICovCisvKiB7IGRnLW9wdGlvbnMg Ii1PIC1mY2YtcHJvdGVjdGlvbiAtbWNldCIgfSAqLworCisjaW5jbHVkZSAi Y2V0LXNqbGotMS5jIgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2kzODYvY2V0LXNqbGotMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2kzODYvY2V0LXNqbGotMy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLmMxZWZiYmUKLS0tIC9kZXYvbnVsbAorKysgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtc2psai0zLmMKQEAg LTAsMCArMSw0NiBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsg ZGctb3B0aW9ucyAiLU8gLWZjZi1wcm90ZWN0aW9uIC1tY2V0IiB9ICovCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImVuZGJyMzIi IDQgeyB0YXJnZXQgaWEzMiB9IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzICJlbmRicjY0IiA0IHsgdGFyZ2V0IHsgISBp YTMyIH0gfSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyAiY2FsbAlfc2V0am1wIiAxIH0gfSAqLworLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJjYWxsCWxvbmdqbXAiIDEgfSB9 ICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHNldGptcC5o PgorCitqbXBfYnVmIGJ1ZjsKK2ludCBiYXIgKGludCk7CisKK2ludAorZm9v IChpbnQgaSkKK3sKKyAgaW50IGogPSBpICogMTE7CisKKyAgaWYgKCFzZXRq bXAgKGJ1ZikpCisgICAgeworICAgICAgaiArPSAzMzsKKyAgICAgIHByaW50 ZiAoIkFmdGVyIHNldGptcDogaiA9ICVkXG4iLCBqKTsKKyAgICAgIGJhciAo aik7CisgICAgfQorCisgIHJldHVybiBqICsgaTsKK30KKworaW50CitiYXIg KGludCBpKQoreworaW50IGogPSBpOworCisgIGogLT0gMTExOworICBwcmlu dGYgKCJJbiBsb25nam1wOiBqID0gJWRcbiIsIGopOworICBsb25nam1wIChi dWYsIDEpOworCisgIHJldHVybiBqOworfQorCitpbnQKK21haW4gKCkKK3sK KyAgZm9vICgxMCk7CisgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvY2V0LXN3aXRjaC0xLmMgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQtc3dpdGNoLTEuYwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTc1ODU3Ci0t LSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kz ODYvY2V0LXN3aXRjaC0xLmMKQEAgLTAsMCArMSwyNiBAQAorLyogVmVyaWZ5 IHRoYXQgQ0VUIHdvcmtzLiAgKi8KKy8qIHsgZGctZG8gY29tcGlsZSB9ICov CisvKiB7IGRnLW9wdGlvbnMgIi1PIC1mY2YtcHJvdGVjdGlvbiAtbWNldCIg fSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJl bmRicjMyIiAxIHsgdGFyZ2V0IGlhMzIgfSB9IH0gKi8KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZW5kYnI2NCIgMSB7IHRhcmdl dCB7ICEgaWEzMiB9IH0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMgIm5vdHJhY2sgam1wXFsgXHRdK1xbKl0iIDEgfSB9 ICovCisKK3ZvaWQgZnVuYzIgKGludCk7CisKK2ludCBmdW5jMSAoaW50IGFy ZykKK3sKKyAgc3dpdGNoIChhcmcpCisgIHsKKyAgICBjYXNlIDE6IGZ1bmMy IChhcmcqMTAwKTsKKyAgICBjYXNlIDI6IGZ1bmMyIChhcmcqMzAwKTsKKyAg ICBjYXNlIDU6IGZ1bmMyIChhcmcqNTAwKTsKKyAgICBjYXNlIDg6IGZ1bmMy IChhcmcqNzAwKTsKKyAgICBjYXNlIDc6IGZ1bmMyIChhcmcqOTAwKTsKKyAg ICBjYXNlIC0xOiBmdW5jMiAoYXJnKi0xMDApOworICAgIGNhc2UgLTI6IGZ1 bmMyIChhcmcqLTMwMCk7CisgICAgY2FzZSAtNTogZnVuYzIgKGFyZyotNTAw KTsKKyAgICBjYXNlIC03OiBmdW5jMiAoYXJnKi03MDApOworICAgIGNhc2Ug LTk6IGZ1bmMyIChhcmcqLTkwMCk7CisgIH0KKyAgcmV0dXJuIDA7Cit9CmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9jZXQt c3dpdGNoLTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Nl dC1zd2l0Y2gtMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmU2MjBiODMKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvaTM4Ni9jZXQtc3dpdGNoLTIuYwpAQCAtMCwwICsxLDI2 IEBACisvKiBWZXJpZnkgdGhhdCBDRVQgd29ya3MuICAqLworLyogeyBkZy1k byBjb21waWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8gLWZjZi1wcm90 ZWN0aW9uIC1tY2V0IC1tY2V0LXN3aXRjaCIgfSAqLworLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJlbmRicjMyIiAxMiB7IHRhcmdl dCBpYTMyIH0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMgImVuZGJyNjQiIDEyIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9 IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAi XFsgXHRdK2ptcFxbIFx0XStcWypdIiAxIH0gfSAqLworCit2b2lkIGZ1bmMy IChpbnQpOworCitpbnQgZnVuYzEgKGludCBhcmcpCit7CisgIHN3aXRjaCAo YXJnKQorICB7CisgICAgY2FzZSAxOiBmdW5jMiAoYXJnKjEwMCk7CisgICAg Y2FzZSAyOiBmdW5jMiAoYXJnKjMwMCk7CisgICAgY2FzZSA1OiBmdW5jMiAo YXJnKjUwMCk7CisgICAgY2FzZSA4OiBmdW5jMiAoYXJnKjcwMCk7CisgICAg Y2FzZSA3OiBmdW5jMiAoYXJnKjkwMCk7CisgICAgY2FzZSAtMTogZnVuYzIg KGFyZyotMTAwKTsKKyAgICBjYXNlIC0yOiBmdW5jMiAoYXJnKi0zMDApOwor ICAgIGNhc2UgLTU6IGZ1bmMyIChhcmcqLTUwMCk7CisgICAgY2FzZSAtNzog ZnVuYzIgKGFyZyotNzAwKTsKKyAgICBjYXNlIC05OiBmdW5jMiAoYXJnKi05 MDApOworICB9CisgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9saWIvdGFyZ2V0LXN1cHBvcnRzLmV4cCBiL2djYy90ZXN0c3Vp dGUvbGliL3RhcmdldC1zdXBwb3J0cy5leHAKaW5kZXggMjczM2M2Mi4uMmNl M2Q5NyAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9saWIvdGFyZ2V0LXN1 cHBvcnRzLmV4cAorKysgYi9nY2MvdGVzdHN1aXRlL2xpYi90YXJnZXQtc3Vw cG9ydHMuZXhwCkBAIC04NTk0LDMgKzg1OTQsMTYgQEAgcHJvYyBjaGVja19l ZmZlY3RpdmVfdGFyZ2V0X2F1dG9pbmNkZWMgeyB9IHsKICAgICB9CiAgICAg cmV0dXJuIDAKIH0KKworIyBSZXR1cm4gMSBpZiBDRVQgaW5zdHJ1Y3Rpb25z IGNhbiBiZSBjb21waWxlZC4KK3Byb2MgY2hlY2tfZWZmZWN0aXZlX3Rhcmdl dF9jZXQgeyB9IHsKKyAgICBpZiB7ICEoW2lzdGFyZ2V0IGk/ODYtKi0qXSB8 fCBbaXN0YXJnZXQgeDg2XzY0LSotKl0pIH0geworCXJldHVybiAwCisgICAg fQorICAgIHJldHVybiBbY2hlY2tfbm9fY29tcGlsZXJfbWVzc2FnZXMgY2V0 IG9iamVjdCB7CisJdm9pZCBmb28gKHZvaWQpCisJeworCSAgYXNtICgic2V0 c3Nic3kiKTsKKwl9CisgICAgfSAiLU8yIiBdCit9Ci0tIAoxLjguMy4xCgo= --_002_D511F25789BA7F4EBA64C8A63891A00291F42195IRSMSX102gercor_--