From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.2 Received: from inbox.vuxu.org (localhost [IPv6:::1]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 363213d8 for ; Sun, 29 Dec 2019 17:33:22 +0000 (UTC) Content-Type: multipart/mixed; boundary="===============3990522399627546853==" MIME-Version: 1.0 Subject: Re: [PR PATCH] [Updated] New package: python3-language-server-0.31.4 To: ml@inbox.vuxu.org From: voidlinux-github@inbox.vuxu.org Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 29 Dec 2019 18:33:22 +0100 Message-ID: <20191229173322.fTxSF4MzIBSWQPe2-85RZXJJxj7gy6GJE7O6ibz4u_8@z> GitHub notification mails are now in MIME to allow UTF8. --===============3990522399627546853== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgazRsZWcgYWdhaW5zdCBtYXN0ZXIg b24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL2s0bGVn L3ZvaWQtcGFja2FnZXMgcHl0aG9uLWxhbmd1YWdlLXNlcnZlcgpodHRwczovL2dpdGh1Yi5jb20v dm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMTc4NjIKCk5ldyBwYWNrYWdlOiBweXRob24z LWxhbmd1YWdlLXNlcnZlci0wLjMxLjQKCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1 Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMTc4NjIucGF0Y2ggaXMgYXR0YWNo ZWQ= --===============3990522399627546853== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-python-language-server-17862.patch" RnJvbSBlNDY4OTc1NTI0ZjU2MjQ3ZGEzZTUxOGNkYjc4MTFmYWJhNmJmYmJkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBrNGxlZyA8ZDB4aUBpbmJveC5ydT4KRGF0ZTogU3VuLCAyOSBE ZWMgMjAxOSAxOTo0MDoyNCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMS8zXSBOZXcgcGFja2FnZTog cHl0aG9uMy1sYW5ndWFnZS1zZXJ2ZXItMC4zMS40LgoKLS0tCiBzcmNwa2dzL3B5dGhvbjMtbGFu Z3VhZ2Utc2VydmVyL3RlbXBsYXRlIHwgMTkgKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNo YW5nZWQsIDE5IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3B5dGhv bjMtbGFuZ3VhZ2Utc2VydmVyL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24z LWxhbmd1YWdlLXNlcnZlci90ZW1wbGF0ZSBiL3NyY3BrZ3MvcHl0aG9uMy1sYW5ndWFnZS1zZXJ2 ZXIvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmI0MzJh YzQ3ZjU1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9weXRob24zLWxhbmd1YWdlLXNlcnZl ci90ZW1wbGF0ZQpAQCAtMCwwICsxLDE5IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdweXRob24z LWxhbmd1YWdlLXNlcnZlcicKK3BrZ25hbWU9cHl0aG9uMy1sYW5ndWFnZS1zZXJ2ZXIKK3ZlcnNp b249MC4zMS40CityZXZpc2lvbj0xCit3cmtzcmM9IiR7cGtnbmFtZS8zfS0ke3ZlcnNpb259Igor YnVpbGRfc3R5bGU9cHl0aG9uMy1tb2R1bGUKK3B5Y29tcGlsZV9tb2R1bGU9cHlscworaG9zdG1h a2VkZXBlbmRzPSJweXRob24zLXNldHVwdG9vbHMiCitkZXBlbmRzPSJweXRob24zLWZ1dHVyZSBw eXRob24zLWplZGkgcHl0aG9uMy1wbHVnZ3kgcHl0aG9uMy1qc29ucnBjLXNlcnZlciBweXRob24z LXVsdHJhanNvbiIKK3Nob3J0X2Rlc2M9IlB5dGhvbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgTGFu Z3VhZ2UgU2VydmVyIFByb3RvY29sIgorbWFpbnRhaW5lcj0iazRsZWcgPGQweGlAaW5ib3gucnU+ IgorbGljZW5zZT0iTUlUIgoraG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9w eXRob24tbGFuZ3VhZ2Utc2VydmVyIgorZGlzdGZpbGVzPSIke2hvbWVwYWdlfS9hcmNoaXZlLyR7 dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09MzU1NWViZTQ5Njg1OGY4OTZlYjMyYzcxM2NlMjQ0 ZDU4OTdkYTJiZTUyYTljMTdkMTk5ZWM0MDI2MzcxYWQ0MworCitwb3N0X2luc3RhbGwoKSB7CisJ dmxpY2Vuc2UgTElDRU5TRQorfQoKRnJvbSA2ZTYyMmFlMDFiMGQ2Y2JlMjA2Nzk1OWM4YjU0NjI3 N2I2NWQyMGU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBrNGxlZyA8ZDB4aUBpbmJv eC5ydT4KRGF0ZTogU3VuLCAyOSBEZWMgMjAxOSAxOTo0NDo0MSArMDMwMApTdWJqZWN0OiBbUEFU Q0ggMi8zXSBOZXcgcGFja2FnZTogcHl0aG9uMy1qc29ucnBjLXNlcnZlci0wLjMuMi4KCi0tLQog Li4uL3BhdGNoZXMvcHl0aG9uLTMuOC5wYXRjaCAgICAgICAgICAgICAgICAgIHwgNjAgKysrKysr KysrKysrKysrKysrKwogc3JjcGtncy9weXRob24zLWpzb25ycGMtc2VydmVyL3RlbXBsYXRlICAg ICAgIHwgMjAgKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCspCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9weXRob24zLWpzb25ycGMtc2VydmVyL3BhdGNoZXMvcHl0 aG9uLTMuOC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcHl0aG9uMy1qc29ucnBj LXNlcnZlci90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHl0aG9uMy1qc29ucnBjLXNl cnZlci9wYXRjaGVzL3B5dGhvbi0zLjgucGF0Y2ggYi9zcmNwa2dzL3B5dGhvbjMtanNvbnJwYy1z ZXJ2ZXIvcGF0Y2hlcy9weXRob24tMy44LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi42N2QxMzBlYmNjYgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcHl0 aG9uMy1qc29ucnBjLXNlcnZlci9wYXRjaGVzL3B5dGhvbi0zLjgucGF0Y2gKQEAgLTAsMCArMSw2 MCBAQAorZGlmZiAtdXByYiBweXRob24tanNvbnJwYy1zZXJ2ZXItMC4yLjAub3JpZy9weWxzX2pz b25ycGMvZW5kcG9pbnQucHkgcHl0aG9uLWpzb25ycGMtc2VydmVyLTAuMi4wL3B5bHNfanNvbnJw Yy9lbmRwb2ludC5weQorLS0tIHB5dGhvbi1qc29ucnBjLXNlcnZlci0wLjIuMC5vcmlnL3B5bHNf anNvbnJwYy9lbmRwb2ludC5weQkyMDE5LTA2LTI3IDE4OjQyOjIyLjAwMDAwMDAwMCArMDMwMAor KysrIHB5dGhvbi1qc29ucnBjLXNlcnZlci0wLjIuMC9weWxzX2pzb25ycGMvZW5kcG9pbnQucHkJ MjAxOS0xMS0wMiAyMzoyNDo1OS40MDc4NTEyMDggKzAyMDAKK0BAIC05OCw3ICs5OCw3IEBAIGNs YXNzIEVuZHBvaW50KG9iamVjdCk6CisgICAgICAgICAgICAgbWVzc2FnZSAoZGljdCk6IFRoZSBK U09OIFJQQyBtZXNzYWdlIHNlbnQgYnkgdGhlIGNsaWVudAorICAgICAgICAgIiIiCisgICAgICAg ICBpZiAnanNvbnJwYycgbm90IGluIG1lc3NhZ2Ugb3IgbWVzc2FnZVsnanNvbnJwYyddICE9IEpT T05SUENfVkVSU0lPTjoKKy0gICAgICAgICAgICBsb2cud2FybigiVW5rbm93biBtZXNzYWdlIHR5 cGUgJXMiLCBtZXNzYWdlKQorKyAgICAgICAgICAgIGxvZy53YXJuaW5nKCJVbmtub3duIG1lc3Nh Z2UgdHlwZSAlcyIsIG1lc3NhZ2UpCisgICAgICAgICAgICAgcmV0dXJuCisgCisgICAgICAgICBp ZiAnaWQnIG5vdCBpbiBtZXNzYWdlOgorQEAgLTEzNSw3ICsxMzUsNyBAQCBjbGFzcyBFbmRwb2lu dChvYmplY3QpOgorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIGhhbmRsZXIgPSBzZWxmLl9k aXNwYXRjaGVyW21ldGhvZF0KKyAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKy0gICAgICAgICAg ICBsb2cud2FybigiSWdub3Jpbmcgbm90aWZpY2F0aW9uIGZvciB1bmtub3duIG1ldGhvZCAlcyIs IG1ldGhvZCkKKysgICAgICAgICAgICBsb2cud2FybmluZygiSWdub3Jpbmcgbm90aWZpY2F0aW9u IGZvciB1bmtub3duIG1ldGhvZCAlcyIsIG1ldGhvZCkKKyAgICAgICAgICAgICByZXR1cm4KKyAK KyAgICAgICAgIHRyeToKK0BAIC0xNjUsNyArMTY1LDcgQEAgY2xhc3MgRW5kcG9pbnQob2JqZWN0 KToKKyAgICAgICAgIHJlcXVlc3RfZnV0dXJlID0gc2VsZi5fY2xpZW50X3JlcXVlc3RfZnV0dXJl cy5wb3AobXNnX2lkLCBOb25lKQorIAorICAgICAgICAgaWYgbm90IHJlcXVlc3RfZnV0dXJlOgor LSAgICAgICAgICAgIGxvZy53YXJuKCJSZWNlaXZlZCBjYW5jZWwgbm90aWZpY2F0aW9uIGZvciB1 bmtub3duIG1lc3NhZ2UgaWQgJXMiLCBtc2dfaWQpCisrICAgICAgICAgICAgbG9nLndhcm5pbmco IlJlY2VpdmVkIGNhbmNlbCBub3RpZmljYXRpb24gZm9yIHVua25vd24gbWVzc2FnZSBpZCAlcyIs IG1zZ19pZCkKKyAgICAgICAgICAgICByZXR1cm4KKyAKKyAgICAgICAgICMgV2lsbCBvbmx5IHdv cmsgaWYgdGhlIHJlcXVlc3QgaGFzbid0IHN0YXJ0ZWQgZXhlY3V0aW5nCitAQCAtMjMwLDEyICsy MzAsMTMgQEAgY2xhc3MgRW5kcG9pbnQob2JqZWN0KToKKyAgICAgICAgIHJlcXVlc3RfZnV0dXJl ID0gc2VsZi5fc2VydmVyX3JlcXVlc3RfZnV0dXJlcy5wb3AobXNnX2lkLCBOb25lKQorIAorICAg ICAgICAgaWYgbm90IHJlcXVlc3RfZnV0dXJlOgorLSAgICAgICAgICAgIGxvZy53YXJuKCJSZWNl aXZlZCByZXNwb25zZSB0byB1bmtub3duIG1lc3NhZ2UgaWQgJXMiLCBtc2dfaWQpCisrICAgICAg ICAgICAgbG9nLndhcm5pbmcoIlJlY2VpdmVkIHJlc3BvbnNlIHRvIHVua25vd24gbWVzc2FnZSBp ZCAlcyIsIG1zZ19pZCkKKyAgICAgICAgICAgICByZXR1cm4KKyAKKyAgICAgICAgIGlmIGVycm9y IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgIGxvZy5kZWJ1ZygiUmVjZWl2ZWQgZXJyb3IgcmVz cG9uc2UgdG8gbWVzc2FnZSAlczogJXMiLCBtc2dfaWQsIGVycm9yKQorICAgICAgICAgICAgIHJl cXVlc3RfZnV0dXJlLnNldF9leGNlcHRpb24oSnNvblJwY0V4Y2VwdGlvbi5mcm9tX2RpY3QoZXJy b3IpKQorKyAgICAgICAgICAgIHJldHVybgorIAorICAgICAgICAgbG9nLmRlYnVnKCJSZWNlaXZl ZCByZXN1bHQgZm9yIG1lc3NhZ2UgJXM6ICVzIiwgbXNnX2lkLCByZXN1bHQpCisgICAgICAgICBy ZXF1ZXN0X2Z1dHVyZS5zZXRfcmVzdWx0KHJlc3VsdCkKK2RpZmYgLXVwcmIgcHl0aG9uLWpzb25y cGMtc2VydmVyLTAuMi4wLm9yaWcvdGVzdC90ZXN0X2VuZHBvaW50LnB5IHB5dGhvbi1qc29ucnBj LXNlcnZlci0wLjIuMC90ZXN0L3Rlc3RfZW5kcG9pbnQucHkKKy0tLSBweXRob24tanNvbnJwYy1z ZXJ2ZXItMC4yLjAub3JpZy90ZXN0L3Rlc3RfZW5kcG9pbnQucHkJMjAxOS0wNi0yNyAxODo0Mjoy Mi4wMDAwMDAwMDAgKzAzMDAKKysrKyBweXRob24tanNvbnJwYy1zZXJ2ZXItMC4yLjAvdGVzdC90 ZXN0X2VuZHBvaW50LnB5CTIwMTktMTEtMDIgMjM6MjQ6MjEuMDMzODM4NzI5ICswMjAwCitAQCAt MTE1LDkgKzExNSw5IEBAIGRlZiB0ZXN0X3JlcXVlc3RfY2FuY2VsKGVuZHBvaW50LCBjb25zdW0K KyAgICAgICAgICdwYXJhbXMnOiB7J2lkJzogTVNHX0lEfQorICAgICB9KQorIAorLSAgICB3aXRo IHB5dGVzdC5yYWlzZXMoZXhjZXB0aW9ucy5Kc29uUnBjRXhjZXB0aW9uKSBhcyBleGNfaW5mbzoK KysgICAgd2l0aCBweXRlc3QucmFpc2VzKChleGNlcHRpb25zLkpzb25ScGNFeGNlcHRpb24sIGZ1 dHVyZXMuQ2FuY2VsbGVkRXJyb3IpKSBhcyBleGNfaW5mbzoKKyAgICAgICAgIGFzc2VydCBmdXR1 cmUucmVzdWx0KHRpbWVvdXQ9MikKKy0gICAgYXNzZXJ0IGV4Y19pbmZvLnR5cGUgPT0gZXhjZXB0 aW9ucy5Kc29uUnBjUmVxdWVzdENhbmNlbGxlZAorKyAgICBhc3NlcnQgZXhjX2luZm8udHlwZSBp biAoZXhjZXB0aW9ucy5Kc29uUnBjUmVxdWVzdENhbmNlbGxlZCwgZnV0dXJlcy5DYW5jZWxsZWRF cnJvcikKKyAKKyAKKyBkZWYgdGVzdF9jb25zdW1lX25vdGlmaWNhdGlvbihlbmRwb2ludCwgZGlz cGF0Y2hlcik6CmRpZmYgLS1naXQgYS9zcmNwa2dzL3B5dGhvbjMtanNvbnJwYy1zZXJ2ZXIvdGVt cGxhdGUgYi9zcmNwa2dzL3B5dGhvbjMtanNvbnJwYy1zZXJ2ZXIvdGVtcGxhdGUKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjk5ZTYyN2I1N2M2Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9weXRob24zLWpzb25ycGMtc2VydmVyL3RlbXBsYXRlCkBAIC0wLDAgKzEs MjAgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3B5dGhvbjMtanNvbnJwYy1zZXJ2ZXInCitwa2du YW1lPXB5dGhvbjMtanNvbnJwYy1zZXJ2ZXIKK3ZlcnNpb249MC4zLjIKK3JldmlzaW9uPTEKK3dy a3NyYz0iJHtwa2duYW1lLzN9LSR7dmVyc2lvbn0iCitidWlsZF9zdHlsZT1weXRob24zLW1vZHVs ZQorcHljb21waWxlX21vZHVsZT0icHlsc19qc29ucnBjIgoraG9zdG1ha2VkZXBlbmRzPSJweXRo b24zLXNldHVwdG9vbHMiCitkZXBlbmRzPSJweXRob24zLWZ1dHVyZSBweXRob24zLXVsdHJhanNv biIKK3Nob3J0X2Rlc2M9IlB5dGhvbiBsaWJyYXJ5IGltcGxlbWVudGluZyBhc3luY2hyb25vdXMg SlNPTiBSUEMgc2VydmVyIgorbWFpbnRhaW5lcj0iazRsZWcgPGQweGlAaW5ib3gucnU+IgorbGlj ZW5zZT0iTUlUIgoraG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9weXRob24t anNvbnJwYy1zZXJ2ZXIiCitkaXN0ZmlsZXM9IiR7aG9tZXBhZ2V9L2FyY2hpdmUvJHt2ZXJzaW9u fS50YXIuZ3oiCitjaGVja3N1bT1iYzc2MmQyNGQ3ZGNjZjJmYzljZjJhZTE3NDYxMzA1MDU1NDQ1 NzBkZDg0NWU2ZWQ4ODcyMzhhNTc2N2NmNGZlCitwYXRjaF9hcmdzPSItTnAxIgorCitwb3N0X2lu c3RhbGwoKSB7CisJdmxpY2Vuc2UgTElDRU5TRQorfQoKRnJvbSA2ZjYzYzFiMzkzOTViMWQ2ODgx OTk2OGUwOWQyOTcwYjczNzY1MTM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBrNGxl ZyA8ZDB4aUBpbmJveC5ydT4KRGF0ZTogU3VuLCAyOSBEZWMgMjAxOSAyMDozMzowNiArMDMwMApT dWJqZWN0OiBbUEFUQ0ggMy8zXSBOZXcgcGFja2FnZTogcHl0aG9uMy11bHRyYWpzb24tMS4zNS4K Ci0tLQogLi4uc3RhdGljLXRvLUMtZnVuY3Rpb25zLXdoZXJlLXBvc3NpYmxlLnBhdGNoIHwgNTk3 ICsrKysrKysrKysrKysrKysrKwogLi4uL3BhdGNoZXMvbG93ZXItc3RhY2stdXNhZ2UucGF0Y2gg ICAgICAgICAgIHwgIDE5ICsKIHNyY3BrZ3MvcHl0aG9uMy11bHRyYWpzb24vdGVtcGxhdGUgICAg ICAgICAgICB8ICAxOSArCiAzIGZpbGVzIGNoYW5nZWQsIDYzNSBpbnNlcnRpb25zKCspCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9weXRob24zLXVsdHJhanNvbi9wYXRjaGVzL2FkZGVkLXN0 YXRpYy10by1DLWZ1bmN0aW9ucy13aGVyZS1wb3NzaWJsZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvcHl0aG9uMy11bHRyYWpzb24vcGF0Y2hlcy9sb3dlci1zdGFjay11c2FnZS5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcHl0aG9uMy11bHRyYWpzb24vdGVtcGxh dGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3B5dGhvbjMtdWx0cmFqc29uL3BhdGNoZXMvYWRkZWQt c3RhdGljLXRvLUMtZnVuY3Rpb25zLXdoZXJlLXBvc3NpYmxlLnBhdGNoIGIvc3JjcGtncy9weXRo b24zLXVsdHJhanNvbi9wYXRjaGVzL2FkZGVkLXN0YXRpYy10by1DLWZ1bmN0aW9ucy13aGVyZS1w b3NzaWJsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMmUx OTdkZDJiOTkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3B5dGhvbjMtdWx0cmFqc29uL3Bh dGNoZXMvYWRkZWQtc3RhdGljLXRvLUMtZnVuY3Rpb25zLXdoZXJlLXBvc3NpYmxlLnBhdGNoCkBA IC0wLDAgKzEsNTk3IEBACitGcm9tIDZjZjZjN2ZmMjVjODgzMzQ5ZThlOWU1NDY4ZTYxNDk4MzU4 ZTJlOTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBXR0ggPHdnaEB0b3JsYW4ucnU+ CitEYXRlOiBTYXQsIDI3IEF1ZyAyMDE2IDE3OjM0OjIyICswMzAwCitTdWJqZWN0OiBbUEFUQ0hd IGFkZGVkICJzdGF0aWMiIHRvIEMgZnVuY3Rpb25zLCB3aGVyZSBwb3NzaWJsZQorCisxLiBJdCBy ZWR1Y2VzIGNsdXR0ZXIgaW4gc3ltYm9sIHRhYmxlLgorMi4gSXQgZml4ZXMgaXNzdWVzIHdpdGgg Qzk5IGlubGluZSBzZW1hbnRpY3MgZm9yIGZ1bmN0aW9ucworICAgbWFya2VkIGFzIGlubGluZSAo IzIzNywgIzE4MCwgIzIyMiksIHdoaWNoIG1hbmlmZXN0cworICAgd2hlbiBjb21waWxlZCB3aXRo IEdDQz49NS4KKy0tLQorIGxpYi91bHRyYWpzb25kZWMuYyB8IDI0ICsrKysrKysrLS0tLS0tLS0K KyBsaWIvdWx0cmFqc29uZW5jLmMgfCAyNCArKysrKysrKy0tLS0tLS0tCisgcHl0aG9uL0pTT050 b09iai5jIHwgMjQgKysrKysrKystLS0tLS0tLQorIHB5dGhvbi9vYmpUb0pTT04uYyB8IDcyICsr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyA0IGZpbGVzIGNo YW5nZWQsIDcyIGluc2VydGlvbnMoKyksIDcyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv bGliL3VsdHJhanNvbmRlYy5jIGIvbGliL3VsdHJhanNvbmRlYy5jCitpbmRleCAyMWE3MzJlLi4x OWVmYzYwIDEwMDY0NAorLS0tIGEvbGliL3VsdHJhanNvbmRlYy5jCisrKysgYi9saWIvdWx0cmFq c29uZGVjLmMKK0BAIC02Niw3ICs2Niw3IEBAIHN0cnVjdCBEZWNvZGVyU3RhdGUKKyAgIEpTT05P YmplY3REZWNvZGVyICpkZWM7CisgfTsKKyAKKy1KU09CSiBGQVNUQ0FMTF9NU1ZDIGRlY29kZV9h bnkoIHN0cnVjdCBEZWNvZGVyU3RhdGUgKmRzKSBGQVNUQ0FMTF9BVFRSOworK3N0YXRpYyBKU09C SiBGQVNUQ0FMTF9NU1ZDIGRlY29kZV9hbnkoIHN0cnVjdCBEZWNvZGVyU3RhdGUgKmRzKSBGQVNU Q0FMTF9BVFRSOworIHR5cGVkZWYgSlNPQkogKCpQRk5fREVDT0RFUikoIHN0cnVjdCBEZWNvZGVy U3RhdGUgKmRzKTsKKyAKKyBzdGF0aWMgSlNPQkogU2V0RXJyb3IoIHN0cnVjdCBEZWNvZGVyU3Rh dGUgKmRzLCBpbnQgb2Zmc2V0LCBjb25zdCBjaGFyICptZXNzYWdlKQorQEAgLTc2LDEzICs3Niwx MyBAQCBzdGF0aWMgSlNPQkogU2V0RXJyb3IoIHN0cnVjdCBEZWNvZGVyU3RhdGUgKmRzLCBpbnQg b2Zmc2V0LCBjb25zdCBjaGFyICptZXNzYWdlKQorICAgcmV0dXJuIE5VTEw7CisgfQorIAorLWRv dWJsZSBjcmVhdGVEb3VibGUoZG91YmxlIGludE5lZywgZG91YmxlIGludFZhbHVlLCBkb3VibGUg ZnJjVmFsdWUsIGludCBmcmNEZWNpbWFsQ291bnQpCisrc3RhdGljIGRvdWJsZSBjcmVhdGVEb3Vi bGUoZG91YmxlIGludE5lZywgZG91YmxlIGludFZhbHVlLCBkb3VibGUgZnJjVmFsdWUsIGludCBm cmNEZWNpbWFsQ291bnQpCisgeworICAgc3RhdGljIGNvbnN0IGRvdWJsZSBnX3BvdzEwW10gPSB7 MS4wLCAwLjEsIDAuMDEsIDAuMDAxLCAwLjAwMDEsIDAuMDAwMDEsIDAuMDAwMDAxLDAuMDAwMDAw MSwgMC4wMDAwMDAwMSwgMC4wMDAwMDAwMDEsIDAuMDAwMDAwMDAwMSwgMC4wMDAwMDAwMDAwMSwg MC4wMDAwMDAwMDAwMDEsIDAuMDAwMDAwMDAwMDAwMSwgMC4wMDAwMDAwMDAwMDAwMSwgMC4wMDAw MDAwMDAwMDAwMDF9OworICAgcmV0dXJuIChpbnRWYWx1ZSArIChmcmNWYWx1ZSAqIGdfcG93MTBb ZnJjRGVjaW1hbENvdW50XSkpICogaW50TmVnOworIH0KKyAKKy1GQVNUQ0FMTF9BVFRSIEpTT0JK IEZBU1RDQUxMX01TVkMgZGVjb2RlUHJlY2lzZUZsb2F0KHN0cnVjdCBEZWNvZGVyU3RhdGUgKmRz KQorK3N0YXRpYyBGQVNUQ0FMTF9BVFRSIEpTT0JKIEZBU1RDQUxMX01TVkMgZGVjb2RlUHJlY2lz ZUZsb2F0KHN0cnVjdCBEZWNvZGVyU3RhdGUgKmRzKQorIHsKKyAgIGNoYXIgKmVuZDsKKyAgIGRv dWJsZSB2YWx1ZTsKK0BAIC05OSw3ICs5OSw3IEBAIEZBU1RDQUxMX0FUVFIgSlNPQkogRkFTVENB TExfTVNWQyBkZWNvZGVQcmVjaXNlRmxvYXQoc3RydWN0IERlY29kZXJTdGF0ZSAqZHMpCisgICBy ZXR1cm4gZHMtPmRlYy0+bmV3RG91YmxlKGRzLT5wcnYsIHZhbHVlKTsKKyB9CisgCistRkFTVENB TExfQVRUUiBKU09CSiBGQVNUQ0FMTF9NU1ZDIGRlY29kZV9udW1lcmljIChzdHJ1Y3QgRGVjb2Rl clN0YXRlICpkcykKKytzdGF0aWMgRkFTVENBTExfQVRUUiBKU09CSiBGQVNUQ0FMTF9NU1ZDIGRl Y29kZV9udW1lcmljIChzdHJ1Y3QgRGVjb2RlclN0YXRlICpkcykKKyB7CisgICBpbnQgaW50TmVn ID0gMTsKKyAgIGludCBtYW50U2l6ZSA9IDA7CitAQCAtMzA5LDcgKzMwOSw3IEBAIEZBU1RDQUxM X0FUVFIgSlNPQkogRkFTVENBTExfTVNWQyBkZWNvZGVfbnVtZXJpYyAoc3RydWN0IERlY29kZXJT dGF0ZSAqZHMpCisgICByZXR1cm4gZHMtPmRlYy0+bmV3RG91YmxlIChkcy0+cHJ2LCBjcmVhdGVE b3VibGUoIChkb3VibGUpIGludE5lZywgKGRvdWJsZSkgaW50VmFsdWUgLCBmcmNWYWx1ZSwgZGVj aW1hbENvdW50KSAqIHBvdygxMC4wLCBleHBWYWx1ZSAqIGV4cE5lZykpOworIH0KKyAKKy1GQVNU Q0FMTF9BVFRSIEpTT0JKIEZBU1RDQUxMX01TVkMgZGVjb2RlX3RydWUgKCBzdHJ1Y3QgRGVjb2Rl clN0YXRlICpkcykKKytzdGF0aWMgRkFTVENBTExfQVRUUiBKU09CSiBGQVNUQ0FMTF9NU1ZDIGRl Y29kZV90cnVlICggc3RydWN0IERlY29kZXJTdGF0ZSAqZHMpCisgeworICAgY2hhciAqb2Zmc2V0 ID0gZHMtPnN0YXJ0OworICAgb2Zmc2V0ICsrOworQEAgLTMyOSw3ICszMjksNyBAQCBGQVNUQ0FM TF9BVFRSIEpTT0JKIEZBU1RDQUxMX01TVkMgZGVjb2RlX3RydWUgKCBzdHJ1Y3QgRGVjb2RlclN0 YXRlICpkcykKKyAgIHJldHVybiBTZXRFcnJvcihkcywgLTEsICJVbmV4cGVjdGVkIGNoYXJhY3Rl ciBmb3VuZCB3aGVuIGRlY29kaW5nICd0cnVlJyIpOworIH0KKyAKKy1GQVNUQ0FMTF9BVFRSIEpT T0JKIEZBU1RDQUxMX01TVkMgZGVjb2RlX2ZhbHNlICggc3RydWN0IERlY29kZXJTdGF0ZSAqZHMp Cisrc3RhdGljIEZBU1RDQUxMX0FUVFIgSlNPQkogRkFTVENBTExfTVNWQyBkZWNvZGVfZmFsc2Ug KCBzdHJ1Y3QgRGVjb2RlclN0YXRlICpkcykKKyB7CisgICBjaGFyICpvZmZzZXQgPSBkcy0+c3Rh cnQ7CisgICBvZmZzZXQgKys7CitAQCAtMzUxLDcgKzM1MSw3IEBAIEZBU1RDQUxMX0FUVFIgSlNP QkogRkFTVENBTExfTVNWQyBkZWNvZGVfZmFsc2UgKCBzdHJ1Y3QgRGVjb2RlclN0YXRlICpkcykK KyAgIHJldHVybiBTZXRFcnJvcihkcywgLTEsICJVbmV4cGVjdGVkIGNoYXJhY3RlciBmb3VuZCB3 aGVuIGRlY29kaW5nICdmYWxzZSciKTsKKyB9CisgCistRkFTVENBTExfQVRUUiBKU09CSiBGQVNU Q0FMTF9NU1ZDIGRlY29kZV9udWxsICggc3RydWN0IERlY29kZXJTdGF0ZSAqZHMpCisrc3RhdGlj IEZBU1RDQUxMX0FUVFIgSlNPQkogRkFTVENBTExfTVNWQyBkZWNvZGVfbnVsbCAoIHN0cnVjdCBE ZWNvZGVyU3RhdGUgKmRzKQorIHsKKyAgIGNoYXIgKm9mZnNldCA9IGRzLT5zdGFydDsKKyAgIG9m ZnNldCArKzsKK0BAIC0zNzEsNyArMzcxLDcgQEAgRkFTVENBTExfQVRUUiBKU09CSiBGQVNUQ0FM TF9NU1ZDIGRlY29kZV9udWxsICggc3RydWN0IERlY29kZXJTdGF0ZSAqZHMpCisgICByZXR1cm4g U2V0RXJyb3IoZHMsIC0xLCAiVW5leHBlY3RlZCBjaGFyYWN0ZXIgZm91bmQgd2hlbiBkZWNvZGlu ZyAnbnVsbCciKTsKKyB9CisgCistRkFTVENBTExfQVRUUiB2b2lkIEZBU1RDQUxMX01TVkMgU2tp cFdoaXRlc3BhY2Uoc3RydWN0IERlY29kZXJTdGF0ZSAqZHMpCisrc3RhdGljIEZBU1RDQUxMX0FU VFIgdm9pZCBGQVNUQ0FMTF9NU1ZDIFNraXBXaGl0ZXNwYWNlKHN0cnVjdCBEZWNvZGVyU3RhdGUg KmRzKQorIHsKKyAgIGNoYXIgKm9mZnNldCA9IGRzLT5zdGFydDsKKyAKK0BAIC00MjIsNyArNDIy LDcgQEAgc3RhdGljIGNvbnN0IEpTVUlOVDggZ19kZWNvZGVyTG9va3VwWzI1Nl0gPQorICAgLyog MHhmMCAqLyA0LCA0LCA0LCA0LCA0LCA0LCA0LCA0LCBEU19VVEZMRU5FUlJPUiwgRFNfVVRGTEVO RVJST1IsIERTX1VURkxFTkVSUk9SLCBEU19VVEZMRU5FUlJPUiwgRFNfVVRGTEVORVJST1IsIERT X1VURkxFTkVSUk9SLCBEU19VVEZMRU5FUlJPUiwgRFNfVVRGTEVORVJST1IsCisgfTsKKyAKKy1G QVNUQ0FMTF9BVFRSIEpTT0JKIEZBU1RDQUxMX01TVkMgZGVjb2RlX3N0cmluZyAoIHN0cnVjdCBE ZWNvZGVyU3RhdGUgKmRzKQorK3N0YXRpYyBGQVNUQ0FMTF9BVFRSIEpTT0JKIEZBU1RDQUxMX01T VkMgZGVjb2RlX3N0cmluZyAoIHN0cnVjdCBEZWNvZGVyU3RhdGUgKmRzKQorIHsKKyAgIEpTVVRG MTYgc3VyWzJdID0geyAwIH07CisgICBpbnQgaVN1ciA9IDA7CitAQCAtNjcyLDcgKzY3Miw3IEBA IEZBU1RDQUxMX0FUVFIgSlNPQkogRkFTVENBTExfTVNWQyBkZWNvZGVfc3RyaW5nICggc3RydWN0 IERlY29kZXJTdGF0ZSAqZHMpCisgICB9CisgfQorIAorLUZBU1RDQUxMX0FUVFIgSlNPQkogRkFT VENBTExfTVNWQyBkZWNvZGVfYXJyYXkoc3RydWN0IERlY29kZXJTdGF0ZSAqZHMpCisrc3RhdGlj IEZBU1RDQUxMX0FUVFIgSlNPQkogRkFTVENBTExfTVNWQyBkZWNvZGVfYXJyYXkoc3RydWN0IERl Y29kZXJTdGF0ZSAqZHMpCisgeworICAgSlNPQkogaXRlbVZhbHVlOworICAgSlNPQkogbmV3T2Jq OworQEAgLTczNiw3ICs3MzYsNyBAQCBGQVNUQ0FMTF9BVFRSIEpTT0JKIEZBU1RDQUxMX01TVkMg ZGVjb2RlX2FycmF5KHN0cnVjdCBEZWNvZGVyU3RhdGUgKmRzKQorICAgfQorIH0KKyAKKy1GQVNU Q0FMTF9BVFRSIEpTT0JKIEZBU1RDQUxMX01TVkMgZGVjb2RlX29iamVjdCggc3RydWN0IERlY29k ZXJTdGF0ZSAqZHMpCisrc3RhdGljIEZBU1RDQUxMX0FUVFIgSlNPQkogRkFTVENBTExfTVNWQyBk ZWNvZGVfb2JqZWN0KCBzdHJ1Y3QgRGVjb2RlclN0YXRlICpkcykKKyB7CisgICBKU09CSiBpdGVt TmFtZTsKKyAgIEpTT0JKIGl0ZW1WYWx1ZTsKK0BAIC04MTksNyArODE5LDcgQEAgRkFTVENBTExf QVRUUiBKU09CSiBGQVNUQ0FMTF9NU1ZDIGRlY29kZV9vYmplY3QoIHN0cnVjdCBEZWNvZGVyU3Rh dGUgKmRzKQorICAgfQorIH0KKyAKKy1GQVNUQ0FMTF9BVFRSIEpTT0JKIEZBU1RDQUxMX01TVkMg ZGVjb2RlX2FueShzdHJ1Y3QgRGVjb2RlclN0YXRlICpkcykKKytzdGF0aWMgRkFTVENBTExfQVRU UiBKU09CSiBGQVNUQ0FMTF9NU1ZDIGRlY29kZV9hbnkoc3RydWN0IERlY29kZXJTdGF0ZSAqZHMp CisgeworICAgZm9yICg7OykKKyAgIHsKK2RpZmYgLS1naXQgYS9saWIvdWx0cmFqc29uZW5jLmMg Yi9saWIvdWx0cmFqc29uZW5jLmMKK2luZGV4IDZjMWIxMjAuLmYzMzAxNzEgMTAwNjQ0CistLS0g YS9saWIvdWx0cmFqc29uZW5jLmMKKysrKyBiL2xpYi91bHRyYWpzb25lbmMuYworQEAgLTExMiw3 ICsxMTIsNyBAQCBzdGF0aWMgdm9pZCBTZXRFcnJvciAoSlNPQkogb2JqLCBKU09OT2JqZWN0RW5j b2RlciAqZW5jLCBjb25zdCBjaGFyICptZXNzYWdlKQorIC8qCisgRklYTUU6IEtlZXAgdHJhY2sg b2YgaG93IGJpZyB0aGVzZSBnZXQgYWNyb3NzIHNldmVyYWwgZW5jb2RlciBjYWxscyBhbmQgdHJ5 IHRvIG1ha2UgYW4gZXN0aW1hdGUKKyBUaGF0IHdheSB3ZSB3b24ndCBydW4gb3VyIGhlYWQgaW50 byB0aGUgd2FsbCBlYWNoIGNhbGwgKi8KKy12b2lkIEJ1ZmZlcl9SZWFsbG9jIChKU09OT2JqZWN0 RW5jb2RlciAqZW5jLCBzaXplX3QgY2JOZWVkZWQpCisrc3RhdGljIHZvaWQgQnVmZmVyX1JlYWxs b2MgKEpTT05PYmplY3RFbmNvZGVyICplbmMsIHNpemVfdCBjYk5lZWRlZCkKKyB7CisgICBzaXpl X3QgY3VyU2l6ZSA9IGVuYy0+ZW5kIC0gZW5jLT5zdGFydDsKKyAgIHNpemVfdCBuZXdTaXplID0g Y3VyU2l6ZSAqIDI7CitAQCAtMTQ4LDcgKzE0OCw3IEBAIHZvaWQgQnVmZmVyX1JlYWxsb2MgKEpT T05PYmplY3RFbmNvZGVyICplbmMsIHNpemVfdCBjYk5lZWRlZCkKKyAgIGVuYy0+ZW5kID0gZW5j LT5zdGFydCArIG5ld1NpemU7CisgfQorIAorLUZBU1RDQUxMX0FUVFIgSU5MSU5FX1BSRUZJWCB2 b2lkIEZBU1RDQUxMX01TVkMgQnVmZmVyX0FwcGVuZFNob3J0SGV4VW5jaGVja2VkIChjaGFyICpv dXRwdXRPZmZzZXQsIHVuc2lnbmVkIHNob3J0IHZhbHVlKQorK3N0YXRpYyBGQVNUQ0FMTF9BVFRS IElOTElORV9QUkVGSVggdm9pZCBGQVNUQ0FMTF9NU1ZDIEJ1ZmZlcl9BcHBlbmRTaG9ydEhleFVu Y2hlY2tlZCAoY2hhciAqb3V0cHV0T2Zmc2V0LCB1bnNpZ25lZCBzaG9ydCB2YWx1ZSkKKyB7Cisg ICAqKG91dHB1dE9mZnNldCsrKSA9IGdfaGV4Q2hhcnNbKHZhbHVlICYgMHhmMDAwKSA+PiAxMl07 CisgICAqKG91dHB1dE9mZnNldCsrKSA9IGdfaGV4Q2hhcnNbKHZhbHVlICYgMHgwZjAwKSA+PiA4 XTsKK0BAIC0xNTYsNyArMTU2LDcgQEAgRkFTVENBTExfQVRUUiBJTkxJTkVfUFJFRklYIHZvaWQg RkFTVENBTExfTVNWQyBCdWZmZXJfQXBwZW5kU2hvcnRIZXhVbmNoZWNrZWQgKGMKKyAgICoob3V0 cHV0T2Zmc2V0KyspID0gZ19oZXhDaGFyc1sodmFsdWUgJiAweDAwMGYpID4+IDBdOworIH0KKyAK Ky1pbnQgQnVmZmVyX0VzY2FwZVN0cmluZ1VudmFsaWRhdGVkIChKU09OT2JqZWN0RW5jb2RlciAq ZW5jLCBjb25zdCBjaGFyICppbywgY29uc3QgY2hhciAqZW5kKQorK3N0YXRpYyBpbnQgQnVmZmVy X0VzY2FwZVN0cmluZ1VudmFsaWRhdGVkIChKU09OT2JqZWN0RW5jb2RlciAqZW5jLCBjb25zdCBj aGFyICppbywgY29uc3QgY2hhciAqZW5kKQorIHsKKyAgIGNoYXIgKm9mID0gKGNoYXIgKikgZW5j LT5vZmZzZXQ7CisgCitAQCAtMjYwLDcgKzI2MCw3IEBAIGludCBCdWZmZXJfRXNjYXBlU3RyaW5n VW52YWxpZGF0ZWQgKEpTT05PYmplY3RFbmNvZGVyICplbmMsIGNvbnN0IGNoYXIgKmlvLCBjb25z CisgICB9CisgfQorIAorLWludCBCdWZmZXJfRXNjYXBlU3RyaW5nVmFsaWRhdGVkIChKU09CSiBv YmosIEpTT05PYmplY3RFbmNvZGVyICplbmMsIGNvbnN0IGNoYXIgKmlvLCBjb25zdCBjaGFyICpl bmQpCisrc3RhdGljIGludCBCdWZmZXJfRXNjYXBlU3RyaW5nVmFsaWRhdGVkIChKU09CSiBvYmos IEpTT05PYmplY3RFbmNvZGVyICplbmMsIGNvbnN0IGNoYXIgKmlvLCBjb25zdCBjaGFyICplbmQp CisgeworICAgSlNVVEYzMiB1Y3M7CisgICBjaGFyICpvZiA9IChjaGFyICopIGVuYy0+b2Zmc2V0 OworQEAgLTQ5OCwxOSArNDk4LDE5IEBAIGludCBCdWZmZXJfRXNjYXBlU3RyaW5nVmFsaWRhdGVk IChKU09CSiBvYmosIEpTT05PYmplY3RFbmNvZGVyICplbmMsIGNvbnN0IGNoYXIKKyAjZGVmaW5l IEJ1ZmZlcl9BcHBlbmRDaGFyVW5jaGVja2VkKF9fZW5jLCBfX2NocikgXAorICAgICAgICAgICAg ICAgICAqKChfX2VuYyktPm9mZnNldCsrKSA9IF9fY2hyOyBcCisgCistRkFTVENBTExfQVRUUiBJ TkxJTkVfUFJFRklYIHZvaWQgRkFTVENBTExfTVNWQyBzdHJyZXZlcnNlKGNoYXIqIGJlZ2luLCBj aGFyKiBlbmQpCisrc3RhdGljIEZBU1RDQUxMX0FUVFIgSU5MSU5FX1BSRUZJWCB2b2lkIEZBU1RD QUxMX01TVkMgc3RycmV2ZXJzZShjaGFyKiBiZWdpbiwgY2hhciogZW5kKQorIHsKKyAgIGNoYXIg YXV4OworICAgd2hpbGUgKGVuZCA+IGJlZ2luKQorICAgYXV4ID0gKmVuZCwgKmVuZC0tID0gKmJl Z2luLCAqYmVnaW4rKyA9IGF1eDsKKyB9CisgCistdm9pZCBCdWZmZXJfQXBwZW5kSW5kZW50TmV3 bGluZVVuY2hlY2tlZChKU09OT2JqZWN0RW5jb2RlciAqZW5jKQorK3N0YXRpYyB2b2lkIEJ1ZmZl cl9BcHBlbmRJbmRlbnROZXdsaW5lVW5jaGVja2VkKEpTT05PYmplY3RFbmNvZGVyICplbmMpCisg eworICAgaWYgKGVuYy0+aW5kZW50ID4gMCkgQnVmZmVyX0FwcGVuZENoYXJVbmNoZWNrZWQoZW5j LCAnXG4nKTsKKyB9CisgCistdm9pZCBCdWZmZXJfQXBwZW5kSW5kZW50VW5jaGVja2VkKEpTT05P YmplY3RFbmNvZGVyICplbmMsIEpTSU5UMzIgdmFsdWUpCisrc3RhdGljIHZvaWQgQnVmZmVyX0Fw cGVuZEluZGVudFVuY2hlY2tlZChKU09OT2JqZWN0RW5jb2RlciAqZW5jLCBKU0lOVDMyIHZhbHVl KQorIHsKKyAgIGludCBpOworICAgaWYgKGVuYy0+aW5kZW50ID4gMCkKK0BAIC01MTksNyArNTE5 LDcgQEAgdm9pZCBCdWZmZXJfQXBwZW5kSW5kZW50VW5jaGVja2VkKEpTT05PYmplY3RFbmNvZGVy ICplbmMsIEpTSU5UMzIgdmFsdWUpCisgICAgICAgICBCdWZmZXJfQXBwZW5kQ2hhclVuY2hlY2tl ZChlbmMsICcgJyk7CisgfQorIAorLXZvaWQgQnVmZmVyX0FwcGVuZEludFVuY2hlY2tlZChKU09O T2JqZWN0RW5jb2RlciAqZW5jLCBKU0lOVDMyIHZhbHVlKQorK3N0YXRpYyB2b2lkIEJ1ZmZlcl9B cHBlbmRJbnRVbmNoZWNrZWQoSlNPTk9iamVjdEVuY29kZXIgKmVuYywgSlNJTlQzMiB2YWx1ZSkK KyB7CisgICBjaGFyKiB3c3RyOworICAgSlNVSU5UMzIgdXZhbHVlID0gKHZhbHVlIDwgMCkgPyAt dmFsdWUgOiB2YWx1ZTsKK0BAIC01MzUsNyArNTM1LDcgQEAgdm9pZCBCdWZmZXJfQXBwZW5kSW50 VW5jaGVja2VkKEpTT05PYmplY3RFbmNvZGVyICplbmMsIEpTSU5UMzIgdmFsdWUpCisgICBlbmMt Pm9mZnNldCArPSAod3N0ciAtIChlbmMtPm9mZnNldCkpOworIH0KKyAKKy12b2lkIEJ1ZmZlcl9B cHBlbmRMb25nVW5jaGVja2VkKEpTT05PYmplY3RFbmNvZGVyICplbmMsIEpTSU5UNjQgdmFsdWUp Cisrc3RhdGljIHZvaWQgQnVmZmVyX0FwcGVuZExvbmdVbmNoZWNrZWQoSlNPTk9iamVjdEVuY29k ZXIgKmVuYywgSlNJTlQ2NCB2YWx1ZSkKKyB7CisgICBjaGFyKiB3c3RyOworICAgSlNVSU5UNjQg dXZhbHVlID0gKHZhbHVlIDwgMCkgPyAtdmFsdWUgOiB2YWx1ZTsKK0BAIC01NTEsNyArNTUxLDcg QEAgdm9pZCBCdWZmZXJfQXBwZW5kTG9uZ1VuY2hlY2tlZChKU09OT2JqZWN0RW5jb2RlciAqZW5j LCBKU0lOVDY0IHZhbHVlKQorICAgZW5jLT5vZmZzZXQgKz0gKHdzdHIgLSAoZW5jLT5vZmZzZXQp KTsKKyB9CisgCistdm9pZCBCdWZmZXJfQXBwZW5kVW5zaWduZWRMb25nVW5jaGVja2VkKEpTT05P YmplY3RFbmNvZGVyICplbmMsIEpTVUlOVDY0IHZhbHVlKQorK3N0YXRpYyB2b2lkIEJ1ZmZlcl9B cHBlbmRVbnNpZ25lZExvbmdVbmNoZWNrZWQoSlNPTk9iamVjdEVuY29kZXIgKmVuYywgSlNVSU5U NjQgdmFsdWUpCisgeworICAgY2hhciogd3N0cjsKKyAgIEpTVUlOVDY0IHV2YWx1ZSA9IHZhbHVl OworQEAgLTU2Niw3ICs1NjYsNyBAQCB2b2lkIEJ1ZmZlcl9BcHBlbmRVbnNpZ25lZExvbmdVbmNo ZWNrZWQoSlNPTk9iamVjdEVuY29kZXIgKmVuYywgSlNVSU5UNjQgdmFsdWUpCisgICBlbmMtPm9m ZnNldCArPSAod3N0ciAtIChlbmMtPm9mZnNldCkpOworIH0KKyAKKy1pbnQgQnVmZmVyX0FwcGVu ZERvdWJsZVVuY2hlY2tlZChKU09CSiBvYmosIEpTT05PYmplY3RFbmNvZGVyICplbmMsIGRvdWJs ZSB2YWx1ZSkKKytzdGF0aWMgaW50IEJ1ZmZlcl9BcHBlbmREb3VibGVVbmNoZWNrZWQoSlNPQkog b2JqLCBKU09OT2JqZWN0RW5jb2RlciAqZW5jLCBkb3VibGUgdmFsdWUpCisgeworICAgLyogaWYg aW5wdXQgaXMgbGFyZ2VyIHRoYW4gdGhyZXNfbWF4LCByZXZlcnQgdG8gZXhwb25lbnRpYWwgKi8K KyAgIGNvbnN0IGRvdWJsZSB0aHJlc19tYXggPSAoZG91YmxlKSAxZTE2IC0gMTsKK0BAIC03MTQs NyArNzE0LDcgQEAgSGFuZGxlIGludGVncmF0aW9uIGZ1bmN0aW9ucyByZXR1cm5pbmcgTlVMTCBo ZXJlICovCisgRklYTUU6CisgUGVyaGFwcyBpbXBsZW1lbnQgcmVjdXJzaW9uIGRldGVjdGlvbiAq LworIAorLXZvaWQgZW5jb2RlKEpTT0JKIG9iaiwgSlNPTk9iamVjdEVuY29kZXIgKmVuYywgY29u c3QgY2hhciAqbmFtZSwgc2l6ZV90IGNiTmFtZSkKKytzdGF0aWMgdm9pZCBlbmNvZGUoSlNPQkog b2JqLCBKU09OT2JqZWN0RW5jb2RlciAqZW5jLCBjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgY2JO YW1lKQorIHsKKyAgIGNvbnN0IGNoYXIgKnZhbHVlOworICAgY2hhciAqb2JqTmFtZTsKK2RpZmYg LS1naXQgYS9weXRob24vSlNPTnRvT2JqLmMgYi9weXRob24vSlNPTnRvT2JqLmMKK2luZGV4IDc5 ZDlmMWEuLjZjZWYwODggMTAwNjQ0CistLS0gYS9weXRob24vSlNPTnRvT2JqLmMKKysrKyBiL3B5 dGhvbi9KU09OdG9PYmouYworQEAgLTQzLDcgKzQzLDcgQEAgTnVtZXJpYyBkZWNvZGVyIGRlcml2 ZWQgZnJvbSBmcm9tIFRDTCBsaWJyYXJ5CisgLy8jZGVmaW5lIFBSSU5UTUFSSygpIGZwcmludGYo c3RkZXJyLCAiJXM6IE1BUksoJWQpXG4iLCBfX0ZJTEVfXywgX19MSU5FX18pCisgI2RlZmluZSBQ UklOVE1BUksoKQorIAorLXZvaWQgT2JqZWN0X29iamVjdEFkZEtleSh2b2lkICpwcnYsIEpTT0JK IG9iaiwgSlNPQkogbmFtZSwgSlNPQkogdmFsdWUpCisrc3RhdGljIHZvaWQgT2JqZWN0X29iamVj dEFkZEtleSh2b2lkICpwcnYsIEpTT0JKIG9iaiwgSlNPQkogbmFtZSwgSlNPQkogdmFsdWUpCisg eworICAgUHlEaWN0X1NldEl0ZW0gKG9iaiwgbmFtZSwgdmFsdWUpOworICAgUHlfREVDUkVGKCAo UHlPYmplY3QgKikgbmFtZSk7CitAQCAtNTEsNTkgKzUxLDU5IEBAIHZvaWQgT2JqZWN0X29iamVj dEFkZEtleSh2b2lkICpwcnYsIEpTT0JKIG9iaiwgSlNPQkogbmFtZSwgSlNPQkogdmFsdWUpCisg ICByZXR1cm47CisgfQorIAorLXZvaWQgT2JqZWN0X2FycmF5QWRkSXRlbSh2b2lkICpwcnYsIEpT T0JKIG9iaiwgSlNPQkogdmFsdWUpCisrc3RhdGljIHZvaWQgT2JqZWN0X2FycmF5QWRkSXRlbSh2 b2lkICpwcnYsIEpTT0JKIG9iaiwgSlNPQkogdmFsdWUpCisgeworICAgUHlMaXN0X0FwcGVuZChv YmosIHZhbHVlKTsKKyAgIFB5X0RFQ1JFRiggKFB5T2JqZWN0ICopIHZhbHVlKTsKKyAgIHJldHVy bjsKKyB9CisgCistSlNPQkogT2JqZWN0X25ld1N0cmluZyh2b2lkICpwcnYsIHdjaGFyX3QgKnN0 YXJ0LCB3Y2hhcl90ICplbmQpCisrc3RhdGljIEpTT0JKIE9iamVjdF9uZXdTdHJpbmcodm9pZCAq cHJ2LCB3Y2hhcl90ICpzdGFydCwgd2NoYXJfdCAqZW5kKQorIHsKKyAgIHJldHVybiBQeVVuaWNv ZGVfRnJvbVdpZGVDaGFyIChzdGFydCwgKGVuZCAtIHN0YXJ0KSk7CisgfQorIAorLUpTT0JKIE9i amVjdF9uZXdUcnVlKHZvaWQgKnBydikKKytzdGF0aWMgSlNPQkogT2JqZWN0X25ld1RydWUodm9p ZCAqcHJ2KQorIHsKKyAgIFB5X1JFVFVSTl9UUlVFOworIH0KKyAKKy1KU09CSiBPYmplY3RfbmV3 RmFsc2Uodm9pZCAqcHJ2KQorK3N0YXRpYyBKU09CSiBPYmplY3RfbmV3RmFsc2Uodm9pZCAqcHJ2 KQorIHsKKyAgIFB5X1JFVFVSTl9GQUxTRTsKKyB9CisgCistSlNPQkogT2JqZWN0X25ld051bGwo dm9pZCAqcHJ2KQorK3N0YXRpYyBKU09CSiBPYmplY3RfbmV3TnVsbCh2b2lkICpwcnYpCisgewor ICAgUHlfUkVUVVJOX05PTkU7CisgfQorIAorLUpTT0JKIE9iamVjdF9uZXdPYmplY3Qodm9pZCAq cHJ2KQorK3N0YXRpYyBKU09CSiBPYmplY3RfbmV3T2JqZWN0KHZvaWQgKnBydikKKyB7CisgICBy ZXR1cm4gUHlEaWN0X05ldygpOworIH0KKyAKKy1KU09CSiBPYmplY3RfbmV3QXJyYXkodm9pZCAq cHJ2KQorK3N0YXRpYyBKU09CSiBPYmplY3RfbmV3QXJyYXkodm9pZCAqcHJ2KQorIHsKKyAgIHJl dHVybiBQeUxpc3RfTmV3KDApOworIH0KKyAKKy1KU09CSiBPYmplY3RfbmV3SW50ZWdlcih2b2lk ICpwcnYsIEpTSU5UMzIgdmFsdWUpCisrc3RhdGljIEpTT0JKIE9iamVjdF9uZXdJbnRlZ2VyKHZv aWQgKnBydiwgSlNJTlQzMiB2YWx1ZSkKKyB7CisgICByZXR1cm4gUHlJbnRfRnJvbUxvbmcoIChs b25nKSB2YWx1ZSk7CisgfQorIAorLUpTT0JKIE9iamVjdF9uZXdMb25nKHZvaWQgKnBydiwgSlNJ TlQ2NCB2YWx1ZSkKKytzdGF0aWMgSlNPQkogT2JqZWN0X25ld0xvbmcodm9pZCAqcHJ2LCBKU0lO VDY0IHZhbHVlKQorIHsKKyAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmdMb25nICh2YWx1ZSk7Cisg fQorIAorLUpTT0JKIE9iamVjdF9uZXdVbnNpZ25lZExvbmcodm9pZCAqcHJ2LCBKU1VJTlQ2NCB2 YWx1ZSkKKytzdGF0aWMgSlNPQkogT2JqZWN0X25ld1Vuc2lnbmVkTG9uZyh2b2lkICpwcnYsIEpT VUlOVDY0IHZhbHVlKQorIHsKKyAgIHJldHVybiBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZ0xvbmcg KHZhbHVlKTsKKyB9CisgCistSlNPQkogT2JqZWN0X25ld0RvdWJsZSh2b2lkICpwcnYsIGRvdWJs ZSB2YWx1ZSkKKytzdGF0aWMgSlNPQkogT2JqZWN0X25ld0RvdWJsZSh2b2lkICpwcnYsIGRvdWJs ZSB2YWx1ZSkKKyB7CisgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKHZhbHVlKTsKKyB9Citk aWZmIC0tZ2l0IGEvcHl0aG9uL29ialRvSlNPTi5jIGIvcHl0aG9uL29ialRvSlNPTi5jCitpbmRl eCAwNGE0NTc1Li4xOTYwZDQwIDEwMDY0NAorLS0tIGEvcHl0aG9uL29ialRvSlNPTi5jCisrKysg Yi9weXRob24vb2JqVG9KU09OLmMKK0BAIC0yMjYsNyArMjI2LDcgQEAgc3RhdGljIHZvaWQgKlB5 RGF0ZVRvSU5UNjQoSlNPQkogX29iaiwgSlNPTlR5cGVDb250ZXh0ICp0Yywgdm9pZCAqb3V0VmFs dWUsIHNpemUKKyAgIHJldHVybiBOVUxMOworIH0KKyAKKy1pbnQgVHVwbGVfaXRlck5leHQoSlNP Qkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorK3N0YXRpYyBpbnQgVHVwbGVfaXRlck5leHQo SlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorIHsKKyAgIFB5T2JqZWN0ICppdGVtOwor IAorQEAgLTI0MiwyMSArMjQyLDIxIEBAIGludCBUdXBsZV9pdGVyTmV4dChKU09CSiBvYmosIEpT T05UeXBlQ29udGV4dCAqdGMpCisgICByZXR1cm4gMTsKKyB9CisgCistdm9pZCBUdXBsZV9pdGVy RW5kKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKytzdGF0aWMgdm9pZCBUdXBsZV9p dGVyRW5kKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKyB7CisgfQorIAorLUpTT0JK IFR1cGxlX2l0ZXJHZXRWYWx1ZShKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisrc3Rh dGljIEpTT0JKIFR1cGxlX2l0ZXJHZXRWYWx1ZShKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAq dGMpCisgeworICAgcmV0dXJuIEdFVF9UQyh0YyktPml0ZW1WYWx1ZTsKKyB9CisgCistY2hhciAq VHVwbGVfaXRlckdldE5hbWUoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjLCBzaXplX3Qg Km91dExlbikKKytzdGF0aWMgY2hhciAqVHVwbGVfaXRlckdldE5hbWUoSlNPQkogb2JqLCBKU09O VHlwZUNvbnRleHQgKnRjLCBzaXplX3QgKm91dExlbikKKyB7CisgICByZXR1cm4gTlVMTDsKKyB9 CisgCistaW50IEl0ZXJfaXRlck5leHQoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQor K3N0YXRpYyBpbnQgSXRlcl9pdGVyTmV4dChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMp CisgeworICAgUHlPYmplY3QgKml0ZW07CisgCitAQCAtMjgyLDcgKzI4Miw3IEBAIGludCBJdGVy X2l0ZXJOZXh0KEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKyAgIHJldHVybiAxOwor IH0KKyAKKy12b2lkIEl0ZXJfaXRlckVuZChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMp Cisrc3RhdGljIHZvaWQgSXRlcl9pdGVyRW5kKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0 YykKKyB7CisgICBpZiAoR0VUX1RDKHRjKS0+aXRlbVZhbHVlKQorICAgeworQEAgLTI5NywxNyAr Mjk3LDE3IEBAIHZvaWQgSXRlcl9pdGVyRW5kKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0 YykKKyAgIH0KKyB9CisgCistSlNPQkogSXRlcl9pdGVyR2V0VmFsdWUoSlNPQkogb2JqLCBKU09O VHlwZUNvbnRleHQgKnRjKQorK3N0YXRpYyBKU09CSiBJdGVyX2l0ZXJHZXRWYWx1ZShKU09CSiBv YmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgeworICAgcmV0dXJuIEdFVF9UQyh0YyktPml0ZW1W YWx1ZTsKKyB9CisgCistY2hhciAqSXRlcl9pdGVyR2V0TmFtZShKU09CSiBvYmosIEpTT05UeXBl Q29udGV4dCAqdGMsIHNpemVfdCAqb3V0TGVuKQorK3N0YXRpYyBjaGFyICpJdGVyX2l0ZXJHZXRO YW1lKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0Yywgc2l6ZV90ICpvdXRMZW4pCisgewor ICAgcmV0dXJuIE5VTEw7CisgfQorIAorLXZvaWQgRGlyX2l0ZXJFbmQoSlNPQkogb2JqLCBKU09O VHlwZUNvbnRleHQgKnRjKQorK3N0YXRpYyB2b2lkIERpcl9pdGVyRW5kKEpTT0JKIG9iaiwgSlNP TlR5cGVDb250ZXh0ICp0YykKKyB7CisgICBpZiAoR0VUX1RDKHRjKS0+aXRlbVZhbHVlKQorICAg eworQEAgLTMyNSw3ICszMjUsNyBAQCB2b2lkIERpcl9pdGVyRW5kKEpTT0JKIG9iaiwgSlNPTlR5 cGVDb250ZXh0ICp0YykKKyAgIFBSSU5UTUFSSygpOworIH0KKyAKKy1pbnQgRGlyX2l0ZXJOZXh0 KEpTT0JKIF9vYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisrc3RhdGljIGludCBEaXJfaXRlck5l eHQoSlNPQkogX29iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKyB7CisgICBQeU9iamVjdCAqb2Jq ID0gKFB5T2JqZWN0ICopIF9vYmo7CisgICBQeU9iamVjdCAqaXRlbVZhbHVlID0gR0VUX1RDKHRj KS0+aXRlbVZhbHVlOworQEAgLTQwMSwyMCArNDAxLDIwIEBAIGludCBEaXJfaXRlck5leHQoSlNP QkogX29iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKyAgIHJldHVybiAxOworIH0KKyAKKy1KU09C SiBEaXJfaXRlckdldFZhbHVlKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKytzdGF0 aWMgSlNPQkogRGlyX2l0ZXJHZXRWYWx1ZShKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMp CisgeworICAgUFJJTlRNQVJLKCk7CisgICByZXR1cm4gR0VUX1RDKHRjKS0+aXRlbVZhbHVlOwor IH0KKyAKKy1jaGFyICpEaXJfaXRlckdldE5hbWUoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQg KnRjLCBzaXplX3QgKm91dExlbikKKytzdGF0aWMgY2hhciAqRGlyX2l0ZXJHZXROYW1lKEpTT0JK IG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0Yywgc2l6ZV90ICpvdXRMZW4pCisgeworICAgUFJJTlRN QVJLKCk7CisgICAqb3V0TGVuID0gUHlTdHJpbmdfR0VUX1NJWkUoR0VUX1RDKHRjKS0+aXRlbU5h bWUpOworICAgcmV0dXJuIFB5U3RyaW5nX0FTX1NUUklORyhHRVRfVEModGMpLT5pdGVtTmFtZSk7 CisgfQorIAorLWludCBMaXN0X2l0ZXJOZXh0KEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0 YykKKytzdGF0aWMgaW50IExpc3RfaXRlck5leHQoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQg KnRjKQorIHsKKyAgIGlmIChHRVRfVEModGMpLT5pbmRleCA+PSBHRVRfVEModGMpLT5zaXplKQor ICAgeworQEAgLTQyNywxNiArNDI3LDE2IEBAIGludCBMaXN0X2l0ZXJOZXh0KEpTT0JKIG9iaiwg SlNPTlR5cGVDb250ZXh0ICp0YykKKyAgIHJldHVybiAxOworIH0KKyAKKy12b2lkIExpc3RfaXRl ckVuZChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisrc3RhdGljIHZvaWQgTGlzdF9p dGVyRW5kKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKyB7CisgfQorIAorLUpTT0JK IExpc3RfaXRlckdldFZhbHVlKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKytzdGF0 aWMgSlNPQkogTGlzdF9pdGVyR2V0VmFsdWUoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRj KQorIHsKKyAgIHJldHVybiBHRVRfVEModGMpLT5pdGVtVmFsdWU7CisgfQorIAorLWNoYXIgKkxp c3RfaXRlckdldE5hbWUoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjLCBzaXplX3QgKm91 dExlbikKKytzdGF0aWMgY2hhciAqTGlzdF9pdGVyR2V0TmFtZShKU09CSiBvYmosIEpTT05UeXBl Q29udGV4dCAqdGMsIHNpemVfdCAqb3V0TGVuKQorIHsKKyAgIHJldHVybiBOVUxMOworIH0KK0BA IC00NDcsNyArNDQ3LDcgQEAgY2hhciAqTGlzdF9pdGVyR2V0TmFtZShKU09CSiBvYmosIEpTT05U eXBlQ29udGV4dCAqdGMsIHNpemVfdCAqb3V0TGVuKQorIC8vIGl0ZW1WYWx1ZSBpcyBib3Jyb3dl ZCBmcm9tIG9iamVjdCAod2hpY2ggaXMgZGljdCkuIE5vIHJlZkNvdW50aW5nCisgLy89PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorIAorLWludCBEaWN0X2l0ZXJOZXh0KEpTT0JKIG9iaiwgSlNPTlR5cGVD b250ZXh0ICp0YykKKytzdGF0aWMgaW50IERpY3RfaXRlck5leHQoSlNPQkogb2JqLCBKU09OVHlw ZUNvbnRleHQgKnRjKQorIHsKKyAjaWYgUFlfTUFKT1JfVkVSU0lPTiA+PSAzCisgICBQeU9iamVj dCogaXRlbU5hbWVUbXA7CitAQCAtNDg4LDcgKzQ4OCw3IEBAIGludCBEaWN0X2l0ZXJOZXh0KEpT T0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKyAgICAgcmV0dXJuIDE7CisgfQorIAorLXZv aWQgRGljdF9pdGVyRW5kKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKytzdGF0aWMg dm9pZCBEaWN0X2l0ZXJFbmQoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorIHsKKyAg IGlmIChHRVRfVEModGMpLT5pdGVtTmFtZSkKKyAgIHsKK0BAIC00OTksMTggKzQ5OSwxOCBAQCB2 b2lkIERpY3RfaXRlckVuZChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgICBQUklO VE1BUksoKTsKKyB9CisgCistSlNPQkogRGljdF9pdGVyR2V0VmFsdWUoSlNPQkogb2JqLCBKU09O VHlwZUNvbnRleHQgKnRjKQorK3N0YXRpYyBKU09CSiBEaWN0X2l0ZXJHZXRWYWx1ZShKU09CSiBv YmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgeworICAgcmV0dXJuIEdFVF9UQyh0YyktPml0ZW1W YWx1ZTsKKyB9CisgCistY2hhciAqRGljdF9pdGVyR2V0TmFtZShKU09CSiBvYmosIEpTT05UeXBl Q29udGV4dCAqdGMsIHNpemVfdCAqb3V0TGVuKQorK3N0YXRpYyBjaGFyICpEaWN0X2l0ZXJHZXRO YW1lKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0Yywgc2l6ZV90ICpvdXRMZW4pCisgewor ICAgKm91dExlbiA9IFB5U3RyaW5nX0dFVF9TSVpFKEdFVF9UQyh0YyktPml0ZW1OYW1lKTsKKyAg IHJldHVybiBQeVN0cmluZ19BU19TVFJJTkcoR0VUX1RDKHRjKS0+aXRlbU5hbWUpOworIH0KKyAK Ky1pbnQgU29ydGVkRGljdF9pdGVyTmV4dChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMp Cisrc3RhdGljIGludCBTb3J0ZWREaWN0X2l0ZXJOZXh0KEpTT0JKIG9iaiwgSlNPTlR5cGVDb250 ZXh0ICp0YykKKyB7CisgICBQeU9iamVjdCAqaXRlbXMgPSBOVUxMLCAqaXRlbSA9IE5VTEwsICpr ZXkgPSBOVUxMLCAqdmFsdWUgPSBOVUxMOworICAgUHlfc3NpemVfdCBpLCBuaXRlbXM7CitAQCAt NjAzLDcgKzYwMyw3IEBAIGludCBTb3J0ZWREaWN0X2l0ZXJOZXh0KEpTT0JKIG9iaiwgSlNPTlR5 cGVDb250ZXh0ICp0YykKKyAgIHJldHVybiAtMTsKKyB9CisgCistdm9pZCBTb3J0ZWREaWN0X2l0 ZXJFbmQoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorK3N0YXRpYyB2b2lkIFNvcnRl ZERpY3RfaXRlckVuZChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgeworICAgR0VU X1RDKHRjKS0+aXRlbU5hbWUgPSBOVUxMOworICAgR0VUX1RDKHRjKS0+aXRlbVZhbHVlID0gTlVM TDsKK0BAIC02MTIsMTkgKzYxMiwxOSBAQCB2b2lkIFNvcnRlZERpY3RfaXRlckVuZChKU09CSiBv YmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgICBQUklOVE1BUksoKTsKKyB9CisgCistSlNPQkog U29ydGVkRGljdF9pdGVyR2V0VmFsdWUoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQor K3N0YXRpYyBKU09CSiBTb3J0ZWREaWN0X2l0ZXJHZXRWYWx1ZShKU09CSiBvYmosIEpTT05UeXBl Q29udGV4dCAqdGMpCisgeworICAgcmV0dXJuIEdFVF9UQyh0YyktPml0ZW1WYWx1ZTsKKyB9Cisg CistY2hhciAqU29ydGVkRGljdF9pdGVyR2V0TmFtZShKU09CSiBvYmosIEpTT05UeXBlQ29udGV4 dCAqdGMsIHNpemVfdCAqb3V0TGVuKQorK3N0YXRpYyBjaGFyICpTb3J0ZWREaWN0X2l0ZXJHZXRO YW1lKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0Yywgc2l6ZV90ICpvdXRMZW4pCisgewor ICAgKm91dExlbiA9IFB5U3RyaW5nX0dFVF9TSVpFKEdFVF9UQyh0YyktPml0ZW1OYW1lKTsKKyAg IHJldHVybiBQeVN0cmluZ19BU19TVFJJTkcoR0VUX1RDKHRjKS0+aXRlbU5hbWUpOworIH0KKyAK KyAKKy12b2lkIFNldHVwRGljdEl0ZXIoUHlPYmplY3QgKmRpY3RPYmosIFR5cGVDb250ZXh0ICpw YywgSlNPTk9iamVjdEVuY29kZXIgKmVuYykKKytzdGF0aWMgdm9pZCBTZXR1cERpY3RJdGVyKFB5 T2JqZWN0ICpkaWN0T2JqLCBUeXBlQ29udGV4dCAqcGMsIEpTT05PYmplY3RFbmNvZGVyICplbmMp CisgeworICAgaWYgKGVuYy0+c29ydEtleXMpIHsKKyAgICAgcGMtPml0ZXJFbmQgPSBTb3J0ZWRE aWN0X2l0ZXJFbmQ7CitAQCAtNjQyLDcgKzY0Miw3IEBAIHZvaWQgU2V0dXBEaWN0SXRlcihQeU9i amVjdCAqZGljdE9iaiwgVHlwZUNvbnRleHQgKnBjLCBKU09OT2JqZWN0RW5jb2RlciAqZW5jKQor ICAgcGMtPmluZGV4ID0gMDsKKyB9CisgCistdm9pZCBPYmplY3RfYmVnaW5UeXBlQ29udGV4dCAo SlNPQkogX29iaiwgSlNPTlR5cGVDb250ZXh0ICp0YywgSlNPTk9iamVjdEVuY29kZXIgKmVuYykK KytzdGF0aWMgdm9pZCBPYmplY3RfYmVnaW5UeXBlQ29udGV4dCAoSlNPQkogX29iaiwgSlNPTlR5 cGVDb250ZXh0ICp0YywgSlNPTk9iamVjdEVuY29kZXIgKmVuYykKKyB7CisgICBQeU9iamVjdCAq b2JqLCAqZXhjLCAqaXRlcjsKKyAgIFR5cGVDb250ZXh0ICpwYzsKK0BAIC05MjksNyArOTI5LDcg QEAgdm9pZCBPYmplY3RfYmVnaW5UeXBlQ29udGV4dCAoSlNPQkogX29iaiwgSlNPTlR5cGVDb250 ZXh0ICp0YywgSlNPTk9iamVjdEVuY29kZXIKKyAgIHJldHVybjsKKyB9CisgCistdm9pZCBPYmpl Y3RfZW5kVHlwZUNvbnRleHQoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorK3N0YXRp YyB2b2lkIE9iamVjdF9lbmRUeXBlQ29udGV4dChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAq dGMpCisgeworICAgUHlfWERFQ1JFRihHRVRfVEModGMpLT5uZXdPYmopOworIAorQEAgLTkzNywz MyArOTM3LDMzIEBAIHZvaWQgT2JqZWN0X2VuZFR5cGVDb250ZXh0KEpTT0JKIG9iaiwgSlNPTlR5 cGVDb250ZXh0ICp0YykKKyAgIHRjLT5wcnYgPSBOVUxMOworIH0KKyAKKy1jb25zdCBjaGFyICpP YmplY3RfZ2V0U3RyaW5nVmFsdWUoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjLCBzaXpl X3QgKl9vdXRMZW4pCisrc3RhdGljIGNvbnN0IGNoYXIgKk9iamVjdF9nZXRTdHJpbmdWYWx1ZShK U09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMsIHNpemVfdCAqX291dExlbikKKyB7CisgICBy ZXR1cm4gR0VUX1RDKHRjKS0+UHlUeXBlVG9KU09OIChvYmosIHRjLCBOVUxMLCBfb3V0TGVuKTsK KyB9CisgCistSlNJTlQ2NCBPYmplY3RfZ2V0TG9uZ1ZhbHVlKEpTT0JKIG9iaiwgSlNPTlR5cGVD b250ZXh0ICp0YykKKytzdGF0aWMgSlNJTlQ2NCBPYmplY3RfZ2V0TG9uZ1ZhbHVlKEpTT0JKIG9i aiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKyB7CisgICBKU0lOVDY0IHJldDsKKyAgIEdFVF9UQyh0 YyktPlB5VHlwZVRvSlNPTiAob2JqLCB0YywgJnJldCwgTlVMTCk7CisgICByZXR1cm4gcmV0Owor IH0KKyAKKy1KU1VJTlQ2NCBPYmplY3RfZ2V0VW5zaWduZWRMb25nVmFsdWUoSlNPQkogb2JqLCBK U09OVHlwZUNvbnRleHQgKnRjKQorK3N0YXRpYyBKU1VJTlQ2NCBPYmplY3RfZ2V0VW5zaWduZWRM b25nVmFsdWUoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorIHsKKyAgIEpTVUlOVDY0 IHJldDsKKyAgIEdFVF9UQyh0YyktPlB5VHlwZVRvSlNPTiAob2JqLCB0YywgJnJldCwgTlVMTCk7 CisgICByZXR1cm4gcmV0OworIH0KKyAKKy1KU0lOVDMyIE9iamVjdF9nZXRJbnRWYWx1ZShKU09C SiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisrc3RhdGljIEpTSU5UMzIgT2JqZWN0X2dldElu dFZhbHVlKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKyB7CisgICBKU0lOVDMyIHJl dDsKKyAgIEdFVF9UQyh0YyktPlB5VHlwZVRvSlNPTiAob2JqLCB0YywgJnJldCwgTlVMTCk7Cisg ICByZXR1cm4gcmV0OworIH0KKyAKKy1kb3VibGUgT2JqZWN0X2dldERvdWJsZVZhbHVlKEpTT0JK IG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKytzdGF0aWMgZG91YmxlIE9iamVjdF9nZXREb3Vi bGVWYWx1ZShKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgeworICAgZG91YmxlIHJl dDsKKyAgIEdFVF9UQyh0YyktPlB5VHlwZVRvSlNPTiAob2JqLCB0YywgJnJldCwgTlVMTCk7CitA QCAtOTc1LDIyICs5NzUsMjIgQEAgc3RhdGljIHZvaWQgT2JqZWN0X3JlbGVhc2VPYmplY3QoSlNP QkogX29iaikKKyAgIFB5X0RFQ1JFRiggKFB5T2JqZWN0ICopIF9vYmopOworIH0KKyAKKy1pbnQg T2JqZWN0X2l0ZXJOZXh0KEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKytzdGF0aWMg aW50IE9iamVjdF9pdGVyTmV4dChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgewor ICAgcmV0dXJuIEdFVF9UQyh0YyktPml0ZXJOZXh0KG9iaiwgdGMpOworIH0KKyAKKy12b2lkIE9i amVjdF9pdGVyRW5kKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKytzdGF0aWMgdm9p ZCBPYmplY3RfaXRlckVuZChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgeworICAg R0VUX1RDKHRjKS0+aXRlckVuZChvYmosIHRjKTsKKyB9CisgCistSlNPQkogT2JqZWN0X2l0ZXJH ZXRWYWx1ZShKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisrc3RhdGljIEpTT0JKIE9i amVjdF9pdGVyR2V0VmFsdWUoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorIHsKKyAg IHJldHVybiBHRVRfVEModGMpLT5pdGVyR2V0VmFsdWUob2JqLCB0Yyk7CisgfQorIAorLWNoYXIg Kk9iamVjdF9pdGVyR2V0TmFtZShKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMsIHNpemVf dCAqb3V0TGVuKQorK3N0YXRpYyBjaGFyICpPYmplY3RfaXRlckdldE5hbWUoSlNPQkogb2JqLCBK U09OVHlwZUNvbnRleHQgKnRjLCBzaXplX3QgKm91dExlbikKKyB7CisgICByZXR1cm4gR0VUX1RD KHRjKS0+aXRlckdldE5hbWUob2JqLCB0Yywgb3V0TGVuKTsKKyB9CisKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcHl0aG9uMy11bHRyYWpzb24vcGF0Y2hlcy9sb3dlci1zdGFjay11c2FnZS5wYXRjaCBi L3NyY3BrZ3MvcHl0aG9uMy11bHRyYWpzb24vcGF0Y2hlcy9sb3dlci1zdGFjay11c2FnZS5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZGUzMjU4Y2ZkZWIKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3B5dGhvbjMtdWx0cmFqc29uL3BhdGNoZXMvbG93ZXIt c3RhY2stdXNhZ2UucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorRnJvbTogU2hpeiA8aGlAc2hpei5t ZT4KK0J1Zy1SZXBvcnQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9lc25tZS91bHRyYWpzb24vaXNzdWVz LzI1NAorCittdXNsIGRlZmF1bHQgdGhyZWFkIHNpemUgaXMgODAga2lCLCBzbyB1c2luZyAxMjgg a2lCIGJ5IGRlZmF1bHQgd2lsbAorb3ZlcmZsb3cgdGhlIHN0YWNrIGFuZCBjYXVzZSBzZWdtZW50 YXRpb24gZmF1bHRzLgorCitBbGxvY2F0aW5nIDEyOCBraUIgb24gdGhlIHN0YWNrIGlzIGEgcmF0 aGVyIGJhZCBpZGVhIGFueXdheSwgc28gd2UnbGwKK2xvd2VyIGl0IHRvIDgga2lCLgorLS0tIHVs dHJhanNvbi0xLjM1L2xpYi91bHRyYWpzb24uaAorKysrIHVsdHJhanNvbi0xLjM1LXBhdGNoZWQv bGliL3VsdHJhanNvbi5oCitAQCAtNzcsNyArNzcsNyBAQAorIC8qCisgRGljdGF0ZXMgYW5kIGxp bWl0cyBob3cgbXVjaCBzdGFjayBzcGFjZSBmb3IgYnVmZmVycyBVbHRyYUpTT04gd2lsbCB1c2Ug YmVmb3JlIHJlc29ydGluZyB0byBwcm92aWRlZCBoZWFwIGZ1bmN0aW9ucyAqLworICNpZm5kZWYg SlNPTl9NQVhfU1RBQ0tfQlVGRkVSX1NJWkUKKy0jZGVmaW5lIEpTT05fTUFYX1NUQUNLX0JVRkZF Ul9TSVpFIDEzMTA3MgorKyNkZWZpbmUgSlNPTl9NQVhfU1RBQ0tfQlVGRkVSX1NJWkUgODE5Mgor ICNlbmRpZgorIAorICNpZmRlZiBfV0lOMzIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHl0aG9uMy11 bHRyYWpzb24vdGVtcGxhdGUgYi9zcmNwa2dzL3B5dGhvbjMtdWx0cmFqc29uL3RlbXBsYXRlCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41NWE4MjA0ZjE4NgotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvcHl0aG9uMy11bHRyYWpzb24vdGVtcGxhdGUKQEAgLTAsMCAr MSwxOSBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAncHl0aG9uMy11bHRyYWpzb24nCitwa2duYW1l PXB5dGhvbjMtdWx0cmFqc29uCit2ZXJzaW9uPTEuMzUKK3JldmlzaW9uPTEKK3dya3NyYz0iJHtw a2duYW1lLyotfS0ke3ZlcnNpb259IgorYnVpbGRfc3R5bGU9cHl0aG9uMy1tb2R1bGUKK2hvc3Rt YWtlZGVwZW5kcz0icHl0aG9uMy1zZXR1cHRvb2xzIgorbWFrZWRlcGVuZHM9InB5dGhvbjMtZGV2 ZWwiCitzaG9ydF9kZXNjPSJVbHRyYSBmYXN0IEpTT04gZW5jb2RlciBhbmQgZGVjb2RlciBmb3Ig UHl0aG9uIgorbWFpbnRhaW5lcj0iazRsZWcgPGQweGlAaW5ib3gucnU+IgorbGljZW5zZT0iQlNE LTMtQ2xhdXNlIgoraG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9lc25tZS91bHRyYWpzb24i CitkaXN0ZmlsZXM9IiR7aG9tZXBhZ2V9L2FyY2hpdmUvdiR7dmVyc2lvbn0udGFyLmd6IgorY2hl Y2tzdW09MWU3NzYxNTgzMDY1ODczYmVkODQ2NmEzNjkyZmE1NTM5ZDRmMTViZWJjN2FmMWM4ZmNj NjNkMzIyYTQ2ODA0ZgorcGF0Y2hfYXJncz0iLU5wMSIKKworcG9zdF9pbnN0YWxsKCkgeworCXZs aWNlbnNlIExJQ0VOU0UudHh0Cit9Cg== --===============3990522399627546853==--