From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jakub Jelinek To: git-commits@fedoraproject.org Subject: [rpms/gcc] rhel-f41-base: 4.1.2-13 Date: Mon, 29 Jun 2026 12:23:17 GMT Message-ID: <178273579793.1.4981703828529845384.rpms-gcc-1c109062ac58@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: 1c109062ac585a6f2d5e4a9be83bd8901592b5f4 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogMWMxMDkwNjJhYzU4NWE2ZjJkNWU0YTliZTgzYmQ4OTAx NTkyYjVmNApBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkBmZWRvcmFwcm9qZWN0Lm9yZz4K RGF0ZSAgIDogMjAwNy0wNi0xNVQxNzo0MjoyMSswMDowMApTdGF0cyAgOiArMjk0Ly0zMzkgaW4g MTEgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dj Yy9jLzFjMTA5MDYyYWM1ODVhNmYyZDVlNGE5YmU4M2JkODkwMTU5MmI1ZjQ/YnJhbmNoPXJoZWwt ZjQxLWJhc2UKCkxvZzoKNC4xLjItMTMKCi0tLQpkaWZmIC0tZ2l0IGEvLmN2c2lnbm9yZSBiLy5j dnNpZ25vcmUKaW5kZXggZjkyMmM0Yy4uNjIwNTQ4OCAxMDA2NDQKLS0tIGEvLmN2c2lnbm9yZQor KysgYi8uY3ZzaWdub3JlCkBAIC0xICsxIEBACi1nY2MtNC4xLjItMjAwNzA1MDMudGFyLmJ6Mgor Z2NjLTQuMS4yLTIwMDcwNjE1LnRhci5iejIKCmRpZmYgLS1naXQgYS9nY2M0MS1kdG9yLXJlbHJv LnBhdGNoIGIvZ2NjNDEtZHRvci1yZWxyby5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMTE4MTI4Yy4uMDAwMDAwMAotLS0gYS9nY2M0MS1kdG9yLXJlbHJvLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsODkgKzAsMCBAQAotMjAwNy0wNS0wMyAgVWxyaWNoIERyZXBwZXIgIDxk cmVwcGVyQHJlZGhhdC5jb20+Ci0JICAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29t PgotCi0JKiBjcnRzdHVmZi5jIChISURERU5fRFRPUl9MSVNUX0VORCk6IE5ldyBtYWNyby4KLQko X19kb19nbG9iYWxfZHRvcnNfYXV4KTogVXNlIG1vcmUgcGFyYW5vaWQgbG9vcCB0byBydW4KLQlk ZXN0cnVjdG9ycyBpZiBISURERU5fRFRPUl9MSVNUX0VORC4KLQkoX19EVE9SX0VORF9fKTogRXhw b3J0IGFzIGEgaGlkZGVuIHN5bWJvbCB3aGVuIEhJRERFTl9EVE9SX0xJU1RfRU5ELgotCi0tLS0g Z2NjL2NydHN0dWZmLmMuamoJMjAwNy0wMS0yNCAyMjoyNDoyMS4wMDAwMDAwMDAgKzAxMDAKLSsr KyBnY2MvY3J0c3R1ZmYuYwkyMDA3LTA1LTAzIDEwOjQwOjI5LjAwMDAwMDAwMCArMDIwMAotQEAg LTEwNiw2ICsxMDcsMTEgQEAgY2FsbF8gIyMgRlVOQyAodm9pZCkJCQkJCVwKLSAjIGRlZmluZSBF SF9GUkFNRV9TRUNUSU9OX0NPTlNUCi0gI2VuZGlmCi0gCi0rI2lmICFkZWZpbmVkKERUT1JfTElT VF9FTkQpICYmIGRlZmluZWQoT0JKRUNUX0ZPUk1BVF9FTEYpIFwKLSsgICAgJiYgZGVmaW5lZChI QVZFX0dBU19ISURERU4pICYmICFkZWZpbmVkKEZJTklfQVJSQVlfU0VDVElPTl9BU01fT1ApCi0r IyBkZWZpbmUgSElEREVOX0RUT1JfTElTVF9FTkQKLSsjZW5kaWYKLSsKLSAvKiBXZSBkbyBub3Qg d2FudCB0byBhZGQgdGhlIHdlYWsgYXR0cmlidXRlIHRvIHRoZSBkZWNsYXJhdGlvbnMgb2YgdGhl c2UKLSAgICByb3V0aW5lcyBpbiB1bndpbmQtZHcyLWZkZS5oIGJlY2F1c2UgdGhhdCB3aWxsIGNh dXNlIHRoZSBkZWZpbml0aW9uIG9mCi0gICAgdGhlc2Ugc3ltYm9scyB0byBiZSB3ZWFrIGFzIHdl bGwuCi1AQCAtMjY1LDEwICsyNzEsNiBAQCBleHRlcm4gdm9pZCBfX2N4YV9maW5hbGl6ZSAodm9p ZCAqKSBUQVJHCi0gc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygodXNlZCkpCi0gX19kb19nbG9i YWxfZHRvcnNfYXV4ICh2b2lkKQotIHsKLS0jaWZuZGVmIEZJTklfQVJSQVlfU0VDVElPTl9BU01f T1AKLS0gIHN0YXRpYyBmdW5jX3B0ciAqcCA9IF9fRFRPUl9MSVNUX18gKyAxOwotLSAgZnVuY19w dHIgZjsKLS0jZW5kaWYgLyogIWRlZmluZWQoRklOSV9BUlJBWV9TRUNUSU9OX0FTTV9PUCkgICov Ci0gICBzdGF0aWMgX0Jvb2wgY29tcGxldGVkOwotIAotICAgaWYgKF9fYnVpbHRpbl9leHBlY3Qg KGNvbXBsZXRlZCwgMCkpCi1AQCAtMjgyLDEyICsyODQsMzIgQEAgX19kb19nbG9iYWxfZHRvcnNf YXV4ICh2b2lkKQotICNpZmRlZiBGSU5JX0FSUkFZX1NFQ1RJT05fQVNNX09QCi0gICAvKiBJZiB3 ZSBhcmUgdXNpbmcgLmZpbmlfYXJyYXkgdGhlbiBkZXN0cnVjdG9ycyB3aWxsIGJlIHJ1biB2aWEg dGhhdAotICAgICAgbWVjaGFuaXNtLiAgKi8KLSsjZWxpZiBkZWZpbmVkKEhJRERFTl9EVE9SX0xJ U1RfRU5EKQotKyAgewotKyAgICAvKiBTYWZlciB2ZXJzaW9uIHRoYXQgbWFrZXMgc3VyZSBvbmx5 IC5kdG9ycyBmdW5jdGlvbiBwb2ludGVycyBhcmUKLSsgICAgICAgY2FsbGVkIGV2ZW4gaWYgdGhl IHN0YXRpYyB2YXJpYWJsZSBpcyBtYWxpY2lvdXNseSBjaGFuZ2VkLiAgKi8KLSsgICAgZXh0ZXJu IGZ1bmNfcHRyIF9fRFRPUl9FTkRfX1tdIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkgKCJoaWRk ZW4iKSkpOwotKyAgICBzdGF0aWMgc2l6ZV90IGR0b3JfaWR4OwotKyAgICBjb25zdCBzaXplX3Qg bWF4X2lkeCA9IF9fRFRPUl9FTkRfXyAtIF9fRFRPUl9MSVNUX18gLSAxOwotKyAgICBmdW5jX3B0 ciBmOwotKwotKyAgICB3aGlsZSAoZHRvcl9pZHggPCBtYXhfaWR4KQotKyAgICAgIHsKLSsJZiA9 IF9fRFRPUl9MSVNUX19bKytkdG9yX2lkeF07Ci0rCWYgKCk7Ci0rICAgICAgfQotKyAgfQotICNl bHNlIC8qICFkZWZpbmVkIChGSU5JX0FSUkFZX1NFQ1RJT05fQVNNX09QKSAqLwotLSAgd2hpbGUg KChmID0gKnApKQotLSAgICB7Ci0tICAgICAgcCsrOwotLSAgICAgIGYgKCk7Ci0tICAgIH0KLSsg IHsKLSsgICAgc3RhdGljIGZ1bmNfcHRyICpwID0gX19EVE9SX0xJU1RfXyArIDE7Ci0rICAgIGZ1 bmNfcHRyIGY7Ci0rCi0rICAgIHdoaWxlICgoZiA9ICpwKSkKLSsgICAgICB7Ci0rCXArKzsKLSsJ ZiAoKTsKLSsgICAgICB9Ci0rICB9Ci0gI2VuZGlmIC8qICFkZWZpbmVkKEZJTklfQVJSQVlfU0VD VElPTl9BU01fT1ApICovCi0gCi0gI2lmZGVmIFVTRV9FSF9GUkFNRV9SRUdJU1RSWQotQEAgLTQ3 MSw2ICs0OTMsMTcgQEAgU1RBVElDIGZ1bmNfcHRyIF9fQ1RPUl9FTkRfX1sxXQotIAotICNpZmRl ZiBEVE9SX0xJU1RfRU5ECi0gRFRPUl9MSVNUX0VORDsKLSsjZWxpZiBkZWZpbmVkKEhJRERFTl9E VE9SX0xJU1RfRU5EKQotKyNpZmRlZiBEVE9SU19TRUNUSU9OX0FTTV9PUAotK2FzbSAoRFRPUlNf U0VDVElPTl9BU01fT1ApOwotKyNlbmRpZgotK2Z1bmNfcHRyIF9fRFRPUl9FTkRfX1sxXQotKyAg X19hdHRyaWJ1dGVfXyAoKHVudXNlZCwKLSsjaWZuZGVmIERUT1JTX1NFQ1RJT05fQVNNX09QCi0r CQkgIHNlY3Rpb24oIi5kdG9ycyIpLAotKyNlbmRpZgotKwkJICBhbGlnbmVkKHNpemVvZihmdW5j X3B0cikpLCB2aXNpYmlsaXR5ICgiaGlkZGVuIikpKQotKyAgPSB7IChmdW5jX3B0cikgMCB9Owot ICNlbGlmIGRlZmluZWQoRFRPUlNfU0VDVElPTl9BU01fT1ApCi0gYXNtIChEVE9SU19TRUNUSU9O X0FTTV9PUCk7Ci0gU1RBVElDIGZ1bmNfcHRyIF9fRFRPUl9FTkRfX1sxXQoKZGlmZiAtLWdpdCBh L2djYzQxLWxpYmdvbXAtbmNwdXMucGF0Y2ggYi9nY2M0MS1saWJnb21wLW5jcHVzLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzY2I2MjM4Li4wMDAwMDAwCi0tLSBhL2djYzQx LWxpYmdvbXAtbmNwdXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxODYgKzAsMCBAQAotMjAw Ny0wNS0wMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0KLQkqIGNvbmZpZy9s aW51eC9wcm9jLmM6IE5ldyBmaWxlLgotCi0tLS0gbGliZ29tcC9jb25maWcvbGludXgvcHJvYy5j LmpqCTIwMDctMDUtMDIgMTM6NTA6MzcuMDAwMDAwMDAwICswMjAwCi0rKysgbGliZ29tcC9jb25m aWcvbGludXgvcHJvYy5jCTIwMDctMDUtMDIgMTY6MDA6NDcuMDAwMDAwMDAwICswMjAwCi1AQCAt MCwwICsxLDE3OSBAQAotKy8qIENvcHlyaWdodCAoQykgMjAwNSwgMjAwNiwgMjAwNyBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsgICBDb250cmlidXRlZCBieSBKYWt1YiBKZWxpbmVr IDxqYWt1YkByZWRoYXQuY29tPi4KLSsKLSsgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05V IE9wZW5NUCBMaWJyYXJ5IChsaWJnb21wKS4KLSsKLSsgICBMaWJnb21wIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKLSsgICB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KLSsKLSsgICBMaWJnb21wIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWQotKyAgIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MK LSsgICBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBMZXNzZXIgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IKLSsgICBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIAotKyAgIGFsb25nIHdpdGggbGliZ29tcDsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC LiAgSWYgbm90LCB3cml0ZSB0byB0aGUKLSsgICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKLSsgICBNQSAwMjEx MC0xMzAxLCBVU0EuICAqLwotKwotKy8qIEFzIGEgc3BlY2lhbCBleGNlcHRpb24sIGlmIHlvdSBs aW5rIHRoaXMgbGlicmFyeSB3aXRoIG90aGVyIGZpbGVzLCBzb21lCi0rICAgb2Ygd2hpY2ggYXJl IGNvbXBpbGVkIHdpdGggR0NDLCB0byBwcm9kdWNlIGFuIGV4ZWN1dGFibGUsIHRoaXMgbGlicmFy eQotKyAgIGRvZXMgbm90IGJ5IGl0c2VsZiBjYXVzZSB0aGUgcmVzdWx0aW5nIGV4ZWN1dGFibGUg dG8gYmUgY292ZXJlZCBieSB0aGUKLSsgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRo aXMgZXhjZXB0aW9uIGRvZXMgbm90IGhvd2V2ZXIgaW52YWxpZGF0ZQotKyAgIGFueSBvdGhlciBy ZWFzb25zIHdoeSB0aGUgZXhlY3V0YWJsZSBmaWxlIG1pZ2h0IGJlIGNvdmVyZWQgYnkgdGhlIEdO VQotKyAgIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICAqLwotKwotKy8qIFRoaXMgZmlsZSBjb250 YWlucyBzeXN0ZW0gc3BlY2lmaWMgcm91dGluZXMgcmVsYXRlZCB0byBjb3VudGluZwotKyAgIG9u bGluZSBwcm9jZXNzb3JzIGFuZCBkeW5hbWljIGxvYWQgYmFsYW5jaW5nLiAgKi8KLSsKLSsjaWZu ZGVmIF9HTlVfU09VUkNFCi0rI2RlZmluZSBfR05VX1NPVVJDRSAxCi0rI2VuZGlmCi0rI2luY2x1 ZGUgImxpYmdvbXAuaCIKLSsjaW5jbHVkZSA8c2NoZWQuaD4KLSsjaW5jbHVkZSA8c3RkbGliLmg+ Ci0rI2luY2x1ZGUgPHVuaXN0ZC5oPgotKyNpZmRlZiBIQVZFX0dFVExPQURBVkcKLSsjIGlmZGVm IEhBVkVfU1lTX0xPQURBVkdfSAotKyMgIGluY2x1ZGUgPHN5cy9sb2FkYXZnLmg+Ci0rIyBlbmRp ZgotKyNlbmRpZgotKwotKyNpZmRlZiBIQVZFX1BUSFJFQURfQUZGSU5JVFlfTlAKLStzdGF0aWMg dW5zaWduZWQgbG9uZwotK2NwdXNldF9wb3Bjb3VudCAoY3B1X3NldF90ICpjcHVzZXRwKQotK3sK LSsjaWZkZWYgQ1BVX0NPVU5UCi0rICAvKiBnbGliYyAyLjYgYW5kIGFib3ZlIHByb3ZpZGUgYSBt YWNybyBmb3IgdGhpcy4gICovCi0rICByZXR1cm4gQ1BVX0NPVU5UIChjcHVzZXRwKTsKLSsjZWxz ZQotKyAgc2l6ZV90IGk7Ci0rICB1bnNpZ25lZCBsb25nIHJldCA9IDA7Ci0rICBleHRlcm4gaW50 IGNoZWNrW3NpemVvZiAoY3B1c2V0cC0+X19iaXRzWzBdKSA9PSBzaXplb2YgKHVuc2lnbmVkIGxv bmcgaW50KV07Ci0rCi0rICAodm9pZCkgY2hlY2s7Ci0rICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9m ICgqY3B1c2V0cCkgLyBzaXplb2YgKGNwdXNldHAtPl9fYml0c1swXSk7IGkrKykKLSsgICAgewot KyAgICAgIHVuc2lnbmVkIGxvbmcgaW50IG1hc2sgPSBjcHVzZXRwLT5fX2JpdHNbaV07Ci0rICAg ICAgaWYgKG1hc2sgPT0gMCkKLSsJY29udGludWU7Ci0rICAgICAgcmV0ICs9IF9fYnVpbHRpbl9w b3Bjb3VudGwgKG1hc2spOwotKyAgICB9Ci0rICByZXR1cm4gcmV0OwotKyNlbmRpZgotK30KLSsj ZW5kaWYKLSsKLSsvKiBBdCBzdGFydHVwLCBkZXRlcm1pbmUgdGhlIGRlZmF1bHQgbnVtYmVyIG9m IHRocmVhZHMuICBJdCB3b3VsZCBzZWVtCi0rICAgdGhpcyBzaG91bGQgYmUgcmVsYXRlZCB0byB0 aGUgbnVtYmVyIG9mIGNwdXMgb25saW5lLiAgKi8KLSsKLSt2b2lkCi0rZ29tcF9pbml0X251bV90 aHJlYWRzICh2b2lkKQotK3sKLSsjaWZkZWYgSEFWRV9QVEhSRUFEX0FGRklOSVRZX05QCi0rICBj cHVfc2V0X3QgY3B1c2V0OwotKwotKyAgaWYgKHB0aHJlYWRfZ2V0YWZmaW5pdHlfbnAgKHB0aHJl YWRfc2VsZiAoKSwgc2l6ZW9mIChjcHVzZXQpLCAmY3B1c2V0KSA9PSAwKQotKyAgICB7Ci0rICAg ICAgLyogQ291bnQgb25seSB0aGUgQ1BVcyB0aGlzIHByb2Nlc3MgY2FuIHVzZS4gICovCi0rICAg ICAgZ29tcF9udGhyZWFkc192YXIgPSBjcHVzZXRfcG9wY291bnQgKCZjcHVzZXQpOwotKyAgICAg IGlmIChnb21wX250aHJlYWRzX3ZhciA9PSAwKQotKwlnb21wX250aHJlYWRzX3ZhciA9IDE7Ci0r ICAgICAgcmV0dXJuOwotKyAgICB9Ci0rI2VuZGlmCi0rI2lmZGVmIF9TQ19OUFJPQ0VTU09SU19P TkxOCi0rICBnb21wX250aHJlYWRzX3ZhciA9IHN5c2NvbmYgKF9TQ19OUFJPQ0VTU09SU19PTkxO KTsKLSsjZW5kaWYKLSt9Ci0rCi0rc3RhdGljIGludAotK2dldF9udW1fcHJvY3MgKHZvaWQpCi0r ewotKyNpZmRlZiBIQVZFX1BUSFJFQURfQUZGSU5JVFlfTlAKLSsgIGNwdV9zZXRfdCBjcHVzZXQ7 Ci0rCi0rICBpZiAoZ29tcF9jcHVfYWZmaW5pdHkgPT0gTlVMTCkKLSsgICAgewotKyAgICAgIC8q IENvdW50IG9ubHkgdGhlIENQVXMgdGhpcyBwcm9jZXNzIGNhbiB1c2UuICAqLwotKyAgICAgIGlm IChwdGhyZWFkX2dldGFmZmluaXR5X25wIChwdGhyZWFkX3NlbGYgKCksIHNpemVvZiAoY3B1c2V0 KSwKLSsJCQkJICAmY3B1c2V0KSA9PSAwKQotKwl7Ci0rCSAgaW50IHJldCA9IGNwdXNldF9wb3Bj b3VudCAoJmNwdXNldCk7Ci0rCSAgcmV0dXJuIHJldCAhPSAwID8gcmV0IDogMTsKLSsJfQotKyAg ICB9Ci0rICBlbHNlCi0rICAgIHsKLSsgICAgICBzaXplX3QgaWR4OwotKyAgICAgIHN0YXRpYyBp bnQgYWZmaW5pdHlfY3B1czsKLSsKLSsgICAgICAvKiBXZSBjYW4ndCB1c2UgcHRocmVhZF9nZXRh ZmZpbml0eV9ucCBpbiB0aGlzIGNhc2UKLSsJICh3ZSBoYXZlIGNoYW5nZWQgaXQgb3Vyc2VsdmVz LCBpdCBiaW5kcyB0byBqdXN0IG9uZSBDUFUpLgotKwkgQ291bnQgaW5zdGVhZCB0aGUgbnVtYmVy IG9mIGRpZmZlcmVudCBDUFVzIHdlIGFyZQotKwkgdXNpbmcuICAqLwotKyAgICAgIENQVV9aRVJP ICgmY3B1c2V0KTsKLSsgICAgICBpZiAoYWZmaW5pdHlfY3B1cyA9PSAwKQotKwl7Ci0rCSAgaW50 IGNwdXMgPSAwOwotKwkgIGZvciAoaWR4ID0gMDsgaWR4IDwgZ29tcF9jcHVfYWZmaW5pdHlfbGVu OyBpZHgrKykKLSsJICAgIGlmICghIENQVV9JU1NFVCAoZ29tcF9jcHVfYWZmaW5pdHlbaWR4XSwg JmNwdXNldCkpCi0rCSAgICAgIHsKLSsJCWNwdXMrKzsKLSsJCUNQVV9TRVQgKGdvbXBfY3B1X2Fm ZmluaXR5W2lkeF0sICZjcHVzZXQpOwotKwkgICAgICB9Ci0rCSAgYWZmaW5pdHlfY3B1cyA9IGNw dXM7Ci0rCX0KLSsgICAgICByZXR1cm4gYWZmaW5pdHlfY3B1czsKLSsgICAgfQotKyNlbmRpZgot KyNpZmRlZiBfU0NfTlBST0NFU1NPUlNfT05MTgotKyAgcmV0dXJuIHN5c2NvbmYgKF9TQ19OUFJP Q0VTU09SU19PTkxOKTsKLSsjZWxzZQotKyAgcmV0dXJuIGdvbXBfbnRocmVhZHNfdmFyOwotKyNl bmRpZgotK30KLSsKLSsvKiBXaGVuIE9NUF9EWU5BTUlDIGlzIHNldCwgYXQgdGhyZWFkIGxhdW5j aCBkZXRlcm1pbmUgdGhlIG51bWJlciBvZgotKyAgIHRocmVhZHMgd2Ugc2hvdWxkIHNwYXduIGZv ciB0aGlzIHRlYW0uICAqLwotKy8qID8/PyBJIGhhdmUgbm8gaWRlYSB3aGF0IGJlc3QgcHJhY3Rp Y2UgZm9yIHRoaXMgaXMuICBTdXJlbHkgc29tZQotKyAgIGZ1bmN0aW9uIG9mIHRoZSBudW1iZXIg b2YgcHJvY2Vzc29ycyB0aGF0IGFyZSAqc3RpbGwqIG9ubGluZSBhbmQKLSsgICB0aGUgbG9hZCBh dmVyYWdlLiAgSGVyZSBJIHVzZSB0aGUgbnVtYmVyIG9mIHByb2Nlc3NvcnMgb25saW5lCi0rICAg bWludXMgdGhlIDE1IG1pbnV0ZSBsb2FkIGF2ZXJhZ2UuICAqLwotKwotK3Vuc2lnbmVkCi0rZ29t cF9keW5hbWljX21heF90aHJlYWRzICh2b2lkKQotK3sKLSsgIHVuc2lnbmVkIG5fb25sbiwgbG9h ZGF2ZzsKLSsKLSsgIG5fb25sbiA9IGdldF9udW1fcHJvY3MgKCk7Ci0rICBpZiAobl9vbmxuID4g Z29tcF9udGhyZWFkc192YXIpCi0rICAgIG5fb25sbiA9IGdvbXBfbnRocmVhZHNfdmFyOwotKwot KyAgbG9hZGF2ZyA9IDA7Ci0rI2lmZGVmIEhBVkVfR0VUTE9BREFWRwotKyAgewotKyAgICBkb3Vi bGUgZGxvYWRhdmdbM107Ci0rICAgIGlmIChnZXRsb2FkYXZnIChkbG9hZGF2ZywgMykgPT0gMykK LSsgICAgICB7Ci0rCS8qIEFkZCAwLjEgdG8gZ2V0IGEga2luZCBvZiBiaWFzZWQgcm91bmRpbmcu ICAqLwotKwlsb2FkYXZnID0gZGxvYWRhdmdbMl0gKyAwLjE7Ci0rICAgICAgfQotKyAgfQotKyNl bmRpZgotKwotKyAgaWYgKGxvYWRhdmcgPj0gbl9vbmxuKQotKyAgICByZXR1cm4gMTsKLSsgIGVs c2UKLSsgICAgcmV0dXJuIG5fb25sbiAtIGxvYWRhdmc7Ci0rfQotKwotK2ludAotK29tcF9nZXRf bnVtX3Byb2NzICh2b2lkKQotK3sKLSsgIHJldHVybiBnZXRfbnVtX3Byb2NzICgpOwotK30KLSsK LStpYWxpYXMgKG9tcF9nZXRfbnVtX3Byb2NzKQoKZGlmZiAtLWdpdCBhL2djYzQxLXByMjg0ODIu cGF0Y2ggYi9nY2M0MS1wcjI4NDgyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAyY2IzNjM4Li4wMDAwMDAwCi0tLSBhL2djYzQxLXByMjg0ODIucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwxOSArMCwwIEBACi0yMDA3LTA1LTAyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVk aGF0LmNvbT4KLQotCVBSIGxpYmdvbXAvMjg0ODIKLQkqIGNvbmZpZ3VyZS50Z3Q6IERvbid0IGxp bmsgd2l0aCAtV2wsLXosbm9kbG9wZW4gZXZlbiBvbiBMaW51eC4KLQotLS0tIGxpYmdvbXAvY29u ZmlndXJlLnRndC5qagkyMDA3LTA0LTIwIDEyOjU1OjQwLjAwMDAwMDAwMCArMDIwMAotKysrIGxp YmdvbXAvY29uZmlndXJlLnRndAkyMDA3LTA1LTAyIDE3OjMyOjE1LjAwMDAwMDAwMCArMDIwMAot QEAgLTExLDExICsxMSw4IEBACi0gIyAgWExERkxBR1MJCUFkZCBleHRyYSBsaW5rIGZsYWdzIHRv IHVzZS4KLSAKLSAjIE9wdGltaXplIFRMUyB1c2FnZSBieSBhdm9pZGluZyB0aGUgb3ZlcmhlYWQg b2YgZHluYW1pYyBhbGxvY2F0aW9uLgotLSMgVGhpcyBkb2VzIHJlcXVpcmUgdGhhdCB0aGUgbGli cmFyeSBiZSBwcmVzZW50IGR1cmluZyBwcm9jZXNzIAotLSMgc3RhcnR1cCwgc28gbWFyayB0aGUg bGlicmFyeSBhcyBub3QgdG8gYmUgZGxvcGVuZWQuCi0gaWYgdGVzdCAkaGF2ZV90bHMgPSB5ZXMg JiYgdGVzdCAiJHdpdGhfZ251X2xkIiA9ICJ5ZXMiOyB0aGVuCi0gCVhDRkxBR1M9IiR7WENGTEFH U30gLWZ0bHMtbW9kZWw9aW5pdGlhbC1leGVjIgotLQlYTERGTEFHUz0iJHtYTERGTEFHU30gLVds LC16LG5vZGxvcGVuIgotIGZpCi0gCi0gIyBTaW5jZSB3ZSByZXF1aXJlIFBPU0lYIHRocmVhZHMs IGFzc3VtZSBhIFBPU0lYIHN5c3RlbSBieSBkZWZhdWx0LgoKZGlmZiAtLWdpdCBhL2djYzQxLXBy MzE4MDkucGF0Y2ggYi9nY2M0MS1wcjMxODA5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLmE2MjBhMmQKLS0tIC9kZXYvbnVsbAorKysgYi9nY2M0MS1wcjMxODA5LnBh dGNoCkBAIC0wLDAgKzEsNjggQEAKKzIwMDctMDUtMzEgIEpha3ViIEplbGluZWsgIDxqYWt1YkBy ZWRoYXQuY29tPgorCisJUFIgYysrLzMxODA2CisJKiBkZWNsLmMgKGNwX2ZpbmlzaF9kZWNsKTog QWxzbyBjbGVhciB3YXNfcmVhZG9ubHkgaWYgYSBzdGF0aWMgdmFyCisJbmVlZHMgcnVudGltZSBp bml0aWFsaXphdGlvbi4KKworMjAwNy0wNS0zMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhh dC5jb20+CisKKwlQUiBjKysvMzE4MDkKKwkqIGRlY2wuYyAoY3BfZmluaXNoX2RlY2wpOiBDbGVh ciBUUkVFX1JFQURPTkxZIGZsYWcgb24gVFJFRV9TVEFUSUMKKwl2YXJpYWJsZXMgdGhhdCBuZWVk IHJ1bnRpbWUgaW5pdGlhbGl6YXRpb24uCisKKwkqIGcrKy5kZy9vcHQvc3RhdGljNS5DOiBOZXcg dGVzdC4KKworLS0tIGdjYy9jcC9kZWNsLmMJKHJldmlzaW9uIDEyNTIwMCkKKysrKyBnY2MvY3Av ZGVjbC5jCShyZXZpc2lvbiAxMjUyMjkpCitAQCAtNTM1Nyw3ICs1MzU3LDE4IEBAIGNwX2Zpbmlz aF9kZWNsICh0cmVlIGRlY2wsIHRyZWUgaW5pdCwgYm8KKyAJICAgICBpbml0aWFsaXplci4gIEl0 IGlzIG5vdCBsZWdhbCB0byByZWRlY2xhcmUgYSBzdGF0aWMgZGF0YQorIAkgICAgIG1lbWJlciwg c28gdGhpcyBpc3N1ZSBkb2VzIG5vdCBhcmlzZSBpbiB0aGF0IGNhc2UuICAqLworIAkgIGlmICh2 YXJfZGVmaW5pdGlvbl9wICYmIFRSRUVfU1RBVElDIChkZWNsKSkKKy0JICAgIGV4cGFuZF9zdGF0 aWNfaW5pdCAoZGVjbCwgaW5pdCk7CisrCSAgICB7CisrCSAgICAgIC8qIElmIGEgVFJFRV9SRUFE T05MWSB2YXJpYWJsZSBuZWVkcyBpbml0aWFsaXphdGlvbgorKwkJIGF0IHJ1bnRpbWUsIGl0IGlz IG5vIGxvbmdlciByZWFkb25seSBhbmQgd2UgbmVlZCB0bworKwkJIGF2b2lkIE1FTV9SRUFET05M WV9QIGJlaW5nIHNldCBvbiBSVEwgY3JlYXRlZCBmb3IgaXQuICAqLworKwkgICAgICBpZiAoaW5p dCkKKysJCXsKKysJCSAgaWYgKFRSRUVfUkVBRE9OTFkgKGRlY2wpKQorKwkJICAgIFRSRUVfUkVB RE9OTFkgKGRlY2wpID0gMDsKKysJCSAgd2FzX3JlYWRvbmx5ID0gMDsKKysJCX0KKysJICAgICAg ZXhwYW5kX3N0YXRpY19pbml0IChkZWNsLCBpbml0KTsKKysJICAgIH0KKyAJfQorICAgICB9Cisg CistLS0gZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvb3B0L3N0YXRpYzUuQwkocmV2aXNpb24gMCkKKysr KyBnY2MvdGVzdHN1aXRlL2crKy5kZy9vcHQvc3RhdGljNS5DCShyZXZpc2lvbiAxMjUyMjkpCitA QCAtMCwwICsxLDI5IEBACisrLy8gUFIgYysrLzMxODA5CisrLy8geyBkZy1kbyBydW4gfQorKy8v IHsgZGctb3B0aW9ucyAiLU8yIiB9CisrCisrc3RydWN0IFMKKyt7CisrICB1bnNpZ25lZCB2Owor KyAgc3RhdGljIGlubGluZSBTIGYgKHVuc2lnbmVkIGEpOworK307CisrCisraW5saW5lIFMKKytT OjpmICh1bnNpZ25lZCBhKQorK3sKKysgIHN0YXRpYyBTIHQgPSB7IGEgfTsKKysgIHJldHVybiB0 OworK30KKysKKytjb25zdCBzdGF0aWMgUyBzID0gUzo6ZiAoMjYpOworKworK2V4dGVybiAiQyIg dm9pZCBhYm9ydCAodm9pZCk7CisrCisraW50CisrbWFpbiAoKQorK3sKKysgIFMgdCA9IHM7Cisr ICBpZiAodC52ICE9IDI2KQorKyAgICBhYm9ydCAoKTsKKysgIHJldHVybiAwOworK30KCmRpZmYg LS1naXQgYS9nY2M0MS1wcjMyMTM5LnBhdGNoIGIvZ2NjNDEtcHIzMjEzOS5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGU4ZmZiCi0tLSAvZGV2L251bGwKKysrIGIv Z2NjNDEtcHIzMjEzOS5wYXRjaApAQCAtMCwwICsxLDU4IEBACisyMDA3LTA2LTAxICBKYWt1YiBK ZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KKworCVBSIHRyZWUtb3B0aW1pemF0aW9uLzMyMTM5 CisJKiBjLXR5cGVjay5jIChjb21tb25fcG9pbnRlcl90eXBlKTogU2V0IFRZUEVfUkVBRE9OTFkK KwlhbmQgVFlQRV9WT0xBVElMRSBvbiB0aGUgbWVyZ2VkIHBvaW50ZWQgdG8gRlVOQ1RJT05fVFlQ RQorCW9ubHkgaWYgYm90aCBwb2ludGVkX3RvXzEgYW5kIHBvaW50ZWRfdG9fMiBhcmUgVFlQRV9S RUFET05MWQorCXJlc3AuIFRZUEVfVk9MQVRJTEUuCisKKwkqIGdjYy5jLXRvcnR1cmUvY29tcGls ZS8yMDA3MDUzMS0xLmM6IE5ldyB0ZXN0LgorCistLS0gZ2NjL2MtdHlwZWNrLmMuamoJMjAwNy0w NC0yNSAxMDoxMzo1Mi4wMDAwMDAwMDAgKzAyMDAKKysrKyBnY2MvYy10eXBlY2suYwkyMDA3LTA2 LTAxIDEwOjUxOjUzLjAwMDAwMDAwMCArMDIwMAorQEAgLTQ5OSw2ICs0OTksNyBAQCBjb21tb25f cG9pbnRlcl90eXBlICh0cmVlIHQxLCB0cmVlIHQyKQorICAgdHJlZSBwb2ludGVkX3RvXzEsIG12 MTsKKyAgIHRyZWUgcG9pbnRlZF90b18yLCBtdjI7CisgICB0cmVlIHRhcmdldDsKKysgIGludCB0 eXBlX3F1YWxzOworIAorICAgLyogU2F2ZSB0aW1lIGlmIHRoZSB0d28gdHlwZXMgYXJlIHRoZSBz YW1lLiAgKi8KKyAKK0BAIC01MjYsMTAgKzUyNywxOSBAQCBjb21tb25fcG9pbnRlcl90eXBlICh0 cmVlIHQxLCB0cmVlIHQyKQorICAgaWYgKFRSRUVfQ09ERSAobXYyKSAhPSBBUlJBWV9UWVBFKQor ICAgICBtdjIgPSBUWVBFX01BSU5fVkFSSUFOVCAocG9pbnRlZF90b18yKTsKKyAgIHRhcmdldCA9 IGNvbXBvc2l0ZV90eXBlIChtdjEsIG12Mik7CistICB0MSA9IGJ1aWxkX3BvaW50ZXJfdHlwZSAo Y19idWlsZF9xdWFsaWZpZWRfdHlwZQorLQkJCSAgICh0YXJnZXQsCistCQkJICAgIFRZUEVfUVVB TFMgKHBvaW50ZWRfdG9fMSkgfAorLQkJCSAgICBUWVBFX1FVQUxTIChwb2ludGVkX3RvXzIpKSk7 CisrICB0eXBlX3F1YWxzID0gVFlQRV9RVUFMUyAocG9pbnRlZF90b18xKSB8IFRZUEVfUVVBTFMg KHBvaW50ZWRfdG9fMik7CisrICBpZiAoVFJFRV9DT0RFIChwb2ludGVkX3RvXzEpID09IEZVTkNU SU9OX1RZUEUpCisrICAgIHsKKysgICAgICAvKiBUWVBFX1JFQURPTkxZIGFuZCBUWVBFX1ZPTEFU SUxFIG9uIEZVTkNUSU9OX1RZUEUgc2hvdWxkIGJlCisrCSBsb2dpY2FsbHkgQU5EZWQsIG5vdCBP UmVkLCBhcyBpZiBvbmUgZnVuY3Rpb24gaXMKKysJIF9fYXR0cmlidXRlX18oKGNvbnN0KSkgYW5k IHRoZSBvdGhlciBpcyBub3QsIHRoZSBjb21tb24gdHlwZQorKwkgbXVzdCBiZSBjb25zZXJ2YXRp dmVseSBub3QgX19hdHRyaWJ1dGVfXygoY29uc3QpKQorKwkgYW5kIHNpbWlsYXJseSBmb3IgX19h dHRyaWJ1dGVfXygobm9yZXR1cm4pKS4gICovCisrICAgICAgdHlwZV9xdWFscyAmPSB+KFRZUEVf UVVBTF9DT05TVCB8IFRZUEVfUVVBTF9WT0xBVElMRSk7CisrICAgICAgdHlwZV9xdWFscyB8PSAo VFlQRV9RVUFMUyAocG9pbnRlZF90b18xKSAmIFRZUEVfUVVBTFMgKHBvaW50ZWRfdG9fMikpCisr CQkgICAgJiAoVFlQRV9RVUFMX0NPTlNUIHwgVFlQRV9RVUFMX1ZPTEFUSUxFKTsKKysgICAgfQor KyAgdDEgPSBidWlsZF9wb2ludGVyX3R5cGUgKGNfYnVpbGRfcXVhbGlmaWVkX3R5cGUgKHRhcmdl dCwgdHlwZV9xdWFscykpOworICAgcmV0dXJuIGJ1aWxkX3R5cGVfYXR0cmlidXRlX3ZhcmlhbnQg KHQxLCBhdHRyaWJ1dGVzKTsKKyB9CisgCistLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuYy10b3J0dXJl L2NvbXBpbGUvMjAwNzA1MzEtMS5jLmpqCTIwMDctMDUtMzEgMTM6NDc6MjIuMDAwMDAwMDAwICsw MjAwCisrKysgZ2NjL3Rlc3RzdWl0ZS9nY2MuYy10b3J0dXJlL2NvbXBpbGUvMjAwNzA1MzEtMS5j CTIwMDctMDYtMDEgMTA6NTc6MTUuMDAwMDAwMDAwICswMjAwCitAQCAtMCwwICsxLDExIEBACisr LyogUFIgdHJlZS1vcHRpbWl6YXRpb24vMzIxMzkgKi8KKytpbnQgZm9vICh2b2lkKTsKKytpbnQg YmFyICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgoY29uc3QpKTsKKysKKytpbnQKKyt0ZXN0IChpbnQg eCkKKyt7CisrICBpbnQgYSA9ICh4ID09IDEwMDAwID8gZm9vIDogYmFyKSAoKTsKKysgIGludCBi ID0gKHggPT0gMTAwMDAgPyBmb28gOiBiYXIpICgpOworKyAgcmV0dXJuIGEgKyBiOworK30KCmRp ZmYgLS1naXQgYS9nY2M0MS1wcjMyMjg1LnBhdGNoIGIvZ2NjNDEtcHIzMjI4NS5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODYzODMwCi0tLSAvZGV2L251bGwKKysr IGIvZ2NjNDEtcHIzMjI4NS5wYXRjaApAQCAtMCwwICsxLDczIEBACisyMDA3LTA2LTE0ICBKYWt1 YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KKworCVBSIG1pZGRsZS1lbmQvMzIyODUKKwkq IGNhbGxzLmMgKHByZWNvbXB1dGVfYXJndW1lbnRzKTogQWxzbyBwcmVjb21wdXRlIENBTExfRVhQ UiBhcmd1bWVudHMKKwlpZiBBQ0NVTVVMQVRFX09VVEdPSU5HX0FSR1MuCisKKwkqIGdjYy5jLXRv cnR1cmUvZXhlY3V0ZS8yMDA3MDYxNC0xLmM6IE5ldyB0ZXN0LgorCistLS0gZ2NjL2NhbGxzLmMu amoJMjAwNy0wNi0xMyAxNzozODo1NS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnY2MvY2FsbHMuYwky MDA3LTA2LTE0IDE0OjUwOjU2LjAwMDAwMDAwMCArMDIwMAorQEAgLTEyNjksMTMgKzEyNjksMjUg QEAgcHJlY29tcHV0ZV9hcmd1bWVudHMgKGludCBmbGFncywgaW50IG51bQorIAorICAgLyogSWYg dGhpcyBpcyBhIGxpYmNhbGwsIHRoZW4gcHJlY29tcHV0ZSBhbGwgYXJndW1lbnRzIHNvIHRoYXQg d2UgZG8gbm90CisgICAgICBnZXQgZXh0cmFuZW91cyBpbnN0cnVjdGlvbnMgZW1pdHRlZCBhcyBw YXJ0IG9mIHRoZSBsaWJjYWxsIHNlcXVlbmNlLiAgKi8KKy0gIGlmICgoZmxhZ3MgJiBFQ0ZfTElC Q0FMTF9CTE9DSykgPT0gMCkKKysKKysgIC8qIElmIHdlIHByZWFsbG9jYXRlZCB0aGUgc3RhY2sg c3BhY2UsIGFuZCBzb21lIGFyZ3VtZW50cyBtdXN0IGJlIHBhc3NlZAorKyAgICAgb24gdGhlIHN0 YWNrLCB0aGVuIHdlIG11c3QgcHJlY29tcHV0ZSBhbnkgcGFyYW1ldGVyIHdoaWNoIGNvbnRhaW5z IGEKKysgICAgIGZ1bmN0aW9uIGNhbGwgd2hpY2ggd2lsbCBzdG9yZSBhcmd1bWVudHMgb24gdGhl IHN0YWNrLgorKyAgICAgT3RoZXJ3aXNlLCBldmFsdWF0aW5nIHRoZSBwYXJhbWV0ZXIgbWF5IGNs b2JiZXIgcHJldmlvdXMgcGFyYW1ldGVycworKyAgICAgd2hpY2ggaGF2ZSBhbHJlYWR5IGJlZW4g c3RvcmVkIGludG8gdGhlIHN0YWNrLiAgKHdlIGhhdmUgY29kZSB0byBhdm9pZAorKyAgICAgc3Vj aCBjYXNlIGJ5IHNhdmluZyB0aGUgb3V0Z29pbmcgc3RhY2sgYXJndW1lbnRzLCBidXQgaXQgcmVz dWx0cyBpbgorKyAgICAgd29yc2UgY29kZSkgICovCisrICBpZiAoKGZsYWdzICYgRUNGX0xJQkNB TExfQkxPQ0spID09IDAgJiYgIUFDQ1VNVUxBVEVfT1VUR09JTkdfQVJHUykKKyAgICAgcmV0dXJu OworIAorICAgZm9yIChpID0gMDsgaSA8IG51bV9hY3R1YWxzOyBpKyspCisgICAgIHsKKyAgICAg ICBlbnVtIG1hY2hpbmVfbW9kZSBtb2RlOworIAorKyAgICAgIGlmICgoZmxhZ3MgJiBFQ0ZfTElC Q0FMTF9CTE9DSykgPT0gMAorKwkgICYmIFRSRUVfQ09ERSAoYXJnc1tpXS50cmVlX3ZhbHVlKSAh PSBDQUxMX0VYUFIpCisrCWNvbnRpbnVlOworKworICAgICAgIC8qIElmIHRoaXMgaXMgYW4gYWRk cmVzc2FibGUgdHlwZSwgd2UgY2Fubm90IHByZS1ldmFsdWF0ZSBpdC4gICovCisgICAgICAgZ2Nj X2Fzc2VydCAoIVRSRUVfQUREUkVTU0FCTEUgKFRSRUVfVFlQRSAoYXJnc1tpXS50cmVlX3ZhbHVl KSkpOworIAorLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLmMtdG9ydHVyZS9leGVjdXRlLzIwMDcwNjE0 LTEuYy5qagkyMDA3LTA2LTE0IDE1OjMyOjI4LjAwMDAwMDAwMCArMDIwMAorKysrIGdjYy90ZXN0 c3VpdGUvZ2NjLmMtdG9ydHVyZS9leGVjdXRlLzIwMDcwNjE0LTEuYwkyMDA3LTA2LTExIDEzOjIz OjE5LjAwMDAwMDAwMCArMDIwMAorQEAgLTAsMCArMSwzMyBAQAorK2V4dGVybiB2b2lkIGFib3J0 ICh2b2lkKTsKKysKKytfQ29tcGxleCB2ID0gMy4wICsgMS4waUY7CisrCisrdm9pZAorK2ZvbyAo X0NvbXBsZXggeiwgaW50ICp4KQorK3sKKysgIGlmICh6ICE9IHYpCisrICAgIGFib3J0ICgpOwor K30KKysKKytfQ29tcGxleCBiYXIgKF9Db21wbGV4IHopIF9fYXR0cmlidXRlX18gKChwdXJlKSk7 CisrX0NvbXBsZXgKKytiYXIgKF9Db21wbGV4IHopCisreworKyAgcmV0dXJuIHY7CisrfQorKwor K2ludAorK2JheiAodm9pZCkKKyt7CisrICBpbnQgYSwgaTsKKysgIGZvciAoaSA9IDA7IGkgPCA2 OyBpKyspCisrICAgIGZvbyAoYmFyICgxLjBpRiAqIGkpLCAmYSk7CisrICByZXR1cm4gMDsKKyt9 CisrCisraW50CisrbWFpbiAoKQorK3sKKysgIGJheiAoKTsKKysgIHJldHVybiAwOworK30KCmRp ZmYgLS1naXQgYS9nY2M0MS1wcjMyMzUzLnBhdGNoIGIvZ2NjNDEtcHIzMjM1My5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OWUyYzJiCi0tLSAvZGV2L251bGwKKysr IGIvZ2NjNDEtcHIzMjM1My5wYXRjaApAQCAtMCwwICsxLDY0IEBACisyMDA3LTA2LTE1ICBKYWt1 YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KKworCVBSIHRyZWUtb3B0aW1pemF0aW9uLzMy MzUzCisJKiB0cmVlLXNzYS1zdHJ1Y3RhbGlhcy5jIChzZXRfdWlkc19pbl9wdHNldCk6IEFsc28g aGFuZGxlIFJFU1VMVF9ERUNMLgorCisJKiBnKysuZGcvb3B0L25ydjEzLkM6IE5ldyB0ZXN0Lgor CistLS0gZ2NjL3RyZWUtc3NhLXN0cnVjdGFsaWFzLmMuamoJMjAwNy0wNi0xMSAxMToxMjoyNy4w MDAwMDAwMDAgKzAyMDAKKysrKyBnY2MvdHJlZS1zc2Etc3RydWN0YWxpYXMuYwkyMDA3LTA2LTE1 IDE2OjQwOjI5LjAwMDAwMDAwMCArMDIwMAorQEAgLTQzNDMsNyArNDM0Myw4IEBAIHNldF91aWRz X2luX3B0c2V0ICh0cmVlIHB0ciwgYml0bWFwIGludG8KKyAJICAgIGJpdG1hcF9zZXRfYml0IChp bnRvLCBERUNMX1VJRCAoc3YtPnZhcikpOworIAl9CisgICAgICAgZWxzZSBpZiAoVFJFRV9DT0RF ICh2aS0+ZGVjbCkgPT0gVkFSX0RFQ0wgCistCSAgICAgICB8fCBUUkVFX0NPREUgKHZpLT5kZWNs KSA9PSBQQVJNX0RFQ0wpCisrCSAgICAgICB8fCBUUkVFX0NPREUgKHZpLT5kZWNsKSA9PSBQQVJN X0RFQ0wKKysJICAgICAgIHx8IFRSRUVfQ09ERSAodmktPmRlY2wpID09IFJFU1VMVF9ERUNMKQor IAl7CisgCSAgaWYgKHZhcl9jYW5faGF2ZV9zdWJ2YXJzICh2aS0+ZGVjbCkKKyAJICAgICAgJiYg Z2V0X3N1YnZhcnNfZm9yX3ZhciAodmktPmRlY2wpKQorLS0tIGdjYy90ZXN0c3VpdGUvZysrLmRn L29wdC9ucnYxMy5DLmpqCTIwMDctMDYtMTUgMTY6NTk6MDIuMDAwMDAwMDAwICswMjAwCisrKysg Z2NjL3Rlc3RzdWl0ZS9nKysuZGcvb3B0L25ydjEzLkMJMjAwNy0wNi0xNSAxNzowMzozOS4wMDAw MDAwMDAgKzAyMDAKK0BAIC0wLDAgKzEsNDIgQEAKKysvLyBQUiB0cmVlLW9wdGltaXphdGlvbi8z MjM1MworKy8vIHsgZGctZG8gcnVuIH0KKysvLyB7IGRnLW9wdGlvbnMgIi1PMiIgfQorKworK2V4 dGVybiAiQyIgdm9pZCBhYm9ydCAoKTsKKysKKytzdHJ1Y3QgQQorK3sKKysgIGludCBmOworKyAg QSAoaW50IHgpIDogZiAoeCkge30KKyt9OworKworK0EKKytmb28gKGNvbnN0IEEgJngsIGNvbnN0 IEEgJnkpCisreworKyAgQSByICgwKTsKKysgIHIgPSB4LmYgPT0gLTExMSA/IHkgOiAoeS5mID09 IC0xMTEgfHwgeC5mID4geS5mKSA/IHggOiB5OworKyAgQSBzICgwKTsKKysgIHIgPSByLmYgPT0g LTExMSA/IHMgOiAoci5mID4gcy5mKSA/IHIgOiBzOworKyAgcmV0dXJuIHI7CisrfQorKworK2lu dAorK21haW4gKCkKKyt7CisrICBpZiAoZm9vIChBICgwKSwgQSAoMSkpLmYgIT0gMSkKKysgICAg YWJvcnQgKCk7CisrICBpZiAoZm9vIChBICgxKSwgQSAoOSkpLmYgIT0gOSkKKysgICAgYWJvcnQg KCk7CisrICBpZiAoZm9vIChBICg5KSwgQSAoMSkpLmYgIT0gOSkKKysgICAgYWJvcnQgKCk7Cisr ICBpZiAoZm9vIChBICgtNCksIEEgKC01KSkuZiAhPSAwKQorKyAgICBhYm9ydCAoKTsKKysgIGlm IChmb28gKEEgKC0xMTEpLCBBICgtMTExKSkuZiAhPSAwKQorKyAgICBhYm9ydCAoKTsKKysgIGlm IChmb28gKEEgKDIpLCBBICgtMTExKSkuZiAhPSAyKQorKyAgICBhYm9ydCAoKTsKKysgIGlmIChm b28gKEEgKC0xMTEpLCBBICg2KSkuZiAhPSA2KQorKyAgICBhYm9ydCAoKTsKKysgIGlmIChmb28g KEEgKC0xMTEpLCBBICgtNCkpLmYgIT0gMCkKKysgICAgYWJvcnQgKCk7CisrfQoKZGlmZiAtLWdp dCBhL2djYzQxLXRscy1kYXRhLWFsaWdubWVudC5wYXRjaCBiL2djYzQxLXRscy1kYXRhLWFsaWdu bWVudC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWFkMjZjNy4uMDAwMDAw MAotLS0gYS9nY2M0MS10bHMtZGF0YS1hbGlnbm1lbnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSwzMyArMCwwIEBACi0yMDA3LTA1LTAzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNv bT4KLQotCSogdmFyYXNtLmMgKGFsaWduX3ZhcmlhYmxlKTogRG9uJ3QgaW5jcmVhc2UgYWxpZ25t ZW50IGZvcgotCURFQ0xfVEhSRUFEX0xPQ0FMX1AgdmFyaWFibGVzIGFib3ZlIEJJVFNfUEVSX1dP UkQgdGhyb3VnaAotCURBVEFfQUxJR05NRU5UIG9yIENPTlNUQU5UX0FMSUdOTUVOVC4KLQotLS0t IGdjYy92YXJhc20uYy5qagkyMDA3LTA0LTE0IDE0OjU1OjI1LjAwMDAwMDAwMCArMDIwMAotKysr IGdjYy92YXJhc20uYwkyMDA3LTA1LTAzIDExOjIzOjU2LjAwMDAwMDAwMCArMDIwMAotQEAgLTEw OTcsMTEgKzEwOTcsMjIgQEAgYWxpZ25fdmFyaWFibGUgKHRyZWUgZGVjbCwgYm9vbCBkb250X291 dAotICAgaWYgKCEgREVDTF9VU0VSX0FMSUdOIChkZWNsKSkKLSAgICAgewotICNpZmRlZiBEQVRB X0FMSUdOTUVOVAotLSAgICAgIGFsaWduID0gREFUQV9BTElHTk1FTlQgKFRSRUVfVFlQRSAoZGVj bCksIGFsaWduKTsKLSsgICAgICB1bnNpZ25lZCBpbnQgZGF0YV9hbGlnbiA9IERBVEFfQUxJR05N RU5UIChUUkVFX1RZUEUgKGRlY2wpLCBhbGlnbik7Ci0rICAgICAgLyogRG9uJ3QgaW5jcmVhc2Ug YWxpZ25tZW50IHRvbyBtdWNoIGZvciBUTFMgdmFyaWFibGVzIC0gVExTIHNwYWNlCi0rCSBpcyB0 b28gcHJlY2lvdXMuICAqLwotKyAgICAgIGlmICghIERFQ0xfVEhSRUFEX0xPQ0FMX1AgKGRlY2wp IHx8IGRhdGFfYWxpZ24gPD0gQklUU19QRVJfV09SRCkKLSsJYWxpZ24gPSBkYXRhX2FsaWduOwot ICNlbmRpZgotICNpZmRlZiBDT05TVEFOVF9BTElHTk1FTlQKLSAgICAgICBpZiAoREVDTF9JTklU SUFMIChkZWNsKSAhPSAwICYmIERFQ0xfSU5JVElBTCAoZGVjbCkgIT0gZXJyb3JfbWFya19ub2Rl KQotLQlhbGlnbiA9IENPTlNUQU5UX0FMSUdOTUVOVCAoREVDTF9JTklUSUFMIChkZWNsKSwgYWxp Z24pOwotKwl7Ci0rCSAgdW5zaWduZWQgaW50IGNvbnN0X2FsaWduID0gQ09OU1RBTlRfQUxJR05N RU5UIChERUNMX0lOSVRJQUwgKGRlY2wpLAotKwkJCQkJCQkgYWxpZ24pOwotKwkgIC8qIERvbid0 IGluY3JlYXNlIGFsaWdubWVudCB0b28gbXVjaCBmb3IgVExTIHZhcmlhYmxlcyAtIFRMUyBzcGFj ZQotKwkgICAgIGlzIHRvbyBwcmVjaW91cy4gICovCi0rCSAgaWYgKCEgREVDTF9USFJFQURfTE9D QUxfUCAoZGVjbCkgfHwgY29uc3RfYWxpZ24gPD0gQklUU19QRVJfV09SRCkKLSsJICAgIGFsaWdu ID0gY29uc3RfYWxpZ247Ci0rCX0KLSAjZW5kaWYKLSAgICAgfQotIAoKZGlmZiAtLWdpdCBhL2dj YzQxLnNwZWMgYi9nY2M0MS5zcGVjCmluZGV4IDFlMTU2ZjYuLmM1Y2RiMjkgMTAwNjQ0Ci0tLSBh L2djYzQxLnNwZWMKKysrIGIvZ2NjNDEuc3BlYwpAQCAtMSw2ICsxLDYgQEAKLSVkZWZpbmUgREFU RSAyMDA3MDUwMworJWRlZmluZSBEQVRFIDIwMDcwNjE1CiAlZGVmaW5lIGdjY192ZXJzaW9uIDQu MS4yCi0lZGVmaW5lIGdjY19yZWxlYXNlIDEyCislZGVmaW5lIGdjY19yZWxlYXNlIDEzCiAlZGVm aW5lIF91bnBhY2thZ2VkX2ZpbGVzX3Rlcm1pbmF0ZV9idWlsZCAwCiAlZGVmaW5lIG11bHRpbGli XzY0X2FyY2hzIHNwYXJjNjQgcHBjNjQgczM5MHggeDg2XzY0CiAlZGVmaW5lIGluY2x1ZGVfZ2Fw cGxldHZpZXdlciAxCkBAIC0xMzcsMTQgKzEzNywxNCBAQCBQYXRjaDI1OiBnY2M0MS1wcjI5Mjk5 LnBhdGNoCiBQYXRjaDI2OiBnY2M0MS1qYXZhLWJvZ3VzLWRlYnVnbGluZS5wYXRjaAogUGF0Y2gy NzogZ2NjNDEtbGliamF2YS12aXNpYmlsaXR5LnBhdGNoCiBQYXRjaDI4OiBnY2M0MS1wcjMxMTg3 LnBhdGNoCi1QYXRjaDI5OiBnY2M0MS1kdG9yLXJlbHJvLnBhdGNoCitQYXRjaDI5OiBnY2M0MS1w cjMxODA5LnBhdGNoCiBQYXRjaDMwOiBnY2M0MS1yaDIzNDUxNS5wYXRjaAotUGF0Y2gzMTogZ2Nj NDEtbGliZ29tcC1uY3B1cy5wYXRjaAorUGF0Y2gzMTogZ2NjNDEtcHIzMjEzOS5wYXRjaAogUGF0 Y2gzMjogZ2NjNDEtcmgyMzY4OTUucGF0Y2gKLVBhdGNoMzM6IGdjYzQxLXByMjg0ODIucGF0Y2gK K1BhdGNoMzM6IGdjYzQxLXByMzIyODUucGF0Y2gKIFBhdGNoMzQ6IGdjYzQxLXJoMjM1MDA4LnBh dGNoCiBQYXRjaDM1OiBnY2M0MS1wcjMxNzQ4LnBhdGNoCi1QYXRjaDM2OiBnY2M0MS10bHMtZGF0 YS1hbGlnbm1lbnQucGF0Y2gKK1BhdGNoMzY6IGdjYzQxLXByMzIzNTMucGF0Y2gKIAogJWRlZmlu ZSBfZ251ICV7bmlsfQogJWlmYXJjaCBzcGFyYwpAQCAtNDUyLDE0ICs0NTIsMTQgQEAgd2hpY2gg YXJlIHJlcXVpcmVkIHRvIHJ1biBwcm9ncmFtcyBjb21waWxlZCB3aXRoIHRoZSBHTkFULgogJXBh dGNoMjYgLXAwIC1iIC5qYXZhLWJvZ3VzLWRlYnVnbGluZX4KICVwYXRjaDI3IC1wMCAtYiAubGli amF2YS12aXNpYmlsaXR5fgogJXBhdGNoMjggLXAwIC1iIC5wcjMxMTg3fgotJXBhdGNoMjkgLXAw IC1iIC5kdG9yLXJlbHJvfgorJXBhdGNoMjkgLXAwIC1iIC5wcjMxODA5fgogJXBhdGNoMzAgLXAw IC1iIC5yaDIzNDUxNX4KLSVwYXRjaDMxIC1wMCAtYiAubGliZ29tcC1uY3B1c34KKyVwYXRjaDMx IC1wMCAtYiAucHIzMjEzOX4KICVwYXRjaDMyIC1wMCAtYiAucmgyMzY4OTV+Ci0lcGF0Y2gzMyAt cDAgLWIgLnByMjg0ODJ+CislcGF0Y2gzMyAtcDAgLWIgLnByMzIyODV+CiAlcGF0Y2gzNCAtcDAg LWIgLnJoMjM1MDA4fgogJXBhdGNoMzUgLXAwIC1iIC5wcjMxNzQ4fgotJXBhdGNoMzYgLXAwIC1i IC50bHMtZGF0YS1hbGlnbm1lbnR+CislcGF0Y2gzNiAtcDAgLWIgLnByMzIzNTN+CiAKIHNlZCAt aSAtZSAncy80XC4xXC4zLzQuMS4yLycgZ2NjL0JBU0UtVkVSIGdjYy92ZXJzaW9uLmMKIHNlZCAt aSAtZSAncy8iIChSZWQgSGF0W14pXSopIi8iIChSZWQgSGF0ICV7dmVyc2lvbn0tJXtnY2NfcmVs ZWFzZX0pIi8nIGdjYy92ZXJzaW9uLmMKQEAgLTE1ODMsNiArMTU4MywyNSBAQCBmaQogJWRvYyBy cG0uZG9jL2NoYW5nZWxvZ3MvbGlibXVkZmxhcC9DaGFuZ2VMb2cqCiAKICVjaGFuZ2Vsb2cKKyog RnJpIEp1biAxNSAyMDA3IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuMS4yLTEz CistIHVwZGF0ZSBmcm9tIGdjYy00XzEtYnJhbmNoICgtcjEyNDM2NToxMjU3MjcpCisgIC0gUFJz IGxpYmZvcnRyYW4vMzE0MDksIGxpYmZvcnRyYW4vMzE4ODAsIGxpYmZvcnRyYW4vMzE5NjQsCisJ cnRsLW9wdGltaXphdGlvbi8zMTY5MSwgdGFyZ2V0LzMxMDIyLCB0YXJnZXQvMzE0ODAsIHRhcmdl dC8zMTcwMSwKKwl0YXJnZXQvMzE4NzYsIHRhcmdldC8zMjE2MywgdHJlZS1vcHRpbWl6YXRpb24v MjY5OTgKKy0gZ29tcCB1cGRhdGVzIGZyb20gdGhlIHRydW5rICgtcjEyNTU0MToxMjU1NDIsIC1y MTI1NTQzOjEyNTU0NCkgYW5kCisgIGZyb20gZ2NjLTRfMi1icmFuY2ggKC1yMTI1MTg0OjEyNTE4 NSkKKyAgLSBQUnMgdHJlZS1vcHRpbWl6YXRpb24vMzE3NjksIGMrKy8zMjE3NworLSBkb24ndCBz ZXQgVFJFRV9SRUFET05MWSBvbiBDKysgb2JqZWN0cyB0aGF0IG5lZWQgcnVudGltZSBpbml0aWFs aXphdGlvbgorICAoUFJzIGMrKy8zMTgwNiwgYysrLzMxODA5KQorLSBmaXggY29tcHV0YXRpb24g b2YgY29tbW9uIHBvaW50ZXIgdHlwZSAoUFIgdHJlZS1vcHRpbWl6YXRpb24vMzIxMzkpCistIHBy ZWNvbXB1dGUgY29uc3QgYW5kIHB1cmUgZm4gY2FsbHMgaW5zaWRlIGFub3RoZXIgZm4gY2FsbCBh cmd1bWVudHMKKyAgd2l0aCBhY2N1bXVsYXRpbmcgb3V0Z29pbmcgYXJncworICAoUFJzIG1pZGRs ZS1lbmQvMzIyODUsIHRyZWUtb3B0aW1pemF0aW9uLzMwNDkzKQorLSBmaXggaGFuZGxpbmcgb2Yg UkVTVUxUX0RFQ0xzIGluIHBvaW50cy10byBhbmFseXNpcworICAoIzI0MzQzOCwgUFIgdHJlZS1v cHRpbWl6YXRpb24vMzIzNTMpCistIHdvcmsgYXJvdW5kIGphdmEubGFuZy5yZWZsZWN0Lk1vZGlm aWVyLklOVEVSUFJFVEVEIGNsYXNoIHdpdGgKKyAgamF2YS5sYW5nLnJlZmxlY3QuTW9kaWZpZXIu U1lOVEhFVElDIChBbmRyZXcgSGFsZXksICMyNDA3MjApCisKICogVGh1IE1heSAgMyAyMDA3IEph a3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuMS4yLTEyCiAtIHVwZGF0ZSBmcm9tIGdj Yy00XzEtYnJhbmNoICgtcjEyNDEwMDoxMjQzNjUpCiAgIC0gUFJzIGMrKy8zMDAxNiwgYysrLzMw MjIxLCBtaWRkbGUtZW5kLzMwNzYxLCB0YXJnZXQvMTg5ODksCgpkaWZmIC0tZ2l0IGEvc291cmNl cyBiL3NvdXJjZXMKaW5kZXggNjNiNTJjMi4uZmIxYWQ1ZiAxMDA2NDQKLS0tIGEvc291cmNlcwor KysgYi9zb3VyY2VzCkBAIC0xICsxIEBACi1mNTkyZjJlNGQ1Nzc5Yjk3MGE3MDUwYTg2NDEzMWU2 OSAgZ2NjLTQuMS4yLTIwMDcwNTAzLnRhci5iejIKKzc0NmNjMDRjY2MxZmYxOTkxM2Q2YjgxYTA3 MmVhNTI2ICBnY2MtNC4xLjItMjAwNzA2MTUudGFyLmJ6Mgo=