From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KWvKY-0004pw-GI for qemu-devel@nongnu.org; Sat, 23 Aug 2008 11:47:10 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KWvKW-0004pj-Ay for qemu-devel@nongnu.org; Sat, 23 Aug 2008 11:47:09 -0400 Received: from [199.232.76.173] (port=43782 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KWvKW-0004pf-6z for qemu-devel@nongnu.org; Sat, 23 Aug 2008 11:47:08 -0400 Received: from wf-out-1314.google.com ([209.85.200.172]:55020) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KWvKV-00036I-H9 for qemu-devel@nongnu.org; Sat, 23 Aug 2008 11:47:08 -0400 Received: by wf-out-1314.google.com with SMTP id 27so1164603wfd.4 for ; Sat, 23 Aug 2008 08:47:06 -0700 (PDT) Message-ID: Date: Sat, 23 Aug 2008 18:47:06 +0300 From: "Blue Swirl" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_68141_16413036.1219506426437" Subject: [Qemu-devel] [PATCH, RFC] gcc -Wredundant-decls Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel ------=_Part_68141_16413036.1219506426437 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline The first patch enables gcc flag -Wredundant-decls, the second one fixes the warnings caused by it. Again, with the flag enabled, dyngen targets output a lot of useless warnings, so it should be enabled later. Applying the fixing patch should be safe. Comments? ------=_Part_68141_16413036.1219506426437 Content-Type: plain/text; name=wredundant_decls.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fk8eiezt Content-Disposition: attachment; filename=wredundant_decls.diff SW5kZXg6IHFlbXUvTWFrZWZpbGUudGFyZ2V0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9NYWtl ZmlsZS50YXJnZXQJMjAwOC0wOC0yMyAxMzoxNzo1MS4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUv TWFrZWZpbGUudGFyZ2V0CTIwMDgtMDgtMjMgMTM6MTg6MzUuMDAwMDAwMDAwICswMDAwCkBAIC03 Myw3ICs3Myw3IEBACiBQUk9HUz0kKFFFTVVfUFJPRykKIAogIyBXZSByZXF1aXJlIC1PMiB0byBh dm9pZCB0aGUgc3RhY2sgc2V0dXAgcHJvbG9ndWUgaW4gRVhJVF9UQgotT1BfQ0ZMQUdTIDo9IC1X YWxsIC1PMiAtZyAtZm5vLXN0cmljdC1hbGlhc2luZworT1BfQ0ZMQUdTIDo9IC1XYWxsIC1XcmVk dW5kYW50LWRlY2xzIC1PMiAtZyAtZm5vLXN0cmljdC1hbGlhc2luZwogCiAjIGNjLW9wdGlvbgog IyBVc2FnZTogT1BfQ0ZMQUdTKz0kKGNhbGwgY2Mtb3B0aW9uLCAtZmFsaWduLWZ1bmN0aW9ucz0w LCAtbWFsaWduLWZ1bmN0aW9ucz0wKQpJbmRleDogcWVtdS9jb25maWd1cmUKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gcWVtdS5vcmlnL2NvbmZpZ3VyZQkyMDA4LTA4LTIzIDEzOjE3OjUxLjAwMDAwMDAwMCArMDAw MAorKysgcWVtdS9jb25maWd1cmUJMjAwOC0wOC0yMyAxMzoxOToxMC4wMDAwMDAwMDAgKzAwMDAK QEAgLTM0Niw3ICszNDYsNyBAQAogZG9uZQogCiAjIGRlZmF1bHQgZmxhZ3MgZm9yIGFsbCBob3N0 cwotQ0ZMQUdTPSIkQ0ZMQUdTIC1XYWxsIC1PMiAtZyAtZm5vLXN0cmljdC1hbGlhc2luZyIKK0NG TEFHUz0iJENGTEFHUyAtV2FsbCAtV3JlZHVuZGFudC1kZWNscyAtTzIgLWcgLWZuby1zdHJpY3Qt YWxpYXNpbmciCiBMREZMQUdTPSIkTERGTEFHUyAtZyIKIGlmIHRlc3QgIiR3ZXJyb3IiID0gInll cyIgOyB0aGVuCiBDRkxBR1M9IiRDRkxBR1MgLVdlcnJvciIK ------=_Part_68141_16413036.1219506426437 Content-Type: plain/text; name=fix_wredundant_decls.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fk8eiq4p Content-Disposition: attachment; filename=fix_wredundant_decls.diff SW5kZXg6IHFlbXUvYmxvY2suYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvYmxvY2suYwkyMDA4 LTA4LTIzIDEzOjE3OjMyLjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9ibG9jay5jCTIwMDgtMDgt MjMgMTM6MTk6MzguMDAwMDAwMDAwICswMDAwCkBAIC01Niw3ICs1Niw2IEBACiBzdGF0aWMgaW50 IGJkcnZfd3JpdGVfZW0oQmxvY2tEcml2ZXJTdGF0ZSAqYnMsIGludDY0X3Qgc2VjdG9yX251bSwK ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpidWYsIGludCBuYl9zZWN0 b3JzKTsKIAotQmxvY2tEcml2ZXJTdGF0ZSAqYmRydl9maXJzdDsKIHN0YXRpYyBCbG9ja0RyaXZl ciAqZmlyc3RfZHJ2OwogCiBpbnQgcGF0aF9pc19hYnNvbHV0ZShjb25zdCBjaGFyICpwYXRoKQpJ bmRleDogcWVtdS9ody91c2IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvdXNiLmgJMjAw OC0wOC0yMyAxMzoxNzozMi4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvaHcvdXNiLmgJMjAwOC0w OC0yMyAxMzoxOTozOC4wMDAwMDAwMDAgKzAwMDAKQEAgLTIzNSw4ICsyMzUsNiBAQAogaW50IHNl dF91c2Jfc3RyaW5nKHVpbnQ4X3QgKmJ1ZiwgY29uc3QgY2hhciAqc3RyKTsKIHZvaWQgdXNiX3Nl bmRfbXNnKFVTQkRldmljZSAqZGV2LCBpbnQgbXNnKTsKIAotdm9pZCB1c2JfcGFja2V0X2NvbXBs ZXRlKFVTQlBhY2tldCAqcCk7Ci0KIC8qIHVzYiBodWIgKi8KIFVTQkRldmljZSAqdXNiX2h1Yl9p bml0KGludCBuYl9wb3J0cyk7CiAKSW5kZXg6IHFlbXUvbGludXgtdXNlci9zeXNjYWxsLmMKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gcWVtdS5vcmlnL2xpbnV4LXVzZXIvc3lzY2FsbC5jCTIwMDgtMDgtMjMgMTM6 MTc6MzIuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L2xpbnV4LXVzZXIvc3lzY2FsbC5jCTIwMDgt MDgtMjMgMTM6MTk6MzguMDAwMDAwMDAwICswMDAwCkBAIC0yNjcsMTAgKzI2Nyw2IEBACiBleHRl cm4gaW50IGZsb2NrKGludCwgaW50KTsKIGV4dGVybiBpbnQgc2V0ZnN1aWQoaW50KTsKIGV4dGVy biBpbnQgc2V0ZnNnaWQoaW50KTsKLWV4dGVybiBpbnQgc2V0cmVzdWlkKHVpZF90LCB1aWRfdCwg dWlkX3QpOwotZXh0ZXJuIGludCBnZXRyZXN1aWQodWlkX3QgKiwgdWlkX3QgKiwgdWlkX3QgKik7 Ci1leHRlcm4gaW50IHNldHJlc2dpZChnaWRfdCwgZ2lkX3QsIGdpZF90KTsKLWV4dGVybiBpbnQg Z2V0cmVzZ2lkKGdpZF90ICosIGdpZF90ICosIGdpZF90ICopOwogZXh0ZXJuIGludCBzZXRncm91 cHMoaW50LCBnaWRfdCAqKTsKIAogI2RlZmluZSBFUlJOT19UQUJMRV9TSVpFIDEyMDAKSW5kZXg6 IHFlbXUvbW9uaXRvci5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9tb25pdG9yLmMJMjAwOC0w OC0yMyAxMzoxNzozMi4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvbW9uaXRvci5jCTIwMDgtMDgt MjMgMTM6MTk6MzguMDAwMDAwMDAwICswMDAwCkBAIC0yNjg3LDggKzI2ODcsNiBAQAogICAgICAg ICByZWFkbGluZV9oYW5kbGVfYnl0ZShidWZbaV0pOwogfQogCi1zdGF0aWMgdm9pZCBtb25pdG9y X3N0YXJ0X2lucHV0KHZvaWQpOwotCiBzdGF0aWMgdm9pZCBtb25pdG9yX2hhbmRsZV9jb21tYW5k MSh2b2lkICpvcGFxdWUsIGNvbnN0IGNoYXIgKmNtZGxpbmUpCiB7CiAgICAgbW9uaXRvcl9oYW5k bGVfY29tbWFuZChjbWRsaW5lKTsKSW5kZXg6IHFlbXUvc2xpcnAvZGVidWcuYwo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBxZW11Lm9yaWcvc2xpcnAvZGVidWcuYwkyMDA4LTA4LTIzIDEzOjE3OjMyLjAwMDAwMDAw MCArMDAwMAorKysgcWVtdS9zbGlycC9kZWJ1Zy5jCTIwMDgtMDgtMjMgMTM6MTk6MzguMDAwMDAw MDAwICswMDAwCkBAIC0xNiw4ICsxNiw2IEBACiAjZW5kaWYKIGludCBzbGlycF9kZWJ1ZyA9IDA7 CiAKLWV4dGVybiBjaGFyICpzdHJlcnJvciBfUCgoaW50KSk7Ci0KIC8qIENhcnJ5IG92ZXIgb25l IGl0ZW0gZnJvbSBtYWluLmMgc28gdGhhdCB0aGUgdHR5J3MgcmVzdG9yZWQuCiAgKiBPbmx5IGRv bmUgd2hlbiB0aGUgdHR5IGJlaW5nIHVzZWQgaXMgL2Rldi90dHkgLS1SZWRXb2xmICovCiAjaWZu ZGVmIENPTkZJR19RRU1VCkluZGV4OiBxZW11L3NsaXJwL21pc2MuaAo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBx ZW11Lm9yaWcvc2xpcnAvbWlzYy5oCTIwMDgtMDgtMjMgMTM6MTc6MzIuMDAwMDAwMDAwICswMDAw CisrKyBxZW11L3NsaXJwL21pc2MuaAkyMDA4LTA4LTIzIDEzOjE5OjM4LjAwMDAwMDAwMCArMDAw MApAQCAtMTcsNyArMTcsNyBAQAogfTsKIAogZXh0ZXJuIHN0cnVjdCBleF9saXN0ICpleGVjX2xp c3Q7Ci1leHRlcm4gdV9pbnQgY3VydGltZSwgdGltZV9mYXN0dGltbywgbGFzdF9zbG93dGltbzsK K2V4dGVybiB1X2ludCB0aW1lX2Zhc3R0aW1vLCBsYXN0X3Nsb3d0aW1vOwogCiBleHRlcm4gaW50 ICgqbHByaW50X3ByaW50KSBfUCgodm9pZCAqLCBjb25zdCBjaGFyICosIHZhX2xpc3QpKTsKIGV4 dGVybiBjaGFyICpscHJpbnRfcHRyLCAqbHByaW50X3B0cjIsICoqbHByaW50X2FyZzsKSW5kZXg6 IHFlbXUvc2xpcnAvc2xpcnBfY29uZmlnLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL3NsaXJw L3NsaXJwX2NvbmZpZy5oCTIwMDgtMDgtMjMgMTM6MTc6MzIuMDAwMDAwMDAwICswMDAwCisrKyBx ZW11L3NsaXJwL3NsaXJwX2NvbmZpZy5oCTIwMDgtMDgtMjMgMTM6MTk6MzguMDAwMDAwMDAwICsw MDAwCkBAIC0xMjgsMTAgKzEyOCwxMCBAQAogI3VuZGVmIEhBVkVfU1lTX1NUUk9QVFNfSAogCiAv KiBEZWZpbmUgdG8gd2hhdGV2ZXIgeW91ciBjb21waWxlciB0aGlua3MgaW5saW5lIHNob3VsZCBi ZSAqLwotI2RlZmluZSBpbmxpbmUgaW5saW5lCisvLyNkZWZpbmUgaW5saW5lIGlubGluZQogCiAv KiBEZWZpbmUgdG8gd2hhdGV2ZXIgeW91ciBjb21waWxlciB0aGlua3MgY29uc3Qgc2hvdWxkIGJl ICovCi0jZGVmaW5lIGNvbnN0IGNvbnN0CisvLyNkZWZpbmUgY29uc3QgY29uc3QKIAogLyogRGVm aW5lIGlmIHlvdXIgY29tcGlsZXIgZG9lc24ndCBsaWtlIHByb3RvdHlwZXMgKi8KICN1bmRlZiBO T19QUk9UT1RZUEVTCkBAIC0xNzAsNyArMTcwLDcgQEAKICN1bmRlZiBIQVZFX1NFVEVOVgogCiAv KiBEZWZpbmUgaWYgeW91IGhhdmUgaW5kZXgoKSAqLwotI3VuZGVmIEhBVkVfSU5ERVgKKyNkZWZp bmUgSEFWRV9JTkRFWAogCiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgYmNtcCgpICovCiAjdW5kZWYg SEFWRV9CQ01QCkBAIC0xODIsNyArMTgyLDcgQEAKICNkZWZpbmUgSEFWRV9NRU1NT1ZFCiAKIC8q IERlZmluZSBpZiB5b3UgaGF2ZSBnZXRob3N0aWQgKi8KLSN1bmRlZiBIQVZFX0dFVEhPU1RJRAor I2RlZmluZSBIQVZFX0dFVEhPU1RJRAogCiAvKiBEZWZpbmUgaWYgeW91IERPTidUIGhhdmUgdW5p eC1kb21haW4gc29ja2V0cyAqLwogI3VuZGVmIE5PX1VOSVhfU09DS0VUUwpJbmRleDogcWVtdS9z bGlycC9zb2NrZXQuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvc2xpcnAvc29ja2V0LmMJMjAw OC0wOC0yMyAxMzoxNzozMi4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvc2xpcnAvc29ja2V0LmMJ MjAwOC0wOC0yMyAxMzoxOTozOC4wMDAwMDAwMDAgKzAwMDAKQEAgLTgsNyArOCw2IEBACiAjZGVm aW5lIFdBTlRfU1lTX0lPQ1RMX0gKICNpbmNsdWRlIDxzbGlycC5oPgogI2luY2x1ZGUgImlwX2lj bXAuaCIKLSNpbmNsdWRlICJtYWluLmgiCiAjaWZkZWYgX19zdW5fXwogI2luY2x1ZGUgPHN5cy9m aWxpby5oPgogI2VuZGlmCkluZGV4OiBxZW11L3RhcmdldC1zcGFyYy9oZWxwZXIuaAo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBxZW11Lm9yaWcvdGFyZ2V0LXNwYXJjL2hlbHBlci5oCTIwMDgtMDgtMjMgMTM6MTc6 MzIuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L3RhcmdldC1zcGFyYy9oZWxwZXIuaAkyMDA4LTA4 LTIzIDEzOjE5OjM4LjAwMDAwMDAwMCArMDAwMApAQCAtMSwzICsxLDYgQEAKKyNpZm5kZWYgVEFS R0VUX1NQQVJDX0hFTFBFUl9ICisjZGVmaW5lIFRBUkdFVF9TUEFSQ19IRUxQRVJfSAorCiAjaWZu ZGVmIERFRl9IRUxQRVIKICNkZWZpbmUgREVGX0hFTFBFUihyZXQsIG5hbWUsIHBhcmFtcykgcmV0 IG5hbWUgcGFyYW1zOwogI2VuZGlmCkBAIC0xODgsMyArMTkxLDUgQEAKIHZvaWQgbWVtY3B5MzIo dGFyZ2V0X3Vsb25nICpkc3QsIGNvbnN0IHRhcmdldF91bG9uZyAqc3JjKTsKIHRhcmdldF91bG9u ZyBtbXVfcHJvYmUoQ1BVU3RhdGUgKmVudiwgdGFyZ2V0X3Vsb25nIGFkZHJlc3MsIGludCBtbXVs ZXYpOwogdm9pZCBkdW1wX21tdShDUFVTdGF0ZSAqZW52KTsKKworI2VuZGlmCkluZGV4OiBxZW11 L2V4ZWMtYWxsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2V4ZWMtYWxsLmgJMjAwOC0wOC0y MyAxMzoxNzozMi4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvZXhlYy1hbGwuaAkyMDA4LTA4LTIz IDEzOjE5OjM4LjAwMDAwMDAwMCArMDAwMApAQCAtNTcsOCArNTcsNyBAQAogdHlwZWRlZiB2b2lk IChHZW5PcEZ1bmMyKShsb25nLCBsb25nKTsKIHR5cGVkZWYgdm9pZCAoR2VuT3BGdW5jMykobG9u ZywgbG9uZywgbG9uZyk7CiAKLWV4dGVybiBGSUxFICpsb2dmaWxlOwotZXh0ZXJuIGludCBsb2ds ZXZlbDsKKyNpbmNsdWRlICJxZW11LWxvZy5oIgogCiB2b2lkIGdlbl9pbnRlcm1lZGlhdGVfY29k ZShDUFVTdGF0ZSAqZW52LCBzdHJ1Y3QgVHJhbnNsYXRpb25CbG9jayAqdGIpOwogdm9pZCBnZW5f aW50ZXJtZWRpYXRlX2NvZGVfcGMoQ1BVU3RhdGUgKmVudiwgc3RydWN0IFRyYW5zbGF0aW9uQmxv Y2sgKnRiKTsKQEAgLTI5MCw2ICsyODksOCBAQAogdm9pZCB0bGJfZmlsbCh0YXJnZXRfdWxvbmcg YWRkciwgaW50IGlzX3dyaXRlLCBpbnQgbW11X2lkeCwKICAgICAgICAgICAgICAgdm9pZCAqcmV0 YWRkcik7CiAKKyNpbmNsdWRlICJzb2Z0bW11X2RlZnMuaCIKKwogI2RlZmluZSBBQ0NFU1NfVFlQ RSAoTkJfTU1VX01PREVTICsgMSkKICNkZWZpbmUgTUVNU1VGRklYIF9jb2RlCiAjZGVmaW5lIGVu diBjcHVfc2luZ2xlX2VudgpJbmRleDogcWVtdS9saW51eC11c2VyL3FlbXUuaAo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBxZW11Lm9yaWcvbGludXgtdXNlci9xZW11LmgJMjAwOC0wOC0yMyAxMzoxNzozMi4wMDAw MDAwMDAgKzAwMDAKKysrIHFlbXUvbGludXgtdXNlci9xZW11LmgJMjAwOC0wOC0yMyAxMzoxOToz OC4wMDAwMDAwMDAgKzAwMDAKQEAgLTE5OSw4ICsxOTksNyBAQAogdm9pZCBmb3JrX3N0YXJ0KHZv aWQpOwogdm9pZCBmb3JrX2VuZChpbnQgY2hpbGQpOwogCi1leHRlcm4gaW50IGxvZ2xldmVsOwot ZXh0ZXJuIEZJTEUgKmxvZ2ZpbGU7CisjaW5jbHVkZSAicWVtdS1sb2cuaCIKIAogLyogc3RyYWNl LmMgKi8KIHZvaWQgcHJpbnRfc3lzY2FsbChpbnQgbnVtLApJbmRleDogcWVtdS9xZW11LWxvZy5o Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAorKysgcWVtdS9xZW11LWxvZy5oCTIwMDgtMDgtMjMgMTU6MjM6MDcuMDAwMDAwMDAwICsw MDAwCkBAIC0wLDAgKzEsNyBAQAorI2lmbmRlZiBRRU1VX0xPR19ICisjZGVmaW5lIFFFTVVfTE9H X0gKKworZXh0ZXJuIEZJTEUgKmxvZ2ZpbGU7CitleHRlcm4gaW50IGxvZ2xldmVsOworCisjZW5k aWYKSW5kZXg6IHFlbXUvdGFyZ2V0LWkzODYvZXhlYy5oCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3Jp Zy90YXJnZXQtaTM4Ni9leGVjLmgJMjAwOC0wOC0yMyAxMzoxNzozMi4wMDAwMDAwMDAgKzAwMDAK KysrIHFlbXUvdGFyZ2V0LWkzODYvZXhlYy5oCTIwMDgtMDgtMjMgMTM6MTk6MzguMDAwMDAwMDAw ICswMDAwCkBAIC0zMSw4ICszMSw3IEBACiAKIHJlZ2lzdGVyIHN0cnVjdCBDUFVYODZTdGF0ZSAq ZW52IGFzbShBUkVHMCk7CiAKLWV4dGVybiBGSUxFICpsb2dmaWxlOwotZXh0ZXJuIGludCBsb2ds ZXZlbDsKKyNpbmNsdWRlICJxZW11LWxvZy5oIgogCiAjZGVmaW5lIEVBWCAoZW52LT5yZWdzW1Jf RUFYXSkKICNkZWZpbmUgRUNYIChlbnYtPnJlZ3NbUl9FQ1hdKQpAQCAtNTgsMTMgKzU3LDEwIEBA CiAjaW5jbHVkZSAiY3B1LmgiCiAjaW5jbHVkZSAiZXhlYy1hbGwuaCIKIAotdm9pZCBjcHVfeDg2 X3VwZGF0ZV9jcjAoQ1BVWDg2U3RhdGUgKmVudiwgdWludDMyX3QgbmV3X2NyMCk7CiB2b2lkIGNw dV94ODZfdXBkYXRlX2NyMyhDUFVYODZTdGF0ZSAqZW52LCB0YXJnZXRfdWxvbmcgbmV3X2NyMyk7 CiB2b2lkIGNwdV94ODZfdXBkYXRlX2NyNChDUFVYODZTdGF0ZSAqZW52LCB1aW50MzJfdCBuZXdf Y3I0KTsKIGludCBjcHVfeDg2X2hhbmRsZV9tbXVfZmF1bHQoQ1BVWDg2U3RhdGUgKmVudiwgdGFy Z2V0X3Vsb25nIGFkZHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpc193cml0 ZSwgaW50IG1tdV9pZHgsIGludCBpc19zb2Z0bW11KTsKLXZvaWQgdGxiX2ZpbGwodGFyZ2V0X3Vs b25nIGFkZHIsIGludCBpc193cml0ZSwgaW50IG1tdV9pZHgsCi0gICAgICAgICAgICAgIHZvaWQg KnJldGFkZHIpOwogdm9pZCBfX2hpZGRlbiBjcHVfbG9jayh2b2lkKTsKIHZvaWQgX19oaWRkZW4g Y3B1X3VubG9jayh2b2lkKTsKIHZvaWQgZG9faW50ZXJydXB0KGludCBpbnRubywgaW50IGlzX2lu dCwgaW50IGVycm9yX2NvZGUsCkBAIC0xMjAsMTYgKzExNiw2IEBACiAjZGVmaW5lIGZsb2F0eF9y b3VuZF90b19pbnQgZmxvYXR4ODBfcm91bmRfdG9faW50CiAjZGVmaW5lIGZsb2F0eF9jb21wYXJl IGZsb2F0eDgwX2NvbXBhcmUKICNkZWZpbmUgZmxvYXR4X2NvbXBhcmVfcXVpZXQgZmxvYXR4ODBf Y29tcGFyZV9xdWlldAotI2RlZmluZSBzaW4gc2lubAotI2RlZmluZSBjb3MgY29zbAotI2RlZmlu ZSBzcXJ0IHNxcnRsCi0jZGVmaW5lIHBvdyBwb3dsCi0jZGVmaW5lIGxvZyBsb2dsCi0jZGVmaW5l IHRhbiB0YW5sCi0jZGVmaW5lIGF0YW4yIGF0YW4ybAotI2RlZmluZSBmbG9vciBmbG9vcmwKLSNk ZWZpbmUgY2VpbCBjZWlsbAotI2RlZmluZSBsZGV4cCBsZGV4cGwKICNlbHNlCiAjZGVmaW5lIGZs b2F0eF90b19pbnQzMiBmbG9hdDY0X3RvX2ludDMyCiAjZGVmaW5lIGZsb2F0eF90b19pbnQ2NCBm bG9hdDY0X3RvX2ludDY0CkBAIC0xNDgsMTYgKzEzNCw2IEBACiAjZGVmaW5lIGZsb2F0eF9jb21w YXJlX3F1aWV0IGZsb2F0NjRfY29tcGFyZV9xdWlldAogI2VuZGlmCiAKLWV4dGVybiBDUFU4Nl9M RG91YmxlIHNpbihDUFU4Nl9MRG91YmxlIHgpOwotZXh0ZXJuIENQVTg2X0xEb3VibGUgY29zKENQ VTg2X0xEb3VibGUgeCk7Ci1leHRlcm4gQ1BVODZfTERvdWJsZSBzcXJ0KENQVTg2X0xEb3VibGUg eCk7Ci1leHRlcm4gQ1BVODZfTERvdWJsZSBwb3coQ1BVODZfTERvdWJsZSwgQ1BVODZfTERvdWJs ZSk7Ci1leHRlcm4gQ1BVODZfTERvdWJsZSBsb2coQ1BVODZfTERvdWJsZSB4KTsKLWV4dGVybiBD UFU4Nl9MRG91YmxlIHRhbihDUFU4Nl9MRG91YmxlIHgpOwotZXh0ZXJuIENQVTg2X0xEb3VibGUg YXRhbjIoQ1BVODZfTERvdWJsZSwgQ1BVODZfTERvdWJsZSk7Ci1leHRlcm4gQ1BVODZfTERvdWJs ZSBmbG9vcihDUFU4Nl9MRG91YmxlIHgpOwotZXh0ZXJuIENQVTg2X0xEb3VibGUgY2VpbChDUFU4 Nl9MRG91YmxlIHgpOwotCiAjZGVmaW5lIFJDX01BU0sgICAgICAgICAweGMwMAogI2RlZmluZSBS Q19ORUFSCQkweDAwMAogI2RlZmluZSBSQ19ET1dOCQkweDQwMApJbmRleDogcWVtdS90YXJnZXQt aTM4Ni9oZWxwZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvdGFyZ2V0LWkzODYvaGVscGVy LmgJMjAwOC0wOC0yMyAxMzoxNzozMi4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvdGFyZ2V0LWkz ODYvaGVscGVyLmgJMjAwOC0wOC0yMyAxMzoxOTozOC4wMDAwMDAwMDAgKzAwMDAKQEAgLTE4Niw3 ICsxODYsNiBAQAogREVGX0hFTFBFUih2b2lkLCBoZWxwZXJfZnNjYWxlLCAodm9pZCkpCiBERUZf SEVMUEVSKHZvaWQsIGhlbHBlcl9mc2luLCAodm9pZCkpCiBERUZfSEVMUEVSKHZvaWQsIGhlbHBl cl9mY29zLCAodm9pZCkpCi1ERUZfSEVMUEVSKHZvaWQsIGhlbHBlcl9meGFtX1NUMCwgKHZvaWQp KQogREVGX0hFTFBFUih2b2lkLCBoZWxwZXJfZnN0ZW52LCAodGFyZ2V0X3Vsb25nIHB0ciwgaW50 IGRhdGEzMikpCiBERUZfSEVMUEVSKHZvaWQsIGhlbHBlcl9mbGRlbnYsICh0YXJnZXRfdWxvbmcg cHRyLCBpbnQgZGF0YTMyKSkKIERFRl9IRUxQRVIodm9pZCwgaGVscGVyX2ZzYXZlLCAodGFyZ2V0 X3Vsb25nIHB0ciwgaW50IGRhdGEzMikpCkluZGV4OiBxZW11L3NvZnRtbXVfZGVmcy5oCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAor KysgcWVtdS9zb2Z0bW11X2RlZnMuaAkyMDA4LTA4LTIzIDEzOjE5OjM4LjAwMDAwMDAwMCArMDAw MApAQCAtMCwwICsxLDIyIEBACisjaWZuZGVmIFNPRlRNTVVfREVGU19ICisjZGVmaW5lIFNPRlRN TVVfREVGU19ICisKK3VpbnQ4X3QgUkVHUEFSTSBfX2xkYl9tbXUodGFyZ2V0X3Vsb25nIGFkZHIs IGludCBtbXVfaWR4KTsKK3ZvaWQgUkVHUEFSTSBfX3N0Yl9tbXUodGFyZ2V0X3Vsb25nIGFkZHIs IHVpbnQ4X3QgdmFsLCBpbnQgbW11X2lkeCk7Cit1aW50MTZfdCBSRUdQQVJNIF9fbGR3X21tdSh0 YXJnZXRfdWxvbmcgYWRkciwgaW50IG1tdV9pZHgpOwordm9pZCBSRUdQQVJNIF9fc3R3X21tdSh0 YXJnZXRfdWxvbmcgYWRkciwgdWludDE2X3QgdmFsLCBpbnQgbW11X2lkeCk7Cit1aW50MzJfdCBS RUdQQVJNIF9fbGRsX21tdSh0YXJnZXRfdWxvbmcgYWRkciwgaW50IG1tdV9pZHgpOwordm9pZCBS RUdQQVJNIF9fc3RsX21tdSh0YXJnZXRfdWxvbmcgYWRkciwgdWludDMyX3QgdmFsLCBpbnQgbW11 X2lkeCk7Cit1aW50NjRfdCBSRUdQQVJNIF9fbGRxX21tdSh0YXJnZXRfdWxvbmcgYWRkciwgaW50 IG1tdV9pZHgpOwordm9pZCBSRUdQQVJNIF9fc3RxX21tdSh0YXJnZXRfdWxvbmcgYWRkciwgdWlu dDY0X3QgdmFsLCBpbnQgbW11X2lkeCk7CisKK3VpbnQ4X3QgUkVHUEFSTSBfX2xkYl9jbW11KHRh cmdldF91bG9uZyBhZGRyLCBpbnQgbW11X2lkeCk7Cit2b2lkIFJFR1BBUk0gX19zdGJfY21tdSh0 YXJnZXRfdWxvbmcgYWRkciwgdWludDhfdCB2YWwsIGludCBtbXVfaWR4KTsKK3VpbnQxNl90IFJF R1BBUk0gX19sZHdfY21tdSh0YXJnZXRfdWxvbmcgYWRkciwgaW50IG1tdV9pZHgpOwordm9pZCBS RUdQQVJNIF9fc3R3X2NtbXUodGFyZ2V0X3Vsb25nIGFkZHIsIHVpbnQxNl90IHZhbCwgaW50IG1t dV9pZHgpOwordWludDMyX3QgUkVHUEFSTSBfX2xkbF9jbW11KHRhcmdldF91bG9uZyBhZGRyLCBp bnQgbW11X2lkeCk7Cit2b2lkIFJFR1BBUk0gX19zdGxfY21tdSh0YXJnZXRfdWxvbmcgYWRkciwg dWludDMyX3QgdmFsLCBpbnQgbW11X2lkeCk7Cit1aW50NjRfdCBSRUdQQVJNIF9fbGRxX2NtbXUo dGFyZ2V0X3Vsb25nIGFkZHIsIGludCBtbXVfaWR4KTsKK3ZvaWQgUkVHUEFSTSBfX3N0cV9jbW11 KHRhcmdldF91bG9uZyBhZGRyLCB1aW50NjRfdCB2YWwsIGludCBtbXVfaWR4KTsKKworI2VuZGlm CkluZGV4OiBxZW11L3NvZnRtbXVfZXhlYy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9zb2Z0 bW11X2V4ZWMuaAkyMDA4LTA4LTIzIDEzOjE3OjMyLjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9z b2Z0bW11X2V4ZWMuaAkyMDA4LTA4LTIzIDEzOjE5OjM4LjAwMDAwMDAwMCArMDAwMApAQCAtOSw2 ICs5LDggQEAKICNkZWZpbmUgbGR1bF9leGVjdXRpdmUgIGxkbF9leGVjdXRpdmUKICNkZWZpbmUg bGR1bF9zdXBlcnZpc29yIGxkbF9zdXBlcnZpc29yCiAKKyNpbmNsdWRlICJzb2Z0bW11X2RlZnMu aCIKKwogI2RlZmluZSBBQ0NFU1NfVFlQRSAwCiAjZGVmaW5lIE1FTVNVRkZJWCBNTVVfTU9ERTBf U1VGRklYCiAjZGVmaW5lIERBVEFfU0laRSAxCkluZGV4OiBxZW11L3NvZnRtbXVfaGVhZGVyLmgK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gcWVtdS5vcmlnL3NvZnRtbXVfaGVhZGVyLmgJMjAwOC0wOC0yMyAxMzox NzozMi4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvc29mdG1tdV9oZWFkZXIuaAkyMDA4LTA4LTIz IDEzOjE5OjM4LjAwMDAwMDAwMCArMDAwMApAQCAtNzAsMTAgKzcwLDYgQEAKICNkZWZpbmUgQURE Ul9SRUFEIGFkZHJfcmVhZAogI2VuZGlmCiAKLURBVEFfVFlQRSBSRUdQQVJNIGdsdWUoZ2x1ZShf X2xkLCBTVUZGSVgpLCBNTVVTVUZGSVgpKHRhcmdldF91bG9uZyBhZGRyLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1tdV9pZHgp Owotdm9pZCBSRUdQQVJNIGdsdWUoZ2x1ZShfX3N0LCBTVUZGSVgpLCBNTVVTVUZGSVgpKHRhcmdl dF91bG9uZyBhZGRyLCBEQVRBX1RZUEUgdiwgaW50IG1tdV9pZHgpOwotCiAjaWYgKERBVEFfU0la RSA8PSA0KSAmJiAoVEFSR0VUX0xPTkdfQklUUyA9PSAzMikgJiYgZGVmaW5lZChfX2kzODZfXykg JiYgXAogICAgIChBQ0NFU1NfVFlQRSA8IE5CX01NVV9NT0RFUykgJiYgZGVmaW5lZChBU01fU09G VE1NVSkKIApJbmRleDogcWVtdS90Y2cveDg2XzY0L3RjZy10YXJnZXQuYwo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBxZW11Lm9yaWcvdGNnL3g4Nl82NC90Y2ctdGFyZ2V0LmMJMjAwOC0wOC0yMyAxMzoxNzozMi4w MDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvdGNnL3g4Nl82NC90Y2ctdGFyZ2V0LmMJMjAwOC0wOC0y MyAxMzoxOTozOC4wMDAwMDAwMDAgKzAwMDAKQEAgLTQ2NywxNiArNDY3LDggQEAKIH0KIAogI2lm IGRlZmluZWQoQ09ORklHX1NPRlRNTVUpCi1leHRlcm4gdm9pZCBfX2xkYl9tbXUodm9pZCk7Ci1l eHRlcm4gdm9pZCBfX2xkd19tbXUodm9pZCk7Ci1leHRlcm4gdm9pZCBfX2xkbF9tbXUodm9pZCk7 Ci1leHRlcm4gdm9pZCBfX2xkcV9tbXUodm9pZCk7Ci0KLWV4dGVybiB2b2lkIF9fc3RiX21tdSh2 b2lkKTsKLWV4dGVybiB2b2lkIF9fc3R3X21tdSh2b2lkKTsKLWV4dGVybiB2b2lkIF9fc3RsX21t dSh2b2lkKTsKLWV4dGVybiB2b2lkIF9fc3RxX21tdSh2b2lkKTsKIAorI2luY2x1ZGUgIi4uLy4u L3NvZnRtbXVfZGVmcy5oIgogCiBzdGF0aWMgdm9pZCAqcWVtdV9sZF9oZWxwZXJzWzRdID0gewog ICAgIF9fbGRiX21tdSwKSW5kZXg6IHFlbXUvdGNnL2FybS90Y2ctdGFyZ2V0LmMKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gcWVtdS5vcmlnL3RjZy9hcm0vdGNnLXRhcmdldC5jCTIwMDgtMDgtMjMgMTM6MTc6MzIu MDAwMDAwMDAwICswMDAwCisrKyBxZW11L3RjZy9hcm0vdGNnLXRhcmdldC5jCTIwMDgtMDgtMjMg MTM6MTk6MzguMDAwMDAwMDAwICswMDAwCkBAIC04MDgsMTUgKzgwOCw4IEBACiB9CiAKICNpZmRl ZiBDT05GSUdfU09GVE1NVQotZXh0ZXJuIHZvaWQgX19sZGJfbW11KHZvaWQpOwotZXh0ZXJuIHZv aWQgX19sZHdfbW11KHZvaWQpOwotZXh0ZXJuIHZvaWQgX19sZGxfbW11KHZvaWQpOwotZXh0ZXJu IHZvaWQgX19sZHFfbW11KHZvaWQpOwotCi1leHRlcm4gdm9pZCBfX3N0Yl9tbXUodm9pZCk7Ci1l eHRlcm4gdm9pZCBfX3N0d19tbXUodm9pZCk7Ci1leHRlcm4gdm9pZCBfX3N0bF9tbXUodm9pZCk7 Ci1leHRlcm4gdm9pZCBfX3N0cV9tbXUodm9pZCk7CisKKyNpbmNsdWRlICIuLi8uLi9zb2Z0bW11 X2RlZnMuaCIKIAogc3RhdGljIHZvaWQgKnFlbXVfbGRfaGVscGVyc1s0XSA9IHsKICAgICBfX2xk Yl9tbXUsCkluZGV4OiBxZW11L3RjZy9ocHBhL3RjZy10YXJnZXQuYwo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBx ZW11Lm9yaWcvdGNnL2hwcGEvdGNnLXRhcmdldC5jCTIwMDgtMDgtMjMgMTM6MTc6MzIuMDAwMDAw MDAwICswMDAwCisrKyBxZW11L3RjZy9ocHBhL3RjZy10YXJnZXQuYwkyMDA4LTA4LTIzIDEzOjE5 OjM4LjAwMDAwMDAwMCArMDAwMApAQCAtMzQ1LDE1ICszNDUsOCBAQAogfQogCiAjaWYgZGVmaW5l ZChDT05GSUdfU09GVE1NVSkKLWV4dGVybiB2b2lkIF9fbGRiX21tdSh2b2lkKTsKLWV4dGVybiB2 b2lkIF9fbGR3X21tdSh2b2lkKTsKLWV4dGVybiB2b2lkIF9fbGRsX21tdSh2b2lkKTsKLWV4dGVy biB2b2lkIF9fbGRxX21tdSh2b2lkKTsKLQotZXh0ZXJuIHZvaWQgX19zdGJfbW11KHZvaWQpOwot ZXh0ZXJuIHZvaWQgX19zdHdfbW11KHZvaWQpOwotZXh0ZXJuIHZvaWQgX19zdGxfbW11KHZvaWQp OwotZXh0ZXJuIHZvaWQgX19zdHFfbW11KHZvaWQpOworCisjaW5jbHVkZSAiLi4vLi4vc29mdG1t dV9kZWZzLmgiCiAKIHN0YXRpYyB2b2lkICpxZW11X2xkX2hlbHBlcnNbNF0gPSB7CiAgICAgX19s ZGJfbW11LApJbmRleDogcWVtdS90Y2cvaTM4Ni90Y2ctdGFyZ2V0LmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g cWVtdS5vcmlnL3RjZy9pMzg2L3RjZy10YXJnZXQuYwkyMDA4LTA4LTIzIDEzOjE3OjMyLjAwMDAw MDAwMCArMDAwMAorKysgcWVtdS90Y2cvaTM4Ni90Y2ctdGFyZ2V0LmMJMjAwOC0wOC0yMyAxMzox OTozOC4wMDAwMDAwMDAgKzAwMDAKQEAgLTQwNCwxNSArNDA0LDggQEAKIH0KIAogI2lmIGRlZmlu ZWQoQ09ORklHX1NPRlRNTVUpCi1leHRlcm4gdm9pZCBfX2xkYl9tbXUodm9pZCk7Ci1leHRlcm4g dm9pZCBfX2xkd19tbXUodm9pZCk7Ci1leHRlcm4gdm9pZCBfX2xkbF9tbXUodm9pZCk7Ci1leHRl cm4gdm9pZCBfX2xkcV9tbXUodm9pZCk7Ci0KLWV4dGVybiB2b2lkIF9fc3RiX21tdSh2b2lkKTsK LWV4dGVybiB2b2lkIF9fc3R3X21tdSh2b2lkKTsKLWV4dGVybiB2b2lkIF9fc3RsX21tdSh2b2lk KTsKLWV4dGVybiB2b2lkIF9fc3RxX21tdSh2b2lkKTsKKworI2luY2x1ZGUgIi4uLy4uL3NvZnRt bXVfZGVmcy5oIgogCiBzdGF0aWMgdm9pZCAqcWVtdV9sZF9oZWxwZXJzWzRdID0gewogICAgIF9f bGRiX21tdSwKSW5kZXg6IHFlbXUvdGNnL3BwYy90Y2ctdGFyZ2V0LmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g cWVtdS5vcmlnL3RjZy9wcGMvdGNnLXRhcmdldC5jCTIwMDgtMDgtMjMgMTM6MTc6MzIuMDAwMDAw MDAwICswMDAwCisrKyBxZW11L3RjZy9wcGMvdGNnLXRhcmdldC5jCTIwMDgtMDgtMjMgMTM6MTk6 MzguMDAwMDAwMDAwICswMDAwCkBAIC00NTQsMTUgKzQ1NCw4IEBACiB9CiAKICNpZiBkZWZpbmVk KENPTkZJR19TT0ZUTU1VKQotZXh0ZXJuIHZvaWQgX19sZGJfbW11KHZvaWQpOwotZXh0ZXJuIHZv aWQgX19sZHdfbW11KHZvaWQpOwotZXh0ZXJuIHZvaWQgX19sZGxfbW11KHZvaWQpOwotZXh0ZXJu IHZvaWQgX19sZHFfbW11KHZvaWQpOwotCi1leHRlcm4gdm9pZCBfX3N0Yl9tbXUodm9pZCk7Ci1l eHRlcm4gdm9pZCBfX3N0d19tbXUodm9pZCk7Ci1leHRlcm4gdm9pZCBfX3N0bF9tbXUodm9pZCk7 Ci1leHRlcm4gdm9pZCBfX3N0cV9tbXUodm9pZCk7CisKKyNpbmNsdWRlICIuLi8uLi9zb2Z0bW11 X2RlZnMuaCIKIAogc3RhdGljIHZvaWQgKnFlbXVfbGRfaGVscGVyc1s0XSA9IHsKICAgICBfX2xk Yl9tbXUsCkluZGV4OiBxZW11L3RjZy9wcGM2NC90Y2ctdGFyZ2V0LmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g cWVtdS5vcmlnL3RjZy9wcGM2NC90Y2ctdGFyZ2V0LmMJMjAwOC0wOC0yMyAxMzoxNzozMi4wMDAw MDAwMDAgKzAwMDAKKysrIHFlbXUvdGNnL3BwYzY0L3RjZy10YXJnZXQuYwkyMDA4LTA4LTIzIDEz OjE5OjM4LjAwMDAwMDAwMCArMDAwMApAQCAtNTA5LDE1ICs1MDksOCBAQAogfQogCiAjaWYgZGVm aW5lZCAoQ09ORklHX1NPRlRNTVUpCi1leHRlcm4gdm9pZCBfX2xkYl9tbXUodm9pZCk7Ci1leHRl cm4gdm9pZCBfX2xkd19tbXUodm9pZCk7Ci1leHRlcm4gdm9pZCBfX2xkbF9tbXUodm9pZCk7Ci1l eHRlcm4gdm9pZCBfX2xkcV9tbXUodm9pZCk7Ci0KLWV4dGVybiB2b2lkIF9fc3RiX21tdSh2b2lk KTsKLWV4dGVybiB2b2lkIF9fc3R3X21tdSh2b2lkKTsKLWV4dGVybiB2b2lkIF9fc3RsX21tdSh2 b2lkKTsKLWV4dGVybiB2b2lkIF9fc3RxX21tdSh2b2lkKTsKKworI2luY2x1ZGUgIi4uLy4uL3Nv ZnRtbXVfZGVmcy5oIgogCiBzdGF0aWMgdm9pZCAqcWVtdV9sZF9oZWxwZXJzWzRdID0gewogICAg IF9fbGRiX21tdSwKSW5kZXg6IHFlbXUvdGNnL3NwYXJjL3RjZy10YXJnZXQuYwo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBxZW11Lm9yaWcvdGNnL3NwYXJjL3RjZy10YXJnZXQuYwkyMDA4LTA4LTIzIDEzOjE3OjMy LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS90Y2cvc3BhcmMvdGNnLXRhcmdldC5jCTIwMDgtMDgt MjMgMTM6MTk6MzguMDAwMDAwMDAwICswMDAwCkBAIC00NzIsMTYgKzQ3Miw4IEBACiB9CiAKICNp ZiBkZWZpbmVkKENPTkZJR19TT0ZUTU1VKQotZXh0ZXJuIHZvaWQgX19sZGJfbW11KHZvaWQpOwot ZXh0ZXJuIHZvaWQgX19sZHdfbW11KHZvaWQpOwotZXh0ZXJuIHZvaWQgX19sZGxfbW11KHZvaWQp OwotZXh0ZXJuIHZvaWQgX19sZHFfbW11KHZvaWQpOwotCi1leHRlcm4gdm9pZCBfX3N0Yl9tbXUo dm9pZCk7Ci1leHRlcm4gdm9pZCBfX3N0d19tbXUodm9pZCk7Ci1leHRlcm4gdm9pZCBfX3N0bF9t bXUodm9pZCk7Ci1leHRlcm4gdm9pZCBfX3N0cV9tbXUodm9pZCk7CiAKKyNpbmNsdWRlICIuLi8u Li9zb2Z0bW11X2RlZnMuaCIKIAogc3RhdGljIGNvbnN0IHZvaWQgKiBjb25zdCBxZW11X2xkX2hl bHBlcnNbNF0gPSB7CiAgICAgX19sZGJfbW11LApJbmRleDogcWVtdS9ody9hcm0tbWlzYy5oCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIHFlbXUub3JpZy9ody9hcm0tbWlzYy5oCTIwMDgtMDgtMjMgMTM6MTc6MzIu MDAwMDAwMDAwICswMDAwCisrKyBxZW11L2h3L2FybS1taXNjLmgJMjAwOC0wOC0yMyAxMzoxOToz OC4wMDAwMDAwMDAgKzAwMDAKQEAgLTM0LDYgKzM0LDkgQEAKIHZvaWQgYXJtX2xvYWRfa2VybmVs KENQVVN0YXRlICplbnYsIHN0cnVjdCBhcm1fYm9vdF9pbmZvICppbmZvKTsKIAogLyogYXJtdjdt X252aWMuYyAqLworCisvKiBNdWx0aXBsaWNhdGlvbiBmYWN0b3IgdG8gY29udmVydCBmcm9tIHN5 c3RlbSBjbG9jayB0aWNrcyB0byBxZW11IHRpbWVyCisgICB0aWNrcy4gICovCiBpbnQgc3lzdGVt X2Nsb2NrX3NjYWxlOwogcWVtdV9pcnEgKmFybXY3bV9udmljX2luaXQoQ1BVU3RhdGUgKmVudik7 CiAKSW5kZXg6IHFlbXUvaHcvYXJtdjdtX252aWMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcv aHcvYXJtdjdtX252aWMuYwkyMDA4LTA4LTIzIDEzOjE3OjMyLjAwMDAwMDAwMCArMDAwMAorKysg cWVtdS9ody9hcm12N21fbnZpYy5jCTIwMDgtMDgtMjMgMTM6MTk6MzguMDAwMDAwMDAwICswMDAw CkBAIC01MCwxMCArNTAsNiBAQAogI2RlZmluZSBTWVNUSUNLX0NMS1NPVVJDRSAoMSA8PCAyKQog I2RlZmluZSBTWVNUSUNLX0NPVU5URkxBRyAoMSA8PCAxNikKIAotLyogTXVsdGlwbGljYXRpb24g ZmFjdG9yIHRvIGNvbnZlcnQgZnJvbSBzeXN0ZW0gY2xvY2sgdGlja3MgdG8gcWVtdSB0aW1lcgot ICAgdGlja3MuICAqLwotaW50IHN5c3RlbV9jbG9ja19zY2FsZTsKLQogLyogQ29udmVyc2lvbiBm YWN0b3IgZnJvbSBxZW11IHRpbWVyIHRvIFN5c1RpY2sgZnJlcXVlbmNpZXMuICAqLwogc3RhdGlj IGlubGluZSBpbnQ2NF90IHN5c3RpY2tfc2NhbGUobnZpY19zdGF0ZSAqcykKIHsKSW5kZXg6IHFl bXUvaHcvaXNhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2h3L2lzYS5oCTIwMDgtMDgtMjMg MTM6MTc6MzIuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L2h3L2lzYS5oCTIwMDgtMDgtMjMgMTM6 MTk6MzguMDAwMDAwMDAwICswMDAwCkBAIC0xLDMgKzEsNSBAQAorI2lmbmRlZiBIV19JU0FfSAor I2RlZmluZSBIV19JU0FfSAogLyogSVNBIGJ1cyAqLwogCiBleHRlcm4gdGFyZ2V0X3BoeXNfYWRk cl90IGlzYV9tZW1fYmFzZTsKQEAgLTIyLDMgKzI0LDQgQEAKIHZvaWQgRE1BX3JlZ2lzdGVyX2No YW5uZWwgKGludCBuY2hhbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQV90cmFuc2Zl cl9oYW5kbGVyIHRyYW5zZmVyX2hhbmRsZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 b2lkICpvcGFxdWUpOworI2VuZGlmCkluZGV4OiBxZW11L3RhcmdldC1hcm0vZXhlYy5oCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIHFlbXUub3JpZy90YXJnZXQtYXJtL2V4ZWMuaAkyMDA4LTA4LTIzIDEzOjE3OjMy LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS90YXJnZXQtYXJtL2V4ZWMuaAkyMDA4LTA4LTIzIDEz OjE5OjM4LjAwMDAwMDAwMCArMDAwMApAQCAtNjEsNSArNjEsMyBAQAogdm9pZCBjcHVfbG9vcF9l eGl0KHZvaWQpOwogCiB2b2lkIHJhaXNlX2V4Y2VwdGlvbihpbnQpOwotCi11aW50MzJfdCBoZWxw ZXJfbmVvbl9tdWxfcDgodWludDMyX3Qgb3AxLCB1aW50MzJfdCBvcDIpOwpJbmRleDogcWVtdS90 YXJnZXQtYXJtL3RyYW5zbGF0ZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy90YXJnZXQtYXJt L3RyYW5zbGF0ZS5jCTIwMDgtMDgtMjMgMTM6MTc6MzIuMDAwMDAwMDAwICswMDAwCisrKyBxZW11 L3RhcmdldC1hcm0vdHJhbnNsYXRlLmMJMjAwOC0wOC0yMyAxMzoxOTozOC4wMDAwMDAwMDAgKzAw MDAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJleGVjLWFsbC5oIgogI2luY2x1ZGUgImRp c2FzLmgiCiAjaW5jbHVkZSAidGNnLW9wLmgiCisjaW5jbHVkZSAicWVtdS1sb2cuaCIKIAogI2Rl ZmluZSBHRU5fSEVMUEVSIDEKICNpbmNsdWRlICJoZWxwZXJzLmgiCkBAIC03MiwxMCArNzMsNiBA QAogI2RlZmluZSBESVNBU19XRkkgNAogI2RlZmluZSBESVNBU19TV0kgNQogCi0vKiBYWFg6IG1v dmUgdGhhdCBlbHNld2hlcmUgKi8KLWV4dGVybiBGSUxFICpsb2dmaWxlOwotZXh0ZXJuIGludCBs b2dsZXZlbDsKLQogc3RhdGljIFRDR3YgY3B1X2VudjsKIC8qIFdlIHJldXNlIHRoZSBzYW1lIDY0 LWJpdCB0ZW1wb3JhcmllcyBmb3IgZWZmaWNpZW5jeS4gICovCiBzdGF0aWMgVENHdiBjcHVfVjAs IGNwdV9WMSwgY3B1X00wOwpJbmRleDogcWVtdS90YXJnZXQtY3Jpcy9leGVjLmgKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gcWVtdS5vcmlnL3RhcmdldC1jcmlzL2V4ZWMuaAkyMDA4LTA4LTIzIDEzOjE3OjMyLjAw MDAwMDAwMCArMDAwMAorKysgcWVtdS90YXJnZXQtY3Jpcy9leGVjLmgJMjAwOC0wOC0yMyAxMzox OTozOC4wMDAwMDAwMDAgKzAwMDAKQEAgLTQ2LDcgKzQ2LDYgQEAKIAogaW50IGNwdV9jcmlzX2hh bmRsZV9tbXVfZmF1bHQgKENQVVN0YXRlICplbnYsIHRhcmdldF91bG9uZyBhZGRyZXNzLCBpbnQg cncsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbW11X2lkeCwgaW50IGlzX3Nv ZnRtbXUpOwotdm9pZCB0bGJfZmlsbCAodGFyZ2V0X3Vsb25nIGFkZHIsIGludCBpc193cml0ZSwg aW50IG1tdV9pZHgsIHZvaWQgKnJldGFkZHIpOwogCiAjaWYgIWRlZmluZWQoQ09ORklHX1VTRVJf T05MWSkKICNpbmNsdWRlICJzb2Z0bW11X2V4ZWMuaCIKSW5kZXg6IHFlbXUvdGFyZ2V0LW02OGsv ZXhlYy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy90YXJnZXQtbTY4ay9leGVjLmgJMjAwOC0w OC0yMyAxMzoxNzozMi4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvdGFyZ2V0LW02OGsvZXhlYy5o CTIwMDgtMDgtMjMgMTM6MTk6MzguMDAwMDAwMDAwICswMDAwCkBAIC00NCw4ICs0NCw2IEBACiAj aW5jbHVkZSAic29mdG1tdV9leGVjLmgiCiAjZW5kaWYKIAotdm9pZCBjcHVfbTY4a19mbHVzaF9m bGFncyhDUFVNNjhLU3RhdGUgKmVudiwgaW50IGNjX29wKTsKLQogdm9pZCBjcHVfbG9vcF9leGl0 KHZvaWQpOwogCiBzdGF0aWMgaW5saW5lIGludCBjcHVfaGFsdGVkKENQVVN0YXRlICplbnYpIHsK SW5kZXg6IHFlbXUvdGFyZ2V0LW02OGsvdHJhbnNsYXRlLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5v cmlnL3RhcmdldC1tNjhrL3RyYW5zbGF0ZS5jCTIwMDgtMDgtMjMgMTM6MTc6MzIuMDAwMDAwMDAw ICswMDAwCisrKyBxZW11L3RhcmdldC1tNjhrL3RyYW5zbGF0ZS5jCTIwMDgtMDgtMjMgMTM6MTk6 MzguMDAwMDAwMDAwICswMDAwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiZXhlYy1hbGwu aCIKICNpbmNsdWRlICJkaXNhcy5oIgogI2luY2x1ZGUgInRjZy1vcC5oIgorI2luY2x1ZGUgInFl bXUtbG9nLmgiCiAKICNkZWZpbmUgR0VOX0hFTFBFUiAxCiAjaW5jbHVkZSAiaGVscGVycy5oIgpA QCAtMTU3LDkgKzE1OCw2IEBACiBzdGF0aWMgdm9pZCAqZ2VuX3Rocm93c19leGNlcHRpb247CiAj ZGVmaW5lIGdlbl9sYXN0X3FvcCBOVUxMCiAKLWV4dGVybiBGSUxFICpsb2dmaWxlOwotZXh0ZXJu IGludCBsb2dsZXZlbDsKLQogI2RlZmluZSBPU19CWVRFIDAKICNkZWZpbmUgT1NfV09SRCAxCiAj ZGVmaW5lIE9TX0xPTkcgMgpJbmRleDogcWVtdS90YXJnZXQtbWlwcy9leGVjLmgKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gcWVtdS5vcmlnL3RhcmdldC1taXBzL2V4ZWMuaAkyMDA4LTA4LTIzIDEzOjE3OjMyLjAw MDAwMDAwMCArMDAwMAorKysgcWVtdS90YXJnZXQtbWlwcy9leGVjLmgJMjAwOC0wOC0yMyAxMzox OTozOC4wMDAwMDAwMDAgKzAwMDAKQEAgLTMzLDkgKzMzLDYgQEAKIHZvaWQgZG9fcmFpc2VfZXhj ZXB0aW9uX2VyciAodWludDMyX3QgZXhjZXB0aW9uLCBpbnQgZXJyb3JfY29kZSk7CiB2b2lkIGRv X3JhaXNlX2V4Y2VwdGlvbiAodWludDMyX3QgZXhjZXB0aW9uKTsKIAotdm9pZCBjcHVfZHVtcF9z dGF0ZShDUFVTdGF0ZSAqZW52LCBGSUxFICpmLAotICAgICAgICAgICAgICAgICAgICBpbnQgKCpj cHVfZnByaW50ZikoRklMRSAqZiwgY29uc3QgY2hhciAqZm10LCAuLi4pLAotICAgICAgICAgICAg ICAgICAgICBpbnQgZmxhZ3MpOwogdm9pZCBjcHVfbWlwc19pcnFjdHJsX2luaXQgKHZvaWQpOwog dWludDMyX3QgY3B1X21pcHNfZ2V0X3JhbmRvbSAoQ1BVU3RhdGUgKmVudik7CiB1aW50MzJfdCBj cHVfbWlwc19nZXRfY291bnQgKENQVVN0YXRlICplbnYpOwpJbmRleDogcWVtdS90YXJnZXQtcHBj L3RyYW5zbGF0ZV9pbml0LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL3RhcmdldC1wcGMvdHJh bnNsYXRlX2luaXQuYwkyMDA4LTA4LTIzIDEzOjE3OjMyLjAwMDAwMDAwMCArMDAwMAorKysgcWVt dS90YXJnZXQtcHBjL3RyYW5zbGF0ZV9pbml0LmMJMjAwOC0wOC0yMyAxMzoxOTozOC4wMDAwMDAw MDAgKzAwMDAKQEAgLTg5NDEsOCArODk0MSw2IEBACiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5j bHVkZSA8c3RyaW5nLmg+CiAKLWludCBmZmx1c2ggKEZJTEUgKnN0cmVhbSk7Ci0KIC8qIE9wY29k ZSB0eXBlcyAqLwogZW51bSB7CiAgICAgUFBDX0RJUkVDVCAgID0gMCwgLyogT3Bjb2RlIHJvdXRp bmUgICAgICAgICovCkluZGV4OiBxZW11L2xpbnV4LXVzZXIvYXJtL253ZnBlL2ZwYTExX2NwcnQu Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvbGludXgtdXNlci9hcm0vbndmcGUvZnBhMTFfY3By dC5jCTIwMDgtMDgtMjMgMTU6MTc6MzYuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L2xpbnV4LXVz ZXIvYXJtL253ZnBlL2ZwYTExX2NwcnQuYwkyMDA4LTA4LTIzIDE1OjE3OjQ0LjAwMDAwMDAwMCAr MDAwMApAQCAtMjcsOCArMjcsNiBAQAogLy8jaW5jbHVkZSAiZnBtb2R1bGUuaCIKIC8vI2luY2x1 ZGUgImZwbW9kdWxlLmlubCIKIAotdm9pZCBTZXRSb3VuZGluZ01vZGUoY29uc3QgdW5zaWduZWQg aW50IG9wY29kZSk7Ci0KIHVuc2lnbmVkIGludCBQZXJmb3JtRkxUKGNvbnN0IHVuc2lnbmVkIGlu dCBvcGNvZGUpOwogdW5zaWduZWQgaW50IFBlcmZvcm1GSVgoY29uc3QgdW5zaWduZWQgaW50IG9w Y29kZSk7CiAKSW5kZXg6IHFlbXUvbGludXgtdXNlci9hcm0vc3lzY2FsbC5oCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tIHFlbXUub3JpZy9saW51eC11c2VyL2FybS9zeXNjYWxsLmgJMjAwOC0wNS0yOSAxNDoyNjow OC4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvbGludXgtdXNlci9hcm0vc3lzY2FsbC5oCTIwMDgt MDgtMjMgMTU6MTc6MDMuMDAwMDAwMDAwICswMDAwCkBAIC00MCw1ICs0MCwzIEBACiAjZWxzZQog I2RlZmluZSBVTkFNRV9NQUNISU5FICJhcm12NXRlbCIKICNlbmRpZgotCi11aW50MzJfdCBkb19h cm1fc2VtaWhvc3RpbmcoQ1BVU3RhdGUgKik7CkluZGV4OiBxZW11L2xpbnV4LXVzZXIvbTY4ay9z eXNjYWxsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2xpbnV4LXVzZXIvbTY4ay9zeXNjYWxs LmgJMjAwOC0wOC0yMyAxNToyMToyOC4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvbGludXgtdXNl ci9tNjhrL3N5c2NhbGwuaAkyMDA4LTA4LTIzIDE1OjIxOjMzLjAwMDAwMDAwMCArMDAwMApAQCAt MTgsNSArMTgsNCBAQAogCiAjZGVmaW5lIFVOQU1FX01BQ0hJTkUgIm02OGsiCiAKLXZvaWQgZG9f bTY4a19zZW1paG9zdGluZyhDUFVTdGF0ZSAqLCBpbnQpOwogdm9pZCBkb19tNjhrX3NpbWNhbGwo Q1BVU3RhdGUgKiwgaW50KTsKSW5kZXg6IHFlbXUvdGFyZ2V0LWFscGhhL2V4ZWMuaAo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBxZW11Lm9yaWcvdGFyZ2V0LWFscGhhL2V4ZWMuaAkyMDA4LTA4LTIzIDE1OjExOjMy LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS90YXJnZXQtYWxwaGEvZXhlYy5oCTIwMDgtMDgtMjMg MTU6MTk6MjYuMDAwMDAwMDAwICswMDAwCkBAIC03NCw4ICs3NCw2IEBACiAKIGludCBjcHVfYWxw aGFfaGFuZGxlX21tdV9mYXVsdCAoQ1BVU3RhdGUgKmVudiwgdWludDY0X3QgYWRkcmVzcywgaW50 IHJ3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbW11X2lkeCwgaW50IGlz X3NvZnRtbXUpOwotaW50IGNwdV9hbHBoYV9tZnByIChDUFVTdGF0ZSAqZW52LCBpbnQgaXBybiwg dWludDY0X3QgKnZhbHApOwotaW50IGNwdV9hbHBoYV9tdHByIChDUFVTdGF0ZSAqZW52LCBpbnQg aXBybiwgdWludDY0X3QgdmFsLCB1aW50NjRfdCAqb2xkdmFscCk7CiAKIHZvaWQgZG9faW50ZXJy dXB0IChDUFVTdGF0ZSAqZW52KTsKIAo= ------=_Part_68141_16413036.1219506426437--