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: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Drop gdb-vla-intel-fortran-vla-strings.patch as it was still regressing the Date: Thu, 23 Jul 2026 18:34:23 GMT Message-ID: <178483166312.1.8214941967724830945.rpms-gdb-6c6f63f3a8d4@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 6c6f63f3a8d45689446d2f235e7f1fbf4b6eacca ICAgICAgICAgIEEgbmV3IGNvbW1pdCBoYXMgYmVlbiBwdXNoZWQuCgogICAgICAgICAgUmVwbyAg IDogcnBtcy9nZGIKICAgICAgICAgIEJyYW5jaCA6IGZpeC1kdXAtcGF0Y2gKICAgICAgICAgIENv bW1pdCA6IDZjNmY2M2YzYThkNDU2ODk0NDZkMmYyMzVlN2YxZmJmNGI2ZWFjY2EKICAgICAgICAg IEF1dGhvciA6IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgogICAg ICAgICAgRGF0ZSAgIDogMjAyMS0wMy0wNVQxMzowNDo1NiswMTowMAogICAgICAgICAgU3RhdHMg IDogKzEyMi8tMTIzOSBpbiAxMCBmaWxlKHMpCiAgICAgICAgICBVUkwgICAgOiBodHRwczovL3Ny Yy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dkYi9jLzZjNmY2M2YzYThkNDU2ODk0NDZkMmYyMzVl N2YxZmJmNGI2ZWFjY2E/YnJhbmNoPWZpeC1kdXAtcGF0Y2gKCiAgICAgICAgICBMb2c6CiAgICAg ICAgICBEcm9wIGdkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRjaCBhcyBpdCB3 YXMgc3RpbGwgcmVncmVzc2luZyB0aGUKdGVzdHN1aXRlLgoKLS0tCmRpZmYgLS1naXQgYS9fZ2Ri LnNwZWMuUGF0Y2guaW5jbHVkZSBiL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRlCmluZGV4IGE5ZmI1 YWEuLmJhN2NiZTkgMTAwNjQ0Ci0tLSBhL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRlCisrKyBiL19n ZGIuc3BlYy5QYXRjaC5pbmNsdWRlCkBAIC02LDM2OSArNiwzNjYgQEAgUGF0Y2gwMDE6IGdkYi02 LjMtcmgtdGVzdHZlcnNpb24tMjAwNDEyMDIucGF0Y2gKICM9cHVzaAogUGF0Y2gwMDI6IGdkYi12 bGEtaW50ZWwtZm9ydHJhbi1zdHJpZGVzLnBhdGNoCiAKLSM9cHVzaAotUGF0Y2gwMDM6IGdkYi12 bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRjaAotCiAjPXB1c2gramFuCi1QYXRjaDAw NDogZ2RiLXZsYS1pbnRlbC1zdHJpbmdidC1maXgucGF0Y2gKK1BhdGNoMDAzOiBnZGItdmxhLWlu dGVsLXN0cmluZ2J0LWZpeC5wYXRjaAogCiAjIEFkZCBhIHdyYXBwZXIgc2NyaXB0IHRvIEdEQiB0 aGF0IGltcGxlbWVudHMgcHN0YWNrIHVzaW5nIHRoZQogIyAtLXJlYWRuZXZlciBvcHRpb24uCiAj PXB1c2gKLVBhdGNoMDA1OiBnZGItNi4zLWdzdGFjay0yMDA1MDQxMS5wYXRjaAorUGF0Y2gwMDQ6 IGdkYi02LjMtZ3N0YWNrLTIwMDUwNDExLnBhdGNoCiAKICMgVlNZU0NBTEwgYW5kIFBJRQogIz1m ZWRvcmF0ZXN0Ci1QYXRjaDAwNjogZ2RiLTYuMy10ZXN0LXBpZS0yMDA1MDEwNy5wYXRjaAorUGF0 Y2gwMDU6IGdkYi02LjMtdGVzdC1waWUtMjAwNTAxMDcucGF0Y2gKIAogIyBHZXQgc2VsZnRlc3Qg d29ya2luZyB3aXRoIHNlcC1kZWJ1Zy1pbmZvCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDA3OiBnZGIt Ni4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaAorUGF0Y2gwMDY6IGdkYi02LjMtdGVzdC1zZWxm LTIwMDUwMTEwLnBhdGNoCiAKICMgVGVzdCBzdXBwb3J0IG9mIG11bHRpcGxlIGRlc3RydWN0b3Jz IGp1c3QgbGlrZSBtdWx0aXBsZSBjb25zdHJ1Y3RvcnMKICM9ZmVkb3JhdGVzdAotUGF0Y2gwMDg6 IGdkYi02LjMtdGVzdC1kdG9yZml4LTIwMDUwMTIxLnBhdGNoCitQYXRjaDAwNzogZ2RiLTYuMy10 ZXN0LWR0b3JmaXgtMjAwNTAxMjEucGF0Y2gKIAogIyBGaXggdG8gc3VwcG9ydCBleGVjdXRhYmxl IG1vdmluZwogIz1mZWRvcmF0ZXN0Ci1QYXRjaDAwOTogZ2RiLTYuMy10ZXN0LW1vdmVkaXItMjAw NTAxMjUucGF0Y2gKK1BhdGNoMDA4OiBnZGItNi4zLXRlc3QtbW92ZWRpci0yMDA1MDEyNS5wYXRj aAogCiAjIFRlc3Qgc2libGluZyB0aHJlYWRzIHRvIHNldCB0aHJlYWRlZCB3YXRjaHBvaW50cyBm b3IgeDg2IGFuZCB4ODYtNjQKICM9ZmVkb3JhdGVzdAotUGF0Y2gwMTA6IGdkYi02LjMtdGhyZWFk ZWQtd2F0Y2hwb2ludHMyLTIwMDUwMjI1LnBhdGNoCitQYXRjaDAwOTogZ2RiLTYuMy10aHJlYWRl ZC13YXRjaHBvaW50czItMjAwNTAyMjUucGF0Y2gKIAogIyBOb3RpZnkgb2JzZXJ2ZXJzIHRoYXQg dGhlIGluZmVyaW9yIGhhcyBiZWVuIGNyZWF0ZWQKICM9ZmVkb3JhdGVzdAotUGF0Y2gwMTE6IGdk Yi02LjMtaW5mZXJpb3Itbm90aWZpY2F0aW9uLTIwMDUwNzIxLnBhdGNoCitQYXRjaDAxMDogZ2Ri LTYuMy1pbmZlcmlvci1ub3RpZmljYXRpb24tMjAwNTA3MjEucGF0Y2gKIAogIyBWZXJpZnkgcHJp bnRpbmcgb2YgaW5oZXJpdGVkIG1lbWJlcnMgdGVzdAogIz1mZWRvcmF0ZXN0Ci1QYXRjaDAxMjog Z2RiLTYuMy1pbmhlcml0YW5jZXRlc3QtMjAwNTA3MjYucGF0Y2gKK1BhdGNoMDExOiBnZGItNi4z LWluaGVyaXRhbmNldGVzdC0yMDA1MDcyNi5wYXRjaAogCiAjIFN1cHBvcnQgVExTIHN5bWJvbHMg KCtgZXJybm8nIHN1Z2dlc3Rpb24gaWYgbm8gcHRocmVhZCBpcyBmb3VuZCkgKEJaIDE4NTMzNyku CiAjPXB1c2gramFuOiBJdCBzaG91bGQgYmUgcmVwbGFjZWQgYnkgSW5maW5pdHkgcHJvamVjdC4K LVBhdGNoMDEzOiBnZGItNi41LWJ6MTg1MzM3LXJlc29sdmUtdGxzLXdpdGhvdXQtZGVidWdpbmZv LXYyLnBhdGNoCitQYXRjaDAxMjogZ2RiLTYuNS1iejE4NTMzNy1yZXNvbHZlLXRscy13aXRob3V0 LWRlYnVnaW5mby12Mi5wYXRjaAogCiAjIEZpeCBUTFMgc3ltYm9scyByZXNvbHZpbmcgZm9yIHNo YXJlZCBsaWJyYXJpZXMgd2l0aCBhIHJlbGF0aXZlIHBhdGhuYW1lLgogIyBUaGUgdGVzdHN1aXRl IG5lZWRzIGBnZGItNi41LXRscy1vZi1zZXBhcmF0ZS1kZWJ1Z2luZm8ucGF0Y2gnLgogIz1mZWRv cmF0ZXN0OiBPbmUgc2hvdWxkIHJlY2hlY2sgaWYgaXQgaXMgcmVhbGx5IGZpeGVkIHVwc3RyZWFt LgotUGF0Y2gwMTQ6IGdkYi02LjUtc2hhcmVkbGlicmFyeS1wYXRoLnBhdGNoCitQYXRjaDAxMzog Z2RiLTYuNS1zaGFyZWRsaWJyYXJ5LXBhdGgucGF0Y2gKIAogIyBJbXByb3ZlZCB0ZXN0c3VpdGUg cmVzdWx0cyBieSB0aGUgdGVzdHN1aXRlIHByb3ZpZGVkIGJ5IHRoZSBjb3VydGVzeSBvZiBCRUEu CiAjPWZlZG9yYXRlc3Q6IEZvciB1cHN0cmVhbSBpdCBzaG91bGQgYmUgcmV3cml0dGVuIGFzIGEg ZGVqYWdudSB0ZXN0LCB0aGUgdGVzdCBvZiBubyAiPz8iIHdhcyB1c2VmdWwuCi1QYXRjaDAxNTog Z2RiLTYuNS1CRUEtdGVzdHN1aXRlLnBhdGNoCitQYXRjaDAxNDogZ2RiLTYuNS1CRUEtdGVzdHN1 aXRlLnBhdGNoCiAKICMgVGVzdGNhc2UgZm9yIGRlYWRsb2NraW5nIG9uIGxhc3QgYWRkcmVzcyBz cGFjZSBieXRlOyBmb3IgY29ycnVwdGVkIGJhY2t0cmFjZXMuCiAjPWZlZG9yYXRlc3QKLVBhdGNo MDE2OiBnZGItNi41LWxhc3QtYWRkcmVzcy1zcGFjZS1ieXRlLXRlc3QucGF0Y2gKK1BhdGNoMDE1 OiBnZGItNi41LWxhc3QtYWRkcmVzcy1zcGFjZS1ieXRlLXRlc3QucGF0Y2gKIAogIyBGaXggcmVh ZGxpbmUgc2VnZmF1bHQgb24gZXhjZXNzaXZlbHkgbG9uZyBoYW5kLXR5cGVkIGxpbmVzLgogIz1m ZWRvcmF0ZXN0Ci1QYXRjaDAxNzogZ2RiLTYuNS1yZWFkbGluZS1sb25nLWxpbmUtY3Jhc2gtdGVz dC5wYXRjaAorUGF0Y2gwMTY6IGdkYi02LjUtcmVhZGxpbmUtbG9uZy1saW5lLWNyYXNoLXRlc3Qu cGF0Y2gKIAogIyBUZXN0IHNpZGVlZmZlY3RzIG9mIHNraXBwaW5nIHBwYyAuc28gbGlicyB0cmFt cG9saW5lcyAoQlogMjE4Mzc5KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwMTg6IGdkYi02LjUtYnoy MTgzNzktcHBjLXNvbGliLXRyYW1wb2xpbmUtdGVzdC5wYXRjaAorUGF0Y2gwMTc6IGdkYi02LjUt YnoyMTgzNzktcHBjLXNvbGliLXRyYW1wb2xpbmUtdGVzdC5wYXRjaAogCiAjIEZpeCBsb2NrdXAg b24gdHJhbXBvbGluZSB2cy4gaXRzIGZ1bmN0aW9uIGxvb2t1cDsgdW5yZXByb2R1Y2libGUgKEJa IDIxODM3OSkuCiAjPWZlZG9yYQotUGF0Y2gwMTk6IGdkYi02LjUtYnoyMTgzNzktc29saWItdHJh bXBvbGluZS1sb29rdXAtbG9jay1maXgucGF0Y2gKK1BhdGNoMDE4OiBnZGItNi41LWJ6MjE4Mzc5 LXNvbGliLXRyYW1wb2xpbmUtbG9va3VwLWxvY2stZml4LnBhdGNoCiAKICMgRmluZCBzeW1ib2xz IHByb3Blcmx5IGF0IHRoZWlyIG9yaWdpbmFsIChpbmNsdWRlZCkgZmlsZSAoQlogMTA5OTIxKS4K ICM9ZmVkb3JhdGVzdAotUGF0Y2gwMjA6IGdkYi02LjUtYnoxMDk5MjEtRFdfQVRfZGVjbF9maWxl LXRlc3QucGF0Y2gKK1BhdGNoMDE5OiBnZGItNi41LWJ6MTA5OTIxLURXX0FUX2RlY2xfZmlsZS10 ZXN0LnBhdGNoCiAKICMgVXBkYXRlIFBQQyB1bndpbmRpbmcgcGF0Y2hlcyB0byB0aGVpciB1cHN0 cmVhbSB2YXJpYW50cyAoQlogMTQwNTMyKS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwMjE6IGdkYi02 LjMtYnoxNDA1MzItcHBjLXVud2luZGluZy10ZXN0LnBhdGNoCitQYXRjaDAyMDogZ2RiLTYuMy1i ejE0MDUzMi1wcGMtdW53aW5kaW5nLXRlc3QucGF0Y2gKIAogIyBUZXN0Y2FzZSBmb3IgZXhlYygp IGZyb20gdGhyZWFkZWQgcHJvZ3JhbSAoQlogMjAyNjg5KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gw MjI6IGdkYi02LjMtYnoyMDI2ODktZXhlYy1mcm9tLXB0aHJlYWQtdGVzdC5wYXRjaAorUGF0Y2gw MjE6IGdkYi02LjMtYnoyMDI2ODktZXhlYy1mcm9tLXB0aHJlYWQtdGVzdC5wYXRjaAogCiAjIFRl c3RjYXNlIGZvciBQUEMgUG93ZXI2L0RGUCBpbnN0cnVjdGlvbnMgZGlzYXNzZW1ibHkgKEJaIDIz MDAwMCkuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDIzOiBnZGItNi42LWJ6MjMwMDAwLXBvd2VyNi1k aXNhc3NlbWJseS10ZXN0LnBhdGNoCitQYXRjaDAyMjogZ2RiLTYuNi1iejIzMDAwMC1wb3dlcjYt ZGlzYXNzZW1ibHktdGVzdC5wYXRjaAogCiAjIEFsbG93IHJ1bm5pbmcgYC91c3IvYmluL2djb3Jl JyB3aXRoIHByb3ZpZGVkIGJ1dCBpbmFjY2Vzc2libGUgdHR5IChCWiAyMjk1MTcpLgogIz1mZWRv cmF0ZXN0Ci1QYXRjaDAyNDogZ2RiLTYuNi1iejIyOTUxNy1nY29yZS13aXRob3V0LXRlcm1pbmFs LnBhdGNoCitQYXRjaDAyMzogZ2RiLTYuNi1iejIyOTUxNy1nY29yZS13aXRob3V0LXRlcm1pbmFs LnBhdGNoCiAKICMgQXZvaWQgdG9vIGxvbmcgdGltZW91dHMgb24gZmFpbGluZyBjYXNlcyBvZiAi YW5ub3RhMS5leHAgYW5ub3RhMy5leHAiLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDAyNTogZ2RiLTYu Ni10ZXN0c3VpdGUtdGltZW91dHMucGF0Y2gKK1BhdGNoMDI0OiBnZGItNi42LXRlc3RzdWl0ZS10 aW1lb3V0cy5wYXRjaAogCiAjIFN1cHBvcnQgZm9yIHN0ZXBwaW5nIG92ZXIgUFBDIGF0b21pYyBp bnN0cnVjdGlvbiBzZXF1ZW5jZXMgKEJaIDIzNzU3MikuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDI2 OiBnZGItNi42LWJ6MjM3NTcyLXBwYy1hdG9taWMtc2VxdWVuY2UtdGVzdC5wYXRjaAorUGF0Y2gw MjU6IGdkYi02LjYtYnoyMzc1NzItcHBjLWF0b21pYy1zZXF1ZW5jZS10ZXN0LnBhdGNoCiAKICMg VGVzdCBrZXJuZWwgVkRTTyBkZWNvZGluZyB3aGlsZSBhdHRhY2hpbmcgdG8gYW4gaTM4NiBwcm9j ZXNzLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDAyNzogZ2RiLTYuMy1hdHRhY2gtc2VlLXZkc28tdGVz dC5wYXRjaAorUGF0Y2gwMjY6IGdkYi02LjMtYXR0YWNoLXNlZS12ZHNvLXRlc3QucGF0Y2gKIAog IyBUZXN0IGxlZnRvdmVyIHpvbWJpZSBwcm9jZXNzIChCWiAyNDM4NDUpLgogIz1mZWRvcmF0ZXN0 Ci1QYXRjaDAyODogZ2RiLTYuNS1iejI0Mzg0NS1zdGFsZS10ZXN0aW5nLXpvbWJpZS10ZXN0LnBh dGNoCitQYXRjaDAyNzogZ2RiLTYuNS1iejI0Mzg0NS1zdGFsZS10ZXN0aW5nLXpvbWJpZS10ZXN0 LnBhdGNoCiAKICMgTmV3IGxvY2F0aW5nIG9mIHRoZSBtYXRjaGluZyBiaW5hcmllcyBmcm9tIHRo ZSBwdXJlIGNvcmUgZmlsZSAoYnVpbGQtaWQpLgogIz1wdXNoK2phbgotUGF0Y2gwMjk6IGdkYi02 LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKK1BhdGNoMDI4OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRl LnBhdGNoCiAKICMgRml4IGxvYWRpbmcgb2YgY29yZSBmaWxlcyB3aXRob3V0IGJ1aWxkLWlkcyBi dXQgd2l0aCBidWlsZC1pZHMgaW4gZXhlY3V0YWJsZXMuCiAjIExvYWQgc3RyaWN0bHkgYnVpbGQt aWQtY2hlY2tlZCBjb3JlIGZpbGVzIG9ubHkgaWYgbm8gZXhlY3V0YWJsZSBpcyBzcGVjaWZpZWQK ICMgKEphbiBLcmF0b2NodmlsLCBSSCBCWiAxMzM5ODYyKS4KICM9cHVzaCtqYW4KLVBhdGNoMDMw OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1pc3NpbmctaWRzLnBhdGNoCitQYXRjaDAy OTogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaAogCiAjPXB1 c2gramFuCi1QYXRjaDAzMTogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gKK1BhdGNo MDMwOiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaAogCiAjIEZpeCBkaXNwbGF5aW5n IG9mIG51bWVyaWMgY2hhciBhcnJheXMgYXMgc3RyaW5ncyAoQlogMjI0MTI4KS4KICM9ZmVkb3Jh dGVzdDogQnV0IGl0IGlzIGZhaWxpbmcgYW55d2F5LCBvbmUgc2hvdWxkIGNoZWNrIHRoZSBiZWhh dmlvciBtb3JlLgotUGF0Y2gwMzI6IGdkYi02LjctY2hhcnNpZ24tdGVzdC5wYXRjaAorUGF0Y2gw MzE6IGdkYi02LjctY2hhcnNpZ24tdGVzdC5wYXRjaAogCiAjIFRlc3QgUFBDIGhpZGluZyBvZiBj YWxsLXZvbGF0aWxlIHBhcmFtZXRlciByZWdpc3Rlci4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwMzM6 IGdkYi02LjctcHBjLWNsb2JiZXJlZC1yZWdpc3RlcnMtTzItdGVzdC5wYXRjaAorUGF0Y2gwMzI6 IGdkYi02LjctcHBjLWNsb2JiZXJlZC1yZWdpc3RlcnMtTzItdGVzdC5wYXRjaAogCiAjIFRlc3Rz dWl0ZSBmaXhlcyBmb3IgbW9yZSBzdGFibGUvY29tcGFyYWJsZSByZXN1bHRzLgogIz1mZWRvcmF0 ZXN0Ci1QYXRjaDAzNDogZ2RiLTYuNy10ZXN0c3VpdGUtc3RhYmxlLXJlc3VsdHMucGF0Y2gKK1Bh dGNoMDMzOiBnZGItNi43LXRlc3RzdWl0ZS1zdGFibGUtcmVzdWx0cy5wYXRjaAogCiAjIFRlc3Qg aWE2NCBtZW1vcnkgbGVha3Mgb2YgdGhlIGNvZGUgdXNpbmcgbGlidW53aW5kLgogIz1mZWRvcmF0 ZXN0Ci1QYXRjaDAzNTogZ2RiLTYuNS1pYTY0LWxpYnVud2luZC1sZWFrLXRlc3QucGF0Y2gKK1Bh dGNoMDM0OiBnZGItNi41LWlhNjQtbGlidW53aW5kLWxlYWstdGVzdC5wYXRjaAogCiAjIFRlc3Qg aGlkaW5nIHVuZXhwZWN0ZWQgYnJlYWtwb2ludHMgb24gaW50ZW50aW9uYWwgc3RlcCBjb21tYW5k cy4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwMzY6IGdkYi02LjUtbWlzc2VkLXRyYXAtb24tc3RlcC10 ZXN0LnBhdGNoCitQYXRjaDAzNTogZ2RiLTYuNS1taXNzZWQtdHJhcC1vbi1zdGVwLXRlc3QucGF0 Y2gKIAogIyBUZXN0IGdjb3JlIG1lbW9yeSBhbmQgdGltZSByZXF1aXJlbWVudHMgZm9yIGxhcmdl IGluZmVyaW9ycy4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwMzc6IGdkYi02LjUtZ2NvcmUtYnVmZmVy LWxpbWl0LXRlc3QucGF0Y2gKK1BhdGNoMDM2OiBnZGItNi41LWdjb3JlLWJ1ZmZlci1saW1pdC10 ZXN0LnBhdGNoCiAKICMgVGVzdCBHQ09SRSBmb3Igc2htaWQgMCBzaGFyZWQgbWVtb3J5IG1hcHBp bmdzLgogIz1mZWRvcmF0ZXN0OiBCdXQgaXQgaXMgYnJva2VuIGFueXdheSwgc29tZXRpbWVzIHRo ZSBjYXNlIGJlaW5nIHRlc3RlZCBpcyBub3QgcmVwcm9kdWNpYmxlLgotUGF0Y2gwMzg6IGdkYi02 LjMtbWFwcGluZy16ZXJvLWlub2RlLXRlc3QucGF0Y2gKK1BhdGNoMDM3OiBnZGItNi4zLW1hcHBp bmctemVyby1pbm9kZS10ZXN0LnBhdGNoCiAKICMgVGVzdCBhIGNyYXNoIG9uIGBmb2N1cyBjbWQn LCBgZm9jdXMgcHJldicgY29tbWFuZHMuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDM5OiBnZGItNi4z LWZvY3VzLWNtZC1wcmV2LXRlc3QucGF0Y2gKK1BhdGNoMDM4OiBnZGItNi4zLWZvY3VzLWNtZC1w cmV2LXRlc3QucGF0Y2gKIAogIyBUZXN0IHZhcmlvdXMgZm9ybXMgb2YgdGhyZWFkcyB0cmFja2lu ZyBhY3Jvc3MgZXhlYygpIChCWiA0NDI3NjUpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA0MDogZ2Ri LTYuOC1iejQ0Mjc2NS10aHJlYWRlZC1leGVjLXRlc3QucGF0Y2gKK1BhdGNoMDM5OiBnZGItNi44 LWJ6NDQyNzY1LXRocmVhZGVkLWV4ZWMtdGVzdC5wYXRjaAogCiAjIFRlc3QgYSBjcmFzaCBvbiBs aWJyYXJpZXMgbWlzc2luZyB0aGUgLnRleHQgc2VjdGlvbi4KICM9ZmVkb3JhdGVzdAotUGF0Y2gw NDE6IGdkYi02LjUtc2VjdGlvbi1udW0tZml4dXAtdGVzdC5wYXRjaAorUGF0Y2gwNDA6IGdkYi02 LjUtc2VjdGlvbi1udW0tZml4dXAtdGVzdC5wYXRjaAogCiAjIEZpeCByZXNvbHZpbmcgb2YgdmFy aWFibGVzIGF0IGxvY2F0aW9ucyBsaXN0cyBpbiBwcmVsaW5rZWQgbGlicyAoQlogNDY2OTAxKS4K ICM9ZmVkb3JhdGVzdAotUGF0Y2gwNDI6IGdkYi02LjgtYno0NjY5MDEtYmFja3RyYWNlLWZ1bGwt cHJlbGlua2VkLnBhdGNoCitQYXRjaDA0MTogZ2RiLTYuOC1iejQ2NjkwMS1iYWNrdHJhY2UtZnVs bC1wcmVsaW5rZWQucGF0Y2gKIAogIyBOZXcgdGVzdCBmb3Igc3RlcC1yZXN1bWUgYnJlYWtwb2lu dCBwbGFjZWQgaW4gbXVsdGlwbGUgdGhyZWFkcyBhdCBvbmNlLgogIz1mZWRvcmF0ZXN0Ci1QYXRj aDA0MzogZ2RiLXNpbXVsdGFuZW91cy1zdGVwLXJlc3VtZS1icmVha3BvaW50LXRlc3QucGF0Y2gK K1BhdGNoMDQyOiBnZGItc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQtdGVzdC5w YXRjaAogCiAjIEZpeCBHTlUvTGludXggY29yZSBvcGVuOiBDYW4ndCByZWFkIHBhdGhuYW1lIGZv ciBsb2FkIG1hcDogSW5wdXQvb3V0cHV0IGVycm9yLgogIyBGaXggcmVncmVzc2lvbiBvZiB1bmRp c3BsYXllZCBtaXNzaW5nIHNoYXJlZCBsaWJyYXJpZXMgY2F1c2VkIGJ5IGEgZml4IGZvci4KICM9 ZmVkb3JhdGVzdDogSXQgc2hvdWxkIGJlIGluIGdsaWJjOiBsaWJjLWFscGhhOiA8MjAwOTEwMDQx NjE3MDYuR0EyNzQ1MEAuKj4KLVBhdGNoMDQ0OiBnZGItY29yZS1vcGVuLXZkc28td2FybmluZy5w YXRjaAorUGF0Y2gwNDM6IGdkYi1jb3JlLW9wZW4tdmRzby13YXJuaW5nLnBhdGNoCiAKICMgRml4 IHN0ZXBwaW5nIHdpdGggT01QIHBhcmFsbGVsIEZvcnRyYW4gc2VjdGlvbnMgKEJaIDUzMzE3Niku CiAjPXB1c2gramFuOiBJdCByZXF1aXJlcyBzb21lIGJldHRlciBEV0FSRiBhbm5vdGF0aW9ucy4K LVBhdGNoMDQ1OiBnZGItYno1MzMxNzYtZm9ydHJhbi1vbXAtc3RlcC5wYXRjaAorUGF0Y2gwNDQ6 IGdkYi1iejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCiAKICMgV29ya2Fyb3VuZCBjY2Fj aGUgbWFraW5nIGxpbmVubyBub24temVybyBmb3IgY29tbWFuZC1saW5lIGRlZmluaXRpb25zLgog Iz1mZWRvcmF0ZXN0OiBjY2FjaGUgaXMgcmFyZWx5IHVzZWQgYW5kIGl0IGlzIGV2ZW4gZml4ZWQg bm93LgotUGF0Y2gwNDY6IGdkYi1jY2FjaGUtd29ya2Fyb3VuZC5wYXRjaAorUGF0Y2gwNDU6IGdk Yi1jY2FjaGUtd29ya2Fyb3VuZC5wYXRjaAogCiAjPXB1c2gramFuOiBNYXkgZ2V0IG9ic29sZXRl ZCBieSBUb20ncyB1bnJlbG9jYXRlZCBvYmpmaWxlcyBwYXRjaC4KLVBhdGNoMDQ3OiBnZGItYXJj aGVyLXBpZS1hZGRvbnMucGF0Y2gKK1BhdGNoMDQ2OiBnZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0 Y2gKIAogIz1wdXNoK2phbjogQnJlYWtwb2ludHMgZGlzYWJsaW5nIG1hdGNoaW5nIHNob3VsZCBu b3QgYmUgYmFzZWQgb24gYWRkcmVzcy4KLVBhdGNoMDQ4OiBnZGItYXJjaGVyLXBpZS1hZGRvbnMt a2VlcC1kaXNhYmxlZC5wYXRjaAorUGF0Y2gwNDc6IGdkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVw LWRpc2FibGVkLnBhdGNoCiAKICMgVGVzdGNhc2UgZm9yICJEbyBub3QgbWFrZSB1cCBsaW5lIGlu Zm9ybWF0aW9uIiBmaXggYnkgRGFuaWVsIEphY29ib3dpdHouCiAjPWZlZG9yYXRlc3QKLVBhdGNo MDQ5OiBnZGItbGluZW5vLW1ha2V1cC10ZXN0LnBhdGNoCitQYXRjaDA0ODogZ2RiLWxpbmVuby1t YWtldXAtdGVzdC5wYXRjaAogCiAjIFRlc3QgcG93ZXI3IHBwYyBkaXNhc3NlbWJseS4KICM9ZmVk b3JhdGVzdAotUGF0Y2gwNTA6IGdkYi1wcGMtcG93ZXI3LXRlc3QucGF0Y2gKK1BhdGNoMDQ5OiBn ZGItcHBjLXBvd2VyNy10ZXN0LnBhdGNoCiAKICMgV29ya2Fyb3VuZCBub24tc3RvcCBtb3JpYnVu ZCBsb2NhdGlvbnMgZXhwbG9pdGVkIGJ5IGtlcm5lbCB1dHJhY2UgKEJaIDU5MDYyMykuCiAjPXB1 c2gramFuOiBDdXJyZW50bHkgaXQgaXMgc3RpbGwgbm90IGZ1bGx5IHNhZmUuCi1QYXRjaDA1MTog Z2RiLW1vcmlidW5kLXV0cmFjZS13b3JrYXJvdW5kLnBhdGNoCitQYXRjaDA1MDogZ2RiLW1vcmli dW5kLXV0cmFjZS13b3JrYXJvdW5kLnBhdGNoCiAKICMgRml4IGZvbGxvdy1leGVjIGZvciBDKysg cHJvZ3JhbXMgKGJ1Z3JlcG9ydGVkIGJ5IE1hcnRpbiBTdHJhbnNreSkuCiAjPWZlZG9yYXRlc3QK LVBhdGNoMDUyOiBnZGItYXJjaGVyLW5leHQtb3Zlci10aHJvdy1jeHgtZXhlYy5wYXRjaAorUGF0 Y2gwNTE6IGdkYi1hcmNoZXItbmV4dC1vdmVyLXRocm93LWN4eC1leGVjLnBhdGNoCiAKICMgQmFj a3BvcnQgRFdBUkYtNCBzdXBwb3J0IChCWiA2MDE4ODcsIFRvbSBUcm9tZXkpLgogIz1mZWRvcmF0 ZXN0Ci1QYXRjaDA1MzogZ2RiLWJ6NjAxODg3LWR3YXJmNC1yaC10ZXN0LnBhdGNoCitQYXRjaDA1 MjogZ2RiLWJ6NjAxODg3LWR3YXJmNC1yaC10ZXN0LnBhdGNoCiAKICM9cHVzaCtqYW4KLVBhdGNo MDU0OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMtYXJnLnBhdGNoCitQYXRjaDA1Mzog Z2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1jb3JlLWFzLWFyZy5wYXRjaAogCiAjIFdvcmthcm91bmQg bGlicnBtIEJaIDY0MzAzMSBkdWUgdG8gaXRzIHVuZXhwZWN0ZWQgZXhpdCgpIGNhbGxzIChCWiA2 NDI4NzkpLgogIz1wdXNoK2phbgotUGF0Y2gwNTU6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBt LWxpYnJwbS13b3JrYXJvdW5kLnBhdGNoCitQYXRjaDA1NDogZ2RiLTYuNi1idWlsZGlkLWxvY2F0 ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKIAogIyBbZGVsYXllZC1zeW1maWxlXSBUZXN0 IGEgYmFja3RyYWNlIHJlZ3Jlc3Npb24gb24gQ0ZJcyB3aXRob3V0IERJRSAoQlogNjE0NjA0KS4K ICM9ZmVkb3JhdGVzdAotUGF0Y2gwNTY6IGdkYi10ZXN0LWJ0LWNmaS13aXRob3V0LWRpZS5wYXRj aAorUGF0Y2gwNTU6IGdkYi10ZXN0LWJ0LWNmaS13aXRob3V0LWRpZS5wYXRjaAogCiAjIFZlcmlm eSBHREIgUHl0aG9uIGJ1aWx0LWluIGZ1bmN0aW9uIGdkYi5zb2xpYl9hZGRyZXNzIGV4aXN0cyAo QlogIyA2MzQxMDgpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA1NzogZ2RiLWJ6NjM0MTA4LXNvbGli X2FkZHJlc3MucGF0Y2gKK1BhdGNoMDU2OiBnZGItYno2MzQxMDgtc29saWJfYWRkcmVzcy5wYXRj aAogCiAjIE5ldyB0ZXN0IGdkYi5hcmNoL3g4Nl82NC1waWQwLWNvcmUuZXhwIGZvciBrZXJuZWwg UElEIDAgY29yZXMgKEJaIDYxMTQzNSkuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDU4OiBnZGItdGVz dC1waWQwLWNvcmUucGF0Y2gKK1BhdGNoMDU3OiBnZGItdGVzdC1waWQwLWNvcmUucGF0Y2gKIAog IyBbYXJjaGVyLXRyb21leS1kZWxheWVkLXN5bWZpbGVdIE5ldyB0ZXN0IGdkYi5kd2FyZjIvZHcy LWFyYW5nZXMuZXhwLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA1OTogZ2RiLXRlc3QtZHcyLWFyYW5n ZXMucGF0Y2gKK1BhdGNoMDU4OiBnZGItdGVzdC1kdzItYXJhbmdlcy5wYXRjaAogCiAjIFthcmNo ZXIta2VpdGhzLWV4cHItY3VtdWxhdGl2ZSt1cHN0cmVhbV0gSW1wb3J0IEMrKyB0ZXN0Y2FzZXMu CiAjPWZlZG9yYXRlc3QKLVBhdGNoMDYwOiBnZGItdGVzdC1leHByLWN1bXVsYXRpdmUtYXJjaGVy LnBhdGNoCitQYXRjaDA1OTogZ2RiLXRlc3QtZXhwci1jdW11bGF0aXZlLWFyY2hlci5wYXRjaAog CiAjIEZpeCByZWdyZXNzaW9ucyBvbiBDKysgbmFtZXMgcmVzb2x2aW5nIChQUiAxMTczNCwgUFIg MTIyNzMsIEtlaXRoIFNlaXR6KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNjE6IGdkYi1waHlzbmFt ZS1wcjExNzM0LXRlc3QucGF0Y2gKK1BhdGNoMDYwOiBnZGItcGh5c25hbWUtcHIxMTczNC10ZXN0 LnBhdGNoCiAKICMgRml4IHJlZ3Jlc3Npb25zIG9uIEMrKyBuYW1lcyByZXNvbHZpbmcgKFBSIDEx NzM0LCBQUiAxMjI3MywgS2VpdGggU2VpdHopLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA2MjogZ2Ri LXBoeXNuYW1lLXByMTIyNzMtdGVzdC5wYXRjaAorUGF0Y2gwNjE6IGdkYi1waHlzbmFtZS1wcjEy MjczLXRlc3QucGF0Y2gKIAogIyBUZXN0IEdEQiBvcGNvZGVzLyBkaXNhc3NlbWJseSBvZiBJbnRl bCBJdnkgQnJpZGdlIGluc3RydWN0aW9ucyAoQlogNjk2ODkwKS4KICM9ZmVkb3JhdGVzdAotUGF0 Y2gwNjM6IGdkYi10ZXN0LWl2eS1icmlkZ2UucGF0Y2gKK1BhdGNoMDYyOiBnZGItdGVzdC1pdnkt YnJpZGdlLnBhdGNoCiAKICMgSGFjayBmb3IgcHJvcGVyIFBJRSBydW4gb2YgdGhlIHRlc3RzdWl0 ZS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNjQ6IGdkYi1ydW50ZXN0LXBpZS1vdmVycmlkZS5wYXRj aAorUGF0Y2gwNjM6IGdkYi1ydW50ZXN0LXBpZS1vdmVycmlkZS5wYXRjaAogCiAjIFByaW50IHJl YXNvbnMgZm9yIGZhaWxlZCBhdHRhY2gvc3Bhd24gaW5jbC4gU0VMaW51eCBkZW55X3B0cmFjZSAo QlogNzg2ODc4KS4KICM9cHVzaCtqYW4KLVBhdGNoMDY1OiBnZGItYXR0YWNoLWZhaWwtcmVhc29u cy01b2Y1LnBhdGNoCitQYXRjaDA2NDogZ2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9mNS5wYXRj aAogCiAjIFdvcmthcm91bmQgUFIgbGliYy8xNDE2NiBmb3IgaW5mZXJpb3IgY2FsbHMgb2Ygc3Ry c3RyLgogIz1mZWRvcmF0ZXN0OiBDb21wYXRpYmlsaXR5IHdpdGggUkhFTHMgKHVuY2hlY2tlZCB3 aGljaCBvbmVzKS4KLVBhdGNoMDY2OiBnZGItZ2xpYmMtc3Ryc3RyLXdvcmthcm91bmQucGF0Y2gK K1BhdGNoMDY1OiBnZGItZ2xpYmMtc3Ryc3RyLXdvcmthcm91bmQucGF0Y2gKIAogIyBJbmNsdWRl IHRlc3RjYXNlIGZvciBgVW5hYmxlIHRvIHNlZSBhIHZhcmlhYmxlIGluc2lkZSBhIG1vZHVsZSAo WExGKScgKEJaIDgyMzc4OSkuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDY3OiBnZGItcmhlbDUuOS10 ZXN0Y2FzZS14bGYtdmFyLWluc2lkZS1tb2QucGF0Y2gKK1BhdGNoMDY2OiBnZGItcmhlbDUuOS10 ZXN0Y2FzZS14bGYtdmFyLWluc2lkZS1tb2QucGF0Y2gKIAogIyBUZXN0Y2FzZSBmb3IgYFNldHRp bmcgc29saWItYWJzb2x1dGUtcHJlZml4IGJyZWFrcyB2RFNPJyAoQlogODE4MzQzKS4KICM9ZmVk b3JhdGVzdAotUGF0Y2gwNjg6IGdkYi1yaGJ6LTgxODM0My1zZXQtc29saWItYWJzb2x1dGUtcHJl Zml4LXRlc3RjYXNlLnBhdGNoCitQYXRjaDA2NzogZ2RiLXJoYnotODE4MzQzLXNldC1zb2xpYi1h YnNvbHV0ZS1wcmVmaXgtdGVzdGNhc2UucGF0Y2gKIAogIyBJbXBvcnQgcmVncmVzc2lvbiB0ZXN0 IGZvciBgZ2RiL2ZpbmR2YXIuYzo0MTc6IGludGVybmFsLWVycm9yOgogIyByZWFkX3Zhcl92YWx1 ZTogQXNzZXJ0aW9uIGBmcmFtZScgZmFpbGVkLicgKFJIIEJaIDk0NzU2NCkgZnJvbSBSSEVMIDYu NS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNjk6IGdkYi1yaGJ6OTQ3NTY0LWZpbmR2YXItYXNzZXJ0 aW9uLWZyYW1lLWZhaWxlZC10ZXN0Y2FzZS5wYXRjaAorUGF0Y2gwNjg6IGdkYi1yaGJ6OTQ3NTY0 LWZpbmR2YXItYXNzZXJ0aW9uLWZyYW1lLWZhaWxlZC10ZXN0Y2FzZS5wYXRjaAogCiAjIEZpeCBj cmFzaCBvZiAtcmVhZG5vdyAvdXNyL2xpYi9kZWJ1Zy91c3IvYmluL2duYXRiaW5kLmRlYnVnIChC WiAxMDY5MjExKS4KICM9cHVzaCtqYW4KLVBhdGNoMDcwOiBnZGItZ25hdC1kd2FyZi1jcmFzaC0z b2YzLnBhdGNoCitQYXRjaDA2OTogZ2RiLWduYXQtZHdhcmYtY3Jhc2gtM29mMy5wYXRjaAogCiAj IEZpeCAnbWVtb3J5IGxlYWsgaW4gaW5mcHlfcmVhZF9tZW1vcnkoKScgKFJIIEJaIDEwMDc2MTQp CiAjPWZlZG9yYXRlc3QKLVBhdGNoMDcxOiBnZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9y ZWFkX21lbW9yeS10ZXN0LnBhdGNoCitQYXRjaDA3MDogZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWst aW5mcHlfcmVhZF9tZW1vcnktdGVzdC5wYXRjaAogCiAjIEZpeCAnZ2RiIGdpdmVzIGhpZ2hseSBt aXNsZWFkaW5nIGVycm9yIHdoZW4gZGVidWdpbmZvIHBrZyBpcyBwcmVzZW50LAogIyBidXQgbm90 IGNvcnJlc3BvbmRpbmcgYmluYXJ5IHBrZycgKFJIIEJaIDk4MTE1NCkuCiAjPXB1c2gramFuCi1Q YXRjaDA3MjogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1taXNsZWFkaW5nLXdhcm5pbmctbWlzc2lu Zy1kZWJ1Z2luZm8tcmhiejk4MTE1NC5wYXRjaAorUGF0Y2gwNzE6IGdkYi02LjYtYnVpbGRpZC1s b2NhdGUtbWlzbGVhZGluZy13YXJuaW5nLW1pc3NpbmctZGVidWdpbmZvLXJoYno5ODExNTQucGF0 Y2gKIAogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA3MzogZ2RiLWFyY2hlci12bGEtdGVzdHMucGF0Y2gK K1BhdGNoMDcyOiBnZGItYXJjaGVyLXZsYS10ZXN0cy5wYXRjaAogCiAjPWZlZG9yYXRlc3QKLVBh dGNoMDc0OiBnZGItdmxhLWludGVsLXRlc3RzLnBhdGNoCitQYXRjaDA3MzogZ2RiLXZsYS1pbnRl bC10ZXN0cy5wYXRjaAogCiAjIENvbnRpbnVlIGJhY2t0cmFjZSBldmVuIGlmIGEgZnJhbWUgZmls dGVyIHRocm93cyBhbiBleGNlcHRpb24gKFBoaWwgTXVsZG9vbikuCiAjPXB1c2gKLVBhdGNoMDc1 OiBnZGItYnRyb2J1c3QucGF0Y2gKK1BhdGNoMDc0OiBnZGItYnRyb2J1c3QucGF0Y2gKIAogIyBE aXNwbGF5IEZvcnRyYW4gc3RyaW5ncyBpbiBiYWNrdHJhY2VzLgogIz1mZWRvcmF0ZXN0Ci1QYXRj aDA3NjogZ2RiLWZvcnRyYW4tZnJhbWUtc3RyaW5nLnBhdGNoCitQYXRjaDA3NTogZ2RiLWZvcnRy YW4tZnJhbWUtc3RyaW5nLnBhdGNoCiAKICMgVGVzdGNhc2UgZm9yICdbU0FQXSBSZWN1cnNpdmUg ZGxvcGVuIGNhdXNlcyBTQVAgSEFOQSBpbnN0YWxsZXIgdG8KICMgY3Jhc2guJyAoUkggQlogMTE1 NjE5MikuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDc3OiBnZGItcmhiejExNTYxOTItcmVjdXJzaXZl LWRsb3Blbi10ZXN0LnBhdGNoCitQYXRjaDA3NjogZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1k bG9wZW4tdGVzdC5wYXRjaAogCiAjIEZpeCBqaXQtcmVhZGVyLmggZm9yIG11bHRpLWxpYi4KICM9 cHVzaCtqYW4KLVBhdGNoMDc4OiBnZGItaml0LXJlYWRlci1tdWx0aWxpYi5wYXRjaAorUGF0Y2gw Nzc6IGdkYi1qaXQtcmVhZGVyLW11bHRpbGliLnBhdGNoCiAKICMgRml4ICdgY2F0Y2ggc3lzY2Fs bCcgZG9lc24ndCB3b3JrIGZvciBwYXJlbnQgYWZ0ZXIgYGZvcmsnIGlzIGNhbGxlZCcKICMgKFBo aWxpcHBlIFdhcm9xdWllcnMsIFJIIEJaIDExNDkyMDUpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA3 OTogZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwtYWZ0ZXItZm9yay10ZXN0LnBhdGNoCitQ YXRjaDA3ODogZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwtYWZ0ZXItZm9yay10ZXN0LnBh dGNoCiAKICMgRml4ICdiYWNrcG9ydCBHREIgNy40IGZpeCB0byBSSEVMIDYuNiBHREInIFtPcmln aW5hbCBTb3VyY2V3YXJlIGJ1ZwogIyBkZXNjcmlwdGlvbjogJ0MrKyAoYW5kIG9iamMpOiBJbnRl cm5hbCBlcnJvciBvbiB1bnF1YWxpZmllZCBuYW1lCiAjIHJlLXNldCcsIFBSIDExNjU3XSAoUkgg QlogMTE4NjQ3NikuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDgwOiBnZGItcmhiejExODY0NzYtaW50 ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQtdGVzdC5wYXRjaAorUGF0Y2gwNzk6 IGdkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC10 ZXN0LnBhdGNoCiAKICMgVGVzdCAnaW5mbyB0eXBlLXByaW50ZXJzJyBQeXRob24gZXJyb3IgKFJI IEJaIDEzNTA0MzYpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA4MTogZ2RiLXJoYnoxMzUwNDM2LXR5 cGUtcHJpbnRlcnMtZXJyb3IucGF0Y2gKK1BhdGNoMDgwOiBnZGItcmhiejEzNTA0MzYtdHlwZS1w cmludGVycy1lcnJvci5wYXRjaAogCiAjIEZpeCAnW3BwYzY0XSBhbmQgW3MzOTB4XSB3cm9uZyBw cm9sb2d1ZSBza2lwIG9uIC1PMiAtZyBjb2RlJyAoSmFuCiAjIEtyYXRvY2h2aWwsIFJIIEJaIDEw ODQ0MDQpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA4MjogZ2RiLXJoYnoxMDg0NDA0LXBwYzY0LXMz OTB4LXdyb25nLXByb2xvZ3VlLXNraXAtTzItZy0zb2YzLnBhdGNoCitQYXRjaDA4MTogZ2RiLXJo YnoxMDg0NDA0LXBwYzY0LXMzOTB4LXdyb25nLXByb2xvZ3VlLXNraXAtTzItZy0zb2YzLnBhdGNo CiAKICMgTmV2ZXIga2lsbCBQSUQgb246IGdkYiBleGVjIFBJRCAoSmFuIEtyYXRvY2h2aWwsIFJI IEJaIDEyMTk3NDcpLgogIz1wdXNoK2phbgotUGF0Y2gwODM6IGdkYi1iejEyMTk3NDctYXR0YWNo LWtpbGxzLnBhdGNoCitQYXRjaDA4MjogZ2RiLWJ6MTIxOTc0Ny1hdHRhY2gta2lsbHMucGF0Y2gK IAogIyBGb3JjZSBsaWJuY3Vyc2VzdyBvdmVyIGxpYm5jdXJzZXMgdG8gbWF0Y2ggdGhlIGluY2x1 ZGVzIChSSCBCWiAxMjcwNTM0KS4KICM9cHVzaCtqYW4KLVBhdGNoMDg0OiBnZGItZmVkb3JhLWxp Ym5jdXJzZXN3LnBhdGNoCitQYXRjaDA4MzogZ2RiLWZlZG9yYS1saWJuY3Vyc2Vzdy5wYXRjaAog CiAjIFRlc3QgY2xmbHVzaG9wdCBpbnN0cnVjdGlvbiBkZWNvZGUgKGZvciBSSCBCWiAxMjYyNDcx KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwODU6IGdkYi1vcGNvZGVzLWNsZmx1c2hvcHQtdGVzdC5w YXRjaAorUGF0Y2gwODQ6IGdkYi1vcGNvZGVzLWNsZmx1c2hvcHQtdGVzdC5wYXRjaAogCiAjIFty aGVsNl0gRFRTIGJhY2t3YXJkIFB5dGhvbiBjb21wYXRpYmlsaXR5IEFQSSAoQlogMTAyMDAwNCwg UGhpbCBNdWxkb29uKS4KICM9ZmVkb3JhCi1QYXRjaDA4NjogZ2RiLWR0cy1yaGVsNi1weXRob24t Y29tcGF0LnBhdGNoCitQYXRjaDA4NTogZ2RiLWR0cy1yaGVsNi1weXRob24tY29tcGF0LnBhdGNo CiAKICMgW1NDTF0gU2tpcCBkZXByZWNhdGVkIC5nZGJfaW5kZXggd2FybmluZyBmb3IgUmVkIEhh dCBidWlsdCBmaWxlcyAoQlogOTUzNTg1KS4KICM9cHVzaCtqYW4KLVBhdGNoMDg3OiBnZGItNi42 LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKK1BhdGNoMDg2OiBnZGItNi42LWJ1aWxkaWQt bG9jYXRlLXJwbS1zY2wucGF0Y2gKIAogIyBNYWtlIHRoZSBHREIgcXVpdCBwcm9jZXNzaW5nIG5v bi1hYm9ydGFibGUgdG8gY2xlYW51cCBldmVyeXRoaW5nIHByb3Blcmx5LgogIz1mZWRvcmE6IEl0 IHdhcyB1c2VmdWwgb25seSBhZnRlciBnZGItNi44LWF0dGFjaC1zaWduYWxsZWQtZGV0YWNoLXN0 b3BwZWQucGF0Y2ggLgotUGF0Y2gwODg6IGdkYi02LjgtcXVpdC1uZXZlci1hYm9ydHMucGF0Y2gK K1BhdGNoMDg3OiBnZGItNi44LXF1aXQtbmV2ZXItYWJvcnRzLnBhdGNoCiAKICMgW2FhcmNoNjRd IEZpeCBoYXJkd2FyZSB3YXRjaHBvaW50cyAoUkggQlogMTI2MTU2NCkuCiAjPWZlZG9yYXRlc3QK LVBhdGNoMDg5OiBnZGItcmhiejEyNjE1NjQtYWFyY2g2NC1ody13YXRjaHBvaW50LXRlc3QucGF0 Y2gKK1BhdGNoMDg4OiBnZGItcmhiejEyNjE1NjQtYWFyY2g2NC1ody13YXRjaHBvaW50LXRlc3Qu cGF0Y2gKIAogIyBBZGQgbWVzc2FnZXMgc3VnZ2VzdGluZyBtb3JlIHJlY2VudCBSSEVMIGdkYnNl cnZlciAoUkggQlogMTMyMTExNCkuCiAjPWZlZG9yYQotUGF0Y2gwOTA6IGdkYi1jb250YWluZXIt cmgtcGtnLnBhdGNoCitQYXRjaDA4OTogZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKIAogIyBO ZXcgdGVzdCBmb3IgUHl0aG9uICJDYW5ub3QgbG9jYXRlIG9iamVjdCBmaWxlIGZvciBibG9jayIg KGZvciBSSCBCWiAxMzI1Nzk1KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwOTE6IGdkYi1yaGJ6MTMy NTc5NS1mcmFtZWZpbHRlcnMtdGVzdC5wYXRjaAorUGF0Y2gwOTA6IGdkYi1yaGJ6MTMyNTc5NS1m cmFtZWZpbHRlcnMtdGVzdC5wYXRjaAogCiAjIFtkdHMrZWw3XSBbeDg2Kl0gQnVuZGxlIGxpbnV4 X3BlcmYuaCBmb3IgbGliaXB0IChSSCBCWiAxMjU2NTEzKS4KICM9ZmVkb3JhCi1QYXRjaDA5Mjog Z2RiLWxpbnV4X3BlcmYtYnVuZGxlLnBhdGNoCitQYXRjaDA5MTogZ2RiLWxpbnV4X3BlcmYtYnVu ZGxlLnBhdGNoCiAKICMgRml4IGdkYi1oZWFkbGVzcyAvdXNyL2Jpbi8gZXhlY3V0YWJsZXMgKEJa IDEzOTAyNTEpLgogIwpAQCAtMzc3LDM2ICszNzQsMzYgQEAgUGF0Y2gwOTI6IGdkYi1saW51eF9w ZXJmLWJ1bmRsZS5wYXRjaAogIwogIyAgIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9D aGFuZ2VzL01pbmltYWxfR0RCX2luX2J1aWxkcm9vdAogIz1mZWRvcmEKLVBhdGNoMDkzOiBnZGIt bGliZXhlYy1hZGQtaW5kZXgucGF0Y2gKK1BhdGNoMDkyOiBnZGItbGliZXhlYy1hZGQtaW5kZXgu cGF0Y2gKIAogIyBOZXcgdGVzdGNhc2UgZm9yOiBGaXggPHRhYj4tY29tcGxldGlvbiBjcmFzaCAo R2FyeSBCZW5zb24sIFJIIEJaIDEzOTgzODcpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA5NDogZ2Ri LXJoYnoxMzk4Mzg3LXRhYi1jcmFzaC10ZXN0LnBhdGNoCitQYXRjaDA5MzogZ2RiLXJoYnoxMzk4 Mzg3LXRhYi1jcmFzaC10ZXN0LnBhdGNoCiAKICMgUHl0aG9uIHBhdGNoZXMgb2Y6IGh0dHA6Ly9z b3VyY2V3YXJlLm9yZy9nZGIvd2lraS9Qcm9qZWN0QXJjaGVyCiAjPXB1c2gKLVBhdGNoMDk1OiBn ZGItYXJjaGVyLnBhdGNoCitQYXRjaDA5NDogZ2RiLWFyY2hlci5wYXRjaAogCiAjIFJldmVydCB1 cHN0cmVhbSBjb21taXQgNDY5NDEyZGQ5Y2NjNGRlNTg3NGZkMzI5OWIxMDU4MzNmMzZiMzRjZAot UGF0Y2gwOTY6IGdkYi12bGEtaW50ZWwtZml4LXByaW50LWNoYXItYXJyYXkucGF0Y2gKK1BhdGNo MDk1OiBnZGItdmxhLWludGVsLWZpeC1wcmludC1jaGFyLWFycmF5LnBhdGNoCiAKICMgW3MzOTB4 XSBCYWNrcG9ydCBhcmNoMTIgaW5zdHJ1Y3Rpb25zIGRlY29kaW5nIChSSCBCWiAxNTUzMTA0KS4K ICMgPWZlZG9yYXRlc3QKLVBhdGNoMDk3OiBnZGItcmhiejE1NTMxMDQtczM5MHgtYXJjaDEyLXRl c3QucGF0Y2gKK1BhdGNoMDk2OiBnZGItcmhiejE1NTMxMDQtczM5MHgtYXJjaDEyLXRlc3QucGF0 Y2gKIAogIyBGaXggb2ZmLWJ5LW9uZSBlcnJvciBpbiBhZGFfZm9sZF9uYW1lLnBhdGNoIChSSCBC WiAxOTA1OTk2KQogIyBVcHN0cmVhbSBwYXRjaCBwcm9wb3NhbDogaHR0cHM6Ly9zb3VyY2V3YXJl Lm9yZy9waXBlcm1haWwvZ2RiLXBhdGNoZXMvMjAyMC1EZWNlbWJlci8xNzM5MzUuaHRtbAogIyA9 ZmVkb3JhdGVzdAotUGF0Y2gwOTg6IGdkYi1yaGJ6MTkwNTk5Ni1maXgtb2ZmLWJ5LW9uZS1lcnJv ci1pbi1hZGFfZm9sZF9uYW1lLnBhdGNoCitQYXRjaDA5NzogZ2RiLXJoYnoxOTA1OTk2LWZpeC1v ZmYtYnktb25lLWVycm9yLWluLWFkYV9mb2xkX25hbWUucGF0Y2gKIAogIyBCYWNrcG9ydCBmaXgg Zm9yIGxpYnN0ZGMrKyBhc3NlcnQgd2hlbiBwZXJmb3JtaW5nIHRhYiBjb21wbGV0aW9uCiAjIChS SCBCWiAxOTEyOTg1KS4KLVBhdGNoMDk5OiBnZGItcmhiejE5MTI5ODUtbGlic3RkYysrLWFzc2Vy dC5wYXRjaAorUGF0Y2gwOTg6IGdkYi1yaGJ6MTkxMjk4NS1saWJzdGRjKystYXNzZXJ0LnBhdGNo CiAKICMgQmFja3BvcnQgZml4IGZvciByYXdoaWRlIGJ1aWxkIGVycm9yIChSSCBCWiAxOTMwNTI4 KS4KLVBhdGNoMTAwOiBnZGItcmhiejE5MzA1MjgtZml4LWdudWxpYi1idWlsZC1lcnJvci5wYXRj aAorUGF0Y2gwOTk6IGdkYi1yaGJ6MTkzMDUyOC1maXgtZ251bGliLWJ1aWxkLWVycm9yLnBhdGNo CiAKICMgW2FhcmNoNjRdIEJhY2twb3J0IGZpeCBmb3IgYWFyY2g2NC1saW51eC1ody1wb2ludC5j IGJ1aWxkIHByb2JsZW0KICMgKFJIIEJaIDE5MzI2NDUpLgotUGF0Y2gxMDE6IGdkYi1yaGJ6MTkz MjY0NS1hYXJjaDY0LXB0cmFjZS1oZWFkZXItb3JkZXIucGF0Y2gKK1BhdGNoMTAwOiBnZGItcmhi ejE5MzI2NDUtYWFyY2g2NC1wdHJhY2UtaGVhZGVyLW9yZGVyLnBhdGNoCiAKCmRpZmYgLS1naXQg YS9fZ2RiLnNwZWMucGF0Y2guaW5jbHVkZSBiL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRlCmluZGV4 IDIwMmE1Y2MuLmZkM2NmMDIgMTAwNjQ0Ci0tLSBhL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRlCisr KyBiL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRlCkBAIC05OCw0ICs5OCwzIEBACiAlcGF0Y2gwOTgg LXAxCiAlcGF0Y2gwOTkgLXAxCiAlcGF0Y2gxMDAgLXAxCi0lcGF0Y2gxMDEgLXAxCgpkaWZmIC0t Z2l0IGEvX3BhdGNoX29yZGVyIGIvX3BhdGNoX29yZGVyCmluZGV4IGZhMzE3NzguLjc2YTZhMmYg MTAwNjQ0Ci0tLSBhL19wYXRjaF9vcmRlcgorKysgYi9fcGF0Y2hfb3JkZXIKQEAgLTEsNiArMSw1 IEBACiBnZGItNi4zLXJoLXRlc3R2ZXJzaW9uLTIwMDQxMjAyLnBhdGNoCiBnZGItdmxhLWludGVs LWZvcnRyYW4tc3RyaWRlcy5wYXRjaAotZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdz LnBhdGNoCiBnZGItdmxhLWludGVsLXN0cmluZ2J0LWZpeC5wYXRjaAogZ2RiLTYuMy1nc3RhY2st MjAwNTA0MTEucGF0Y2gKIGdkYi02LjMtdGVzdC1waWUtMjAwNTAxMDcucGF0Y2gKCmRpZmYgLS1n aXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2ggYi9nZGItNi42LWJ1aWxk aWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKaW5kZXggMDlmOTMwZi4uOTQ3Yjg1NSAxMDA2NDQKLS0t IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tc2NsLnBhdGNoCisrKyBiL2dkYi02LjYtYnVp bGRpZC1sb2NhdGUtcnBtLXNjbC5wYXRjaApAQCAtOTgsNyArOTgsNyBAQCBkaWZmIC0tZ2l0IGEv Z2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjIv cmVhZC5jIGIvZ2RiL2R3YXJmMi9yZWFkLmMKIC0tLSBhL2dkYi9kd2FyZjIvcmVhZC5jCiArKysg Yi9nZGIvZHdhcmYyL3JlYWQuYwotQEAgLTMwMjUsNiArMzAyNSwxNiBAQCByZWFkX2dkYl9pbmRl eF9mcm9tX2J1ZmZlciAoY29uc3QgY2hhciAqZmlsZW5hbWUsCitAQCAtMzAyMiw2ICszMDIyLDE2 IEBAIHJlYWRfZ2RiX2luZGV4X2Zyb21fYnVmZmVyIChjb25zdCBjaGFyICpmaWxlbmFtZSwKICAg ICAgICJzZXQgdXNlLWRlcHJlY2F0ZWQtaW5kZXgtc2VjdGlvbnMgb24iLiAgKi8KICAgIGlmICh2 ZXJzaW9uIDwgNiAmJiAhZGVwcmVjYXRlZF9vaykKICAgICAgewpAQCAtMTE1LDcgKzExNSw3IEBA IGRpZmYgLS1naXQgYS9nZGIvZHdhcmYyL3JlYWQuYyBiL2dkYi9kd2FyZjIvcmVhZC5jCiAgICAg ICAgc3RhdGljIGludCB3YXJuaW5nX3ByaW50ZWQgPSAwOwogICAgICAgIGlmICghd2FybmluZ19w cmludGVkKQogIAl7Ci1AQCAtMzAzNiw2ICszMDQ2LDEwIEBAIHRvIHVzZSB0aGUgc2VjdGlvbiBh bnl3YXkuIiksCitAQCAtMzAzMyw2ICszMDQzLDEwIEBAIHRvIHVzZSB0aGUgc2VjdGlvbiBhbnl3 YXkuIiksCiAgCSAgd2FybmluZ19wcmludGVkID0gMTsKICAJfQogICAgICAgIHJldHVybiAwOwoK ZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2ggYi9nZGItNi42LWJ1aWxk aWQtbG9jYXRlLnBhdGNoCmluZGV4IDZjOWZiODEuLjdiZjZkMTEgMTAwNjQ0Ci0tLSBhL2dkYi02 LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRj aApAQCAtMTEwNyw3ICsxMTA3LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjIvaW5kZXgtY2Fj aGUuYyBiL2dkYi9kd2FyZjIvaW5kZXgtY2FjaGUuYwogZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjIv cmVhZC5jIGIvZ2RiL2R3YXJmMi9yZWFkLmMKIC0tLSBhL2dkYi9kd2FyZjIvcmVhZC5jCiArKysg Yi9nZGIvZHdhcmYyL3JlYWQuYwotQEAgLTIyMTgsNyArMjIxOCw3IEBAIGR3YXJmMl9nZXRfZHd6 X2ZpbGUgKGR3YXJmMl9wZXJfYmZkICpwZXJfYmZkKQorQEAgLTIyMTUsNyArMjIxNSw3IEBAIGR3 YXJmMl9nZXRfZHd6X2ZpbGUgKGR3YXJmMl9wZXJfYmZkICpwZXJfYmZkKQogICAgICB9CiAgCiAg ICBpZiAoZHd6X2JmZCA9PSBOVUxMKQpAQCAtMTExNiw3ICsxMTE2LDcgQEAgZGlmZiAtLWdpdCBh L2dkYi9kd2FyZjIvcmVhZC5jIGIvZ2RiL2R3YXJmMi9yZWFkLmMKICAKICAgIGlmIChkd3pfYmZk ID09IG51bGxwdHIpCiAgICAgIHsKLUBAIC01OTgwLDcgKzU5ODAsNyBAQCBnZXRfZ2RiX2luZGV4 X2NvbnRlbnRzX2Zyb21fc2VjdGlvbiAob2JqZmlsZSAqb2JqLCBUICpzZWN0aW9uX293bmVyKQor QEAgLTU5NzcsNyArNTk3Nyw3IEBAIGdldF9nZGJfaW5kZXhfY29udGVudHNfZnJvbV9zZWN0aW9u IChvYmpmaWxlICpvYmosIFQgKnNlY3Rpb25fb3duZXIpCiAgc3RhdGljIGdkYjo6YXJyYXlfdmll dzxjb25zdCBnZGJfYnl0ZT4KICBnZXRfZ2RiX2luZGV4X2NvbnRlbnRzX2Zyb21fY2FjaGUgKG9i amZpbGUgKm9iaiwgZHdhcmYyX3Blcl9iZmQgKmR3YXJmMl9wZXJfYmZkKQogIHsKQEAgLTExMjUs NyArMTEyNSw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYyL3JlYWQuYyBiL2dkYi9kd2FyZjIv cmVhZC5jCiAgICBpZiAoYnVpbGRfaWQgPT0gbnVsbHB0cikKICAgICAgcmV0dXJuIHt9OwogIAot QEAgLTU5OTMsNyArNTk5Myw3IEBAIGdldF9nZGJfaW5kZXhfY29udGVudHNfZnJvbV9jYWNoZSAo b2JqZmlsZSAqb2JqLCBkd2FyZjJfcGVyX2JmZCAqZHdhcmYyX3Blcl9iZmQpCitAQCAtNTk5MCw3 ICs1OTkwLDcgQEAgZ2V0X2dkYl9pbmRleF9jb250ZW50c19mcm9tX2NhY2hlIChvYmpmaWxlICpv YmosIGR3YXJmMl9wZXJfYmZkICpkd2FyZjJfcGVyX2JmZCkKICBzdGF0aWMgZ2RiOjphcnJheV92 aWV3PGNvbnN0IGdkYl9ieXRlPgogIGdldF9nZGJfaW5kZXhfY29udGVudHNfZnJvbV9jYWNoZV9k d3ogKG9iamZpbGUgKm9iaiwgZHd6X2ZpbGUgKmR3eikKICB7CgpkaWZmIC0tZ2l0IGEvZ2RiLWFy Y2hlci12bGEtdGVzdHMucGF0Y2ggYi9nZGItYXJjaGVyLXZsYS10ZXN0cy5wYXRjaAppbmRleCA0 N2M5OGQzLi5lZjk0ZGY4IDEwMDY0NAotLS0gYS9nZGItYXJjaGVyLXZsYS10ZXN0cy5wYXRjaAor KysgYi9nZGItYXJjaGVyLXZsYS10ZXN0cy5wYXRjaApAQCAtMzAxMCw3ICszMDEwLDcgQEAgZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5nLmV4cCBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vc3QKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiAtLS0gL2Rldi9udWxs CiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5leHAKLUBAIC0wLDAgKzEs NTkgQEAKK0BAIC0wLDAgKzEsNzEgQEAKICsjIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgogKwogKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKQEAgLTMwNTUsMTMgKzMwNTUsMjMg QEAgbmV3IGZpbGUgbW9kZSAxMDA2NDQKICtnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAidmFy LWluaXQiCiArZ2RiX3Rlc3QgInB0eXBlIGMiICJ0eXBlID0gY2hhcmFjdGVyKFxcKGtpbmQ9MVxc KXxcXCoxKSIKICtnZGJfdGVzdCAicHR5cGUgZCIgInR5cGUgPSBjaGFyYWN0ZXIoXFwoa2luZD04 XFwpfFxcKjgpIgorKyMgRm9ydHJhbjogU3VwcG9ydCBwb2ludGVycyB0byBkeW5hbWljIHR5cGVz LgorK3NldHVwX2tmYWlsIGdkYi9ubm5ubiAiKi0qLSoiCiArZ2RiX3Rlc3QgInB0eXBlIGUiICJ0 eXBlID0gY2hhcmFjdGVyKFxcKGtpbmQ9NFxcKXxcXCo0KSIKKysjIEZvcnRyYW46IFN1cHBvcnQg cG9pbnRlcnMgdG8gZHluYW1pYyB0eXBlcy4KKytzZXR1cF9rZmFpbCBnZGIvbm5ubm4gIiotKi0q IgogK2dkYl90ZXN0ICJwdHlwZSBmIiAidHlwZSA9IGNoYXJhY3RlcihcXChraW5kPTRcXCl8XFwq NCkgXFwoNyw4OjEwXFwpIgorKyMgRm9ydHJhbjogU3VwcG9ydCBwb2ludGVycyB0byBkeW5hbWlj IHR5cGVzLgorK3NldHVwX2tmYWlsIGdkYi9ubm5ubiAiKi0qLSoiCiArZ2RiX3Rlc3QgInB0eXBl ICplIiAiQXR0ZW1wdCB0byB0YWtlIGNvbnRlbnRzIG9mIGEgbm9uLXBvaW50ZXIgdmFsdWUuIgor KyMgRm9ydHJhbjogU3VwcG9ydCBwb2ludGVycyB0byBkeW5hbWljIHR5cGVzLgorK3NldHVwX2tm YWlsIGdkYi9ubm5ubiAiKi0qLSoiCiArZ2RiX3Rlc3QgInB0eXBlICpmIiAidHlwZSA9IGNoYXJh Y3RlcihcXChraW5kPTRcXCl8XFwqNCkgXFwoN1xcKSIKICtnZGJfdGVzdCAicCBjIiAiXFwkXFsw LTlcXSogPSAnYyciCiArZ2RiX3Rlc3QgInAgZCIgIlxcJFxbMC05XF0qID0gJ2QgICAgICAgJyIK ICtnZGJfdGVzdCAicCBlIiAiXFwkXFswLTlcXSogPSAnZyAgICciCisrIyBGb3J0cmFuOiBTdXBw b3J0IHBvaW50ZXJzIHRvIGR5bmFtaWMgdHlwZXMuCisrc2V0dXBfa2ZhaWwgZ2RiL25ubm5uICIq LSotKiIKICtnZGJfdGVzdCAicCBmIiAiXFwkXFswLTlcXSogPSBcXChcXCggJ2ggICAnLCAnaCAg ICcsICdoICAgJywgJ2ggICAnLCAnaCAgICcsICdoICAgJywgJ2ggICAnXFwpIFxcKCAnaCAgICcs ICdoICAgJywgJ2ggICAnLCAnaCAgICcsICdoICAgJywgJ2ggICAnLCAnaCAgICdcXCkgXFwoICdo ICAgJywgJ2ggICAnLCAnaCAgICcsICdoICAgJywgJ2ggICAnLCAnaCAgICcsICdoICAgJ1xcKSBc XCkiCiArZ2RiX3Rlc3QgInAgKmUiICJBdHRlbXB0IHRvIHRha2UgY29udGVudHMgb2YgYSBub24t cG9pbnRlciB2YWx1ZS4iCiArZ2RiX3Rlc3QgInAgKmYiICJBdHRlbXB0IHRvIHRha2UgY29udGVu dHMgb2YgYSBub24tcG9pbnRlciB2YWx1ZS4iCkBAIC0zMDY5LDYgKzMwNzksOCBAQCBuZXcgZmls ZSBtb2RlIDEwMDY0NAogK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ2YXIt ZmluaXNoIl0KICtnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAidmFyLWZpbmlzaCIKICtnZGJf dGVzdCAicCBlIiAiXFwkXFswLTlcXSogPSAnZSAgICciICJwIGUgcmUtc2V0IgorKyMgRm9ydHJh bjogU3VwcG9ydCBwb2ludGVycyB0byBkeW5hbWljIHR5cGVzLgorK3NldHVwX2tmYWlsIGdkYi9u bm5ubiAiKi0qLSoiCiArZ2RiX3Rlc3QgInAgZiIgIlxcJFxbMC05XF0qID0gXFwoXFwoICdmICAg JywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJ1xcKSBcXCgg J2YyICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnXFwp IFxcKCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAg ICdcXCkgXFwpIiAicCAqZiByZS1zZXQiCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9zdHJpbmcuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkw CiBuZXcgZmlsZSBtb2RlIDEwMDY0NAoKZGlmZiAtLWdpdCBhL2dkYi1nbmF0LWR3YXJmLWNyYXNo LTNvZjMucGF0Y2ggYi9nZGItZ25hdC1kd2FyZi1jcmFzaC0zb2YzLnBhdGNoCmluZGV4IDQxOTc2 NjEuLjVmMDBiZmYgMTAwNjQ0Ci0tLSBhL2dkYi1nbmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0Y2gK KysrIGIvZ2RiLWduYXQtZHdhcmYtY3Jhc2gtM29mMy5wYXRjaApAQCAtNDIsNyArNDIsNyBAQCBn ZGIvCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9yZWFkLmMgYi9nZGIvZHdhcmYyL3JlYWQuYwog LS0tIGEvZ2RiL2R3YXJmMi9yZWFkLmMKICsrKyBiL2dkYi9kd2FyZjIvcmVhZC5jCi1AQCAtMTAx NjIsNiArMTAxNjIsMTMgQEAgY2xhc3MgcHJvY2Vzc19kaWVfc2NvcGUKK0BAIC0xMDE1OSw2ICsx MDE1OSwxMyBAQCBjbGFzcyBwcm9jZXNzX2RpZV9zY29wZQogIHN0YXRpYyB2b2lkCiAgcHJvY2Vz c19kaWUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICB7Cgpk aWZmIC0tZ2l0IGEvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNoIGIvZ2Ri LXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAyYzkyNWVjLi4wMDAwMDAwCi0tLSBhL2dkYi12bGEtaW50ZWwtZm9ydHJhbi12 bGEtc3RyaW5ncy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk3NyArMCwwIEBACi1Gcm9tIEZF RE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmVkb3JhIEdEQiBw YXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6 NTAgKzAyMDAKLVN1YmplY3Q6IGdkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRj aAotCi07Oz1wdXNoCi0KLWdpdCBkaWZmIC0tc3RhdCAtcCBnZGIvbWFzdGVyLi4uZ2RiL3VzZXJz L2JoZWNrZWwvZm9ydHJhbi12bGEtc3RyaW5ncwotMGFkN2Q4ZDFhM2EzNmM2ZTA0ZTNiNmQzN2Q4 ODI1ZjE4ZDU5NTcyMwotCi0gZ2RiL05FV1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDIgKwotIGdkYi9jLXZhbHByaW50LmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDIyICsrKysrCi0gZ2RiL2R3YXJmMnJlYWQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAx NTggKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCi0gZ2RiL2YtdHlwZXByaW50LmMgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgOTMgKysrKysrKysrLS0tLS0tLS0tCi0gZ2RiL2dkYnR5 cGVzLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDQgKysrKysrKystCi0gZ2RiL3Rl c3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5jYyAgICAgICAgICAgfCAgIDkgKysKLSBnZGIvdGVzdHN1 aXRlL2dkYi5jcC92bGEtY3h4LmV4cCAgICAgICAgICB8ICAgOSArKwotIGdkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vcG9pbnRlcnMuZXhwICAgIHwgMTQzICsrKysrKysrKysrKysrKysrKysrKysr KysrKwotIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZjkwICAgIHwgMTA5ICsr KysrKysrKysrKysrKysrKysrKwotIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlw ZS5leHAgIHwgMTAwICsrKysrKysrKysrKysrKysrKysKLSBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1wdHlwZS5leHAgICB8ICAxMiArLS0KLSBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3ZsYS1zdHJpbmdzLmV4cCB8IDEwMyArKysrKysrKysrKysrKysrKysrCi0gZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5mOTAgfCAgMzkgKysrKysrKysKLSBnZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cCAgICB8ICAgNyArLQotIGdkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cCAgIHwgIDEyICsrLQotIGdkYi90ZXN0c3VpdGUvZ2Ri Lm1pL21pLXZhci1jaGlsZC1mLmV4cCAgIHwgICA3ICstCi0gZ2RiL3Rlc3RzdWl0ZS9nZGIubWkv bWktdmxhLWZvcnRyYW4uZXhwICAgfCAgMjcgKystLS0KLSBnZGIvdHlwZXByaW50LmMgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAxOSArKysrCi0gZ2RiL3ZhbG9wcy5jICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMTYgKystCi0gZ2RiL3ZhbHByaW50LmMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDYgLS0KLSAyMCBmaWxlcyBjaGFuZ2VkLCA4MjcgaW5zZXJ0aW9u cygrKSwgMTEwIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2RiL05FV1MgYi9nZGIvTkVX UwotLS0tIGEvZ2RiL05FV1MKLSsrKyBiL2dkYi9ORVdTCi1AQCAtOTg1LDYgKzk4NSw4IEBAIFNI LTUvU0g2NCBydW5uaW5nIE9wZW5CU0QgCVNILTUvU0g2NCBzdXBwb3J0IGluIHNoKi0qLW9wZW5i c2QqCi0gCi0gKioqIENoYW5nZXMgaW4gR0RCIDguMQotIAotKyogRm9ydHJhbjogU3VwcG9ydCBw b2ludGVycyB0byBkeW5hbWljIHR5cGVzLgotKwotICogR0RCIG5vdyBzdXBwb3J0cyBkeW5hbWlj YWxseSBjcmVhdGluZyBhcmJpdHJhcnkgcmVnaXN0ZXIgZ3JvdXBzIHNwZWNpZmllZAotICAgaW4g WE1MIHRhcmdldCBkZXNjcmlwdGlvbnMuICBUaGlzIGFsbG93cyBmb3IgZmluZXIgZ3JhaW4gZ3Jv dXBpbmcgb2YKLSAgIHJlZ2lzdGVycyBvbiBzeXN0ZW1zIHdpdGggYSBsYXJnZSBhbW91bnQgb2Yg cmVnaXN0ZXJzLgotZGlmZiAtLWdpdCBhL2dkYi9jLXZhbHByaW50LmMgYi9nZGIvYy12YWxwcmlu dC5jCi0tLS0gYS9nZGIvYy12YWxwcmludC5jCi0rKysgYi9nZGIvYy12YWxwcmludC5jCi1AQCAt NTcyLDYgKzU3MiwyNyBAQCBjX3ZhbHVlX3ByaW50IChzdHJ1Y3QgdmFsdWUgKnZhbCwgc3RydWN0 IHVpX2ZpbGUgKnN0cmVhbSwKLSAgICAgICBlbHNlCi0gCXsKLSAJICAvKiBub3JtYWwgY2FzZSAq LwotKwkgIGlmICh0eXBlLT5jb2RlICgpID09IFRZUEVfQ09ERV9QVFIKLSsJICAgICAgJiYgMSA9 PSBpc19keW5hbWljX3R5cGUgKHR5cGUpKQotKwkgICAgewotKwkgICAgICBDT1JFX0FERFIgYWRk ciA9IHZhbHVlX2FzX2FkZHJlc3MgKHZhbCk7Ci0rCi0rCSAgICAgIC8qIFdlIHJlc29sdmUgdGhl IHRhcmdldC10eXBlIG9ubHkgd2hlbiB0aGUKLSsJICAgICAgICAgcG9pbnRlciBpcyBhc3NvY2lh dGVkLiAgKi8KLSsJICAgICAgaWYgKChhZGRyICE9IDApCi0rCQkgICYmICgwID09IHR5cGVfbm90 X2Fzc29jaWF0ZWQgKHR5cGUpKSkKLSsJCXsKLSsJCSAgdHlwZSA9IGNvcHlfdHlwZSAodHlwZSk7 Ci0rCQkgIFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpID0KLSsJCSAgICAgIHJlc29sdmVfZHluYW1p Y190eXBlIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSwKLSsJCQkJCSAgICB7fSwgYWRkcik7Ci0r CQl9Ci0rCSAgICB9Ci0rCSAgZWxzZQotKwkgICAgewotKwkgICAgICAvKiBEbyBub3RoaW5nLiBS ZWZlcmVuY2VzIGFyZSBhbHJlYWR5IHJlc29sdmVkIGZyb20gdGhlIGJlZ2lubmluZywKLSsJICAg ICAgICAgb25seSBwb2ludGVycyBhcmUgcmVzb2x2ZWQgd2hlbiB3ZSBhY3R1YWwgbmVlZCB0aGUg dGFyZ2V0LiAgKi8KLSsJICAgIH0KLSAJICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIoIik7 Ci0gCSAgdHlwZV9wcmludCAodmFsdWVfdHlwZSAodmFsKSwgIiIsIHN0cmVhbSwgLTEpOwotIAkg IGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIikgIik7Ci1kaWZmIC0tZ2l0IGEvZ2RiL2R3YXJm Mi9yZWFkLmMgYi9nZGIvZHdhcmYyL3JlYWQuYwotLS0tIGEvZ2RiL2R3YXJmMi9yZWFkLmMKLSsr KyBiL2dkYi9kd2FyZjIvcmVhZC5jCi1AQCAtMTU2Miw3ICsxNTYyLDEwIEBAIHN0YXRpYyB2b2lk IHJlYWRfc2lnbmF0dXJlZF90eXBlIChzaWduYXR1cmVkX3R5cGUgKnNpZ190eXBlLAotIAotIHN0 YXRpYyBpbnQgYXR0cl90b19keW5hbWljX3Byb3AgKGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0 dHIsCi0gCQkJCSBzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UsCi0t CQkJCSBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wLCBzdHJ1Y3QgdHlwZSAqdHlwZSk7Ci0rCQkJ CSBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wLAotKwkJCQkgc3RydWN0IHR5cGUgKmRlZmF1bHRf dHlwZSwKLSsJCQkJIGNvbnN0IGdkYl9ieXRlICphZGRpdGlvbmFsX2RhdGEsCi0rCQkJCSBpbnQg YWRkaXRpb25hbF9kYXRhX3NpemUpOwotIAotIC8qIG1lbW9yeSBhbGxvY2F0aW9uIGludGVyZmFj ZSAqLwotIAotQEAgLTEzNjMxLDcgKzEzNjM0LDcgQEAgcmVhZF9mdW5jX3Njb3BlIChzdHJ1Y3Qg ZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCi0gICAgICAgbmV3b2JqLT5zdGF0 aWNfbGluawotIAk9IFhPQk5FVyAoJm9iamZpbGUtPm9iamZpbGVfb2JzdGFjaywgc3RydWN0IGR5 bmFtaWNfcHJvcCk7Ci0gICAgICAgYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3Us IG5ld29iai0+c3RhdGljX2xpbmssCi0tCQkJICAgIGN1LT5hZGRyX3R5cGUgKCkpOwotKwkJCSAg ICBjdS0+YWRkcl90eXBlICgpLCBOVUxMLCAwKTsKLSAgICAgfQotIAotICAgY3UtPmxpc3RfaW5f c2NvcGUgPSBjdS0+Z2V0X2J1aWxkZXIgKCktPmdldF9sb2NhbF9zeW1ib2xzICgpOwotQEAgLTE2 MDczLDcgKzE2MDc2LDcgQEAgcmVhZF9zdHJ1Y3R1cmVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpk aWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQotICAgICAgIGVsc2UKLSAJewotIAkgIHN0cnVjdCBk eW5hbWljX3Byb3AgcHJvcDsKLS0JICBpZiAoYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRp ZSwgY3UsICZwcm9wLCBjdS0+YWRkcl90eXBlICgpKSkKLSsJICBpZiAoYXR0cl90b19keW5hbWlj X3Byb3AgKGF0dHIsIGRpZSwgY3UsICZwcm9wLCBjdS0+YWRkcl90eXBlICgpLCBOVUxMLCAwKSkK LSAJICAgIHR5cGUtPmFkZF9keW5fcHJvcCAoRFlOX1BST1BfQllURV9TSVpFLCBwcm9wKTsKLSAg ICAgICAgICAgVFlQRV9MRU5HVEggKHR5cGUpID0gMDsKLSAJfQotQEAgLTE2NzY0LDcgKzE2NzY3 LDcgQEAgcmVhZF9hcnJheV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJm Ml9jdSAqY3UpCi0gICAgICAgYnl0ZV9zdHJpZGVfcHJvcAotIAk9IChzdHJ1Y3QgZHluYW1pY19w cm9wICopIGFsbG9jYSAoc2l6ZW9mIChzdHJ1Y3QgZHluYW1pY19wcm9wKSk7Ci0gICAgICAgc3Ry aWRlX29rID0gYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsIGJ5dGVfc3RyaWRl X3Byb3AsCi0tCQkJCQlwcm9wX3R5cGUpOwotKwkJCQkJcHJvcF90eXBlLCBOVUxMLCAwKTsKLSAg ICAgICBpZiAoIXN0cmlkZV9vaykKLSAJewotIAkgIGNvbXBsYWludCAoXygidW5hYmxlIHRvIHJl YWQgYXJyYXkgRFdfQVRfYnl0ZV9zdHJpZGUgIgotQEAgLTE3NTIyLDcgKzE3NTI1LDcgQEAgcmVh ZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1 ICpjdSkKLSAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7Ci0gICBzdHJ1Y3QgZHluYW1pY19wcm9w IHByb3A7Ci0gICBib29sIGxlbmd0aF9pc19jb25zdGFudCA9IHRydWU7Ci0tICBMT05HRVNUIGxl bmd0aDsKLSsgIFVMT05HRVNUIGxlbmd0aCA9IFVJTlRfTUFYOwotIAotICAgLyogVGhlcmUgYXJl IGEgY291cGxlIG9mIHBsYWNlcyB3aGVyZSBiaXQgc2l6ZXMgbWlnaHQgYmUgbWFkZSB1c2Ugb2YK LSAgICAgIHdoZW4gcGFyc2luZyBhIERXX1RBR19zdHJpbmdfdHlwZSwgaG93ZXZlciwgbm8gcHJv ZHVjZXIgdGhhdCB3ZSBrbm93Ci1AQCAtMTc1NDMsNiArMTc1NDYsMTAgQEAgcmVhZF90YWdfc3Ry aW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKLSAJ fQotICAgICB9Ci0gCi0rICBpbmRleF90eXBlID0gb2JqZmlsZV90eXBlIChvYmpmaWxlKS0+YnVp bHRpbl9pbnQ7Ci0rICByYW5nZV90eXBlID0gY3JlYXRlX3N0YXRpY19yYW5nZV90eXBlIChOVUxM LCBpbmRleF90eXBlLCAxLCBsZW5ndGgpOwotKwotKyAgLyogSWYgRFdfQVRfc3RyaW5nX2xlbmd0 aCBpcyBkZWZpbmVkLCB0aGUgbGVuZ3RoIGlzIHN0b3JlZCBpbiBtZW1vcnkuICAqLwotICAgYXR0 ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX3N0cmluZ19sZW5ndGgsIGN1KTsKLSAgIGlmIChh dHRyICE9IG51bGxwdHIgJiYgIWF0dHItPmZvcm1faXNfY29uc3RhbnQgKCkpCi0gICAgIHsKLUBA IC0xNzU2OSwxMyArMTc1NzYsNjggQEAgcmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVf aW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKLSAJfQotIAotICAgICAgIC8qIENvbnZl cnQgdGhlIGF0dHJpYnV0ZSBpbnRvIGEgZHluYW1pYyBwcm9wZXJ0eS4gICovCi0tICAgICAgaWYg KCFhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnByb3AsIHByb3BfdHlwZSkp Ci0rICAgICAgaWYgKCFhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnByb3As IHByb3BfdHlwZSwgTlVMTCwgMCkpCi0gCWxlbmd0aCA9IDE7Ci0gICAgICAgZWxzZQotIAlsZW5n dGhfaXNfY29uc3RhbnQgPSBmYWxzZTsKLSAgICAgfQotICAgZWxzZSBpZiAoYXR0ciAhPSBudWxs cHRyKQotICAgICB7Ci0rICAgICAgaWYgKGF0dHItPmZvcm1faXNfYmxvY2sgKCkpCi0rCXsKLSsJ ICBzdHJ1Y3QgYXR0cmlidXRlICpieXRlX3NpemUsICpiaXRfc2l6ZTsKLSsJICBzdHJ1Y3QgZHlu YW1pY19wcm9wIGhpZ2g7Ci0rCi0rCSAgYnl0ZV9zaXplID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdf QVRfYnl0ZV9zaXplLCBjdSk7Ci0rCSAgYml0X3NpemUgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19B VF9iaXRfc2l6ZSwgY3UpOwotKwotKwkgIC8qIERXX0FUX2J5dGVfc2l6ZSBzaG91bGQgbmV2ZXIg b2NjdXIgaW4gY29tYmluYXRpb24gd2l0aAotKwkgICAgIERXX0FUX2JpdF9zaXplLiAgKi8KLSsJ ICBpZiAoYnl0ZV9zaXplICE9IE5VTEwgJiYgYml0X3NpemUgIT0gTlVMTCkKLSsJICAgIGNvbXBs YWludCAoXygiRFdfQVRfYnl0ZV9zaXplIEFORCAiCi0rCQkJICJEV19BVF9iaXRfc2l6ZSBmb3Vu ZCB0b2dldGhlciBhdCB0aGUgc2FtZSB0aW1lLiIpKTsKLSsKLSsJICAvKiBJZiBEV19BVF9zdHJp bmdfbGVuZ3RoIEFORCBEV19BVF9ieXRlX3NpemUgZXhpc3QgdG9nZXRoZXIsCi0rCSAgICAgRFdf QVRfYnl0ZV9zaXplIGRlc2NyaWJlcyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgc2hvdWxkIGJl IHJlYWQKLSsJICAgICBmcm9tIHRoZSBsZW5ndGggbWVtb3J5IGxvY2F0aW9uLiAgKi8KLSsJICBp ZiAoYnl0ZV9zaXplICE9IE5VTEwpCi0rCSAgICB7Ci0rCSAgICAgIC8qIEJ1aWxkIG5ldyBkd2Fy ZjJfbG9jZXhwcl9iYXRvbiBzdHJ1Y3R1cmUgd2l0aCBhZGRpdGlvbnMgdG8gdGhlCi0rCQkgZGF0 YSBhdHRyaWJ1dGUsIHRvIHJlZmxlY3QgRFdBUkYgc3BlY2lhbGl0aWVzIHRvIGdldCBhZGRyZXNz Ci0rCQkgc2l6ZXMuICAqLwotKwkgICAgICBjb25zdCBnZGJfYnl0ZSBhcHBlbmRfb3BzW10gPQot KwkJewotKwkJLyogRFdfT1BfZGVyZWZfc2l6ZTogc2l6ZSBvZiBhbiBhZGRyZXNzIG9uIHRoZSB0 YXJnZXQgbWFjaGluZQotKwkJICAgKGJ5dGVzKSwgd2hlcmUgdGhlIHNpemUgd2lsbCBiZSBzcGVj aWZpZWQgYnkgdGhlIG5leHQKLSsJCSAgIG9wZXJhbmQuICAqLwotKwkJRFdfT1BfZGVyZWZfc2l6 ZSwKLSsJCS8qIE9wZXJhbmQgZm9yIERXX09QX2RlcmVmX3NpemUuICAqLwotKwkJKGdkYl9ieXRl KSBEV19VTlNORChieXRlX3NpemUpIH07Ci0rCi0rCSAgICAgIGlmICghYXR0cl90b19keW5hbWlj X3Byb3AgKGF0dHIsIGRpZSwgY3UsICZoaWdoLCBpbmRleF90eXBlLAotKwkJCQkJIGFwcGVuZF9v cHMsIEFSUkFZX1NJWkUoYXBwZW5kX29wcykpKQotKwkJY29tcGxhaW50IChfKCJDb3VsZCBub3Qg cGFyc2UgRFdfQVRfYnl0ZV9zaXplIikpOwotKwkgICAgfQotKwkgIGVsc2UgaWYgKGJpdF9zaXpl ICE9IE5VTEwpCi0rCSAgICBjb21wbGFpbnQgKF8oIkRXX0FUX3N0cmluZ19sZW5ndGggQU5EICIK LSsJCQkgIkRXX0FUX2JpdF9zaXplIGZvdW5kIGJ1dCBub3Qgc3VwcG9ydGVkIHlldC4iKSk7Ci0r CSAgLyogSWYgRFdfQVRfc3RyaW5nX2xlbmd0aCBXSVRIT1VUIERXX0FUX2J5dGVfc2l6ZSBleGlz dCwgdGhlIGRlZmF1bHQKLSsJICAgICBpcyB0aGUgYWRkcmVzcyBzaXplIG9mIHRoZSB0YXJnZXQg bWFjaGluZS4gICovCi0rCSAgZWxzZQotKwkgICAgewotKwkgICAgICBjb25zdCBnZGJfYnl0ZSBh cHBlbmRfb3BzW10gPQotKwkJeyBEV19PUF9kZXJlZiB9OwotKwotKwkgICAgICBpZiAoIWF0dHJf dG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAmaGlnaCwgaW5kZXhfdHlwZSwKLSsJCQkJ CSBhcHBlbmRfb3BzLCBBUlJBWV9TSVpFKGFwcGVuZF9vcHMpKSkKLSsJCWNvbXBsYWludCAoXygi Q291bGQgbm90IHBhcnNlIERXX0FUX3N0cmluZ19sZW5ndGgiKSk7Ci0rCSAgICB9Ci0rCi0rCSAg cmFuZ2VfdHlwZS0+Ym91bmRzICgpLT5oaWdoID0gaGlnaDsKLSsJfQotKyAgICAgIGVsc2UKLSsJ cmFuZ2VfdHlwZS0+Ym91bmRzICgpLT5oaWdoLnNldF9jb25zdF92YWwgKERXX1VOU05EKGF0dHIp KTsKLSsKLSAgICAgICAvKiBUaGlzIERXX0FUX3N0cmluZ19sZW5ndGgganVzdCBjb250YWlucyB0 aGUgbGVuZ3RoIHdpdGggbm8KLSAJIGluZGlyZWN0aW9uLiAgVGhlcmUncyBubyBuZWVkIHRvIGNy ZWF0ZSBhIGR5bmFtaWMgcHJvcGVydHkgaW4gdGhpcwotIAkgY2FzZS4gIFBhc3MgMCBmb3IgdGhl IGRlZmF1bHQgdmFsdWUgYXMgd2Uga25vdyBpdCB3aWxsIG5vdCBiZQotQEAgLTE3NTg5LDYgKzE3 NjUxLDE0IEBAIHJlYWRfdGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3Ry dWN0IGR3YXJmMl9jdSAqY3UpCi0gICAgIH0KLSAgIGVsc2UKLSAgICAgewotKyAgICAgIC8qIENo ZWNrIGZvciB0aGUgRFdfQVRfYnl0ZV9zaXplIGF0dHJpYnV0ZSwgd2hpY2ggcmVwcmVzZW50cyB0 aGUgbGVuZ3RoCi0rCSBpbiB0aGlzIGNhc2UuICAqLwotKyAgICAgIGF0dHIgPSBkd2FyZjJfYXR0 ciAoZGllLCBEV19BVF9ieXRlX3NpemUsIGN1KTsKLSsgICAgICBpZiAoYXR0cikKLSsJcmFuZ2Vf dHlwZS0+Ym91bmRzICgpLT5oaWdoLnNldF9jb25zdF92YWwgKERXX1VOU05EKGF0dHIpKTsKLSsg ICAgICBlbHNlCi0rCXJhbmdlX3R5cGUtPmJvdW5kcyAoKS0+aGlnaC5zZXRfY29uc3RfdmFsICgx KTsKLSsKLSAgICAgICAvKiBVc2UgMSBhcyBhIGZhbGxiYWNrIGxlbmd0aCBpZiB3ZSBoYXZlIG5v dGhpbmcgZWxzZS4gICovCi0gICAgICAgbGVuZ3RoID0gMTsKLSAgICAgfQotQEAgLTE4MDc4LDcg KzE4MTQ4LDggQEAgcmVhZF9iYXNlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3Qg ZHdhcmYyX2N1ICpjdSkKLSBzdGF0aWMgaW50Ci0gYXR0cl90b19keW5hbWljX3Byb3AgKGNvbnN0 IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCBkaWVfaW5mbyAqZGllLAotIAkJICAgICAg c3RydWN0IGR3YXJmMl9jdSAqY3UsIHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCi0tCQkgICAg ICBzdHJ1Y3QgdHlwZSAqZGVmYXVsdF90eXBlKQotKwkJICAgICAgc3RydWN0IHR5cGUgKmRlZmF1 bHRfdHlwZSwKLSsJCSAgICAgIGNvbnN0IGdkYl9ieXRlICphZGRpdGlvbmFsX2RhdGEsIGludCBh ZGRpdGlvbmFsX2RhdGFfc2l6ZSkKLSB7Ci0gICBzdHJ1Y3QgZHdhcmYyX3Byb3BlcnR5X2JhdG9u ICpiYXRvbjsKLSAgIGR3YXJmMl9wZXJfb2JqZmlsZSAqcGVyX29iamZpbGUgPSBjdS0+cGVyX29i amZpbGU7Ci1AQCAtMTgxMDgsNiArMTgxNzksMjYgQEAgYXR0cl90b19keW5hbWljX3Byb3AgKGNv bnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCBkaWVfaW5mbyAqZGllLAotIAkgIGJy ZWFrOwotIAl9Ci0gCi0rICAgICAgaWYgKGFkZGl0aW9uYWxfZGF0YSAhPSBOVUxMICYmIGFkZGl0 aW9uYWxfZGF0YV9zaXplID4gMCkKLSsJewotKwkgIGdkYl9ieXRlICpkYXRhOwotKwotKwkgIGRh dGEgPSAoZ2RiX2J5dGUgKikgb2JzdGFja19hbGxvYygKLSsJICAgICAgJmN1LT5wZXJfb2JqZmls ZS0+b2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLAotKwkgICAgICBEV19CTE9DSyAoYXR0ciktPnNp emUgKyBhZGRpdGlvbmFsX2RhdGFfc2l6ZSk7Ci0rCSAgbWVtY3B5IChkYXRhLCBEV19CTE9DSyAo YXR0ciktPmRhdGEsIERXX0JMT0NLIChhdHRyKS0+c2l6ZSk7Ci0rCSAgbWVtY3B5IChkYXRhICsg RFdfQkxPQ0sgKGF0dHIpLT5zaXplLCBhZGRpdGlvbmFsX2RhdGEsCi0rCQkgIGFkZGl0aW9uYWxf ZGF0YV9zaXplKTsKLSsKLSsJICBiYXRvbi0+bG9jZXhwci5kYXRhID0gZGF0YTsKLSsJICBiYXRv bi0+bG9jZXhwci5zaXplID0gRFdfQkxPQ0sgKGF0dHIpLT5zaXplICsgYWRkaXRpb25hbF9kYXRh X3NpemU7Ci0rCX0KLSsgICAgICBlbHNlCi0rCXsKLSsJICBiYXRvbi0+bG9jZXhwci5kYXRhID0g RFdfQkxPQ0sgKGF0dHIpLT5kYXRhOwotKwkgIGJhdG9uLT5sb2NleHByLnNpemUgPSBEV19CTE9D SyAoYXR0ciktPnNpemU7Ci0rCX0KLSsKLSAgICAgICBwcm9wLT5zZXRfbG9jZXhwciAoYmF0b24p OwotICAgICAgIGdkYl9hc3NlcnQgKHByb3AtPmJhdG9uICgpICE9IE5VTEwpOwotICAgICB9Ci1A QCAtMTgxNDIsMTEgKzE4MjMzLDMxIEBAIGF0dHJfdG9fZHluYW1pY19wcm9wIChjb25zdCBzdHJ1 Y3QgYXR0cmlidXRlICphdHRyLCBzdHJ1Y3QgZGllX2luZm8gKmRpZSwKLSAJCWJhdG9uLT5wcm9w ZXJ0eV90eXBlID0gZGllX3R5cGUgKHRhcmdldF9kaWUsIHRhcmdldF9jdSk7Ci0gCQliYXRvbi0+ bG9jZXhwci5wZXJfY3UgPSBjdS0+cGVyX2N1OwotIAkJYmF0b24tPmxvY2V4cHIucGVyX29iamZp bGUgPSBwZXJfb2JqZmlsZTsKLS0JCWJhdG9uLT5sb2NleHByLnNpemUgPSBEV19CTE9DSyAodGFy Z2V0X2F0dHIpLT5zaXplOwotLQkJYmF0b24tPmxvY2V4cHIuZGF0YSA9IERXX0JMT0NLICh0YXJn ZXRfYXR0ciktPmRhdGE7Ci0gCQliYXRvbi0+bG9jZXhwci5pc19yZWZlcmVuY2UgPSB0cnVlOwot KwotKwkJaWYgKGFkZGl0aW9uYWxfZGF0YSAhPSBOVUxMICYmIGFkZGl0aW9uYWxfZGF0YV9zaXpl ID4gMCkKLSsJCSAgewotKwkJICAgIGdkYl9ieXRlICpkYXRhOwotKwotKwkJICAgIGRhdGEgPSAo Z2RiX2J5dGUgKikgb2JzdGFja19hbGxvYyAoJmN1LT5wZXJfb2JqZmlsZS0+b2JqZmlsZS0+b2Jq ZmlsZV9vYnN0YWNrLAotKwkJCSAgICBEV19CTE9DSyAodGFyZ2V0X2F0dHIpLT5zaXplICsgYWRk aXRpb25hbF9kYXRhX3NpemUpOwotKwkJICAgIG1lbWNweSAoZGF0YSwgRFdfQkxPQ0sgKHRhcmdl dF9hdHRyKS0+ZGF0YSwKLSsJCQkgICAgRFdfQkxPQ0sgKHRhcmdldF9hdHRyKS0+c2l6ZSk7Ci0r CQkgICAgbWVtY3B5IChkYXRhICsgRFdfQkxPQ0sgKHRhcmdldF9hdHRyKS0+c2l6ZSwKLSsJCQkg ICAgYWRkaXRpb25hbF9kYXRhLCBhZGRpdGlvbmFsX2RhdGFfc2l6ZSk7Ci0rCi0rCQkgICAgYmF0 b24tPmxvY2V4cHIuZGF0YSA9IGRhdGE7Ci0rCQkgICAgYmF0b24tPmxvY2V4cHIuc2l6ZSA9IChE V19CTE9DSyAodGFyZ2V0X2F0dHIpLT5zaXplCi0rCQkJCQkgICArIGFkZGl0aW9uYWxfZGF0YV9z aXplKTsKLSsJCSAgfQotKwkJZWxzZQotKwkJICB7Ci0rCQkgICAgYmF0b24tPmxvY2V4cHIuZGF0 YSA9IERXX0JMT0NLICh0YXJnZXRfYXR0ciktPmRhdGE7Ci0rCQkgICAgYmF0b24tPmxvY2V4cHIu c2l6ZSA9IERXX0JMT0NLICh0YXJnZXRfYXR0ciktPnNpemU7Ci0rCQkgIH0KLSsKLSAJCXByb3At PnNldF9sb2NleHByIChiYXRvbik7Ci0tCQlnZGJfYXNzZXJ0IChwcm9wLT5iYXRvbiAoKSAhPSBO VUxMKTsKLSsJCWdkYl9hc3NlcnQgKHByb3AtPmJhdG9uKCkgIT0gTlVMTCk7Ci0gCSAgICAgIH0K LSAJICAgIGVsc2UKLSAJICAgICAgewotQEAgLTE4MzA4LDggKzE4NDE5LDggQEAgcmVhZF9zdWJy YW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCi0g ICAgIH0KLSAKLSAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9sb3dlcl9ib3VuZCwg Y3UpOwotLSAgaWYgKGF0dHIgIT0gbnVsbHB0cikKLS0gICAgYXR0cl90b19keW5hbWljX3Byb3Ag KGF0dHIsIGRpZSwgY3UsICZsb3csIGJhc2VfdHlwZSk7Ci0rICBpZiAoYXR0cikKLSsgICAgYXR0 cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZsb3csIGJhc2VfdHlwZSwgTlVMTCwg MCk7Ci0gICBlbHNlIGlmICghbG93X2RlZmF1bHRfaXNfdmFsaWQpCi0gICAgIGNvbXBsYWludCAo XygiTWlzc2luZyBEV19BVF9sb3dlcl9ib3VuZCAiCi0gCQkJCSAgICAgICItIERJRSBhdCAlcyBb aW4gbW9kdWxlICVzXSIpLAotQEAgLTE4MzE4LDEwICsxODQyOSwxMCBAQCByZWFkX3N1YnJhbmdl X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKLSAKLSAg IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHJfdWIsICphdHRyX2NvdW50OwotICAgYXR0ciA9IGF0dHJf dWIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF91cHBlcl9ib3VuZCwgY3UpOwotLSAgaWYgKCFh dHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJmhpZ2gsIGJhc2VfdHlwZSkpCi0r ICBpZiAoIWF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAmaGlnaCwgYmFzZV90 eXBlLCBOVUxMLCAwKSkKLSAgICAgewotICAgICAgIGF0dHIgPSBhdHRyX2NvdW50ID0gZHdhcmYy X2F0dHIgKGRpZSwgRFdfQVRfY291bnQsIGN1KTsKLS0gICAgICBpZiAoYXR0cl90b19keW5hbWlj X3Byb3AgKGF0dHIsIGRpZSwgY3UsICZoaWdoLCBiYXNlX3R5cGUpKQotKyAgICAgIGlmIChhdHRy X3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJmhpZ2gsIGJhc2VfdHlwZSwgTlVMTCwg MCkpCi0gCXsKLSAJICAvKiBJZiBib3VuZHMgYXJlIGNvbnN0YW50IGRvIHRoZSBmaW5hbCBjYWxj dWxhdGlvbiBoZXJlLiAgKi8KLSAJICBpZiAobG93LmtpbmQgKCkgPT0gUFJPUF9DT05TVCAmJiBo aWdoLmtpbmQgKCkgPT0gUFJPUF9DT05TVCkKLUBAIC0xODM3Miw3ICsxODQ4Myw3IEBAIHJlYWRf c3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1 KQotICAgICB7Ci0gICAgICAgc3RydWN0IHR5cGUgKnByb3BfdHlwZSA9IGN1LT5hZGRyX3NpemVk X2ludF90eXBlIChmYWxzZSk7Ci0gICAgICAgYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHJfYnl0 ZV9zdHJpZGUsIGRpZSwgY3UsICZieXRlX3N0cmlkZV9wcm9wLAotLQkJCSAgICBwcm9wX3R5cGUp OwotKwkJCSAgICBwcm9wX3R5cGUsIE5VTEwsIDApOwotICAgICB9Ci0gCi0gICBzdHJ1Y3QgZHlu YW1pY19wcm9wIGJpdF9zdHJpZGVfcHJvcDsKLUBAIC0xODM5Miw3ICsxODUwMyw3IEBAIHJlYWRf c3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1 KQotIAl7Ci0gCSAgc3RydWN0IHR5cGUgKnByb3BfdHlwZSA9IGN1LT5hZGRyX3NpemVkX2ludF90 eXBlIChmYWxzZSk7Ci0gCSAgYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHJfYml0X3N0cmlkZSwg ZGllLCBjdSwgJmJpdF9zdHJpZGVfcHJvcCwKLS0JCQkJcHJvcF90eXBlKTsKLSsJCQkJcHJvcF90 eXBlLCBOVUxMLCAwKTsKLSAJfQotICAgICB9Ci0gCi1AQCAtMjQ0MjQsNyArMjQ1MzUsNyBAQCBz ZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3Ry dWN0IGR3YXJmMl9jdSAqY3UpCi0gICBpZiAoYXR0ciAhPSBOVUxMKQotICAgICB7Ci0gICAgICAg c3RydWN0IHR5cGUgKnByb3BfdHlwZSA9IGN1LT5hZGRyX3NpemVkX2ludF90eXBlIChmYWxzZSk7 Ci0tICAgICAgaWYgKGF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAmcHJvcCwg cHJvcF90eXBlKSkKLSsgICAgICBpZiAoYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwg Y3UsICZwcm9wLCBwcm9wX3R5cGUsIE5VTEwsIDApKQotICAgICAgICAgdHlwZS0+YWRkX2R5bl9w cm9wIChEWU5fUFJPUF9BTExPQ0FURUQsIHByb3ApOwotICAgICB9Ci0gCi1AQCAtMjQ0MzMsMTMg KzI0NTQ0LDEzIEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0 eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKLSAgIGlmIChhdHRyICE9IE5VTEwpCi0g ICAgIHsKLSAgICAgICBzdHJ1Y3QgdHlwZSAqcHJvcF90eXBlID0gY3UtPmFkZHJfc2l6ZWRfaW50 X3R5cGUgKGZhbHNlKTsKLS0gICAgICBpZiAoYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRp ZSwgY3UsICZwcm9wLCBwcm9wX3R5cGUpKQotKyAgICAgIGlmIChhdHRyX3RvX2R5bmFtaWNfcHJv cCAoYXR0ciwgZGllLCBjdSwgJnByb3AsIHByb3BfdHlwZSwgTlVMTCwgMCkpCi0gICAgICAgICB0 eXBlLT5hZGRfZHluX3Byb3AgKERZTl9QUk9QX0FTU09DSUFURUQsIHByb3ApOwotICAgICB9Ci0g Ci0gICAvKiBSZWFkIERXX0FUX2RhdGFfbG9jYXRpb24gYW5kIHNldCBpbiB0eXBlLiAgKi8KLSAg IGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9kYXRhX2xvY2F0aW9uLCBjdSk7Ci0tICBp ZiAoYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZwcm9wLCBjdS0+YWRkcl90 eXBlICgpKSkKLSsgIGlmIChhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnBy b3AsIGN1LT5hZGRyX3R5cGUgKCksIE5VTEwsIDApKQotICAgICB0eXBlLT5hZGRfZHluX3Byb3Ag KERZTl9QUk9QX0RBVEFfTE9DQVRJT04sIHByb3ApOwotIAotICAgaWYgKHBlcl9vYmpmaWxlLT5k aWVfdHlwZV9oYXNoID09IE5VTEwpCi1kaWZmIC0tZ2l0IGEvZ2RiL2YtdHlwZXByaW50LmMgYi9n ZGIvZi10eXBlcHJpbnQuYwotLS0tIGEvZ2RiL2YtdHlwZXByaW50LmMKLSsrKyBiL2dkYi9mLXR5 cGVwcmludC5jCi1AQCAtMjE3LDggKzIxNyw5IEBAIGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZp eCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCi0gICAgICAgZWxz ZQotIAl7Ci0gCSAgTE9OR0VTVCBsb3dlcl9ib3VuZCA9IGY3N19nZXRfbG93ZXJib3VuZCAodHlw ZSk7Ci0rCi0gCSAgaWYgKGxvd2VyX2JvdW5kICE9IDEpCS8qIE5vdCB0aGUgZGVmYXVsdC4gICov Ci0tICAgICAgICAgICAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiJXM6IiwgcGxvbmdlc3Qg KGxvd2VyX2JvdW5kKSk7Ci0rCSAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIlczoiLCBw bG9uZ2VzdCAobG93ZXJfYm91bmQpKTsKLSAKLSAJICAvKiBNYWtlIHN1cmUgdGhhdCwgaWYgd2Ug aGF2ZSBhbiBhc3N1bWVkIHNpemUgYXJyYXksIHdlCi0gCSAgICAgICBwcmludCBvdXQgYSB3YXJu aW5nIGFuZCBwcmludCB0aGUgdXBwZXJib3VuZCBhcyAnKicuICAqLwotQEAgLTIyOSw3ICsyMzAs NyBAQCBmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1 Y3QgdWlfZmlsZSAqc3RyZWFtLAotIAkgICAgewotIAkgICAgICBMT05HRVNUIHVwcGVyX2JvdW5k ID0gZjc3X2dldF91cHBlcmJvdW5kICh0eXBlKTsKLSAKLS0gICAgICAgICAgICAgIGZwdXRzX2Zp bHRlcmVkIChwbG9uZ2VzdCAodXBwZXJfYm91bmQpLCBzdHJlYW0pOwotKwkgICAgICBmcHJpbnRm X2ZpbHRlcmVkIChzdHJlYW0sICIlcyIsIHBsb25nZXN0ICh1cHBlcl9ib3VuZCkpOwotIAkgICAg fQotIAl9Ci0gCi1kaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmMgYi9nZGIvZ2RidHlwZXMuYwot LS0tIGEvZ2RiL2dkYnR5cGVzLmMKLSsrKyBiL2dkYi9nZGJ0eXBlcy5jCi1AQCAtMTk3Nyw3ICsx OTc3LDggQEAgaXNfZHluYW1pY190eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50 IHRvcF9sZXZlbCkKLSAgIHR5cGUgPSBjaGVja190eXBlZGVmICh0eXBlKTsKLSAKLSAgIC8qIFdl IG9ubHkgd2FudCB0byByZWNvZ25pemUgcmVmZXJlbmNlcyBhdCB0aGUgb3V0ZXJtb3N0IGxldmVs LiAgKi8KLS0gIGlmICh0b3BfbGV2ZWwgJiYgdHlwZS0+Y29kZSAoKSA9PSBUWVBFX0NPREVfUkVG KQotKyAgaWYgKHRvcF9sZXZlbCAmJgotKyAgICAgICh0eXBlLT5jb2RlICgpID09IFRZUEVfQ09E RV9SRUYgfHwgdHlwZS0+IGNvZGUoKSA9PSBUWVBFX0NPREVfUFRSKSkKLSAgICAgdHlwZSA9IGNo ZWNrX3R5cGVkZWYgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpKTsKLSAKLSAgIC8qIFR5cGVzIHRo YXQgaGF2ZSBhIGR5bmFtaWMgVFlQRV9EQVRBX0xPQ0FUSU9OIGFyZSBjb25zaWRlcmVkCi1AQCAt MjAxNywxMCArMjAxOCwxMCBAQCBpc19keW5hbWljX3R5cGVfaW50ZXJuYWwgKHN0cnVjdCB0eXBl ICp0eXBlLCBpbnQgdG9wX2xldmVsKQotIAkJfHwgaXNfZHluYW1pY190eXBlX2ludGVybmFsIChU WVBFX1RBUkdFVF9UWVBFICh0eXBlKSwgMCkpOwotICAgICAgIH0KLSAKLS0gICAgY2FzZSBUWVBF X0NPREVfU1RSSU5HOgotICAgICAgIC8qIFN0cmluZ3MgYXJlIHZlcnkgbXVjaCBsaWtlIGFuIGFy cmF5IG9mIGNoYXJhY3RlcnMsIGFuZCBjYW4gYmUKLSAJIHRyZWF0ZWQgYXMgb25lIGhlcmUuICAq LwotICAgICBjYXNlIFRZUEVfQ09ERV9BUlJBWToKLSsgICAgY2FzZSBUWVBFX0NPREVfU1RSSU5H OgotICAgICAgIHsKLSAJZ2RiX2Fzc2VydCAodHlwZS0+bnVtX2ZpZWxkcyAoKSA9PSAxKTsKLSAK LUBAIC0yMTgzLDExICsyMTg0LDE1IEBAIHJlc29sdmVfZHluYW1pY19hcnJheV9vcl9zdHJpbmcg KHN0cnVjdCB0eXBlICp0eXBlLAotIAotICAgYXJ5X2RpbSA9IGNoZWNrX3R5cGVkZWYgKFRZUEVf VEFSR0VUX1RZUEUgKGVsdF90eXBlKSk7Ci0gCi0tICBpZiAoYXJ5X2RpbSAhPSBOVUxMICYmIGFy eV9kaW0tPmNvZGUgKCkgPT0gVFlQRV9DT0RFX0FSUkFZKQotKyAgaWYgKGFyeV9kaW0gIT0gTlVM TCAmJiAoYXJ5X2RpbS0+Y29kZSAoKSA9PSBUWVBFX0NPREVfQVJSQVkKLSsgICAgICB8fCBhcnlf ZGltLT5jb2RlICgpID09IFRZUEVfQ09ERV9TVFJJTkcpKQotICAgICBlbHRfdHlwZSA9IHJlc29s dmVfZHluYW1pY19hcnJheV9vcl9zdHJpbmcgKGFyeV9kaW0sIGFkZHJfc3RhY2spOwotICAgZWxz ZQotICAgICBlbHRfdHlwZSA9IFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpOwotIAotKyAgaWYgKHR5 cGUtPmNvZGUgKCkgPT0gVFlQRV9DT0RFX1NUUklORykKLSsgICAgcmV0dXJuIGNyZWF0ZV9zdHJp bmdfdHlwZSAodHlwZSwgZWx0X3R5cGUsIHJhbmdlX3R5cGUpOwotKwotICAgcHJvcCA9IHR5cGUt PmR5bl9wcm9wIChEWU5fUFJPUF9CWVRFX1NUUklERSk7Ci0gICBpZiAocHJvcCAhPSBOVUxMKQot ICAgICB7Ci1AQCAtMjUzMyw2ICsyNTM4LDI1IEBAIHJlc29sdmVfZHluYW1pY19zdHJ1Y3QgKHN0 cnVjdCB0eXBlICp0eXBlLAotICAgcmV0dXJuIHJlc29sdmVkX3R5cGU7Ci0gfQotIAotKy8qIFdv cmtlciBmb3IgcG9pbnRlciB0eXBlcy4gICovCi0rCi0rc3RhdGljIHN0cnVjdCB0eXBlICoKLSty ZXNvbHZlX2R5bmFtaWNfcG9pbnRlciAoc3RydWN0IHR5cGUgKnR5cGUsCi0rCQkJIHN0cnVjdCBw cm9wZXJ0eV9hZGRyX2luZm8gKmFkZHJfc3RhY2spCi0rewotKyAgc3RydWN0IGR5bmFtaWNfcHJv cCAqcHJvcDsKLSsgIENPUkVfQUREUiB2YWx1ZTsKLSsKLSsgIHR5cGUgPSBjb3B5X3R5cGUgKHR5 cGUpOwotKwotKyAgLyogUmVzb2x2ZSBhc3NvY2lhdGVkIHByb3BlcnR5LiAgKi8KLSsgIHByb3Ag PSBUWVBFX0FTU09DSUFURURfUFJPUCAodHlwZSk7Ci0rICBpZiAocHJvcCAhPSBOVUxMICYmIGR3 YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAocHJvcCwgTlVMTCwgYWRkcl9zdGFjaywgJnZhbHVlKSkK LSsgICAgcHJvcC0+c2V0X2NvbnN0X3ZhbCAodmFsdWUpOwotKwotKyAgcmV0dXJuIHR5cGU7Ci0r fQotKwotIC8qIFdvcmtlciBmb3IgcmVzb2x2ZWRfZHluYW1pY190eXBlLiAgKi8KLSAKLSBzdGF0 aWMgc3RydWN0IHR5cGUgKgotQEAgLTI1OTQsNiArMjYxOCw5IEBAIHJlc29sdmVfZHluYW1pY190 eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAJY2FzZSBUWVBFX0NPREVfQVJSQVk6 Ci0gCSAgcmVzb2x2ZWRfdHlwZSA9IHJlc29sdmVfZHluYW1pY19hcnJheV9vcl9zdHJpbmcgKHR5 cGUsIGFkZHJfc3RhY2spOwotIAkgIGJyZWFrOwotKyAgICAgICAgY2FzZSBUWVBFX0NPREVfUFRS OgotKyAJICByZXNvbHZlZF90eXBlID0gcmVzb2x2ZV9keW5hbWljX3BvaW50ZXIgKHR5cGUsIGFk ZHJfc3RhY2spOwotKyAJICBicmVhazsKLSAKLSAJY2FzZSBUWVBFX0NPREVfUkFOR0U6Ci0gCSAg cmVzb2x2ZWRfdHlwZSA9IHJlc29sdmVfZHluYW1pY19yYW5nZSAodHlwZSwgYWRkcl9zdGFjayk7 Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5jYyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL3ZsYS1jeHguY2MKLS0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1j eHguY2MKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguY2MKLUBAIC0xNSw2ICsx NSwxMCBAQAotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBu b3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwotIAotK2V4dGVybiAi QyIgewotKyNpbmNsdWRlIDxzdGRkZWYuaD4KLSt9Ci0rCi0gc3RydWN0IGNvbnRhaW5lcjsKLSAK LSBzdHJ1Y3QgZWxlbWVudAotQEAgLTQwLDExICs0NCwxNiBAQCBpbnQgbWFpbihpbnQgYXJnYywg Y2hhciAqKmFyZ3YpCi0gICB0eXBlZGVmIHR5cGVvZiAodmxhKSAmdmxhcmVmdHlwZWRlZjsKLSAg IHZsYXJlZnR5cGVkZWYgdmxhcmVmMiAodmxhKTsKLSAgIGNvbnRhaW5lciBjOwotKyAgdHlwZW9m ICh2bGEpICpwdHIgPSBOVUxMOwotKwotKyAgLy8gQmVmb3JlIHBvaW50ZXIgYXNzaWdubWVudAot KyAgcHRyID0gJnZsYTsKLSAKLSAgIGZvciAoaW50IGkgPSAwOyBpIDwgejsgKytpKQotICAgICB2 bGFbaV0gPSA1ICsgMiAqIGk7Ci0gCi0gICAvLyB2bGFzX2ZpbGxlZAotICAgdmxhWzBdID0gMiAq IHZsYVswXTsKLSsKLSAgIHJldHVybiB2bGFbMl07Ci0gfQotZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5l eHAKLS0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwCi0rKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5jcC92bGEtY3h4LmV4cAotQEAgLTIzLDYgKzIzLDEyIEBAIGlmICFbcnVudG9f bWFpbl0gewotICAgICByZXR1cm4gLTEKLSB9Ci0gCi0rZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRf bGluZV9udW1iZXIgIkJlZm9yZSBwb2ludGVyIGFzc2lnbm1lbnQiXQotK2dkYl9jb250aW51ZV90 b19icmVha3BvaW50ICJCZWZvcmUgcG9pbnRlciBhc3NpZ25tZW50IgotK2dkYl90ZXN0ICJwdHlw ZSBwdHIiICJpbnQgXFwoXFwqXFwpXFxcW3ZhcmlhYmxlIGxlbmd0aFxcXF0iICJwdHlwZSBwdHIs IEJlZm9yZSBwb2ludGVyIGFzc2lnbm1lbnQiCi0rZ2RiX3Rlc3QgInByaW50IHB0ciIgIlxcKGlu dCBcXChcXCpcXClcXFxbdmFyaWFibGUgbGVuZ3RoXFxcXVxcKSAweDAiICJwcmludCBwdHIsIEJl Zm9yZSBwb2ludGVyIGFzc2lnbm1lbnQiCi0rZ2RiX3Rlc3QgInByaW50ICpwdHIiICJDYW5ub3Qg YWNjZXNzIG1lbW9yeSBhdCBhZGRyZXNzIDB4MCIgInByaW50ICpwdHIsIEJlZm9yZSBwb2ludGVy IGFzc2lnbm1lbnQiCi0rCi0gZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInZs YXNfZmlsbGVkIl0KLSBnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAidmxhc19maWxsZWQiCi0g Ci1AQCAtMzMsMyArMzksNiBAQCBnZGJfdGVzdCAicHJpbnQgdmxhcmVmIiAiID0gXFwoaW50IFxc KCZcXClcXFxbM1xcXF1cXCkgQCRoZXg6IFxcezUsIDcsIDlcXH0iCi0gIyBidWcgYmVpbmcgdGVz dGVkLCBpdCdzIGJldHRlciBub3QgdG8gZGVwZW5kIG9uIHRoZSBleGFjdCBzcGVsbGluZy4KLSBn ZGJfdGVzdCAicHJpbnQgdmxhcmVmMiIgIiA9IFxcKC4qXFwpIEAkaGV4OiBcXHs1LCA3LCA5XFx9 IgotIGdkYl90ZXN0ICJwcmludCBjIiAiID0gXFx7ZSA9IFxce2MgPSBAJGhleFxcfVxcfSIKLStn ZGJfdGVzdCAicHR5cGUgcHRyIiAiaW50IFxcKFxcKlxcKVxcXFszXFxcXSIKLStnZGJfdGVzdCAi cHJpbnQgcHRyIiAiXFwoaW50IFxcKFxcKlxcKVxcXFszXFxcXVxcKSAkaGV4IgotK2dkYl90ZXN0 ICJwcmludCAqcHRyIiAiID0gXFx7NSwgNywgOVxcfSIKLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v cG9pbnRlcnMuZXhwCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotLS0tIC9kZXYvbnVsbAotKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVycy5leHAKLUBAIC0wLDAgKzEsMTQzIEBA Ci0rIyBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsj IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsjIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rIwotKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rIyBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyMgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsjCi0r IyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0 cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rCi0rc3RhbmRhcmRfdGVzdGZpbGUgInBvaW50 ZXJzLmY5MCIKLStsb2FkX2xpYiBmb3J0cmFuLmV4cAotKwotK2lmIHsgW3ByZXBhcmVfZm9yX3Rl c3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAotKyAgICB7ZGVi dWcgZjkwIHF1aWV0fV0gfSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLStpZiAhW3J1bnRvX21h aW5dIHsKLSsgICAgdW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFpbiIKLSsgICAgcmV0dXJu IC0xCi0rfQotKwotKyMgRGVwZW5kaW5nIG9uIHRoZSBjb21waWxlciBiZWluZyB1c2VkLCB0aGUg dHlwZSBuYW1lcyBjYW4gYmUgcHJpbnRlZCBkaWZmZXJlbnRseS4KLStzZXQgbG9naWNhbCBbZm9y dHJhbl9sb2dpY2FsNF0KLStzZXQgcmVhbCBbZm9ydHJhbl9yZWFsNF0KLStzZXQgaW50IFtmb3J0 cmFuX2ludDRdCi0rc2V0IGNvbXBsZXggW2ZvcnRyYW5fY29tcGxleDRdCi0rCi0rCi0rZ2RiX2Jy ZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgIkJlZm9yZSBwb2ludGVyIGFzc2lnbm1lbnQi XQotK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJCZWZvcmUgcG9pbnRlciBhc3NpZ25tZW50 IgotK2dkYl90ZXN0ICJwcmludCBsb2dwIiAiPSBcXChQVFIgVE8gLT4gXFwoICRsb2dpY2FsIFxc KVxcKSAweDAiICJwcmludCBsb2dwLCBub3QgYXNzb2NpYXRlZCIKLStnZGJfdGVzdCAicHJpbnQg KmxvZ3AiICJDYW5ub3QgYWNjZXNzIG1lbW9yeSBhdCBhZGRyZXNzIDB4MCIgInByaW50ICpsb2dw LCBub3QgYXNzb2NpYXRlZCIKLStnZGJfdGVzdCAicHJpbnQgY29tcCIgIj0gXFwoUFRSIFRPIC0+ IFxcKCAkY29tcGxleCBcXClcXCkgMHgwIiAicHJpbnQgY29tcCwgbm90IGFzc29jaWF0ZWQiCi0r Z2RiX3Rlc3QgInByaW50ICpjb21wIiAiQ2Fubm90IGFjY2VzcyBtZW1vcnkgYXQgYWRkcmVzcyAw eDAiICJwcmludCAqY29tcCwgbm90IGFzc29jaWF0ZWQiCi0rZ2RiX3Rlc3QgInByaW50IGNoYXJw IiAiPSBcXChQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjEgXFwpXFwpIDB4MCIgInByaW50IGNo YXJwLCBub3QgYXNzb2NpYXRlZCIKLStnZGJfdGVzdCAicHJpbnQgKmNoYXJwIiAiQ2Fubm90IGFj Y2VzcyBtZW1vcnkgYXQgYWRkcmVzcyAweDAiICJwcmludCAqY2hhcnAsIG5vdCBhc3NvY2lhdGVk IgotK2dkYl90ZXN0ICJwcmludCBjaGFyYXAiICI9IFxcKFBUUiBUTyAtPiBcXCggY2hhcmFjdGVy XFwqMyBcXClcXCkgMHgwIiAicHJpbnQgY2hhcmFwLCBub3QgYXNzb2NpYXRlZCIKLStnZGJfdGVz dCAicHJpbnQgKmNoYXJhcCIgIkNhbm5vdCBhY2Nlc3MgbWVtb3J5IGF0IGFkZHJlc3MgMHgwIiAi cHJpbnQgKmNoYXJhcCwgbm90IGFzc29jaWF0ZWQiCi0rZ2RiX3Rlc3QgInByaW50IGludHAiICI9 IFxcKFBUUiBUTyAtPiBcXCggJGludCBcXClcXCkgMHgwIiAicHJpbnQgaW50cCwgbm90IGFzc29j aWF0ZWQiCi0rZ2RiX3Rlc3QgInByaW50ICppbnRwIiAiQ2Fubm90IGFjY2VzcyBtZW1vcnkgYXQg YWRkcmVzcyAweDAiICJwcmludCAqaW50cCwgbm90IGFzc29jaWF0ZWQiCi0rc2V0IHRlc3QgInBy aW50IGludGFwLCBub3QgYXNzb2NpYXRlZCIKLStnZGJfdGVzdF9tdWx0aXBsZSAicHJpbnQgaW50 YXAiICR0ZXN0IHsKLSsgIC1yZSAiID0gXFwoUFRSIFRPIC0+IFxcKCAkaW50IFxcKDosOlxcKVxc KVxcKSA8bm90IGFzc29jaWF0ZWQ+XHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsgICAgcGFzcyAkdGVz dAotKyAgfQotKyAgLXJlICIgPSA8bm90IGFzc29jaWF0ZWQ+XHJcbiRnZGJfcHJvbXB0ICQiIHsK LSsgICAgcGFzcyAkdGVzdAotKyAgfQotK30KLStnZGJfdGVzdCAicHJpbnQgcmVhbHAiICI9IFxc KFBUUiBUTyAtPiBcXCggJHJlYWwgXFwpXFwpIDB4MCIgInByaW50IHJlYWxwLCBub3QgYXNzb2Np YXRlZCIKLStnZGJfdGVzdCAicHJpbnQgKnJlYWxwIiAiQ2Fubm90IGFjY2VzcyBtZW1vcnkgYXQg YWRkcmVzcyAweDAiICJwcmludCAqcmVhbHAsIG5vdCBhc3NvY2lhdGVkIgotK2dkYl90ZXN0ICJw cmludCBcJG15X3ZhciA9IGludHAiICI9IFxcKFBUUiBUTyAtPiBcXCggJGludCBcXClcXCkgMHgw IgotK3NldCB0ZXN0ICJwcmludCBjeWNsaWNwMSwgbm90IGFzc29jaWF0ZWQiCi0rZ2RiX3Rlc3Rf bXVsdGlwbGUgInByaW50IGN5Y2xpY3AxIiAkdGVzdCB7Ci0rICAtcmUgIj0gXFwoIGkgPSAtP1xc ZCssIHAgPSAweDAgXFwpXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsgICAgcGFzcyAkdGVzdAotKyAg fQotKyAgLXJlICI9IFxcKCBpID0gLT9cXGQrLCBwID0gPG5vdCBhc3NvY2lhdGVkPiBcXClcclxu JGdkYl9wcm9tcHQgJCIgewotKyAgICBwYXNzICR0ZXN0Ci0rICB9Ci0rfQotK3NldCB0ZXN0ICJw cmludCBjeWNsaWNwMSVwLCBub3QgYXNzb2NpYXRlZCIKLStnZGJfdGVzdF9tdWx0aXBsZSAicHJp bnQgY3ljbGljcDElcCIgJHRlc3QgewotKyAgLXJlICI9IFxcKFBUUiBUTyAtPiBcXCggVHlwZSB0 eXBld2l0aHBvaW50ZXIgXFwpXFwpIDB4MFxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rICAgIHBhc3Mg JHRlc3QKLSsgIH0KLSsgIC1yZSAiPSBcXChQVFIgVE8gLT4gXFwoIFR5cGUgdHlwZXdpdGhwb2lu dGVyIFxcKVxcKSA8bm90IGFzc29jaWF0ZWQ+XHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsgICAgcGFz cyAkdGVzdAotKyAgfQotK30KLSsKLSsKLStnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5lX251 bWJlciAiQmVmb3JlIHZhbHVlIGFzc2lnbm1lbnQiXQotK2dkYl9jb250aW51ZV90b19icmVha3Bv aW50ICJCZWZvcmUgdmFsdWUgYXNzaWdubWVudCIKLStnZGJfdGVzdCAicHJpbnQgKih0d29wKSVp dmxhMiIgIj0gPG5vdCBhbGxvY2F0ZWQ+IgotKwotKwotK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0 X2xpbmVfbnVtYmVyICJBZnRlciB2YWx1ZSBhc3NpZ25tZW50Il0KLStnZGJfY29udGludWVfdG9f YnJlYWtwb2ludCAiQWZ0ZXIgdmFsdWUgYXNzaWdubWVudCIKLStnZGJfdGVzdCAicHJpbnQgbG9n cCIgIj0gXFwoUFRSIFRPIC0+IFxcKCAkbG9naWNhbCBcXClcXCkgJGhleFwoIDwuKj5cKT8iCi0r Z2RiX3Rlc3QgInByaW50ICpsb2dwIiAiPSBcXC5UUlVFXFwuIgotK2dkYl90ZXN0ICJwcmludCBj b21wIiAiPSBcXChQVFIgVE8gLT4gXFwoICRjb21wbGV4IFxcKVxcKSAkaGV4XCggPC4qPlwpPyIK LStnZGJfdGVzdCAicHJpbnQgKmNvbXAiICI9IFxcKDEsMlxcKSIKLStnZGJfdGVzdCAicHJpbnQg Y2hhcnAiICI9IFxcKFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqMSBcXClcXCkgJGhleFwoIDwu Kj5cKT8iCi0rZ2RiX3Rlc3QgInByaW50ICpjaGFycCIgIj0gJ2EnIgotK2dkYl90ZXN0ICJwcmlu dCBjaGFyYXAiICI9IFxcKFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqMyBcXClcXCkgJGhleFwo IDwuKj5cKT8iCi0rZ2RiX3Rlc3QgInByaW50ICpjaGFyYXAiICI9ICdhYmMnIgotK2dkYl90ZXN0 ICJwcmludCBpbnRwIiAiPSBcXChQVFIgVE8gLT4gXFwoICRpbnQgXFwpXFwpICRoZXhcKCA8Lio+ XCk/IgotK2dkYl90ZXN0ICJwcmludCAqaW50cCIgIj0gMTAiCi0rc2V0IHRlc3RfbmFtZSAicHJp bnQgaW50YXAsIGFzc29jaWF0ZWQiCi0rZ2RiX3Rlc3RfbXVsdGlwbGUgInByaW50IGludGFwIiAk dGVzdF9uYW1lIHsKLSsgIC1yZSAiPSBcXChcXCggMSwgMSwgMygsIDEpezd9XFwpIFxcKCAxKCwg MSl7OX1cXCkgXFwpXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsgICAgcGFzcyAkdGVzdF9uYW1lCi0r ICB9Ci0rICAtcmUgIj0gXFwoUFRSIFRPIC0+IFxcKCAkaW50IFxcKDEwLDJcXClcXClcXCkgJGhl eFwoIDwuKj5cKT9cclxuJGdkYl9wcm9tcHQgJCIgewotKyAgICBnZGJfdGVzdCAicHJpbnQgKmlu dGFwIiAiPSBcXChcXCggMSwgMSwgMygsIDEpezd9XFwpIFxcKCAxKCwgMSl7OX1cXCkgXFwpIgot KyAgICBwYXNzICR0ZXN0X25hbWUKLSsgIH0KLSt9Ci0rc2V0IHRlc3RfbmFtZSAicHJpbnQgaW50 dmxhcCwgYXNzb2NpYXRlZCIKLStnZGJfdGVzdF9tdWx0aXBsZSAicHJpbnQgaW50dmxhcCIgJHRl c3RfbmFtZSB7Ci0rICAtcmUgIj0gXFwoMiwgMiwgMiwgNCgsIDIpezZ9XFwpXHJcbiRnZGJfcHJv bXB0ICQiIHsKLSsgICAgcGFzcyAkdGVzdF9uYW1lCi0rICB9Ci0rICAtcmUgIj0gXFwoUFRSIFRP IC0+IFxcKCAkaW50IFxcKDEwXFwpXFwpXFwpICRoZXhcKCA8Lio+XCk/XHJcbiRnZGJfcHJvbXB0 ICQiIHsKLSsgICAgZ2RiX3Rlc3QgInByaW50ICppbnR2bGFwIiAiPSBcXCgyLCAyLCAyLCA0KCwg Mil7Nn1cXCkiCi0rICAgIHBhc3MgJHRlc3RfbmFtZQotKyAgfQotK30KLStnZGJfdGVzdCAicHJp bnQgcmVhbHAiICI9IFxcKFBUUiBUTyAtPiBcXCggJHJlYWwgXFwpXFwpICRoZXhcKCA8Lio+XCk/ IgotK2dkYl90ZXN0ICJwcmludCAqcmVhbHAiICI9IDNcXC4xNDAwMFxcZCsiCi0rZ2RiX3Rlc3Qg InByaW50IGFycmF5T2ZQdHIoMiklcCIgIj0gXFwoUFRSIFRPIC0+IFxcKCBUeXBlIHR3byBcXClc XCkgJGhleFwoIDwuKj5cKT8iCi0rZ2RiX3Rlc3QgInByaW50ICooYXJyYXlPZlB0cigyKSVwKSIg Ij0gXFwoIGl2bGExID0gXFwoMTEsIDEyLCAxM1xcKSwgaXZsYTIgPSBcXChcXCggMjExLCAyMjFc XCkgXFwoIDIxMiwgMjIyXFwpIFxcKSBcXCkiCi0rc2V0IHRlc3RfbmFtZSAicHJpbnQgYXJyYXlP ZlB0cigzKSVwIgotK2dkYl90ZXN0X211bHRpcGxlICR0ZXN0X25hbWUgJHRlc3RfbmFtZSB7Ci0r ICAtcmUgIj0gXFwoUFRSIFRPIC0+IFxcKCBUeXBlIHR3byBcXClcXCkgPG5vdCBhc3NvY2lhdGVk PlxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rICAgIHBhc3MgJHRlc3RfbmFtZQotKyAgfQotKyAgLXJl ICI9IFxcKFBUUiBUTyAtPiBcXCggVHlwZSB0d28gXFwpXFwpIDB4MFxyXG4kZ2RiX3Byb21wdCAk IiB7Ci0rICAgIHBhc3MgJHRlc3RfbmFtZQotKyAgfQotK30KLStzZXQgdGVzdF9uYW1lICJwcmlu dCAqKGFycmF5T2ZQdHIoMyklcCksIGFzc29jaWF0ZWQiCi0rZ2RiX3Rlc3RfbXVsdGlwbGUgInBy aW50ICooYXJyYXlPZlB0cigzKSVwKSIgJHRlc3RfbmFtZSB7Ci0rICAtcmUgIkNhbm5vdCBhY2Nl c3MgbWVtb3J5IGF0IGFkZHJlc3MgMHgwXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsgICAgcGFzcyAk dGVzdF9uYW1lCi0rICB9Ci0rICAtcmUgIkF0dGVtcHQgdG8gdGFrZSBjb250ZW50cyBvZiBhIG5v dCBhc3NvY2lhdGVkIHBvaW50ZXIuXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsgICAgcGFzcyAkdGVz dF9uYW1lCi0rICB9Ci0rfQotK2dkYl90ZXN0ICJwcmludCBjeWNsaWNwMSIgIj0gXFwoIGkgPSAx LCBwID0gJGhleFwoIDwuKj5cKT8gXFwpIgotK2dkYl90ZXN0ICJwcmludCBjeWNsaWNwMSVwIiAi PSBcXChQVFIgVE8gLT4gXFwoIFR5cGUgdHlwZXdpdGhwb2ludGVyIFxcKVxcKSAkaGV4XCggPC4q PlwpPyIKLStnZGJfdGVzdCAicHJpbnQgKigoaW50ZWdlciopICZpbnRhICsgMikiICI9IDMiICJw cmludCB0ZW1wb3JhcnkgcG9pbnRlciwgYXJyYXkiCi0rZ2RiX3Rlc3QgInByaW50ICooKGludGVn ZXIqKSAmaW50dmxhICsgMykiICI9IDQiICJwcmludCB0ZW1wb3JhcnkgcG9pbnRlciwgYWxsb2Nh dGVkIHZsYSIKLStnZGJfdGVzdCAicHJpbnQgXCRwYyIgIj0gXFwoUFRSIFRPIC0+IFxcKCB2b2lk IFxcKFxcKSBcXChcXCkgXFwpXFwpICRoZXggPHBvaW50ZXJzXFwrXFxkKz4iICJQcmludCBwcm9n cmFtIGNvdW50ZXIiCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2lu dGVycy5mOTAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmY5MAotLS0tIGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVycy5mOTAKLSsrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZjkwCi1AQCAtMjAsMjEgKzIwLDM0IEBAIHByb2dyYW0g cG9pbnRlcnMKLSAgICAgaW50ZWdlciwgYWxsb2NhdGFibGUgOjogaXZsYTIgKDosIDopCi0gICBl bmQgdHlwZSB0d28KLSAKLSsgIHR5cGUgOjogdHlwZVdpdGhQb2ludGVyCi0rICAgIGludGVnZXIg aQotKyAgICB0eXBlKHR5cGVXaXRoUG9pbnRlciksIHBvaW50ZXI6OiBwCi0rICBlbmQgdHlwZSB0 eXBlV2l0aFBvaW50ZXIKLSsKLSsgIHR5cGUgOjogdHdvUHRyCi0rICAgIHR5cGUgKHR3byksIHBv aW50ZXIgOjogcAotKyAgZW5kIHR5cGUgdHdvUHRyCi0rCi0gICBsb2dpY2FsLCB0YXJnZXQgOjog bG9ndgotICAgY29tcGxleCwgdGFyZ2V0IDo6IGNvbXYKLSAgIGNoYXJhY3RlciwgdGFyZ2V0IDo6 IGNoYXJ2Ci0gICBjaGFyYWN0ZXIgKGxlbj0zKSwgdGFyZ2V0IDo6IGNoYXJhCi0gICBpbnRlZ2Vy LCB0YXJnZXQgOjogaW50dgotICAgaW50ZWdlciwgdGFyZ2V0LCBkaW1lbnNpb24gKDEwLDIpIDo6 IGludGEKLS0gIHJlYWwsIHRhcmdldCA6OiByZWFsdgotLSAgdHlwZSh0d28pLCB0YXJnZXQgOjog dHdvdgotKyAgaW50ZWdlciwgdGFyZ2V0LCBhbGxvY2F0YWJsZSwgZGltZW5zaW9uICg6KSA6OiBp bnR2bGEKLSsgIHJlYWwsIHRhcmdldCAgICA6OiByZWFsdgotKyAgdHlwZSh0d28pLCB0YXJnZXQg IDo6IHR3b3YKLSsgIHR5cGUodHdvUHRyKSA6OiBhcnJheU9mUHRyICgzKQotKyAgdHlwZSh0eXBl V2l0aFBvaW50ZXIpLCB0YXJnZXQ6OiBjeWNsaWNwMSxjeWNsaWNwMgotIAotICAgbG9naWNhbCwg cG9pbnRlciA6OiBsb2dwCi0gICBjb21wbGV4LCBwb2ludGVyIDo6IGNvbXAKLS0gIGNoYXJhY3Rl ciwgcG9pbnRlciA6OiBjaGFycAotLSAgY2hhcmFjdGVyIChsZW49MyksIHBvaW50ZXIgOjogY2hh cmFwCi0rICBjaGFyYWN0ZXIsIHBvaW50ZXI6OiBjaGFycAotKyAgY2hhcmFjdGVyIChsZW49Myks IHBvaW50ZXI6OiBjaGFyYXAKLSAgIGludGVnZXIsIHBvaW50ZXIgOjogaW50cAotICAgaW50ZWdl ciwgcG9pbnRlciwgZGltZW5zaW9uICg6LDopIDo6IGludGFwCi0rICBpbnRlZ2VyLCBwb2ludGVy LCBkaW1lbnNpb24gKDopIDo6IGludHZsYXAKLSAgIHJlYWwsIHBvaW50ZXIgOjogcmVhbHAKLSAg IHR5cGUodHdvKSwgcG9pbnRlciA6OiB0d29wCi0gCi1AQCAtNDQsOCArNTcsMTQgQEAgcHJvZ3Jh bSBwb2ludGVycwotICAgbnVsbGlmeSAoY2hhcmFwKQotICAgbnVsbGlmeSAoaW50cCkKLSAgIG51 bGxpZnkgKGludGFwKQotKyAgbnVsbGlmeSAoaW50dmxhcCkKLSAgIG51bGxpZnkgKHJlYWxwKQot ICAgbnVsbGlmeSAodHdvcCkKLSsgIG51bGxpZnkgKGFycmF5T2ZQdHIoMSklcCkKLSsgIG51bGxp ZnkgKGFycmF5T2ZQdHIoMiklcCkKLSsgIG51bGxpZnkgKGFycmF5T2ZQdHIoMyklcCkKLSsgIG51 bGxpZnkgKGN5Y2xpY3AxJXApCi0rICBudWxsaWZ5IChjeWNsaWNwMiVwKQotIAotICAgbG9ncCA9 PiBsb2d2ICAgICEgQmVmb3JlIHBvaW50ZXIgYXNzaWdubWVudAotICAgY29tcCA9PiBjb212Ci1A QCAtNTMsOCArNzIsMTQgQEAgcHJvZ3JhbSBwb2ludGVycwotICAgY2hhcmFwID0+IGNoYXJhCi0g ICBpbnRwID0+IGludHYKLSAgIGludGFwID0+IGludGEKLSsgIGludHZsYXAgPT4gaW50dmxhCi0g ICByZWFscCA9PiByZWFsdgotICAgdHdvcCA9PiB0d292Ci0rICBhcnJheU9mUHRyKDIpJXAgPT4g dHdvdgotKyAgY3ljbGljcDElaSA9IDEKLSsgIGN5Y2xpY3AxJXAgPT4gY3ljbGljcDIKLSsgIGN5 Y2xpY3AyJWkgPSAyCi0rICBjeWNsaWNwMiVwID0+IGN5Y2xpY3AxCi0gCi0gICBsb2d2ID0gYXNz b2NpYXRlZChsb2dwKSAgICAgISBCZWZvcmUgdmFsdWUgYXNzaWdubWVudAotICAgY29tdiA9IGNt cGx4KDEsMikKLUBAIC02Myw2ICs4OCwxMCBAQCBwcm9ncmFtIHBvaW50ZXJzCi0gICBpbnR2ID0g MTAKLSAgIGludGEoOiw6KSA9IDEKLSAgIGludGEoMywxKSA9IDMKLSsgIGFsbG9jYXRlIChpbnR2 bGEoMTApKQotKyAgaW50dmxhKDopID0gMgotKyAgaW50dmxhKDQpID0gNAotKyAgaW50dmxhcCA9 PiBpbnR2bGEKLSAgIHJlYWx2ID0gMy4xNAotIAotICAgYWxsb2NhdGUgKHR3b3YlaXZsYTEoMykp Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAKLS0tLSBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vcHJpbnRfdHlwZS5leHAKLUBAIC0xLDUgKzEsNiBAQAotICMgQ29weXJpZ2h0IDIw MTktMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSAjCi0rCi0gIyBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQotICMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi1AQCAtODksNiArOTAsNyBAQCBnZGJf dGVzdCAicHR5cGUgdHdvcCIgXAotICAgICAgICAgICAgICAgICAiICAgICRpbnQsIGFsbG9jYXRh YmxlIDo6IGl2bGEyXFwoOiw6XFwpIiBcCi0gICAgICAgICAgICAgICAgICJFbmQgVHlwZSB0d28g XFwpIl0KLSAKLSsKLSBnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5lX251bWJlciAiQWZ0ZXIg dmFsdWUgYXNzaWdubWVudCJdCi0gZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgIkFmdGVyIHZh bHVlIGFzc2lnbm1lbnQiCi0gZ2RiX3Rlc3QgInB0eXBlIGxvZ3YiICJ0eXBlID0gJGxvZ2ljYWwi Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5leHAg Yi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmV4cAotbmV3IGZpbGUgbW9k ZSAxMDA2NDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v dmxhLXN0cmluZ3MuZXhwCi1AQCAtMCwwICsxLDEwMyBAQAotKyMgQ29weXJpZ2h0IDIwMTYgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKLSsjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMg b2YgdGhlIExpY2Vuc2UsIG9yCi0rIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgotKyMKLSsjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAotKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsjIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rIwotKyMgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsjIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LgotKwotK3N0YW5kYXJkX3Rlc3RmaWxlICIuZjkwIgotKwotK2lmIHsgW3ByZXBhcmVfZm9y X3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAotKyAgICB7 ZGVidWcgZjkwIHF1aWV0fV0gfSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLSsjIGNoZWNrIHRo YXQgYWxsIGZvcnRyYW4gc3RhbmRhcmQgZGF0YXR5cGVzIHdpbGwgYmUKLSsjIGhhbmRsZWQgY29y cmVjdGx5IHdoZW4gdXNpbmcgYXMgVkxBJ3MKLSsKLStpZiAhW3J1bnRvX21haW5dIHsKLSsgICAg dW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFpbiIKLSsgICAgcmV0dXJuIC0xCi0rfQotKwot K2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ2YXJfY2hhci1hbGxvY2F0ZWQt MSJdCi0rZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgInZhcl9jaGFyLWFsbG9jYXRlZC0xIgot K3NldCB0ZXN0ICJ3aGF0aXMgdmFyX2NoYXIgZmlyc3QgdGltZSIKLStnZGJfdGVzdF9tdWx0aXBs ZSAid2hhdGlzIHZhcl9jaGFyIiAkdGVzdCB7Ci0rICAgIC1yZSAidHlwZSA9IFBUUiBUTyAtPiBc XCggY2hhcmFjdGVyXFwqMTAgXFwpXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsJICAgIHBhc3MgJHRl c3QKLSsgICAgfQotKyAgICAtcmUgInR5cGUgPSBjaGFyYWN0ZXJcXCoxMFxyXG4kZ2RiX3Byb21w dCAkIiB7Ci0rCSAgICBwYXNzICR0ZXN0Ci0rICAgIH0KLSt9Ci0rc2V0IHRlc3QgInB0eXBlIHZh cl9jaGFyIGZpcnN0IHRpbWUiCi0rZ2RiX3Rlc3RfbXVsdGlwbGUgInB0eXBlIHZhcl9jaGFyIiAk dGVzdCB7Ci0rICAgIC1yZSAidHlwZSA9IFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqMTAgXFwp XHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsJICAgIHBhc3MgJHRlc3QKLSsgICAgfQotKyAgICAtcmUg InR5cGUgPSBjaGFyYWN0ZXJcXCoxMFxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rCSAgICBwYXNzICR0 ZXN0Ci0rICAgIH0KLSt9Ci0rCi0rCi0rZ2RiX3Rlc3QgIm5leHQiICJcXGQrLip2YXJfY2hhciA9 ICdmb28nLioiIFwKLSsgICJuZXh0IHRvIGFsbG9jYXRpb24gc3RhdHVzIG9mIHZhcl9jaGFyIgot K2dkYl90ZXN0ICJwcmludCBsIiAiID0gXFwuVFJVRVxcLiIgInByaW50IGFsbG9jYXRpb24gc3Rh dHVzIGZpcnN0IHRpbWUiCi0rCi0rCi0rZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1i ZXIgInZhcl9jaGFyLWZpbGxlZC0xIl0KLStnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAidmFy X2NoYXItZmlsbGVkLTEiCi0rc2V0IHRlc3QgInByaW50IHZhcl9jaGFyLCB2YXJfY2hhci1maWxs ZWQtMSIKLStnZGJfdGVzdF9tdWx0aXBsZSAicHJpbnQgdmFyX2NoYXIiICR0ZXN0IHsKLSsgICAg LXJlICI9IFxcKFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqMyBcXClcXCkgJGhleFxyXG4kZ2Ri X3Byb21wdCAkIiB7Ci0rICAgICAgICBnZGJfdGVzdCAicHJpbnQgKnZhcl9jaGFyIiAiPSAnZm9v JyIgInByaW50ICp2YXJfY2hhciwgdmFyX2NoYXItZmlsbGVkLTEiCi0rCSAgICBwYXNzICR0ZXN0 Ci0rICAgIH0KLSsgICAgLXJlICI9ICdmb28nXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsJICAgIHBh c3MgJHRlc3QKLSsgICAgfQotK30KLStzZXQgdGVzdCAicHR5cGUgdmFyX2NoYXIsIHZhcl9jaGFy LWZpbGxlZC0xIgotK2dkYl90ZXN0X211bHRpcGxlICJwdHlwZSB2YXJfY2hhciIgJHRlc3Qgewot KyAgICAtcmUgInR5cGUgPSBQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjMgXFwpXHJcbiRnZGJf cHJvbXB0ICQiIHsKLSsJICAgIHBhc3MgJHRlc3QKLSsgICAgfQotKyAgICAtcmUgInR5cGUgPSBj aGFyYWN0ZXJcXCozXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsJICAgIHBhc3MgJHRlc3QKLSsgICAg fQotK30KLStnZGJfdGVzdCAicHJpbnQgdmFyX2NoYXIoMSkiICIgPSAxMDIgJ2YnIiAicHJpbnQg dmFyX2NoYXIoMSkiCi0rZ2RiX3Rlc3QgInByaW50IHZhcl9jaGFyKDMpIiAiID0gMTExICdvJyIg InByaW50IHZhcl9jaGFyKDMpIgotKwotKwotK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVf bnVtYmVyICJ2YXJfY2hhci1maWxsZWQtMiJdCi0rZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQg InZhcl9jaGFyLWZpbGxlZC0yIgotK3NldCB0ZXN0ICJwcmludCB2YXJfY2hhciwgdmFyX2NoYXIt ZmlsbGVkLTIiCi0rZ2RiX3Rlc3RfbXVsdGlwbGUgInByaW50IHZhcl9jaGFyIiAkdGVzdCB7Ci0r ICAgIC1yZSAiPSBcXChQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjYgXFwpXFwpICRoZXhcclxu JGdkYl9wcm9tcHQgJCIgewotKyAgICAgICAgZ2RiX3Rlc3QgInByaW50ICp2YXJfY2hhciIgIj0g J2Zvb2JhciciICJwcmludCAqdmFyX2NoYXIsIHZhcl9jaGFyLWZpbGxlZC0yIgotKwkgICAgcGFz cyAkdGVzdAotKyAgICB9Ci0rICAgIC1yZSAiPSAnZm9vYmFyJ1xyXG4kZ2RiX3Byb21wdCAkIiB7 Ci0rCSAgICBwYXNzICR0ZXN0Ci0rICAgIH0KLSt9Ci0rc2V0IHRlc3QgInB0eXBlIHZhcl9jaGFy LCB2YXJfY2hhci1maWxsZWQtMiIKLStnZGJfdGVzdF9tdWx0aXBsZSAicHR5cGUgdmFyX2NoYXIi ICR0ZXN0IHsKLSsgICAgLXJlICJ0eXBlID0gUFRSIFRPIC0+IFxcKCBjaGFyYWN0ZXJcXCo2IFxc KVxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rCSAgICBwYXNzICR0ZXN0Ci0rICAgIH0KLSsgICAgLXJl ICJ0eXBlID0gY2hhcmFjdGVyXFwqNlxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rCSAgICBwYXNzICR0 ZXN0Ci0rICAgIH0KLSt9Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtc3RyaW5ncy5mOTAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmY5 MAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZjkwCi1AQCAtMCwwICsxLDM5IEBACi0rISBDb3B5 cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSshCi0rISBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQotKyEgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSshIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rISAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgotKyEKLSshIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyEgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSshIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSshIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rIQotKyEgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UKLSshIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LgotKwotK3Byb2dyYW0gdmxhX3N0cmluZ3MKLSsgIGNoYXJhY3Rl cihsZW49OiksIHRhcmdldCwgYWxsb2NhdGFibGUgICA6OiB2YXJfY2hhcgotKyAgY2hhcmFjdGVy KGxlbj06KSwgcG9pbnRlciAgICAgICAgICAgICAgIDo6IHZhcl9jaGFyX3AKLSsgIGxvZ2ljYWwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBsCi0rCi0rICBhbGxvY2F0ZShjaGFy YWN0ZXIobGVuPTEwKSA6OiB2YXJfY2hhcikKLSsgIGwgPSBhbGxvY2F0ZWQodmFyX2NoYXIpICAg ICAgICAgICAgICAgICAhIHZhcl9jaGFyLWFsbG9jYXRlZC0xCi0rICB2YXJfY2hhciA9ICdmb28n Ci0rICBkZWFsbG9jYXRlKHZhcl9jaGFyKSAgICAgICAgICAgICAgICAgICAgISB2YXJfY2hhci1m aWxsZWQtMQotKyAgbCA9IGFsbG9jYXRlZCh2YXJfY2hhcikgICAgICAgICAgICAgICAgICEgdmFy X2NoYXItZGVhbGxvY2F0ZWQKLSsgIGFsbG9jYXRlKGNoYXJhY3RlcihsZW49NDIpIDo6IHZhcl9j aGFyKQotKyAgbCA9IGFsbG9jYXRlZCh2YXJfY2hhcikKLSsgIHZhcl9jaGFyID0gJ2Zvb2JhcicK LSsgIHZhcl9jaGFyID0gJycgICAgICAgICAgICAgICAgICAgICAgICAgICAhIHZhcl9jaGFyLWZp bGxlZC0yCi0rICB2YXJfY2hhciA9ICdiYXInICAgICAgICAgICAgICAgICAgICAgICAgISB2YXJf Y2hhci1lbXB0eQotKyAgZGVhbGxvY2F0ZSh2YXJfY2hhcikKLSsgIGFsbG9jYXRlKGNoYXJhY3Rl cihsZW49MjEpIDo6IHZhcl9jaGFyKQotKyAgbCA9IGFsbG9jYXRlZCh2YXJfY2hhcikgICAgICAg ICAgICAgICAgICEgdmFyX2NoYXItYWxsb2NhdGVkLTMKLSsgIHZhcl9jaGFyID0gJ2pvaG5kb2Un Ci0rICB2YXJfY2hhcl9wID0+IHZhcl9jaGFyCi0rICBsID0gYXNzb2NpYXRlZCh2YXJfY2hhcl9w KSAgICAgICAgICAgICAgISB2YXJfY2hhcl9wLWFzc29jaWF0ZWQKLSsgIHZhcl9jaGFyX3AgPT4g bnVsbCgpCi0rICBsID0gYXNzb2NpYXRlZCh2YXJfY2hhcl9wKSAgICAgICAgICAgICAgISB2YXJf Y2hhcl9wLW5vdC1hc3NvY2lhdGVkCi0rZW5kIHByb2dyYW0gdmxhX3N0cmluZ3MKLWRpZmYgLS1n aXQgYS9nZGIvdHlwZXByaW50LmMgYi9nZGIvdHlwZXByaW50LmMKLS0tLSBhL2dkYi90eXBlcHJp bnQuYwotKysrIGIvZ2RiL3R5cGVwcmludC5jCi1AQCAtNTY1LDYgKzU2NSwyNCBAQCB3aGF0aXNf ZXhwIChjb25zdCBjaGFyICpleHAsIGludCBzaG93KQotICAgICAgIHByaW50Zl9maWx0ZXJlZCAo IiAqL1xuIik7ICAgIAotICAgICB9Ci0gCi0rICAvKiBSZXNvbHZlIGFueSBkeW5hbWljIHRhcmdl dCB0eXBlLCBhcyB3ZSBtaWdodCBwcmludAotKyAgICAgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBh Ym91dCB0aGUgdGFyZ2V0LgotKyAgICAgRm9yIGV4YW1wbGUsIGluIEZvcnRyYW4gYW5kIEMgd2Ug YXJlIHByaW50aW5nIHRoZSBkaW1lbnNpb24gb2YgdGhlCi0rICAgICBkeW5hbWljIGFycmF5IHRo ZSBwb2ludGVyIGlzIHBvaW50aW5nIHRvLiAgKi8KLSsgIGlmICh0eXBlLT5jb2RlICgpID09IFRZ UEVfQ09ERV9QVFIKLSsgICAgICAmJiBpc19keW5hbWljX3R5cGUgKHR5cGUpID09IDEpCi0rICAg IHsKLSsgICAgICBDT1JFX0FERFIgYWRkciA9IHZhbHVlX2FzX2FkZHJlc3MgKHZhbCk7Ci0rCi0r ICAgICAgaWYgKGFkZHIgIT0gMAotKwkgICYmIHR5cGVfbm90X2Fzc29jaWF0ZWQgKHR5cGUpID09 IDApCi0rCXsKLSsJICB0eXBlID0gY29weV90eXBlICh0eXBlKTsKLSsJICBUWVBFX1RBUkdFVF9U WVBFICh0eXBlKSA9IHJlc29sdmVfZHluYW1pY190eXBlIChUWVBFX1RBUkdFVF9UWVBFICh0eXBl KSwKLSsJCQkJCQkJICB7fSwgYWRkcik7Ci0rCX0KLSsgICAgfQotKwotICAgTEFfUFJJTlRfVFlQ RSAodHlwZSwgIiIsIGdkYl9zdGRvdXQsIHNob3csIDAsICZmbGFncyk7Ci0gICBwcmludGZfZmls dGVyZWQgKCJcbiIpOwotIH0KLWRpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMgYi9nZGIvdmFsb3Bz LmMKLS0tLSBhL2dkYi92YWxvcHMuYwotKysrIGIvZ2RiL3ZhbG9wcy5jCi1AQCAtMTU1NCw2ICsx NTU0LDE4IEBAIHZhbHVlX2luZCAoc3RydWN0IHZhbHVlICphcmcxKQotICAgICB7Ci0gICAgICAg c3RydWN0IHR5cGUgKmVuY190eXBlOwotIAotKyAgICAgIGlmICh0eXBlX25vdF9hc3NvY2lhdGVk IChiYXNlX3R5cGUpKQotKyAgICAgICAgZXJyb3IgKF8oIkF0dGVtcHQgdG8gdGFrZSBjb250ZW50 cyBvZiBhIG5vdCBhc3NvY2lhdGVkIHBvaW50ZXIuIikpOwotKwotKyAgICAgIENPUkVfQUREUiBh ZGRyID0gdmFsdWVfYXNfYWRkcmVzcyAoYXJnMSk7Ci0rCi0rICAgICAgaWYgKGFkZHIgIT0gMCAm JiBpc19keW5hbWljX3R5cGUgKGJhc2VfdHlwZSkpCi0rCXsKLSsJICBiYXNlX3R5cGUgPSBjb3B5 X3R5cGUgKGJhc2VfdHlwZSk7Ci0rCSAgVFlQRV9UQVJHRVRfVFlQRSAoYmFzZV90eXBlKSA9Ci0r CSAgICAgIHJlc29sdmVfZHluYW1pY190eXBlIChUWVBFX1RBUkdFVF9UWVBFIChiYXNlX3R5cGUp LCB7fSwgYWRkcik7Ci0rCX0KLSsKLSAgICAgICAvKiBXZSBtYXkgYmUgcG9pbnRpbmcgdG8gc29t ZXRoaW5nIGVtYmVkZGVkIGluIGEgbGFyZ2VyIG9iamVjdC4KLSAgICAgICAgICBHZXQgdGhlIHJl YWwgdHlwZSBvZiB0aGUgZW5jbG9zaW5nIG9iamVjdC4gICovCi0gICAgICAgZW5jX3R5cGUgPSBj aGVja190eXBlZGVmICh2YWx1ZV9lbmNsb3NpbmdfdHlwZSAoYXJnMSkpOwotQEAgLTE1NzAsOCAr MTU4Miw3IEBAIHZhbHVlX2luZCAoc3RydWN0IHZhbHVlICphcmcxKQotICAgICAgIGVsc2UKLSAJ ewotIAkgIC8qIFJldHJpZXZlIHRoZSBlbmNsb3Npbmcgb2JqZWN0IHBvaW50ZWQgdG8uICAqLwot LQkgIGJhc2VfYWRkciA9ICh2YWx1ZV9hc19hZGRyZXNzIChhcmcxKQotLQkJICAgICAgIC0gdmFs dWVfcG9pbnRlZF90b19vZmZzZXQgKGFyZzEpKTsKLSsJICBiYXNlX2FkZHIgPSAoYWRkciAtIHZh bHVlX3BvaW50ZWRfdG9fb2Zmc2V0IChhcmcxKSk7Ci0gCX0KLSAgICAgICBhcmcyID0gdmFsdWVf YXRfbGF6eSAoZW5jX3R5cGUsIGJhc2VfYWRkcik7Ci0gICAgICAgZW5jX3R5cGUgPSB2YWx1ZV90 eXBlIChhcmcyKTsKCmRpZmYgLS1naXQgYS9nZGItdmxhLWludGVsLXRlc3RzLnBhdGNoIGIvZ2Ri LXZsYS1pbnRlbC10ZXN0cy5wYXRjaAppbmRleCBjOGVkNDAxLi5iMmZlYmI2IDEwMDY0NAotLS0g YS9nZGItdmxhLWludGVsLXRlc3RzLnBhdGNoCisrKyBiL2dkYi12bGEtaW50ZWwtdGVzdHMucGF0 Y2gKQEAgLTE0NywxNTQgKzE0NywzIEBAIG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiArCiArICByZXQg PSAuVFJVRS4gICAgICAgICAgICAgICAgISBmdW5jMi1yZXR1cm5lZAogK2VuZCBwcm9ncmFtIHZs YV9mdW5jCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5n c29sZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzb2xkLmV4cAot bmV3IGZpbGUgbW9kZSAxMDA2NDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXN0cmluZ3NvbGQuZXhwCi1AQCAtMCwwICsxLDEwMSBAQAotKyMgQ29w eXJpZ2h0IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rIyBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rIyAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgotKyMKLSsjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsjIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsjIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rIwotKyMgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UKLSsjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LgotKwotK3N0YW5kYXJkX3Rlc3RmaWxlICIuZjkwIgotKwotK2lm IHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZpbGV9ICR7c3Jj ZmlsZX0gXAotKyAgICB7ZGVidWcgZjkwIHF1aWV0fV0gfSB7Ci0rICAgIHJldHVybiAtMQotK30K LSsKLSsjIGNoZWNrIHRoYXQgYWxsIGZvcnRyYW4gc3RhbmRhcmQgZGF0YXR5cGVzIHdpbGwgYmUK LSsjIGhhbmRsZWQgY29ycmVjdGx5IHdoZW4gdXNpbmcgYXMgVkxBJ3MKLSsKLStpZiAhW3J1bnRv IE1BSU5fX10gdGhlbiB7Ci0rICAgIHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQg TUFJTl9fIgotKyAgICBjb250aW51ZQotK30KLSsKLStnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9s aW5lX251bWJlciAidmFyX2NoYXItYWxsb2NhdGVkLTEiXQotK2dkYl9jb250aW51ZV90b19icmVh a3BvaW50ICJ2YXJfY2hhci1hbGxvY2F0ZWQtMSIKLStnZGJfdGVzdCAicHJpbnQgdmFyX2NoYXIi IFwKLSsgICIgPSBcXChQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjEwIFxcKVxcKSAke2hleH0i IFwKLSsgICJwcmludCB2YXJfY2hhciBhZnRlciBhbGxvY2F0ZWQgZmlyc3QgdGltZSIKLStnZGJf dGVzdCAid2hhdGlzIHZhcl9jaGFyIiAidHlwZSA9IFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwq MTAgXFwpIiBcCi0rICAid2hhdGlzIHZhcl9jaGFyIGZpcnN0IHRpbWUiCi0rZ2RiX3Rlc3QgInB0 eXBlIHZhcl9jaGFyIiAidHlwZSA9IFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqMTAgXFwpIiBc Ci0rICAicHR5cGUgdmFyX2NoYXIgZmlyc3QgdGltZSIKLStnZGJfdGVzdCAibmV4dCIgIlxcZCsu KnZhcl9jaGFyID0gJ2ZvbycuKiIgXAotKyAgIm5leHQgdG8gYWxsb2NhdGlvbiBzdGF0dXMgb2Yg dmFyX2NoYXIiCi0rZ2RiX3Rlc3QgInByaW50IGwiICIgPSAuVFJVRS4iICJwcmludCBhbGxvY2F0 aW9uIHN0YXR1cyBmaXJzdCB0aW1lIgotKwotK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVf bnVtYmVyICJ2YXJfY2hhci1maWxsZWQtMSJdCi0rZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQg InZhcl9jaGFyLWZpbGxlZC0xIgotK2dkYl90ZXN0ICJwcmludCB2YXJfY2hhciIgXAotKyAgIiA9 IFxcKFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqMyBcXClcXCkgJHtoZXh9IiBcCi0rICAicHJp bnQgdmFyX2NoYXIgYWZ0ZXIgZmlsbGVkIGZpcnN0IHRpbWUiCi0rZ2RiX3Rlc3QgInByaW50ICp2 YXJfY2hhciIgIiA9ICdmb28nIiBcCi0rICAicHJpbnQgKnZhcl9jaGFyIGFmdGVyIGZpbGxlZCBm aXJzdCB0aW1lIgotK2dkYl90ZXN0ICJ3aGF0aXMgdmFyX2NoYXIiICJ0eXBlID0gUFRSIFRPIC0+ IFxcKCBjaGFyYWN0ZXJcXCozIFxcKSIgXAotKyAgIndoYXRpcyB2YXJfY2hhciBhZnRlciBmaWxs ZWQgZmlyc3QgdGltZSIKLStnZGJfdGVzdCAicHR5cGUgdmFyX2NoYXIiICJ0eXBlID0gUFRSIFRP IC0+IFxcKCBjaGFyYWN0ZXJcXCozIFxcKSIgXAotKyAgInB0eXBlIHZhcl9jaGFyIGFmdGVyIGZp bGxlZCBmaXJzdCB0aW1lIgotK2dkYl90ZXN0ICJwcmludCB2YXJfY2hhcigxKSIgIiA9IDEwMiAn ZiciICJwcmludCB2YXJfY2hhcigxKSIKLStnZGJfdGVzdCAicHJpbnQgdmFyX2NoYXIoMykiICIg PSAxMTEgJ28nIiAicHJpbnQgdmFyX2NoYXIoMykiCi0rCi0rZ2RiX2JyZWFrcG9pbnQgW2dkYl9n ZXRfbGluZV9udW1iZXIgInZhcl9jaGFyLWZpbGxlZC0yIl0KLStnZGJfY29udGludWVfdG9fYnJl YWtwb2ludCAidmFyX2NoYXItZmlsbGVkLTIiCi0rZ2RiX3Rlc3QgInByaW50IHZhcl9jaGFyIiBc Ci0rICAiID0gXFwoUFRSIFRPIC0+IFxcKCBjaGFyYWN0ZXJcXCo2IFxcKVxcKSAke2hleH0iIFwK LSsgICJwcmludCB2YXJfY2hhciBhZnRlciBhbGxvY2F0ZWQgc2Vjb25kIHRpbWUiCi0rZ2RiX3Rl c3QgInByaW50ICp2YXJfY2hhciIgIiA9ICdmb29iYXInIiBcCi0rICAicHJpbnQgKnZhcl9jaGFy IGFmdGVyIGFsbG9jYXRlZCBzZWNvbmQgdGltZSIKLStnZGJfdGVzdCAid2hhdGlzIHZhcl9jaGFy IiAidHlwZSA9IFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqNiBcXCkiIFwKLSsgICJ3aGF0aXMg dmFyX2NoYXIgc2Vjb25kIHRpbWUiCi0rZ2RiX3Rlc3QgInB0eXBlIHZhcl9jaGFyIiAidHlwZSA9 IFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqNiBcXCkiIFwKLSsgICJwdHlwZSB2YXJfY2hhciBz ZWNvbmQgdGltZSIKLSsKLStnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5lX251bWJlciAidmFy X2NoYXItZW1wdHkiXQotK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2YXJfY2hhci1lbXB0 eSIKLStnZGJfdGVzdCAicHJpbnQgdmFyX2NoYXIiIFwKLSsgICIgPSBcXChQVFIgVE8gLT4gXFwo IGNoYXJhY3RlclxcKjAgXFwpXFwpICR7aGV4fSIgXAotKyAgInByaW50IHZhcl9jaGFyIGFmdGVy IHNldCBlbXB0eSIKLStnZGJfdGVzdCAicHJpbnQgKnZhcl9jaGFyIiAiID0gXCJcIiIgInByaW50 ICp2YXJfY2hhciBhZnRlciBzZXQgZW1wdHkiCi0rZ2RiX3Rlc3QgIndoYXRpcyB2YXJfY2hhciIg InR5cGUgPSBQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjAgXFwpIiBcCi0rICAid2hhdGlzIHZh cl9jaGFyIGFmdGVyIHNldCBlbXB0eSIKLStnZGJfdGVzdCAicHR5cGUgdmFyX2NoYXIiICJ0eXBl ID0gUFRSIFRPIC0+IFxcKCBjaGFyYWN0ZXJcXCowIFxcKSIgXAotKyAgInB0eXBlIHZhcl9jaGFy IGFmdGVyIHNldCBlbXB0eSIKLSsKLStnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5lX251bWJl ciAidmFyX2NoYXItYWxsb2NhdGVkLTMiXQotK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2 YXJfY2hhci1hbGxvY2F0ZWQtMyIKLStnZGJfdGVzdCAicHJpbnQgdmFyX2NoYXIiIFwKLSsgICIg PSBcXChQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjIxIFxcKVxcKSAke2hleH0iIFwKLSsgICJw cmludCB2YXJfY2hhciBhZnRlciBhbGxvY2F0ZWQgdGhpcmQgdGltZSIKLStnZGJfdGVzdCAid2hh dGlzIHZhcl9jaGFyIiAidHlwZSA9IFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqMjEgXFwpIiBc Ci0rICAid2hhdGlzIHZhcl9jaGFyIGFmdGVyIGFsbG9jYXRlZCB0aGlyZCB0aW1lIgotK2dkYl90 ZXN0ICJwdHlwZSB2YXJfY2hhciIgInR5cGUgPSBQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjIx IFxcKSIgXAotKyAgInB0eXBlIHZhcl9jaGFyIGFmdGVyIGFsbG9jYXRlZCB0aGlyZCB0aW1lIgot KwotK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ2YXJfY2hhcl9wLWFzc29j aWF0ZWQiXQotK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2YXJfY2hhcl9wLWFzc29jaWF0 ZWQiCi0rZ2RiX3Rlc3QgInByaW50IHZhcl9jaGFyX3AiIFwKLSsgICIgPSBcXChQVFIgVE8gLT4g XFwoIGNoYXJhY3RlclxcKjcgXFwpXFwpICR7aGV4fSIgXAotKyAgInByaW50IHZhcl9jaGFyX3Ag YWZ0ZXIgYXNzb2NpYXRlZCIKLStnZGJfdGVzdCAicHJpbnQgKnZhcl9jaGFyX3AiICIgPSAnam9o bmRvZSciIFwKLSsgICJwcmludCAqdmFyX2NoYXJfIGFmdGVyIGFzc29jaWF0ZWQiCi0rZ2RiX3Rl c3QgIndoYXRpcyB2YXJfY2hhcl9wIiAidHlwZSA9IFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwq NyBcXCkiIFwKLSsgICJ3aGF0aXMgdmFyX2NoYXJfcCBhZnRlciBhc3NvY2lhdGVkIgotK2dkYl90 ZXN0ICJwdHlwZSB2YXJfY2hhcl9wIiAidHlwZSA9IFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwq NyBcXCkiIFwKLSsgICJwdHlwZSB2YXJfY2hhcl9wIGFmdGVyIGFzc29jaWF0ZWQiCi1kaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5nc29sZC5mOTAgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzb2xkLmY5MAotbmV3IGZpbGUgbW9kZSAx MDA2NDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxh LXN0cmluZ3NvbGQuZjkwCi1AQCAtMCwwICsxLDQwIEBACi0rISBDb3B5cmlnaHQgMjAxNCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSshCi0rISBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyEgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKLSshIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIg b2YgdGhlIExpY2Vuc2UsIG9yCi0rISAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgotKyEKLSshIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAotKyEgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSshIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSshIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rIQotKyEgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSshIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0rISBG b3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEg MDIxMTEtMTMwNywgVVNBLgotKwotK3Byb2dyYW0gdmxhX3N0cmluZ3MKLSsgIGNoYXJhY3Rlcihs ZW49OiksIHRhcmdldCwgYWxsb2NhdGFibGUgICA6OiB2YXJfY2hhcgotKyAgY2hhcmFjdGVyKGxl bj06KSwgcG9pbnRlciAgICAgICAgICAgICAgIDo6IHZhcl9jaGFyX3AKLSsgIGxvZ2ljYWwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBsCi0rCi0rICBhbGxvY2F0ZShjaGFyYWN0 ZXIobGVuPTEwKSA6OiB2YXJfY2hhcikKLSsgIGwgPSBhbGxvY2F0ZWQodmFyX2NoYXIpICAgICAg ICAgICAgICAgICAhIHZhcl9jaGFyLWFsbG9jYXRlZC0xCi0rICB2YXJfY2hhciA9ICdmb28nCi0r ICBkZWFsbG9jYXRlKHZhcl9jaGFyKSAgICAgICAgICAgICAgICAgICAgISB2YXJfY2hhci1maWxs ZWQtMQotKyAgbCA9IGFsbG9jYXRlZCh2YXJfY2hhcikgICAgICAgICAgICAgICAgICEgdmFyX2No YXItZGVhbGxvY2F0ZWQKLSsgIGFsbG9jYXRlKGNoYXJhY3RlcihsZW49NDIpIDo6IHZhcl9jaGFy KQotKyAgbCA9IGFsbG9jYXRlZCh2YXJfY2hhcikKLSsgIHZhcl9jaGFyID0gJ2Zvb2JhcicKLSsg IHZhcl9jaGFyID0gJycgICAgICAgICAgICAgICAgICAgICAgICAgICAhIHZhcl9jaGFyLWZpbGxl ZC0yCi0rICB2YXJfY2hhciA9ICdiYXInICAgICAgICAgICAgICAgICAgICAgICAgISB2YXJfY2hh ci1lbXB0eQotKyAgZGVhbGxvY2F0ZSh2YXJfY2hhcikKLSsgIGFsbG9jYXRlKGNoYXJhY3Rlcihs ZW49MjEpIDo6IHZhcl9jaGFyKQotKyAgbCA9IGFsbG9jYXRlZCh2YXJfY2hhcikgICAgICAgICAg ICAgICAgICEgdmFyX2NoYXItYWxsb2NhdGVkLTMKLSsgIHZhcl9jaGFyID0gJ2pvaG5kb2UnCi0r ICB2YXJfY2hhcl9wID0+IHZhcl9jaGFyCi0rICBsID0gYXNzb2NpYXRlZCh2YXJfY2hhcl9wKSAg ICAgICAgICAgICAgISB2YXJfY2hhcl9wLWFzc29jaWF0ZWQKLSsgIHZhcl9jaGFyX3AgPT4gbnVs bCgpCi0rICBsID0gYXNzb2NpYXRlZCh2YXJfY2hhcl9wKSAgICAgICAgICAgICAgISB2YXJfY2hh cl9wLW5vdC1hc3NvY2lhdGVkCi0rZW5kIHByb2dyYW0gdmxhX3N0cmluZ3MKCmRpZmYgLS1naXQg YS9nZGIuc3BlYyBiL2dkYi5zcGVjCmluZGV4IGRiZGUwMTUuLjVlZjUxMWQgMTAwNjQ0Ci0tLSBh L2dkYi5zcGVjCisrKyBiL2dkYi5zcGVjCkBAIC0zNyw3ICszNyw3IEBAIFZlcnNpb246IDEwLjEK IAogIyBUaGUgcmVsZWFzZSBhbHdheXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2VydmVkIG51bWJl ciwgc3RhcnQgaXQgYXQgMS4KICMgYHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9mIGBuYW1lJyB0 byBzdGF5IGZ1bGx5IHJwbSBkZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhlIHRlc3Rpbmcu Ci1SZWxlYXNlOiAxMiV7P2Rpc3R9CitSZWxlYXNlOiAxMyV7P2Rpc3R9CiAKIExpY2Vuc2U6IEdQ THYzKyBhbmQgR1BMdjMrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMdjIrIGFuZCBHUEx2Misgd2l0 aCBleGNlcHRpb25zIGFuZCBHUEwrIGFuZCBMR1BMdjIrIGFuZCBMR1BMdjMrIGFuZCBCU0QgYW5k IFB1YmxpYyBEb21haW4gYW5kIEdGREwKICMgRG8gbm90IHByb3ZpZGUgVVJMIGZvciBzbmFwc2hv dHMgYXMgdGhlIGZpbGUgbGFzdHMgdGhlcmUgb25seSBmb3IgMiBkYXlzLgpAQCAtMTE5NSw2ICsx MTk1LDEwIEBAIGZpCiAlZW5kaWYKIAogJWNoYW5nZWxvZworKiBGcmkgTWFyICA1IDIwMjEgSmFu IEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gMTAuMS0xMworLSBEcm9w IGdkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRjaCBhcyBpdCB3YXMgc3RpbGwg cmVncmVzc2luZyB0aGUKKyAgdGVzdHN1aXRlLgorCiAqIFRodSBNYXIgIDQgMjAyMSBKYW4gS3Jh dG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4gLSAxMC4xLTEyCiAtIEZpeCBnZGIt dmxhLWludGVsLWZvcnRyYW4tdmxhLXN0cmluZ3MucGF0Y2ggdG8gbm8gbG9uZ2VyIG1vZGlmeSBj YWNoZWQKICAgaW5mZXJpb3IgdHlwZXMuCg==