From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 35183 invoked by alias); 29 Apr 2017 17:45:39 -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 35093 invoked by uid 89); 29 Apr 2017 17:45:32 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-10.8 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=maj, x1, 7j, radhakrishnan X-HELO: EUR02-HE1-obe.outbound.protection.outlook.com Received: from mail-oln040092068037.outbound.protection.outlook.com (HELO EUR02-HE1-obe.outbound.protection.outlook.com) (40.92.68.37) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 29 Apr 2017 17:45:29 +0000 Received: from AM5EUR02FT020.eop-EUR02.prod.protection.outlook.com (10.152.8.56) by AM5EUR02HT188.eop-EUR02.prod.protection.outlook.com (10.152.9.120) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1047.9; Sat, 29 Apr 2017 17:45:28 +0000 Received: from AM4PR0701MB2162.eurprd07.prod.outlook.com (10.152.8.55) by AM5EUR02FT020.mail.protection.outlook.com (10.152.8.125) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1047.9 via Frontend Transport; Sat, 29 Apr 2017 17:45:28 +0000 Received: from AM4PR0701MB2162.eurprd07.prod.outlook.com ([fe80::40a0:2642:4335:50ed]) by AM4PR0701MB2162.eurprd07.prod.outlook.com ([fe80::40a0:2642:4335:50ed%19]) with mapi id 15.01.1075.005; Sat, 29 Apr 2017 17:45:28 +0000 From: Bernd Edlinger To: Ramana Radhakrishnan CC: GCC Patches , Kyrill Tkachov , Richard Earnshaw , Wilco Dijkstra Subject: [PING**2] [PATCH, ARM] Further improve stack usage on sha512 (PR 77308) Date: Sat, 29 Apr 2017 19:17:00 -0000 Message-ID: References: In-Reply-To: authentication-results: googlemail.com; dkim=none (message not signed) header.d=none;googlemail.com; dmarc=none action=none header.from=hotmail.de; x-incomingtopheadermarker: OriginalChecksum:A9A5A8621422ED0B2B3313DEEE16D92CB8371831A8FBD75C51EBA1CCFAD6C6DB;UpperCasedChecksum:4D3FCECF330E2E4D6ADE9BE306418C6FC04A498DEAAB0AB1F99B03C7F3AC73D4;SizeAsReceived:8565;Count:43 x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;AM5EUR02HT188;5:SmUkKYRPc0xgbbEaobU8UapL3zleTlDUZiri+OOP1h3ep93mIPYWY1i8J9oryXl9vmkLZxV/15KdDyhlTrie0fH9kvVyRIqtnbgj6uT3J0j4Zx8u2tnlAzcw5bb8colgzjnN9tol4yAvQGQCq1trcQ==;24:vftNuyRn+Dy8tCX/Ptm6ZnzvBOrffFm0GFqcl8oTQwhEG/+2a5WOjms1npz47ctlPIYBBGnzFIrYTa705kPMtlj4cmp6p5lRCDMeeBDzJ00=;7:Tke0c3g/zxXHR8bNPXjAxxjcL+//bmR4TiXmnGWnLM66HU/+yzvG32aIX7GDGKmgorNtS1wX83A8YaCalw/Z3qepTToSYxEv/r86djg3yr8AgygG+vCdzMuIfS0TvFwJf73P4hzQGNvcJL0s/SJDceD/PCnteHYjZrI39KaCtslvEq6NcLG2ZUpX7tSNOXhuHYqy6jqTDSIwrG4Rf74BQfse1tEQD+7R6Eq+AuHVJIQ57KTiBQGm8f2/C1gf76ifFNfTMVHtEkzACplh4whwn+jwWcekDsRn3dXo9PBIzfi599FfZLUFiAOAUBnRg0y2 x-incomingheadercount: 43 x-eopattributedmessage: 0 x-forefront-antispam-report: EFV:NLI;SFV:NSPM;SFS:(7070007)(98901004);DIR:OUT;SFP:1901;SCL:1;SRVR:AM5EUR02HT188;H:AM4PR0701MB2162.eurprd07.prod.outlook.com;FPR:;SPF:None;LANG:en; x-ms-office365-filtering-correlation-id: 6274079f-b10f-4c85-cb6d-08d48f278580 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201702061074)(5061506573)(5061507331)(1603103135)(2017031320274)(201702181274)(2017031322274)(1601125374)(1603101448)(1701031045);SRVR:AM5EUR02HT188; x-ms-exchange-slblob-mailprops: CaK+F7me6CmJtQhQzae7ckwexIKcjOy0t7XUOfLHGd7+Y/2i+yBKZ0f693dHYpOCvZavSlg8SK4rmfgXtu2MEJHfREfCQpClLYSrM+BmbGTXP+Kchsk6a9IqSb3VKQeF4MQGRn554MysEhCB2E77kgvhACNjnhE/ozv1h9qsEjZmynmv/58GCJQGql5Hocw1jMc0ze2gJAq1QPzn4Drf8UTdb7adoi0a5f6uGhd6tcd6CTvVIq6x3tpGCPFU1uZ7HL60FaFAUDwzWzWzT/57gdjKe8z6iXFUi9JlhxIe4J5FkJ5PaJjYOp9l4XgijbxWz7D3Zh8uJXjvTfoJV2G38YsRT6awHUsrR4wZ/etBsjzD2RY/q/4+jtCBIc3UzrRlsDnrw/jeYSn1IJXNCT8qzwmibQcAEeGB8TkotktF0QLHypXdxyEw8+7h3GSjYSp0ToV2WTmfWoEXHhD40P/u5mlLAj5U05s1JO7kg67nMng8HfpheZy2ESHPj4REMwrAF95+kV/aCufRBhAbPKPCsMGSags5bqfocfPDnsJQWCd9hK2VajZZMoRWje/U9HMyO8ZCSQxy4jHXJ9O87kbmPcYMOafhfjVb1GIymRBrsTVvlYesbY7qzIZa2VlDcriEtiaCVlcidcZfB5pk0JlvOPjtegrPRHdWljJWwGk0WAeXu869OPrItI7jrOuIV7kUUzI1IDb3m5TK1IySq40x5pPNh+aeMX8Uxfi414TWFAqhbOYCe7asnA== x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(444000031);SRVR:AM5EUR02HT188;BCL:0;PCL:0;RULEID:;SRVR:AM5EUR02HT188; x-forefront-prvs: 02929ECF07 spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/mixed; boundary="_002_AM4PR0701MB21629F5BB692295C62E09DFCE4120AM4PR0701MB2162_" MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Apr 2017 17:45:28.3849 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5EUR02HT188 X-SW-Source: 2017-04/txt/msg01570.txt.bz2 --_002_AM4PR0701MB21629F5BB692295C62E09DFCE4120AM4PR0701MB2162_ Content-Type: text/plain; charset="utf-8" Content-ID: <8AA8BF5D1343E348AEFAAED1C0A07A5E@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 4685 UGluZy4uLg0KDQpJIGF0dGFjaGVkIGEgcmViYXNlZCB2ZXJzaW9uIHNpbmNl IHRoZXJlIHdhcyBhIG1lcmdlIGNvbmZsaWN0IGluDQp0aGUgeG9yZGkzIHBh dHRlcm4sIG90aGVyd2lzZSB0aGUgcGF0Y2ggaXMgc3RpbGwgaWRlbnRpY2Fs Lg0KSXQgc3BsaXRzIGFkZGRpMywgc3ViZGkzLCBhbmRkaTMsIGlvcmRpMywg eG9yZGkzIGFuZCBvbmVfY21wbGRpMg0KZWFybHkgd2hlbiB0aGUgdGFyZ2V0 IGhhcyBubyBuZW9uIG9yIGl3bW14dC4NCg0KDQpUaGFua3MNCkJlcm5kLg0K DQoNCg0KT24gMTEvMjgvMTYgMjA6NDIsIEJlcm5kIEVkbGluZ2VyIHdyb3Rl Og0KPiBPbiAxMS8yNS8xNiAxMjozMCwgUmFtYW5hIFJhZGhha3Jpc2huYW4g d3JvdGU6DQo+PiBPbiBTdW4sIE5vdiA2LCAyMDE2IGF0IDI6MTggUE0sIEJl cm5kIEVkbGluZ2VyDQo+PiA8YmVybmQuZWRsaW5nZXJAaG90bWFpbC5kZT4g d3JvdGU6DQo+Pj4gSGkhDQo+Pj4NCj4+PiBUaGlzIGltcHJvdmVzIHRoZSBz dGFjayB1c2FnZSBvbiB0aGUgc2hhNTEyIHRlc3QgY2FzZSBmb3IgdGhlIGNh c2UNCj4+PiB3aXRob3V0IGhhcmR3YXJlIGZwdSBhbmQgd2l0aG91dCBpd21t eHQgYnkgc3BsaXR0aW5nIGFsbCBkaS1tb2RlDQo+Pj4gcGF0dGVybnMgcmln aHQgd2hpbGUgZXhwYW5kaW5nIHdoaWNoIGlzIHNpbWlsYXIgdG8gd2hhdCB0 aGUNCj4+PiBzaGlmdC1wYXR0ZXJuDQo+Pj4gZG9lcy4gIEl0IGRvZXMgbm90 aGluZyBpbiB0aGUgY2FzZSBpd21teHQgYW5kIGZwdT1uZW9uIG9yIHZmcCBh cyB3ZWxsIGFzDQo+Pj4gdGh1bWIxLg0KPj4+DQo+Pg0KPj4gSSB3b3VsZCBn byBmdXJ0aGVyIGFuZCBkbyB0aGlzIGluIHRoZSBhYnNlbmNlIG9mIE5lb24s IHRoZSBWRlAgdW5pdA0KPj4gYmVpbmcgdGhlcmUgZG9lc24ndCBoZWxwIHdp dGggREltb2RlIG9wZXJhdGlvbnMgaS5lLiB3ZSBkbyBub3QgaGF2ZSA2NA0K Pj4gYml0IGludGVnZXIgYXJpdGhtZXRpYyBpbnN0cnVjdGlvbnMgd2l0aG91 dCBOZW9uLiBUaGUgbWFpbiByZWFzb24gd2h5DQo+PiB3ZSBoYXZlIHRoZSBE SW1vZGUgcGF0dGVybnMgc3BsaXQgc28gbGF0ZSBpcyB0byBnaXZlIGEgY2hh bmNlIGZvcg0KPj4gZm9sa3Mgd2hvIHdhbnQgdG8gZG8gNjQgYml0IGFyaXRo bWV0aWMgaW4gTmVvbiBhIGNoYW5jZSB0byBtYWtlIHRoaXMNCj4+IHdvcmsg YXMgd2VsbCBhcyBzdXBwb3J0IHNvbWUgb2YgdGhlIDY0IGJpdCBOZW9uIGlu dHJpbnNpY3Mgd2hpY2ggSUlSQw0KPj4gbWFwIGRvd24gdG8gdGhlc2UgaW5z dHJ1Y3Rpb25zLiBEb2luZyB0aGlzIGp1c3QgZm9yIHNvZnQtZmxvYXQgZG9l c24ndA0KPj4gaW1wcm92ZSB0aGUgZGVmYXVsdCBjYXNlIG9ubHkuIEkgZG9u J3QgdXN1YWxseSB0ZXN0IGl3bW14dCBhbmQgSSdtIG5vdA0KPj4gc3VyZSB3 aG8gaGFzIHRoZSBhYmlsaXR5IHRvIGRvIHNvLCB0aHVzIGtlZXBpbmcgdGhp cyByZXN0cmljdGlvbiBmb3INCj4+IGl3TU1YIGlzIGZpbmUuDQo+Pg0KPj4N Cj4NCj4gWWVzIEkgdW5kZXJzdGFuZCwgdGhhbmtzIGZvciBwb2ludGluZyB0 aGF0IG91dC4NCj4NCj4gSSB3YXMgbm90IGF3YXJlIHdoYXQgaXdtbXh0IGV4 aXN0cyBhdCBhbGwsIGJ1dCBJIG5vdGljZWQgdGhhdCBtb3N0DQo+IDY0Yml0 IGV4cGFuc2lvbnMgd29yayBjb21wbGV0ZWx5IGRpZmZlcmVudCwgYW5kIHdv dWxkIGJyZWFrIGlmIHdlIHNwbGl0DQo+IHRoZSBwYXR0ZXJuIGVhcmx5Lg0K Pg0KPiBJIGNhbiBob3dldmVyIG9ubHkgbG9vayBhdCB0aGUgYXNzZW1ibGVy IG91dG91dCBmb3IgaXdtbXh0LCBhbmQgbWFrZQ0KPiBzdXJlIHRoYXQgdGhl IHN0YWNrIHVzYWdlIGRvZXMgbm90IGdldCB3b3JzZS4NCj4NCj4gVGh1cyB0 aGUgbmV3IHZlcnNpb24gb2YgdGhlIHBhdGNoIGtlZXBzIG9ubHkgdGh1bWIx LCBuZW9uIGFuZCBpd21teHQgYXMNCj4gaXQgaXM6IGFyb3VuZCAxNTcwICh0 aHVtYjEpLCAyMzAwIChuZW9uKSBhbmQgMjIwMCAod2ltbXh0KSBieXRlcyBz dGFjaw0KPiBmb3IgdGhlIHRlc3QgY2FzZXMsIGFuZCB2ZnAgYW5kIHNvZnQt ZmxvYXQgYXQgYXJvdW5kIDI3MCBieXRlcyBzdGFjaw0KPiB1c2FnZS4NCj4N Cj4+PiBJdCByZWR1Y2VzIHRoZSBzdGFjayB1c2FnZSBmcm9tIDIzMDAgdG8g bmVhciBvcHRpbWFsIDI3MiBieXRlcyAoISkuDQo+Pj4NCj4+PiBOb3RlIHRo aXMgYWxzbyBzcGxpdHMgbWFueSBsZHJkL3N0cmQgaW5zdHJ1Y3Rpb25zIGFu ZCB0aGVyZWZvcmUgSSB3aWxsDQo+Pj4gcG9zdCBhIGZvbGxvd3VwLXBhdGNo IHRoYXQgbWl0aWdhdGVzIHRoaXMgZWZmZWN0IGJ5IGVuYWJsaW5nIHRoZQ0K Pj4+IGxkcmQvc3RyZA0KPj4+IHBlZXBob2xlIG9wdGltaXphdGlvbiBhZnRl ciB0aGUgbmVjZXNzYXJ5IHJlZy10ZXN0aW5nLg0KPj4+DQo+Pj4NCj4+PiBC b290c3RyYXBwZWQgYW5kIHJlZy10ZXN0ZWQgb24gYXJtLWxpbnV4LWdudWVh YmloZi4NCj4+DQo+PiBXaGF0IGRvIHlvdSBtZWFuIGJ5IGFybS1saW51eC1n bnVlYWJpaGYgLSB3aGVuIGZvbGtzIHNheSB0aGF0IEkNCj4+IGludGVycHJl dCBpdCBhcyAtLXdpdGgtYXJjaD1hcm12Ny1hIC0td2l0aC1mbG9hdD1oYXJk DQo+PiAtLXdpdGgtZnB1PXZmcHYzLWQxNiBvciAoLS13aXRoLWZwdT1uZW9u KS4NCj4+DQo+PiBJZiB5b3UndmUgcmVhbGx5IGJvb3RzdHJhcHBlZCBhbmQg cmVndGVzdGVkIGl0IG9uIGFybWhmLCBkb2Vzbid0IHRoaXMNCj4+IHBhdGNo IGFzIGl0IHN0YW5kIGhhdmUgbm8gZWZmZWN0IHRoZXJlIGkuZS4gbm8gY2hh bmdlID8NCj4+IGFybS1saW51eC1nbnVlYWJpaGYgdXN1YWxseSBtZWFucyB0 byBtZSBzb21lb25lIGhhcyBjb25maWd1cmVkIHdpdGgNCj4+IC0td2l0aC1m bG9hdD1oYXJkLCBzbyB0aGVyZSBhcmUgbm8gcmVncmVzc2lvbnMgaW4gdGhl IGhhcmQgZmxvYXQgQUJJDQo+PiBjYXNlLA0KPj4NCj4NCj4gSSBrbm93IGl0 IHByb3ZlcyBsaXR0bGUuICBXaGVuIEkgc2F5IGFybS1saW51eC1nbnVlYWJp aGYNCj4gSSBkbyBpbiBmYWN0IG1lYW4gLS1lbmFibGUtbGFuZ3VhZ2VzPWFs bCxhZGEsZ28sb2JqLWMrKw0KPiAtLXdpdGgtYXJjaD1hcm12Ny1hIC0td2l0 aC10dW5lPWNvcnRleC1hOSAtLXdpdGgtZnB1PXZmcHYzLWQxNg0KPiAtLXdp dGgtZmxvYXQ9aGFyZC4NCj4NCj4gTXkgbWFpbiBpbnRlcmVzdCBpbiB0aGUg c3RhY2sgdXNhZ2UgaXMgb2YgY291cnNlIG5vdCBiZWNhdXNlIG9mIGxpbnV4 LA0KPiBidXQgYmVjYXVzZSBvZiBlQ29zIHdoZXJlIHdlIGhhdmUgdmVyeSBz bWFsbCB0YXNrIHN0YWNrcyBhbmQgaW4gZmFjdA0KPiBubyBmcHUgc3VwcG9y dCBieSB0aGUgTy9TIGF0IGFsbCwgc28gdGhhdCBwYXRjaCBpcyBleGFjdGx5 IHdoYXQgd2UgbmVlZC4NCj4NCj4NCj4gQm9vdHN0cmFwcGVkIGFuZCByZWct dGVzdGVkIG9uIGFybS1saW51eC1nbnVlYWJpaGYNCj4gSXMgaXQgT0sgZm9y IHRydW5rPw0KPg0KPg0KPiBUaGFua3MNCj4gQmVybmQuDQo= --_002_AM4PR0701MB21629F5BB692295C62E09DFCE4120AM4PR0701MB2162_ Content-Type: text/x-patch; name="patch-pr77308-2.diff" Content-Description: patch-pr77308-2.diff Content-Disposition: attachment; filename="patch-pr77308-2.diff"; size=12438; creation-date="Sat, 29 Apr 2017 17:45:27 GMT"; modification-date="Sat, 29 Apr 2017 17:45:27 GMT" Content-ID: <07F5E2BC67E5474D97A5008B81007C22@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 16861 MjAxNy0wNC0yNiAgQmVybmQgRWRsaW5nZXIgIDxiZXJuZC5lZGxpbmdlckBo b3RtYWlsLmRlPg0KDQoJUFIgdGFyZ2V0Lzc3MzA4DQoJKiBjb25maWcvYXJt L2FybS5tZCAoKmFybV9hZGRkaTMsICphcm1fc3ViZGkzKTogU3BsaXQgZWFy bHkgZXhjZXB0IGZvcg0KCVRBUkdFVF9ORU9OIGFuZCBUQVJHRVRfSVdNTVhU Lg0KCShhbmRkaTMsIGlvcmRpMywgeG9yZGkzLCBvbmVfY21wbGRpMik6IFNw bGl0IHdoaWxlIGV4cGFuZGluZyBleGNlcHQgZm9yDQoJVEFSR0VUX05FT04g YW5kIFRBUkdFVF9JV01NWFQuDQoJKCpvbmVfY21wbGRpMl9pbnNuKTogTW92 ZWQgdGhlIGJvZHkgb2Ygb25lX2NtcGxkaTIgaGVyZS4NCg0KdGVzdHN1aXRl Og0KMjAxNy0wNC0yNiAgQmVybmQgRWRsaW5nZXIgIDxiZXJuZC5lZGxpbmdl ckBob3RtYWlsLmRlPg0KDQoJUFIgdGFyZ2V0Lzc3MzA4DQoJKiBnY2MudGFy Z2V0L2FybS9wcjc3MzA4LTEuYzogTmV3IHRlc3QuDQoNCkluZGV4OiBnY2Mv Y29uZmlnL2FybS9hcm0ubWQNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t LSBnY2MvY29uZmlnL2FybS9hcm0ubWQJKHJldmlzaW9uIDI0NzIyMikNCisr KyBnY2MvY29uZmlnL2FybS9hcm0ubWQJKHdvcmtpbmcgY29weSkNCkBAIC00 NjcsNyArNDY3LDcgQEANCiAgICAoY2xvYmJlciAocmVnOkNDIENDX1JFR05V TSkpXQ0KICAgIlRBUkdFVF8zMkJJVCAmJiAhVEFSR0VUX05FT04iDQogICAi IyINCi0gICJUQVJHRVRfMzJCSVQgJiYgcmVsb2FkX2NvbXBsZXRlZA0KKyAg IlRBUkdFVF8zMkJJVCAmJiAoKCFUQVJHRVRfTkVPTiAmJiAhVEFSR0VUX0lX TU1YVCkgfHwgcmVsb2FkX2NvbXBsZXRlZCkNCiAgICAmJiAhIChUQVJHRVRf TkVPTiAmJiBJU19WRlBfUkVHTlVNIChSRUdOTyAob3BlcmFuZHNbMF0pKSki DQogICBbKHBhcmFsbGVsIFsoc2V0IChyZWc6Q0NfQyBDQ19SRUdOVU0pDQog CQkgICAoY29tcGFyZTpDQ19DIChwbHVzOlNJIChtYXRjaF9kdXAgMSkgKG1h dGNoX2R1cCAyKSkNCkBAIC0xMjczLDcgKzEyNzMsNyBAQA0KICAgIChjbG9i YmVyIChyZWc6Q0MgQ0NfUkVHTlVNKSldDQogICAiVEFSR0VUXzMyQklUICYm ICFUQVJHRVRfTkVPTiINCiAgICIjIiAgOyAic3Vic1xcdCVRMCwgJVExLCAl UTJcO3NiY1xcdCVSMCwgJVIxLCAlUjIiDQotICAiJiYgcmVsb2FkX2NvbXBs ZXRlZCINCisgICImJiAoIVRBUkdFVF9JV01NWFQgfHwgcmVsb2FkX2NvbXBs ZXRlZCkiDQogICBbKHBhcmFsbGVsIFsoc2V0IChyZWc6Q0MgQ0NfUkVHTlVN KQ0KIAkJICAgKGNvbXBhcmU6Q0MgKG1hdGNoX2R1cCAxKSAobWF0Y2hfZHVw IDIpKSkNCiAJICAgICAgKHNldCAobWF0Y2hfZHVwIDApIChtaW51czpTSSAo bWF0Y2hfZHVwIDEpIChtYXRjaF9kdXAgMikpKV0pDQpAQCAtMjI1OSw3ICsy MjU5LDI0IEBADQogCShhbmQ6REkgKG1hdGNoX29wZXJhbmQ6REkgMSAic19y ZWdpc3Rlcl9vcGVyYW5kIiAiIikNCiAJCShtYXRjaF9vcGVyYW5kOkRJIDIg Im5lb25faW52X2xvZ2ljX29wMiIgIiIpKSldDQogICAiVEFSR0VUXzMyQklU Ig0KLSAgIiINCisgICINCisgIGlmICghVEFSR0VUX05FT04gJiYgIVRBUkdF VF9JV01NWFQpDQorICAgIHsNCisgICAgICBydHggbG93ICA9IHNpbXBsaWZ5 X2dlbl9iaW5hcnkgKEFORCwgU0ltb2RlLA0KKwkJCQkgICAgICBnZW5fbG93 cGFydCAoU0ltb2RlLCBvcGVyYW5kc1sxXSksDQorCQkJCSAgICAgIGdlbl9s b3dwYXJ0IChTSW1vZGUsIG9wZXJhbmRzWzJdKSk7DQorICAgICAgcnR4IGhp Z2ggPSBzaW1wbGlmeV9nZW5fYmluYXJ5IChBTkQsIFNJbW9kZSwNCisJCQkJ ICAgICAgZ2VuX2hpZ2hwYXJ0IChTSW1vZGUsIG9wZXJhbmRzWzFdKSwNCisJ CQkJICAgICAgZ2VuX2hpZ2hwYXJ0X21vZGUgKFNJbW9kZSwgREltb2RlLA0K KwkJCQkJCQkgb3BlcmFuZHNbMl0pKTsNCisNCisgICAgICBlbWl0X2luc24g KGdlbl9ydHhfU0VUIChnZW5fbG93cGFydCAoU0ltb2RlLCBvcGVyYW5kc1sw XSksIGxvdykpOw0KKyAgICAgIGVtaXRfaW5zbiAoZ2VuX3J0eF9TRVQgKGdl bl9oaWdocGFydCAoU0ltb2RlLCBvcGVyYW5kc1swXSksIGhpZ2gpKTsNCisN CisgICAgICBET05FOw0KKyAgICB9DQorICAvKiBPdGhlcndpc2UgZXhwYW5k IHBhdHRlcm4gYXMgYWJvdmUuICAqLw0KKyAgIg0KICkNCiANCiAoZGVmaW5l X2luc25fYW5kX3NwbGl0ICIqYW5kZGkzX2luc24iDQpAQCAtMzEzMiw3ICsz MTQ5LDI0IEBADQogCShpb3I6REkgKG1hdGNoX29wZXJhbmQ6REkgMSAic19y ZWdpc3Rlcl9vcGVyYW5kIiAiIikNCiAJCShtYXRjaF9vcGVyYW5kOkRJIDIg Im5lb25fbG9naWNfb3AyIiAiIikpKV0NCiAgICJUQVJHRVRfMzJCSVQiDQot ICAiIg0KKyAgIg0KKyAgaWYgKCFUQVJHRVRfTkVPTiAmJiAhVEFSR0VUX0lX TU1YVCkNCisgICAgew0KKyAgICAgIHJ0eCBsb3cgID0gc2ltcGxpZnlfZ2Vu X2JpbmFyeSAoSU9SLCBTSW1vZGUsDQorCQkJCSAgICAgIGdlbl9sb3dwYXJ0 IChTSW1vZGUsIG9wZXJhbmRzWzFdKSwNCisJCQkJICAgICAgZ2VuX2xvd3Bh cnQgKFNJbW9kZSwgb3BlcmFuZHNbMl0pKTsNCisgICAgICBydHggaGlnaCA9 IHNpbXBsaWZ5X2dlbl9iaW5hcnkgKElPUiwgU0ltb2RlLA0KKwkJCQkgICAg ICBnZW5faGlnaHBhcnQgKFNJbW9kZSwgb3BlcmFuZHNbMV0pLA0KKwkJCQkg ICAgICBnZW5faGlnaHBhcnRfbW9kZSAoU0ltb2RlLCBESW1vZGUsDQorCQkJ CQkJCSBvcGVyYW5kc1syXSkpOw0KKw0KKyAgICAgIGVtaXRfaW5zbiAoZ2Vu X3J0eF9TRVQgKGdlbl9sb3dwYXJ0IChTSW1vZGUsIG9wZXJhbmRzWzBdKSwg bG93KSk7DQorICAgICAgZW1pdF9pbnNuIChnZW5fcnR4X1NFVCAoZ2VuX2hp Z2hwYXJ0IChTSW1vZGUsIG9wZXJhbmRzWzBdKSwgaGlnaCkpOw0KKw0KKyAg ICAgIERPTkU7DQorICAgIH0NCisgIC8qIE90aGVyd2lzZSBleHBhbmQgcGF0 dGVybiBhcyBhYm92ZS4gICovDQorICAiDQogKQ0KIA0KIChkZWZpbmVfaW5z bl9hbmRfc3BsaXQgIippb3JkaTNfaW5zbiINCkBAIC0zMzIwLDYgKzMzNTQs MjIgQEANCiAgICAgICAgbm8gTkVPTiBpbnN0cnVjdGlvbnMgdGhhdCB0YWtl IGFuIGltbWVkaWF0ZS4gICovDQogICAgIGlmIChUQVJHRVRfSVdNTVhUICYm ICFSRUdfUCAob3BlcmFuZHNbMl0pKQ0KICAgICAgIG9wZXJhbmRzWzJdID0g Zm9yY2VfcmVnIChESW1vZGUsIG9wZXJhbmRzWzJdKTsNCisgICAgaWYgKCFU QVJHRVRfTkVPTiAmJiAhVEFSR0VUX0lXTU1YVCkNCisgICAgICB7DQorCXJ0 eCBsb3cgID0gc2ltcGxpZnlfZ2VuX2JpbmFyeSAoWE9SLCBTSW1vZGUsDQor CQkJCQlnZW5fbG93cGFydCAoU0ltb2RlLCBvcGVyYW5kc1sxXSksDQorCQkJ CQlnZW5fbG93cGFydCAoU0ltb2RlLCBvcGVyYW5kc1syXSkpOw0KKwlydHgg aGlnaCA9IHNpbXBsaWZ5X2dlbl9iaW5hcnkgKFhPUiwgU0ltb2RlLA0KKwkJ CQkJZ2VuX2hpZ2hwYXJ0IChTSW1vZGUsIG9wZXJhbmRzWzFdKSwNCisJCQkJ CWdlbl9oaWdocGFydF9tb2RlIChTSW1vZGUsIERJbW9kZSwNCisJCQkJCQkJ ICAgb3BlcmFuZHNbMl0pKTsNCisNCisJZW1pdF9pbnNuIChnZW5fcnR4X1NF VCAoZ2VuX2xvd3BhcnQgKFNJbW9kZSwgb3BlcmFuZHNbMF0pLCBsb3cpKTsN CisJZW1pdF9pbnNuIChnZW5fcnR4X1NFVCAoZ2VuX2hpZ2hwYXJ0IChTSW1v ZGUsIG9wZXJhbmRzWzBdKSwgaGlnaCkpOw0KKw0KKwlET05FOw0KKyAgICAg IH0NCisgICAgLyogT3RoZXJ3aXNlIGV4cGFuZCBwYXR0ZXJuIGFzIGFib3Zl LiAgKi8NCiAgIH0NCiApDQogDQpAQCAtNTAzMSw3ICs1MDgxLDMxIEBADQog ICAiVEFSR0VUXzMyQklUICYmIFRBUkdFVF9IQVJEX0ZMT0FUICYmIFRBUkdF VF9WRlBfRE9VQkxFIg0KICAgIiIpDQogDQotKGRlZmluZV9pbnNuX2FuZF9z cGxpdCAib25lX2NtcGxkaTIiDQorKGRlZmluZV9leHBhbmQgIm9uZV9jbXBs ZGkyIg0KKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6REkgMCAic19yZWdpc3Rl cl9vcGVyYW5kIiAiIikNCisJKG5vdDpESSAobWF0Y2hfb3BlcmFuZDpESSAx ICJzX3JlZ2lzdGVyX29wZXJhbmQiICIiKSkpXQ0KKyAgIlRBUkdFVF8zMkJJ VCINCisgICINCisgIGlmICghVEFSR0VUX05FT04gJiYgIVRBUkdFVF9JV01N WFQpDQorICAgIHsNCisgICAgICBydHggbG93ICA9IHNpbXBsaWZ5X2dlbl91 bmFyeSAoTk9ULCBTSW1vZGUsDQorCQkJCSAgICAgZ2VuX2xvd3BhcnQgKFNJ bW9kZSwgb3BlcmFuZHNbMV0pLA0KKwkJCQkgICAgIFNJbW9kZSk7DQorICAg ICAgcnR4IGhpZ2ggPSBzaW1wbGlmeV9nZW5fdW5hcnkgKE5PVCwgU0ltb2Rl LA0KKwkJCQkgICAgIGdlbl9oaWdocGFydF9tb2RlIChTSW1vZGUsIERJbW9k ZSwNCisJCQkJCQkJb3BlcmFuZHNbMV0pLA0KKwkJCQkgICAgIFNJbW9kZSk7 DQorDQorICAgICAgZW1pdF9pbnNuIChnZW5fcnR4X1NFVCAoZ2VuX2xvd3Bh cnQgKFNJbW9kZSwgb3BlcmFuZHNbMF0pLCBsb3cpKTsNCisgICAgICBlbWl0 X2luc24gKGdlbl9ydHhfU0VUIChnZW5faGlnaHBhcnQgKFNJbW9kZSwgb3Bl cmFuZHNbMF0pLCBoaWdoKSk7DQorDQorICAgICAgRE9ORTsNCisgICAgfQ0K KyAgLyogT3RoZXJ3aXNlIGV4cGFuZCBwYXR0ZXJuIGFzIGFib3ZlLiAgKi8N CisgICINCispDQorDQorKGRlZmluZV9pbnNuX2FuZF9zcGxpdCAiKm9uZV9j bXBsZGkyX2luc24iDQogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpESSAwICJz X3JlZ2lzdGVyX29wZXJhbmQiCSAiPXcsJnIsJnIsP3ciKQ0KIAkobm90OkRJ IChtYXRjaF9vcGVyYW5kOkRJIDEgInNfcmVnaXN0ZXJfb3BlcmFuZCIgIiB3 LCAwLCByLCB3IikpKV0NCiAgICJUQVJHRVRfMzJCSVQiDQpJbmRleDogZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9wcjc3MzA4LTEuYw0KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9hcm0vcHI3NzMwOC0xLmMJKHJldmlzaW9uIDApDQorKysgZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L2FybS9wcjc3MzA4LTEuYwkod29ya2luZyBjb3B5 KQ0KQEAgLTAsMCArMSwxNjkgQEANCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAq Lw0KKy8qIHsgZGctb3B0aW9ucyAiLU9zIC1Xc3RhY2stdXNhZ2U9MjUwMCIg fSAqLw0KKw0KKy8qIFRoaXMgaXMgYSBtb2RpZmllZCBhbGdvcml0aG0gd2l0 aCBiaXQtbm90ICJ+IiBhdCB0aGUgU2lnbWEtYmxvY2tzLg0KKyAgIEl0IGlt cHJvdmVzIHRoZSB0ZXN0IGNvdmVyYWdlIG9mIG9uZV9jbXBsZGkyIGFuZCBz dWJkaTMgcGF0dGVybnMuDQorICAgVW5saWtlIHRoZSBvcmlnaW5hbCB0ZXN0 IGNhc2UgdGhlc2UgaW5zbnMgY2FuIHJlYWNoIHRoZSByZWxvYWQgcGFzcywN CisgICB3aGljaCBtYXkgcmVzdWx0IGluIGxhcmdlIHN0YWNrIHVzYWdlLiAg Ki8NCisNCisjZGVmaW5lIFNIQV9MT05HNjQgdW5zaWduZWQgbG9uZyBsb25n DQorI2RlZmluZSBVNjQoQykgICAgIEMjI1VMTA0KKw0KKyNkZWZpbmUgU0hB X0xCTE9DSyAgICAgIDE2DQorI2RlZmluZSBTSEE1MTJfQ0JMT0NLICAgKFNI QV9MQkxPQ0sqOCkNCisNCit0eXBlZGVmIHN0cnVjdCBTSEE1MTJzdGF0ZV9z dCB7DQorICAgIFNIQV9MT05HNjQgaFs4XTsNCisgICAgU0hBX0xPTkc2NCBO bCwgTmg7DQorICAgIHVuaW9uIHsNCisgICAgICAgIFNIQV9MT05HNjQgZFtT SEFfTEJMT0NLXTsNCisgICAgICAgIHVuc2lnbmVkIGNoYXIgcFtTSEE1MTJf Q0JMT0NLXTsNCisgICAgfSB1Ow0KKyAgICB1bnNpZ25lZCBpbnQgbnVtLCBt ZF9sZW47DQorfSBTSEE1MTJfQ1RYOw0KKw0KK3N0YXRpYyBjb25zdCBTSEFf TE9ORzY0IEs1MTJbODBdID0gew0KKyAgICBVNjQoMHg0MjhhMmY5OGQ3Mjhh ZTIyKSwgVTY0KDB4NzEzNzQ0OTEyM2VmNjVjZCksDQorICAgIFU2NCgweGI1 YzBmYmNmZWM0ZDNiMmYpLCBVNjQoMHhlOWI1ZGJhNTgxODlkYmJjKSwNCisg ICAgVTY0KDB4Mzk1NmMyNWJmMzQ4YjUzOCksIFU2NCgweDU5ZjExMWYxYjYw NWQwMTkpLA0KKyAgICBVNjQoMHg5MjNmODJhNGFmMTk0ZjliKSwgVTY0KDB4 YWIxYzVlZDVkYTZkODExOCksDQorICAgIFU2NCgweGQ4MDdhYTk4YTMwMzAy NDIpLCBVNjQoMHgxMjgzNWIwMTQ1NzA2ZmJlKSwNCisgICAgVTY0KDB4MjQz MTg1YmU0ZWU0YjI4YyksIFU2NCgweDU1MGM3ZGMzZDVmZmI0ZTIpLA0KKyAg ICBVNjQoMHg3MmJlNWQ3NGYyN2I4OTZmKSwgVTY0KDB4ODBkZWIxZmUzYjE2 OTZiMSksDQorICAgIFU2NCgweDliZGMwNmE3MjVjNzEyMzUpLCBVNjQoMHhj MTliZjE3NGNmNjkyNjk0KSwNCisgICAgVTY0KDB4ZTQ5YjY5YzE5ZWYxNGFk MiksIFU2NCgweGVmYmU0Nzg2Mzg0ZjI1ZTMpLA0KKyAgICBVNjQoMHgwZmMx OWRjNjhiOGNkNWI1KSwgVTY0KDB4MjQwY2ExY2M3N2FjOWM2NSksDQorICAg IFU2NCgweDJkZTkyYzZmNTkyYjAyNzUpLCBVNjQoMHg0YTc0ODRhYTZlYTZl NDgzKSwNCisgICAgVTY0KDB4NWNiMGE5ZGNiZDQxZmJkNCksIFU2NCgweDc2 Zjk4OGRhODMxMTUzYjUpLA0KKyAgICBVNjQoMHg5ODNlNTE1MmVlNjZkZmFi KSwgVTY0KDB4YTgzMWM2NmQyZGI0MzIxMCksDQorICAgIFU2NCgweGIwMDMy N2M4OThmYjIxM2YpLCBVNjQoMHhiZjU5N2ZjN2JlZWYwZWU0KSwNCisgICAg VTY0KDB4YzZlMDBiZjMzZGE4OGZjMiksIFU2NCgweGQ1YTc5MTQ3OTMwYWE3 MjUpLA0KKyAgICBVNjQoMHgwNmNhNjM1MWUwMDM4MjZmKSwgVTY0KDB4MTQy OTI5NjcwYTBlNmU3MCksDQorICAgIFU2NCgweDI3YjcwYTg1NDZkMjJmZmMp LCBVNjQoMHgyZTFiMjEzODVjMjZjOTI2KSwNCisgICAgVTY0KDB4NGQyYzZk ZmM1YWM0MmFlZCksIFU2NCgweDUzMzgwZDEzOWQ5NWIzZGYpLA0KKyAgICBV NjQoMHg2NTBhNzM1NDhiYWY2M2RlKSwgVTY0KDB4NzY2YTBhYmIzYzc3YjJh OCksDQorICAgIFU2NCgweDgxYzJjOTJlNDdlZGFlZTYpLCBVNjQoMHg5Mjcy MmM4NTE0ODIzNTNiKSwNCisgICAgVTY0KDB4YTJiZmU4YTE0Y2YxMDM2NCks IFU2NCgweGE4MWE2NjRiYmM0MjMwMDEpLA0KKyAgICBVNjQoMHhjMjRiOGI3 MGQwZjg5NzkxKSwgVTY0KDB4Yzc2YzUxYTMwNjU0YmUzMCksDQorICAgIFU2 NCgweGQxOTJlODE5ZDZlZjUyMTgpLCBVNjQoMHhkNjk5MDYyNDU1NjVhOTEw KSwNCisgICAgVTY0KDB4ZjQwZTM1ODU1NzcxMjAyYSksIFU2NCgweDEwNmFh MDcwMzJiYmQxYjgpLA0KKyAgICBVNjQoMHgxOWE0YzExNmI4ZDJkMGM4KSwg VTY0KDB4MWUzNzZjMDg1MTQxYWI1MyksDQorICAgIFU2NCgweDI3NDg3NzRj ZGY4ZWViOTkpLCBVNjQoMHgzNGIwYmNiNWUxOWI0OGE4KSwNCisgICAgVTY0 KDB4MzkxYzBjYjNjNWM5NWE2MyksIFU2NCgweDRlZDhhYTRhZTM0MThhY2Ip LA0KKyAgICBVNjQoMHg1YjljY2E0Zjc3NjNlMzczKSwgVTY0KDB4NjgyZTZm ZjNkNmIyYjhhMyksDQorICAgIFU2NCgweDc0OGY4MmVlNWRlZmIyZmMpLCBV NjQoMHg3OGE1NjM2ZjQzMTcyZjYwKSwNCisgICAgVTY0KDB4ODRjODc4MTRh MWYwYWI3MiksIFU2NCgweDhjYzcwMjA4MWE2NDM5ZWMpLA0KKyAgICBVNjQo MHg5MGJlZmZmYTIzNjMxZTI4KSwgVTY0KDB4YTQ1MDZjZWJkZTgyYmRlOSks DQorICAgIFU2NCgweGJlZjlhM2Y3YjJjNjc5MTUpLCBVNjQoMHhjNjcxNzhm MmUzNzI1MzJiKSwNCisgICAgVTY0KDB4Y2EyNzNlY2VlYTI2NjE5YyksIFU2 NCgweGQxODZiOGM3MjFjMGMyMDcpLA0KKyAgICBVNjQoMHhlYWRhN2RkNmNk ZTBlYjFlKSwgVTY0KDB4ZjU3ZDRmN2ZlZTZlZDE3OCksDQorICAgIFU2NCgw eDA2ZjA2N2FhNzIxNzZmYmEpLCBVNjQoMHgwYTYzN2RjNWEyYzg5OGE2KSwN CisgICAgVTY0KDB4MTEzZjk4MDRiZWY5MGRhZSksIFU2NCgweDFiNzEwYjM1 MTMxYzQ3MWIpLA0KKyAgICBVNjQoMHgyOGRiNzdmNTIzMDQ3ZDg0KSwgVTY0 KDB4MzJjYWFiN2I0MGM3MjQ5MyksDQorICAgIFU2NCgweDNjOWViZTBhMTVj OWJlYmMpLCBVNjQoMHg0MzFkNjdjNDljMTAwZDRjKSwNCisgICAgVTY0KDB4 NGNjNWQ0YmVjYjNlNDJiNiksIFU2NCgweDU5N2YyOTljZmM2NTdlMmEpLA0K KyAgICBVNjQoMHg1ZmNiNmZhYjNhZDZmYWVjKSwgVTY0KDB4NmM0NDE5OGM0 YTQ3NTgxNykNCit9Ow0KKw0KKyNkZWZpbmUgQih4LGopICAgICgoKFNIQV9M T05HNjQpKCooKChjb25zdCB1bnNpZ25lZCBjaGFyICopKCZ4KSkraikpKTw8 KCg3LWopKjgpKQ0KKyNkZWZpbmUgUFVMTDY0KHgpIChCKHgsMCl8Qih4LDEp fEIoeCwyKXxCKHgsMyl8Qih4LDQpfEIoeCw1KXxCKHgsNil8Qih4LDcpKQ0K KyNkZWZpbmUgUk9UUih4LHMpICAgICAgICgoKHgpPj5zKSB8ICh4KTw8KDY0 LXMpKQ0KKyNkZWZpbmUgU2lnbWEwKHgpICAgICAgIH4oUk9UUigoeCksMjgp IF4gUk9UUigoeCksMzQpIF4gUk9UUigoeCksMzkpKQ0KKyNkZWZpbmUgU2ln bWExKHgpICAgICAgIH4oUk9UUigoeCksMTQpIF4gUk9UUigoeCksMTgpIF4g Uk9UUigoeCksNDEpKQ0KKyNkZWZpbmUgc2lnbWEwKHgpICAgICAgIH4oUk9U UigoeCksMSkgIF4gUk9UUigoeCksOCkgIF4gKCh4KT4+NykpDQorI2RlZmlu ZSBzaWdtYTEoeCkgICAgICAgfihST1RSKCh4KSwxOSkgXiBST1RSKCh4KSw2 MSkgXiAoKHgpPj42KSkNCisjZGVmaW5lIENoKHgseSx6KSAgICAgICAoKCh4 KSAmICh5KSkgXiAoKH4oeCkpICYgKHopKSkNCisjZGVmaW5lIE1haih4LHks eikgICAgICAoKCh4KSAmICh5KSkgXiAoKHgpICYgKHopKSBeICgoeSkgJiAo eikpKQ0KKw0KKyNkZWZpbmUgUk9VTkRfMDBfMTUoaSxhLGIsYyxkLGUsZixn LGgpICAgICAgICAgIGRvIHsgICAgXA0KKyAgICAgICAgVDEgKz0gaCArIFNp Z21hMShlKSArIENoKGUsZixnKSArIEs1MTJbaV07ICAgICAgXA0KKyAgICAg ICAgaCA9IFNpZ21hMChhKSArIE1haihhLGIsYyk7ICAgICAgICAgICAgICAg ICAgICAgXA0KKyAgICAgICAgZCArPSBUMTsgICAgICAgIGggKz0gVDE7ICAg ICAgICAgICAgICAgIH0gd2hpbGUgKDApDQorI2RlZmluZSBST1VORF8xNl84 MChpLGosYSxiLGMsZCxlLGYsZyxoLFgpICAgICAgZG8geyAgICBcDQorICAg ICAgICBzMCA9IFhbKGorMSkmMHgwZl07ICAgICBzMCA9IHNpZ21hMChzMCk7 ICAgICAgICBcDQorICAgICAgICBzMSA9IFhbKGorMTQpJjB4MGZdOyAgICBz MSA9IHNpZ21hMShzMSk7ICAgICAgICBcDQorICAgICAgICBUMSA9IFhbKGop JjB4MGZdICs9IHMwICsgczEgKyBYWyhqKzkpJjB4MGZdOyAgICBcDQorICAg ICAgICBST1VORF8wMF8xNShpK2osYSxiLGMsZCxlLGYsZyxoKTsgICAgICAg ICAgICAgICB9IHdoaWxlICgwKQ0KK3ZvaWQgc2hhNTEyX2Jsb2NrX2RhdGFf b3JkZXIoU0hBNTEyX0NUWCAqY3R4LCBjb25zdCB2b2lkICppbiwNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg bnVtKQ0KK3sNCisgICAgY29uc3QgU0hBX0xPTkc2NCAqVyA9IGluOw0KKyAg ICBTSEFfTE9ORzY0IGEsIGIsIGMsIGQsIGUsIGYsIGcsIGgsIHMwLCBzMSwg VDE7DQorICAgIFNIQV9MT05HNjQgWFsxNl07DQorICAgIGludCBpOw0KKw0K KyAgICB3aGlsZSAobnVtLS0pIHsNCisNCisgICAgICAgIGEgPSBjdHgtPmhb MF07DQorICAgICAgICBiID0gY3R4LT5oWzFdOw0KKyAgICAgICAgYyA9IGN0 eC0+aFsyXTsNCisgICAgICAgIGQgPSBjdHgtPmhbM107DQorICAgICAgICBl ID0gY3R4LT5oWzRdOw0KKyAgICAgICAgZiA9IGN0eC0+aFs1XTsNCisgICAg ICAgIGcgPSBjdHgtPmhbNl07DQorICAgICAgICBoID0gY3R4LT5oWzddOw0K Kw0KKyAgICAgICAgVDEgPSBYWzBdID0gUFVMTDY0KFdbMF0pOw0KKyAgICAg ICAgUk9VTkRfMDBfMTUoMCwgYSwgYiwgYywgZCwgZSwgZiwgZywgaCk7DQor ICAgICAgICBUMSA9IFhbMV0gPSBQVUxMNjQoV1sxXSk7DQorICAgICAgICBS T1VORF8wMF8xNSgxLCBoLCBhLCBiLCBjLCBkLCBlLCBmLCBnKTsNCisgICAg ICAgIFQxID0gWFsyXSA9IFBVTEw2NChXWzJdKTsNCisgICAgICAgIFJPVU5E XzAwXzE1KDIsIGcsIGgsIGEsIGIsIGMsIGQsIGUsIGYpOw0KKyAgICAgICAg VDEgPSBYWzNdID0gUFVMTDY0KFdbM10pOw0KKyAgICAgICAgUk9VTkRfMDBf MTUoMywgZiwgZywgaCwgYSwgYiwgYywgZCwgZSk7DQorICAgICAgICBUMSA9 IFhbNF0gPSBQVUxMNjQoV1s0XSk7DQorICAgICAgICBST1VORF8wMF8xNSg0 LCBlLCBmLCBnLCBoLCBhLCBiLCBjLCBkKTsNCisgICAgICAgIFQxID0gWFs1 XSA9IFBVTEw2NChXWzVdKTsNCisgICAgICAgIFJPVU5EXzAwXzE1KDUsIGQs IGUsIGYsIGcsIGgsIGEsIGIsIGMpOw0KKyAgICAgICAgVDEgPSBYWzZdID0g UFVMTDY0KFdbNl0pOw0KKyAgICAgICAgUk9VTkRfMDBfMTUoNiwgYywgZCwg ZSwgZiwgZywgaCwgYSwgYik7DQorICAgICAgICBUMSA9IFhbN10gPSBQVUxM NjQoV1s3XSk7DQorICAgICAgICBST1VORF8wMF8xNSg3LCBiLCBjLCBkLCBl LCBmLCBnLCBoLCBhKTsNCisgICAgICAgIFQxID0gWFs4XSA9IFBVTEw2NChX WzhdKTsNCisgICAgICAgIFJPVU5EXzAwXzE1KDgsIGEsIGIsIGMsIGQsIGUs IGYsIGcsIGgpOw0KKyAgICAgICAgVDEgPSBYWzldID0gUFVMTDY0KFdbOV0p Ow0KKyAgICAgICAgUk9VTkRfMDBfMTUoOSwgaCwgYSwgYiwgYywgZCwgZSwg ZiwgZyk7DQorICAgICAgICBUMSA9IFhbMTBdID0gUFVMTDY0KFdbMTBdKTsN CisgICAgICAgIFJPVU5EXzAwXzE1KDEwLCBnLCBoLCBhLCBiLCBjLCBkLCBl LCBmKTsNCisgICAgICAgIFQxID0gWFsxMV0gPSBQVUxMNjQoV1sxMV0pOw0K KyAgICAgICAgUk9VTkRfMDBfMTUoMTEsIGYsIGcsIGgsIGEsIGIsIGMsIGQs IGUpOw0KKyAgICAgICAgVDEgPSBYWzEyXSA9IFBVTEw2NChXWzEyXSk7DQor ICAgICAgICBST1VORF8wMF8xNSgxMiwgZSwgZiwgZywgaCwgYSwgYiwgYywg ZCk7DQorICAgICAgICBUMSA9IFhbMTNdID0gUFVMTDY0KFdbMTNdKTsNCisg ICAgICAgIFJPVU5EXzAwXzE1KDEzLCBkLCBlLCBmLCBnLCBoLCBhLCBiLCBj KTsNCisgICAgICAgIFQxID0gWFsxNF0gPSBQVUxMNjQoV1sxNF0pOw0KKyAg ICAgICAgUk9VTkRfMDBfMTUoMTQsIGMsIGQsIGUsIGYsIGcsIGgsIGEsIGIp Ow0KKyAgICAgICAgVDEgPSBYWzE1XSA9IFBVTEw2NChXWzE1XSk7DQorICAg ICAgICBST1VORF8wMF8xNSgxNSwgYiwgYywgZCwgZSwgZiwgZywgaCwgYSk7 DQorDQorICAgICAgICBmb3IgKGkgPSAxNjsgaSA8IDgwOyBpICs9IDE2KSB7 DQorICAgICAgICAgICAgUk9VTkRfMTZfODAoaSwgMCwgYSwgYiwgYywgZCwg ZSwgZiwgZywgaCwgWCk7DQorICAgICAgICAgICAgUk9VTkRfMTZfODAoaSwg MSwgaCwgYSwgYiwgYywgZCwgZSwgZiwgZywgWCk7DQorICAgICAgICAgICAg Uk9VTkRfMTZfODAoaSwgMiwgZywgaCwgYSwgYiwgYywgZCwgZSwgZiwgWCk7 DQorICAgICAgICAgICAgUk9VTkRfMTZfODAoaSwgMywgZiwgZywgaCwgYSwg YiwgYywgZCwgZSwgWCk7DQorICAgICAgICAgICAgUk9VTkRfMTZfODAoaSwg NCwgZSwgZiwgZywgaCwgYSwgYiwgYywgZCwgWCk7DQorICAgICAgICAgICAg Uk9VTkRfMTZfODAoaSwgNSwgZCwgZSwgZiwgZywgaCwgYSwgYiwgYywgWCk7 DQorICAgICAgICAgICAgUk9VTkRfMTZfODAoaSwgNiwgYywgZCwgZSwgZiwg ZywgaCwgYSwgYiwgWCk7DQorICAgICAgICAgICAgUk9VTkRfMTZfODAoaSwg NywgYiwgYywgZCwgZSwgZiwgZywgaCwgYSwgWCk7DQorICAgICAgICAgICAg Uk9VTkRfMTZfODAoaSwgOCwgYSwgYiwgYywgZCwgZSwgZiwgZywgaCwgWCk7 DQorICAgICAgICAgICAgUk9VTkRfMTZfODAoaSwgOSwgaCwgYSwgYiwgYywg ZCwgZSwgZiwgZywgWCk7DQorICAgICAgICAgICAgUk9VTkRfMTZfODAoaSwg MTAsIGcsIGgsIGEsIGIsIGMsIGQsIGUsIGYsIFgpOw0KKyAgICAgICAgICAg IFJPVU5EXzE2XzgwKGksIDExLCBmLCBnLCBoLCBhLCBiLCBjLCBkLCBlLCBY KTsNCisgICAgICAgICAgICBST1VORF8xNl84MChpLCAxMiwgZSwgZiwgZywg aCwgYSwgYiwgYywgZCwgWCk7DQorICAgICAgICAgICAgUk9VTkRfMTZfODAo aSwgMTMsIGQsIGUsIGYsIGcsIGgsIGEsIGIsIGMsIFgpOw0KKyAgICAgICAg ICAgIFJPVU5EXzE2XzgwKGksIDE0LCBjLCBkLCBlLCBmLCBnLCBoLCBhLCBi LCBYKTsNCisgICAgICAgICAgICBST1VORF8xNl84MChpLCAxNSwgYiwgYywg ZCwgZSwgZiwgZywgaCwgYSwgWCk7DQorICAgICAgICB9DQorDQorICAgICAg ICBjdHgtPmhbMF0gKz0gYTsNCisgICAgICAgIGN0eC0+aFsxXSArPSBiOw0K KyAgICAgICAgY3R4LT5oWzJdICs9IGM7DQorICAgICAgICBjdHgtPmhbM10g Kz0gZDsNCisgICAgICAgIGN0eC0+aFs0XSArPSBlOw0KKyAgICAgICAgY3R4 LT5oWzVdICs9IGY7DQorICAgICAgICBjdHgtPmhbNl0gKz0gZzsNCisgICAg ICAgIGN0eC0+aFs3XSArPSBoOw0KKw0KKyAgICAgICAgVyArPSBTSEFfTEJM T0NLOw0KKyAgICB9DQorfQ0K --_002_AM4PR0701MB21629F5BB692295C62E09DFCE4120AM4PR0701MB2162_--