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: Sergio Durigan Junior To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 8.3.50.20190412 (8.4pre). Date: Sat, 27 Jun 2026 23:59:39 GMT Message-ID: <178260477927.1.9210461159708874013.rpms-gdb-e90857f9de0f@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: e90857f9de0f9fa3219618bc601fc804f7a1f768 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogZTkwODU3ZjlkZTBmOWZhMzIxOTYxOGJjNjAxZmM4MDRmN2Ex Zjc2OAogICAgICAgICAgICBBdXRob3IgOiBTZXJnaW8gRHVyaWdhbiBKdW5pb3IgPHNlcmdpb2Rq QHJlZGhhdC5jb20+CiAgICAgICAgICAgIERhdGUgICA6IDIwMTktMDQtMTJUMTY6MzU6NTktMDQ6 MDAKICAgICAgICAgICAgU3RhdHMgIDogKzI4NC8tNzI5MyBpbiA0NCBmaWxlKHMpCiAgICAgICAg ICAgIFVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2RiL2MvZTkw ODU3ZjlkZTBmOWZhMzIxOTYxOGJjNjAxZmM4MDRmN2ExZjc2OD9icmFuY2g9Z2RiLTE3LjItcmVi YXNlLWY0NAoKICAgICAgICAgICAgTG9nOgogICAgICAgICAgICBSZWJhc2UgdG8gRlNGIEdEQiA4 LjMuNTAuMjAxOTA0MTIgKDguNHByZSkuCkFkanVzdCAnZ2RiLTYuMy1yaC10ZXN0dmVyc2lvbi0y MDA0MTIwMi5wYXRjaCcuClJlbW92ZSAnZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0 Y2gnLgpSZW1vdmUgJ2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gnLgpSZW1vdmUg J2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMW9mMjUucGF0Y2gnLgpSZW1vdmUgJ2dkYi1yaGJ6Nzk1 NDI0LWJpdHBvcy0yMm9mMjUucGF0Y2gnLgpSZW1vdmUgJ2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0y M29mMjUucGF0Y2gnLgpSZW1vdmUgJ2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUucGF0Y2gn LgpSZW1vdmUgJ2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUtdGVzdC5wYXRjaCcuClJlbW92 ZSAnZ2RiLXJoYno3OTU0MjQtYml0cG9zLWFycmF5dmlldy5wYXRjaCcuClJlbW92ZSAnZ2RiLXJo Yno3OTU0MjQtYml0cG9zLWxhenl2YWx1ZS5wYXRjaCcuClJlbW92ZSAnZ2RiLWJ6NTQxODY2LXJ3 YXRjaC1iZWZvcmUtcnVuLnBhdGNoJy4KCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5n aXRpZ25vcmUKaW5kZXggYzFkZDMxZC4uMGQ2Yjk5MCAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQor KysgYi8uZ2l0aWdub3JlCkBAIC0xLDMgKzEsMyBAQAogL2dkYi1saWJzdGRjKystdjMtcHl0aG9u LTguMS4xLTIwMTgwNjI2LnRhci54egogL3YyLjAudGFyLmd6Ci0vZ2RiLTguMy41MC4yMDE5MDMy MS50YXIueHoKKy9nZGItOC4zLjUwLjIwMTkwNDEyLnRhci54egoKZGlmZiAtLWdpdCBhL19nZGIu c3BlYy5QYXRjaC5pbmNsdWRlIGIvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUKaW5kZXggMDI1OTZi ZS4uZDNlYzE4ZSAxMDA2NDQKLS0tIGEvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUKKysrIGIvX2dk Yi5zcGVjLlBhdGNoLmluY2x1ZGUKQEAgLTE5NiwyNzMgKzE5NiwyMjQgQEAgUGF0Y2gwNDg6IGdk Yi14ODZfNjQtaTM4Ni1zeXNjYWxsLXJlc3RhcnQucGF0Y2gKICM9cHVzaCtqYW46IEl0IHJlcXVp cmVzIHNvbWUgYmV0dGVyIERXQVJGIGFubm90YXRpb25zLgogUGF0Y2gwNDk6IGdkYi1iejUzMzE3 Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCiAKLSMgRml4IHJlZ3Jlc3Npb24gYnkgcHl0aG9uIG9u IGlhNjQgZHVlIHRvIHN0YWxlIGN1cnJlbnQgZnJhbWUuCi0jPXB1c2gramFuCi1QYXRjaDA1MDog Z2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKLQogIyBXb3JrYXJvdW5kIGNjYWNo ZSBtYWtpbmcgbGluZW5vIG5vbi16ZXJvIGZvciBjb21tYW5kLWxpbmUgZGVmaW5pdGlvbnMuCiAj PWZlZG9yYXRlc3Q6IGNjYWNoZSBpcyByYXJlbHkgdXNlZCBhbmQgaXQgaXMgZXZlbiBmaXhlZCBu b3cuCi1QYXRjaDA1MTogZ2RiLWNjYWNoZS13b3JrYXJvdW5kLnBhdGNoCitQYXRjaDA1MDogZ2Ri LWNjYWNoZS13b3JrYXJvdW5kLnBhdGNoCiAKICM9cHVzaCtqYW46IE1heSBnZXQgb2Jzb2xldGVk IGJ5IFRvbSdzIHVucmVsb2NhdGVkIG9iamZpbGVzIHBhdGNoLgotUGF0Y2gwNTI6IGdkYi1hcmNo ZXItcGllLWFkZG9ucy5wYXRjaAorUGF0Y2gwNTE6IGdkYi1hcmNoZXItcGllLWFkZG9ucy5wYXRj aAogCiAjPXB1c2gramFuOiBCcmVha3BvaW50cyBkaXNhYmxpbmcgbWF0Y2hpbmcgc2hvdWxkIG5v dCBiZSBiYXNlZCBvbiBhZGRyZXNzLgotUGF0Y2gwNTM6IGdkYi1hcmNoZXItcGllLWFkZG9ucy1r ZWVwLWRpc2FibGVkLnBhdGNoCitQYXRjaDA1MjogZ2RiLWFyY2hlci1waWUtYWRkb25zLWtlZXAt ZGlzYWJsZWQucGF0Y2gKIAogIyBUZXN0Y2FzZSBmb3IgIkRvIG5vdCBtYWtlIHVwIGxpbmUgaW5m b3JtYXRpb24iIGZpeCBieSBEYW5pZWwgSmFjb2Jvd2l0ei4KICM9ZmVkb3JhdGVzdAotUGF0Y2gw NTQ6IGdkYi1saW5lbm8tbWFrZXVwLXRlc3QucGF0Y2gKK1BhdGNoMDUzOiBnZGItbGluZW5vLW1h a2V1cC10ZXN0LnBhdGNoCiAKICMgVGVzdCBwb3dlcjcgcHBjIGRpc2Fzc2VtYmx5LgogIz1mZWRv cmF0ZXN0Ci1QYXRjaDA1NTogZ2RiLXBwYy1wb3dlcjctdGVzdC5wYXRjaAotCi0jIEZpeCBpMzg2 K3g4Nl82NCByd2F0Y2grYXdhdGNoIGJlZm9yZSBydW4sIHJlZ3Jlc3Npb24gYWdhaW5zdCA2Ljgg KEJaIDU0MTg2NikuCi0jIEZpeCBpMzg2IHJ3YXRjaCthd2F0Y2ggYmVmb3JlIHJ1biAoQlogNjg4 Nzg4LCBvbiB0b3Agb2YgQlogNTQxODY2KS4KLSM9cHVzaCtqYW46IEl0IHNob3VsZCBiZSBmaXhl ZCBwcm9wZXJseSBpbnN0ZWFkLgotUGF0Y2gwNTY6IGdkYi1iejU0MTg2Ni1yd2F0Y2gtYmVmb3Jl LXJ1bi5wYXRjaAorUGF0Y2gwNTQ6IGdkYi1wcGMtcG93ZXI3LXRlc3QucGF0Y2gKIAogIyBXb3Jr YXJvdW5kIG5vbi1zdG9wIG1vcmlidW5kIGxvY2F0aW9ucyBleHBsb2l0ZWQgYnkga2VybmVsIHV0 cmFjZSAoQlogNTkwNjIzKS4KICM9cHVzaCtqYW46IEN1cnJlbnRseSBpdCBpcyBzdGlsbCBub3Qg ZnVsbHkgc2FmZS4KLVBhdGNoMDU3OiBnZGItbW9yaWJ1bmQtdXRyYWNlLXdvcmthcm91bmQucGF0 Y2gKK1BhdGNoMDU1OiBnZGItbW9yaWJ1bmQtdXRyYWNlLXdvcmthcm91bmQucGF0Y2gKIAogIyBG aXggZm9sbG93LWV4ZWMgZm9yIEMrKyBwcm9ncmFtcyAoYnVncmVwb3J0ZWQgYnkgTWFydGluIFN0 cmFuc2t5KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNTg6IGdkYi1hcmNoZXItbmV4dC1vdmVyLXRo cm93LWN4eC1leGVjLnBhdGNoCitQYXRjaDA1NjogZ2RiLWFyY2hlci1uZXh0LW92ZXItdGhyb3ct Y3h4LWV4ZWMucGF0Y2gKIAogIyBCYWNrcG9ydCBEV0FSRi00IHN1cHBvcnQgKEJaIDYwMTg4Nywg VG9tIFRyb21leSkuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDU5OiBnZGItYno2MDE4ODctZHdhcmY0 LXJoLXRlc3QucGF0Y2gKK1BhdGNoMDU3OiBnZGItYno2MDE4ODctZHdhcmY0LXJoLXRlc3QucGF0 Y2gKIAogIz1wdXNoK2phbgotUGF0Y2gwNjA6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1h cy1hcmcucGF0Y2gKK1BhdGNoMDU4OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMtYXJn LnBhdGNoCiAKICMgV29ya2Fyb3VuZCBsaWJycG0gQlogNjQzMDMxIGR1ZSB0byBpdHMgdW5leHBl Y3RlZCBleGl0KCkgY2FsbHMgKEJaIDY0Mjg3OSkuCiAjPXB1c2gramFuCi1QYXRjaDA2MTogZ2Ri LTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKK1BhdGNoMDU5 OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1saWJycG0td29ya2Fyb3VuZC5wYXRjaAogCiAj IFtkZWxheWVkLXN5bWZpbGVdIFRlc3QgYSBiYWNrdHJhY2UgcmVncmVzc2lvbiBvbiBDRklzIHdp dGhvdXQgRElFIChCWiA2MTQ2MDQpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA2MjogZ2RiLXRlc3Qt YnQtY2ZpLXdpdGhvdXQtZGllLnBhdGNoCitQYXRjaDA2MDogZ2RiLXRlc3QtYnQtY2ZpLXdpdGhv dXQtZGllLnBhdGNoCiAKICMgT3V0IG9mIG1lbW9yeSBpcyBqdXN0IGFuIGVycm9yLCBub3QgZmF0 YWwgKHVuaW5pdGlhbGl6ZWQgVkxTIHZhcnMsIEJaIDU2ODI0OCkuCiAjPXB1c2gramFuOiBJbmZl cmlvciBvYmplY3RzIHNob3VsZCBiZSByZWFkIGluIHBhcnRzLCB0aGVuIHRoaXMgcGF0Y2ggZ2V0 cyBvYnNvbGV0ZWQuCi1QYXRjaDA2MzogZ2RiLWJ6NTY4MjQ4LW9vbS1pcy1lcnJvci5wYXRjaAor UGF0Y2gwNjE6IGdkYi1iejU2ODI0OC1vb20taXMtZXJyb3IucGF0Y2gKIAogIyBWZXJpZnkgR0RC IFB5dGhvbiBidWlsdC1pbiBmdW5jdGlvbiBnZGIuc29saWJfYWRkcmVzcyBleGlzdHMgKEJaICMg NjM0MTA4KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNjQ6IGdkYi1iejYzNDEwOC1zb2xpYl9hZGRy ZXNzLnBhdGNoCitQYXRjaDA2MjogZ2RiLWJ6NjM0MTA4LXNvbGliX2FkZHJlc3MucGF0Y2gKIAog IyBOZXcgdGVzdCBnZGIuYXJjaC94ODZfNjQtcGlkMC1jb3JlLmV4cCBmb3Iga2VybmVsIFBJRCAw IGNvcmVzIChCWiA2MTE0MzUpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA2NTogZ2RiLXRlc3QtcGlk MC1jb3JlLnBhdGNoCitQYXRjaDA2MzogZ2RiLXRlc3QtcGlkMC1jb3JlLnBhdGNoCiAKICMgW2Fy Y2hlci10cm9tZXktZGVsYXllZC1zeW1maWxlXSBOZXcgdGVzdCBnZGIuZHdhcmYyL2R3Mi1hcmFu Z2VzLmV4cC4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNjY6IGdkYi10ZXN0LWR3Mi1hcmFuZ2VzLnBh dGNoCitQYXRjaDA2NDogZ2RiLXRlc3QtZHcyLWFyYW5nZXMucGF0Y2gKIAogIyBbYXJjaGVyLWtl aXRocy1leHByLWN1bXVsYXRpdmUrdXBzdHJlYW1dIEltcG9ydCBDKysgdGVzdGNhc2VzLgogIz1m ZWRvcmF0ZXN0Ci1QYXRjaDA2NzogZ2RiLXRlc3QtZXhwci1jdW11bGF0aXZlLWFyY2hlci5wYXRj aAorUGF0Y2gwNjU6IGdkYi10ZXN0LWV4cHItY3VtdWxhdGl2ZS1hcmNoZXIucGF0Y2gKIAogIyBG aXggcmVncmVzc2lvbnMgb24gQysrIG5hbWVzIHJlc29sdmluZyAoUFIgMTE3MzQsIFBSIDEyMjcz LCBLZWl0aCBTZWl0eikuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDY4OiBnZGItcGh5c25hbWUtcHIx MTczNC10ZXN0LnBhdGNoCitQYXRjaDA2NjogZ2RiLXBoeXNuYW1lLXByMTE3MzQtdGVzdC5wYXRj aAogCiAjIEZpeCByZWdyZXNzaW9ucyBvbiBDKysgbmFtZXMgcmVzb2x2aW5nIChQUiAxMTczNCwg UFIgMTIyNzMsIEtlaXRoIFNlaXR6KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNjk6IGdkYi1waHlz bmFtZS1wcjEyMjczLXRlc3QucGF0Y2gKK1BhdGNoMDY3OiBnZGItcGh5c25hbWUtcHIxMjI3My10 ZXN0LnBhdGNoCiAKICMgVGVzdCBHREIgb3Bjb2Rlcy8gZGlzYXNzZW1ibHkgb2YgSW50ZWwgSXZ5 IEJyaWRnZSBpbnN0cnVjdGlvbnMgKEJaIDY5Njg5MCkuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDcw OiBnZGItdGVzdC1pdnktYnJpZGdlLnBhdGNoCitQYXRjaDA2ODogZ2RiLXRlc3QtaXZ5LWJyaWRn ZS5wYXRjaAogCiAjIEhhY2sgZm9yIHByb3BlciBQSUUgcnVuIG9mIHRoZSB0ZXN0c3VpdGUuCiAj PWZlZG9yYXRlc3QKLVBhdGNoMDcxOiBnZGItcnVudGVzdC1waWUtb3ZlcnJpZGUucGF0Y2gKK1Bh dGNoMDY5OiBnZGItcnVudGVzdC1waWUtb3ZlcnJpZGUucGF0Y2gKIAogIyBQcmludCByZWFzb25z IGZvciBmYWlsZWQgYXR0YWNoL3NwYXduIGluY2wuIFNFTGludXggZGVueV9wdHJhY2UgKEJaIDc4 Njg3OCkuCiAjPXB1c2gramFuCi1QYXRjaDA3MjogZ2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9m NS5wYXRjaAorUGF0Y2gwNzA6IGdkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUucGF0Y2gKIAog IyBXb3JrYXJvdW5kIFBSIGxpYmMvMTQxNjYgZm9yIGluZmVyaW9yIGNhbGxzIG9mIHN0cnN0ci4K ICM9ZmVkb3JhdGVzdDogQ29tcGF0aWJpbGl0eSB3aXRoIFJIRUxzICh1bmNoZWNrZWQgd2hpY2gg b25lcykuCi1QYXRjaDA3MzogZ2RiLWdsaWJjLXN0cnN0ci13b3JrYXJvdW5kLnBhdGNoCitQYXRj aDA3MTogZ2RiLWdsaWJjLXN0cnN0ci13b3JrYXJvdW5kLnBhdGNoCiAKICMgSW5jbHVkZSB0ZXN0 Y2FzZSBmb3IgYFVuYWJsZSB0byBzZWUgYSB2YXJpYWJsZSBpbnNpZGUgYSBtb2R1bGUgKFhMRikn IChCWiA4MjM3ODkpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA3NDogZ2RiLXJoZWw1LjktdGVzdGNh c2UteGxmLXZhci1pbnNpZGUtbW9kLnBhdGNoCitQYXRjaDA3MjogZ2RiLXJoZWw1LjktdGVzdGNh c2UteGxmLXZhci1pbnNpZGUtbW9kLnBhdGNoCiAKICMgVGVzdGNhc2UgZm9yIGBTZXR0aW5nIHNv bGliLWFic29sdXRlLXByZWZpeCBicmVha3MgdkRTTycgKEJaIDgxODM0MykuCiAjPWZlZG9yYXRl c3QKLVBhdGNoMDc1OiBnZGItcmhiei04MTgzNDMtc2V0LXNvbGliLWFic29sdXRlLXByZWZpeC10 ZXN0Y2FzZS5wYXRjaAotCi0jIEZpeCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3 aG9zZSBvZmZzZXQgaXMgbGFyZ2VyIHRoYW4gMjU2TUInCi0jIChSSCBCWiA3OTU0MjQpLgotIz1w dXNoCi1QYXRjaDA3NjogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIwb2YyNS5wYXRjaAotCi0jIEZp eCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3aG9zZSBvZmZzZXQgaXMgbGFyZ2Vy IHRoYW4gMjU2TUInCi0jIChSSCBCWiA3OTU0MjQpLgotIz1wdXNoCi1QYXRjaDA3NzogZ2RiLXJo Yno3OTU0MjQtYml0cG9zLTIxb2YyNS5wYXRjaAotCi0jIEZpeCBgR0RCIGNhbm5vdCBhY2Nlc3Mg c3RydWN0IG1lbWJlciB3aG9zZSBvZmZzZXQgaXMgbGFyZ2VyIHRoYW4gMjU2TUInCi0jIChSSCBC WiA3OTU0MjQpLgotIz1wdXNoCi1QYXRjaDA3ODogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIyb2Yy NS5wYXRjaAotCi0jIEZpeCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3aG9zZSBv ZmZzZXQgaXMgbGFyZ2VyIHRoYW4gMjU2TUInCi0jIChSSCBCWiA3OTU0MjQpLgotIz1wdXNoCi1Q YXRjaDA3OTogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRjaAotCi0jIEZpeCBgR0RC IGNhbm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3aG9zZSBvZmZzZXQgaXMgbGFyZ2VyIHRoYW4g MjU2TUInCi0jIChSSCBCWiA3OTU0MjQpLgotIz1wdXNoCi1QYXRjaDA4MDogZ2RiLXJoYno3OTU0 MjQtYml0cG9zLTI1b2YyNS5wYXRjaAotCi0jIEZpeCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0 IG1lbWJlciB3aG9zZSBvZmZzZXQgaXMgbGFyZ2VyIHRoYW4gMjU2TUInCi0jIChSSCBCWiA3OTU0 MjQpLgotIz1wdXNoCi1QYXRjaDA4MTogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTI1b2YyNS10ZXN0 LnBhdGNoCi0KLSMgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9m ZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKLSMgKFJIIEJaIDc5NTQyNCkuCi0jPXB1c2gKLVBh dGNoMDgyOiBnZGItcmhiejc5NTQyNC1iaXRwb3MtbGF6eXZhbHVlLnBhdGNoCitQYXRjaDA3Mzog Z2RiLXJoYnotODE4MzQzLXNldC1zb2xpYi1hYnNvbHV0ZS1wcmVmaXgtdGVzdGNhc2UucGF0Y2gK IAogIyBJbXBvcnQgcmVncmVzc2lvbiB0ZXN0IGZvciBgZ2RiL2ZpbmR2YXIuYzo0MTc6IGludGVy bmFsLWVycm9yOgogIyByZWFkX3Zhcl92YWx1ZTogQXNzZXJ0aW9uIGBmcmFtZScgZmFpbGVkLicg KFJIIEJaIDk0NzU2NCkgZnJvbSBSSEVMIDYuNS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwODM6IGdk Yi1yaGJ6OTQ3NTY0LWZpbmR2YXItYXNzZXJ0aW9uLWZyYW1lLWZhaWxlZC10ZXN0Y2FzZS5wYXRj aAorUGF0Y2gwNzQ6IGdkYi1yaGJ6OTQ3NTY0LWZpbmR2YXItYXNzZXJ0aW9uLWZyYW1lLWZhaWxl ZC10ZXN0Y2FzZS5wYXRjaAogCiAjIEZpeCBjcmFzaCBvZiAtcmVhZG5vdyAvdXNyL2xpYi9kZWJ1 Zy91c3IvYmluL2duYXRiaW5kLmRlYnVnIChCWiAxMDY5MjExKS4KICM9cHVzaCtqYW4KLVBhdGNo MDg0OiBnZGItZ25hdC1kd2FyZi1jcmFzaC0zb2YzLnBhdGNoCitQYXRjaDA3NTogZ2RiLWduYXQt ZHdhcmYtY3Jhc2gtM29mMy5wYXRjaAogCiAjIEZpeCAnbWVtb3J5IGxlYWsgaW4gaW5mcHlfcmVh ZF9tZW1vcnkoKScgKFJIIEJaIDEwMDc2MTQpCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDg1OiBnZGIt cmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9yZWFkX21lbW9yeS10ZXN0LnBhdGNoCitQYXRjaDA3 NjogZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9tZW1vcnktdGVzdC5wYXRjaAog CiAjIEZpeCAnZ2RiIGdpdmVzIGhpZ2hseSBtaXNsZWFkaW5nIGVycm9yIHdoZW4gZGVidWdpbmZv IHBrZyBpcyBwcmVzZW50LAogIyBidXQgbm90IGNvcnJlc3BvbmRpbmcgYmluYXJ5IHBrZycgKFJI IEJaIDk4MTE1NCkuCiAjPXB1c2gramFuCi1QYXRjaDA4NjogZ2RiLTYuNi1idWlsZGlkLWxvY2F0 ZS1taXNsZWFkaW5nLXdhcm5pbmctbWlzc2luZy1kZWJ1Z2luZm8tcmhiejk4MTE1NC5wYXRjaAor UGF0Y2gwNzc6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVhZGluZy13YXJuaW5nLW1pc3Np bmctZGVidWdpbmZvLXJoYno5ODExNTQucGF0Y2gKIAogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA4Nzog Z2RiLWFyY2hlci12bGEtdGVzdHMucGF0Y2gKK1BhdGNoMDc4OiBnZGItYXJjaGVyLXZsYS10ZXN0 cy5wYXRjaAogCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDg4OiBnZGItdmxhLWludGVsLXRlc3RzLnBh dGNoCitQYXRjaDA3OTogZ2RiLXZsYS1pbnRlbC10ZXN0cy5wYXRjaAogCiAjIENvbnRpbnVlIGJh Y2t0cmFjZSBldmVuIGlmIGEgZnJhbWUgZmlsdGVyIHRocm93cyBhbiBleGNlcHRpb24gKFBoaWwg TXVsZG9vbikuCiAjPXB1c2gKLVBhdGNoMDg5OiBnZGItYnRyb2J1c3QucGF0Y2gKK1BhdGNoMDgw OiBnZGItYnRyb2J1c3QucGF0Y2gKIAogIyBEaXNwbGF5IEZvcnRyYW4gc3RyaW5ncyBpbiBiYWNr dHJhY2VzLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA5MDogZ2RiLWZvcnRyYW4tZnJhbWUtc3RyaW5n LnBhdGNoCitQYXRjaDA4MTogZ2RiLWZvcnRyYW4tZnJhbWUtc3RyaW5nLnBhdGNoCiAKICMgVGVz dGNhc2UgZm9yICdbU0FQXSBSZWN1cnNpdmUgZGxvcGVuIGNhdXNlcyBTQVAgSEFOQSBpbnN0YWxs ZXIgdG8KICMgY3Jhc2guJyAoUkggQlogMTE1NjE5MikuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDkx OiBnZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi10ZXN0LnBhdGNoCitQYXRjaDA4Mjog Z2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4tdGVzdC5wYXRjaAogCiAjIEZpeCBqaXQt cmVhZGVyLmggZm9yIG11bHRpLWxpYi4KICM9cHVzaCtqYW4KLVBhdGNoMDkyOiBnZGItaml0LXJl YWRlci1tdWx0aWxpYi5wYXRjaAorUGF0Y2gwODM6IGdkYi1qaXQtcmVhZGVyLW11bHRpbGliLnBh dGNoCiAKICMgRml4ICdgY2F0Y2ggc3lzY2FsbCcgZG9lc24ndCB3b3JrIGZvciBwYXJlbnQgYWZ0 ZXIgYGZvcmsnIGlzIGNhbGxlZCcKICMgKFBoaWxpcHBlIFdhcm9xdWllcnMsIFJIIEJaIDExNDky MDUpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA5MzogZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2Nh bGwtYWZ0ZXItZm9yay10ZXN0LnBhdGNoCitQYXRjaDA4NDogZ2RiLXJoYnoxMTQ5MjA1LWNhdGNo LXN5c2NhbGwtYWZ0ZXItZm9yay10ZXN0LnBhdGNoCiAKICMgRml4ICdiYWNrcG9ydCBHREIgNy40 IGZpeCB0byBSSEVMIDYuNiBHREInIFtPcmlnaW5hbCBTb3VyY2V3YXJlIGJ1ZwogIyBkZXNjcmlw dGlvbjogJ0MrKyAoYW5kIG9iamMpOiBJbnRlcm5hbCBlcnJvciBvbiB1bnF1YWxpZmllZCBuYW1l CiAjIHJlLXNldCcsIFBSIDExNjU3XSAoUkggQlogMTE4NjQ3NikuCiAjPWZlZG9yYXRlc3QKLVBh dGNoMDk0OiBnZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1y ZS1zZXQtdGVzdC5wYXRjaAorUGF0Y2gwODU6IGdkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJv ci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC10ZXN0LnBhdGNoCiAKICMgVGVzdCAnaW5mbyB0eXBl LXByaW50ZXJzJyBQeXRob24gZXJyb3IgKFJIIEJaIDEzNTA0MzYpLgogIz1mZWRvcmF0ZXN0Ci1Q YXRjaDA5NTogZ2RiLXJoYnoxMzUwNDM2LXR5cGUtcHJpbnRlcnMtZXJyb3IucGF0Y2gKK1BhdGNo MDg2OiBnZGItcmhiejEzNTA0MzYtdHlwZS1wcmludGVycy1lcnJvci5wYXRjaAogCiAjIEZpeCAn W3BwYzY0XSBhbmQgW3MzOTB4XSB3cm9uZyBwcm9sb2d1ZSBza2lwIG9uIC1PMiAtZyBjb2RlJyAo SmFuCiAjIEtyYXRvY2h2aWwsIFJIIEJaIDEwODQ0MDQpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA5 NjogZ2RiLXJoYnoxMDg0NDA0LXBwYzY0LXMzOTB4LXdyb25nLXByb2xvZ3VlLXNraXAtTzItZy0z b2YzLnBhdGNoCitQYXRjaDA4NzogZ2RiLXJoYnoxMDg0NDA0LXBwYzY0LXMzOTB4LXdyb25nLXBy b2xvZ3VlLXNraXAtTzItZy0zb2YzLnBhdGNoCiAKICMgTmV2ZXIga2lsbCBQSUQgb246IGdkYiBl eGVjIFBJRCAoSmFuIEtyYXRvY2h2aWwsIFJIIEJaIDEyMTk3NDcpLgogIz1wdXNoK2phbgotUGF0 Y2gwOTc6IGdkYi1iejEyMTk3NDctYXR0YWNoLWtpbGxzLnBhdGNoCitQYXRjaDA4ODogZ2RiLWJ6 MTIxOTc0Ny1hdHRhY2gta2lsbHMucGF0Y2gKIAogIyBGb3JjZSBsaWJuY3Vyc2VzdyBvdmVyIGxp Ym5jdXJzZXMgdG8gbWF0Y2ggdGhlIGluY2x1ZGVzIChSSCBCWiAxMjcwNTM0KS4KICM9cHVzaCtq YW4KLVBhdGNoMDk4OiBnZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoCitQYXRjaDA4OTogZ2Ri LWZlZG9yYS1saWJuY3Vyc2Vzdy5wYXRjaAogCiAjIFRlc3QgY2xmbHVzaG9wdCBpbnN0cnVjdGlv biBkZWNvZGUgKGZvciBSSCBCWiAxMjYyNDcxKS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwOTk6IGdk Yi1vcGNvZGVzLWNsZmx1c2hvcHQtdGVzdC5wYXRjaAorUGF0Y2gwOTA6IGdkYi1vcGNvZGVzLWNs Zmx1c2hvcHQtdGVzdC5wYXRjaAogCiAjIFtyaGVsNl0gRFRTIGJhY2t3YXJkIFB5dGhvbiBjb21w YXRpYmlsaXR5IEFQSSAoQlogMTAyMDAwNCwgUGhpbCBNdWxkb29uKS4KICM9ZmVkb3JhCi1QYXRj aDEwMDogZ2RiLWR0cy1yaGVsNi1weXRob24tY29tcGF0LnBhdGNoCitQYXRjaDA5MTogZ2RiLWR0 cy1yaGVsNi1weXRob24tY29tcGF0LnBhdGNoCiAKICMgW1NDTF0gU2tpcCBkZXByZWNhdGVkIC5n ZGJfaW5kZXggd2FybmluZyBmb3IgUmVkIEhhdCBidWlsdCBmaWxlcyAoQlogOTUzNTg1KS4KICM9 cHVzaCtqYW4KLVBhdGNoMTAxOiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gK K1BhdGNoMDkyOiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKIAogIyBXb3Jr IGFyb3VuZCByZWFkbGluZS02LjIgaW5jb21wYXRpYmlsaXR5IG5vdCBhc2tpbmcgZm9yIC0tbW9y ZS0tIChCWiA3MDExMzEpLgogIz1mZWRvcmEKLVBhdGNoMTAyOiBnZGItcmVhZGxpbmU2Mi1hc2st bW9yZS1yaC5wYXRjaAorUGF0Y2gwOTM6IGdkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNo CiAKICMgTWFrZSB0aGUgR0RCIHF1aXQgcHJvY2Vzc2luZyBub24tYWJvcnRhYmxlIHRvIGNsZWFu dXAgZXZlcnl0aGluZyBwcm9wZXJseS4KICM9ZmVkb3JhOiBJdCB3YXMgdXNlZnVsIG9ubHkgYWZ0 ZXIgZ2RiLTYuOC1hdHRhY2gtc2lnbmFsbGVkLWRldGFjaC1zdG9wcGVkLnBhdGNoIC4KLVBhdGNo MTAzOiBnZGItNi44LXF1aXQtbmV2ZXItYWJvcnRzLnBhdGNoCitQYXRjaDA5NDogZ2RiLTYuOC1x dWl0LW5ldmVyLWFib3J0cy5wYXRjaAogCiAjIFthYXJjaDY0XSBGaXggaGFyZHdhcmUgd2F0Y2hw b2ludHMgKFJIIEJaIDEyNjE1NjQpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDEwNDogZ2RiLXJoYnox MjYxNTY0LWFhcmNoNjQtaHctd2F0Y2hwb2ludC10ZXN0LnBhdGNoCitQYXRjaDA5NTogZ2RiLXJo YnoxMjYxNTY0LWFhcmNoNjQtaHctd2F0Y2hwb2ludC10ZXN0LnBhdGNoCiAKICMgQWRkIG1lc3Nh Z2VzIHN1Z2dlc3RpbmcgbW9yZSByZWNlbnQgUkhFTCBnZGJzZXJ2ZXIgKFJIIEJaIDEzMjExMTQp LgogIz1mZWRvcmEKLVBhdGNoMTA1OiBnZGItY29udGFpbmVyLXJoLXBrZy5wYXRjaAorUGF0Y2gw OTY6IGdkYi1jb250YWluZXItcmgtcGtnLnBhdGNoCiAKICMgTmV3IHRlc3QgZm9yIFB5dGhvbiAi Q2Fubm90IGxvY2F0ZSBvYmplY3QgZmlsZSBmb3IgYmxvY2siIChmb3IgUkggQlogMTMyNTc5NSku CiAjPWZlZG9yYXRlc3QKLVBhdGNoMTA2OiBnZGItcmhiejEzMjU3OTUtZnJhbWVmaWx0ZXJzLXRl c3QucGF0Y2gKK1BhdGNoMDk3OiBnZGItcmhiejEzMjU3OTUtZnJhbWVmaWx0ZXJzLXRlc3QucGF0 Y2gKIAogIyBbZHRzK2VsN10gW3g4NipdIEJ1bmRsZSBsaW51eF9wZXJmLmggZm9yIGxpYmlwdCAo UkggQlogMTI1NjUxMykuCiAjPWZlZG9yYQotUGF0Y2gxMDc6IGdkYi1saW51eF9wZXJmLWJ1bmRs ZS5wYXRjaAorUGF0Y2gwOTg6IGdkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaAogCiAjIEZpeCBn ZGItaGVhZGxlc3MgL3Vzci9iaW4vIGV4ZWN1dGFibGVzIChCWiAxMzkwMjUxKS4KICM9ZmVkb3Jh Ci1QYXRjaDEwODogZ2RiLWxpYmV4ZWMtYWRkLWluZGV4LnBhdGNoCitQYXRjaDA5OTogZ2RiLWxp YmV4ZWMtYWRkLWluZGV4LnBhdGNoCiAKICMgTmV3IHRlc3RjYXNlIGZvcjogRml4IDx0YWI+LWNv bXBsZXRpb24gY3Jhc2ggKEdhcnkgQmVuc29uLCBSSCBCWiAxMzk4Mzg3KS4KICM9ZmVkb3JhdGVz dAotUGF0Y2gxMDk6IGdkYi1yaGJ6MTM5ODM4Ny10YWItY3Jhc2gtdGVzdC5wYXRjaAorUGF0Y2gx MDA6IGdkYi1yaGJ6MTM5ODM4Ny10YWItY3Jhc2gtdGVzdC5wYXRjaAogCiAjIFt0ZXN0c3VpdGVd IEZpeCBmYWxzZSBzZWxmdGVzdC5leHAgRkFJTCBmcm9tIHN5c3RlbSByZWFkbGluZS02LjMrIChQ YXRyaWNrIFBhbGthKS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gxMTA6IGdkYi10ZXN0c3VpdGUtcmVh ZGxpbmU2My1zaWdpbnQucGF0Y2gKK1BhdGNoMTAxOiBnZGItdGVzdHN1aXRlLXJlYWRsaW5lNjMt c2lnaW50LnBhdGNoCiAKICMgUHl0aG9uIHBhdGNoZXMgb2Y6IGh0dHA6Ly9zb3VyY2V3YXJlLm9y Zy9nZGIvd2lraS9Qcm9qZWN0QXJjaGVyCiAjPXB1c2gKLVBhdGNoMTExOiBnZGItYXJjaGVyLnBh dGNoCitQYXRjaDEwMjogZ2RiLWFyY2hlci5wYXRjaAogCiAjIFJldmVydCB1cHN0cmVhbSBjb21t aXQgNDY5NDEyZGQ5Y2NjNGRlNTg3NGZkMzI5OWIxMDU4MzNmMzZiMzRjZAotUGF0Y2gxMTI6IGdk Yi12bGEtaW50ZWwtZml4LXByaW50LWNoYXItYXJyYXkucGF0Y2gKK1BhdGNoMTAzOiBnZGItdmxh LWludGVsLWZpeC1wcmludC1jaGFyLWFycmF5LnBhdGNoCiAKICMgW3MzOTB4XSBCYWNrcG9ydCBh cmNoMTIgaW5zdHJ1Y3Rpb25zIGRlY29kaW5nIChSSCBCWiAxNTUzMTA0KS4KICMgPWZlZG9yYXRl c3QKLVBhdGNoMTEzOiBnZGItcmhiejE1NTMxMDQtczM5MHgtYXJjaDEyLXRlc3QucGF0Y2gKLQot IyBUaGlzIHBhdGNoIGlzIG5lZWRlZCB0byBjb21waWxlIEdEQiBhZnRlciAtV2Vycm9yPW5hcnJv d2luZyBoYXMKLSMgYmVlbiBlbmFibGVkIGJ5IGRlZmF1bHQuCi0jIEF1dGhvcjogU2VyZ2lvIER1 cmlnYW4gSnVuaW9yLgotUGF0Y2gxMTQ6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy1hcnJheXZpZXcu cGF0Y2gKK1BhdGNoMTA0OiBnZGItcmhiejE1NTMxMDQtczM5MHgtYXJjaDEyLXRlc3QucGF0Y2gK IAoKZGlmZiAtLWdpdCBhL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRlIGIvX2dkYi5zcGVjLnBhdGNo LmluY2x1ZGUKaW5kZXggYWZjOGE3NC4uMmU1ZTI2NSAxMDA2NDQKLS0tIGEvX2dkYi5zcGVjLnBh dGNoLmluY2x1ZGUKKysrIGIvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKQEAgLTEwMiwxMyArMTAy LDMgQEAKICVwYXRjaDEwMiAtcDEKICVwYXRjaDEwMyAtcDEKICVwYXRjaDEwNCAtcDEKLSVwYXRj aDEwNSAtcDEKLSVwYXRjaDEwNiAtcDEKLSVwYXRjaDEwNyAtcDEKLSVwYXRjaDEwOCAtcDEKLSVw YXRjaDEwOSAtcDEKLSVwYXRjaDExMCAtcDEKLSVwYXRjaDExMSAtcDEKLSVwYXRjaDExMiAtcDEK LSVwYXRjaDExMyAtcDEKLSVwYXRjaDExNCAtcDEKCmRpZmYgLS1naXQgYS9fZ2l0X3Vwc3RyZWFt X2NvbW1pdCBiL19naXRfdXBzdHJlYW1fY29tbWl0CmluZGV4IDNhMDIxNWUuLmYxZDlmMDUgMTAw NjQ0Ci0tLSBhL19naXRfdXBzdHJlYW1fY29tbWl0CisrKyBiL19naXRfdXBzdHJlYW1fY29tbWl0 CkBAIC0xICsxIEBACi1jYzAwYTVkMTAwOTczNTQ5YmY1ZTQ4NDA5Mzc1Mjk2MzNmNGRlMWZhCisz ODIyNjEyZGYwNjk0Y2MwNzU5N2U1MzRmYTczYjM0YWEyNTQwODEyCgpkaWZmIC0tZ2l0IGEvX3Bh dGNoX29yZGVyIGIvX3BhdGNoX29yZGVyCmluZGV4IDg5ZjY5ZmUuLmU3MTI0MjMgMTAwNjQ0Ci0t LSBhL19wYXRjaF9vcmRlcgorKysgYi9fcGF0Y2hfb3JkZXIKQEAgLTQ3LDEzICs0NywxMSBAQCBn ZGItc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQtdGVzdC5wYXRjaAogZ2RiLWNv cmUtb3Blbi12ZHNvLXdhcm5pbmcucGF0Y2gKIGdkYi14ODZfNjQtaTM4Ni1zeXNjYWxsLXJlc3Rh cnQucGF0Y2gKIGdkYi1iejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCi1nZGItZm9sbG93 LWNoaWxkLXN0YWxlLXBhcmVudC5wYXRjaAogZ2RiLWNjYWNoZS13b3JrYXJvdW5kLnBhdGNoCiBn ZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0Y2gKIGdkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRp c2FibGVkLnBhdGNoCiBnZGItbGluZW5vLW1ha2V1cC10ZXN0LnBhdGNoCiBnZGItcHBjLXBvd2Vy Ny10ZXN0LnBhdGNoCi1nZGItYno1NDE4NjYtcndhdGNoLWJlZm9yZS1ydW4ucGF0Y2gKIGdkYi1t b3JpYnVuZC11dHJhY2Utd29ya2Fyb3VuZC5wYXRjaAogZ2RiLWFyY2hlci1uZXh0LW92ZXItdGhy b3ctY3h4LWV4ZWMucGF0Y2gKIGdkYi1iejYwMTg4Ny1kd2FyZjQtcmgtdGVzdC5wYXRjaApAQCAt NzMsMTMgKzcxLDYgQEAgZ2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9mNS5wYXRjaAogZ2RiLWds aWJjLXN0cnN0ci13b3JrYXJvdW5kLnBhdGNoCiBnZGItcmhlbDUuOS10ZXN0Y2FzZS14bGYtdmFy LWluc2lkZS1tb2QucGF0Y2gKIGdkYi1yaGJ6LTgxODM0My1zZXQtc29saWItYWJzb2x1dGUtcHJl Zml4LXRlc3RjYXNlLnBhdGNoCi1nZGItcmhiejc5NTQyNC1iaXRwb3MtMjBvZjI1LnBhdGNoCi1n ZGItcmhiejc5NTQyNC1iaXRwb3MtMjFvZjI1LnBhdGNoCi1nZGItcmhiejc5NTQyNC1iaXRwb3Mt MjJvZjI1LnBhdGNoCi1nZGItcmhiejc5NTQyNC1iaXRwb3MtMjNvZjI1LnBhdGNoCi1nZGItcmhi ejc5NTQyNC1iaXRwb3MtMjVvZjI1LnBhdGNoCi1nZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1 LXRlc3QucGF0Y2gKLWdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy1sYXp5dmFsdWUucGF0Y2gKIGdkYi1y aGJ6OTQ3NTY0LWZpbmR2YXItYXNzZXJ0aW9uLWZyYW1lLWZhaWxlZC10ZXN0Y2FzZS5wYXRjaAog Z2RiLWduYXQtZHdhcmYtY3Jhc2gtM29mMy5wYXRjaAogZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWst aW5mcHlfcmVhZF9tZW1vcnktdGVzdC5wYXRjaApAQCAtMTExLDQgKzEwMiwzIEBAIGdkYi10ZXN0 c3VpdGUtcmVhZGxpbmU2My1zaWdpbnQucGF0Y2gKIGdkYi1hcmNoZXIucGF0Y2gKIGdkYi12bGEt aW50ZWwtZml4LXByaW50LWNoYXItYXJyYXkucGF0Y2gKIGdkYi1yaGJ6MTU1MzEwNC1zMzkweC1h cmNoMTItdGVzdC5wYXRjaAotZ2RiLXJoYno3OTU0MjQtYml0cG9zLWFycmF5dmlldy5wYXRjaAoK ZGlmZiAtLWdpdCBhL2dkYi02LjMtZ3N0YWNrLTIwMDUwNDExLnBhdGNoIGIvZ2RiLTYuMy1nc3Rh Y2stMjAwNTA0MTEucGF0Y2gKaW5kZXggNjY5MGUxNS4uNmJhOTkzZCAxMDA2NDQKLS0tIGEvZ2Ri LTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2gKKysrIGIvZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEu cGF0Y2gKQEAgLTE2LDcgKzE2LDcgQEAgU3ViamVjdDogZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEu cGF0Y2gKIGRpZmYgLS1naXQgYS9nZGIvTWFrZWZpbGUuaW4gYi9nZGIvTWFrZWZpbGUuaW4KIC0t LSBhL2dkYi9NYWtlZmlsZS5pbgogKysrIGIvZ2RiL01ha2VmaWxlLmluCi1AQCAtMTc0OSw3ICsx NzQ5LDcgQEAgaW5mbyBpbnN0YWxsLWluZm8gY2xlYW4taW5mbyBkdmkgcGRmIGluc3RhbGwtcGRm IGh0bWwgaW5zdGFsbC1odG1sOiBmb3JjZQorQEAgLTE3NTEsNyArMTc1MSw3IEBAIGluZm8gaW5z dGFsbC1pbmZvIGNsZWFuLWluZm8gZHZpIHBkZiBpbnN0YWxsLXBkZiBodG1sIGluc3RhbGwtaHRt bDogZm9yY2UKICBpbnN0YWxsOiBhbGwKICAJQCQoTUFLRSkgJChGTEFHU19UT19QQVNTKSBpbnN0 YWxsLW9ubHkKICAKQEAgLTI1LDcgKzI1LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5p biBiL2dkYi9NYWtlZmlsZS5pbgogIAl0cmFuc2Zvcm1lZF9uYW1lPWB0PSckKHByb2dyYW1fdHJh bnNmb3JtX25hbWUpJzsgXAogIAkJCSAgZWNobyBnZGIgfCBzZWQgLWUgIiQkdCJgIDsgXAogIAkJ aWYgdGVzdCAieCQkdHJhbnNmb3JtZWRfbmFtZSIgPSB4OyB0aGVuIFwKLUBAIC0xNzk4LDcgKzE3 OTgsMjUgQEAgaW5zdGFsbC1ndWlsZToKK0BAIC0xODAwLDcgKzE4MDAsMjUgQEAgaW5zdGFsbC1n dWlsZToKICBpbnN0YWxsLXB5dGhvbjoKICAJJChTSEVMTCkgJChzcmNkaXIpLy4uL21raW5zdGFs bGRpcnMgJChERVNURElSKSQoR0RCX0RBVEFESVIpL3B5dGhvbi9nZGIKICAKQEAgLTUyLDcgKzUy LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtlZmlsZS5pbgogIAl0 cmFuc2Zvcm1lZF9uYW1lPWB0PSckKHByb2dyYW1fdHJhbnNmb3JtX25hbWUpJzsgXAogIAkJCSAg ZWNobyBnZGIgfCBzZWQgLWUgJCR0YCA7IFwKICAJCWlmIHRlc3QgIngkJHRyYW5zZm9ybWVkX25h bWUiID0geDsgdGhlbiBcCi1AQCAtMTgyMSw2ICsxODM5LDE4IEBAIHVuaW5zdGFsbDogZm9yY2Ug JChDT05GSUdfVU5JTlNUQUxMKQorQEAgLTE4MjMsNiArMTg0MSwxOCBAQCB1bmluc3RhbGw6IGZv cmNlICQoQ09ORklHX1VOSU5TVEFMTCkKICAJZmkKICAJQCQoTUFLRSkgRE89dW5pbnN0YWxsICJE T0RJUlM9JChTVUJESVJTKSIgJChGTEFHU19UT19QQVNTKSBzdWJkaXJfZG8KICAKCmRpZmYgLS1n aXQgYS9nZGItNi4zLXJoLXRlc3R2ZXJzaW9uLTIwMDQxMjAyLnBhdGNoIGIvZ2RiLTYuMy1yaC10 ZXN0dmVyc2lvbi0yMDA0MTIwMi5wYXRjaAppbmRleCBlYmZiZjFiLi5lNTBiYzdhIDEwMDY0NAot LS0gYS9nZGItNi4zLXJoLXRlc3R2ZXJzaW9uLTIwMDQxMjAyLnBhdGNoCisrKyBiL2dkYi02LjMt cmgtdGVzdHZlcnNpb24tMjAwNDEyMDIucGF0Y2gKQEAgLTI0LDMgKzI0LDE1IEBAIGRpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZ2RiL3NlbGZ0ZXN0CiAgICAgIH0KICAKICAgICAgIyBzdGFydCB0aGUgInhnZGIiIHByb2Nl c3MKK2RpZmYgLS1naXQgYS9nZGIvdG9wLmMgYi9nZGIvdG9wLmMKKy0tLSBhL2dkYi90b3AuYwor KysrIGIvZ2RiL3RvcC5jCitAQCAtMjAxMSw3ICsyMDExLDcgQEAgaW5pdF9nZGJfdmVyc2lvbl92 YXJzICh2b2lkKQorICAgc3RydWN0IGludGVybmFsdmFyICptYWpvcl92ZXJzaW9uX3ZhciA9IGNy ZWF0ZV9pbnRlcm5hbHZhciAoIl9nZGJfbWFqb3IiKTsKKyAgIHN0cnVjdCBpbnRlcm5hbHZhciAq bWlub3JfdmVyc2lvbl92YXIgPSBjcmVhdGVfaW50ZXJuYWx2YXIgKCJfZ2RiX21pbm9yIik7Cisg ICBpbnQgdm1ham9yID0gMCwgdm1pbm9yID0gMCwgdnJldmlzaW9uID0gMDsKKy0gIHNzY2FuZiAo dmVyc2lvbiwgIiVkLiVkLiVkIiwgJnZtYWpvciwgJnZtaW5vciwgJnZyZXZpc2lvbik7CisrICBz c2NhbmYgKHZlcnNpb24sICJGZWRvcmEgJWQuJWQuJWQiLCAmdm1ham9yLCAmdm1pbm9yLCAmdnJl dmlzaW9uKTsKKyAgIHNldF9pbnRlcm5hbHZhcl9pbnRlZ2VyIChtYWpvcl92ZXJzaW9uX3Zhciwg dm1ham9yKTsKKyAgIHNldF9pbnRlcm5hbHZhcl9pbnRlZ2VyIChtaW5vcl92ZXJzaW9uX3Zhciwg dm1pbm9yICsgKHZyZXZpc2lvbiA+IDApKTsKKyB9CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNS1iejIx NjcxMS1jbG9uZS1pcy1vdXRlcm1vc3QucGF0Y2ggYi9nZGItNi41LWJ6MjE2NzExLWNsb25lLWlz LW91dGVybW9zdC5wYXRjaAppbmRleCAxNmY3ZmM0Li5kNTQyODdmIDEwMDY0NAotLS0gYS9nZGIt Ni41LWJ6MjE2NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaAorKysgYi9nZGItNi41LWJ6MjE2 NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaApAQCAtMTI3LDcgKzEyNyw3IEBAIGRpZmYgLS1n aXQgYS9nZGIvYW1kNjQtbGludXgtdGRlcC5jIGIvZ2RiL2FtZDY0LWxpbnV4LXRkZXAuYwogZGlm ZiAtLWdpdCBhL2dkYi9hbWQ2NC10ZGVwLmMgYi9nZGIvYW1kNjQtdGRlcC5jCiAtLS0gYS9nZGIv YW1kNjQtdGRlcC5jCiArKysgYi9nZGIvYW1kNjQtdGRlcC5jCi1AQCAtMjYwMSw2ICsyNjAxLDcg QEAgYW1kNjRfZnJhbWVfdW53aW5kX3N0b3BfcmVhc29uIChzdHJ1Y3QgZnJhbWVfaW5mbyAqdGhp c19mcmFtZSwKK0BAIC0yNjAwLDYgKzI2MDAsNyBAQCBhbWQ2NF9mcmFtZV91bndpbmRfc3RvcF9y ZWFzb24gKHN0cnVjdCBmcmFtZV9pbmZvICp0aGlzX2ZyYW1lLAogIHsKICAgIHN0cnVjdCBhbWQ2 NF9mcmFtZV9jYWNoZSAqY2FjaGUgPQogICAgICBhbWQ2NF9mcmFtZV9jYWNoZSAodGhpc19mcmFt ZSwgdGhpc19jYWNoZSk7CkBAIC0xMzUsNyArMTM1LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9hbWQ2 NC10ZGVwLmMgYi9nZGIvYW1kNjQtdGRlcC5jCiAgCiAgICBpZiAoIWNhY2hlLT5iYXNlX3ApCiAg ICAgIHJldHVybiBVTldJTkRfVU5BVkFJTEFCTEU7Ci1AQCAtMjYwOSw2ICsyNjEwLDEwIEBAIGFt ZDY0X2ZyYW1lX3Vud2luZF9zdG9wX3JlYXNvbiAoc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJh bWUsCitAQCAtMjYwOCw2ICsyNjA5LDEwIEBAIGFtZDY0X2ZyYW1lX3Vud2luZF9zdG9wX3JlYXNv biAoc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUsCiAgICBpZiAoY2FjaGUtPmJhc2UgPT0g MCkKICAgICAgcmV0dXJuIFVOV0lORF9PVVRFUk1PU1Q7CiAgCkBAIC0xNDYsNyArMTQ2LDcgQEAg ZGlmZiAtLWdpdCBhL2dkYi9hbWQ2NC10ZGVwLmMgYi9nZGIvYW1kNjQtdGRlcC5jCiAgICByZXR1 cm4gVU5XSU5EX05PX1JFQVNPTjsKICB9CiAgCi1AQCAtMjc0Myw2ICsyNzQ4LDcgQEAgYW1kNjRf c2lndHJhbXBfZnJhbWVfdGhpc19pZCAoc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUsCitA QCAtMjc0MSw2ICsyNzQ2LDcgQEAgYW1kNjRfc2lndHJhbXBfZnJhbWVfdGhpc19pZCAoc3RydWN0 IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUsCiAgewogICAgc3RydWN0IGFtZDY0X2ZyYW1lX2NhY2hl ICpjYWNoZSA9CiAgICAgIGFtZDY0X3NpZ3RyYW1wX2ZyYW1lX2NhY2hlICh0aGlzX2ZyYW1lLCB0 aGlzX2NhY2hlKTsKQEAgLTE1NCw3ICsxNTQsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2FtZDY0LXRk ZXAuYyBiL2dkYi9hbWQ2NC10ZGVwLmMKICAKICAgIGlmICghY2FjaGUtPmJhc2VfcCkKICAgICAg KCp0aGlzX2lkKSA9IGZyYW1lX2lkX2J1aWxkX3VuYXZhaWxhYmxlX3N0YWNrIChnZXRfZnJhbWVf cGMgKHRoaXNfZnJhbWUpKTsKLUBAIC0yNzUxLDYgKzI3NTcsMTEgQEAgYW1kNjRfc2lndHJhbXBf ZnJhbWVfdGhpc19pZCAoc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUsCitAQCAtMjc0OSw2 ICsyNzU1LDExIEBAIGFtZDY0X3NpZ3RyYW1wX2ZyYW1lX3RoaXNfaWQgKHN0cnVjdCBmcmFtZV9p bmZvICp0aGlzX2ZyYW1lLAogICAgICAgIC8qIFRoaXMgbWFya3MgdGhlIG91dGVybW9zdCBmcmFt ZS4gICovCiAgICAgICAgcmV0dXJuOwogICAgICB9CkBAIC0xNjksNyArMTY5LDcgQEAgZGlmZiAt LWdpdCBhL2dkYi9hbWQ2NC10ZGVwLmMgYi9nZGIvYW1kNjQtdGRlcC5jCiBkaWZmIC0tZ2l0IGEv Z2RiL2kzODYtdGRlcC5jIGIvZ2RiL2kzODYtdGRlcC5jCiAtLS0gYS9nZGIvaTM4Ni10ZGVwLmMK ICsrKyBiL2dkYi9pMzg2LXRkZXAuYwotQEAgLTg0MjAsNiArODQyMCw5IEBAIGkzODZfZ2RiYXJj aF9pbml0IChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJhcmNoX2xpc3QgKmFy Y2hlcykKK0BAIC04NDE3LDYgKzg0MTcsOSBAQCBpMzg2X2dkYmFyY2hfaW5pdCAoc3RydWN0IGdk YmFyY2hfaW5mbyBpbmZvLCBzdHJ1Y3QgZ2RiYXJjaF9saXN0ICphcmNoZXMpCiAgCiAgICB0ZGVw LT54c2F2ZV94Y3IwX29mZnNldCA9IC0xOwogIAoKZGlmZiAtLWdpdCBhL2dkYi02LjUtYnoyMTgz Nzktc29saWItdHJhbXBvbGluZS1sb29rdXAtbG9jay1maXgucGF0Y2ggYi9nZGItNi41LWJ6MjE4 Mzc5LXNvbGliLXRyYW1wb2xpbmUtbG9va3VwLWxvY2stZml4LnBhdGNoCmluZGV4IDMxOTUxNWIu LmJiZDYzNWYgMTAwNjQ0Ci0tLSBhL2dkYi02LjUtYnoyMTgzNzktc29saWItdHJhbXBvbGluZS1s b29rdXAtbG9jay1maXgucGF0Y2gKKysrIGIvZ2RiLTYuNS1iejIxODM3OS1zb2xpYi10cmFtcG9s aW5lLWxvb2t1cC1sb2NrLWZpeC5wYXRjaApAQCAtMTEsNyArMTEsNyBAQCBodHRwczovL2J1Z3pp bGxhLnJlZGhhdC5jb20vYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTIxODM3OQogZGlmZiAtLWdp dCBhL2dkYi9zeW10YWIuYyBiL2dkYi9zeW10YWIuYwogLS0tIGEvZ2RiL3N5bXRhYi5jCiArKysg Yi9nZGIvc3ltdGFiLmMKLUBAIC0zMTc3LDYgKzMxNzcsMTMgQEAgZmluZF9wY19zZWN0X2xpbmUg KENPUkVfQUREUiBwYywgc3RydWN0IG9ial9zZWN0aW9uICpzZWN0aW9uLCBpbnQgbm90Y3VycmVu dCkKK0BAIC0zMTY4LDYgKzMxNjgsMTMgQEAgZmluZF9wY19zZWN0X2xpbmUgKENPUkVfQUREUiBw Yywgc3RydWN0IG9ial9zZWN0aW9uICpzZWN0aW9uLCBpbnQgbm90Y3VycmVudCkKICAJICAgICBT WU1CT0xfTElOS0FHRV9OQU1FIChtc3ltYm9sKSk7ICovCiAgCSAgOwogIAkvKiBmYWxsIHRocm91 Z2ggKi8KCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMtYXJnLnBh dGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1jb3JlLWFzLWFyZy5wYXRjaAppbmRleCBmOGE4 MzE1Li44YjQ5Y2ZkIDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMt YXJnLnBhdGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0Y2gK QEAgLTY0LDcgKzY0LDcgQEAgSHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIw MTAtMDEvbXNnMDA1MTcuaHRtbAogZGlmZiAtLWdpdCBhL2dkYi9jb21tb24vY29tbW9uLWV4Y2Vw dGlvbnMuaCBiL2dkYi9jb21tb24vY29tbW9uLWV4Y2VwdGlvbnMuaAogLS0tIGEvZ2RiL2NvbW1v bi9jb21tb24tZXhjZXB0aW9ucy5oCiArKysgYi9nZGIvY29tbW9uL2NvbW1vbi1leGNlcHRpb25z LmgKLUBAIC0xMDQsNiArMTA0LDkgQEAgZW51bSBlcnJvcnMgeworQEAgLTEwNiw2ICsxMDYsOSBA QCBlbnVtIGVycm9ycyB7CiAgICAgICAiX0VSUk9SIiBpcyBhcHBlbmRlZCB0byB0aGUgbmFtZS4g ICovCiAgICBNQVhfQ09NUExFVElPTlNfUkVBQ0hFRF9FUlJPUiwKICAKQEAgLTc3LDE1ICs3Nywx NiBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvbW1vbi9jb21tb24tZXhjZXB0aW9ucy5oIGIvZ2RiL2Nv bW1vbi9jb21tb24tZXhjZXB0aW9ucy5oCiBkaWZmIC0tZ2l0IGEvZ2RiL2V4ZWMuYyBiL2dkYi9l eGVjLmMKIC0tLSBhL2dkYi9leGVjLmMKICsrKyBiL2dkYi9leGVjLmMKLUBAIC0zNiw2ICszNiw3 IEBACi0gI2luY2x1ZGUgImdkYl9iZmQuaCIKLSAjaW5jbHVkZSAiZ2NvcmUuaCIKLSAjaW5jbHVk ZSAic291cmNlLmgiCi0rI2luY2x1ZGUgImV4Y2VwdGlvbnMuaCIKK0BAIC0xOCw2ICsxOCw4IEBA CisgICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uICAqLwogIAotICNpbmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRl ICJyZWFkbGluZS9yZWFkbGluZS5oIgotQEAgLTM1NSwxMiArMzU2LDI3IEBAIGV4ZWNfZmlsZV9h dHRhY2ggKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgZnJvbV90dHkpCisgI2luY2x1ZGUgImRl ZnMuaCIKKysjaW5jbHVkZSAiYXJjaC11dGlscy5oIgorKyNpbmNsdWRlICJleGNlcHRpb25zLmgi CisgI2luY2x1ZGUgImZyYW1lLmgiCisgI2luY2x1ZGUgImluZmVyaW9yLmgiCisgI2luY2x1ZGUg InRhcmdldC5oIgorQEAgLTM0NSwxMiArMzQ3LDI3IEBAIGV4ZWNfZmlsZV9hdHRhY2ggKGNvbnN0 IGNoYXIgKmZpbGVuYW1lLCBpbnQgZnJvbV90dHkpCiAgCiAgICAgICAgaWYgKCFiZmRfY2hlY2tf Zm9ybWF0X21hdGNoZXMgKGV4ZWNfYmZkLCBiZmRfb2JqZWN0LCAmbWF0Y2hpbmcpKQogIAl7CkBA IC0xMTksNyArMTIwLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9leGVjLmMgYi9nZGIvZXhlYy5jCiBk aWZmIC0tZ2l0IGEvZ2RiL21haW4uYyBiL2dkYi9tYWluLmMKIC0tLSBhL2dkYi9tYWluLmMKICsr KyBiL2dkYi9tYWluLmMKLUBAIC00NDAsNiArNDQwLDM1IEBAIHN0cnVjdCBjbWRhcmcKK0BAIC00 MzksNiArNDM5LDM0IEBAIHN0cnVjdCBjbWRhcmcKICAgIGNoYXIgKnN0cmluZzsKICB9OwogIApA QCAtMTMyLDExICsxMzMsMTEgQEAgZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFpbi5j CiArewogKyAgZ2RiX2Fzc2VydCAoZXhlY19iZmQgPT0gTlVMTCk7CiArCi0rICBUUlkKKysgIHRy eQogKyAgICB7CiArICAgICAgZXhlY19maWxlX2F0dGFjaCAoZmlsZW5hbWUsIGZyb21fdHR5KTsK ICsgICAgfQotKyAgQ0FUQ0ggKGUsIFJFVFVSTl9NQVNLX0FMTCkKKysgIGNhdGNoIChjb25zdCBn ZGJfZXhjZXB0aW9uX2Vycm9yICZlKQogKyAgICB7CiArICAgICAgaWYgKGUuZXJyb3IgPT0gSVNf Q09SRV9FUlJPUikKICsJewpAQCAtMTQ5LDEzICsxNTAsMTIgQEAgZGlmZiAtLWdpdCBhL2dkYi9t YWluLmMgYi9nZGIvbWFpbi5jCiArCX0KICsgICAgICB0aHJvd19leGNlcHRpb24gKGUpOwogKyAg ICB9Ci0rICBFTkRfQ0FUQ0gKICt9CiArCiAgc3RhdGljIHZvaWQKICBjYXB0dXJlZF9tYWluXzEg KHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCiAgewotQEAgLTg4NSw2ICs5MTQs OCBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQp CitAQCAtODg0LDYgKzkxMiw4IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21h aW5fYXJncyAqY29udGV4dCkKICAJewogIAkgIHN5bWFyZyA9IGFyZ3Zbb3B0aW5kXTsKICAJICBl eGVjYXJnID0gYXJndltvcHRpbmRdOwpAQCAtMTY0LDcgKzE2NCw3IEBAIGRpZmYgLS1naXQgYS9n ZGIvbWFpbi5jIGIvZ2RiL21haW4uYwogIAkgIG9wdGluZCsrOwogIAl9CiAgCi1AQCAtMTAzNSwx MiArMTA2NiwyNSBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3Mg KmNvbnRleHQpCitAQCAtMTAzNCwxMiArMTA2NCwyNSBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVj dCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCiAgICAgICAgJiYgc3ltYXJnICE9IE5VTEwK ICAgICAgICAmJiBzdHJjbXAgKGV4ZWNhcmcsIHN5bWFyZykgPT0gMCkKICAgICAgewoKZGlmZiAt LWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLWxpYnJwbS13b3JrYXJvdW5kLnBhdGNo IGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKaW5k ZXggNjFiYWY4Mi4uMDYzNDUyNyAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1y cG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1y cG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKQEAgLTksNyArOSw3IEBAIFN1YmplY3Q6IGdkYi02 LjYtYnVpbGRpZC1sb2NhdGUtcnBtLWxpYnJwbS13b3JrYXJvdW5kLnBhdGNoCiBkaWZmIC0tZ2l0 IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogLS0tIGEvZ2RiL2J1aWxkLWlkLmMK ICsrKyBiL2dkYi9idWlsZC1pZC5jCi1AQCAtNzExLDYgKzcxMSwxOSBAQCBidWlsZF9pZF90b19m aWxlbmFtZSAoY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQsIGNoYXIgKipsaW5r X3JldHVybikKK0BAIC03MTAsNiArNzEwLDE5IEBAIGJ1aWxkX2lkX3RvX2ZpbGVuYW1lIChjb25z dCBzdHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZCwgY2hhciAqKmxpbmtfcmV0dXJuKQogICNp bmNsdWRlIDxkbGZjbi5oPgogICNlbmRpZgogIAoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRp ZC1sb2NhdGUtcnBtLXNjbC5wYXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLXNjbC5w YXRjaAppbmRleCAxMmUxNWViLi40MzZhMzFmIDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQt bG9jYXRlLXJwbS1zY2wucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tc2Ns LnBhdGNoCkBAIC0xMiw3ICsxMiw3IEBAIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93 X2J1Zy5jZ2k/aWQ9OTUzNTg1CiBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVp bGQtaWQuYwogLS0tIGEvZ2RiL2J1aWxkLWlkLmMKICsrKyBiL2dkYi9idWlsZC1pZC5jCi1AQCAt NzQ1LDcgKzc0NSwxMSBAQCBzdGF0aWMgaW50IG1pc3NpbmdfcnBtX2xpc3RfZW50cmllczsKK0BA IC03NDQsNyArNzQ0LDExIEBAIHN0YXRpYyBpbnQgbWlzc2luZ19ycG1fbGlzdF9lbnRyaWVzOwog IC8qIFJldHVybnMgdGhlIGNvdW50IG9mIG5ld2x5IGFkZGVkIHJwbXMuICAqLwogIAogIHN0YXRp YyBpbnQKQEAgLTI0LDcgKzI0LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5jIGIvZ2Ri L2J1aWxkLWlkLmMKICB7CiAgICBzdGF0aWMgaW50IHJwbV9pbml0X2RvbmUgPSAwOwogICAgcnBt dHMgdHM7Ci1AQCAtODUyLDcgKzg1NiwxMSBAQCBtaXNzaW5nX3JwbV9lbmxpc3QgKGNvbnN0IGNo YXIgKmZpbGVuYW1lKQorQEAgLTg1MSw3ICs4NTUsMTEgQEAgbWlzc2luZ19ycG1fZW5saXN0IChj b25zdCBjaGFyICpmaWxlbmFtZSkKICAgIG1pID0gcnBtdHNJbml0SXRlcmF0b3JfcCAodHMsIFJQ TVRBR19CQVNFTkFNRVMsIGZpbGVuYW1lLCAwKTsKICAgIGlmIChtaSAhPSBOVUxMKQogICAgICB7 CkBAIC0zNiw3ICszNiw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWls ZC1pZC5jCiAgCXsKICAJICBIZWFkZXIgaDsKICAJICBjaGFyICpkZWJ1Z2luZm8sICoqc2xvdCwg KnMsICpzMjsKLUBAIC05NzAsNiArOTc4LDM3IEBAIG1pc3NpbmdfcnBtX2VubGlzdCAoY29uc3Qg Y2hhciAqZmlsZW5hbWUpCitAQCAtOTY5LDYgKzk3NywzNyBAQCBtaXNzaW5nX3JwbV9lbmxpc3Qg KGNvbnN0IGNoYXIgKmZpbGVuYW1lKQogIAkgICAgeGZyZWUgKGRlYnVnaW5mbyk7CiAgCSAgY291 bnQrKzsKICAJfQpAQCAtNzQsNyArNzQsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMg Yi9nZGIvYnVpbGQtaWQuYwogIAogICAgICAgIHJwbWRiRnJlZUl0ZXJhdG9yX3AgKG1pKTsKICAg ICAgfQotQEAgLTk3OSw2ICsxMDE4LDIwIEBAIG1pc3NpbmdfcnBtX2VubGlzdCAoY29uc3QgY2hh ciAqZmlsZW5hbWUpCitAQCAtOTc4LDYgKzEwMTcsMjAgQEAgbWlzc2luZ19ycG1fZW5saXN0IChj b25zdCBjaGFyICpmaWxlbmFtZSkKICAgIHJldHVybiBjb3VudDsKICB9CiAgCgpkaWZmIC0tZ2l0 IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2ggYi9nZGItNi42LWJ1aWxkaWQtbG9j YXRlLXJwbS5wYXRjaAppbmRleCA5NTA2MzMxLi41ZTJiMmRjIDEwMDY0NAotLS0gYS9nZGItNi42 LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaAorKysgYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJw bS5wYXRjaApAQCAtMjM1LDIwICsyMzUsMTUgQEAgZGlmZiAtLWdpdCBhL2dkYi9hY2xvY2FsLm00 IGIvZ2RiL2FjbG9jYWwubTQKIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWls ZC1pZC5jCiAtLS0gYS9nZGIvYnVpbGQtaWQuYwogKysrIGIvZ2RiL2J1aWxkLWlkLmMKLUBAIC0z NSw2ICszNSw4IEBACi0gI2luY2x1ZGUgImVsZi9jb21tb24uaCIKLSAjaW5jbHVkZSAiZWxmLWJm ZC5oIgotICNpbmNsdWRlIDxzeXMvc3RhdC5oPgotKyNpbmNsdWRlICJlbGYvZXh0ZXJuYWwuaCIK K0BAIC0zMSw2ICszMSw3IEBACisgI2luY2x1ZGUgImdkYl9iZmQuaCIKKyAjaW5jbHVkZSAiZ2Ri Y21kLmgiCisgI2luY2x1ZGUgImdkYmNvcmUuaCIKICsjaW5jbHVkZSAiaW5mZXJpb3IuaCIKLSAK LSAjZGVmaW5lIEJVSUxEX0lEX1ZFUkJPU0VfTk9ORSAwCi0gI2RlZmluZSBCVUlMRF9JRF9WRVJC T1NFX0ZJTEVOQU1FUyAxCi1AQCAtNjk2LDEyICs2OTgsMzYyIEBAIGJ1aWxkX2lkX3RvX2ZpbGVu YW1lIChjb25zdCBzdHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZCwgY2hhciAqKmxpbmtfcmV0 dXJuKQotICAgICByZXR1cm4gTlVMTDsKLSAKLSAgIHJlc3VsdCA9IHhzdHJkdXAgKGJmZF9nZXRf ZmlsZW5hbWUgKGFiZmQpKTsKLS0gIGFiZmQucmVsZWFzZSAoKTsKKyAjaW5jbHVkZSAibGliYmZk LmgiCisgI2luY2x1ZGUgIm9iamZpbGVzLmgiCisgI2luY2x1ZGUgIm9ic2VydmFibGUuaCIKK0BA IC02OTksOCArNzAwLDM1OSBAQCBidWlsZF9pZF90b19maWxlbmFtZSAoY29uc3Qgc3RydWN0IGJm ZF9idWlsZF9pZCAqYnVpbGRfaWQsIGNoYXIgKipsaW5rX3JldHVybikKICAgIHJldHVybiByZXN1 bHQ7CiAgfQogIApAQCAtNjA5LDcgKzYwNCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQu YyBiL2dkYi9idWlsZC1pZC5jCiAgICAgYXZvaWRhbmNlLiAgKi8KICAKICBzdHJ1Y3QgbWlzc2lu Z19maWxlcGFpcgotQEAgLTc1NSwxMSArMTEwNywxNyBAQCBtaXNzaW5nX2ZpbGVwYWlyX2NoYW5n ZSAodm9pZCkKK0BAIC03NTQsMTEgKzExMDYsMTcgQEAgbWlzc2luZ19maWxlcGFpcl9jaGFuZ2Ug KHZvaWQpCiAgICAgICAgLyogQWxsIHRoZWlyIG1lbW9yeSBjYW1lIGp1c3QgZnJvbSBtaXNzaW5n X2ZpbGVwYWlyX09CU1RBQ0suICAqLwogICAgICAgIG1pc3NpbmdfZmlsZXBhaXJfaGFzaCA9IE5V TEw7CiAgICAgIH0KQEAgLTYyNyw3ICs2MjIsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlk LmMgYi9nZGIvYnVpbGQtaWQuYwogICAgbWlzc2luZ19maWxlcGFpcl9jaGFuZ2UgKCk7CiAgfQog IAotQEAgLTgyNiwxNCArMTE4NCwzOSBAQCBkZWJ1Z19wcmludF9taXNzaW5nIChjb25zdCBjaGFy ICpiaW5hcnksIGNvbnN0IGNoYXIgKmRlYnVnKQorQEAgLTgyNSwxNCArMTE4MywzOSBAQCBkZWJ1 Z19wcmludF9taXNzaW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0IGNoYXIgKmRlYnVnKQog IAogICAgKnNsb3QgPSBtaXNzaW5nX2ZpbGVwYWlyOwogIApAQCAtMTQ1Niw1NSArMTQ1MSwxMSBA QCBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMKIGRpZmYg LS1naXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYwogLS0tIGEvZ2RiL2NvcmVsb3cu YwogKysrIGIvZ2RiL2NvcmVsb3cuYwotQEAgLTMzMCwxMCArMzMwLDkgQEAgc3RhdGljIHZvaWQK LSBidWlsZF9pZF9sb2NhdGVfZXhlYyAoaW50IGZyb21fdHR5KQotIHsKLSAgIENPUkVfQUREUiBh dF9lbnRyeTsKLS0gIHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkOwotLSAgY2hhciAqZXhl Y2ZpbGVuYW1lOwotKyAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8c3RydWN0IGJmZF9idWlsZF9p ZD4gYnVpbGRfaWQ7Ci0rICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiBleGVjZmlsZW5h bWU7Ci0gICBjaGFyICpidWlsZF9pZF9maWxlbmFtZTsKLS0gIHN0cnVjdCBjbGVhbnVwICpiYWNr X3RvOwotIAotICAgaWYgKGV4ZWNfYmZkICE9IE5VTEwgfHwgc3ltZmlsZV9vYmpmaWxlICE9IE5V TEwpCi0gICAgIHJldHVybjsKLUBAIC0zNDEsMTAgKzM0MCw5IEBAIGJ1aWxkX2lkX2xvY2F0ZV9l eGVjIChpbnQgZnJvbV90dHkpCi0gICBpZiAodGFyZ2V0X2F1eHZfc2VhcmNoIChjdXJyZW50X3Rv cF90YXJnZXQgKCksIEFUX0VOVFJZLCAmYXRfZW50cnkpIDw9IDApCi0gICAgIHJldHVybjsKLSAK LS0gIGJ1aWxkX2lkID0gYnVpbGRfaWRfYWRkcl9nZXQgKGF0X2VudHJ5KTsKLSsgIGJ1aWxkX2lk LnJlc2V0IChidWlsZF9pZF9hZGRyX2dldCAoYXRfZW50cnkpKTsKLSAgIGlmIChidWlsZF9pZCA9 PSBOVUxMKQotICAgICByZXR1cm47Ci0tICBiYWNrX3RvID0gbWFrZV9jbGVhbnVwICh4ZnJlZSwg YnVpbGRfaWQpOwotIAotICAgLyogU1lNRklMRV9PQkpGSUxFIHNob3VsZCByZWZlciB0byB0aGUg bWFpbiBleGVjdXRhYmxlIChub3Qgb25seSB0byBpdHMKLSAgICAgIHNlcGFyYXRlIGRlYnVnIGlu Zm8gZmlsZSkuICBnY2M0NCsga2VlcHMgLmVoX2ZyYW1lIG9ubHkgaW4gdGhlIG1haW4KLUBAIC0z NTIsMjIgKzM1MCwxOSBAQCBidWlsZF9pZF9sb2NhdGVfZXhlYyAoaW50IGZyb21fdHR5KQotICAg ICAgZmlsZSAtIHN1Y2ggLmVoX2ZyYW1lIHdvdWxkIG5vdCBiZSBmb3VuZCBpZiBTWU1GSUxFX09C SkZJTEUgd291bGQgcmVmZXIKLSAgICAgIGRpcmVjdGx5IHRvIHRoZSBzZXBhcmF0ZSBkZWJ1ZyBp bmZvIGZpbGUuICAqLwotIAotLSAgZXhlY2ZpbGVuYW1lID0gYnVpbGRfaWRfdG9fZmlsZW5hbWUg KGJ1aWxkX2lkLCAmYnVpbGRfaWRfZmlsZW5hbWUpOwotLSAgbWFrZV9jbGVhbnVwICh4ZnJlZSwg YnVpbGRfaWRfZmlsZW5hbWUpOwotKyAgZXhlY2ZpbGVuYW1lLnJlc2V0IChidWlsZF9pZF90b19m aWxlbmFtZSAoYnVpbGRfaWQuZ2V0ICgpLAotKwkJCQkJICAgICZidWlsZF9pZF9maWxlbmFtZSkp OwotIAotICAgaWYgKGV4ZWNmaWxlbmFtZSAhPSBOVUxMKQotICAgICB7Ci0tICAgICAgbWFrZV9j bGVhbnVwICh4ZnJlZSwgZXhlY2ZpbGVuYW1lKTsKLS0gICAgICBleGVjX2ZpbGVfYXR0YWNoIChl eGVjZmlsZW5hbWUsIGZyb21fdHR5KTsKLS0gICAgICBzeW1ib2xfZmlsZV9hZGRfbWFpbiAoZXhl Y2ZpbGVuYW1lLAotKyAgICAgIGV4ZWNfZmlsZV9hdHRhY2ggKGV4ZWNmaWxlbmFtZS5nZXQgKCks IGZyb21fdHR5KTsKLSsgICAgICBzeW1ib2xfZmlsZV9hZGRfbWFpbiAoZXhlY2ZpbGVuYW1lLmdl dCAoKSwKLSAJCQkgICAgc3ltZmlsZV9hZGRfZmxhZyAoIWZyb21fdHR5ID8gMCA6IFNZTUZJTEVf VkVSQk9TRSkpOwotICAgICAgIGlmIChzeW1maWxlX29iamZpbGUgIT0gTlVMTCkKK0BAIC0zNjIs NyArMzYyLDcgQEAgYnVpbGRfaWRfbG9jYXRlX2V4ZWMgKGludCBmcm9tX3R0eSkKICAgICAgICAg IHN5bWZpbGVfb2JqZmlsZS0+ZmxhZ3MgfD0gT0JKRl9CVUlMRF9JRF9DT1JFX0xPQURFRDsKICAg ICAgfQogICAgZWxzZQogLSAgICBkZWJ1Z19wcmludF9taXNzaW5nIChfKCJ0aGUgbWFpbiBleGVj dXRhYmxlIGZpbGUiKSwgYnVpbGRfaWRfZmlsZW5hbWUpOwotLQotLSAgZG9fY2xlYW51cHMgKGJh Y2tfdG8pOwogKyAgICBkZWJ1Z19wcmludF9taXNzaW5nIChCVUlMRF9JRF9NQUlOX0VYRUNVVEFC TEVfRklMRU5BTUUsIGJ1aWxkX2lkX2ZpbGVuYW1lKTsKICAKICAgIC8qIE5vIGF1dG9tYXRpYyBT T0xJQl9BREQgYXMgdGhlIGxpYnJhcmllcyB3b3VsZCBnZXQgcmVhZCB0d2ljZS4gICovCkBAIC0x NTIwLDcgKzE0NzEsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2V2ZW50LXRvcC5jIGIvZ2RiL2V2ZW50 LXRvcC5jCiAgCiAgLyogcmVhZGxpbmUgaW5jbHVkZSBmaWxlcy4gICovCiAgI2luY2x1ZGUgInJl YWRsaW5lL3JlYWRsaW5lLmgiCi1AQCAtMzU5LDYgKzM2MCw4IEBAIGRpc3BsYXlfZ2RiX3Byb21w dCAoY29uc3QgY2hhciAqbmV3X3Byb21wdCkKK0BAIC0zNTgsNiArMzU5LDggQEAgZGlzcGxheV9n ZGJfcHJvbXB0IChjb25zdCBjaGFyICpuZXdfcHJvbXB0KQogICAgLyogUmVzZXQgdGhlIG5lc3Rp bmcgZGVwdGggdXNlZCB3aGVuIHRyYWNlLWNvbW1hbmRzIGlzIHNldC4gICovCiAgICByZXNldF9j b21tYW5kX25lc3RfZGVwdGggKCk7CiAgCkBAIC0xNTI5LDcgKzE0ODAsNyBAQCBkaWZmIC0tZ2l0 IGEvZ2RiL2V2ZW50LXRvcC5jIGIvZ2RiL2V2ZW50LXRvcC5jCiAgICAvKiBEbyBub3QgY2FsbCB0 aGUgcHl0aG9uIGhvb2sgb24gYW4gZXhwbGljaXQgcHJvbXB0IGNoYW5nZSBhcwogICAgICAgcGFz c2VkIHRvIHRoaXMgZnVuY3Rpb24sIGFzIHRoaXMgZm9ybXMgYSBzZWNvbmRhcnkvbG9jYWwgcHJv bXB0LAogICAgICAgSUUsIGRpc3BsYXllZCBidXQgbm90IHNldC4gICovCi1AQCAtNzcwLDcgKzc3 MywxMCBAQCBjb21tYW5kX2xpbmVfaGFuZGxlciAoZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hh cj4gJiZybCkKK0BAIC03NjksNyArNzcyLDEwIEBAIGNvbW1hbmRfbGluZV9oYW5kbGVyIChnZGI6 OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiAmJnJsKQogICAgICAgIGNvbW1hbmRfaGFuZGxlciAo Y21kKTsKICAKICAgICAgICBpZiAodWktPnByb21wdF9zdGF0ZSAhPSBQUk9NUFRFRCkKCmRpZmYg LS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1pc3NpbmctaWRzLnBhdGNoIGIv Z2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaAppbmRleCA3OTdk ZWQwLi45YzQxOWQ1IDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1p c3NpbmctaWRzLnBhdGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtc29saWItbWlzc2lu Zy1pZHMucGF0Y2gKQEAgLTE0LDcgKzE0LDcgQEAgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29t L3Nob3dfYnVnLmNnaT9pZD0xMzM5ODYyCiBkaWZmIC0tZ2l0IGEvZ2RiL3NvbGliLXN2cjQuYyBi L2dkYi9zb2xpYi1zdnI0LmMKIC0tLSBhL2dkYi9zb2xpYi1zdnI0LmMKICsrKyBiL2dkYi9zb2xp Yi1zdnI0LmMKLUBAIC0xMzQ4LDE0ICsxMzQ4LDI3IEBAIHN2cjRfcmVhZF9zb19saXN0IChDT1JF X0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAorQEAgLTEzNDYsMTQgKzEzNDYsMjcgQEAgc3Zy NF9yZWFkX3NvX2xpc3QgKENPUkVfQUREUiBsbSwgQ09SRV9BRERSIHByZXZfbG0sCiAgCX0KICAK ICAgICAgICB7CkBAIC00NCw3ICs0NCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvc29saWItc3ZyNC5j IGIvZ2RiL3NvbGliLXN2cjQuYwogIAlpZiAoYnVpbGRfaWQgIT0gTlVMTCkKICAJICB7CiAgCSAg ICBjaGFyICpuYW1lLCAqYnVpbGRfaWRfZmlsZW5hbWU7Ci1AQCAtMTM3MCwyMyArMTM4Myw3IEBA IHN2cjRfcmVhZF9zb19saXN0IChDT1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAorQEAg LTEzNjgsMjMgKzEzODEsNyBAQCBzdnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBDT1JF X0FERFIgcHJldl9sbSwKICAJCXhmcmVlIChuYW1lKTsKICAJICAgICAgfQogIAkgICAgZWxzZQoK ZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2ggYi9nZGItNi42LWJ1aWxk aWQtbG9jYXRlLnBhdGNoCmluZGV4IDZkYjgzODkuLjIwNTQ5ODcgMTAwNjQ0Ci0tLSBhL2dkYi02 LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRj aApAQCAtOSwxOSArOSwyNSBAQCBTdWJqZWN0OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNo CiBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogLS0tIGEvZ2Ri L2J1aWxkLWlkLmMKICsrKyBiL2dkYi9idWlsZC1pZC5jCi1AQCAtMjYsMTEgKzI2LDY3IEBACi0g I2luY2x1ZGUgIm9iamZpbGVzLmgiCitAQCAtMjIsMTUgKzIyLDcxIEBACisgI2luY2x1ZGUgImdk Yl9iZmQuaCIKKyAjaW5jbHVkZSAiYnVpbGQtaWQuaCIKKyAjaW5jbHVkZSAiY29tbW9uL2dkYl92 ZWNzLmgiCistI2luY2x1ZGUgInN5bWZpbGUuaCIKKy0jaW5jbHVkZSAib2JqZmlsZXMuaCIKKysj aW5jbHVkZSA8c3lzL3N0YXQuaD4KKysjaW5jbHVkZSAiZWxmLWJmZC5oIgorKyNpbmNsdWRlICJl bGYvY29tbW9uLmgiCisrI2luY2x1ZGUgImVsZi9leHRlcm5hbC5oIgorKyNpbmNsdWRlICJlbGYv aW50ZXJuYWwuaCIKICAjaW5jbHVkZSAiZmlsZW5hbWVzLmgiCisrI2luY2x1ZGUgImdkYl9iZmQu aCIKKysjaW5jbHVkZSAiZ2RiY21kLmgiCiAgI2luY2x1ZGUgImdkYmNvcmUuaCIKICsjaW5jbHVk ZSAibGliYmZkLmgiCi0rI2luY2x1ZGUgImdkYmNvcmUuaCIKLSsjaW5jbHVkZSAiZ2RiY21kLmgi CisrI2luY2x1ZGUgIm9iamZpbGVzLmgiCiArI2luY2x1ZGUgIm9ic2VydmFibGUuaCIKLSsjaW5j bHVkZSAiZWxmL2V4dGVybmFsLmgiCi0rI2luY2x1ZGUgImVsZi9pbnRlcm5hbC5oIgotKyNpbmNs dWRlICJlbGYvY29tbW9uLmgiCi0rI2luY2x1ZGUgImVsZi1iZmQuaCIKLSsjaW5jbHVkZSA8c3lz L3N0YXQuaD4KKysjaW5jbHVkZSAic3ltZmlsZS5oIgogKwogKyNkZWZpbmUgQlVJTERfSURfVkVS Qk9TRV9OT05FIDAKICsjZGVmaW5lIEJVSUxEX0lEX1ZFUkJPU0VfRklMRU5BTUVTIDEKQEAgLTU1 NCw3ICs1NjAsOCBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQu YwogKwogKyAgICAgIC8qIFdlIGV4cGVjdCB0byBiZSBzaWxlbnQgb24gdGhlIG5vbi1leGlzdGlu ZyBmaWxlcy4gICovCiArICAgICAgZ2RiX2JmZF9yZWZfcHRyIGRlYnVnX2JmZCA9IGdkYl9iZmRf b3BlbiAoZmlsZW5hbWUuZ2V0ICgpLCBnbnV0YXJnZXQsIC0xKTsKLSsKKyAKKy0gICAgICByZXR1 cm4ge307CiArICAgICAgaWYgKGRlYnVnX2JmZCA9PSBOVUxMKQogKwl7CiArCSAgaWYgKHNlcGFy YXRlX2RlYnVnX2ZpbGVfZGVidWcpCkBAIC01NzAsOCArNTc3LDcgQEAgZGlmZiAtLWdpdCBhL2dk Yi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKICsKICsJICBjb250aW51ZTsKICsJfQotIAot LSAgICAgIHJldHVybiB7fTsKKysKICsgICAgICByZXRfYmZkID0gZGVidWdfYmZkOwogKyAgICAg IGJyZWFrOwogICAgICB9CkBAIC01OTMsMTMgKzU5OSwxMyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1 aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogKwogKyAgICAgIGlmIChhZGRfZGVidWdfc3VmZml4 KQogKwlsaW5rMCArPSAiLmRlYnVnIjsKLSsKKyAKKy0gICAgICByZXR1cm4ge307CiArICAgICAg LyogSWYgdGhlIHN5bWxpbmsgaGFzIHRhcmdldCByZXF1ZXN0IHRvIGluc3RhbGwgdGhlIHRhcmdl dC4KICsJIEJBU0UtZGVidWdpbmZvLnJwbSBjb250YWlucyB0aGUgc3ltbGluayBidXQgQkFTRS5y cG0gbWF5IGJlIG1pc3NpbmcuCiArCSBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19i dWcuY2dpP2lkPTk4MTE1NCAgKi8KICsgICAgICBzdGQ6OnN0cmluZyBsaW5rMF9yZXNvbHZlZCAo bGlua19yZXNvbHZlIChsaW5rMC5jX3N0ciAoKSwgMCkpOwotIAotLSAgICAgIHJldHVybiB7fTsK KysKICsgICAgICBpZiAobGlua19hbGwuZW1wdHkgKCkpCiArCWxpbmtfYWxsID0gbGluazBfcmVz b2x2ZWQ7CiArICAgICAgZWxzZQpAQCAtNjY5LDcgKzY3NSw3IEBAIGRpZmYgLS1naXQgYS9nZGIv YnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAgCSAgaWYgKGRlYnVnX2JmZCAhPSBOVUxMKQog IAkgICAgcmV0dXJuIGRlYnVnX2JmZDsKICAJfQotQEAgLTE3NSwyMiArNjg1LDE5MCBAQCBidWls ZF9pZF90b19kZWJ1Z19iZmQgKHNpemVfdCBidWlsZF9pZF9sZW4sIGNvbnN0IGJmZF9ieXRlICpi dWlsZF9pZCkKK0BAIC0xNzUsMjIgKzY4NSwxODkgQEAgYnVpbGRfaWRfdG9fZGVidWdfYmZkIChz aXplX3QgYnVpbGRfaWRfbGVuLCBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQpCiAgICByZXR1cm4g e307CiAgfQogIApAQCAtNjg0LDcgKzY5MCw2IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQu YyBiL2dkYi9idWlsZC1pZC5jCiArICAgIHJldHVybiBOVUxMOwogKwogKyAgcmVzdWx0ID0geHN0 cmR1cCAoYmZkX2dldF9maWxlbmFtZSAoYWJmZCkpOwotKyAgYWJmZC5yZWxlYXNlICgpOwogKyAg cmV0dXJuIHJlc3VsdDsKICt9CiArCkBAIC04NjMsNyArODY4LDcgQEAgZGlmZiAtLWdpdCBhL2dk Yi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKICAgICAgICAvKiBQcmV2ZW50IGxvb3Bpbmcg b24gYSBzdHJpcHBlZCAuZGVidWcgZmlsZS4gICovCiAgICAgICAgaWYgKGFiZmQgIT0gTlVMTAog IAkgICYmIGZpbGVuYW1lX2NtcCAoYmZkX2dldF9maWxlbmFtZSAoYWJmZC5nZXQgKCkpLAotQEAg LTIwMywzICs4ODEsMjEgQEAgZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKHN0 cnVjdCBvYmpmaWxlICpvYmpmaWxlKQorQEAgLTIwMywzICs4ODAsMjEgQEAgZmluZF9zZXBhcmF0 ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogIAogICAg cmV0dXJuIHN0ZDo6c3RyaW5nICgpOwogIH0KQEAgLTk0MCwxOCArOTQ1LDE4IEBAIGRpZmYgLS1n aXQgYS9nZGIvY29mZnJlYWQuYyBiL2dkYi9jb2ZmcmVhZC5jCiBkaWZmIC0tZ2l0IGEvZ2RiL2Nv cmVsb3cuYyBiL2dkYi9jb3JlbG93LmMKIC0tLSBhL2dkYi9jb3JlbG93LmMKICsrKyBiL2dkYi9j b3JlbG93LmMKLUBAIC00Myw2ICs0MywxMCBAQAotICNpbmNsdWRlICJnZGJfYmZkLmgiCi0gI2lu Y2x1ZGUgImNvbXBsZXRlci5oIgotICNpbmNsdWRlICJjb21tb24vZmlsZXN0dWZmLmgiCitAQCAt MjIsNiArMjIsMTAgQEAKKyAjaW5jbHVkZSA8c2lnbmFsLmg+CisgI2luY2x1ZGUgPGZjbnRsLmg+ CisgI2luY2x1ZGUgImZyYW1lLmgiCQkvKiByZXF1aXJlZCBieSBpbmZlcmlvci5oICovCiArI2lu Y2x1ZGUgImF1eHYuaCIKKysjaW5jbHVkZSAiYnVpbGQtaWQuaCIKICsjaW5jbHVkZSAiZWxmL2Nv bW1vbi5oIgogKyNpbmNsdWRlICJnZGJjbWQuaCIKLSsjaW5jbHVkZSAiYnVpbGQtaWQuaCIKLSAK LSAjaWZuZGVmIE9fTEFSR0VGSUxFCi0gI2RlZmluZSBPX0xBUkdFRklMRSAwCi1AQCAtMzIwLDYg KzMyNCw1NCBAQCBhZGRfdG9fdGhyZWFkX2xpc3QgKGJmZCAqYWJmZCwgYXNlY3Rpb24gKmFzZWN0 LCB2b2lkICpyZWdfc2VjdF9hcmcpCisgI2luY2x1ZGUgImluZmVyaW9yLmgiCisgI2luY2x1ZGUg ImluZnJ1bi5oIgorICNpbmNsdWRlICJzeW10YWIuaCIKK0BAIC0zMjAsNiArMzI0LDQ5IEBAIGFk ZF90b190aHJlYWRfbGlzdCAoYmZkICphYmZkLCBhc2VjdGlvbiAqYXNlY3QsIHZvaWQgKnJlZ19z ZWN0X2FyZykKICAgICAgaW5mZXJpb3JfcHRpZCA9IHB0aWQ7CQkJLyogWWVzLCBtYWtlIGl0IGN1 cnJlbnQuICAqLwogIH0KICAKQEAgLTk2MSwxMCArOTY2LDkgQEAgZGlmZiAtLWdpdCBhL2dkYi9j b3JlbG93LmMgYi9nZGIvY29yZWxvdy5jCiArYnVpbGRfaWRfbG9jYXRlX2V4ZWMgKGludCBmcm9t X3R0eSkKICt7CiArICBDT1JFX0FERFIgYXRfZW50cnk7Ci0rICBzdHJ1Y3QgYmZkX2J1aWxkX2lk ICpidWlsZF9pZDsKLSsgIGNoYXIgKmV4ZWNmaWxlbmFtZTsKKysgIGdkYjo6dW5pcXVlX3htYWxs b2NfcHRyPHN0cnVjdCBiZmRfYnVpbGRfaWQ+IGJ1aWxkX2lkOworKyAgZ2RiOjp1bmlxdWVfeG1h bGxvY19wdHI8Y2hhcj4gZXhlY2ZpbGVuYW1lOwogKyAgY2hhciAqYnVpbGRfaWRfZmlsZW5hbWU7 Ci0rICBzdHJ1Y3QgY2xlYW51cCAqYmFja190bzsKICsKICsgIGlmIChleGVjX2JmZCAhPSBOVUxM IHx8IHN5bWZpbGVfb2JqZmlsZSAhPSBOVUxMKQogKyAgICByZXR1cm47CkBAIC05NzIsMTAgKzk3 Niw5IEBAIGRpZmYgLS1naXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYwogKyAgaWYg KHRhcmdldF9hdXh2X3NlYXJjaCAoY3VycmVudF90b3BfdGFyZ2V0ICgpLCBBVF9FTlRSWSwgJmF0 X2VudHJ5KSA8PSAwKQogKyAgICByZXR1cm47CiArCi0rICBidWlsZF9pZCA9IGJ1aWxkX2lkX2Fk ZHJfZ2V0IChhdF9lbnRyeSk7CisrICBidWlsZF9pZC5yZXNldCAoYnVpbGRfaWRfYWRkcl9nZXQg KGF0X2VudHJ5KSk7CiArICBpZiAoYnVpbGRfaWQgPT0gTlVMTCkKICsgICAgcmV0dXJuOwotKyAg YmFja190byA9IG1ha2VfY2xlYW51cCAoeGZyZWUsIGJ1aWxkX2lkKTsKICsKICsgIC8qIFNZTUZJ TEVfT0JKRklMRSBzaG91bGQgcmVmZXIgdG8gdGhlIG1haW4gZXhlY3V0YWJsZSAobm90IG9ubHkg dG8gaXRzCiArICAgICBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIGZpbGUpLiAgZ2NjNDQrIGtlZXBzIC5l aF9mcmFtZSBvbmx5IGluIHRoZSBtYWluCkBAIC05ODMsMTQgKzk4NiwxMyBAQCBkaWZmIC0tZ2l0 IGEvZ2RiL2NvcmVsb3cuYyBiL2dkYi9jb3JlbG93LmMKICsgICAgIGZpbGUgLSBzdWNoIC5laF9m cmFtZSB3b3VsZCBub3QgYmUgZm91bmQgaWYgU1lNRklMRV9PQkpGSUxFIHdvdWxkIHJlZmVyCiAr ICAgICBkaXJlY3RseSB0byB0aGUgc2VwYXJhdGUgZGVidWcgaW5mbyBmaWxlLiAgKi8KICsKLSsg IGV4ZWNmaWxlbmFtZSA9IGJ1aWxkX2lkX3RvX2ZpbGVuYW1lIChidWlsZF9pZCwgJmJ1aWxkX2lk X2ZpbGVuYW1lKTsKLSsgIG1ha2VfY2xlYW51cCAoeGZyZWUsIGJ1aWxkX2lkX2ZpbGVuYW1lKTsK KysgIGV4ZWNmaWxlbmFtZS5yZXNldCAoYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGJ1aWxkX2lkLmdl dCAoKSwKKysJCQkJCSAgICAmYnVpbGRfaWRfZmlsZW5hbWUpKTsKICsKICsgIGlmIChleGVjZmls ZW5hbWUgIT0gTlVMTCkKICsgICAgewotKyAgICAgIG1ha2VfY2xlYW51cCAoeGZyZWUsIGV4ZWNm aWxlbmFtZSk7Ci0rICAgICAgZXhlY19maWxlX2F0dGFjaCAoZXhlY2ZpbGVuYW1lLCBmcm9tX3R0 eSk7Ci0rICAgICAgc3ltYm9sX2ZpbGVfYWRkX21haW4gKGV4ZWNmaWxlbmFtZSwKKysgICAgICBl eGVjX2ZpbGVfYXR0YWNoIChleGVjZmlsZW5hbWUuZ2V0ICgpLCBmcm9tX3R0eSk7CisrICAgICAg c3ltYm9sX2ZpbGVfYWRkX21haW4gKGV4ZWNmaWxlbmFtZS5nZXQgKCksCiArCQkJICAgIHN5bWZp bGVfYWRkX2ZsYWcgKCFmcm9tX3R0eSA/IDAgOiBTWU1GSUxFX1ZFUkJPU0UpKTsKICsgICAgICBp ZiAoc3ltZmlsZV9vYmpmaWxlICE9IE5VTEwpCiArICAgICAgICBzeW1maWxlX29iamZpbGUtPmZs YWdzIHw9IE9CSkZfQlVJTERfSURfQ09SRV9MT0FERUQ7CkBAIC05OTgsMTUgKzEwMDAsMTMgQEAg ZGlmZiAtLWdpdCBhL2dkYi9jb3JlbG93LmMgYi9nZGIvY29yZWxvdy5jCiArICBlbHNlCiArICAg IGRlYnVnX3ByaW50X21pc3NpbmcgKF8oInRoZSBtYWluIGV4ZWN1dGFibGUgZmlsZSIpLCBidWls ZF9pZF9maWxlbmFtZSk7CiArCi0rICBkb19jbGVhbnVwcyAoYmFja190byk7Ci0rCiArICAvKiBO byBhdXRvbWF0aWMgU09MSUJfQUREIGFzIHRoZSBsaWJyYXJpZXMgd291bGQgZ2V0IHJlYWQgdHdp Y2UuICAqLwogK30KICsKICAvKiBJc3N1ZSBhIG1lc3NhZ2Ugc2F5aW5nIHdlIGhhdmUgbm8gY29y ZSB0byBkZWJ1ZywgaWYgRlJPTV9UVFkuICAqLwogIAogIHN0YXRpYyB2b2lkCi1AQCAtNDU1LDYg KzUwNywxNCBAQCBjb3JlX3RhcmdldF9vcGVuIChjb25zdCBjaGFyICphcmcsIGludCBmcm9tX3R0 eSkKK0BAIC00NTUsNiArNTAyLDE0IEBAIGNvcmVfdGFyZ2V0X29wZW4gKGNvbnN0IGNoYXIgKmFy ZywgaW50IGZyb21fdHR5KQogIAlzd2l0Y2hfdG9fdGhyZWFkICh0aHJlYWQpOwogICAgICB9CiAg CkBAIC0xMDIxLDcgKzEwMjEsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBiL2dkYi9j b3JlbG93LmMKICAgIHBvc3RfY3JlYXRlX2luZmVyaW9yICh0YXJnZXQsIGZyb21fdHR5KTsKICAK ICAgIC8qIE5vdyBnbyB0aHJvdWdoIHRoZSB0YXJnZXQgc3RhY2sgbG9va2luZyBmb3IgdGhyZWFk cyBzaW5jZSB0aGVyZQotQEAgLTEwNjEsNCArMTEyMSwxMSBAQCB2b2lkCitAQCAtMTA1OSw0ICsx MTE0LDExIEBAIHZvaWQKICBfaW5pdGlhbGl6ZV9jb3JlbG93ICh2b2lkKQogIHsKICAgIGFkZF90 YXJnZXQgKGNvcmVfdGFyZ2V0X2luZm8sIGNvcmVfdGFyZ2V0X29wZW4sIGZpbGVuYW1lX2NvbXBs ZXRlcik7CkBAIC0xMDM2LDcgKzEwMzYsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBi L2dkYi9jb3JlbG93LmMKIGRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYi50ZXhpbmZvIGIvZ2RiL2Rv Yy9nZGIudGV4aW5mbwogLS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbwogKysrIGIvZ2RiL2RvYy9n ZGIudGV4aW5mbwotQEAgLTE5OTQ1LDYgKzE5OTQ1LDI3IEBAIGluZm9ybWF0aW9uIGZpbGVzLgor QEAgLTE5OTY3LDYgKzE5OTY3LDI3IEBAIGluZm9ybWF0aW9uIGZpbGVzLgogIAogIEBlbmQgdGFi bGUKICAKQEAgLTExMzQsNyArMTEzNCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZWxmcmVhZC5jIGIv Z2RiL2VsZnJlYWQuYwogZGlmZiAtLWdpdCBhL2dkYi9vYmpmaWxlcy5oIGIvZ2RiL29iamZpbGVz LmgKIC0tLSBhL2dkYi9vYmpmaWxlcy5oCiArKysgYi9nZGIvb2JqZmlsZXMuaAotQEAgLTU1Myw2 ICs1NTMsMTAgQEAgc3RydWN0IG9iamZpbGUKK0BAIC02MTgsNiArNjE4LDEwIEBAIHN0cnVjdCBv YmpmaWxlCiAgICBodGFiX3Qgc3RhdGljX2xpbmtzIHt9OwogIH07CiAgCkBAIC0xMTUwLDE0ICsx MTUwLDE0IEBAIGRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYyBiL2dkYi9weXRo b24vcHktb2JqZmlsZS5jCiArKysgYi9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYwogQEAgLTEzMiw3 ICsxMzIsNyBAQCBvYmpmcHlfZ2V0X2J1aWxkX2lkIChQeU9iamVjdCAqc2VsZiwgdm9pZCAqY2xv c3VyZSkKICAKLSAgIFRSWQorICAgdHJ5CiAgICAgIHsKIC0gICAgICBidWlsZF9pZCA9IGJ1aWxk X2lkX2JmZF9nZXQgKG9iamZpbGUtPm9iZmQpOwogKyAgICAgIGJ1aWxkX2lkID0gYnVpbGRfaWRf YmZkX3NoZHJfZ2V0IChvYmpmaWxlLT5vYmZkKTsKICAgICAgfQotICAgQ0FUQ0ggKGV4Y2VwdCwg UkVUVVJOX01BU0tfQUxMKQorICAgY2F0Y2ggKGNvbnN0IGdkYl9leGNlcHRpb24gJmV4Y2VwdCkK ICAgICAgewotQEAgLTUzNSw3ICs1MzUsNyBAQCBvYmpmcHlfbG9va3VwX29iamZpbGVfYnlfYnVp bGRfaWQgKGNvbnN0IGNoYXIgKmJ1aWxkX2lkKQorQEAgLTUzMyw3ICs1MzMsNyBAQCBvYmpmcHlf bG9va3VwX29iamZpbGVfYnlfYnVpbGRfaWQgKGNvbnN0IGNoYXIgKmJ1aWxkX2lkKQogICAgICAg IC8qIERvbid0IHJldHVybiBzZXBhcmF0ZSBkZWJ1ZyBmaWxlcy4gICovCiAgICAgICAgaWYgKG9i amZpbGUtPnNlcGFyYXRlX2RlYnVnX29iamZpbGVfYmFja2xpbmsgIT0gTlVMTCkKICAJY29udGlu dWU7CkBAIC0xMTc3LDcgKzExNzcsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3NvbGliLXN2cjQuYyBi L2dkYi9zb2xpYi1zdnI0LmMKICAKICBzdGF0aWMgc3RydWN0IGxpbmtfbWFwX29mZnNldHMgKnN2 cjRfZmV0Y2hfbGlua19tYXBfb2Zmc2V0cyAodm9pZCk7CiAgc3RhdGljIGludCBzdnI0X2hhdmVf bGlua19tYXBfb2Zmc2V0cyAodm9pZCk7Ci1AQCAtMTM0Niw5ICsxMzQ3LDUxIEBAIHN2cjRfcmVh ZF9zb19saXN0IChDT1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAorQEAgLTEzNDQsOSAr MTM0NSw1MSBAQCBzdnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBDT1JFX0FERFIgcHJl dl9sbSwKICAJICBjb250aW51ZTsKICAJfQogIApAQCAtMTI5Nyw3ICsxMjk3LDcgQEAgZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbmV3LXVpLXBlbmRpbmctaW5wdXQuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhw IGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2Ri LmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAotQEAgLTE2OTcsNiArMTY5Nywx NiBAQCBwcm9jIGRlZmF1bHRfZ2RiX3N0YXJ0IHsgfSB7CitAQCAtMTcxNiw2ICsxNzE2LDE2IEBA IHByb2MgZGVmYXVsdF9nZGJfc3RhcnQgeyB9IHsKICAJICAgIHdhcm5pbmcgIkNvdWxkbid0IHNl dCB0aGUgd2lkdGggdG8gMC4iCiAgCX0KICAgICAgfQoKZGlmZiAtLWdpdCBhL2dkYi02LjYtc2No ZWR1bGVyX2xvY2tpbmctc3RlcC1pcy1kZWZhdWx0LnBhdGNoIGIvZ2RiLTYuNi1zY2hlZHVsZXJf bG9ja2luZy1zdGVwLWlzLWRlZmF1bHQucGF0Y2gKaW5kZXggOGJmMDYxYy4uNGZlNmMxYSAxMDA2 NDQKLS0tIGEvZ2RiLTYuNi1zY2hlZHVsZXJfbG9ja2luZy1zdGVwLWlzLWRlZmF1bHQucGF0Y2gK KysrIGIvZ2RiLTYuNi1zY2hlZHVsZXJfbG9ja2luZy1zdGVwLWlzLWRlZmF1bHQucGF0Y2gKQEAg LTksNyArOSw3IEBAIFN1YmplY3Q6IGdkYi02LjYtc2NoZWR1bGVyX2xvY2tpbmctc3RlcC1pcy1k ZWZhdWx0LnBhdGNoCiBkaWZmIC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCiAt LS0gYS9nZGIvaW5mcnVuLmMKICsrKyBiL2dkYi9pbmZydW4uYwotQEAgLTIwNjUsNyArMjA2NSw3 IEBAIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzY2hlZHVsZXJfZW51bXNbXSA9IHsKK0BAIC0y MDY4LDcgKzIwNjgsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgc2NoZWR1bGVyX2VudW1z W10gPSB7CiAgICBzY2hlZGxvY2tfcmVwbGF5LAogICAgTlVMTAogIH07CgpkaWZmIC0tZ2l0IGEv Z2RiLTYuOC1xdWl0LW5ldmVyLWFib3J0cy5wYXRjaCBiL2dkYi02LjgtcXVpdC1uZXZlci1hYm9y dHMucGF0Y2gKaW5kZXggZGM2NmU5My4uNDEzYmEzZiAxMDA2NDQKLS0tIGEvZ2RiLTYuOC1xdWl0 LW5ldmVyLWFib3J0cy5wYXRjaAorKysgYi9nZGItNi44LXF1aXQtbmV2ZXItYWJvcnRzLnBhdGNo CkBAIC00NSw3ICs0NSw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZXh0ZW5zaW9uLmMgYi9nZGIvZXh0 ZW5zaW9uLmMKIGRpZmYgLS1naXQgYS9nZGIvdG9wLmMgYi9nZGIvdG9wLmMKIC0tLSBhL2dkYi90 b3AuYwogKysrIGIvZ2RiL3RvcC5jCi1AQCAtMTYxNyw3ICsxNjE3LDEzIEBAIHF1aXRfZm9yY2Ug KGludCAqZXhpdF9hcmcsIGludCBmcm9tX3R0eSkKK0BAIC0xNjE4LDcgKzE2MTgsMTMgQEAgcXVp dF9mb3JjZSAoaW50ICpleGl0X2FyZywgaW50IGZyb21fdHR5KQogIAogICAgcXQuZnJvbV90dHkg PSBmcm9tX3R0eTsKICAKQEAgLTU4LDcgKzU4LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi90b3AuYyBi L2dkYi90b3AuYwogKyNlbmRpZgogIAogICAgLyogR2V0IG91dCBvZiB0ZmluZCBtb2RlLCBhbmQg a2lsbCBvciBkZXRhY2ggYWxsIGluZmVyaW9ycy4gICovCi0gICBUUlkKKyAgIHRyeQogZGlmZiAt LWdpdCBhL2dkYi91dGlscy5jIGIvZ2RiL3V0aWxzLmMKIC0tLSBhL2dkYi91dGlscy5jCiArKysg Yi9nZGIvdXRpbHMuYwoKZGlmZiAtLWdpdCBhL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRp c2FibGVkLnBhdGNoIGIvZ2RiLWFyY2hlci1waWUtYWRkb25zLWtlZXAtZGlzYWJsZWQucGF0Y2gK aW5kZXggMGE0MGZhNC4uZmNmNjQwOCAxMDA2NDQKLS0tIGEvZ2RiLWFyY2hlci1waWUtYWRkb25z LWtlZXAtZGlzYWJsZWQucGF0Y2gKKysrIGIvZ2RiLWFyY2hlci1waWUtYWRkb25zLWtlZXAtZGlz YWJsZWQucGF0Y2gKQEAgLTgsNyArOCw3IEBAIFN1YmplY3Q6IGdkYi1hcmNoZXItcGllLWFkZG9u cy1rZWVwLWRpc2FibGVkLnBhdGNoCiBkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuYyBiL2dk Yi9icmVha3BvaW50LmMKIC0tLSBhL2dkYi9icmVha3BvaW50LmMKICsrKyBiL2dkYi9icmVha3Bv aW50LmMKLUBAIC0xNTQ1MSw2ICsxNTQ1MSw1MCBAQCBzdGF0aWMgc3RydWN0IGNtZF9saXN0X2Vs ZW1lbnQgKmVuYWJsZWJyZWFrbGlzdCA9IE5VTEw7CitAQCAtMTU0MzcsNiArMTU0MzcsNTAgQEAg c3RhdGljIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICplbmFibGVicmVha2xpc3QgPSBOVUxMOwog IAogIGNtZF9saXN0X2VsZW1lbnQgKmNvbW1hbmRzX2NtZF9lbGVtZW50ID0gbnVsbHB0cjsKICAK CmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0Y2ggYi9nZGItYXJjaGVyLXBp ZS1hZGRvbnMucGF0Y2gKaW5kZXggNjgxOWUzYS4uNWEzZTY3OCAxMDA2NDQKLS0tIGEvZ2RiLWFy Y2hlci1waWUtYWRkb25zLnBhdGNoCisrKyBiL2dkYi1hcmNoZXItcGllLWFkZG9ucy5wYXRjaApA QCAtNTEsNyArNTEsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmggYi9nZGIvZ2RidHlw ZXMuaAogZGlmZiAtLWdpdCBhL2dkYi92YWx1ZS5jIGIvZ2RiL3ZhbHVlLmMKIC0tLSBhL2dkYi92 YWx1ZS5jCiArKysgYi9nZGIvdmFsdWUuYwotQEAgLTI4MjcsNyArMjgyNyw4IEBAIHZhbHVlX3N0 YXRpY19maWVsZCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBmaWVsZG5vKQorQEAgLTI4MjUsNyAr MjgyNSw4IEBAIHZhbHVlX3N0YXRpY19maWVsZCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBmaWVs ZG5vKQogICAgICB7CiAgICAgIGNhc2UgRklFTERfTE9DX0tJTkRfUEhZU0FERFI6CiAgICAgICAg cmV0dmFsID0gdmFsdWVfYXRfbGF6eSAoVFlQRV9GSUVMRF9UWVBFICh0eXBlLCBmaWVsZG5vKSwK CmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLnBhdGNoIGIvZ2RiLWFyY2hlci5wYXRjaAppbmRleCAw MTc4OGM0Li5hZjE0ZGFkIDEwMDY0NAotLS0gYS9nZGItYXJjaGVyLnBhdGNoCisrKyBiL2dkYi1h cmNoZXIucGF0Y2gKQEAgLTE3LDcgKzE3LDcgQEAgdHJvbWV5L3B5dGhvbgogZGlmZiAtLWdpdCBh L2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtlZmlsZS5pbgogLS0tIGEvZ2RiL01ha2VmaWxlLmlu CiArKysgYi9nZGIvTWFrZWZpbGUuaW4KLUBAIC0yMDgyLDYgKzIwODIsMTIgQEAgc3RhbXAtaDog JChzcmNkaXIpL2NvbmZpZy5pbiBjb25maWcuc3RhdHVzCitAQCAtMjA4NCw2ICsyMDg0LDEyIEBA IHN0YW1wLWg6ICQoc3JjZGlyKS9jb25maWcuaW4gY29uZmlnLnN0YXR1cwogIAkgIENPTkZJR19M SU5LUz0gXAogIAkgICQoU0hFTEwpIGNvbmZpZy5zdGF0dXMKICAKQEAgLTExMiw3ICsxMTIsNyBA QCBkaWZmIC0tZ2l0IGEvZ2RiL21haW4uYyBiL2dkYi9tYWluLmMKICAjaW5jbHVkZSAic291cmNl LmgiCiAgI2luY2x1ZGUgImNsaS9jbGktY21kcy5oIgogICNpbmNsdWRlICJvYmpmaWxlcy5oIgot QEAgLTQ3MCw3ICs0NzEsNyBAQCBleGVjX29yX2NvcmVfZmlsZV9hdHRhY2ggKGNvbnN0IGNoYXIg KmZpbGVuYW1lLCBpbnQgZnJvbV90dHkpCitAQCAtNDY4LDcgKzQ2OSw3IEBAIGV4ZWNfb3JfY29y ZV9maWxlX2F0dGFjaCAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBmcm9tX3R0eSkKICB9CiAg CiAgc3RhdGljIHZvaWQKQEAgLTEyMSw3ICsxMjEsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL21haW4u YyBiL2dkYi9tYWluLmMKICB7CiAgICBpbnQgYXJnYyA9IGNvbnRleHQtPmFyZ2M7CiAgICBjaGFy ICoqYXJndiA9IGNvbnRleHQtPmFyZ3Y7Ci1AQCAtNjkwLDEwICs2OTEsMTQgQEAgY2FwdHVyZWRf bWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQorQEAgLTY4OCwxMCAr Njg5LDE0IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29u dGV4dCkKICAgICAgICB7ImFyZ3MiLCBub19hcmd1bWVudCwgJnNldF9hcmdzLCAxfSwKICAgICAg ICB7ImwiLCByZXF1aXJlZF9hcmd1bWVudCwgMCwgJ2wnfSwKICAgICAgICB7InJldHVybi1jaGls ZC1yZXN1bHQiLCBub19hcmd1bWVudCwgJnJldHVybl9jaGlsZF9yZXN1bHQsIDF9LApAQCAtMTM3 LDcgKzEzNyw3IEBAIGRpZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIvZ2RiL21haW4uYwogICAgICAg IHsKICAJaW50IG9wdGlvbl9pbmRleDsKICAKLUBAIC03MTEsNiArNzE2LDkgQEAgY2FwdHVyZWRf bWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQorQEAgLTcwOSw2ICs3 MTQsOSBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRl eHQpCiAgCSAgY2FzZSAwOgogIAkgICAgLyogTG9uZyBvcHRpb24gdGhhdCBqdXN0IHNldHMgYSBm bGFnLiAgKi8KICAJICAgIGJyZWFrOwpAQCAtMTQ3LDcgKzE0Nyw3IEBAIGRpZmYgLS1naXQgYS9n ZGIvbWFpbi5jIGIvZ2RiL21haW4uYwogIAkgIGNhc2UgT1BUX1NFOgogIAkgICAgc3ltYXJnID0g b3B0YXJnOwogIAkgICAgZXhlY2FyZyA9IG9wdGFyZzsKLUBAIC04OTAsNyArODk4LDMxIEBAIGNh cHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKK0BAIC04 ODgsNyArODk2LDMxIEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJn cyAqY29udGV4dCkKICAKICAgIC8qIE5vdyB0aGF0IGdkYl9pbml0IGhhcyBjcmVhdGVkIHRoZSBp bml0aWFsIGluZmVyaW9yLCB3ZSdyZSBpbgogICAgICAgcG9zaXRpb24gdG8gc2V0IGFyZ3MgZm9y IHRoYXQgaW5mZXJpb3IuICAqLwpAQCAtMTgwLDcgKzE4MCw3IEBAIGRpZmYgLS1naXQgYS9nZGIv bWFpbi5jIGIvZ2RiL21haW4uYwogICAgICB7CiAgICAgICAgLyogVGhlIHJlbWFpbmluZyBvcHRp b25zIGFyZSB0aGUgY29tbWFuZC1saW5lIG9wdGlvbnMgZm9yIHRoZQogIAkgaW5mZXJpb3IuICBU aGUgZmlyc3Qgb25lIGlzIHRoZSBzeW0vZXhlYyBmaWxlLCBhbmQgdGhlIHJlc3QKLUBAIC0xMTkx LDcgKzEyMjMsOCBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3Mg KmNvbnRleHQpCitAQCAtMTE4OSw3ICsxMjIxLDggQEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1Y3Qg Y2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQogIAogICAgLyogUmVhZCBpbiB0aGUgb2xkIGhp c3RvcnkgYWZ0ZXIgYWxsIHRoZSBjb21tYW5kIGZpbGVzIGhhdmUgYmVlbgogICAgICAgcmVhZC4g ICovCkBAIC0xOTAsNyArMTkwLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFp bi5jCiAgCiAgICBpZiAoYmF0Y2hfZmxhZykKICAgICAgewotQEAgLTEyMDcsMjQgKzEyNDAsMzcg QEAgc3RhdGljIHZvaWQKK0BAIC0xMjA1LDIyICsxMjM4LDM1IEBAIHN0YXRpYyB2b2lkCiAgY2Fw dHVyZWRfbWFpbiAodm9pZCAqZGF0YSkKICB7CiAgICBzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdz ICpjb250ZXh0ID0gKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKikgZGF0YTsKQEAgLTIwNywx MSArMjA3LDExIEBAIGRpZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIvZ2RiL21haW4uYwogKyNpZiBI QVZFX1BZVEhPTgogKyAgaWYgKHB5dGhvbl9zY3JpcHQpCiAgICAgIHsKLS0gICAgICBUUlkKKy0g ICAgICB0cnkKIC0JewogLQkgIGNhcHR1cmVkX2NvbW1hbmRfbG9vcCAoKTsKIC0JfQotLSAgICAg IENBVENIIChleCwgUkVUVVJOX01BU0tfQUxMKQorLSAgICAgIGNhdGNoIChjb25zdCBnZGJfZXhj ZXB0aW9uICZleCkKICsgICAgICBleHRlcm4gaW50IHBhZ2luYXRpb25fZW5hYmxlZDsKICsgICAg ICBwYWdpbmF0aW9uX2VuYWJsZWQgPSAwOwogKyAgICAgIHJ1bl9weXRob25fc2NyaXB0IChjb250 ZXh0LT5hcmdjIC0gb3B0aW5kLCAmY29udGV4dC0+YXJndltvcHRpbmRdKTsKQEAgLTIyNywyMSAr MjI3LDE4IEBAIGRpZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIvZ2RiL21haW4uYwogKyAgICAgIHdo aWxlICgxKQogIAl7CiAtCSAgZXhjZXB0aW9uX3ByaW50IChnZGJfc3RkZXJyLCBleCk7Ci0rCSAg VFJZCisrCSAgdHJ5CiArCSAgICB7CiArCSAgICAgIGNhcHR1cmVkX2NvbW1hbmRfbG9vcCAoKTsK ICsJICAgIH0KLSsJICBDQVRDSCAoZXgsIFJFVFVSTl9NQVNLX0FMTCkKKysJICBjYXRjaCAoY29u c3QgZ2RiX2V4Y2VwdGlvbiAmZXgpCiArCSAgICB7CiArCSAgICAgIGV4Y2VwdGlvbl9wcmludCAo Z2RiX3N0ZGVyciwgZXgpOwogKwkgICAgfQotKwkgIEVORF9DQVRDSAogIAl9Ci0tICAgICAgRU5E X0NBVENICiAgICAgIH0KICAgIC8qIE5vIGV4aXQgLS0gZXhpdCBpcyB0aHJvdWdoIHF1aXRfY29t bWFuZC4gICovCi0gfQotQEAgLTEyNjcsNiArMTMxMywxMiBAQCBwcmludF9nZGJfaGVscCAoc3Ry dWN0IHVpX2ZpbGUgKnN0cmVhbSkKK0BAIC0xMjYzLDYgKzEzMDksMTIgQEAgcHJpbnRfZ2RiX2hl bHAgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0pCiAgICBmcHV0c191bmZpbHRlcmVkIChfKCJcCiAg VGhpcyBpcyB0aGUgR05VIGRlYnVnZ2VyLiAgVXNhZ2U6XG5cblwKICAgICAgZ2RiIFtvcHRpb25z XSBbZXhlY3V0YWJsZS1maWxlIFtjb3JlLWZpbGUgb3IgcHJvY2Vzcy1pZF1dXG5cCkBAIC0yNTQs NyArMjUxLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFpbi5jCiAgICAgIGdk YiBbb3B0aW9uc10gLS1hcmdzIGV4ZWN1dGFibGUtZmlsZSBbaW5mZXJpb3ItYXJndW1lbnRzIC4u Ll1cblxuXAogICIpLCBzdHJlYW0pOwogICAgZnB1dHNfdW5maWx0ZXJlZCAoXygiXAotQEAgLTEz MTIsNiArMTM2NCwxMyBAQCBPdXRwdXQgYW5kIHVzZXIgaW50ZXJmYWNlIGNvbnRyb2w6XG5cblwK K0BAIC0xMzA4LDYgKzEzNjAsMTMgQEAgT3V0cHV0IGFuZCB1c2VyIGludGVyZmFjZSBjb250cm9s OlxuXG5cCiAgI2VuZGlmCiAgICBmcHV0c191bmZpbHRlcmVkIChfKCJcCiAgICAtLWRieCAgICAg ICAgICAgICAgREJYIGNvbXBhdGliaWxpdHkgbW9kZS5cblwKQEAgLTM3NCw3ICszNzEsNyBAQCBk aWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9weXRob24uYyBiL2dkYi9weXRob24vcHl0aG9uLmMKICAj aW5jbHVkZSAidGFyZ2V0LmgiCiAgI2luY2x1ZGUgImdkYnRocmVhZC5oIgogICNpbmNsdWRlICJp bnRlcnBzLmgiCi1AQCAtMTI4Myw2ICsxMjg1LDk0IEBAIGdkYnB5X3ByaW50X3N0YWNrX29yX3F1 aXQgKCkKK0BAIC0xMjc2LDYgKzEyNzgsOTQgQEAgZ2RicHlfcHJpbnRfc3RhY2tfb3JfcXVpdCAo KQogIAogIAwKICAKQEAgLTQ2OSw3ICs0NjYsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9w eXRob24uYyBiL2dkYi9weXRob24vcHl0aG9uLmMKICAvKiBSZXR1cm4gYSBzZXF1ZW5jZSBob2xk aW5nIGFsbCB0aGUgUHJvZ3NwYWNlcy4gICovCiAgCiAgc3RhdGljIFB5T2JqZWN0ICoKLUBAIC0x OTM1LDYgKzIwMjUsOCBAQCBQeU1ldGhvZERlZiBweXRob25fR2RiTWV0aG9kc1tdID0KK0BAIC0x OTI4LDYgKzIwMTgsOCBAQCBQeU1ldGhvZERlZiBweXRob25fR2RiTWV0aG9kc1tdID0KICBFdmFs dWF0ZSBjb21tYW5kLCBhIHN0cmluZywgYXMgYSBnZGIgQ0xJIGNvbW1hbmQuICBPcHRpb25hbGx5 IHJldHVybnNcblwKICBhIFB5dGhvbiBTdHJpbmcgY29udGFpbmluZyB0aGUgb3V0cHV0IG9mIHRo ZSBjb21tYW5kIGlmIHRvX3N0cmluZyBpc1xuXAogIHNldCB0byBUcnVlLiIgfSwKCmRpZmYgLS1n aXQgYS9nZGItYXR0YWNoLWZhaWwtcmVhc29ucy01b2Y1LnBhdGNoIGIvZ2RiLWF0dGFjaC1mYWls LXJlYXNvbnMtNW9mNS5wYXRjaAppbmRleCAxZWQ3OGRhLi4xZjI0OGMzIDEwMDY0NAotLS0gYS9n ZGItYXR0YWNoLWZhaWwtcmVhc29ucy01b2Y1LnBhdGNoCisrKyBiL2dkYi1hdHRhY2gtZmFpbC1y ZWFzb25zLTVvZjUucGF0Y2gKQEAgLTI1NSw3ICsyNTUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2dk YnNlcnZlci9jb25maWd1cmUuYWMgYi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYwogZGlmZiAt LWdpdCBhL2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMgYi9nZGIvZ2Ric2VydmVyL2xpbnV4LWxv dy5jCiAtLS0gYS9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCiArKysgYi9nZGIvZ2Ric2VydmVy L2xpbnV4LWxvdy5jCi1AQCAtOTY3LDcgKzk2NywxNiBAQCBsaW51eF9wdHJhY2VfZnVuICgpCitA QCAtOTcxLDcgKzk3MSwxNiBAQCBsaW51eF9wdHJhY2VfZnVuICgpCiAgewogICAgaWYgKHB0cmFj ZSAoUFRSQUNFX1RSQUNFTUUsIDAsIChQVFJBQ0VfVFlQRV9BUkczKSAwLAogIAkgICAgICAoUFRS QUNFX1RZUEVfQVJHNCkgMCkgPCAwKQpAQCAtMjc2LDIyICsyNzYsMjEgQEAgZGlmZiAtLWdpdCBh L2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMgYi9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCiBk aWZmIC0tZ2l0IGEvZ2RiL2xpbnV4LW5hdC5jIGIvZ2RiL2xpbnV4LW5hdC5jCiAtLS0gYS9nZGIv bGludXgtbmF0LmMKICsrKyBiL2dkYi9saW51eC1uYXQuYwotQEAgLTEwOTgsNyArMTA5OCwxNyBA QCBsaW51eF9uYXRfdGFyZ2V0OjpjcmVhdGVfaW5mZXJpb3IgKGNvbnN0IGNoYXIgKmV4ZWNfZmls ZSwKK0BAIC0xMDk4LDcgKzEwOTgsMTYgQEAgbGludXhfbmF0X3RhcmdldDo6Y3JlYXRlX2luZmVy aW9yIChjb25zdCBjaGFyICpleGVjX2ZpbGUsCiAgICAvKiBNYWtlIHN1cmUgd2UgcmVwb3J0IGFs bCBzaWduYWxzIGR1cmluZyBzdGFydHVwLiAgKi8KICAgIHBhc3Nfc2lnbmFscyAoe30pOwogIAog LSAgaW5mX3B0cmFjZV90YXJnZXQ6OmNyZWF0ZV9pbmZlcmlvciAoZXhlY19maWxlLCBhbGxhcmdz LCBlbnYsIGZyb21fdHR5KTsKLSsgIFRSWQorKyAgdHJ5CiArICAgIHsKICsgICAgICBpbmZfcHRy YWNlX3RhcmdldDo6Y3JlYXRlX2luZmVyaW9yIChleGVjX2ZpbGUsIGFsbGFyZ3MsIGVudiwgZnJv bV90dHkpOwogKyAgICB9Ci0rICBDQVRDSCAoZXgsIFJFVFVSTl9NQVNLX0VSUk9SKQorKyAgY2F0 Y2ggKGNvbnN0IGdkYl9leGNlcHRpb25fZXJyb3IgJmV4KQogKyAgICB7CiArICAgICAgc3RkOjpz dHJpbmcgcmVzdWx0ID0gIGxpbnV4X3B0cmFjZV9jcmVhdGVfd2FybmluZ3MgKCk7CiArCi0rICAg ICAgdGhyb3dfZXJyb3IgKGV4LmVycm9yLCAiJXMlcyIsIHJlc3VsdC5jX3N0ciAoKSwgZXgubWVz c2FnZSk7CisrICAgICAgdGhyb3dfZXJyb3IgKGV4LmVycm9yLCAiJXMlcyIsIHJlc3VsdC5jX3N0 ciAoKSwgZXgubWVzc2FnZS0+Y19zdHIgKCkpOwogKyAgICB9Ci0rICBFTkRfQ0FUQ0gKICB9CiAg CiAgLyogQ2FsbGJhY2sgZm9yIGxpbnV4X3Byb2NfYXR0YWNoX3RnaWRfdGhyZWFkcy4gIEF0dGFj aCB0byBQVElEIGlmIG5vdAoKZGlmZiAtLWdpdCBhL2dkYi1idHJvYnVzdC5wYXRjaCBiL2dkYi1i dHJvYnVzdC5wYXRjaAppbmRleCBjMTYyNjI4Li43ZmU5ZWIzIDEwMDY0NAotLS0gYS9nZGItYnRy b2J1c3QucGF0Y2gKKysrIGIvZ2RiLWJ0cm9idXN0LnBhdGNoCkBAIC0xNCw3ICsxNCw3IEBAIHBy aW50ZWQsIGJ1dCBhIGRlZmF1bHQgYmFja3RyYWNlIHdpbGwgb2NjdXIgaW4gdGhpcyBjYXNlLgog ZGlmZiAtLWdpdCBhL2dkYi9weXRob24vcHktZnJhbWVmaWx0ZXIuYyBiL2dkYi9weXRob24vcHkt ZnJhbWVmaWx0ZXIuYwogLS0tIGEvZ2RiL3B5dGhvbi9weS1mcmFtZWZpbHRlci5jCiArKysgYi9n ZGIvcHl0aG9uL3B5LWZyYW1lZmlsdGVyLmMKLUBAIC0xMTM5LDYgKzExMzksNyBAQCBnZGJweV9h cHBseV9mcmFtZV9maWx0ZXIgKGNvbnN0IHN0cnVjdCBleHRlbnNpb25fbGFuZ3VhZ2VfZGVmbiAq ZXh0bGFuZywKK0BAIC0xMTM4LDYgKzExMzgsNyBAQCBnZGJweV9hcHBseV9mcmFtZV9maWx0ZXIg KGNvbnN0IHN0cnVjdCBleHRlbnNpb25fbGFuZ3VhZ2VfZGVmbiAqZXh0bGFuZywKICAJCQkJICAg ICAgIGh0YWJfZXFfcG9pbnRlciwKICAJCQkJICAgICAgIE5VTEwpKTsKICAKQEAgLTIyLDcgKzIy LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9weXRob24vcHktZnJhbWVmaWx0ZXIuYyBiL2dkYi9weXRo b24vcHktZnJhbWVmaWx0ZXIuYwogICAgd2hpbGUgKHRydWUpCiAgICAgIHsKICAgICAgICBnZGJw eV9yZWY8PiBpdGVtIChQeUl0ZXJfTmV4dCAoaXRlcmFibGUuZ2V0ICgpKSk7Ci1AQCAtMTE0Nyw4 ICsxMTQ4LDggQEAgZ2RicHlfYXBwbHlfZnJhbWVfZmlsdGVyIChjb25zdCBzdHJ1Y3QgZXh0ZW5z aW9uX2xhbmd1YWdlX2RlZm4gKmV4dGxhbmcsCitAQCAtMTE0Niw4ICsxMTQ3LDggQEAgZ2RicHlf YXBwbHlfZnJhbWVfZmlsdGVyIChjb25zdCBzdHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1YWdlX2RlZm4g KmV4dGxhbmcsCiAgCXsKICAJICBpZiAoUHlFcnJfT2NjdXJyZWQgKCkpCiAgCSAgICB7CkBAIC0z Myw3ICszMyw3IEBAIGRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5LWZyYW1lZmlsdGVyLmMgYi9n ZGIvcHl0aG9uL3B5LWZyYW1lZmlsdGVyLmMKICAJICAgIH0KICAJICBicmVhazsKICAJfQotQEAg LTExODEsNyArMTE4Miw4IEBAIGdkYnB5X2FwcGx5X2ZyYW1lX2ZpbHRlciAoY29uc3Qgc3RydWN0 IGV4dGVuc2lvbl9sYW5ndWFnZV9kZWZuICpleHRsYW5nLAorQEAgLTExNzksNyArMTE4MCw4IEBA IGdkYnB5X2FwcGx5X2ZyYW1lX2ZpbHRlciAoY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFn ZV9kZWZuICpleHRsYW5nLAogICAgICAgIC8qIERvIG5vdCBleGl0IG9uIGVycm9yIHByaW50aW5n IGEgc2luZ2xlIGZyYW1lLiAgUHJpbnQgdGhlCiAgCSBlcnJvciBhbmQgY29udGludWUgd2l0aCBv dGhlciBmcmFtZXMuICAqLwogICAgICAgIGlmIChzdWNjZXNzID09IEVYVF9MQU5HX0JUX0VSUk9S KQoKZGlmZiAtLWdpdCBhL2dkYi1iejEyMTk3NDctYXR0YWNoLWtpbGxzLnBhdGNoIGIvZ2RiLWJ6 MTIxOTc0Ny1hdHRhY2gta2lsbHMucGF0Y2gKaW5kZXggNGVkNmMwZC4uYWNhZDBiNiAxMDA2NDQK LS0tIGEvZ2RiLWJ6MTIxOTc0Ny1hdHRhY2gta2lsbHMucGF0Y2gKKysrIGIvZ2RiLWJ6MTIxOTc0 Ny1hdHRhY2gta2lsbHMucGF0Y2gKQEAgLTgwLDcgKzgwLDcgQEAgZ2RiL3Rlc3RzdWl0ZS9DaGFu Z2VMb2cKIGRpZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIvZ2RiL21haW4uYwogLS0tIGEvZ2RiL21h aW4uYwogKysrIGIvZ2RiL21haW4uYwotQEAgLTExMjEsNyArMTEyMSwxMCBAQCBjYXB0dXJlZF9t YWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitAQCAtMTExOSw3ICsx MTE5LDEwIEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29u dGV4dCkKICAJewogIAkgIHJldCA9IGNhdGNoX2NvbW1hbmRfZXJyb3JzIChhdHRhY2hfY29tbWFu ZCwgcGlkX29yX2NvcmVfYXJnLAogIAkJCQkgICAgICAhYmF0Y2hfZmxhZyk7CgpkaWZmIC0tZ2l0 IGEvZ2RiLWJ6NTMzMTc2LWZvcnRyYW4tb21wLXN0ZXAucGF0Y2ggYi9nZGItYno1MzMxNzYtZm9y dHJhbi1vbXAtc3RlcC5wYXRjaAppbmRleCA2OWIyNTUyLi5iOGE0YWM0IDEwMDY0NAotLS0gYS9n ZGItYno1MzMxNzYtZm9ydHJhbi1vbXAtc3RlcC5wYXRjaAorKysgYi9nZGItYno1MzMxNzYtZm9y dHJhbi1vbXAtc3RlcC5wYXRjaApAQCAtMzAsNyArMzAsNyBAQCBkZWJ1Z2dpbmcgcHJvYmxlbSBv ZiBHT01QIG91dHNpZGUgb2YgdGhlIHNjb3BlIG9mIHRoaXMgQnVnLgogZGlmZiAtLWdpdCBhL2dk Yi9pbmZydW4uYyBiL2dkYi9pbmZydW4uYwogLS0tIGEvZ2RiL2luZnJ1bi5jCiArKysgYi9nZGIv aW5mcnVuLmMKLUBAIC02NDkyLDYgKzY0OTIsMTYgQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3Qg KHN0cnVjdCBleGVjdXRpb25fY29udHJvbF9zdGF0ZSAqZWNzKQorQEAgLTY0NDgsNiArNjQ0OCwx NiBAQCBwcm9jZXNzX2V2ZW50X3N0b3BfdGVzdCAoc3RydWN0IGV4ZWN1dGlvbl9jb250cm9sX3N0 YXRlICplY3MpCiAgCiAgICAgICAgaWYgKGVjcy0+ZXZlbnRfdGhyZWFkLT5jb250cm9sLnN0ZXBf b3Zlcl9jYWxscyA9PSBTVEVQX09WRVJfQUxMKQogIAl7CkBAIC00Nyw3ICs0Nyw3IEBAIGRpZmYg LS1naXQgYS9nZGIvaW5mcnVuLmMgYi9nZGIvaW5mcnVuLmMKICAJICAvKiBXZSdyZSBkb2luZyBh ICJuZXh0Ii4KICAKICAJICAgICBOb3JtYWwgKGZvcndhcmQpIGV4ZWN1dGlvbjogc2V0IGEgYnJl YWtwb2ludCBhdCB0aGUKLUBAIC02NTI1LDYgKzY1MzUsNyBAQCBwcm9jZXNzX2V2ZW50X3N0b3Bf dGVzdCAoc3RydWN0IGV4ZWN1dGlvbl9jb250cm9sX3N0YXRlICplY3MpCitAQCAtNjQ4MSw2ICs2 NDkxLDcgQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3QgKHN0cnVjdCBleGVjdXRpb25fY29udHJv bF9zdGF0ZSAqZWNzKQogIAogIAkgIGtlZXBfZ29pbmcgKGVjcyk7CiAgCSAgcmV0dXJuOwoKZGlm ZiAtLWdpdCBhL2dkYi1iejU0MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1bi5wYXRjaCBiL2dkYi1iejU0 MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1bi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggYjdjOGVjZi4uMDAwMDAwMAotLS0gYS9nZGItYno1NDE4NjYtcndhdGNoLWJlZm9yZS1ydW4u cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNzUgKzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hF UyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52 YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1T dWJqZWN0OiBnZGItYno1NDE4NjYtcndhdGNoLWJlZm9yZS1ydW4ucGF0Y2gKLQotOzsgRml4IGkz ODYreDg2XzY0IHJ3YXRjaCthd2F0Y2ggYmVmb3JlIHJ1biwgcmVncmVzc2lvbiBhZ2FpbnN0IDYu OCAoQlogNTQxODY2KS4KLTs7IEZpeCBpMzg2IHJ3YXRjaCthd2F0Y2ggYmVmb3JlIHJ1biAoQlog Njg4Nzg4LCBvbiB0b3Agb2YgQlogNTQxODY2KS4KLTs7PXB1c2gramFuOiBJdCBzaG91bGQgYmUg Zml4ZWQgcHJvcGVybHkgaW5zdGVhZC4KLQotZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmMg Yi9nZGIvYnJlYWtwb2ludC5jCi0tLS0gYS9nZGIvYnJlYWtwb2ludC5jCi0rKysgYi9nZGIvYnJl YWtwb2ludC5jCi1AQCAtODc4Myw3ICs4NzgzLDcgQEAgaW5pdF9icmVha3BvaW50X3NhbCAoc3Ry dWN0IGJyZWFrcG9pbnQgKmIsIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAotIAkJICAgICBpbnQg ZW5hYmxlZCwgaW50IGludGVybmFsLCB1bnNpZ25lZCBmbGFncywKLSAJCSAgICAgaW50IGRpc3Bs YXlfY2Fub25pY2FsKQotIHsKLS0gIGludCBpOwotKyAgaW50IGkgQVRUUklCVVRFX1VOVVNFRDsK LSAKLSAgIGlmICh0eXBlID09IGJwX2hhcmR3YXJlX2JyZWFrcG9pbnQpCi0gICAgIHsKLUBAIC0x NDI4MSw3ICsxNDI4MSw3IEBAIGVuYWJsZV9icmVha3BvaW50X2Rpc3AgKHN0cnVjdCBicmVha3Bv aW50ICpicHQsIGVudW0gYnBkaXNwIGRpc3Bvc2l0aW9uLAotIAotICAgaWYgKGJwdC0+dHlwZSA9 PSBicF9oYXJkd2FyZV9icmVha3BvaW50KQotICAgICB7Ci0tICAgICAgaW50IGk7Ci0rICAgICAg aW50IGkgQVRUUklCVVRFX1VOVVNFRDsKLSAgICAgICBpID0gaHdfYnJlYWtwb2ludF91c2VkX2Nv dW50ICgpOwotICAgICAgIHRhcmdldF9yZXNvdXJjZXNfb2sgPSAKLSAJdGFyZ2V0X2Nhbl91c2Vf aGFyZHdhcmVfd2F0Y2hwb2ludCAoYnBfaGFyZHdhcmVfYnJlYWtwb2ludCwgCi1kaWZmIC0tZ2l0 IGEvZ2RiL2NvbmZpZy9pMzg2L25tLWxpbnV4LmggYi9nZGIvY29uZmlnL2kzODYvbm0tbGludXgu aAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi9jb25maWcv aTM4Ni9ubS1saW51eC5oCi1AQCAtMCwwICsxLDI4IEBACi0rLyogTmF0aXZlIHN1cHBvcnQgZm9y IEdOVS9MaW51eCBpMzg2LgotKwotKyAgIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdEQi4KLSsKLSsgICBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0r Ci0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2Vl IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rI2lmbmRlZiBOTV9MSU5V WF9ICi0rI2RlZmluZSBOTV9MSU5VWF9ICi0rCi0rI2luY2x1ZGUgImNvbmZpZy9ubS1saW51eC5o IgotKwotKy8qIFJlZCBIYXQgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGdkYi02LjguICAq LwotKyNkZWZpbmUgdGFyZ2V0X2Nhbl91c2VfaGFyZHdhcmVfd2F0Y2hwb2ludCh0eXBlLCBjbnQs IG90KSAxCi0rCi0rI2VuZGlmIC8qIE5NX0xJTlVYNjRfSCAqLwotZGlmZiAtLWdpdCBhL2dkYi9j b25maWcvaTM4Ni9ubS1saW51eDY0LmggYi9nZGIvY29uZmlnL2kzODYvbm0tbGludXg2NC5oCi1u ZXcgZmlsZSBtb2RlIDEwMDY0NAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL2NvbmZpZy9pMzg2 L25tLWxpbnV4NjQuaAotQEAgLTAsMCArMSwyOCBAQAotKy8qIE5hdGl2ZSBzdXBwb3J0IGZvciBH TlUvTGludXggYW1kNjQuCi0rCi0rICAgQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCi0rCi0rICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0RCLgotKwotKyAgIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsK LSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLSsjaWZuZGVmIE5NX0xJTlVY NjRfSAotKyNkZWZpbmUgTk1fTElOVVg2NF9ICi0rCi0rI2luY2x1ZGUgImNvbmZpZy9ubS1saW51 eC5oIgotKwotKy8qIFJlZCBIYXQgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGdkYi02Ljgu ICAqLwotKyNkZWZpbmUgdGFyZ2V0X2Nhbl91c2VfaGFyZHdhcmVfd2F0Y2hwb2ludCh0eXBlLCBj bnQsIG90KSAxCi0rCi0rI2VuZGlmIC8qIE5NX0xJTlVYNjRfSCAqLwotZGlmZiAtLWdpdCBhL2dk Yi9jb25maWd1cmUubmF0IGIvZ2RiL2NvbmZpZ3VyZS5uYXQKLS0tLSBhL2dkYi9jb25maWd1cmUu bmF0Ci0rKysgYi9nZGIvY29uZmlndXJlLm5hdAotQEAgLTI0NSw2ICsyNDUsNyBAQCBjYXNlICR7 Z2RiX2hvc3R9IGluCi0gCQk7OwotIAkgICAgaTM4NikKLSAJCSMgSG9zdDogSW50ZWwgMzg2IHJ1 bm5pbmcgR05VL0xpbnV4LgotKwkJTkFUX0ZJTEU9IiR7c3JjZGlyfS9jb25maWcvJHtnZGJfaG9z dF9jcHV9L25tLWxpbnV4LmgiCi0gCQlOQVRERVBGSUxFUz0iJHtOQVRERVBGSUxFU30geDg2LW5h dC5vIG5hdC94ODYtZHJlZ3MubyBcCi0gCQlpMzg2LWxpbnV4LW5hdC5vIHg4Ni1saW51eC1uYXQu byBuYXQvbGludXgtYnRyYWNlLm8gXAotIAkJbmF0L3g4Ni1saW51eC5vIG5hdC94ODYtbGludXgt ZHJlZ3MubyIKLUBAIC0zMDEsNiArMzAyLDcgQEAgY2FzZSAke2dkYl9ob3N0fSBpbgotIAljYXNl ICR7Z2RiX2hvc3RfY3B1fSBpbgotIAkgICAgaTM4NikKLSAJCSMgSG9zdDogR05VL0xpbnV4IHg4 Ni02NAotKwkJTkFUX0ZJTEU9IiR7c3JjZGlyfS9jb25maWcvJHtnZGJfaG9zdF9jcHV9L25tLWxp bnV4NjQuaCIKLSAJCU5BVERFUEZJTEVTPSIke05BVERFUEZJTEVTfSB4ODYtbmF0Lm8gbmF0L3g4 Ni1kcmVncy5vIFwKLSAJCWFtZDY0LW5hdC5vIGFtZDY0LWxpbnV4LW5hdC5vIHg4Ni1saW51eC1u YXQubyBcCi0gCQluYXQvbGludXgtYnRyYWNlLm8gXAotZGlmZiAtLWdpdCBhL2dkYi90YXJnZXQu aCBiL2dkYi90YXJnZXQuaAotLS0tIGEvZ2RiL3RhcmdldC5oCi0rKysgYi9nZGIvdGFyZ2V0LmgK LUBAIC0xOTcxLDkgKzE5NzEsMTEgQEAgZXh0ZXJuIHN0cnVjdCB0aHJlYWRfaW5mbyAqdGFyZ2V0 X3RocmVhZF9oYW5kbGVfdG9fdGhyZWFkX2luZm8KLSAgICBvbmUuICBPVEhFUlRZUEUgaXMgdGhl IG51bWJlciBvZiB3YXRjaHBvaW50cyBvZiBvdGhlciB0eXBlcyB0aGFuCi0gICAgdGhpcyBvbmUg dXNlZCBzbyBmYXIuICAqLwotIAotKyNpZm5kZWYgdGFyZ2V0X2Nhbl91c2VfaGFyZHdhcmVfd2F0 Y2hwb2ludAotICNkZWZpbmUgdGFyZ2V0X2Nhbl91c2VfaGFyZHdhcmVfd2F0Y2hwb2ludChUWVBF LENOVCxPVEhFUlRZUEUpIFwKLSAgKGN1cnJlbnRfdG9wX3RhcmdldCAoKS0+Y2FuX3VzZV9od19i cmVha3BvaW50KSAoIFwKLSAJCQkJCSAgICAgVFlQRSwgQ05ULCBPVEhFUlRZUEUpCi0rI2VuZGlm Ci0gCi0gLyogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGRlYnVnIHJlZ2lzdGVycyBuZWVkZWQgdG8g d2F0Y2ggdGhlIGdpdmVuCi0gICAgbWVtb3J5IHJlZ2lvbiwgb3IgemVybyBpZiBub3Qgc3VwcG9y dGVkLiAgKi8KLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQt aHctYmVmb3JlLXJ1bi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtaHct YmVmb3JlLXJ1bi5leHAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci0tLS0gL2Rldi9udWxsCi0rKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtaHctYmVmb3JlLXJ1bi5leHAKLUBA IC0wLDAgKzEsNDAgQEAKLSsjIENvcHlyaWdodCAyMDA5LCAyMDEwIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgotKwotKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsjIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rIyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgotKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsjCi0rIyBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKLSsjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCi0rIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgotKyMKLSsjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh bS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSsKLSsjIEFy Y2ggbm90IHN1cHBvcnRpbmcgaHcgd2F0Y2hwb2ludHMgZG9lcyBub3QgaW1wbHkgbm9faGFyZHdh cmVfd2F0Y2hwb2ludHMgc2V0LgotK2lmIHsoIVtpc3RhcmdldCAiaT84Ni0qLSoiXSAmJiAhW2lz dGFyZ2V0ICJ4ODZfNjQtKi0qIl0KLSsgICAgICYmICFbaXN0YXJnZXQgImlhNjQtKi0qIl0pCi0r ICAgIHx8IFt0YXJnZXRfaW5mbyBleGlzdHMgZ2RiLG5vX2hhcmR3YXJlX3dhdGNocG9pbnRzXX0g dGhlbiB7Ci0rICAgIHZlcmJvc2UgIlNraXBwaW5nIHdhdGNocG9pbnQtaHctYmVmb3JlLXJ1biB0 ZXN0LiIKLSsgICAgcmV0dXJuCi0rfQotKwotK3NldCB0ZXN0IHdhdGNocG9pbnQtaHctYmVmb3Jl LXJ1bgotK3NldCBzcmNmaWxlIHdhdGNocG9pbnQtaHctaGl0LW9uY2UuYwotK2lmIHsgW3ByZXBh cmVfZm9yX3Rlc3RpbmcgJHt0ZXN0fS5leHAgJHt0ZXN0fSAke3NyY2ZpbGV9XSB9IHsKLSsgICAg cmV0dXJuIC0xCi0rfQotKwotK2dkYl90ZXN0ICJyd2F0Y2ggd2F0Y2hlZSIgImFyZHdhcmUgcmVh ZCB3YXRjaHBvaW50IDE6IHdhdGNoZWUiCi0rCi0rIyBgcnVudG9fbWFpbicgb3IgYHJ1bnRvIG1h aW4nIHdvdWxkIGRlbGV0ZSB0aGUgd2F0Y2hwb2ludCBjcmVhdGVkIGFib3ZlLgotKwotK2lmIHsg W2dkYl9zdGFydF9jbWRdIDwgMCB9IHsKLSsgICAgdW50ZXN0ZWQgc3RhcnQKLSsgICAgcmV0dXJu IC0xCi0rfQotK2dkYl90ZXN0ICIiICJtYWluIC4qIGF0IC4qIiAic3RhcnQiCi0rCi0rZ2RiX3Rl c3QgImNvbnRpbnVlIiAiQ29udGludWluZy5cclxuXHJcbkhhcmR3YXJlIHJlYWQgd2F0Y2hwb2lu dCBcWzAtOVxdKzogd2F0Y2hlZVxyXG5cclxuVmFsdWUgPSAwXHJcbi4qIgoKZGlmZiAtLWdpdCBh L2dkYi1jb250YWluZXItcmgtcGtnLnBhdGNoIGIvZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gK aW5kZXggNzM5NTVmMC4uZTc3YjQxNSAxMDA2NDQKLS0tIGEvZ2RiLWNvbnRhaW5lci1yaC1wa2cu cGF0Y2gKKysrIGIvZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKQEAgLTksNyArOSw3IEBAIFN1 YmplY3Q6IGdkYi1jb250YWluZXItcmgtcGtnLnBhdGNoCiBkaWZmIC0tZ2l0IGEvZ2RiL3JlbW90 ZS5jIGIvZ2RiL3JlbW90ZS5jCiAtLS0gYS9nZGIvcmVtb3RlLmMKICsrKyBiL2dkYi9yZW1vdGUu YwotQEAgLTEzOTIyLDcgKzEzOTIyLDE3IEBAIHJlbW90ZV90YXJnZXQ6OnBpZF90b19leGVjX2Zp bGUgKGludCBwaWQpCitAQCAtMTM5MjAsNyArMTM5MjAsMTcgQEAgcmVtb3RlX3RhcmdldDo6cGlk X3RvX2V4ZWNfZmlsZSAoaW50IHBpZCkKICAgIGNoYXIgKmFubmV4ID0gTlVMTDsKICAKICAgIGlm IChwYWNrZXRfc3VwcG9ydCAoUEFDS0VUX3FYZmVyX2V4ZWNfZmlsZSkgIT0gUEFDS0VUX0VOQUJM RSkKCmRpZmYgLS1naXQgYS9nZGItZm9sbG93LWNoaWxkLXN0YWxlLXBhcmVudC5wYXRjaCBiL2dk Yi1mb2xsb3ctY2hpbGQtc3RhbGUtcGFyZW50LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA1NzY2MGVkLi4wMDAwMDAwCi0tLSBhL2dkYi1mb2xsb3ctY2hpbGQtc3RhbGUtcGFy ZW50LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotRnJvbSBGRURPUkFfUEFU Q0hFUyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8 aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAw Ci1TdWJqZWN0OiBnZGItZm9sbG93LWNoaWxkLXN0YWxlLXBhcmVudC5wYXRjaAotCi07OyBGaXgg cmVncmVzc2lvbiBieSBweXRob24gb24gaWE2NCBkdWUgdG8gc3RhbGUgY3VycmVudCBmcmFtZS4K LTs7PXB1c2gramFuCi0KLVByb2JsZW0gb2NjdXJzIHdpdGggcHl0aG9uIGFuZCBpdHMgZ2V0X2N1 cnJlbnRfYXJjaCAoKSBhcyBpdCBzZWxlY3RzCi1zZWxlY3RlZF9mcmFtZSBhbmQgY3VycmVudF9m cmFtZSB3aGlsZSBzdGlsbCBpbmZlcmlvcl9wdGlkIGlzIHZhbGlkIGZvciB0aGUKLW9yaWdpbmFs IHBhcmVudC4gIEJ1dCBzaW5jZSB0aGlzIHBsYWNlIGl0IGlzIGFscmVhZHkgYXR0YWNoZWQgYW5k IGxhdGVyCi11bndpbmRlcnMgdHJ5IHRvIGFjY2VzcyBpdCwgYnJlYWtpbmc6Ci0gIC1QQVNTOiBn ZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuZXhwOiBjaGlsZDogc2luZ2xldGhyZWFkZWQ6IGJy ZWFrcG9pbnQgYWZ0ZXIgdGhlIGZpcnN0IGZvcmsKLSAgLVBBU1M6IGdkYi50aHJlYWRzL3dhdGNo cG9pbnQtZm9yay5leHA6IGNoaWxkOiBzaW5nbGV0aHJlYWRlZDogd2F0Y2hwb2ludCBhZnRlciB0 aGUgZmlyc3QgZm9yawotICAtUEFTUzogZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLmV4cDog Y2hpbGQ6IHNpbmdsZXRocmVhZGVkOiBicmVha3BvaW50IGFmdGVyIHRoZSBzZWNvbmQgZm9yawot ICAtUEFTUzogZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLmV4cDogY2hpbGQ6IHNpbmdsZXRo cmVhZGVkOiB3YXRjaHBvaW50IGFmdGVyIHRoZSBzZWNvbmQgZm9yawotICAtUEFTUzogZ2RiLnRo cmVhZHMvd2F0Y2hwb2ludC1mb3JrLmV4cDogY2hpbGQ6IHNpbmdsZXRocmVhZGVkOiBmaW5pc2gK LSAgK0ZBSUw6IGdkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5leHA6IGNoaWxkOiBzaW5nbGV0 aHJlYWRlZDogYnJlYWtwb2ludCBhZnRlciB0aGUgZmlyc3QgZm9yawotICArRkFJTDogZ2RiLnRo cmVhZHMvd2F0Y2hwb2ludC1mb3JrLmV4cDogY2hpbGQ6IHNpbmdsZXRocmVhZGVkOiB3YXRjaHBv aW50IGFmdGVyIHRoZSBmaXJzdCBmb3JrCi0gICtGQUlMOiBnZGIudGhyZWFkcy93YXRjaHBvaW50 LWZvcmsuZXhwOiBjaGlsZDogc2luZ2xldGhyZWFkZWQ6IGJyZWFrcG9pbnQgYWZ0ZXIgdGhlIHNl Y29uZCBmb3JrCi0gICtGQUlMOiBnZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuZXhwOiBjaGls ZDogc2luZ2xldGhyZWFkZWQ6IHdhdGNocG9pbnQgYWZ0ZXIgdGhlIHNlY29uZCBmb3JrCi0gICtG QUlMOiBnZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuZXhwOiBjaGlsZDogc2luZ2xldGhyZWFk ZWQ6IGZpbmlzaAotCi1kaWZmIC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCi0t LS0gYS9nZGIvaW5mcnVuLmMKLSsrKyBiL2dkYi9pbmZydW4uYwotQEAgLTc1NSw2ICs3NTUsOSBA QCBmb2xsb3dfZm9yayAodm9pZCkKLSAJICB9Ci0gCWVsc2UKLSAJICB7Ci0rCSAgICAvKiBQb3Nz aWJseSByZWZlcmVuY2VkIFBBUkVOVCBpcyBubyBsb25nZXIgdmFsaWQuICAqLwotKwkgICAgcmVp bml0X2ZyYW1lX2NhY2hlICgpOwotKwotIAkgICAgLyogVGhpcyBwZW5kaW5nIGZvbGxvdyBmb3Jr IGV2ZW50IGlzIG5vdyBoYW5kbGVkLCBvbmUgd2F5Ci0gCSAgICAgICBvciBhbm90aGVyLiAgVGhl IHByZXZpb3VzIHNlbGVjdGVkIHRocmVhZCBtYXkgYmUgZ29uZQotIAkgICAgICAgZnJvbSB0aGUg bGlzdHMgYnkgbm93LCBidXQgaWYgaXQgaXMgc3RpbGwgYXJvdW5kLCBuZWVkCgpkaWZmIC0tZ2l0 IGEvZ2RiLWduYXQtZHdhcmYtY3Jhc2gtM29mMy5wYXRjaCBiL2dkYi1nbmF0LWR3YXJmLWNyYXNo LTNvZjMucGF0Y2gKaW5kZXggNDg2NTcxNS4uMDBlMTIzZSAxMDA2NDQKLS0tIGEvZ2RiLWduYXQt ZHdhcmYtY3Jhc2gtM29mMy5wYXRjaAorKysgYi9nZGItZ25hdC1kd2FyZi1jcmFzaC0zb2YzLnBh dGNoCkBAIC00Miw3ICs0Miw3IEBAIGdkYi8KIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5j IGIvZ2RiL2R3YXJmMnJlYWQuYwogLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYwogKysrIGIvZ2RiL2R3 YXJmMnJlYWQuYwotQEAgLTEwNTg3LDYgKzEwNTg3LDEzIEBAIHByaXZhdGU6CitAQCAtMTA1ODYs NiArMTA1ODYsMTMgQEAgcHJpdmF0ZToKICBzdGF0aWMgdm9pZAogIHByb2Nlc3NfZGllIChzdHJ1 Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgewpAQCAtOTksNyArOTks NyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2xpbnV4LW5hdC5jIGIvZ2RiL2xpbnV4LW5hdC5jCiAgCiAg ICAgICAgLyogVGhlIHByb2Nlc3MgaXMgZGVmaW5pdGVseSBzdG9wcGVkLiAgSXQgaXMgaW4gYSBq b2IgY29udHJvbAogIAkgc3RvcCwgdW5sZXNzIHRoZSBrZXJuZWwgcHJlZGF0ZXMgdGhlIFRBU0tf U1RPUFBFRCAvCi1AQCAtMTM2OCw2ICsxMzc3LDI1IEBAIGdldF9kZXRhY2hfc2lnbmFsIChzdHJ1 Y3QgbHdwX2luZm8gKmxwKQorQEAgLTEzNjcsNiArMTM3NiwyNSBAQCBnZXRfZGV0YWNoX3NpZ25h bCAoc3RydWN0IGx3cF9pbmZvICpscCkKICAgICAgICByZXR1cm4gZ2RiX3NpZ25hbF90b19ob3N0 IChzaWdubyk7CiAgICAgIH0KICAKQEAgLTEyNSw3ICsxMjUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2Ri L2xpbnV4LW5hdC5jIGIvZ2RiL2xpbnV4LW5hdC5jCiAgICByZXR1cm4gMDsKICB9CiAgCi1AQCAt MTUxNyw2ICsxNTQ1LDEwIEBAIGxpbnV4X25hdF90YXJnZXQ6OmRldGFjaCAoaW5mZXJpb3IgKmlu ZiwgaW50IGZyb21fdHR5KQorQEAgLTE1MTUsNiArMTU0MywxMCBAQCBsaW51eF9uYXRfdGFyZ2V0 OjpkZXRhY2ggKGluZmVyaW9yICppbmYsIGludCBmcm9tX3R0eSkKICAgICAgICBkZXRhY2hfb25l X2x3cCAobWFpbl9sd3AsICZzaWdubyk7CiAgCiAgICAgICAgZGV0YWNoX3N1Y2Nlc3MgKGluZik7 CkBAIC0xMzYsNyArMTM2LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9saW51eC1uYXQuYyBiL2dkYi9s aW51eC1uYXQuYwogICAgICB9CiAgfQogIAotQEAgLTE3NzUsNiArMTgwNywxNiBAQCBsaW51eF9u YXRfdGFyZ2V0OjpyZXN1bWUgKHB0aWRfdCBwdGlkLCBpbnQgc3RlcCwgZW51bSBnZGJfc2lnbmFs IHNpZ25vKQorQEAgLTE3NzIsNiArMTgwNCwxNiBAQCBsaW51eF9uYXRfdGFyZ2V0OjpyZXN1bWUg KHB0aWRfdCBwdGlkLCBpbnQgc3RlcCwgZW51bSBnZGJfc2lnbmFsIHNpZ25vKQogICAgICAgIHJl dHVybjsKICAgICAgfQogIApAQCAtMTUzLDcgKzE1Myw3IEBAIGRpZmYgLS1naXQgYS9nZGIvbGlu dXgtbmF0LmMgYi9nZGIvbGludXgtbmF0LmMKICAgIGlmIChyZXN1bWVfbWFueSkKICAgICAgaXRl cmF0ZV9vdmVyX2x3cHMgKHB0aWQsIFs9XSAoc3RydWN0IGx3cF9pbmZvICppbmZvKQogIAkJCSAg ICAgewotQEAgLTM3NzcsNiArMzgxOSwxMCBAQCBsaW51eF9uYXRfdGFyZ2V0Ojptb3Vybl9pbmZl cmlvciAoKQorQEAgLTM3NzMsNiArMzgxNSwxMCBAQCBsaW51eF9uYXRfdGFyZ2V0Ojptb3Vybl9p bmZlcmlvciAoKQogIAogICAgLyogTGV0IHRoZSBhcmNoLXNwZWNpZmljIG5hdGl2ZSBjb2RlIGtu b3cgdGhpcyBwcm9jZXNzIGlzIGdvbmUuICAqLwogICAgbGludXhfdGFyZ2V0LT5sb3dfZm9yZ2V0 X3Byb2Nlc3MgKHBpZCk7CgpkaWZmIC0tZ2l0IGEvZ2RiLW1vcmlidW5kLXV0cmFjZS13b3JrYXJv dW5kLnBhdGNoIGIvZ2RiLW1vcmlidW5kLXV0cmFjZS13b3JrYXJvdW5kLnBhdGNoCmluZGV4IDRm YWNiNzQuLmM4MTkwZDcgMTAwNjQ0Ci0tLSBhL2dkYi1tb3JpYnVuZC11dHJhY2Utd29ya2Fyb3Vu ZC5wYXRjaAorKysgYi9nZGItbW9yaWJ1bmQtdXRyYWNlLXdvcmthcm91bmQucGF0Y2gKQEAgLTE0 LDcgKzE0LDcgQEAgQnVnIGluIEZTRiBHREIgZXhwbG9pdGVkIGJ5IHRoZSBwdHJhY2Utb24tdXRy YWNlIGludGVyYWN0aW9uLgogZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmMgYi9nZGIvYnJl YWtwb2ludC5jCiAtLS0gYS9nZGIvYnJlYWtwb2ludC5jCiArKysgYi9nZGIvYnJlYWtwb2ludC5j Ci1AQCAtMTE5MzksNiArMTE5MzksOCBAQCB1cGRhdGVfZ2xvYmFsX2xvY2F0aW9uX2xpc3QgKGVu dW0gdWdsbF9pbnNlcnRfbW9kZSBpbnNlcnRfbW9kZSkKK0BAIC0xMTkzMSw2ICsxMTkzMSw4IEBA IHVwZGF0ZV9nbG9iYWxfbG9jYXRpb25fbGlzdCAoZW51bSB1Z2xsX2luc2VydF9tb2RlIGluc2Vy dF9tb2RlKQogIAkJIHRyYXBzIHdlIGNhbiBubyBsb25nZXIgZXhwbGFpbi4gICovCiAgCiAgCSAg ICAgIG9sZF9sb2MtPmV2ZW50c190aWxsX3JldGlyZW1lbnQgPSAzICogKHRocmVhZF9jb3VudCAo KSArIDEpOwoKZGlmZiAtLWdpdCBhL2dkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoIGIv Z2RiLXJlYWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gKaW5kZXggNWE1YTE3Ny4uNDMxMWEyNyAx MDA2NDQKLS0tIGEvZ2RiLXJlYWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gKKysrIGIvZ2RiLXJl YWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gKQEAgLTksNyArOSw3IEBAIFN1YmplY3Q6IGdkYi1y ZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCiBkaWZmIC0tZ2l0IGEvZ2RiL2V2ZW50LXRvcC5j IGIvZ2RiL2V2ZW50LXRvcC5jCiAtLS0gYS9nZGIvZXZlbnQtdG9wLmMKICsrKyBiL2dkYi9ldmVu dC10b3AuYwotQEAgLTExNzksNiArMTE3OSwxMyBAQCBnZGJfc2V0dXBfcmVhZGxpbmUgKGludCBl ZGl0aW5nKQorQEAgLTExNzYsNiArMTE3NiwxMyBAQCBnZGJfc2V0dXBfcmVhZGxpbmUgKGludCBl ZGl0aW5nKQogIHsKICAgIHN0cnVjdCB1aSAqdWkgPSBjdXJyZW50X3VpOwogIAoKZGlmZiAtLWdp dCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2ggYi9nZGItcmhiejc5NTQyNC1i aXRwb3MtMjBvZjI1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjU1ZTI4 Li4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwzNDM1ICswLDAgQEAKLUZyb20gRkVET1JBX1BBVENIRVMgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwu Y29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2Ri LXJoYno3OTU0MjQtYml0cG9zLTIwb2YyNS5wYXRjaAotCi07OyBGaXggYEdEQiBjYW5ub3QgYWNj ZXNzIHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1CJwotOzsg KFJIIEJaIDc5NTQyNCkuCi07Oz1wdXNoCi0KLWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGIt cGF0Y2hlcy8yMDEyLTA5L21zZzAwNjMxLmh0bWwKLQotLS1NUF8veXA1ZitXX0VEMkp0VWxTeUJp OHh1anIKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VUy1BU0NJSQotQ29udGVu dC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdAotQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lCi0K LUhpLAotCi1UaGlzIGlzIHBhdGNoIDEvNCwgd2hpY2ggaW1wbGVtZW50cyB0aGUgYnVsayBvZiB0 aGUgY2hhbmdlcyBpbiB0eXBlCi1sZW5ndGggYW5kIGJpdHBvcy90eXBlIG9mZnNldC4gSSBoYXZl IHZlcmlmaWVkIHRoYXQgdGhlcmUgYXJlIG5vCi1yZWdyZXNzaW9ucyByZXN1bHRpbmcgZnJvbSB0 aGlzIHBhdGNoIGJ5IHJ1bm5pbmcgdGhlIHRlc3RzdWl0ZSBvbgotRmVkb3JhIDE2IHg4Nl82NC4g IFBhdGNoIGFuZCBjaGFuZ2Vsb2cgYXR0YWNoZWQuCi0KLVJlZ2FyZHMsCi1TaWRkaGVzaAotCi0t LU1QXy95cDVmK1dfRUQySnRVbFN5Qmk4eHVqcgotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluCi1D b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBxdW90ZWQtcHJpbnRhYmxlCi1Db250ZW50LURpc3Bv c2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT1DaGFuZ2VMb2ctbWFpbgotCi1nZGIvQ2hhbmdl TG9nCi0KLTIwMTItMDgtMDUgIFNpZGRoZXNoIFBveWFyZWthciAgPHNpZGRoZXNoQHJlZGhhdC5j b20+Ci0KLQkqIGFkYS1sYW5nLmMgKGZhdF9wbnRyX2JvdW5kc19iaXRwb3MpOiBSZXR1cm4gTE9O R0VTVC4KLQkoZmF0X3BudHJfZGF0YV9iaXRwb3MpOiBMaWtld2lzZS4KLQkoZGVzY19ib3VuZF9i aXRwb3MpOiBMaWtld2lzZS4KLQkoY29uc3RyYWluZWRfcGFja2VkX2FycmF5X3R5cGUpOiBFeHBh bmQgRUxUX0JJVFMgcGFyYW1ldGVyIHRvCi0JTE9OR0VTVC4KLQkobW92ZV9iaXRzKTogRXhwYW5k IHBhcmFtZXRlcnMgU1JDX09GRlNFVCBhbmQgTiB0byBMT05HRVNULgotCShjb25kX29mZnNldF9o b3N0KTogRXhwYW5kIHBhcmFtZXRlciBPRkZTRVQgdG8gTE9OR0VTVC4KLQkoY29uZF9vZmZzZXRf dGFyZ2V0KTogTGlrZXdpc2UuCi0JKGFkYV90eXBlX29mX2FycmF5KTogRXhwYW5kIEFSUkFZX0JJ VFNJWkUgdG8gTE9OR0VTVC4KLQkoZGVjb2RlX2NvbnN0cmFpbmVkX3BhY2tlZF9hcnJheV90eXBl KTogRXhwYW5kIEJJVFMgdG8gTE9OR0VTVC4KLQkoZGVjb2RlX2NvbnN0cmFpbmVkX3BhY2tlZF9h cnJheSk6IEV4cGFuZCBCSVRfUE9TIHRvIExPTkdFU1QuCi0JKGFkYV92YWx1ZV9wcmltaXRpdmVf cGFja2VkX3ZhbCk6IEV4cGFuZCBwYXJhbWV0ZXIgT0ZGU0VUIHRvCi0JTE9OR0VTVC4gIEV4cGFu ZCBUQVJHLCBOVEFSRyBhbmQgTkVXX09GRlNFVCB0byBMT05HRVNULgotCShhZGFfdmFsdWVfYXNz aWduKTogRXhwYW5kIEZST01fU0laRSB0byBMT05HRVNULgotCSh2YWx1ZV9hc3NpZ25fdG9fY29t cG9uZW50KTogRXhwYW5kIEJJVFMgdG8gTE9OR0VTVC4KLQkoZW5zdXJlX2x2YWwpOiBFeHBhbmQg TEVOIHRvIExPTkdFU1QuCi0JKHZhbHVlX3BvaW50ZXIpOiBFeHBhbmQgTEVOIHRvIFVMT05HRVNU LgotCSh2YWx1ZV90YWdfZnJvbV9jb250ZW50c19hbmRfYWRkcmVzcyk6IEV4cGFuZCBUQUdfQllU RV9PRkZTRVQgdG8KLQlMT05HRVNULgotCShhZGFfdmFsdWVfcHJpbWl0aXZlX2ZpZWxkKTogRXhw YW5kIHBhcmFtZXRlciBPRkZTRVQgdG8gTE9OR0VTVC4KLQlFeHBhbmQgYml0X3BvcyB0byBMT05H RVNULgotCShmaW5kX3N0cnVjdF9maWVsZCk6IEV4cGFuZCBwYXJhbWV0ZXJzIE9GRlNFVCBhbmQg QllURV9PRkZTRVRfUCB0bwotCUxPTkdFU1QuICBFeHBhbmQgQklUX1BPUyBhbmQgRkxEX09GRlNF VCB0byBMT05HRVNULgotCShhZGFfc2VhcmNoX3N0cnVjdF9maWVsZCk6IEV4cGFuZCBwYXJhbWV0 ZXIgT0ZGU0VUIHRvIExPTkdFU1QuCi0JRXhwYW5kIFZBUl9PRkZTRVQgdG8gTE9OR0VTVC4KLQko YWRhX2luZGV4X3N0cnVjdF9maWVsZCk6IEV4cGFuZCBwYXJhbWV0ZXJzIElOREVYIGFuZCBPRkZT RVQgdG8KLQlMT05HRVNULgotCShhZGFfaW5kZXhfc3RydWN0X2ZpZWxkXzEpOiBFeHBhbmQgcGFy YW1ldGVycyBJTkRFWF9QIGFuZCBPRkZTRVQKLQl0byBMT05HRVNULgotCShhZGFfdmFsdWVfc3Ry dWN0X2VsdCk6IEV4cGFuZCBCWVRFX09GRlNFVCB0byBMT05HRVNULgotCShhbGlnbl92YWx1ZSk6 IFJldHVybiBVTE9OR0VTVC4gIEV4cGFuZCBwYXJhbWV0ZXIgT0ZGIGFuZAotCUFMSUdOTUVOVCB0 byBVTE9OR0VTVC4KLQkoYWRhX3RlbXBsYXRlX3RvX2ZpeGVkX3JlY29yZF90eXBlXzEpOiBFeHBh bmQgT0ZGLCBCSVRfTEVOIGFuZAotCWZsZF9iaXRfbGVuIHRvIExPTkdFU1QuICBFeHBhbmQgRklF TERfT0ZGU0VUIHRvIExPTkdFU1QuICBVc2UKLQlwdWxvbmdlc3QgZnVuY3Rpb24gdG8gcHJpbnQg VFlQRV9MRU5HVEguCi0JKHRvX2ZpeGVkX2FycmF5X3R5cGUpOiBFeHBhbmQgTEVOIHRvIExPTkdF U1QuCi0JKiBhZGEtbGFuZy5oIChhZGFfdmFsX3ByaW50KTogRXhwYW5kIHBhcmFtZXRlciBFTUJF RERFRF9PRkZTRVQgdG8KLQlMT05HRVNULgotCShhZGFfcHJpbnRzdHIpOiBFeHBhbmQgcGFyYW1l dGVyIExFTkdUSCB0byBVTE9OR0VTVC4KLQkoYWRhX3ZhbHVlX3ByaW1pdGl2ZV9wYWNrZWRfdmFs KTogRXhwYW5kIHBhcmFtZXRlciBPRkZTRVQgdG8KLQlMT05HRVNULgotCSogYWRhLXR5cGVwcmlu dC5jIChhZGFfcHJpbnRfdHlwZSk6IFVzZSBwdWxvbmdlc3QgdG8gcHJpbnQKLQlUWVBFX0xFTkdU SC4KLQkqIGFkYS12YWxwcmludC5jICh2YWxfcHJpbnRfcGFja2VkX2FycmF5X2VsZW1lbnRzKTog RXhwYW5kIEVMVExFTgotCXRvIFVMT05HRVNULgotCShjaGFyX2F0KTogRXhwYW5kIHBhcmFtZXRl ciBJIHRvIExPTkdFU1QuCi0JKHByaW50c3RyKTogRXhwYW5kIHBhcmFtZXRlciBMRU5HVEgsIEks IFJFUDEsIFJFUFMgdG8gVUxPTkdFU1QuCi0JVXNlIHB1bG9uZ2VzdCB0byBmb3JtYXQgcHJpbnQg UkVQUy4KLQkoYWRhX3ByaW50c3RyKTogRXhwYW5kIHBhcmFtZXRlciBMRU5HVEggdG8gTE9OR0VT VC4KLQkoYWRhX3ZhbF9wcmludCk6IEV4cGFuZCBwYXJhbWV0ZXIgRU1CRURERURfT0ZGU0VUIHRv IExPTkdFU1QuCi0JKGFkYV92YWxfcHJpbnRfYXJyYXkpOiBFeHBhbmQgRUxUTEVOLCBMRU4gdG8g VUxPTkdFU1QgYW5kIFRFTVBfTEVOCi0JdG8gTE9OR0VTVC4KLQkoYWRhX3ZhbF9wcmludF8xKTog RXhwYW5kIHBhcmFtZXRlciBPRkZTRVQgdG8gTE9OR0VTVC4KLQkocHJpbnRfdmFyaWFudF9wYXJ0 KTogRXhwYW5kIHBhcmFtZXRlcnMgT0ZGU0VUIGFuZCBPVVRFUl9PRkZTRVQgdG8KLQlMT05HRVNU LgotCShwcmludF9maWVsZF92YWx1ZXMpOiBMaWtld2lzZS4gIEV4cGFuZCBCSVRfUE9TIHRvIExP TkdFU1QuCi0JKiBhbm5vdGF0ZS5jIChhbm5vdGF0ZV9hcnJheV9zZWN0aW9uX2JlZ2luKTogRXhw YW5kIHBhcmFtZXRlcgotCUlEWCB0byBMT05HRVNULiAgVXNlIHBsb25nZXN0IHRvIGZvcm1hdC1w cmludCBJRFguCi0JKGFubm90YXRlX2VsdF9yZXApOiBFeHBhbmQgcGFyYW1ldGVyIFJFUENPVU5U IHRvIFVMT05HRVNULiAgVXNlCi0JcGxvbmdlc3QgdG8gZm9ybWF0LXByaW50IFJFUENPVU5ULgot CSogYW5ub3RhdGUuaDogTGlrZXdpc2UuCi0JKiBhcm0tbGludXgtbmF0LmMgKGFybV9saW51eF9y ZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQpOgotCUV4cGFuZCBwYXJhbWV0ZXIgcGFyYW1ldGVy IExFTiB0byBMT05HRVNULgotCSogYXgtZ2RiLmMgKGdlbl9sZWZ0X3NoaWZ0KTogRXhwYW5kIHBh cmFtZXRlciBESVNUQU5DRSB0byBMT05HRVNULgotCShnZW5fb2Zmc2V0KTogRXhwYW5kIHBhcmFt ZXRlciBPRkZTRVQgdG8gTE9OR0VTVC4KLQkoZ2VuX2JpdGZpZWxkX3JlZik6IEV4cGFuZCBwYXJh bWV0ZXJzIFNUQVJULCBFTkQgdG8gTE9OR0VTVC4KLQlFeHBhbmQgQk9VTkRfU1RBUlQsIEJPVU5E X0VORCwgT0ZGU0VUIHRvIExPTkdFU1QuCi0JKGdlbl9wcmltaXRpdmVfZmllbGQpOiBFeHBhbmQg cGFyYW1ldGVyIE9GRlNFVCB0byBMT05HRVNULgotCShnZW5fc3RydWN0X3JlZl9yZWN1cnNpdmUp OiBMaWtld2lzZS4KLQkqIGF4LWdlbmVyYWwuYyAoYXhfdHJhY2VfcXVpY2spOiBFeHBhbmQgcGFy YW1ldGVyIE4gdG8gTE9OR0VTVC4KLQkqIGF4LmggKGF4X3RyYWNlX3F1aWNrKTogTGlrZXdpc2Uu Ci0JKiBicmVha3BvaW50LmMgKGJyZWFrcG9pbnRfYWRkcmVzc19tYXRjaF9yYW5nZSk6IEV4cGFu ZCBwYXJhbWV0ZXIKLQlMRU4xIHRvIExPTkdFU1QuCi0JKGNhbl91c2VfaGFyZHdhcmVfd2F0Y2hw b2ludCk6IEV4cGFuZCBMRU4gdG8gTE9OR0VTVC4KLQkqIGJyZWFrcG9pbnQuaCAoc3RydWN0IGJw X3RhcmdldF9pbmZvKTogRXhwYW5kIG1lbWJlciBMRU5HVEggdG8KLQlMT05HRVNULgotCShzdHJ1 Y3QgYnBfbG9jYXRpb24pOiBMaWtld2lzZS4KLQkqIGMtbGFuZy5jIChjX3ByaW50c3RyKTogRXhw YW5kIHBhcmFtZXRlciBMRU5HVEggdG8gVUxPTkdFU1QuCi0JKGV2YWx1YXRlX3N1YmV4cF9jKTog RXhwYW5kIEVMRU1FTlRfU0laRSwgSSB0byBMT05HRVNULgotCSogYy1sYW5nLmggKGNfdmFsX3By aW50KTogRXhwYW5kIHBhcmFtZXRlciBFTUJFRERFRF9PRkZTRVQgdG8KLQlMT05HRVNULgotCShj X3ByaW50c3RyKTogRXhwYW5kIHBhcmFtZXRlciBMRU5HVEggdG8gVUxPTkdFU1QuCi0JKGNwX3By aW50X3ZhbHVlX2ZpZWxkcyk6IEV4cGFuZCBwYXJhbWV0ZXIgT0ZGU0VUIHRvIExPTkdFU1QuCi0J KGNwX3ByaW50X3ZhbHVlX2ZpZWxkc19ydHRpKTogTGlrZXdpc2UuCi0JKiBjLXR5cGVwcmludC5j IChjX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXgpOiBSZW1vdmUgY2FzdCBkb3duIHRvCi0JaW50 IGFuZCB1c2UgcGxvbmdlc3QgdG8gcHJpbnQgTE9OR0VTVC4KLQkqIGMtdmFscHJpbnQuYyAoY192 YWxfcHJpbnQpOiBFeHBhbmQgcGFyYW1ldGVyIEVNQkVEREVEX09GRlNFVCB0bwotCUxPTkdFU1Qu ICBFeHBhbmQgT0ZGU0VUIHRvIExPTkdFU1QsIEVMVExFTiB0byBVTE9OR0VTVC4KLQkoY192YWx1 ZV9wcmludCk6IEV4cGFuZCBUT1AgdG8gTE9OR0VTVC4KLQkqIGNwLWFiaS5jIChiYXNlY2xhc3Nf b2Zmc2V0KTogUmV0dXJuIExPTkdFU1QuICBFeHBhbmQgcGFyYW1ldGVyCi0JRU1CRURERURfT0ZG U0VUIHRvIExPTkdFU1QuICBFeHBhbmQgUkVTIHRvIExPTkdFU1QuCi0JKHZhbHVlX3ZpcnR1YWxf Zm5fZmllbGQpOiBFeHBhbmQgcGFyYW1ldGVyIE9GRlNFVCB0byBMT05HRVNULgotCSh2YWx1ZV9y dHRpX3R5cGUpOiBFeHBhbmQgcGFyYW1ldGVyIFRPUCB0byBwb2ludCB0byBMT05HRVNULgotCSog Y3AtYWJpLmggKHZhbHVlX3ZpcnR1YWxfZm5fZmllbGQpOiBFeHBhbmQgT0ZGU0VUIHRvIExPTkdF U1QuCi0JKHZhbHVlX3J0dGlfdHlwZSk6IEV4cGFuZCBUT1AgdG8gcG9pbnQgdG8gTE9OR0VTVC4K LQkoYmFzZWNsYXNzX29mZnNldCk6IFJldHVybiBMT05HRVNULiAgRXhwYW5kIHBhcmFtZXRlcgot CUVNQkVEREVEX09GRlNFVCB0byBMT05HRVNULgotCShzdHJ1Y3QgY3BfYWJpX29wcyk6IEV4cGFu ZCBwYXJhbWV0ZXIgT0ZGU0VUIGZvciBWSVJUVUFMX0ZOX0ZJRUxECi0JdG8gTE9OR0VTVC4gIEV4 cGFuZCBwYXJhbWV0ZXIgVE9QIHRvIHBvaW50IHRvIExPTkdFU1QgaW4KLQlWQUxVRV9SVFRJX1RZ UEUuICBSZXR1cm4gTE9OR0VTVCBmcm9tIEJBU0VDTEFTU19PRkZTRVQgYW5kIGV4cGFuZAotCXBh cmFtZXRlciBFTUJFRERFRF9PRkZTRVQgdG8gTE9OR0VTVC4KLQkqIGNwLXZhbHByaW50LmMgKGNw X3ByaW50X3ZhbHVlX2ZpZWxkcyk6IEV4cGFuZCBwYXJhbWV0ZXIgT0ZGU0VUCi0JdG8gTE9OR0VT VC4gIEV4cGFuZCBJX09GRlNFVCB0byBMT05HRVNULgotCShjcF9wcmludF92YWx1ZV9maWVsZHNf cnR0aSk6IEV4cGFuZCBwYXJhbWV0ZXIgT0ZGU0VUIHRvCi0JTE9OR0VTVC4gIEV4cGFuZCBUT1Ag dG8gTE9OR0VTVC4KLQkoY3BfcHJpbnRfdmFsdWUpOiBFeHBhbmQgcGFyYW1ldGVyIE9GRlNFVCB0 byBMT05HRVNULiAgRXhwYW5kCi0JVEhJU09GRlNFVCwgQk9GRlNFVCB0byBMT05HRVNULgotCSog ZC1sYW5nLmggKGRfdmFsX3ByaW50KTogRXhwYW5kIHBhcmFtZXRlciBFTUJFRERFRF9PRkZTRVQg dG8KLQlMT05HRVNULgotCSogZC12YWxwcmludC5jIChkeW5hbWljX2FycmF5X3R5cGUpOiBMaWtl d2lzZS4KLQkoZF92YWxfcHJpbnQpOiBMaWtld2lzZS4KLQkqIGRvdWJsZXN0LmMgKGZsb2F0Zm9y bWF0X2Zyb21fbGVuZ3RoKTogRXhwYW5kIHBhcmFtZXRlciBMRU4gdG8KLQlMT05HRVNULiAgVXNl IHBsb25nZXN0IHRvIGZvcm1hdCBzdHJpbmcgZm9yIExPTkdFU1QuCi0JKiBkd2FyZjJsb2MuYyAo Y29weV9iaXR3aXNlKTogRXhwYW5kIHBhcmFtZXRlcnMgREVTVF9PRkZTRVRfQklUUywKLQlCSVRf Q09VTlQgdG8gVUxPTkdFU1QuICBSZW5hbWUgcGFyYW1ldGVyIFNPVVJDRV9PRkZTRVRfQklUUyB0 bwotCVNPVVJDRV9PRkZTRVQgYW5kIGV4cGFuZCB0byBVTE9OR0VTVC4gIE5ldyB2YXJpYWJsZQot CVNPVVJDRV9PRkZTRVRfQklUUy4KLQkocmVhZF9waWVjZWRfdmFsdWUpOiBFeHBhbmQgT0ZGU0VU LCBERVNUX09GRlNFVF9CSVRTLAotCVNPVVJDRV9PRkZTRVRfQklUUywgU09VUkNFX09GRlNFVCB0 byBMT05HRVNULiAgRXhwYW5kIFRZUEVfTEVOLAotCVRISVNfU0laRSwgVEhJU19TSVpFX0JJVFMg dG8gVUxPTkdFU1QuCi0JKHdyaXRlX3BpZWNlZF92YWx1ZSk6IExpa2V3aXNlLgotCShjaGVja19w aWVjZWRfdmFsdWVfYml0cyk6IEV4cGFuZCBwYXJhbWV0ZXJzIEJJVF9PRkZTRVQgYW5kCi0JQklU X0xFTkdUSCB0byBMT05HRVNULiAgRXhwYW5kIFRISVNfU0laRV9CSVRTIHRvIFVMT05HRVNULgot CShjaGVja19waWVjZWRfdmFsdWVfdmFsaWRpdHkpOiBFeHBhbmQgcGFyYW1ldGVycyBCSVRfT0ZG U0VUIGFuZAotCUJJVF9MRU5HVEggdG8gTE9OR0VTVC4KLQkoY2hlY2tfcGllY2VkX3N5bnRoZXRp Y19wb2ludGVyKTogTGlrZXdpc2UuCi0JKGluZGlyZWN0X3BpZWNlZF92YWx1ZSk6IEV4cGFuZCBC SVRfTEVOR1RILCBCWVRFX09GRlNFVCBhbmQKLQlCSVRfT0ZGU0VUIHRvIExPTkdFU1QuCi0JKGR3 YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsKTogRXhwYW5kIE4gdG8gVUxPTkdFU1QuCi0JKiBk d2FyZjJyZWFkLmMgKGR3YXJmMl9jb25zdF92YWx1ZV9sZW5ndGhfbWlzbWF0Y2hfY29tcGxhaW50 KToKLQlFeHBhbmQgcGFyYW1ldGVycyBBUkcyIGFuZCBBUkczIHRvIExPTkdFU1QuICBVc2UgcGxv bmdlc3QgdG8KLQlwcmludCBBUkcyIGFuZCBBUkczLgotCShkd2FyZjJfYWRkX2ZpZWxkKTogRXhw YW5kIEFOT05ZTU9VU19TSVpFLCBCSVRfT0ZGU0VUIHRvCi0JTE9OR0VTVC4KLQkqIGV2YWwuYyAo ZXZhbHVhdGVfc3RydWN0X3R1cGxlKTogRXhwYW5kIEJJVFBPUyB0byBMT05HRVNULgotCShpbml0 X2FycmF5X2VsZW1lbnQpOiBFeHBhbmQgRUxFTUVOVF9TSVpFIHRvIExPTkdFU1QuCi0JKGJpbm9w X3Byb21vdGUpOiBFeHBhbmQgUFJPTU9URURfTEVOMSwgUFJPTU9URURfTEVOMiwgUkVTVUxUX0xF TgotCXRvIFVMT05HRVNULgotCShldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQpOiBFeHBhbmQgTUVN X09GRlNFVCwgVE9QLCBFTEVNRU5UX1NJWkUKLQl0byBMT05HRVNULgotCSogZi1sYW5nLmMgKGZf cHJpbnRzdHIpOiBFeHBhbmQgcGFyYW1ldGVyIExFTkdUSCB0byBVTE9OR0VTVC4KLQkqIGYtbGFu Zy5oIChmX3ZhbF9wcmludCk6IEV4cGFuZCBwYXJhbWV0ZXIgRU1CRURERURfT0ZGU0VUIHRvCi0J TE9OR0VTVC4KLQkqIGYtdmFscHJpbnQuYyAoZjc3X2FycmF5X29mZnNldF90YmwpOiBNYWtlIExP TkdFU1QuCi0JKGY3N19jcmVhdGVfYXJyYXlwcmludF9vZmZzZXRfdGJsKTogRXhwYW5kIEVMVExF TiB0byBMT05HRVNULgotCShmNzdfcHJpbnRfYXJyYXlfMSk6IEV4cGFuZCBwYXJhbWV0ZXIgRU1C RURERURfT0ZGU0VUIHRvCi0JTE9OR0VTVC4gIEV4cGFuZCBJIHRvIExPTkdFU1QuCi0JKGY3N19w cmludF9hcnJheSk6IEV4cGFuZCBwYXJhbWV0ZXIgRU1CRURERURfT0ZGU0VUIHRvIExPTkdFU1Qu Ci0JKGZfdmFsX3ByaW50KTogTGlrZXdpc2UuICBFeHBhbmQgT0ZGU0VUIHRvIExPTkdFU1QuCi0J KiBmaW5kdmFyLmMgKGRlZmF1bHRfdmFsdWVfZnJvbV9yZWdpc3Rlcik6IEV4cGFuZCBMRU4gdG8g TE9OR0VTVC4KLQkocmVhZF9mcmFtZV9yZWdpc3Rlcl92YWx1ZSk6IEV4cGFuZCBPRkZTRVQsIFJF R19PRkZTRVQsIExFTiwKLQlSRUdfTEVOIHRvIExPTkdFU1QuCi0JKiBmcmFtZS5jIChnZXRfZnJh bWVfcmVnaXN0ZXJfYnl0ZXMpOiBFeHBhbmQgcGFyYW1ldGVyIExFTiB0bwotCUxPTkdFU1QuCi0J KiBmcmFtZS5oIChnZXRfZnJhbWVfcmVnaXN0ZXJfYnl0ZXMpOiBMaWtld2lzZS4KLQkqIGdkYnR5 cGVzLmMgKGluaXRfdHlwZSk6IEV4cGFuZCBwYXJhbWV0ZXIgTEVOR1RIIHRvIExPTkdFU1QuCi0J KGlzX3VuaXF1ZV9hbmNlc3Rvcl93b3JrZXIpOiBFeHBhbmQgcGFyYW1ldGVycyBPRkZTRVQsCi0J RU1CRURERURfT0ZGU0VUIHRvIExPTkdFU1QuICBFeHBhbmQgVEhJU19PRkZTRVQgdG8gTE9OR0VT VC4KLQkoaXNfdW5pcXVlX2FuY2VzdG9yKTogRXhwYW5kIE9GRlNFVCB0byBMT05HRVNULgotCShy ZWN1cnNpdmVfZHVtcF90eXBlKTogVXNlIHB1bG9uZ2VzdCB0byBmb3JtYXQgcHJpbnQgVFlQRV9M RU5HVEguCi0JVXNlIHBsb25nZXN0IHRvIGZvcm1hdCBwcmludCBUWVBFX0ZJRUxEX0JJVFBPUy4K LQkoYXJjaF90eXBlKTogRXhwYW5kIHBhcmFtZXRlciBMRU5HVEggdG8gTE9OR0VTVC4KLQkqIGdk YnR5cGVzLmggKHN0cnVjdCB0eXBlLm1haW5fdHlwZS5mbGRfYm5kcy5maWVsZHMpOiBFeHBhbmQK LQltZW1iZXIgQklUUE9TIHRvIExPTkdFU1QuCi0JKHN0cnVjdCB0eXBlKTogRXhwYW5kIG1lbWJl ciBMRU5HVEggdG8gVUxPTkdFU1QuCi0JKGluaXRfdHlwZSk6IEV4cGFuZCBwYXJhbWV0ZXIgTEVO R1RIIHRvIExPTkdFU1QuCi0JKGFyY2hfdHlwZSk6IExpa2V3aXNlLgotCSogZ251LXYyLWFiaS5j IChnbnV2Ml92aXJ0dWFsX2ZuX2ZpZWxkKTogRXhwYW5kIHBhcmFtZXRlciBPRkZTRVQKLQl0byBM T05HRVNULgotCShnbnV2Ml92YWx1ZV9ydHRpX3R5cGUpOiBFeHBhbmQgcGFyYW1ldGVyIFRPUCB0 byBwb2ludCB0byBMT05HRVNULgotCShnbnV2Ml9iYXNlY2xhc3Nfb2Zmc2V0KTogUmV0dXJuIExP TkdFU1QuICBFeHBhbmQgcGFyYW1ldGVyCi0JRU1CRURERURfT0ZGU0VUIHRvIExPTkdFU1QuICBF eHBhbmQgRklFTERfT0ZGU0VULCBCT0ZGU0VULAotCUZJRUxEX0xFTkdUSCB0byBMT05HRVNULgot CSogZ251LXYzLWFiaS5jIChidWlsZF9nZGJfdnRhYmxlX3R5cGUpOiBFeHBhbmQgT0ZGU0VUIHRv IExPTkdFU1QuCi0JKHZ0YWJsZV9hZGRyZXNzX3BvaW50X29mZnNldCk6IFJldHVybiBMT05HRVNU LgotCShnbnV2M19ydHRpX3R5cGUpOiBFeHBhbmQgcGFyYW1ldGVyIFRPUF9QIHRvIHBvaW50IHRv IExPTkdFU1QuCi0JKGdudXYzX3ZpcnR1YWxfZm5fZmllbGQpOiBFeHBhbmQgcGFyYW1ldGVyIE9G RlNFVCB0byBMT05HRVNULgotCShnbnV2M19iYXNlY2xhc3Nfb2Zmc2V0KTogUmV0dXJuIExPTkdF U1QuICBFeHBhbmQgcGFyYW1ldGVyCi0JRU1CRURERURfT0ZTRVQgdG8gTE9OR0VTVC4gIEV4cGFu ZCBDVVJfQkFTRV9PRkZTRVQsIEJBU0VfT0ZGU0VUIHRvCi0JTE9OR0VTVC4KLQkoZ251djNfZmlu ZF9tZXRob2RfaW4pOiBFeHBhbmQgUE9TIHRvIExPTkdFU1QuCi0JKiBnby1sYW5nLmggKGdvX3Zh bF9wcmludCk6IEV4cGFuZCBwYXJhbWV0ZXIgRU1CRURERURfT0ZGU0VUIHRvCi0JTE9OR0VTVC4K LQkqIGdvLXZhbHByaW50LmMgKHByaW50X2dvX3N0cmluZyk6IExpa2V3aXNlLgotCShnb192YWxf cHJpbnQpOiBMaWtld2lzZS4KLQkqIGkzODYtbmF0LmMgKGkzODZfaGFuZGxlX25vbmFsaWduZWRf d2F0Y2hwb2ludCk6IEV4cGFuZAotCXBhcmFtZXRlciBMRU4gdG8gTE9OR0VTVC4KLQkoaTM4Nl9y ZWdpb25fb2tfZm9yX3dhdGNocG9pbnQpOiBMaWtld2lzZS4KLQkqIGluZi10dHJhY2UuYyAoaW5m X3R0cmFjZV9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQpOiBFeHBhbmQKLQlwYXJhbWV0ZXIg TEVOIHRvIExPTkdFU1QuCi0JKiBqdi1sYW5nLmMgKGphdmFfbGlua19jbGFzc190eXBlKTogRXhw YW5kIEJPRkZTRVQgdG8gTE9OR0VTVC4KLQkoamF2YV9wcmludHN0cik6IEV4cGFuZCBwYXJhbWV0 ZXIgTEVOR1RIIHRvIFVMT05HRVNULgotCSoganYtbGFuZy5oIChqYXZhX3ZhbF9wcmludCk6IEV4 cGFuZCBwYXJhbWV0ZXIgRU1CRURERURfT0ZGU0VUIHRvCi0JTE9OR0VTVC4KLQkqIGp2LXZhbHBy aW50LmMgKGphdmFfcHJpbnRfdmFsdWVfZmllbGRzKTogRXhwYW5kIHBhcmFtZXRlciBPRkZTRVQK LQl0byBMT05HRVNULgotCShqYXZhX3ZhbF9wcmludCk6IEV4cGFuZCBwYXJhbWV0ZXIgRU1CRURE RURfT0ZGU0VUIHRvIExPTkdFU1QuCi0JKiBsYW5ndWFnZS5jICh1bmtfbGFuZ19wcmludHN0cik6 IEV4cGFuZCBwYXJhbWV0ZXIgTEVOR1RIIHRvCi0JVUxPTkdFU1QuCi0JKHVua19sYW5nX3ZhbF9w cmludCk6IEV4cGFuZCBwYXJhbWV0ZXIgRU1CRURERURfT0ZGU0VUIHRvIExPTkdFU1QuCi0JKiBs YW5ndWFnZS5oIChsYW5ndWFnZV9kZWZuKTogRXhwYW5kIHBhcmFtZXRlciBMRU5HVEggb2YKLQlM QV9QUklOVFNUUiB0byBVTE9OR0VTVC4gIEV4cGFuZCBwYXJhbWV0ZXIgRU1CRURERURfT0ZGU0VU IG9mCi0JTEFfVkFMX1BSSU5UIHRvIExPTkdFU1QuCi0JKiBtMi1sYW5nLmMgKG0yX3ByaW50c3Ry KTogRXhwYW5kIHBhcmFtZXRlciBMRU5HVEggdG8gVUxPTkdFU1QuCi0JRXhwYW5kIEksIFJFUDEs IFJFUFMgdG8gVUxPTkdFU1QuICBVc2UgcHVsb25nZXN0IHRvIGZvcm1hdCBwcmludAotCVJFUFMu Ci0JKiBtMi1sYW5nLmggKG0yX3ZhbF9wcmludCk6IEV4cGFuZCBwYXJhbWV0ZXIgZW1iZWRkZWRf b2Zmc2V0IHRvCi0JTE9OR0VTVC4KLQkqIG0yLXR5cGVwcmludC5jIChtMl9hcnJheSk6IE5ldyB2 YXJpYWJsZSBWQUwuICBVc2UgcHVsb25nZXN0IHRvCi0JKiBmb3JtYXQgcHJpbnQgVkFMLgotCSht Ml9lbnVtKTogZXhwYW5kIExBU1RWQUwgdG8gTE9OR0VTVC4KLQkqIG0yLXZhbHByaW50LmMgKG0y X3ByaW50X2xvbmdfc2V0KTogRXhwYW5kIHBhcmFtZXRlcgotCUVNQkVEREVEX09GRlNFVCB0byBM T05HRVNULgotCShtMl9wcmludF91bmJvdW5kZWRfYXJyYXkpOiBMaWtld2lzZS4KLQkobTJfcHJp bnRfYXJyYXlfY29udGVudHMpOiBMaWtld2lzZS4KLQkobTJfdmFsX3ByaW50KTogRXhwYW5kIHBh cmFtZXRlciBFTUJFRERFRF9PRkZTRVQgdG8gTE9OR0VTVC4KLQlFeHBhbmQgSSwgTEVOLCBURU1Q X0xFTiB0byBVTE9OR0VTVC4KLQkqIG1lbXJhbmdlLmMgKG1lbV9yYW5nZXNfb3ZlcmxhcCk6IEV4 cGFuZCBwYXJhbWV0ZXJzIExFTjEsIExFTjIgdG8KLQlMT05HRVNULgotCSogbWVtcmFuZ2UuaCAo c3RydWN0IG1lbV9yYW5nZSk6IEV4cGFuZCBtZW1iZXIgTEVOR1RIIHRvIExPTkdFU1QuCi0JKG1l bV9yYW5nZXNfb3ZlcmxhcCk6IEV4cGFuZCBwYXJhbWV0ZXJzIExFTjEsIExFTjIgdG8gTE9OR0VT VC4KLQkqIG1pcHMtbGludXgtbmF0LmMgKG1pcHNfbGludXhfcmVnaW9uX29rX2Zvcl9od193YXRj aHBvaW50KToKLQlFeHBhbmQgcGFyYW1ldGVyIExFTiB0byBMT05HRVNULgotCSogb2JqYy1sYW5n LmMgKG9iamNfcHJpbnRzdHIpOiBFeHBhbmQgcGFyYW1ldGVyIExFTkdUSCB0bwotCVVMT05HRVNU LiAgRXhwYW5kIEksIFJFUDEsIFJFUFMgdG8gVUxPTkdFU1QuICB1c2UgcHVsb25nZXN0IHRvCi0J Zm9ybWF0IHByaW50IFJFUFMuCi0JKiBvcGVuY2wtbGFuZy5jIChsb29rdXBfb3BlbmNsX3ZlY3Rv cl90eXBlKTogRXhwYW5kIHBhcmFtZXRlcgotCUVMX0xFTkdUSCB0byBVTE9OR0VTVC4gIEV4cGFu ZCBMRU5HVEggdG8gVUxPTkdFU1QuCi0JKGx2YWxfZnVuY19yZWFkKTogRXhwYW5kIE9GRlNFVCwg TiwgSSwgSiBhbmQgRUxTSVpFIHRvIExPTkdFU1QuCi0JKGx2YWxfZnVuY193cml0ZSk6IExpa2V3 aXNlLgotCShsdmFsX2Z1bmNfY2hlY2tfdmFsaWRpdHkpOiBFeHBhbmQgcGFyYW1ldGVyIExFTkdU SCB0byBMT05HRVNULgotCUV4cGFuZCBFTFNJWkUsIFNUQVJULCBFTkQsIEksIFNUQVJUUkVTVCwg RU5EUkVTVCwgQ09NUF9PRkZTRVQsCi0JQ09NUF9MRU5HVEggdG8gTE9OR0VTVC4KLQkobHZhbF9m dW5jX2NoZWNrX2FueV92YWxpZCk6IEV4cGFuZCBFTFNJWkUgdG8gTE9OR0VTVC4KLQkobHZhbF9m dW5jX2NoZWNrX3N5bnRoZXRpY19wb2ludGVyKTogRXhwYW5kIHBhcmFtZXRlcnMgT0ZGU0VUIGFu ZAotCUxFTkdUSCB0byBMT05HRVNULiAgRXhwYW5kIEVMU0laRSwgU1RBUlQsIEVORCwgSSwgU1RB UlRSRVNULAotCUVORFJFU1QsIENPTVBfTEVOR1RILCBDT01QX09GRlNFVCB0byBMT05HRVNULgot CSogcC1sYW5nLmMgKGlzX3Bhc2NhbF9zdHJpbmdfdHlwZSk6IEV4cGFuZCBwYXJhbWV0ZXJzIExF TkdUSF9QT1MsCi0JU1RSSU5HX1BPUywgTEVOR1RIX1NJWkUgdG8gcG9pbnQgdG8gTE9OR0VTVC4K LQkocGFzY2FsX3ByaW50c3RyKTogRXhwYW5kIHBhcmFtZXRlciBMRU5HVEggdG8gVUxPTkdFU1Qu ICBFeHBhbmQKLQlJLCBSRVAxLCBSRVBTIHRvIFVMT05HRVNULiAgVXNlIHB1bG9uZ2VzdCB0byBm b3JtYXQgcHJpbnQgUkVQUy4KLQkqIHAtbGFuZy5oIChwYXNjYWxfdmFsX3ByaW50KTogRXhwYW5k IHBhcmFtZXRlciBFTUJFRERFRF9PRkZTRVQKLQl0byBMT05HRVNULgotCShpc19wYXNjYWxfc3Ry aW5nX3R5cGUpOiBFeHBhbmQgcGFyYW1ldGVycyBMRU5HVEhfUE9TLCBTVFJJTkdfUE9TLAotCUxF TkdUSF9TSVpFIHRvIHBvaW50IHRvIExPTkdFU1QuCi0JKHBhc2NhbF9wcmludHN0cik6IEV4cGFu ZCBwYXJhbWV0ZXIgTEVOR1RIIHRvIFVMT05HRVNULgotCShwYXNjYWxfb2JqZWN0X3ByaW50X3Zh bHVlX2ZpZWxkcyk6IEV4cGFuZCBwYXJhbWV0ZXIgT0ZGU0VUIHRvCi0JTE9OR0VTVC4KLQkqIHAt dmFscHJpbnQuYyAocGFzY2FsX3ZhbF9wcmludCk6IEV4cGFuZCBwYXJhbWV0ZXIKLQlFTUJFRERF RF9PRkZTRVQgdG8gTE9OR0VTVC4gIEV4cGFuZCBFTFRMRU4gdG8gVUxPTkdFU1QuICBFeHBhbmQK LQlMRU5HVEhfU0laRSwgTEVOR1RIX1BPUywgU1RSSU5HX1BPUyB0byBMT05HRVNULgotCShwYXNj YWxfb2JqZWN0X3ByaW50X3ZhbHVlX2ZpZWxkcyk6IEV4cGFuZCBwYXJhbWV0ZXIgT0ZGU0VUIHRv Ci0JTE9OR0VTVC4KLQkocGFzY2FsX29iamVjdF9wcmludF92YWx1ZSk6IExpa2V3aXNlLiAgRXhw YW5kIEJPRkZTRVQsCi0JVEhJU09GRlNFVCB0byBMT05HRVNULgotCSogcHBjLWxpbnV4LW5hdC5j IChwcGNfbGludXhfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50KToKLQlFeHBhbmQgcGFyYW1l dGVyIExFTiB0byBwb2ludCB0byBMT05HRVNULgotCSogcHJpbnRjbWQuYyAocHJpbnRfZm9ybWF0 dGVkKTogRXhwYW5kIExFTiB0byBMT05HRVNULgotCShwcmludF9zY2FsYXJfZm9ybWF0dGVkKTog TGlrZXdpc2UuCi0JKiBwcm9jZnMuYyAocHJvY2ZzX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2lu dCk6IEV4cGFuZAotCXBhcmFtZXRlciBMRU4gdG8gTE9OR0VTVC4KLQkqIHB5dGhvbi9weS1wcmV0 dHlwcmludC5jIChhcHBseV92YWxfcHJldHR5X3ByaW50ZXIpOiBFeHBhbmQKLQlwYXJhbWV0ZXIg RU1CRURERURfT0ZGU0VUIHRvIExPTkdFU1QuCi0JKiBweXRob24vcHl0aG9uLmggKGFwcGx5X3Zh bF9wcmV0dHlfcHJpbnRlcik6IExpa2V3aXNlLgotCSogcmVnY2FjaGUuYyAocmVnY2FjaGVfeGZl cl9wYXJ0KTogRXhwYW5kIHBhcmFtZXRlciBPRkZTRVQgdG8KLQlMT05HRVNULgotCShyZWdjYWNo ZV9yYXdfcmVhZF9wYXJ0KTogTGlrZXdpc2UuCi0JKHJlZ2NhY2hlX3Jhd193cml0ZV9wYXJ0KTog TGlrZXdpc2UuCi0JKHJlZ2NhY2hlX2Nvb2tlZF9yZWFkX3BhcnQpOiBMaWtld2lzZS4KLQkocmVn Y2FjaGVfY29va2VkX3dyaXRlX3BhcnQpOiBMaWtld2lzZS4KLQkqIHJlZ2NhY2hlLmggKHJlZ2Nh Y2hlX3Jhd19yZWFkX3BhcnQpOiBMaWtld2lzZS4KLQkocmVnY2FjaGVfcmF3X3dyaXRlX3BhcnQp OiBMaWtld2lzZS4KLQkocmVnY2FjaGVfY29va2VkX3JlYWRfcGFydCk6IExpa2V3aXNlLgotCShy ZWdjYWNoZV9jb29rZWRfd3JpdGVfcGFydCk6IExpa2V3aXNlLgotCSogcmVtb3RlLmMgKHJlbW90 ZV9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQpOiBFeHBhbmQKLQlwYXJhbWV0ZXIgTEVOIHRv IExPTkdFU1QuCi0JKiBzMzkwLW5hdC5jIChzMzkwX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2lu dCk6IEV4cGFuZAotCXBhcmFtZXRlciBMRU4gdG8gTE9OR0VTVC4KLQkqIHNwdS1tdWx0aWFyY2gu YyAoc3B1X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCk6IEV4cGFuZAotCXBhcmFtZXRlciBs ZW4gdG8gTE9OR0VTVC4KLQkqIHN0YWNrLmMgKHByaW50X2ZyYW1lX25hbWVsZXNzX2FyZ3MpOiBF eHBhbmQgcGFyYW1ldGVyIFNUQVJUIHRvCi0JTE9OR0VTVC4KLQkocHJpbnRfZnJhbWVfYXJncyk6 IEV4cGFuZCBISUdIRVNUX09GRlNFVCwgQ1VSUkVOVF9PRkZTRVQsCi0JQVJHX1NJWkUsIFNUQVJU IHRvIExPTkdFU1QuCi0JKiBzeW1taXNjLmMgKHByaW50X3N5bWJvbCk6IEV4cGFuZCBJIHRvIFVM T05HRVNULiAgVXNlIHB1bG9uZ2VzdAotCXRvIGZvcm1hdCBwcmludCBUWVBFX0xFTkdUSC4KLQkq IHRhcmdldC5jIChkZWZhdWx0X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCk6IEV4cGFuZCBw YXJhbWV0ZXIKLQlMRU4gdG8gTE9OR0VTVC4KLQkoZGVidWdfdG9fcmVnaW9uX29rX2Zvcl9od193 YXRjaHBvaW50KTogTGlrZXdpc2UuCi0JKiB0YXJnZXQuaCAoc3RydWN0IHRhcmdldF9vcHMpOiBF eHBhbmQgcGFyYW1ldGVyIExFTiB0byBMT05HRVNUCi0JZm9yIFRPX1JFR0lPTl9PS19GT1JfSFdf V0FUQ0hQT0lOVC4KLQkqIHRyYWNlcG9pbnQuYyAoYWRkX21lbXJhbmdlKTogRXhwYW5kIHBhcmFt ZXRlciBMRU4gdG8gTE9OR0VTVC4KLQlVc2UgcGxvbmdlc3QgdG8gZm9ybWF0IHByaW50IExFTi4K LQkoY29sbGVjdF9zeW1ib2wpOiBFeHBhbmQgTEVOIHRvIFVMT05HRVNULiAgVXNlIHB1bG9uZ2Vz dCB0bwotCWZvcm1hdCBwcmludCBMRU4uCi0JKHNjb3BlX2luZm8pOiBFeHBhbmQgSiB0byBMT05H RVNULiAgVXNlIHB1bG9uZ2VzdCB0byBmb3JtYXQKLQlwcmludCBUWVBFX0xFTkdUSC4KLQkqIHR5 cGVwcmludC5jICh3aGF0aXNfZXhwKTogRXhwYW5kIFRPUCB0byBMT05HRVNULgotCSogdmFsYXJp dGguYyAodmFsdWVfc3Vic2NyaXB0ZWRfcnZhbHVlKTogRXhwYW5kIHBhcmFtZXRlcnMgSU5ERVgK LQlhbmQgTE9XRVJCT1VORCB0byBMT05HRVNULiAgRXhwYW5kIEVMVF9TSVpFLCBFTFRfT0ZGUyB0 byBVTE9OR0VTVC4KLQkodmFsdWVfY29uY2F0KTogZXhwYW5kIElOVkFMMUxFTiBhbmQgSU5WQUwy TEVOIHRvIHNzaXplX3QuCi0JKHZhbHVlX2xvZ2ljYWxfbm90KTogRXhwYW5kIExFTiB0byBMT05H RVNULgotCSh2YWx1ZV9zdHJjbXApOiBFeHBhbmQgTEVOMSwgTEVOMiwgSSwgTEVOIHRvIExPTkdF U1QuCi0JKiB2YWxvcHMuYyAodmFsdWVfYWxsb2NhdGVfc3BhY2VfaW5faW5mZXJpb3IpOiBFeHBh bmQgcGFyYW1ldGVyCi0JTEVOIHRvIExPTkdFU1QuCi0JKHZhbHVlX2Nhc3Rfc3RydWN0cyk6IEV4 cGFuZCBUT1AgdG8gTE9OR0VTVC4KLQkodmFsdWVfY2FzdCk6IEV4cGFuZCBFTEVNRU5UX0xFTkdU SCB0byBVTE9OR0VTVC4gIEV4cGFuZAotCVZBTF9MRU5HVEggdG8gTE9OR0VTVC4KLQkoZHluYW1p Y19jYXN0X2NoZWNrXzEpOiBFeHBhbmQgcGFyYW1ldGVyIEVNQkVEREVEX09GRlNFVCB0bwotCUxP TkdFU1QuICBFeHBhbmQgT0ZGU0VUIHRvIExPTkdFU1QuCi0JKGR5bmFtaWNfY2FzdF9jaGVja18y KTogTGlrZXdpc2UuCi0JKHZhbHVlX2R5bmFtaWNfY2FzdCk6IEV4cGFuZCBUT1AgdG8gTE9OR0VT VC4KLQkocmVhZF92YWx1ZV9tZW1vcnkpOiBFeHBhbmQgRU1CRURERURfT0ZGU0VUIHRvIExPTkdF U1QuCi0JKHZhbHVlX2Fzc2lnbik6IEV4cGFuZCBDSEFOR0VEX0xFTiwgT0ZGU0VUIHRvIExPTkdF U1QuCi0JKHZhbHVlX2FycmF5KTogRXhwYW5kIFRZUEVMRU5HVEggdG8gVUxPTkdFU1QuCi0JKHVw ZGF0ZV9zZWFyY2hfcmVzdWx0KTogRXhwYW5kIHBhcmFtZXRlcnMgTEFTVF9CT0ZGU0VULCBCT0ZG U0VUCi0JdG8gTE9OR0VTVC4KLQkoZG9fc2VhcmNoX3N0cnVjdF9maWVsZCk6IEV4cGFuZCBwYXJh bWV0ZXIgT0ZGU0VULCBMQVNUX0JPRkZTRVQKLQl0byBMT05HRVNULiAgRXhwYW5kIE5FV19PRkZT RVQsIEJPRkZTRVQgdG8gTE9OR0VTVC4KLQkoc2VhcmNoX3N0cnVjdF9maWVsZCk6IEV4cGFuZCBw YXJhbWV0ZXIgT0ZGU0VUIHRvIExPTkdFU1QuCi0JRXhwYW5kIEJPRkZTRVQgdG8gTE9OR0VTVC4K LQkoc2VhcmNoX3N0cnVjdF9tZXRob2QpOiBFeHBhbmQgcGFyYW1ldGVyIE9GRlNFVCB0byBMT05H RVNULgotCUV4cGFuZCBCQVNFX09GRlNFVCwgVEhJU19PRkZTRVQgdG8gTE9OR0VTVC4KLQkoZmlu ZF9tZXRob2RfbGlzdCk6IEV4cGFuZCBwYXJhbWV0ZXJzIE9GRlNFVCwgQk9GRlNFVCB0bwotCUxP TkdFU1QuICBFeHBhbmQgQkFTRV9PRkZTRVQgdG8gTE9OR0VTVC4KLQkodmFsdWVfZmluZF9vbG9h ZF9tZXRob2RfbGlzdCk6IEV4cGFuZCBwYXJhbWV0ZXIgQk9GRlNFVCB0byBwb2ludAotCXRvIExP TkdFU1QuCi0JKGZpbmRfb3ZlcmxvYWRfbWF0Y2gpOiBFeHBhbmQgQk9GRlNFVCB0byBMT05HRVNU LgotCSh2YWx1ZV9zdHJ1Y3RfZWx0X2Zvcl9yZWZlcmVuY2UpOiBFeHBhbmQgcGFyYW1ldGVyIE9G RlNFVCB0bwotCUxPTkdFU1QuICBSZW1vdmUgdW5uZWVkZWQgY2FzdC4gIEV4cGFuZCBCQVNFX09G RlNFVCB0byBMT05HRVNULgotCSh2YWx1ZV9ydHRpX2luZGlyZWN0X3R5cGUpOiBFeHBhbmQgcGFy YW1ldGVyIFRPUCB0byBwb2ludCB0bwotCUxPTkdFU1QuCi0JKHZhbHVlX2Z1bGxfb2JqZWN0KTog RXhwYW5kIHBhcmFtZXRlciBYVE9QIHRvIExPTkdFU1QuICBFeHBhbmQKLQlUT1AgdG8gTE9OR0VT VC4KLQkqIHZhbHByaW50LmMgKHZhbHByaW50X2NoZWNrX3ZhbGlkaXR5KTogRXhwYW5kIHBhcmFt ZXRlcgotCUVNQkVEREVEX09GRlNFVCB0byBMT05HRVNULgotCShnZW5lcmljX3ZhbF9wcmludCk6 IExpa2V3aXNlLgotCSh2YWxfcHJpbnQpOiBMaWtld2lzZS4KLQkodmFsX3ByaW50X3NjYWxhcl9m b3JtYXR0ZWQpOiBMaWtld2lzZS4KLQkocHJpbnRfaGV4X2NoYXJzKTogRXhwYW5kIHBhcmFtZXRl ciBMRU4gdG8gVUxPTkdFU1QuCi0JKHZhbF9wcmludF9hcnJheV9lbGVtZW50cyk6IEV4cGFuZCBw YXJhbWV0ZXIgRU1CRURERURfT0ZGU0VUIHRvCi0JTE9OR0VTVCwgSSB0byBVTE9OR0VTVC4gIEV4 cGFuZCBMRU4sIEVMVExFTiwgUkVQMSwgUkVQUyB0bwotCVVMT05HRVNULiAgVXNlIHB1bG9uZ2Vz dCB0byBmb3JtYXQgcHJpbnQgUkVQUy4KLQkoZ2VuZXJpY19wcmludHN0cik6IEV4cGFuZCBwYXJh bWV0ZXIgTEVOR1RIIHRvIFVMT05HRVNULgotCSogdmFscHJpbnQuaCAodmFsX3ByaW50X2FycmF5 X2VsZW1lbnRzKTogRXhwYW5kIHBhcmFtZXRlcgotCUVNQkVEREVEX09GRlNFVCB0byBMT05HRVNU LgotCSh2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCk6IExpa2V3aXNlLgotCShwcmludF9oZXhf Y2hhcnMpOiBFeHBhbmQgcGFyYW1ldGVyIExFTiB0byBVTE9OR0VTVC4KLQkoZ2VuZXJpY192YWxf cHJpbnQpOiBFeHBhbmQgcGFyYW1ldGVyIEVNQkVEREVEX09GRlNFVCB0byBMT05HRVNULgotCShn ZW5lcmljX3ByaW50c3RyKTogRXhwYW5kIHBhcmFtZXRlciBMRU5HVEggdG8gVUxPTkdFU1QuCi0J KiB2YWx1ZS5jIChzdHJ1Y3QgcmFuZ2UpOiBFeHBhbmQgbWVtYmVycyBPRkZTRVQsIExFTkdUSCB0 bwotCUxPTkdFU1QuCi0JKHJhbmdlc19vdmVybGFwKTogRXhwYW5kIHBhcmFtZXRlcnMgT0ZGU0VU MSwgT0ZGU0VUMiwgTEVOMSBBTkQKLQlMRU4yIHRvIExPTkdFU1QuCi0JKHJhbmdlX2NvbnRhaW4p OiBFeHBhbmQgcGFyYW1ldGVyIE9GRlNFVCwgTEVOR1RIIHRvIExPTkdFU1QuCi0JKHN0cnVjdCB2 YWx1ZSk6IEV4cGFuZCBtZW1iZXJzIE9GRlNFVCwgRU1CRURERURfT0ZGU0VULAotCVBPSU5URURf VE9fT0ZGU0VUIHRvIExPTkdFU1QuCi0JKHZhbHVlX2J5dGVzX2F2YWlsYWJsZSk6IEV4cGFuZCBw YXJhbWV0ZXJzIE9GRlNFVCwgTEVOR1RIIHRvCi0JTE9OR0VTVC4KLQkobWFya192YWx1ZV9ieXRl c191bmF2YWlsYWJsZSk6IExpa2V3aXNlLgotCShmaW5kX2ZpcnN0X3JhbmdlX292ZXJsYXApOiBM aWtld2lzZS4KLQkodmFsdWVfYXZhaWxhYmxlX2NvbnRlbnRzX2VxKTogRXhwYW5kIHBhcmFtZXRl cnMgT0ZGU0VUMSwgT0ZGU0VUMgotCWFuZCBMRU5HVEggdG8gTE9OR0VTVC4KLQkodmFsdWVfb2Zm c2V0KTogUmV0dXJuIExPTkdFU1QuCi0JKHNldF92YWx1ZV9vZmZzZXQpOiBFeHBhbmQgcGFyYW1l dGVyIE9GRlNFVCB0byBMT05HRVNULgotCSh2YWx1ZV9jb250ZW50c19jb3B5X3Jhdyk6IEV4cGFu ZCBwYXJhbWV0ZXJzIFNSQ19PRkZTRVQsCi0JRFNUX09GRlNFVCwgTEVOR1RIIHRvIHNzaXplX3Qu Ci0JKHZhbHVlX2NvbnRlbnRzX2NvcHkpOiBMaWtld2lzZS4KLQkodmFsdWVfYml0c192YWxpZCk6 IEV4cGFuZCBwYXJhbWV0ZXJzIE9GRlNFVCwgTEVOR1RIIHRvIExPTkdFU1QuCi0JKHZhbHVlX2Jp dHNfc3ludGhldGljX3BvaW50ZXIpOiBMaWtld2lzZS4KLQkodmFsdWVfZW1iZWRkZWRfb2Zmc2V0 KTogUmV0dXJuIExPTkdFU1QuCi0JKHNldF92YWx1ZV9lbWJlZGRlZF9vZmZzZXQpOiBFeHBhbmQg cGFyYW1ldGVyIFZBTCB0byBMT05HRVNULgotCSh2YWx1ZV9wb2ludGVkX3RvX29mZnNldCk6IFJl dHVybiBMT05HRVNULgotCShzZXRfdmFsdWVfcG9pbnRlZF90b19vZmZzZXQpOiBFeHBhbmQgcGFy YW1ldGVyIFZBTCB0byBMT05HRVNULgotCShzZXRfaW50ZXJuYWx2YXJfY29tcG9uZW50KTogRXhw YW5kIHBhcmFtZXRlciBPRkZTRVQgdG8gTE9OR0VTVC4KLQkodmFsdWVfcHJpbWl0aXZlX2ZpZWxk KTogTGlrZXdpc2UuICBFeHBhbmQgQklUUE9TLCBCT0ZGU0VULAotCUNPTlRBSU5FUl9CSVRTSVpF IHRvIExPTkdFU1QuCi0JKHZhbHVlX2ZuX2ZpZWxkKTogRXhwYW5kIHBhcmFtZXRlciBPRkZTRVQg dG8gTE9OR0VTVC4KLQkodW5wYWNrX3ZhbHVlX2JpdHNfYXNfbG9uZ18xKTogRXhwYW5kIHBhcmFt ZXRlcnMgRU1CRURERURfT0ZGU0VULAotCUJJVFBPUyB0byBMT05HRVNULiAgRXhwYW5kIFJFQURf T0ZGU0VUIHRvIExPTkdFU1QuCi0JKHVucGFja192YWx1ZV9iaXRzX2FzX2xvbmcpOiBFeHBhbmQg cGFyYW1ldGVyIEVNQkVERURfT0ZGU0VUIHRvCi0JTE9OR0VTVC4KLQkodW5wYWNrX3ZhbHVlX2Zp ZWxkX2FzX2xvbmdfMSk6IExpa2V3aXNlLiAgRXhwYW5kIEJJVFBPUyB0bwotCUxPTkdFU1QuCi0J KHVucGFja192YWx1ZV9maWVsZF9hc19sb25nKTogRXhwYW5kIHBhcmFtZXRlciBFTUJFRERFRF9P RkZTRVQgdG8KLQlMT05HRVNULgotCSh2YWx1ZV9maWVsZF9iaXRmaWVsZCk6IExpa2V3aXNlLgot CShtb2RpZnlfZmllbGQpOiBFeHBhbmQgcGFyYW1ldGVyIEJJVFBPUyB0byBMT05HRVNULiAgRXhw YW5kCi0JQllURVNJWkUgdG8gTE9OR0VTVC4KLQkqIHZhbHVlLmggKHZhbHVlX29mZnNldCk6IFJl dHVybiBMT05HRVNULgotCShzZXRfdmFsdWVfb2Zmc2V0KTogRXhwYW5kIHBhcmFtZXRlciBPRkZT RVQgdG8gTE9OR0VTVC4KLQkodmFsdWVfcG9pbnRlZF90b19vZmZzZXQpOiBSZXR1cm4gTE9OR0VT VC4KLQkoc2V0X3ZhbHVlX3BvaW50ZWRfdG9fb2Zmc2V0KTogRXhwYW5kIHBhcmFtZXRlciBWQUwg dG8gTE9OR0VTVC4KLQkodmFsdWVfZW1iZWRkZWRfb2Zmc2V0KTogUmV0dXJuIExPTkdFU1QuCi0J KHNldF92YWx1ZV9lbWJlZGRlZF9vZmZzZXQpOiBFeHBhbmQgcGFyYW1ldGVyIFZBTCB0byBMT05H RVNULgotCShzdHJ1Y3QgbHZhbF9mdW5jcyk6IEV4cGFuZCBwYXJhbWV0ZXJzIE9GRlNFVCBhbmQg TEVOR1RIIHRvCi0JTE9OR0VTVCBmb3IgQ0hFQ0tfVkFMSURJVFkuICBMaWtld2lzZSBmb3IgQ0hF Q0tfU1lOVEhFVElDX1BPSU5URVIuCi0JKHZhbHByaW50X2NoZWNrX3ZhbGlkaXR5KTogRXhwYW5k IHBhcmFtZXRlciBFTUJFRERFRF9PRkZTRVQgdG8KLQlMT05HRVNULgotCSh2YWx1ZV9iaXRzX3Zh bGlkKTogRXhwYW5kIHBhcmFtZXRlcnMgT0ZGU0VULCBMRU5HVEggdG8gTE9OR0VTVC4KLQkodmFs dWVfYml0c19zeW50aGV0aWNfcG9pbnRlcik6IExpa2V3aXNlLgotCSh2YWx1ZV9ieXRlc19hdmFp bGFibGUpOiBMaWtld2lzZS4KLQkobWFya192YWx1ZV9ieXRlc191bmF2YWlsYWJsZSk6IExpa2V3 aXNlLgotCSh2YWx1ZV9hdmFpbGFibGVfY29udGVudHNfZXEpOiBGaXggY29tbWVudC4gIEV4cGFu ZCBwYXJhbWV0ZXJzCi0JT0ZGU0VUMSwgT0ZGU0VUMiwgTEVOR1RIIHRvIExPTkdFU1QuCi0JKHJl YWRfdmFsdWVfbWVtb3J5KTogRXhwYW5kIHBhcmFtZXRlciBFTUJFRERFRF9PRkZTRVQgdG8KLQlM T05HRVNULgotCSh1bnBhY2tfdmFsdWVfYml0c19hc19sb25nKTogRXhwYW5kIHBhcmFtZXRlciBF TUJFRERFRF9PRkZTRVQgdG8KLQlMT05HRVNULgotCSh1bnBhY2tfdmFsdWVfZmllbGRfYXNfbG9u Zyk6IExpa2V3aXNlLgotCSh2YWx1ZV9maWVsZF9iaXRmaWVsZCk6IExpa2V3aXNlLgotCSh2YWx1 ZV9jb250ZW50c19jb3B5X3Jhdyk6IEV4cGFuZCBwYXJhbWV0ZXJzIFNSQ19PRkZTRVQsCi0JRFNU X09GRlNFVCwgTEVOR1RIIHRvIExPTkdFU1QuCi0JKHZhbHVlX2NvbnRlbnRzX2NvcHkpOiBMaWtl d2lzZS4KLQkodmFsdWVfcHJpbWl0aXZlX2ZpZWxkKTogRXhwYW5kIHBhcmFtZXRlciBPRkZTRVQg dG8gTE9OR0VTVC4KLQkodmFsdWVfcnR0aV9pbmRpcmVjdF90eXBlKTogRXhwYW5kIHBhcmFtZXRl ciBUT1AgdG8gcG9pbnQgdG8KLQlMT05HRVNULgotCSh2YWx1ZV9mdWxsX29iamVjdCk6IEV4cGFu ZCBwYXJhbWV0ZXIgWFRPUCB0byBMT05HRVNULgotCShzZXRfaW50ZXJuYWx2YXJfY29tcG9uZW50 KTogRXhwYW5kIHBhcmFtZXRlciBPRkZTRVQgdG8gTE9OR0VTVC4KLQkodmFsdWVfZm5fZmllbGQp OiBFeHBhbmQgcGFyYW1ldGVyIE9GRlNFVCB0byBMT05HRVNULgotCShtb2RpZnlfZmllbGQpOiBF eHBhbmQgcGFyYW1ldGVyIEJJVFBPUyB0byBMT05HRVNULgotCSh2YWxfcHJpbnQpOiBFeHBhbmQg cGFyYW1ldGVyIEVNQkVEREVEX09GRlNFVCB0byBMT05HRVNULgotCSh2YWx1ZV9hbGxvY2F0ZV9z cGFjZV9pbl9pbmZlcmlvcik6IEV4cGFuZCBwYXJhbWV0ZXIgTEVOIHRvCi0JTE9OR0VTVC4KLQot Z2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6Ci0KLTIwMTItMDgtMDUgIFNpZGRoZXNoIFBveWFyZWth ciAgPHNpZGRoZXNoQHJlZGhhdC5jb20+Ci0KLQkqIGdkYi5iYXNlL2xvbmdlc3QtdHlwZXMuZXhw OiBBZGQgdGVzdCBjYXNlIHRvIGdldCBvZmZzZXQgb2YKLQlCVUYyLgotCi0tLU1QXy95cDVmK1df RUQySnRVbFN5Qmk4eHVqcgotQ29udGVudC1UeXBlOiB0ZXh0L3gtcGF0Y2gKLUNvbnRlbnQtVHJh bnNmZXItRW5jb2Rpbmc6IDdiaXQKLUNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZp bGVuYW1lPWJpdHBvcy1tYWluLnBhdGNoCi0KLWRpZmYgLS1naXQgYS9nZGIvYWFyY2g2NC1saW51 eC1uYXQuYyBiL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCi0tLS0gYS9nZGIvYWFyY2g2NC1saW51 eC1uYXQuYwotKysrIGIvZ2RiL2FhcmNoNjQtbGludXgtbmF0LmMKLUBAIC04MDgsNyArODA4LDcg QEAgYWFyY2g2NF9saW51eF9uYXRfdGFyZ2V0OjpyZW1vdmVfd2F0Y2hwb2ludCAoQ09SRV9BRERS IGFkZHIsIGludCBsZW4sCi0gLyogSW1wbGVtZW50IHRoZSAicmVnaW9uX29rX2Zvcl9od193YXRj aHBvaW50IiB0YXJnZXRfb3BzIG1ldGhvZC4gICovCi0gCi0gaW50Ci0tYWFyY2g2NF9saW51eF9u YXRfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBp bnQgbGVuKQotK2FhcmNoNjRfbGludXhfbmF0X3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRj aHBvaW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4pCi0gewotICAgcmV0dXJuIGFhcmNo NjRfbGludXhfcmVnaW9uX29rX2Zvcl93YXRjaHBvaW50IChhZGRyLCBsZW4pOwotIH0KLWRpZmYg LS1naXQgYS9nZGIvYWRhLWxhbmcuYyBiL2dkYi9hZGEtbGFuZy5jCi0tLS0gYS9nZGIvYWRhLWxh bmcuYwotKysrIGIvZ2RiL2FkYS1sYW5nLmMKLUBAIC03OCw3ICs3OCw3IEBAIHN0YXRpYyBzdHJ1 Y3QgdHlwZSAqZGVzY19ib3VuZHNfdHlwZSAoc3RydWN0IHR5cGUgKik7Ci0gCi0gc3RhdGljIHN0 cnVjdCB2YWx1ZSAqZGVzY19ib3VuZHMgKHN0cnVjdCB2YWx1ZSAqKTsKLSAKLS1zdGF0aWMgaW50 IGZhdF9wbnRyX2JvdW5kc19iaXRwb3MgKHN0cnVjdCB0eXBlICopOwotK3N0YXRpYyBMT05HRVNU IGZhdF9wbnRyX2JvdW5kc19iaXRwb3MgKHN0cnVjdCB0eXBlICopOwotIAotIHN0YXRpYyBpbnQg ZmF0X3BudHJfYm91bmRzX2JpdHNpemUgKHN0cnVjdCB0eXBlICopOwotIAotQEAgLTg2LDEzICs4 NiwxMyBAQCBzdGF0aWMgc3RydWN0IHR5cGUgKmRlc2NfZGF0YV90YXJnZXRfdHlwZSAoc3RydWN0 IHR5cGUgKik7Ci0gCi0gc3RhdGljIHN0cnVjdCB2YWx1ZSAqZGVzY19kYXRhIChzdHJ1Y3QgdmFs dWUgKik7Ci0gCi0tc3RhdGljIGludCBmYXRfcG50cl9kYXRhX2JpdHBvcyAoc3RydWN0IHR5cGUg Kik7Ci0rc3RhdGljIExPTkdFU1QgZmF0X3BudHJfZGF0YV9iaXRwb3MgKHN0cnVjdCB0eXBlICop OwotIAotIHN0YXRpYyBpbnQgZmF0X3BudHJfZGF0YV9iaXRzaXplIChzdHJ1Y3QgdHlwZSAqKTsK LSAKLSBzdGF0aWMgc3RydWN0IHZhbHVlICpkZXNjX29uZV9ib3VuZCAoc3RydWN0IHZhbHVlICos IGludCwgaW50KTsKLSAKLS1zdGF0aWMgaW50IGRlc2NfYm91bmRfYml0cG9zIChzdHJ1Y3QgdHlw ZSAqLCBpbnQsIGludCk7Ci0rc3RhdGljIExPTkdFU1QgZGVzY19ib3VuZF9iaXRwb3MgKHN0cnVj dCB0eXBlICosIGludCwgaW50KTsKLSAKLSBzdGF0aWMgaW50IGRlc2NfYm91bmRfYml0c2l6ZSAo c3RydWN0IHR5cGUgKiwgaW50LCBpbnQpOwotIAotQEAgLTE3NSw3ICsxNzUsNyBAQCBzdGF0aWMg c3RydWN0IHR5cGUgKnN0YXRpY191bndyYXBfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUpOwotIAot IHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKnVud3JhcF92YWx1ZSAoc3RydWN0IHZhbHVlICopOwotIAot LXN0YXRpYyBzdHJ1Y3QgdHlwZSAqY29uc3RyYWluZWRfcGFja2VkX2FycmF5X3R5cGUgKHN0cnVj dCB0eXBlICosIGxvbmcgKik7Ci0rc3RhdGljIHN0cnVjdCB0eXBlICpjb25zdHJhaW5lZF9wYWNr ZWRfYXJyYXlfdHlwZSAoc3RydWN0IHR5cGUgKiwgTE9OR0VTVCAqKTsKLSAKLSBzdGF0aWMgc3Ry dWN0IHR5cGUgKmRlY29kZV9jb25zdHJhaW5lZF9wYWNrZWRfYXJyYXlfdHlwZSAoc3RydWN0IHR5 cGUgKik7Ci0gCi1AQCAtMjE0LDE0ICsyMTQsMTQgQEAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqdmFs dWVfdmFsX2F0ciAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHZhbHVlICopOwotIHN0YXRpYyBzdHJ1 Y3Qgc3ltYm9sICpzdGFuZGFyZF9sb29rdXAgKGNvbnN0IGNoYXIgKiwgY29uc3Qgc3RydWN0IGJs b2NrICosCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluX2Vu dW0pOwotIAotLXN0YXRpYyBzdHJ1Y3QgdmFsdWUgKmFkYV9zZWFyY2hfc3RydWN0X2ZpZWxkIChj b25zdCBjaGFyICosIHN0cnVjdCB2YWx1ZSAqLCBpbnQsCi0rc3RhdGljIHN0cnVjdCB2YWx1ZSAq YWRhX3NlYXJjaF9zdHJ1Y3RfZmllbGQgKGNvbnN0IGNoYXIgKiwgc3RydWN0IHZhbHVlICosIExP TkdFU1QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCB0eXBlICopOwotIAotLXN0YXRpYyBzdHJ1Y3QgdmFsdWUgKmFkYV92YWx1ZV9wcmltaXRp dmVfZmllbGQgKHN0cnVjdCB2YWx1ZSAqLCBpbnQsIGludCwKLStzdGF0aWMgc3RydWN0IHZhbHVl ICphZGFfdmFsdWVfcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKiwgTE9OR0VTVCwgaW50 LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCB0eXBlICopOwotIAotLXN0YXRpYyBpbnQgZmluZF9zdHJ1Y3RfZmllbGQgKGNvbnN0IGNoYXIg Kiwgc3RydWN0IHR5cGUgKiwgaW50LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCB0eXBlICoqLCBpbnQgKiwgaW50ICosIGludCAqLCBpbnQgKik7Ci0rc3RhdGljIGludCBm aW5kX3N0cnVjdF9maWVsZCAoY29uc3QgY2hhciAqLCBzdHJ1Y3QgdHlwZSAqLCBMT05HRVNULAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICoqLCBMT05HRVNUICos IGludCAqLCBpbnQgKiwgaW50ICopOwotIAotIHN0YXRpYyBpbnQgYWRhX3Jlc29sdmVfZnVuY3Rp b24gKHN0cnVjdCBibG9ja19zeW1ib2wgKiwgaW50LAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCB2YWx1ZSAqKiwgaW50LCBjb25zdCBjaGFyICosCi1AQCAtMjMyLDcg KzIzMiw3IEBAIHN0YXRpYyBpbnQgYWRhX2lzX2RpcmVjdF9hcnJheV90eXBlIChzdHJ1Y3QgdHlw ZSAqKTsKLSBzdGF0aWMgdm9pZCBhZGFfbGFuZ3VhZ2VfYXJjaF9pbmZvIChzdHJ1Y3QgZ2RiYXJj aCAqLAotIAkJCQkgICAgc3RydWN0IGxhbmd1YWdlX2FyY2hfaW5mbyAqKTsKLSAKLS1zdGF0aWMg c3RydWN0IHZhbHVlICphZGFfaW5kZXhfc3RydWN0X2ZpZWxkIChpbnQsIHN0cnVjdCB2YWx1ZSAq LCBpbnQsCi0rc3RhdGljIHN0cnVjdCB2YWx1ZSAqYWRhX2luZGV4X3N0cnVjdF9maWVsZCAoTE9O R0VTVCwgc3RydWN0IHZhbHVlICosIExPTkdFU1QsCi0gCQkJCQkgICAgIHN0cnVjdCB0eXBlICop OwotIAotIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKmFzc2lnbl9hZ2dyZWdhdGUgKHN0cnVjdCB2YWx1 ZSAqLCBzdHJ1Y3QgdmFsdWUgKiwgCi1AQCAtNzAxLDcgKzcwMSw3IEBAIGNvZXJjZV91bnNwZWNf dmFsX3RvX3R5cGUgKHN0cnVjdCB2YWx1ZSAqdmFsLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKLSB9Ci0g Ci0gc3RhdGljIGNvbnN0IGdkYl9ieXRlICoKLS1jb25kX29mZnNldF9ob3N0IChjb25zdCBnZGJf Ynl0ZSAqdmFsYWRkciwgbG9uZyBvZmZzZXQpCi0rY29uZF9vZmZzZXRfaG9zdCAoY29uc3QgZ2Ri X2J5dGUgKnZhbGFkZHIsIExPTkdFU1Qgb2Zmc2V0KQotIHsKLSAgIGlmICh2YWxhZGRyID09IE5V TEwpCi0gICAgIHJldHVybiBOVUxMOwotQEAgLTcxMCw3ICs3MTAsNyBAQCBjb25kX29mZnNldF9o b3N0IChjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwgbG9uZyBvZmZzZXQpCi0gfQotIAotIHN0YXRp YyBDT1JFX0FERFIKLS1jb25kX29mZnNldF90YXJnZXQgKENPUkVfQUREUiBhZGRyZXNzLCBsb25n IG9mZnNldCkKLStjb25kX29mZnNldF90YXJnZXQgKENPUkVfQUREUiBhZGRyZXNzLCBMT05HRVNU IG9mZnNldCkKLSB7Ci0gICBpZiAoYWRkcmVzcyA9PSAwKQotICAgICByZXR1cm4gMDsKLUBAIC0x NzUyLDcgKzE3NTIsNyBAQCBkZXNjX2JvdW5kcyAoc3RydWN0IHZhbHVlICphcnIpCi0gLyogSWYg VFlQRSBpcyB0aGUgdHlwZSBvZiBhbiBhcnJheS1kZXNjcmlwdG9yIChmYXQgcG9pbnRlciksICB0 aGUgYml0Ci0gICAgcG9zaXRpb24gb2YgdGhlIGZpZWxkIGNvbnRhaW5pbmcgdGhlIGFkZHJlc3Mg b2YgdGhlIGJvdW5kcyBkYXRhLiAgKi8KLSAKLS1zdGF0aWMgaW50Ci0rc3RhdGljIExPTkdFU1QK LSBmYXRfcG50cl9ib3VuZHNfYml0cG9zIChzdHJ1Y3QgdHlwZSAqdHlwZSkKLSB7Ci0gICByZXR1 cm4gVFlQRV9GSUVMRF9CSVRQT1MgKGRlc2NfYmFzZV90eXBlICh0eXBlKSwgMSk7Ci1AQCAtMTgx OCw3ICsxODE4LDcgQEAgZGVzY19kYXRhIChzdHJ1Y3QgdmFsdWUgKmFycikKLSAvKiBJZiBUWVBF IGlzIHRoZSB0eXBlIG9mIGFuIGFycmF5LWRlc2NyaXB0b3IgKGZhdCBwb2ludGVyKSwgdGhlIGJp dAotICAgIHBvc2l0aW9uIG9mIHRoZSBmaWVsZCBjb250YWluaW5nIHRoZSBhZGRyZXNzIG9mIHRo ZSBkYXRhLiAgKi8KLSAKLS1zdGF0aWMgaW50Ci0rc3RhdGljIExPTkdFU1QKLSBmYXRfcG50cl9k YXRhX2JpdHBvcyAoc3RydWN0IHR5cGUgKnR5cGUpCi0gewotICAgcmV0dXJuIFRZUEVfRklFTERf QklUUE9TIChkZXNjX2Jhc2VfdHlwZSAodHlwZSksIDApOwotQEAgLTE4NTMsNyArMTg1Myw3IEBA IGRlc2Nfb25lX2JvdW5kIChzdHJ1Y3QgdmFsdWUgKmJvdW5kcywgaW50IGksIGludCB3aGljaCkK LSAgICBvZiB0aGUgSXRoIGxvd2VyIGJvdW5kIHN0b3JlZCBpbiBpdCwgaWYgV0hJQ0ggaXMgMCwg YW5kIHRoZSBJdGggdXBwZXIKLSAgICBib3VuZCwgaWYgV0hJQ0ggaXMgMS4gIFRoZSBmaXJzdCBi b3VuZCBpcyBJPTEuICAqLwotIAotLXN0YXRpYyBpbnQKLStzdGF0aWMgTE9OR0VTVAotIGRlc2Nf Ym91bmRfYml0cG9zIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGksIGludCB3aGljaCkKLSB7Ci0g ICByZXR1cm4gVFlQRV9GSUVMRF9CSVRQT1MgKGRlc2NfYmFzZV90eXBlICh0eXBlKSwgMiAqIGkg KyB3aGljaCAtIDIpOwotQEAgLTIwNDMsNyArMjA0Myw3IEBAIGFkYV90eXBlX29mX2FycmF5IChz dHJ1Y3QgdmFsdWUgKmFyciwgaW50IGJvdW5kcykKLSAJICAgICAgICAgemVybywgYW5kIGRvZXMg bm90IG5lZWQgdG8gYmUgcmVjb21wdXRlZC4gICovCi0gCSAgICAgIGlmIChsbyA8IGhpKQotIAkJ ewotLQkJICBpbnQgYXJyYXlfYml0c2l6ZSA9Ci0rCQkgIExPTkdFU1QgYXJyYXlfYml0c2l6ZSA9 Ci0gCQkgICAgICAgIChoaSAtIGxvICsgMSkgKiBUWVBFX0ZJRUxEX0JJVFNJWkUgKGVsdF90eXBl LCAwKTsKLSAKLSAJCSAgVFlQRV9MRU5HVEggKGFycmF5X3R5cGUpID0gKGFycmF5X2JpdHNpemUg KyA3KSAvIDg7Ci1AQCAtMjIwMyw3ICsyMjAzLDcgQEAgZGVjb2RlX3BhY2tlZF9hcnJheV9iaXRz aXplIChzdHJ1Y3QgdHlwZSAqdHlwZSkKLSAgICB0aGUgbGVuZ3RoIGlzIGFyYml0cmFyeS4gICov Ci0gCi0gc3RhdGljIHN0cnVjdCB0eXBlICoKLS1jb25zdHJhaW5lZF9wYWNrZWRfYXJyYXlfdHlw ZSAoc3RydWN0IHR5cGUgKnR5cGUsIGxvbmcgKmVsdF9iaXRzKQotK2NvbnN0cmFpbmVkX3BhY2tl ZF9hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgTE9OR0VTVCAqZWx0X2JpdHMpCi0gewot ICAgc3RydWN0IHR5cGUgKm5ld19lbHRfdHlwZTsKLSAgIHN0cnVjdCB0eXBlICpuZXdfdHlwZTsK LUBAIC0yMjU3LDcgKzIyNTcsNyBAQCBkZWNvZGVfY29uc3RyYWluZWRfcGFja2VkX2FycmF5X3R5 cGUgKHN0cnVjdCB0eXBlICp0eXBlKQotICAgY2hhciAqbmFtZTsKLSAgIGNvbnN0IGNoYXIgKnRh aWw7Ci0gICBzdHJ1Y3QgdHlwZSAqc2hhZG93X3R5cGU7Ci0tICBsb25nIGJpdHM7Ci0rICBMT05H RVNUIGJpdHM7Ci0gCi0gICBpZiAoIXJhd19uYW1lKQotICAgICByYXdfbmFtZSA9IGFkYV90eXBl X25hbWUgKGRlc2NfYmFzZV90eXBlICh0eXBlKSk7Ci1AQCAtMjMyOCw3ICsyMzI4LDggQEAgZGVj b2RlX2NvbnN0cmFpbmVkX3BhY2tlZF9hcnJheSAoc3RydWN0IHZhbHVlICphcnIpCi0gIAkgYXJy YXkgd2l0aCBubyB3cmFwcGVyLiAgSW4gb3JkZXIgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSB0aHJv dWdoCi0gIAkgdGhlIChsZWZ0LWp1c3RpZmllZCkgcGFja2VkIGFycmF5IHR5cGUgd2UganVzdCBi dWlsdCwgd2UgbXVzdAotICAJIGZpcnN0IGxlZnQtanVzdGlmeSBpdC4gICovCi0tICAgICAgaW50 IGJpdF9zaXplLCBiaXRfcG9zOwotKyAgICAgIGludCBiaXRfc2l6ZTsKLSsgICAgICBMT05HRVNU IGJpdF9wb3M7Ci0gICAgICAgVUxPTkdFU1QgbW9kOwotIAotICAgICAgIG1vZCA9IGFkYV9tb2R1 bHVzICh2YWx1ZV90eXBlIChhcnIpKSAtIDE7Ci1AQCAtMjU1Niw3ICsyNTU3LDcgQEAgYWRhX3Vu cGFja19mcm9tX2NvbnRlbnRzIChjb25zdCBnZGJfYnl0ZSAqc3JjLCBpbnQgYml0X29mZnNldCwg aW50IGJpdF9zaXplLAotIAotIHN0cnVjdCB2YWx1ZSAqCi0gYWRhX3ZhbHVlX3ByaW1pdGl2ZV9w YWNrZWRfdmFsIChzdHJ1Y3QgdmFsdWUgKm9iaiwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCi0t CQkJCWxvbmcgb2Zmc2V0LCBpbnQgYml0X29mZnNldCwgaW50IGJpdF9zaXplLAotKwkJCQlMT05H RVNUIG9mZnNldCwgaW50IGJpdF9vZmZzZXQsIGludCBiaXRfc2l6ZSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICp0eXBlKQotIHsKLSAgIHN0cnVjdCB2YWx1 ZSAqdjsKLUBAIC0yNjI2LDcgKzI2MjcsNyBAQCBhZGFfdmFsdWVfcHJpbWl0aXZlX3BhY2tlZF92 YWwgKHN0cnVjdCB2YWx1ZSAqb2JqLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKLSAKLSAgIGlm IChvYmogIT0gTlVMTCkKLSAgICAgewotLSAgICAgIGxvbmcgbmV3X29mZnNldCA9IG9mZnNldDsK LSsgICAgICBMT05HRVNUIG5ld19vZmZzZXQgPSBvZmZzZXQ7Ci0gCi0gICAgICAgc2V0X3ZhbHVl X2NvbXBvbmVudF9sb2NhdGlvbiAodiwgb2JqKTsKLSAgICAgICBzZXRfdmFsdWVfYml0cG9zICh2 LCBiaXRfb2Zmc2V0ICsgdmFsdWVfYml0cG9zIChvYmopKTsKLUBAIC0yNjk2LDcgKzI2OTcsNyBA QCBhZGFfdmFsdWVfYXNzaWduIChzdHJ1Y3QgdmFsdWUgKnRvdmFsLCBzdHJ1Y3QgdmFsdWUgKmZy b212YWwpCi0gICAgIHsKLSAgICAgICBpbnQgbGVuID0gKHZhbHVlX2JpdHBvcyAodG92YWwpCi0g CQkgKyBiaXRzICsgSE9TVF9DSEFSX0JJVCAtIDEpIC8gSE9TVF9DSEFSX0JJVDsKLS0gICAgICBp bnQgZnJvbV9zaXplOwotKyAgICAgIExPTkdFU1QgZnJvbV9zaXplOwotICAgICAgIGdkYl9ieXRl ICpidWZmZXIgPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChsZW4pOwotICAgICAgIHN0cnVjdCB2YWx1 ZSAqdmFsOwotICAgICAgIENPUkVfQUREUiB0b19hZGRyID0gdmFsdWVfYWRkcmVzcyAodG92YWwp OwotQEAgLTI3NDcsNyArMjc0OCw3IEBAIHZhbHVlX2Fzc2lnbl90b19jb21wb25lbnQgKHN0cnVj dCB2YWx1ZSAqY29udGFpbmVyLCBzdHJ1Y3QgdmFsdWUgKmNvbXBvbmVudCwKLSAgICAgKExPTkdF U1QpICAodmFsdWVfYWRkcmVzcyAoY29tcG9uZW50KSAtIHZhbHVlX2FkZHJlc3MgKGNvbnRhaW5l cikpOwotICAgaW50IGJpdF9vZmZzZXRfaW5fY29udGFpbmVyID0KLSAgICAgdmFsdWVfYml0cG9z IChjb21wb25lbnQpIC0gdmFsdWVfYml0cG9zIChjb250YWluZXIpOwotLSAgaW50IGJpdHM7Ci0r ICBMT05HRVNUIGJpdHM7Ci0gCi0gICB2YWwgPSB2YWx1ZV9jYXN0ICh2YWx1ZV90eXBlIChjb21w b25lbnQpLCB2YWwpOwotIAotQEAgLTQ0NDcsNyArNDQ0OCw3IEBAIGVuc3VyZV9sdmFsIChzdHJ1 Y3QgdmFsdWUgKnZhbCkKLSAgIGlmIChWQUxVRV9MVkFMICh2YWwpID09IG5vdF9sdmFsCi0gICAg ICAgfHwgVkFMVUVfTFZBTCAodmFsKSA9PSBsdmFsX2ludGVybmFsdmFyKQotICAgICB7Ci0tICAg ICAgaW50IGxlbiA9IFRZUEVfTEVOR1RIIChhZGFfY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAo dmFsKSkpOwotKyAgICAgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEggKGFkYV9jaGVja190eXBl ZGVmICh2YWx1ZV90eXBlICh2YWwpKSk7Ci0gICAgICAgY29uc3QgQ09SRV9BRERSIGFkZHIgPQot ICAgICAgICAgdmFsdWVfYXNfbG9uZyAodmFsdWVfYWxsb2NhdGVfc3BhY2VfaW5faW5mZXJpb3Ig KGxlbikpOwotIAotQEAgLTQ1MzEsNyArNDUzMiw3IEBAIHN0YXRpYyBDT1JFX0FERFIKLSB2YWx1 ZV9wb2ludGVyIChzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKLSB7Ci0g ICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF90eXBlX2FyY2ggKHR5cGUpOwotLSAgdW5z aWduZWQgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotKyAgVUxPTkdFU1QgbGVuID0gVFlQRV9M RU5HVEggKHR5cGUpOwotICAgZ2RiX2J5dGUgKmJ1ZiA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKGxl bik7Ci0gICBDT1JFX0FERFIgYWRkcjsKLSAKLUBAIC02NjQ0LDcgKzY2NDUsNyBAQCB2YWx1ZV90 YWdfZnJvbV9jb250ZW50c19hbmRfYWRkcmVzcyAoc3RydWN0IHR5cGUgKnR5cGUsCi0gCQkJCSAg ICAgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIENPUkVfQUREUiBhZGRyZXNzKQotIHsKLS0gIGludCB0YWdfYnl0ZV9vZmZzZXQ7 Ci0rICBMT05HRVNUIHRhZ19ieXRlX29mZnNldDsKLSAgIHN0cnVjdCB0eXBlICp0YWdfdHlwZTsK LSAKLSAgIGlmIChmaW5kX3N0cnVjdF9maWVsZCAoIl90YWciLCB0eXBlLCAwLCAmdGFnX3R5cGUs ICZ0YWdfYnl0ZV9vZmZzZXQsCi1AQCAtNzEzNyw3ICs3MTM4LDcgQEAgYWRhX2luX3ZhcmlhbnQg KExPTkdFU1QgdmFsLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGZpZWxkX251bSkKLSAgICBvbmx5 IGluIHRoYXQgaXQgY2FuIGhhbmRsZSBwYWNrZWQgdmFsdWVzIG9mIGFyYml0cmFyeSB0eXBlLiAg Ki8KLSAKLSBzdGF0aWMgc3RydWN0IHZhbHVlICoKLS1hZGFfdmFsdWVfcHJpbWl0aXZlX2ZpZWxk IChzdHJ1Y3QgdmFsdWUgKmFyZzEsIGludCBvZmZzZXQsIGludCBmaWVsZG5vLAotK2FkYV92YWx1 ZV9wcmltaXRpdmVfZmllbGQgKHN0cnVjdCB2YWx1ZSAqYXJnMSwgTE9OR0VTVCBvZmZzZXQsIGlu dCBmaWVsZG5vLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICphcmdf dHlwZSkKLSB7Ci0gICBzdHJ1Y3QgdHlwZSAqdHlwZTsKLUBAIC03MTQ5LDcgKzcxNTAsNyBAQCBh ZGFfdmFsdWVfcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKmFyZzEsIGludCBvZmZzZXQs IGludCBmaWVsZG5vLAotIAotICAgaWYgKFRZUEVfRklFTERfQklUU0laRSAoYXJnX3R5cGUsIGZp ZWxkbm8pICE9IDApCi0gICAgIHsKLS0gICAgICBpbnQgYml0X3BvcyA9IFRZUEVfRklFTERfQklU UE9TIChhcmdfdHlwZSwgZmllbGRubyk7Ci0rICAgICAgTE9OR0VTVCBiaXRfcG9zID0gVFlQRV9G SUVMRF9CSVRQT1MgKGFyZ190eXBlLCBmaWVsZG5vKTsKLSAgICAgICBpbnQgYml0X3NpemUgPSBU WVBFX0ZJRUxEX0JJVFNJWkUgKGFyZ190eXBlLCBmaWVsZG5vKTsKLSAKLSAgICAgICByZXR1cm4g YWRhX3ZhbHVlX3ByaW1pdGl2ZV9wYWNrZWRfdmFsIChhcmcxLCB2YWx1ZV9jb250ZW50cyAoYXJn MSksCi1AQCAtNzIyNiw5ICs3MjI3LDkgQEAgYWRhX3ZhbHVlX3ByaW1pdGl2ZV9maWVsZCAoc3Ry dWN0IHZhbHVlICphcmcxLCBpbnQgb2Zmc2V0LCBpbnQgZmllbGRubywKLSAgICBSZXR1cm5zIDEg aWYgZm91bmQsIDAgb3RoZXJ3aXNlLiAgKi8KLSAKLSBzdGF0aWMgaW50Ci0tZmluZF9zdHJ1Y3Rf ZmllbGQgKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgb2Zmc2V0LAot K2ZpbmRfc3RydWN0X2ZpZWxkIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdHlwZSAqdHlwZSwg TE9OR0VTVCBvZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICoqZmllbGRf dHlwZV9wLAotLSAgICAgICAgICAgICAgICAgICBpbnQgKmJ5dGVfb2Zmc2V0X3AsIGludCAqYml0 X29mZnNldF9wLCBpbnQgKmJpdF9zaXplX3AsCi0rCQkgICBMT05HRVNUICpieXRlX29mZnNldF9w LCBpbnQgKmJpdF9vZmZzZXRfcCwgaW50ICpiaXRfc2l6ZV9wLAotIAkJICAgaW50ICppbmRleF9w KQotIHsKLSAgIGludCBpOwotQEAgLTcyNDcsOCArNzI0OCw4IEBAIGZpbmRfc3RydWN0X2ZpZWxk IChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IG9mZnNldCwKLSAKLSAg IGZvciAoaSA9IDA7IGkgPCBUWVBFX05GSUVMRFMgKHR5cGUpOyBpICs9IDEpCi0gICAgIHsKLS0g ICAgICBpbnQgYml0X3BvcyA9IFRZUEVfRklFTERfQklUUE9TICh0eXBlLCBpKTsKLS0gICAgICBp bnQgZmxkX29mZnNldCA9IG9mZnNldCArIGJpdF9wb3MgLyA4OwotKyAgICAgIExPTkdFU1QgYml0 X3BvcyA9IFRZUEVfRklFTERfQklUUE9TICh0eXBlLCBpKTsKLSsgICAgICBMT05HRVNUIGZsZF9v ZmZzZXQgPSBvZmZzZXQgKyBiaXRfcG9zIC8gODsKLSAgICAgICBjb25zdCBjaGFyICp0X2ZpZWxk X25hbWUgPSBUWVBFX0ZJRUxEX05BTUUgKHR5cGUsIGkpOwotIAotICAgICAgIGlmICh0X2ZpZWxk X25hbWUgPT0gTlVMTCkKLUBAIC03MzUwLDcgKzczNTEsNyBAQCBudW1fdmlzaWJsZV9maWVsZHMg KHN0cnVjdCB0eXBlICp0eXBlKQotICAgIGxvbmcgZXhwbGFuYXRpb24gaW4gZmluZF9zdHJ1Y3Rf ZmllbGQncyBmdW5jdGlvbiBkb2N1bWVudGF0aW9uLiAgKi8KLSAKLSBzdGF0aWMgc3RydWN0IHZh bHVlICoKLS1hZGFfc2VhcmNoX3N0cnVjdF9maWVsZCAoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0 IHZhbHVlICphcmcsIGludCBvZmZzZXQsCi0rYWRhX3NlYXJjaF9zdHJ1Y3RfZmllbGQgKGNvbnN0 IGNoYXIgKm5hbWUsIHN0cnVjdCB2YWx1ZSAqYXJnLCBMT05HRVNUIG9mZnNldCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUpCi0gewotICAgaW50IGk7Ci1AQCAt NzM5OCw3ICs3Mzk5LDcgQEAgYWRhX3NlYXJjaF9zdHJ1Y3RfZmllbGQgKGNvbnN0IGNoYXIgKm5h bWUsIHN0cnVjdCB2YWx1ZSAqYXJnLCBpbnQgb2Zmc2V0LAotICAgICAgICAgICBpbnQgajsKLSAg ICAgICAgICAgc3RydWN0IHR5cGUgKmZpZWxkX3R5cGUgPSBhZGFfY2hlY2tfdHlwZWRlZiAoVFlQ RV9GSUVMRF9UWVBFICh0eXBlLAotIAkJCQkJCQkJCWkpKTsKLS0gICAgICAgICAgaW50IHZhcl9v ZmZzZXQgPSBvZmZzZXQgKyBUWVBFX0ZJRUxEX0JJVFBPUyAodHlwZSwgaSkgLyA4OwotKwkgIExP TkdFU1QgdmFyX29mZnNldCA9IG9mZnNldCArIFRZUEVfRklFTERfQklUUE9TICh0eXBlLCBpKSAv IDg7Ci0gCi0gICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBUWVBFX05GSUVMRFMgKGZpZWxkX3R5 cGUpOyBqICs9IDEpCi0gICAgICAgICAgICAgewotQEAgLTc0MzAsOCArNzQzMSw4IEBAIGFkYV9z ZWFyY2hfc3RydWN0X2ZpZWxkIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdmFsdWUgKmFyZywg aW50IG9mZnNldCwKLSAgIHJldHVybiBOVUxMOwotIH0KLSAKLS1zdGF0aWMgc3RydWN0IHZhbHVl ICphZGFfaW5kZXhfc3RydWN0X2ZpZWxkXzEgKGludCAqLCBzdHJ1Y3QgdmFsdWUgKiwKLS0JCQkJ CSAgICAgICBpbnQsIHN0cnVjdCB0eXBlICopOwotK3N0YXRpYyBzdHJ1Y3QgdmFsdWUgKmFkYV9p bmRleF9zdHJ1Y3RfZmllbGRfMSAoTE9OR0VTVCAqLCBzdHJ1Y3QgdmFsdWUgKiwKLSsJCQkJCSAg ICAgICBMT05HRVNULCBzdHJ1Y3QgdHlwZSAqKTsKLSAKLSAKLSAvKiBSZXR1cm4gZmllbGQgI0lO REVYIGluIEFSRywgd2hlcmUgdGhlIGluZGV4IGlzIHRoYXQgcmV0dXJuZWQgYnkKLUBAIC03NDQw LDcgKzc0NDEsNyBAQCBzdGF0aWMgc3RydWN0IHZhbHVlICphZGFfaW5kZXhfc3RydWN0X2ZpZWxk XzEgKGludCAqLCBzdHJ1Y3QgdmFsdWUgKiwKLSAgKiBJZiBmb3VuZCwgcmV0dXJuIHZhbHVlLCBl bHNlIHJldHVybiBOVUxMLiAgKi8KLSAKLSBzdGF0aWMgc3RydWN0IHZhbHVlICoKLS1hZGFfaW5k ZXhfc3RydWN0X2ZpZWxkIChpbnQgaW5kZXgsIHN0cnVjdCB2YWx1ZSAqYXJnLCBpbnQgb2Zmc2V0 LAotK2FkYV9pbmRleF9zdHJ1Y3RfZmllbGQgKExPTkdFU1QgaW5kZXgsIHN0cnVjdCB2YWx1ZSAq YXJnLCBMT05HRVNUIG9mZnNldCwKLSAJCQlzdHJ1Y3QgdHlwZSAqdHlwZSkKLSB7Ci0gICByZXR1 cm4gYWRhX2luZGV4X3N0cnVjdF9maWVsZF8xICgmaW5kZXgsIGFyZywgb2Zmc2V0LCB0eXBlKTsK LUBAIC03NDUyLDcgKzc0NTMsNyBAQCBhZGFfaW5kZXhfc3RydWN0X2ZpZWxkIChpbnQgaW5kZXgs IHN0cnVjdCB2YWx1ZSAqYXJnLCBpbnQgb2Zmc2V0LAotICAqICpJTkRFWF9QLiAgKi8KLSAKLSBz dGF0aWMgc3RydWN0IHZhbHVlICoKLS1hZGFfaW5kZXhfc3RydWN0X2ZpZWxkXzEgKGludCAqaW5k ZXhfcCwgc3RydWN0IHZhbHVlICphcmcsIGludCBvZmZzZXQsCi0rYWRhX2luZGV4X3N0cnVjdF9m aWVsZF8xIChMT05HRVNUICppbmRleF9wLCBzdHJ1Y3QgdmFsdWUgKmFyZywgTE9OR0VTVCBvZmZz ZXQsCi0gCQkJICBzdHJ1Y3QgdHlwZSAqdHlwZSkKLSB7Ci0gICBpbnQgaTsKLUBAIC03NTQzLDcg Kzc1NDQsOCBAQCBhZGFfdmFsdWVfc3RydWN0X2VsdCAoc3RydWN0IHZhbHVlICphcmcsIGNvbnN0 IGNoYXIgKm5hbWUsIGludCBub19lcnIpCi0gICAgIHYgPSBhZGFfc2VhcmNoX3N0cnVjdF9maWVs ZCAobmFtZSwgYXJnLCAwLCB0KTsKLSAgIGVsc2UKLSAgICAgewotLSAgICAgIGludCBiaXRfb2Zm c2V0LCBiaXRfc2l6ZSwgYnl0ZV9vZmZzZXQ7Ci0rICAgICAgaW50IGJpdF9vZmZzZXQsIGJpdF9z aXplOwotKyAgICAgIExPTkdFU1QgYnl0ZV9vZmZzZXQ7Ci0gICAgICAgc3RydWN0IHR5cGUgKmZp ZWxkX3R5cGU7Ci0gICAgICAgQ09SRV9BRERSIGFkZHJlc3M7Ci0gCi1AQCAtNzg5Miw4ICs3ODk0 LDggQEAgYWRhX2NvZXJjZV9yZWYgKHN0cnVjdCB2YWx1ZSAqdmFsMCkKLSAvKiBSZXR1cm4gT0ZG IHJvdW5kZWQgdXB3YXJkIGlmIG5lY2Vzc2FyeSB0byBhIG11bHRpcGxlIG9mCi0gICAgQUxJR05N RU5UIChhIHBvd2VyIG9mIDIpLiAgKi8KLSAKLS1zdGF0aWMgdW5zaWduZWQgaW50Ci0tYWxpZ25f dmFsdWUgKHVuc2lnbmVkIGludCBvZmYsIHVuc2lnbmVkIGludCBhbGlnbm1lbnQpCi0rc3RhdGlj IFVMT05HRVNUCi0rYWxpZ25fdmFsdWUgKFVMT05HRVNUIG9mZiwgVUxPTkdFU1QgYWxpZ25tZW50 KQotIHsKLSAgIHJldHVybiAob2ZmICsgYWxpZ25tZW50IC0gMSkgJiB+KGFsaWdubWVudCAtIDEp OwotIH0KLUBAIC04MjgzLDEwICs4Mjg1LDkgQEAgYWRhX3RlbXBsYXRlX3RvX2ZpeGVkX3JlY29y ZF90eXBlXzEgKHN0cnVjdCB0eXBlICp0eXBlLAotICAgc3RydWN0IHZhbHVlICptYXJrID0gdmFs dWVfbWFyayAoKTsKLSAgIHN0cnVjdCB2YWx1ZSAqZHZhbDsKLSAgIHN0cnVjdCB0eXBlICpydHlw ZTsKLS0gIGludCBuZmllbGRzLCBiaXRfbGVuOwotKyAgaW50IG5maWVsZHM7Ci0gICBpbnQgdmFy aWFudF9maWVsZDsKLS0gIGxvbmcgb2ZmOwotLSAgaW50IGZsZF9iaXRfbGVuOwotKyAgTE9OR0VT VCBvZmYsIGJpdF9sZW4sIGZsZF9iaXRfbGVuOwotICAgaW50IGY7Ci0gCi0gICAvKiBDb21wdXRl IHRoZSBudW1iZXIgb2YgZmllbGRzIGluIHRoaXMgcmVjb3JkIHR5cGUgdGhhdCBhcmUgZ29pbmcK LUBAIC04MzYzLDcgKzgzNjQsNyBAQCBhZGFfdGVtcGxhdGVfdG9fZml4ZWRfcmVjb3JkX3R5cGVf MSAoc3RydWN0IHR5cGUgKnR5cGUsCi0gCSAgICAgdGhhdCBmb2xsb3cgdGhpcyBvbmUuICAqLwot IAkgIGlmIChhZGFfaXNfYWxpZ25lcl90eXBlIChmaWVsZF90eXBlKSkKLSAJICAgIHsKLS0JICAg ICAgbG9uZyBmaWVsZF9vZmZzZXQgPSBUWVBFX0ZJRUxEX0JJVFBPUyAoZmllbGRfdHlwZSwgZik7 Ci0rCSAgICAgIExPTkdFU1QgZmllbGRfb2Zmc2V0ID0gVFlQRV9GSUVMRF9CSVRQT1MgKGZpZWxk X3R5cGUsIGYpOwotIAotIAkgICAgICBmaWVsZF92YWxhZGRyID0gY29uZF9vZmZzZXRfaG9zdCAo ZmllbGRfdmFsYWRkciwgZmllbGRfb2Zmc2V0KTsKLSAJICAgICAgZmllbGRfYWRkcmVzcyA9IGNv bmRfb2Zmc2V0X3RhcmdldCAoZmllbGRfYWRkcmVzcywgZmllbGRfb2Zmc2V0KTsKLUBAIC04NDk5 LDExICs4NTAwLDExIEBAIGFkYV90ZW1wbGF0ZV90b19maXhlZF9yZWNvcmRfdHlwZV8xIChzdHJ1 Y3QgdHlwZSAqdHlwZSwKLSAgIGlmIChUWVBFX0xFTkdUSCAodHlwZSkgPD0gMCkKLSAgICAgewot ICAgICAgIGlmIChUWVBFX05BTUUgKHJ0eXBlKSkKLS0Jd2FybmluZyAoXygiSW52YWxpZCB0eXBl IHNpemUgZm9yIGAlcycgZGV0ZWN0ZWQ6ICVkLiIpLAotLQkJIFRZUEVfTkFNRSAocnR5cGUpLCBU WVBFX0xFTkdUSCAodHlwZSkpOwotKwl3YXJuaW5nIChfKCJJbnZhbGlkIHR5cGUgc2l6ZSBmb3Ig YCVzJyBkZXRlY3RlZDogJXMuIiksCi0rCQkgVFlQRV9OQU1FIChydHlwZSksIHB1bG9uZ2VzdCAo VFlQRV9MRU5HVEggKHR5cGUpKSk7Ci0gICAgICAgZWxzZQotLQl3YXJuaW5nIChfKCJJbnZhbGlk IHR5cGUgc2l6ZSBmb3IgPHVubmFtZWQ+IGRldGVjdGVkOiAlZC4iKSwKLS0JCSBUWVBFX0xFTkdU SCAodHlwZSkpOwotKwl3YXJuaW5nIChfKCJJbnZhbGlkIHR5cGUgc2l6ZSBmb3IgPHVubmFtZWQ+ IGRldGVjdGVkOiAlcy4iKSwKLSsJCSBwdWxvbmdlc3QgKFRZUEVfTEVOR1RIICh0eXBlKSkpOwot ICAgICB9Ci0gICBlbHNlCi0gICAgIHsKLUBAIC04OTY3LDcgKzg5NjgsOCBAQCB0b19maXhlZF9h cnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZTAsIHN0cnVjdCB2YWx1ZSAqZHZhbCwKLSAJIHR5 cGUgd2FzIGEgcmVndWxhciAobm9uLXBhY2tlZCkgYXJyYXkgdHlwZS4gIEFzIGEgcmVzdWx0LCB0 aGUKLSAJIGJpdHNpemUgb2YgdGhlIGFycmF5IGVsZW1lbnRzIG5lZWRzIHRvIGJlIHNldCBhZ2Fp biwgYW5kIHRoZSBhcnJheQotIAkgbGVuZ3RoIG5lZWRzIHRvIGJlIHJlY29tcHV0ZWQgYmFzZWQg b24gdGhhdCBiaXRzaXplLiAgKi8KLS0gICAgICBpbnQgbGVuID0gVFlQRV9MRU5HVEggKHJlc3Vs dCkgLyBUWVBFX0xFTkdUSCAoVFlQRV9UQVJHRVRfVFlQRSAocmVzdWx0KSk7Ci0rICAgICAgTE9O R0VTVCBsZW4gPSAoVFlQRV9MRU5HVEggKHJlc3VsdCkKLSsJCSAgICAgLyBUWVBFX0xFTkdUSCAo VFlQRV9UQVJHRVRfVFlQRSAocmVzdWx0KSkpOwotICAgICAgIGludCBlbHRfYml0c2l6ZSA9IFRZ UEVfRklFTERfQklUU0laRSAodHlwZTAsIDApOwotIAotICAgICAgIFRZUEVfRklFTERfQklUU0la RSAocmVzdWx0LCAwKSA9IFRZUEVfRklFTERfQklUU0laRSAodHlwZTAsIDApOwotZGlmZiAtLWdp dCBhL2dkYi9hZGEtbGFuZy5oIGIvZ2RiL2FkYS1sYW5nLmgKLS0tLSBhL2dkYi9hZGEtbGFuZy5o Ci0rKysgYi9nZGIvYWRhLWxhbmcuaAotQEAgLTE3Myw3ICsxNzMsNyBAQCBleHRlcm4gdm9pZCBh ZGFfcHJpbnRfdHlwZSAoc3RydWN0IHR5cGUgKiwgY29uc3QgY2hhciAqLCBzdHJ1Y3QgdWlfZmls ZSAqLCBpbnQsCi0gZXh0ZXJuIHZvaWQgYWRhX3ByaW50X3R5cGVkZWYgKHN0cnVjdCB0eXBlICp0 eXBlLCBzdHJ1Y3Qgc3ltYm9sICpuZXdfc3ltYm9sLAotIAkJCSAgICAgICBzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtKTsKLSAKLS1leHRlcm4gdm9pZCBhZGFfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAq LCBpbnQsIENPUkVfQUREUiwKLStleHRlcm4gdm9pZCBhZGFfdmFsX3ByaW50IChzdHJ1Y3QgdHlw ZSAqLCBMT05HRVNULCBDT1JFX0FERFIsCi0gCQkJICAgc3RydWN0IHVpX2ZpbGUgKiwgaW50LAot IAkJCSAgIHN0cnVjdCB2YWx1ZSAqLAotIAkJCSAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9v cHRpb25zICopOwotQEAgLTE4OCw3ICsxODgsNyBAQCBleHRlcm4gdm9pZCBhZGFfZW1pdF9jaGFy IChpbnQsIHN0cnVjdCB0eXBlICosIHN0cnVjdCB1aV9maWxlICosIGludCwgaW50KTsKLSBleHRl cm4gdm9pZCBhZGFfcHJpbnRjaGFyIChpbnQsIHN0cnVjdCB0eXBlICosIHN0cnVjdCB1aV9maWxl ICopOwotIAotIGV4dGVybiB2b2lkIGFkYV9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKiwgc3Ry dWN0IHR5cGUgKiwgY29uc3QgZ2RiX2J5dGUgKiwKLS0JCQkgIHVuc2lnbmVkIGludCwgY29uc3Qg Y2hhciAqLCBpbnQsCi0rCQkJICBVTE9OR0VTVCwgY29uc3QgY2hhciAqLCBpbnQsCi0gCQkJICBj b25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqKTsKLSAKLSBzdHJ1Y3QgdmFsdWUgKmFk YV9jb252ZXJ0X2FjdHVhbCAoc3RydWN0IHZhbHVlICphY3R1YWwsCi1AQCAtMjYzLDcgKzI2Myw3 IEBAIGV4dGVybiBpbnQgYWRhX2lzX2NvbnN0cmFpbmVkX3BhY2tlZF9hcnJheV90eXBlIChzdHJ1 Y3QgdHlwZSAqKTsKLSAKLSBleHRlcm4gc3RydWN0IHZhbHVlICphZGFfdmFsdWVfcHJpbWl0aXZl X3BhY2tlZF92YWwgKHN0cnVjdCB2YWx1ZSAqLAotIAkJCQkJCSAgICAgY29uc3QgZ2RiX2J5dGUg KiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxvbmcsIGludCwgaW50LAotKwkJCQkJCSAgICAgTE9OR0VTVCwgaW50LCBpbnQsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdHlw ZSAqKTsKLSAKLSBleHRlcm4gc3RydWN0IHR5cGUgKmFkYV9jb2VyY2VfdG9fc2ltcGxlX2FycmF5 X3R5cGUgKHN0cnVjdCB0eXBlICopOwotZGlmZiAtLWdpdCBhL2dkYi9hZGEtdHlwZXByaW50LmMg Yi9nZGIvYWRhLXR5cGVwcmludC5jCi0tLS0gYS9nZGIvYWRhLXR5cGVwcmludC5jCi0rKysgYi9n ZGIvYWRhLXR5cGVwcmludC5jCi1AQCAtODk1LDggKzg5NSw4IEBAIGFkYV9wcmludF90eXBlIChz dHJ1Y3QgdHlwZSAqdHlwZTAsIGNvbnN0IGNoYXIgKnZhcnN0cmluZywKLSAJICAgIGNvbnN0IGNo YXIgKm5hbWUgPSBhZGFfdHlwZV9uYW1lICh0eXBlKTsKLSAKLSAJICAgIGlmICghYWRhX2lzX3Jh bmdlX3R5cGVfbmFtZSAobmFtZSkpCi0tCSAgICAgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwg XygiPCVkLWJ5dGUgaW50ZWdlcj4iKSwKLS0JCQkJVFlQRV9MRU5HVEggKHR5cGUpKTsKLSsJICAg ICAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCBfKCI8JXMtYnl0ZSBpbnRlZ2VyPiIpLAotKwkJ CQlwdWxvbmdlc3QgKFRZUEVfTEVOR1RIICh0eXBlKSkpOwotIAkgICAgZWxzZQotIAkgICAgICB7 Ci0gCQlmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICJyYW5nZSAiKTsKLUBAIC05MTcsNyArOTE3 LDggQEAgYWRhX3ByaW50X3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlMCwgY29uc3QgY2hhciAqdmFy c3RyaW5nLAotIAkgIH0KLSAJYnJlYWs7Ci0gICAgICAgY2FzZSBUWVBFX0NPREVfRkxUOgotLQlm cHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sIF8oIjwlZC1ieXRlIGZsb2F0PiIpLCBUWVBFX0xFTkdU SCAodHlwZSkpOwotKwlmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sIF8oIjwlcy1ieXRlIGZsb2F0 PiIpLAotKwkJCSAgcHVsb25nZXN0IChUWVBFX0xFTkdUSCAodHlwZSkpKTsKLSAJYnJlYWs7Ci0g ICAgICAgY2FzZSBUWVBFX0NPREVfRU5VTToKLSAJaWYgKHNob3cgPCAwKQotZGlmZiAtLWdpdCBh L2dkYi9hZGEtdmFscHJpbnQuYyBiL2dkYi9hZGEtdmFscHJpbnQuYwotLS0tIGEvZ2RiL2FkYS12 YWxwcmludC5jCi0rKysgYi9nZGIvYWRhLXZhbHByaW50LmMKLUBAIC0zNCwxMSArMzQsMTEgQEAK LSAjaW5jbHVkZSAidGFyZ2V0LWZsb2F0LmgiCi0gCi0gc3RhdGljIGludCBwcmludF9maWVsZF92 YWx1ZXMgKHN0cnVjdCB0eXBlICosIGNvbnN0IGdkYl9ieXRlICosCi0tCQkJICAgICAgIGludCwK LSsJCQkgICAgICAgTE9OR0VTVCwKLSAJCQkgICAgICAgc3RydWN0IHVpX2ZpbGUgKiwgaW50LAot IAkJCSAgICAgICBzdHJ1Y3QgdmFsdWUgKiwKLSAJCQkgICAgICAgY29uc3Qgc3RydWN0IHZhbHVl X3ByaW50X29wdGlvbnMgKiwKLS0JCQkgICAgICAgaW50LCBzdHJ1Y3QgdHlwZSAqLCBpbnQsCi0r CQkJICAgICAgIGludCwgc3RydWN0IHR5cGUgKiwgTE9OR0VTVCwKLSAJCQkgICAgICAgY29uc3Qg c3RydWN0IGxhbmd1YWdlX2RlZm4gKik7Ci0gDAotIAotQEAgLTMxNiw3ICszMTYsNyBAQCBhZGFf ZW1pdF9jaGFyIChpbnQgYywgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJl YW0sCi0gICAgb2YgYSBjaGFyYWN0ZXIuICAqLwotIAotIHN0YXRpYyBpbnQKLS1jaGFyX2F0IChj b25zdCBnZGJfYnl0ZSAqc3RyaW5nLCBpbnQgaSwgaW50IHR5cGVfbGVuLAotK2NoYXJfYXQgKGNv bnN0IGdkYl9ieXRlICpzdHJpbmcsIExPTkdFU1QgaSwgaW50IHR5cGVfbGVuLAotIAkgZW51bSBi ZmRfZW5kaWFuIGJ5dGVfb3JkZXIpCi0gewotICAgaWYgKHR5cGVfbGVuID09IDEpCi1AQCAtNDc1 LDExICs0NzUsMTEgQEAgYWRhX3ByaW50X3NjYWxhciAoc3RydWN0IHR5cGUgKnR5cGUsIExPTkdF U1QgdmFsLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQotIAotIHN0YXRpYyB2b2lkCi0gcHJpbnRz dHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICplbHR0eXBlLCBjb25zdCBn ZGJfYnl0ZSAqc3RyaW5nLAotLQkgIHVuc2lnbmVkIGludCBsZW5ndGgsIGludCBmb3JjZV9lbGxp cHNlcywgaW50IHR5cGVfbGVuLAotKwkgIFVMT05HRVNUIGxlbmd0aCwgaW50IGZvcmNlX2VsbGlw c2VzLCBpbnQgdHlwZV9sZW4sCi0gCSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMg Km9wdGlvbnMpCi0gewotICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5 dGVfb3JkZXIgKGdldF90eXBlX2FyY2ggKGVsdHR5cGUpKTsKLS0gIHVuc2lnbmVkIGludCBpOwot KyAgVUxPTkdFU1QgaTsKLSAgIHVuc2lnbmVkIGludCB0aGluZ3NfcHJpbnRlZCA9IDA7Ci0gICBp bnQgaW5fcXVvdGVzID0gMDsKLSAgIGludCBuZWVkX2NvbW1hID0gMDsKLUBAIC00OTQsOSArNDk0 LDkgQEAgcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICplbHR0 eXBlLCBjb25zdCBnZGJfYnl0ZSAqc3RyaW5nLAotICAgICB7Ci0gICAgICAgLyogUG9zaXRpb24g b2YgdGhlIGNoYXJhY3RlciB3ZSBhcmUgZXhhbWluaW5nCi0gICAgICAgICAgdG8gc2VlIHdoZXRo ZXIgaXQgaXMgcmVwZWF0ZWQuICAqLwotLSAgICAgIHVuc2lnbmVkIGludCByZXAxOwotKyAgICAg IFVMT05HRVNUIHJlcDE7Ci0gICAgICAgLyogTnVtYmVyIG9mIHJlcGV0aXRpb25zIHdlIGhhdmUg ZGV0ZWN0ZWQgc28gZmFyLiAgKi8KLS0gICAgICB1bnNpZ25lZCBpbnQgcmVwczsKLSsgICAgICBV TE9OR0VTVCByZXBzOwotIAotICAgICAgIFFVSVQ7Ci0gCi1AQCAtNTI3LDcgKzUyNyw4IEBAIHBy aW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqZWx0dHlwZSwgY29u c3QgZ2RiX2J5dGUgKnN0cmluZywKLSAJICBhZGFfZW1pdF9jaGFyIChjaGFyX2F0IChzdHJpbmcs IGksIHR5cGVfbGVuLCBieXRlX29yZGVyKSwKLSAJCQkgZWx0dHlwZSwgc3RyZWFtLCAnXCcnLCB0 eXBlX2xlbik7Ci0gCSAgZnB1dHNfZmlsdGVyZWQgKCInIiwgc3RyZWFtKTsKLS0JICBmcHJpbnRm X2ZpbHRlcmVkIChzdHJlYW0sIF8oIiA8cmVwZWF0cyAldSB0aW1lcz4iKSwgcmVwcyk7Ci0rCSAg ZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCBfKCIgPHJlcGVhdHMgJXMgdGltZXM+IiksCi0rCQkJ ICAgIHB1bG9uZ2VzdCAocmVwcykpOwotIAkgIGkgPSByZXAxIC0gMTsKLSAJICB0aGluZ3NfcHJp bnRlZCArPSBvcHRpb25zLT5yZXBlYXRfY291bnRfdGhyZXNob2xkOwotIAkgIG5lZWRfY29tbWEg PSAxOwotQEAgLTU1NSw3ICs1NTYsNyBAQCBwcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwgc3RydWN0IHR5cGUgKmVsdHR5cGUsIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsCi0gCi0gdm9p ZAotIGFkYV9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IHR5cGUgKnR5 cGUsCi0tCSAgICAgIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsIHVuc2lnbmVkIGludCBsZW5ndGgs Ci0rCSAgICAgIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsIFVMT05HRVNUIGxlbmd0aCwKLSAJICAg ICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKLSAJICAgICAgY29u c3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi0gewotQEAgLTU2NSwxMiAr NTY2LDEyIEBAIGFkYV9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IHR5 cGUgKnR5cGUsCi0gCi0gc3RhdGljIGludAotIHByaW50X3ZhcmlhbnRfcGFydCAoc3RydWN0IHR5 cGUgKnR5cGUsIGludCBmaWVsZF9udW0sCi0tCQkgICAgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIs IGludCBvZmZzZXQsCi0rCQkgICAgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsIExPTkdFU1Qgb2Zm c2V0LAotIAkJICAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAotIAkJICAg IHN0cnVjdCB2YWx1ZSAqdmFsLAotIAkJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRp b25zICpvcHRpb25zLAotIAkJICAgIGludCBjb21tYV9uZWVkZWQsCi0tCQkgICAgc3RydWN0IHR5 cGUgKm91dGVyX3R5cGUsIGludCBvdXRlcl9vZmZzZXQsCi0rCQkgICAgc3RydWN0IHR5cGUgKm91 dGVyX3R5cGUsIExPTkdFU1Qgb3V0ZXJfb2Zmc2V0LAotIAkJICAgIGNvbnN0IHN0cnVjdCBsYW5n dWFnZV9kZWZuICpsYW5ndWFnZSkKLSB7Ci0gICBzdHJ1Y3QgdHlwZSAqdmFyX3R5cGUgPSBUWVBF X0ZJRUxEX1RZUEUgKHR5cGUsIGZpZWxkX251bSk7Ci1AQCAtNjA2LDExICs2MDcsMTEgQEAgcHJp bnRfdmFyaWFudF9wYXJ0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGZpZWxkX251bSwKLSAKLSBz dGF0aWMgaW50Ci0gcHJpbnRfZmllbGRfdmFsdWVzIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3Qg Z2RiX2J5dGUgKnZhbGFkZHIsCi0tCQkgICAgaW50IG9mZnNldCwgc3RydWN0IHVpX2ZpbGUgKnN0 cmVhbSwgaW50IHJlY3Vyc2UsCi0rCQkgICAgTE9OR0VTVCBvZmZzZXQsIHN0cnVjdCB1aV9maWxl ICpzdHJlYW0sIGludCByZWN1cnNlLAotIAkJICAgIHN0cnVjdCB2YWx1ZSAqdmFsLAotIAkJICAg IGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAotIAkJICAgIGludCBj b21tYV9uZWVkZWQsCi0tCQkgICAgc3RydWN0IHR5cGUgKm91dGVyX3R5cGUsIGludCBvdXRlcl9v ZmZzZXQsCi0rCQkgICAgc3RydWN0IHR5cGUgKm91dGVyX3R5cGUsIExPTkdFU1Qgb3V0ZXJfb2Zm c2V0LAotIAkJICAgIGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpsYW5ndWFnZSkKLSB7Ci0g ICBpbnQgaSwgbGVuOwotQEAgLTY3Niw3ICs2NzcsNyBAQCBwcmludF9maWVsZF92YWx1ZXMgKHN0 cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKLSAJICBlbHNlCi0gCSAg ICB7Ci0gCSAgICAgIHN0cnVjdCB2YWx1ZSAqdjsKLS0JICAgICAgaW50IGJpdF9wb3MgPSBUWVBF X0ZJRUxEX0JJVFBPUyAodHlwZSwgaSk7Ci0rCSAgICAgIExPTkdFU1QgYml0X3BvcyA9IFRZUEVf RklFTERfQklUUE9TICh0eXBlLCBpKTsKLSAJICAgICAgaW50IGJpdF9zaXplID0gVFlQRV9GSUVM RF9CSVRTSVpFICh0eXBlLCBpKTsKLSAJICAgICAgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMg b3B0czsKLSAKLUBAIC03MjEsOCArNzIyLDggQEAgYWRhX3ZhbF9wcmludF9zdHJpbmcgKHN0cnVj dCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKLSB7Ci0gICBlbnVtIGJmZF9l bmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2V0X3R5cGVfYXJjaCAodHlw ZSkpOwotICAgc3RydWN0IHR5cGUgKmVsdHR5cGUgPSBUWVBFX1RBUkdFVF9UWVBFICh0eXBlKTsK LS0gIHVuc2lnbmVkIGludCBlbHRsZW47Ci0tICB1bnNpZ25lZCBpbnQgbGVuOwotKyAgVUxPTkdF U1QgZWx0bGVuOwotKyAgVUxPTkdFU1QgbGVuOwotIAotICAgLyogV2Uga25vdyB0aGF0IEVMVFRZ UEUgY2Fubm90IHBvc3NpYmx5IGJlIG51bGwsIGJlY2F1c2Ugd2UgYXNzdW1lCi0gICAgICB0aGF0 IHdlJ3JlIGNhbGxlZCBvbmx5IHdoZW4gVFlQRSBpcyBhIHN0cmluZy1saWtlIHR5cGUuCi1AQCAt NzQxLDcgKzc0Miw3IEBAIGFkYV92YWxfcHJpbnRfc3RyaW5nIChzdHJ1Y3QgdHlwZSAqdHlwZSwg Y29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCi0gICAgICBlbGVtZW50cyB1cCB0byBpdC4gICovCi0g ICBpZiAob3B0aW9ucy0+c3RvcF9wcmludF9hdF9udWxsKQotICAgICB7Ci0tICAgICAgaW50IHRl bXBfbGVuOwotKyAgICAgIExPTkdFU1QgdGVtcF9sZW47Ci0gCi0gICAgICAgLyogTG9vayBmb3Ig YSBOVUxMIGNoYXIuICAqLwotICAgICAgIGZvciAodGVtcF9sZW4gPSAwOwotQEAgLTExMTQsNyAr MTExNSw3IEBAIGFkYV92YWxfcHJpbnRfcmVmIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2Ri X2J5dGUgKnZhbGFkZHIsCi0gCi0gc3RhdGljIHZvaWQKLSBhZGFfdmFsX3ByaW50XzEgKHN0cnVj dCB0eXBlICp0eXBlLAotLQkJIGludCBvZmZzZXQsIENPUkVfQUREUiBhZGRyZXNzLAotKwkJIExP TkdFU1Qgb2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVzcywKLSAJCSBzdHJ1Y3QgdWlfZmlsZSAqc3Ry ZWFtLCBpbnQgcmVjdXJzZSwKLSAJCSBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAotIAkJ IGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAotQEAgLTExOTgsNyAr MTE5OSw3IEBAIGFkYV92YWxfcHJpbnRfMSAoc3RydWN0IHR5cGUgKnR5cGUsCi0gCi0gdm9pZAot IGFkYV92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLAotLQkgICAgICAgaW50IGVtYmVkZGVk X29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0rCSAgICAgICBMT05HRVNUIGVtYmVkZGVkX29m ZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0gCSAgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt LCBpbnQgcmVjdXJzZSwKLSAJICAgICAgIHN0cnVjdCB2YWx1ZSAqdmFsLAotIAkgICAgICAgY29u c3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi1kaWZmIC0tZ2l0IGEvZ2Ri L2FtZDY0LXRkZXAuYyBiL2dkYi9hbWQ2NC10ZGVwLmMKLS0tLSBhL2dkYi9hbWQ2NC10ZGVwLmMK LSsrKyBiL2dkYi9hbWQ2NC10ZGVwLmMKLUBAIC03MzIsNyArNzMyLDcgQEAgYW1kNjRfcmV0dXJu X3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwK LSAJCSAgICBnZGJfYnl0ZSAqcmVhZGJ1ZiwgY29uc3QgZ2RiX2J5dGUgKndyaXRlYnVmKQotIHsK LSAgIGVudW0gYW1kNjRfcmVnX2NsYXNzIHRoZWNsYXNzWzJdOwotLSAgaW50IGxlbiA9IFRZUEVf TEVOR1RIICh0eXBlKTsKLSsgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotICAg c3RhdGljIGludCBpbnRlZ2VyX3JlZ251bVtdID0geyBBTUQ2NF9SQVhfUkVHTlVNLCBBTUQ2NF9S RFhfUkVHTlVNIH07Ci0gICBzdGF0aWMgaW50IHNzZV9yZWdudW1bXSA9IHsgQU1ENjRfWE1NMF9S RUdOVU0sIEFNRDY0X1hNTTFfUkVHTlVNIH07Ci0gICBpbnQgaW50ZWdlcl9yZWcgPSAwOwotQEAg LTg0OSwxMCArODQ5LDEwIEBAIGFtZDY0X3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCi0gICAgICAgZ2RiX2Fzc2VydCAocmVnbnVt ICE9IC0xKTsKLSAKLSAgICAgICBpZiAocmVhZGJ1ZikKLS0JcmVnY2FjaGUtPnJhd19yZWFkX3Bh cnQgKHJlZ251bSwgb2Zmc2V0LCBzdGQ6Om1pbiAobGVuLCA4KSwKLSsJcmVnY2FjaGUtPnJhd19y ZWFkX3BhcnQgKHJlZ251bSwgb2Zmc2V0LCBzdGQ6Om1pbiAobGVuLCAoTE9OR0VTVCkgOCksCi0g CQkJCSByZWFkYnVmICsgaSAqIDgpOwotICAgICAgIGlmICh3cml0ZWJ1ZikKLS0JcmVnY2FjaGUt PnJhd193cml0ZV9wYXJ0IChyZWdudW0sIG9mZnNldCwgc3RkOjptaW4gKGxlbiwgOCksCi0rCXJl Z2NhY2hlLT5yYXdfd3JpdGVfcGFydCAocmVnbnVtLCBvZmZzZXQsIHN0ZDo6bWluIChsZW4sIChM T05HRVNUKSA4KSwKLSAJCQkJICB3cml0ZWJ1ZiArIGkgKiA4KTsKLSAgICAgfQotIAotZGlmZiAt LWdpdCBhL2dkYi9hbm5vdGF0ZS5jIGIvZ2RiL2Fubm90YXRlLmMKLS0tLSBhL2dkYi9hbm5vdGF0 ZS5jCi0rKysgYi9nZGIvYW5ub3RhdGUuYwotQEAgLTUzMSwyMSArNTMxLDIxIEBAIGFubm90YXRl X2ZyYW1lX2VuZCAodm9pZCkKLSB9Ci0gDAotIHZvaWQKLS1hbm5vdGF0ZV9hcnJheV9zZWN0aW9u X2JlZ2luIChpbnQgaWR4LCBzdHJ1Y3QgdHlwZSAqZWx0dHlwZSkKLSthbm5vdGF0ZV9hcnJheV9z ZWN0aW9uX2JlZ2luIChMT05HRVNUIGlkeCwgc3RydWN0IHR5cGUgKmVsdHR5cGUpCi0gewotICAg aWYgKGFubm90YXRpb25fbGV2ZWwgPT0gMikKLSAgICAgewotLSAgICAgIHByaW50Zl9maWx0ZXJl ZCAoKCJcblwwMzJcMDMyYXJyYXktc2VjdGlvbi1iZWdpbiAlZCAiKSwgaWR4KTsKLSsgICAgICBw cmludGZfZmlsdGVyZWQgKCgiXG5cMDMyXDAzMmFycmF5LXNlY3Rpb24tYmVnaW4gJXMgIiksIHBs b25nZXN0IChpZHgpKTsKLSAgICAgICBwcmludF92YWx1ZV9mbGFncyAoZWx0dHlwZSk7Ci0gICAg ICAgcHJpbnRmX2ZpbHRlcmVkICgoIlxuIikpOwotICAgICB9Ci0gfQotIAotIHZvaWQKLS1hbm5v dGF0ZV9lbHRfcmVwICh1bnNpZ25lZCBpbnQgcmVwY291bnQpCi0rYW5ub3RhdGVfZWx0X3JlcCAo VUxPTkdFU1QgcmVwY291bnQpCi0gewotICAgaWYgKGFubm90YXRpb25fbGV2ZWwgPT0gMikKLS0g ICAgcHJpbnRmX2ZpbHRlcmVkICgoIlxuXDAzMlwwMzJlbHQtcmVwICV1XG4iKSwgcmVwY291bnQp OwotKyAgICBwcmludGZfZmlsdGVyZWQgKCgiXG5cMDMyXDAzMmVsdC1yZXAgJXNcbiIpLCBwdWxv bmdlc3QgKHJlcGNvdW50KSk7Ci0gfQotIAotIHZvaWQKLWRpZmYgLS1naXQgYS9nZGIvYW5ub3Rh dGUuaCBiL2dkYi9hbm5vdGF0ZS5oCi0tLS0gYS9nZGIvYW5ub3RhdGUuaAotKysrIGIvZ2RiL2Fu bm90YXRlLmgKLUBAIC0xMDUsOCArMTA1LDggQEAgZXh0ZXJuIHZvaWQgYW5ub3RhdGVfZnJhbWVf c291cmNlX2VuZCAodm9pZCk7Ci0gZXh0ZXJuIHZvaWQgYW5ub3RhdGVfZnJhbWVfd2hlcmUgKHZv aWQpOwotIGV4dGVybiB2b2lkIGFubm90YXRlX2ZyYW1lX2VuZCAodm9pZCk7Ci0gCi0tZXh0ZXJu IHZvaWQgYW5ub3RhdGVfYXJyYXlfc2VjdGlvbl9iZWdpbiAoaW50LCBzdHJ1Y3QgdHlwZSAqKTsK LS1leHRlcm4gdm9pZCBhbm5vdGF0ZV9lbHRfcmVwICh1bnNpZ25lZCBpbnQpOwotK2V4dGVybiB2 b2lkIGFubm90YXRlX2FycmF5X3NlY3Rpb25fYmVnaW4gKExPTkdFU1QsIHN0cnVjdCB0eXBlICop OwotK2V4dGVybiB2b2lkIGFubm90YXRlX2VsdF9yZXAgKFVMT05HRVNUKTsKLSBleHRlcm4gdm9p ZCBhbm5vdGF0ZV9lbHRfcmVwX2VuZCAodm9pZCk7Ci0gZXh0ZXJuIHZvaWQgYW5ub3RhdGVfZWx0 ICh2b2lkKTsKLSBleHRlcm4gdm9pZCBhbm5vdGF0ZV9hcnJheV9zZWN0aW9uX2VuZCAodm9pZCk7 Ci1kaWZmIC0tZ2l0IGEvZ2RiL2FyY2gtdXRpbHMuYyBiL2dkYi9hcmNoLXV0aWxzLmMKLS0tLSBh L2dkYi9hcmNoLXV0aWxzLmMKLSsrKyBiL2dkYi9hcmNoLXV0aWxzLmMKLUBAIC0yMjcsNyArMjI3 LDcgQEAgbGVnYWN5X3ZpcnR1YWxfZnJhbWVfcG9pbnRlciAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsCi0gCi0gY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqCi0gZGVmYXVsdF9mbG9hdGZvcm1h dF9mb3JfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0tCQkJICAgICAgY29uc3QgY2hh ciAqbmFtZSwgaW50IGxlbikKLSsJCQkgICAgICBjb25zdCBjaGFyICpuYW1lLCBMT05HRVNUIGxl bikKLSB7Ci0gICBjb25zdCBzdHJ1Y3QgZmxvYXRmb3JtYXQgKipmb3JtYXQgPSBOVUxMOwotIAot ZGlmZiAtLWdpdCBhL2dkYi9hcmNoLXV0aWxzLmggYi9nZGIvYXJjaC11dGlscy5oCi0tLS0gYS9n ZGIvYXJjaC11dGlscy5oCi0rKysgYi9nZGIvYXJjaC11dGlscy5oCi1AQCAtMTMxLDcgKzEzMSw3 IEBAIGV4dGVybiBnZGJhcmNoX3ZpcnR1YWxfZnJhbWVfcG9pbnRlcl9mdHlwZSBsZWdhY3lfdmly dHVhbF9mcmFtZV9wb2ludGVyOwotIC8qIERlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgZ2RiYXJj aF9mbG9hdGZvcm1hdF9mb3JfdHlwZS4gICovCi0gZXh0ZXJuIGNvbnN0IHN0cnVjdCBmbG9hdGZv cm1hdCAqKgotICAgZGVmYXVsdF9mbG9hdGZvcm1hdF9mb3JfdHlwZSAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsCi0tCQkJCWNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pOwotKwkJCQljb25zdCBj aGFyICpuYW1lLCBMT05HRVNUIGxlbik7Ci0gCi0gZXh0ZXJuIENPUkVfQUREUiBnZW5lcmljX3Nr aXBfdHJhbXBvbGluZV9jb2RlIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCi0gCQkJCQkgICAg ICAgQ09SRV9BRERSIHBjKTsKLWRpZmYgLS1naXQgYS9nZGIvYXJtLWxpbnV4LW5hdC5jIGIvZ2Ri L2FybS1saW51eC1uYXQuYwotLS0tIGEvZ2RiL2FybS1saW51eC1uYXQuYwotKysrIGIvZ2RiL2Fy bS1saW51eC1uYXQuYwotQEAgLTEwOTIsNyArMTA5Miw3IEBAIGFybV9saW51eF9uYXRfdGFyZ2V0 OjpyZW1vdmVfaHdfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gLyogQXJl IHdlIGFibGUgdG8gdXNlIGEgaGFyZHdhcmUgd2F0Y2hwb2ludCBmb3IgdGhlIExFTiBieXRlcyBz dGFydGluZyBhdCAKLSAgICBBRERSPyAgKi8KLSBpbnQKLS1hcm1fbGludXhfbmF0X3RhcmdldDo6 cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLSth cm1fbGludXhfbmF0X3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FE RFIgYWRkciwgTE9OR0VTVCBsZW4pCi0gewotICAgY29uc3Qgc3RydWN0IGFybV9saW51eF9od2Jw X2NhcCAqY2FwID0gYXJtX2xpbnV4X2dldF9od2JwX2NhcCAoKTsKLSAgIENPUkVfQUREUiBtYXhf d3BfbGVuZ3RoLCBhbGlnbmVkX2FkZHI7Ci1kaWZmIC0tZ2l0IGEvZ2RiL2F4LWdkYi5jIGIvZ2Ri L2F4LWdkYi5jCi0tLS0gYS9nZGIvYXgtZ2RiLmMKLSsrKyBiL2dkYi9heC1nZGIuYwotQEAgLTgy LDEyICs4MiwxMiBAQCBzdGF0aWMgdm9pZCBnZW5fdHJhY2VkX3BvcCAoc3RydWN0IGFnZW50X2V4 cHIgKiwgc3RydWN0IGF4c192YWx1ZSAqKTsKLSBzdGF0aWMgdm9pZCBnZW5fc2lnbl9leHRlbmQg KHN0cnVjdCBhZ2VudF9leHByICosIHN0cnVjdCB0eXBlICopOwotIHN0YXRpYyB2b2lkIGdlbl9l eHRlbmQgKHN0cnVjdCBhZ2VudF9leHByICosIHN0cnVjdCB0eXBlICopOwotIHN0YXRpYyB2b2lk IGdlbl9mZXRjaCAoc3RydWN0IGFnZW50X2V4cHIgKiwgc3RydWN0IHR5cGUgKik7Ci0tc3RhdGlj IHZvaWQgZ2VuX2xlZnRfc2hpZnQgKHN0cnVjdCBhZ2VudF9leHByICosIGludCk7Ci0rc3RhdGlj IHZvaWQgZ2VuX2xlZnRfc2hpZnQgKHN0cnVjdCBhZ2VudF9leHByICosIExPTkdFU1QpOwotIAot IAotIHN0YXRpYyB2b2lkIGdlbl9mcmFtZV9hcmdzX2FkZHJlc3MgKHN0cnVjdCBhZ2VudF9leHBy ICopOwotIHN0YXRpYyB2b2lkIGdlbl9mcmFtZV9sb2NhbHNfYWRkcmVzcyAoc3RydWN0IGFnZW50 X2V4cHIgKik7Ci0tc3RhdGljIHZvaWQgZ2VuX29mZnNldCAoc3RydWN0IGFnZW50X2V4cHIgKmF4 LCBpbnQgb2Zmc2V0KTsKLStzdGF0aWMgdm9pZCBnZW5fb2Zmc2V0IChzdHJ1Y3QgYWdlbnRfZXhw ciAqYXgsIExPTkdFU1Qgb2Zmc2V0KTsKLSBzdGF0aWMgdm9pZCBnZW5fc3ltX29mZnNldCAoc3Ry dWN0IGFnZW50X2V4cHIgKiwgc3RydWN0IHN5bWJvbCAqKTsKLSBzdGF0aWMgdm9pZCBnZW5fdmFy X3JlZiAoc3RydWN0IGFnZW50X2V4cHIgKmF4LCBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwKLSAJ CQkgc3RydWN0IHN5bWJvbCAqdmFyKTsKLUBAIC0xMzIsMTMgKzEzMiwxMyBAQCBzdGF0aWMgdm9p ZCBnZW5fY29tcGxlbWVudCAoc3RydWN0IGFnZW50X2V4cHIgKmF4LCBzdHJ1Y3QgYXhzX3ZhbHVl ICp2YWx1ZSk7Ci0gc3RhdGljIHZvaWQgZ2VuX2RlcmVmIChzdHJ1Y3QgYXhzX3ZhbHVlICopOwot IHN0YXRpYyB2b2lkIGdlbl9hZGRyZXNzX29mIChzdHJ1Y3QgYXhzX3ZhbHVlICopOwotIHN0YXRp YyB2b2lkIGdlbl9iaXRmaWVsZF9yZWYgKHN0cnVjdCBhZ2VudF9leHByICpheCwgc3RydWN0IGF4 c192YWx1ZSAqdmFsdWUsCi0tCQkJICAgICAgc3RydWN0IHR5cGUgKnR5cGUsIGludCBzdGFydCwg aW50IGVuZCk7Ci0rCQkJICAgICAgc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1Qgc3RhcnQsIExP TkdFU1QgZW5kKTsKLSBzdGF0aWMgdm9pZCBnZW5fcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgYWdl bnRfZXhwciAqYXgsCi0gCQkJCSBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwKLS0JCQkJIGludCBv ZmZzZXQsIGludCBmaWVsZG5vLCBzdHJ1Y3QgdHlwZSAqdHlwZSk7Ci0rCQkJCSBMT05HRVNUIG9m ZnNldCwgaW50IGZpZWxkbm8sIHN0cnVjdCB0eXBlICp0eXBlKTsKLSBzdGF0aWMgaW50IGdlbl9z dHJ1Y3RfcmVmX3JlY3Vyc2l2ZSAoc3RydWN0IGFnZW50X2V4cHIgKmF4LAotIAkJCQkgICAgIHN0 cnVjdCBheHNfdmFsdWUgKnZhbHVlLAotLQkJCQkgICAgIGNvbnN0IGNoYXIgKmZpZWxkLCBpbnQg b2Zmc2V0LAotKwkJCQkgICAgIGNvbnN0IGNoYXIgKmZpZWxkLCBMT05HRVNUIG9mZnNldCwKLSAJ CQkJICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSk7Ci0gc3RhdGljIHZvaWQgZ2VuX3N0cnVjdF9yZWYg KHN0cnVjdCBhZ2VudF9leHByICpheCwKLSAJCQkgICAgc3RydWN0IGF4c192YWx1ZSAqdmFsdWUs Ci1AQCAtNTI5LDcgKzUyOSw3IEBAIGdlbl9mZXRjaCAoc3RydWN0IGFnZW50X2V4cHIgKmF4LCBz dHJ1Y3QgdHlwZSAqdHlwZSkKLSAgICByaWdodCBzaGlmdCBpdCBieSAtRElTVEFOQ0UgYml0cyBp ZiBESVNUQU5DRSA8IDAuICBUaGlzIGdlbmVyYXRlcwotICAgIHVuc2lnbmVkIChsb2dpY2FsKSBy aWdodCBzaGlmdHMuICAqLwotIHN0YXRpYyB2b2lkCi0tZ2VuX2xlZnRfc2hpZnQgKHN0cnVjdCBh Z2VudF9leHByICpheCwgaW50IGRpc3RhbmNlKQotK2dlbl9sZWZ0X3NoaWZ0IChzdHJ1Y3QgYWdl bnRfZXhwciAqYXgsIExPTkdFU1QgZGlzdGFuY2UpCi0gewotICAgaWYgKGRpc3RhbmNlID4gMCkK LSAgICAgewotQEAgLTU4Myw3ICs1ODMsNyBAQCBnZW5fZnJhbWVfbG9jYWxzX2FkZHJlc3MgKHN0 cnVjdCBhZ2VudF9leHByICpheCkKLSAgICBwcm9ncmFtbWluZyBpbiBNTCwgaXQgd291bGQgYmUg Y2xlYXJlciB3aHkgdGhlc2UgYXJlIHRoZSBzYW1lCi0gICAgdGhpbmcuICAqLwotIHN0YXRpYyB2 b2lkCi0tZ2VuX29mZnNldCAoc3RydWN0IGFnZW50X2V4cHIgKmF4LCBpbnQgb2Zmc2V0KQotK2dl bl9vZmZzZXQgKHN0cnVjdCBhZ2VudF9leHByICpheCwgTE9OR0VTVCBvZmZzZXQpCi0gewotICAg LyogSXQgd291bGQgc3VmZmljZSB0byBzaW1wbHkgcHVzaCB0aGUgb2Zmc2V0IGFuZCBhZGQgaXQs IGJ1dCB0aGlzCi0gICAgICBtYWtlcyBpdCBlYXNpZXIgdG8gcmVhZCBwb3NpdGl2ZSBhbmQgbmVn YXRpdmUgb2Zmc2V0cyBpbiB0aGUKLUBAIC0xMjU0LDcgKzEyNTQsNyBAQCBnZW5fYWRkcmVzc19v ZiAoc3RydWN0IGF4c192YWx1ZSAqdmFsdWUpCi0gICAgc3RydWN0dXJlLiAgKi8KLSBzdGF0aWMg dm9pZAotIGdlbl9iaXRmaWVsZF9yZWYgKHN0cnVjdCBhZ2VudF9leHByICpheCwgc3RydWN0IGF4 c192YWx1ZSAqdmFsdWUsCi0tCQkgIHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgc3RhcnQsIGludCBl bmQpCi0rCQkgIHN0cnVjdCB0eXBlICp0eXBlLCBMT05HRVNUIHN0YXJ0LCBMT05HRVNUICBlbmQp Ci0gewotICAgLyogTm90ZSB0aGF0IG9wc1tpXSBmZXRjaGVzIDggPDwgaSBiaXRzLiAgKi8KLSAg IHN0YXRpYyBlbnVtIGFnZW50X29wIG9wc1tdCi1AQCAtMTI4OSwxMyArMTI4OSwxMyBAQCBnZW5f Yml0ZmllbGRfcmVmIChzdHJ1Y3QgYWdlbnRfZXhwciAqYXgsIHN0cnVjdCBheHNfdmFsdWUgKnZh bHVlLAotIAotICAgLyogVGhlIGZpcnN0IGFuZCBvbmUtYWZ0ZXItbGFzdCBiaXRzIGluIHRoZSBm aWVsZCwgYnV0IHJvdW5kZWQgZG93bgotICAgICAgYW5kIHVwIHRvIGJ5dGUgYm91bmRhcmllcy4g ICovCi0tICBpbnQgYm91bmRfc3RhcnQgPSAoc3RhcnQgLyBUQVJHRVRfQ0hBUl9CSVQpICogVEFS R0VUX0NIQVJfQklUOwotLSAgaW50IGJvdW5kX2VuZCA9ICgoKGVuZCArIFRBUkdFVF9DSEFSX0JJ VCAtIDEpCi0tCQkgICAgLyBUQVJHRVRfQ0hBUl9CSVQpCi0tCQkgICAqIFRBUkdFVF9DSEFSX0JJ VCk7Ci0rICBMT05HRVNUIGJvdW5kX3N0YXJ0ID0gKHN0YXJ0IC8gVEFSR0VUX0NIQVJfQklUKSAq IFRBUkdFVF9DSEFSX0JJVDsKLSsgIExPTkdFU1QgYm91bmRfZW5kID0gKCgoZW5kICsgVEFSR0VU X0NIQVJfQklUIC0gMSkKLSsJCQkvIFRBUkdFVF9DSEFSX0JJVCkKLSsJCSAgICAgICAqIFRBUkdF VF9DSEFSX0JJVCk7Ci0gCi0gICAvKiBjdXJyZW50IGJpdCBvZmZzZXQgd2l0aGluIHRoZSBzdHJ1 Y3R1cmUgKi8KLS0gIGludCBvZmZzZXQ7Ci0rICBMT05HRVNUIG9mZnNldDsKLSAKLSAgIC8qIFRo ZSBpbmRleCBpbiBvcHMgb2YgdGhlIG9wY29kZSB3ZSdyZSBjb25zaWRlcmluZy4gICovCi0gICBp bnQgb3A7Ci1AQCAtMTQxMyw3ICsxNDEzLDcgQEAgZ2VuX2JpdGZpZWxkX3JlZiAoc3RydWN0IGFn ZW50X2V4cHIgKmF4LCBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwKLSAKLSBzdGF0aWMgdm9pZAot IGdlbl9wcmltaXRpdmVfZmllbGQgKHN0cnVjdCBhZ2VudF9leHByICpheCwgc3RydWN0IGF4c192 YWx1ZSAqdmFsdWUsCi0tCQkgICAgIGludCBvZmZzZXQsIGludCBmaWVsZG5vLCBzdHJ1Y3QgdHlw ZSAqdHlwZSkKLSsJCSAgICAgTE9OR0VTVCBvZmZzZXQsIGludCBmaWVsZG5vLCBzdHJ1Y3QgdHlw ZSAqdHlwZSkKLSB7Ci0gICAvKiBJcyB0aGlzIGEgYml0ZmllbGQ/ICAqLwotICAgaWYgKFRZUEVf RklFTERfUEFDS0VEICh0eXBlLCBmaWVsZG5vKSkKLUBAIC0xNDM3LDcgKzE0MzcsNyBAQCBnZW5f cHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgYWdlbnRfZXhwciAqYXgsIHN0cnVjdCBheHNfdmFsdWUg KnZhbHVlLAotIAotIHN0YXRpYyBpbnQKLSBnZW5fc3RydWN0X3JlZl9yZWN1cnNpdmUgKHN0cnVj dCBhZ2VudF9leHByICpheCwgc3RydWN0IGF4c192YWx1ZSAqdmFsdWUsCi0tCQkJICBjb25zdCBj aGFyICpmaWVsZCwgaW50IG9mZnNldCwgc3RydWN0IHR5cGUgKnR5cGUpCi0rCQkJICBjb25zdCBj aGFyICpmaWVsZCwgTE9OR0VTVCBvZmZzZXQsIHN0cnVjdCB0eXBlICp0eXBlKQotIHsKLSAgIGlu dCBpLCByc2x0OwotICAgaW50IG5iYXNlcyA9IFRZUEVfTl9CQVNFQ0xBU1NFUyAodHlwZSk7Ci1k aWZmIC0tZ2l0IGEvZ2RiL2F4LWdlbmVyYWwuYyBiL2dkYi9heC1nZW5lcmFsLmMKLS0tLSBhL2dk Yi9heC1nZW5lcmFsLmMKLSsrKyBiL2dkYi9heC1nZW5lcmFsLmMKLUBAIC0xNzcsNyArMTc3LDcg QEAgYXhfemVyb19leHQgKHN0cnVjdCBhZ2VudF9leHByICp4LCBpbnQgbikKLSAKLSAvKiBBcHBl bmQgYSB0cmFjZV9xdWljayBpbnN0cnVjdGlvbiB0byBFWFBSLCB0byByZWNvcmQgTiBieXRlcy4g ICovCi0gdm9pZAotLWF4X3RyYWNlX3F1aWNrIChzdHJ1Y3QgYWdlbnRfZXhwciAqeCwgaW50IG4p Ci0rYXhfdHJhY2VfcXVpY2sgKHN0cnVjdCBhZ2VudF9leHByICp4LCBMT05HRVNUIG4pCi0gewot ICAgLyogTiBtdXN0IGZpdCBpbiBhIGJ5dGUuICAqLwotICAgaWYgKG4gPCAwIHx8IG4gPiAyNTUp Ci1kaWZmIC0tZ2l0IGEvZ2RiL2F4LmggYi9nZGIvYXguaAotLS0tIGEvZ2RiL2F4LmgKLSsrKyBi L2dkYi9heC5oCi1AQCAtMTkzLDcgKzE5Myw3IEBAIGV4dGVybiB2b2lkIGF4X2V4dCAoc3RydWN0 IGFnZW50X2V4cHIgKkVYUFIsIGludCBOKTsKLSBleHRlcm4gdm9pZCBheF96ZXJvX2V4dCAoc3Ry dWN0IGFnZW50X2V4cHIgKkVYUFIsIGludCBOKTsKLSAKLSAvKiBBcHBlbmQgYSB0cmFjZV9xdWlj ayBpbnN0cnVjdGlvbiB0byBFWFBSLCB0byByZWNvcmQgTiBieXRlcy4gICovCi0tZXh0ZXJuIHZv aWQgYXhfdHJhY2VfcXVpY2sgKHN0cnVjdCBhZ2VudF9leHByICpFWFBSLCBpbnQgTik7Ci0rZXh0 ZXJuIHZvaWQgYXhfdHJhY2VfcXVpY2sgKHN0cnVjdCBhZ2VudF9leHByICpFWFBSLCBMT05HRVNU IE4pOwotIAotIC8qIEFwcGVuZCBhIGdvdG8gb3AgdG8gRVhQUi4gIE9QIGlzIHRoZSBhY3R1YWwg b3AgKG11c3QgYmUgYW9wX2dvdG8gb3IKLSAgICBhb3BfaWZfZ290bykuICBXZSBhc3N1bWUgd2Ug ZG9uJ3Qga25vdyB0aGUgdGFyZ2V0IG9mZnNldCB5ZXQsCi1kaWZmIC0tZ2l0IGEvZ2RiL2JyZWFr cG9pbnQuYyBiL2dkYi9icmVha3BvaW50LmMKLS0tLSBhL2dkYi9icmVha3BvaW50LmMKLSsrKyBi L2dkYi9icmVha3BvaW50LmMKLUBAIC0yMDU3LDkgKzIwNTcsOSBAQCBzaG91bGRfYmVfaW5zZXJ0 ZWQgKHN0cnVjdCBicF9sb2NhdGlvbiAqYmwpCi0gCXsKLSAJICBmcHJpbnRmX3VuZmlsdGVyZWQg KGdkYl9zdGRsb2csCi0gCQkJICAgICAgImluZnJ1bjogc3RlcHBpbmcgcGFzdCBub24tc3RlcHBh YmxlIHdhdGNocG9pbnQuICIKLS0JCQkgICAgICAic2tpcHBpbmcgd2F0Y2hwb2ludCBhdCAlczol ZFxuIiwKLSsJCQkgICAgICAic2tpcHBpbmcgd2F0Y2hwb2ludCBhdCAlczolc1xuIiwKLSAJCQkg ICAgICBwYWRkcmVzcyAoYmwtPmdkYmFyY2gsIGJsLT5hZGRyZXNzKSwKLS0JCQkgICAgICBibC0+ bGVuZ3RoKTsKLSsJCQkgICAgICBwbG9uZ2VzdCAoYmwtPmxlbmd0aCkpOwotIAl9Ci0gICAgICAg cmV0dXJuIDA7Ci0gICAgIH0KLUBAIC02ODAzLDcgKzY4MDMsNyBAQCBicmVha3BvaW50X2FkZHJl c3NfbWF0Y2ggKGNvbnN0IGFkZHJlc3Nfc3BhY2UgKmFzcGFjZTEsIENPUkVfQUREUiBhZGRyMSwK LSBzdGF0aWMgaW50Ci0gYnJlYWtwb2ludF9hZGRyZXNzX21hdGNoX3JhbmdlIChjb25zdCBhZGRy ZXNzX3NwYWNlICphc3BhY2UxLAotIAkJCQlDT1JFX0FERFIgYWRkcjEsCi0tCQkJCWludCBsZW4x LCBjb25zdCBhZGRyZXNzX3NwYWNlICphc3BhY2UyLAotKwkJCQlMT05HRVNUIGxlbjEsIGNvbnN0 IGFkZHJlc3Nfc3BhY2UgKmFzcGFjZTIsCi0gCQkJCUNPUkVfQUREUiBhZGRyMikKLSB7Ci0gICBy ZXR1cm4gKChnZGJhcmNoX2hhc19nbG9iYWxfYnJlYWtwb2ludHMgKHRhcmdldF9nZGJhcmNoICgp KQotQEAgLTEwODY5LDcgKzEwODY5LDcgQEAgY2FuX3VzZV9oYXJkd2FyZV93YXRjaHBvaW50IChj b25zdCBzdGQ6OnZlY3Rvcjx2YWx1ZV9yZWZfcHRyPiAmdmFscykKLSAJCSAgICAgICYmIFRZUEVf Q09ERSAodnR5cGUpICE9IFRZUEVfQ09ERV9BUlJBWSkpCi0gCQl7Ci0gCQkgIENPUkVfQUREUiB2 YWRkciA9IHZhbHVlX2FkZHJlc3MgKHYpOwotLQkJICBpbnQgbGVuOwotKwkJICBMT05HRVNUIGxl bjsKLSAJCSAgaW50IG51bV9yZWdzOwotIAotIAkJICBsZW4gPSAodGFyZ2V0X2V4YWN0X3dhdGNo cG9pbnRzCi1kaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuaCBiL2dkYi9icmVha3BvaW50LmgK LS0tLSBhL2dkYi9icmVha3BvaW50LmgKLSsrKyBiL2dkYi9icmVha3BvaW50LmgKLUBAIC0yNTIs NyArMjUyLDcgQEAgc3RydWN0IGJwX3RhcmdldF9pbmZvCi0gCi0gICAvKiBJZiB0aGlzIGlzIGEg cmFuZ2VkIGJyZWFrcG9pbnQsIHRoZW4gdGhpcyBmaWVsZCBjb250YWlucyB0aGUKLSAgICAgIGxl bmd0aCBvZiB0aGUgcmFuZ2UgdGhhdCB3aWxsIGJlIHdhdGNoZWQgZm9yIGV4ZWN1dGlvbi4gICov Ci0tICBpbnQgbGVuZ3RoOwotKyAgTE9OR0VTVCBsZW5ndGg7Ci0gCi0gICAvKiBJZiB0aGUgYnJl YWtwb2ludCBsaXZlcyBpbiBtZW1vcnkgYW5kIHJlYWRpbmcgdGhhdCBtZW1vcnkgd291bGQKLSAg ICAgIGdpdmUgYmFjayB0aGUgYnJlYWtwb2ludCwgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgY29u dGVudHMsIHRoZW4KLUBAIC00MTcsNyArNDE3LDcgQEAgcHVibGljOgotICAgLyogRm9yIGhhcmR3 YXJlIHdhdGNocG9pbnRzLCB0aGUgc2l6ZSBvZiB0aGUgbWVtb3J5IHJlZ2lvbiBiZWluZwotICAg ICAgd2F0Y2hlZC4gIEZvciBoYXJkd2FyZSByYW5nZWQgYnJlYWtwb2ludHMsIHRoZSBzaXplIG9m IHRoZQotICAgICAgYnJlYWtwb2ludCByYW5nZS4gICovCi0tICBpbnQgbGVuZ3RoID0gMDsKLSsg IExPTkdFU1QgbGVuZ3RoID0gMDsKLSAKLSAgIC8qIFR5cGUgb2YgaGFyZHdhcmUgd2F0Y2hwb2lu dC4gICovCi0gICB0YXJnZXRfaHdfYnBfdHlwZSB3YXRjaHBvaW50X3R5cGUge307Ci1kaWZmIC0t Z2l0IGEvZ2RiL2MtbGFuZy5jIGIvZ2RiL2MtbGFuZy5jCi0tLS0gYS9nZGIvYy1sYW5nLmMKLSsr KyBiL2dkYi9jLWxhbmcuYwotQEAgLTE4NSw3ICsxODUsNyBAQCBjX3ByaW50Y2hhciAoaW50IGMs IHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQotIAotIHZvaWQKLSBj X3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgCi0t CSAgICBjb25zdCBnZGJfYnl0ZSAqc3RyaW5nLCB1bnNpZ25lZCBpbnQgbGVuZ3RoLCAKLSsJICAg IGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsIFVMT05HRVNUIGxlbmd0aCwKLSAJICAgIGNvbnN0IGNo YXIgKnVzZXJfZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKLSAJICAgIGNvbnN0IHN0cnVj dCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotIHsKLUBAIC02NjQsNyArNjY0LDcgQEAg ZXZhbHVhdGVfc3ViZXhwX2MgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwgc3RydWN0IGV4cHJl c3Npb24gKmV4cCwKLSAJICB9Ci0gCWVsc2UKLSAJICB7Ci0tCSAgICBpbnQgaTsKLSsJICAgIExP TkdFU1QgaTsKLSAKLSAJICAgIC8qIFdyaXRlIHRoZSB0ZXJtaW5hdGluZyBjaGFyYWN0ZXIuICAq LwotIAkgICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTEVOR1RIICh0eXBlKTsgKytpKQotQEAgLTY3 Myw3ICs2NzMsNyBAQCBldmFsdWF0ZV9zdWJleHBfYyAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBl LCBzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLAotIAkgICAgaWYgKHNhdGlzZnlfZXhwZWN0ZWQpCi0g CSAgICAgIHsKLSAJCUxPTkdFU1QgbG93X2JvdW5kLCBoaWdoX2JvdW5kOwotLQkJaW50IGVsZW1l bnRfc2l6ZSA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSsJCUxPTkdFU1QgZWxlbWVudF9zaXplID0g VFlQRV9MRU5HVEggKHR5cGUpOwotIAotIAkJaWYgKGdldF9kaXNjcmV0ZV9ib3VuZHMgKFRZUEVf SU5ERVhfVFlQRSAoZXhwZWN0X3R5cGUpLAotIAkJCQkJICZsb3dfYm91bmQsICZoaWdoX2JvdW5k KSA8IDApCi1kaWZmIC0tZ2l0IGEvZ2RiL2MtbGFuZy5oIGIvZ2RiL2MtbGFuZy5oCi0tLS0gYS9n ZGIvYy1sYW5nLmgKLSsrKyBiL2dkYi9jLWxhbmcuaAotQEAgLTgyLDcgKzgyLDcgQEAgZXh0ZXJu IHZvaWQgY19wcmludF90eXBlZGVmIChzdHJ1Y3QgdHlwZSAqLAotIAkJCSAgICAgc3RydWN0IHVp X2ZpbGUgKik7Ci0gCi0gZXh0ZXJuIHZvaWQgY192YWxfcHJpbnQgKHN0cnVjdCB0eXBlICosCi0t CQkJIGludCwgQ09SRV9BRERSLAotKwkJCSBMT05HRVNULCBDT1JFX0FERFIsCi0gCQkJIHN0cnVj dCB1aV9maWxlICosIGludCwKLSAJCQkgc3RydWN0IHZhbHVlICosCi0gCQkJIGNvbnN0IHN0cnVj dCB2YWx1ZV9wcmludF9vcHRpb25zICopOwotQEAgLTEwMiw3ICsxMDIsNyBAQCBleHRlcm4gdm9p ZCBjX3ByaW50Y2hhciAoaW50LCBzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdWlfZmlsZSAqKTsKLSBl eHRlcm4gdm9pZCBjX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqIHN0cmVhbSwKLSAJCQlzdHJ1 Y3QgdHlwZSAqZWx0dHlwZSwKLSAJCQljb25zdCBnZGJfYnl0ZSAqc3RyaW5nLAotLQkJCXVuc2ln bmVkIGludCBsZW5ndGgsCi0rCQkJVUxPTkdFU1QgbGVuZ3RoLAotIAkJCWNvbnN0IGNoYXIgKnVz ZXJfZW5jb2RpbmcsCi0gCQkJaW50IGZvcmNlX2VsbGlwc2VzLAotIAkJCWNvbnN0IHN0cnVjdCB2 YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKTsKLWRpZmYgLS1naXQgYS9nZGIvYy12YWxwcmlu dC5jIGIvZ2RiL2MtdmFscHJpbnQuYwotLS0tIGEvZ2RiL2MtdmFscHJpbnQuYwotKysrIGIvZ2Ri L2MtdmFscHJpbnQuYwotQEAgLTI0Nyw3ICsyNDcsNyBAQCBjX3ZhbF9wcmludF9hcnJheSAoc3Ry dWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAotICAgaWYgKFRZUEVfTEVO R1RIICh0eXBlKSA+IDAgJiYgVFlQRV9MRU5HVEggKHVucmVzb2x2ZWRfZWx0dHlwZSkgPiAwKQot ICAgICB7Ci0gICAgICAgTE9OR0VTVCBsb3dfYm91bmQsIGhpZ2hfYm91bmQ7Ci0tICAgICAgaW50 IGVsdGxlbiwgbGVuOwotKyAgICAgIExPTkdFU1QgZWx0bGVuLCBsZW47Ci0gICAgICAgc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsKLSAgICAgICBlbnVtIGJm ZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0gICAg ICAgdW5zaWduZWQgaW50IGkgPSAwOwkvKiBOdW1iZXIgb2YgY2hhcmFjdGVycyBwcmludGVkLiAg Ki8KLUBAIC0zMjEsOCArMzIxLDggQEAgY192YWxfcHJpbnRfYXJyYXkgKHN0cnVjdCB0eXBlICp0 eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKLSAJICBpZiAoY3BfaXNfdnRibF9wdHJfdHlw ZSAoZWx0dHlwZSkpCi0gCSAgICB7Ci0gCSAgICAgIGkgPSAxOwotLQkgICAgICBmcHJpbnRmX2Zp bHRlcmVkIChzdHJlYW0sIF8oIiVkIHZ0YWJsZSBlbnRyaWVzIiksCi0tCQkJCWxlbiAtIDEpOwot KwkgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sIF8oIiVzIHZ0YWJsZSBlbnRyaWVzIiks Ci0rCQkJCXBsb25nZXN0IChsZW4gLSAxKSk7Ci0gCSAgICB9Ci0gCSAgZWxzZQotIAkgICAgewot QEAgLTM5OSw3ICszOTksNyBAQCBjX3ZhbF9wcmludF9zdHJ1Y3QgKHN0cnVjdCB0eXBlICp0eXBl LCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKLSAJIC1mdnRhYmxlX3RodW5rcy4gIChPdGhlcndp c2UsIGxvb2sgdW5kZXIKLSAJIFRZUEVfQ09ERV9QVFIuKSAgKi8KLSAgICAgICBzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCA9IGdldF90eXBlX2FyY2ggKHR5cGUpOwotLSAgICAgIGludCBvZmZzZXQg PSAoZW1iZWRkZWRfb2Zmc2V0Ci0rICAgICAgTE9OR0VTVCBvZmZzZXQgPSAoZW1iZWRkZWRfb2Zm c2V0Ci0gCQkgICAgKyBUWVBFX0ZJRUxEX0JJVFBPUyAodHlwZSwKLSAJCQkJCSBWVEJMX0ZOQURE Ul9PRkZTRVQpIC8gOCk7Ci0gICAgICAgc3RydWN0IHR5cGUgKmZpZWxkX3R5cGUgPSBUWVBFX0ZJ RUxEX1RZUEUgKHR5cGUsIFZUQkxfRk5BRERSX09GRlNFVCk7Ci1AQCAtNDk4LDcgKzQ5OCw3IEBA IGNfdmFsX3ByaW50X21lbWJlcnB0ciAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRl ICp2YWxhZGRyLAotIAotIHZvaWQKLSBjX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsCi0t CSAgICAgaW50IGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0rCSAgICAgTE9O R0VTVCBlbWJlZGRlZF9vZmZzZXQsIENPUkVfQUREUiBhZGRyZXNzLAotIAkgICAgIHN0cnVjdCB1 aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAotIAkgICAgIHN0cnVjdCB2YWx1ZSAqb3JpZ2lu YWxfdmFsdWUsCi0gCSAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlv bnMpCi1kaWZmIC0tZ2l0IGEvZ2RiL2NvbXBpbGUvY29tcGlsZS1jLXN1cHBvcnQuYyBiL2dkYi9j b21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMKLS0tLSBhL2dkYi9jb21waWxlL2NvbXBpbGUtYy1z dXBwb3J0LmMKLSsrKyBiL2dkYi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMKLUBAIC0yNzAs MTEgKzI3MCwxMSBAQCBnZW5lcmF0ZV9yZWdpc3Rlcl9zdHJ1Y3QgKHN0cnVjdCB1aV9maWxlICpz dHJlYW0sIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAotIAotIAkgICAgICBkZWZhdWx0OgotIAkJ ZnByaW50Zl91bmZpbHRlcmVkIChzdHJlYW0sCi0tCQkJCSAgICAiICB1bnNpZ25lZCBjaGFyICVz WyVkXSIKLSsJCQkJICAgICIgIHVuc2lnbmVkIGNoYXIgJXNbJXNdIgotIAkJCQkgICAgIiBfX2F0 dHJpYnV0ZV9fKChfX2FsaWduZWRfXygiCi0gCQkJCSAgICAiX19CSUdHRVNUX0FMSUdOTUVOVF9f KSkpIiwKLSAJCQkJICAgIHJlZ25hbWUuY19zdHIgKCksCi0tCQkJCSAgICBUWVBFX0xFTkdUSCAo cmVndHlwZSkpOwotKwkJCQkgICAgcHVsb25nZXN0IChUWVBFX0xFTkdUSCAocmVndHlwZSkpKTsK LSAJICAgICAgfQotIAkgICAgZnB1dHNfdW5maWx0ZXJlZCAoIjtcbiIsIHN0cmVhbSk7Ci0gCSAg fQotZGlmZiAtLWdpdCBhL2dkYi9jcC1hYmkuYyBiL2dkYi9jcC1hYmkuYwotLS0tIGEvZ2RiL2Nw LWFiaS5jCi0rKysgYi9nZGIvY3AtYWJpLmMKLUBAIC02NCwxMiArNjQsMTIgQEAgaXNfb3BlcmF0 b3JfbmFtZSAoY29uc3QgY2hhciAqbmFtZSkKLSAgIHJldHVybiAoKmN1cnJlbnRfY3BfYWJpLmlz X29wZXJhdG9yX25hbWUpIChuYW1lKTsKLSB9Ci0gCi0taW50Ci0rTE9OR0VTVAotIGJhc2VjbGFz c19vZmZzZXQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgaW5kZXgsIGNvbnN0IGdkYl9ieXRlICp2 YWxhZGRyLAotIAkJICBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3Ms Ci0gCQkgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsKQotIHsKLS0gIGludCByZXMgPSAwOwotKyAg TE9OR0VTVCByZXMgPSAwOwotIAotICAgZ2RiX2Fzc2VydCAoY3VycmVudF9jcF9hYmkuYmFzZWNs YXNzX29mZnNldCAhPSBOVUxMKTsKLSAKLUBAIC05Niw3ICs5Niw3IEBAIGJhc2VjbGFzc19vZmZz ZXQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgaW5kZXgsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRy LAotIHN0cnVjdCB2YWx1ZSAqCi0gdmFsdWVfdmlydHVhbF9mbl9maWVsZCAoc3RydWN0IHZhbHVl ICoqYXJnMXAsCi0gCQkJc3RydWN0IGZuX2ZpZWxkICpmLCBpbnQgaiwKLS0JCQlzdHJ1Y3QgdHlw ZSAqdHlwZSwgaW50IG9mZnNldCkKLSsJCQlzdHJ1Y3QgdHlwZSAqdHlwZSwgTE9OR0VTVCBvZmZz ZXQpCi0gewotICAgaWYgKChjdXJyZW50X2NwX2FiaS52aXJ0dWFsX2ZuX2ZpZWxkKSA9PSBOVUxM KQotICAgICByZXR1cm4gTlVMTDsKLWRpZmYgLS1naXQgYS9nZGIvY3AtYWJpLmggYi9nZGIvY3At YWJpLmgKLS0tLSBhL2dkYi9jcC1hYmkuaAotKysrIGIvZ2RiL2NwLWFiaS5oCi1AQCAtMTA4LDcg KzEwOCw3IEBAIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX3ZpcnR1YWxfZm5fZmllbGQgKHN0 cnVjdCB2YWx1ZSAqKnZhbHVlcCwKLSAJCQkJCSAgICAgc3RydWN0IGZuX2ZpZWxkICpmLAotIAkJ CQkJICAgICBpbnQgaiwKLSAJCQkJCSAgICAgc3RydWN0IHR5cGUgKnR5cGUsCi0tCQkJCQkgICAg IGludCBvZmZzZXQpOwotKwkJCQkJICAgICBMT05HRVNUIG9mZnNldCk7Ci0gCi0gCi0gLyogVHJ5 IHRvIGZpbmQgdGhlIHJ1bi10aW1lIHR5cGUgb2YgVkFMVUUsIHVzaW5nIEMrKyBydW4tdGltZSB0 eXBlCi1AQCAtMTQ0LDExICsxNDQsMTEgQEAgZXh0ZXJuIHN0cnVjdCB0eXBlICp2YWx1ZV9ydHRp X3R5cGUgKHN0cnVjdCB2YWx1ZSAqdmFsdWUsCi0gICAgY29udGVudHMgb2YgVkFMLiAgVGhlIHJl c3VsdCBpcyB0aGUgb2Zmc2V0IG9mIHRoZSBiYXNlY2xhc3MgdmFsdWUKLSAgICByZWxhdGl2ZSB0 byAodGhlIGFkZHJlc3Mgb2YpKEFSRykgKyBPRkZTRVQuICAqLwotIAotLWV4dGVybiBpbnQgYmFz ZWNsYXNzX29mZnNldCAoc3RydWN0IHR5cGUgKnR5cGUsCi0tCQkJICAgICBpbnQgaW5kZXgsIGNv bnN0IGdkYl9ieXRlICp2YWxhZGRyLAotLQkJCSAgICAgTE9OR0VTVCBlbWJlZGRlZF9vZmZzZXQs Ci0tCQkJICAgICBDT1JFX0FERFIgYWRkcmVzcywKLS0JCQkgICAgIGNvbnN0IHN0cnVjdCB2YWx1 ZSAqdmFsKTsKLStleHRlcm4gTE9OR0VTVCBiYXNlY2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAq dHlwZSwKLSsJCQkJIGludCBpbmRleCwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCi0rCQkJCSBM T05HRVNUIGVtYmVkZGVkX29mZnNldCwKLSsJCQkJIENPUkVfQUREUiBhZGRyZXNzLAotKwkJCQkg Y29uc3Qgc3RydWN0IHZhbHVlICp2YWwpOwotIAotIC8qIERlc2NyaWJlIHRoZSB0YXJnZXQgb2Yg YSBwb2ludGVyIHRvIG1ldGhvZC4gIENPTlRFTlRTIGlzIHRoZSBieXRlCi0gICAgcGF0dGVybiBy ZXByZXNlbnRpbmcgdGhlIHBvaW50ZXIgdG8gbWV0aG9kLiAgVFlQRSBpcyB0aGUgcG9pbnRlciB0 bwotQEAgLTIyNiwxMiArMjI2LDEyIEBAIHN0cnVjdCBjcF9hYmlfb3BzCi0gICBzdHJ1Y3QgdmFs dWUgKigqdmlydHVhbF9mbl9maWVsZCkgKHN0cnVjdCB2YWx1ZSAqKmFyZzFwLAotIAkJCQkgICAg IHN0cnVjdCBmbl9maWVsZCAqIGYsCi0gCQkJCSAgICAgaW50IGosIHN0cnVjdCB0eXBlICogdHlw ZSwKLS0JCQkJICAgICBpbnQgb2Zmc2V0KTsKLSsJCQkJICAgICBMT05HRVNUIG9mZnNldCk7Ci0g ICBzdHJ1Y3QgdHlwZSAqKCpydHRpX3R5cGUpIChzdHJ1Y3QgdmFsdWUgKnYsIGludCAqZnVsbCwK LSAJCQkgICAgIExPTkdFU1QgKnRvcCwgaW50ICp1c2luZ19lbmMpOwotLSAgaW50ICgqYmFzZWNs YXNzX29mZnNldCkgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgaW5kZXgsCi0tCQkJICAgY29uc3Qg YmZkX2J5dGUgKnZhbGFkZHIsIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAotLQkJCSAgIENPUkVf QUREUiBhZGRyZXNzLCBjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbCk7Ci0rICBMT05HRVNUICgqYmFz ZWNsYXNzX29mZnNldCkgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgaW5kZXgsCi0rCQkJICAgICAg IGNvbnN0IGJmZF9ieXRlICp2YWxhZGRyLCBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwKLSsJCQkg ICAgICAgQ09SRV9BRERSIGFkZHJlc3MsIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsKTsKLSAgIHZv aWQgKCpwcmludF9tZXRob2RfcHRyKSAoY29uc3QgZ2RiX2J5dGUgKmNvbnRlbnRzLAotIAkJCSAg ICBzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAJCQkgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSk7Ci1k aWZmIC0tZ2l0IGEvZ2RiL2NwLXZhbHByaW50LmMgYi9nZGIvY3AtdmFscHJpbnQuYwotLS0tIGEv Z2RiL2NwLXZhbHByaW50LmMKLSsrKyBiL2dkYi9jcC12YWxwcmludC5jCi1AQCAtMzM1LDcgKzMz NSw3IEBAIGNwX3ByaW50X3ZhbHVlX2ZpZWxkcyAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB0 eXBlICpyZWFsX3R5cGUsCi0gCQl9Ci0gCSAgICAgIGVsc2UgaWYgKGkgPT0gdnB0cl9maWVsZG5v ICYmIHR5cGUgPT0gdnB0cl9iYXNldHlwZSkKLSAJCXsKLS0JCSAgaW50IGlfb2Zmc2V0ID0gb2Zm c2V0ICsgVFlQRV9GSUVMRF9CSVRQT1MgKHR5cGUsIGkpIC8gODsKLSsJCSAgTE9OR0VTVCBpX29m ZnNldCA9IG9mZnNldCArIFRZUEVfRklFTERfQklUUE9TICh0eXBlLCBpKSAvIDg7Ci0gCQkgIHN0 cnVjdCB0eXBlICppX3R5cGUgPSBUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpOwotIAotIAkJICBp ZiAodmFscHJpbnRfY2hlY2tfdmFsaWRpdHkgKHN0cmVhbSwgaV90eXBlLCBpX29mZnNldCwgdmFs KSkKLWRpZmYgLS1naXQgYS9nZGIvZC1sYW5nLmggYi9nZGIvZC1sYW5nLmgKLS0tLSBhL2dkYi9k LWxhbmcuaAotKysrIGIvZ2RiL2QtbGFuZy5oCi1AQCAtNzksNyArNzksNyBAQCBleHRlcm4gc3Ry dWN0IGJsb2NrX3N5bWJvbCBkX2xvb2t1cF9uZXN0ZWRfc3ltYm9sIChzdHJ1Y3QgdHlwZSAqLCBj b25zdCBjaGFyICosCi0gLyogRGVmaW5lZCBpbiBkLXZhbHByaW50LmMgICovCi0gCi0gZXh0ZXJu IHZvaWQgZF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLAotLQkJCSBpbnQgZW1iZWRkZWRf b2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVzcywKLSsJCQkgTE9OR0VTVCBlbWJlZGRlZF9vZmZzZXQs IENPUkVfQUREUiBhZGRyZXNzLAotIAkJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVj dXJzZSwKLSAJCQkgc3RydWN0IHZhbHVlICp2YWwsCi0gCQkJIGNvbnN0IHN0cnVjdCB2YWx1ZV9w cmludF9vcHRpb25zICpvcHRpb25zKTsKLWRpZmYgLS1naXQgYS9nZGIvZC12YWxwcmludC5jIGIv Z2RiL2QtdmFscHJpbnQuYwotLS0tIGEvZ2RiL2QtdmFscHJpbnQuYwotKysrIGIvZ2RiL2QtdmFs cHJpbnQuYwotQEAgLTczLDcgKzczLDcgQEAgZHluYW1pY19hcnJheV90eXBlIChzdHJ1Y3QgdHlw ZSAqdHlwZSwKLSAKLSAvKiBJbXBsZW1lbnRzIHRoZSBsYV92YWxfcHJpbnQgcm91dGluZSBmb3Ig bGFuZ3VhZ2UgRC4gICovCi0gdm9pZAotLWRfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwg aW50IGVtYmVkZGVkX29mZnNldCwKLStkX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIExP TkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAotICAgICAgICAgICAgICBDT1JFX0FERFIgYWRkcmVzcywg c3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCi0gCSAgICAgc3RydWN0IHZhbHVl ICp2YWwsCi0gICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpv cHRpb25zKQotZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJsb2MuYyBiL2dkYi9kd2FyZjJsb2MuYwot LS0tIGEvZ2RiL2R3YXJmMmxvYy5jCi0rKysgYi9nZGIvZHdhcmYybG9jLmMKLUBAIC0xNjI0LDcg KzE2MjQsNyBAQCByd19waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdiwgc3RydWN0IHZhbHVl ICpmcm9tKQotICAgZm9yICg7IGkgPCBjLT5waWVjZXMuc2l6ZSAoKSAmJiBvZmZzZXQgPCBtYXhf b2Zmc2V0OyBpKyspCi0gICAgIHsKLSAgICAgICBzdHJ1Y3QgZHdhcmZfZXhwcl9waWVjZSAqcCA9 ICZjLT5waWVjZXNbaV07Ci0tICAgICAgc2l6ZV90IHRoaXNfc2l6ZV9iaXRzLCB0aGlzX3NpemU7 Ci0rICAgICAgVUxPTkdFU1QgdGhpc19zaXplX2JpdHMsIHRoaXNfc2l6ZTsKLSAKLSAgICAgICB0 aGlzX3NpemVfYml0cyA9IHAtPnNpemUgLSBiaXRzX3RvX3NraXA7Ci0gICAgICAgaWYgKHRoaXNf c2l6ZV9iaXRzID4gbWF4X29mZnNldCAtIG9mZnNldCkKLUBAIC0xODcxLDcgKzE4NzEsNyBAQCB3 cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdG8sIHN0cnVjdCB2YWx1ZSAqZnJvbSkK LSAKLSBzdGF0aWMgaW50Ci0gY2hlY2tfcGllY2VkX3N5bnRoZXRpY19wb2ludGVyIChjb25zdCBz dHJ1Y3QgdmFsdWUgKnZhbHVlLCBMT05HRVNUIGJpdF9vZmZzZXQsCi0tCQkJCWludCBiaXRfbGVu Z3RoKQotKwkJCQlMT05HRVNUIGJpdF9sZW5ndGgpCi0gewotICAgc3RydWN0IHBpZWNlX2Nsb3N1 cmUgKmMKLSAgICAgPSAoc3RydWN0IHBpZWNlX2Nsb3N1cmUgKikgdmFsdWVfY29tcHV0ZWRfY2xv c3VyZSAodmFsdWUpOwotQEAgLTE4ODQsNyArMTg4NCw3IEBAIGNoZWNrX3BpZWNlZF9zeW50aGV0 aWNfcG9pbnRlciAoY29uc3Qgc3RydWN0IHZhbHVlICp2YWx1ZSwgTE9OR0VTVCBiaXRfb2Zmc2V0 LAotICAgZm9yIChpID0gMDsgaSA8IGMtPnBpZWNlcy5zaXplICgpICYmIGJpdF9sZW5ndGggPiAw OyBpKyspCi0gICAgIHsKLSAgICAgICBzdHJ1Y3QgZHdhcmZfZXhwcl9waWVjZSAqcCA9ICZjLT5w aWVjZXNbaV07Ci0tICAgICAgc2l6ZV90IHRoaXNfc2l6ZV9iaXRzID0gcC0+c2l6ZTsKLSsgICAg ICBVTE9OR0VTVCB0aGlzX3NpemVfYml0cyA9IHAtPnNpemU7Ci0gCi0gICAgICAgaWYgKGJpdF9v ZmZzZXQgPiAwKQotIAl7Ci1AQCAtMTk4OCw4ICsxOTg4LDggQEAgaW5kaXJlY3RfcGllY2VkX3Zh bHVlIChzdHJ1Y3QgdmFsdWUgKnZhbHVlKQotICAgICA9IChzdHJ1Y3QgcGllY2VfY2xvc3VyZSAq KSB2YWx1ZV9jb21wdXRlZF9jbG9zdXJlICh2YWx1ZSk7Ci0gICBzdHJ1Y3QgdHlwZSAqdHlwZTsK LSAgIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZTsKLS0gIGludCBpLCBiaXRfbGVuZ3RoOwotLSAg TE9OR0VTVCBiaXRfb2Zmc2V0OwotKyAgaW50IGk7Ci0rICBMT05HRVNUIGJpdF9sZW5ndGgsIGJp dF9vZmZzZXQ7Ci0gICBzdHJ1Y3QgZHdhcmZfZXhwcl9waWVjZSAqcGllY2UgPSBOVUxMOwotICAg TE9OR0VTVCBieXRlX29mZnNldDsKLSAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyOwotQEAg LTIwMDYsNyArMjAwNiw3IEBAIGluZGlyZWN0X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2 YWx1ZSkKLSAgIGZvciAoaSA9IDA7IGkgPCBjLT5waWVjZXMuc2l6ZSAoKSAmJiBiaXRfbGVuZ3Ro ID4gMDsgaSsrKQotICAgICB7Ci0gICAgICAgc3RydWN0IGR3YXJmX2V4cHJfcGllY2UgKnAgPSAm Yy0+cGllY2VzW2ldOwotLSAgICAgIHNpemVfdCB0aGlzX3NpemVfYml0cyA9IHAtPnNpemU7Ci0r ICAgICAgVUxPTkdFU1QgdGhpc19zaXplX2JpdHMgPSBwLT5zaXplOwotIAotICAgICAgIGlmIChi aXRfb2Zmc2V0ID4gMCkKLSAJewotQEAgLTIyOTUsOSArMjI5NSw5IEBAIGlmIChmcmFtZSAhPSBO VUxMKSBzZWxlY3RfZnJhbWUgKGZyYW1lKTsKLSAJY2FzZSBEV0FSRl9WQUxVRV9TVEFDSzoKLSAJ ICB7Ci0gCSAgICBzdHJ1Y3QgdmFsdWUgKnZhbHVlID0gY3R4LmZldGNoICgwKTsKLS0JICAgIHNp emVfdCBuID0gVFlQRV9MRU5HVEggKHZhbHVlX3R5cGUgKHZhbHVlKSk7Ci0tCSAgICBzaXplX3Qg bGVuID0gVFlQRV9MRU5HVEggKHN1Ym9ial90eXBlKTsKLS0JICAgIHNpemVfdCBtYXggPSBUWVBF X0xFTkdUSCAodHlwZSk7Ci0rCSAgICBVTE9OR0VTVCBuID0gVFlQRV9MRU5HVEggKHZhbHVlX3R5 cGUgKHZhbHVlKSk7Ci0rCSAgICBVTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAoc3Vib2JqX3R5 cGUpOwotKwkgICAgVUxPTkdFU1QgbWF4ID0gVFlQRV9MRU5HVEggKHR5cGUpOwotIAkgICAgc3Ry dWN0IGdkYmFyY2ggKm9iamZpbGVfZ2RiYXJjaCA9IGdldF9vYmpmaWxlX2FyY2ggKG9iamZpbGUp OwotIAotIAkgICAgaWYgKHN1Ym9ial9ieXRlX29mZnNldCArIGxlbiA+IG1heCkKLWRpZmYgLS1n aXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwotLS0tIGEvZ2RiL2R3YXJm MnJlYWQuYwotKysrIGIvZ2RiL2R3YXJmMnJlYWQuYwotQEAgLTIwNjQsMTEgKzIwNjQsMTEgQEAg ZHdhcmYyX2NvbXBsZXhfbG9jYXRpb25fZXhwcl9jb21wbGFpbnQgKHZvaWQpCi0gfQotIAotIHN0 YXRpYyB2b2lkCi0tZHdhcmYyX2NvbnN0X3ZhbHVlX2xlbmd0aF9taXNtYXRjaF9jb21wbGFpbnQg KGNvbnN0IGNoYXIgKmFyZzEsIGludCBhcmcyLAotLQkJCQkJICAgICAgaW50IGFyZzMpCi0rZHdh cmYyX2NvbnN0X3ZhbHVlX2xlbmd0aF9taXNtYXRjaF9jb21wbGFpbnQgKGNvbnN0IGNoYXIgKmFy ZzEsIExPTkdFU1QgYXJnMiwKLSsJCQkJCSAgICAgIExPTkdFU1QgYXJnMykKLSB7Ci0tICBjb21w bGFpbnQgKF8oImNvbnN0IHZhbHVlIGxlbmd0aCBtaXNtYXRjaCBmb3IgJyVzJywgZ290ICVkLCBl eHBlY3RlZCAlZCIpLAotLQkgICAgIGFyZzEsIGFyZzIsIGFyZzMpOwotKyAgY29tcGxhaW50IChf KCJjb25zdCB2YWx1ZSBsZW5ndGggbWlzbWF0Y2ggZm9yICclcycsIGdvdCAlcywgZXhwZWN0ZWQg JXMiKSwKLSsJICAgICBhcmcxLCBwbG9uZ2VzdCAoYXJnMiksIHBsb25nZXN0IChhcmczKSk7Ci0g fQotIAotIHN0YXRpYyB2b2lkCi1AQCAtMTUxMDMsOCArMTUxMDMsOCBAQCBkd2FyZjJfYWRkX2Zp ZWxkIChzdHJ1Y3QgZmllbGRfaW5mbyAqZmlwLCBzdHJ1Y3QgZGllX2luZm8gKmRpZSwKLSAJICAg ICAgICAgb2JqZWN0LCBhbmQgdGhlbiBzdWJ0cmFjdCBvZmYgdGhlIG51bWJlciBvZiBiaXRzIG9m Ci0gCSAgICAgICAgIHRoZSBmaWVsZCBpdHNlbGYuICBUaGUgcmVzdWx0IGlzIHRoZSBiaXQgb2Zm c2V0IG9mCi0gCSAgICAgICAgIHRoZSBMU0Igb2YgdGhlIGZpZWxkLiAgKi8KLS0JICAgICAgaW50 IGFub255bW91c19zaXplOwotLQkgICAgICBpbnQgYml0X29mZnNldCA9IERXX1VOU05EIChhdHRy KTsKLSsJICAgICAgTE9OR0VTVCBhbm9ueW1vdXNfc2l6ZTsKLSsJICAgICAgTE9OR0VTVCBiaXRf b2Zmc2V0ID0gRFdfVU5TTkQgKGF0dHIpOwotIAotIAkgICAgICBhdHRyID0gZHdhcmYyX2F0dHIg KGRpZSwgRFdfQVRfYnl0ZV9zaXplLCBjdSk7Ci0gCSAgICAgIGlmIChhdHRyKQotZGlmZiAtLWdp dCBhL2dkYi9ldmFsLmMgYi9nZGIvZXZhbC5jCi0tLS0gYS9nZGIvZXZhbC5jCi0rKysgYi9nZGIv ZXZhbC5jCi1AQCAtMjk1LDcgKzI5NSw4IEBAIGV2YWx1YXRlX3N0cnVjdF90dXBsZSAoc3RydWN0 IHZhbHVlICpzdHJ1Y3RfdmFsLAotICAgd2hpbGUgKC0tbmFyZ3MgPj0gMCkKLSAgICAgewotICAg ICAgIHN0cnVjdCB2YWx1ZSAqdmFsID0gTlVMTDsKLS0gICAgICBpbnQgYml0cG9zLCBiaXRzaXpl OwotKyAgICAgIExPTkdFU1QgYml0cG9zOwotKyAgICAgIGludCBiaXRzaXplOwotICAgICAgIGJm ZF9ieXRlICphZGRyOwotIAotICAgICAgIGZpZWxkbm8rKzsKLUBAIC0zNTYsNyArMzU3LDcgQEAg aW5pdF9hcnJheV9lbGVtZW50IChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBzdHJ1Y3QgdmFsdWUgKmVs ZW1lbnQsCi0gCQkgICAgZW51bSBub3NpZGUgbm9zaWRlLCBMT05HRVNUIGxvd19ib3VuZCwgTE9O R0VTVCBoaWdoX2JvdW5kKQotIHsKLSAgIExPTkdFU1QgaW5kZXg7Ci0tICBpbnQgZWxlbWVudF9z aXplID0gVFlQRV9MRU5HVEggKHZhbHVlX3R5cGUgKGVsZW1lbnQpKTsKLSsgIExPTkdFU1QgZWxl bWVudF9zaXplID0gVFlQRV9MRU5HVEggKHZhbHVlX3R5cGUgKGVsZW1lbnQpKTsKLSAKLSAgIGlm IChleHAtPmVsdHNbKnBvc10ub3Bjb2RlID09IEJJTk9QX0NPTU1BKQotICAgICB7Ci1AQCAtNzk5 LDExICs4MDAsMTEgQEAgYmlub3BfcHJvbW90ZSAoY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4g Kmxhbmd1YWdlLCBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLSAgICAgLyogRklYTUU6IEFsc28g bWl4ZWQgaW50ZWdyYWwvYm9vbGVhbnMsIHdpdGggcmVzdWx0IGFuIGludGVnZXIuICAqLwotICAg ICB7Ci0gICAgICAgY29uc3Qgc3RydWN0IGJ1aWx0aW5fdHlwZSAqYnVpbHRpbiA9IGJ1aWx0aW5f dHlwZSAoZ2RiYXJjaCk7Ci0tICAgICAgdW5zaWduZWQgaW50IHByb21vdGVkX2xlbjEgPSBUWVBF X0xFTkdUSCAodHlwZTEpOwotLSAgICAgIHVuc2lnbmVkIGludCBwcm9tb3RlZF9sZW4yID0gVFlQ RV9MRU5HVEggKHR5cGUyKTsKLSsgICAgICBVTE9OR0VTVCBwcm9tb3RlZF9sZW4xID0gVFlQRV9M RU5HVEggKHR5cGUxKTsKLSsgICAgICBVTE9OR0VTVCBwcm9tb3RlZF9sZW4yID0gVFlQRV9MRU5H VEggKHR5cGUyKTsKLSAgICAgICBpbnQgaXNfdW5zaWduZWQxID0gVFlQRV9VTlNJR05FRCAodHlw ZTEpOwotICAgICAgIGludCBpc191bnNpZ25lZDIgPSBUWVBFX1VOU0lHTkVEICh0eXBlMik7Ci0t ICAgICAgdW5zaWduZWQgaW50IHJlc3VsdF9sZW47Ci0rICAgICAgVUxPTkdFU1QgcmVzdWx0X2xl bjsKLSAgICAgICBpbnQgdW5zaWduZWRfb3BlcmF0aW9uOwotIAotICAgICAgIC8qIERldGVybWlu ZSB0eXBlIGxlbmd0aCBhbmQgc2lnbmVkbmVzcyBhZnRlciBwcm9tb3Rpb24gZm9yCi1AQCAtMTU1 Myw3ICsxNTU0LDcgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhw ZWN0X3R5cGUsCi0gICBzdHJ1Y3QgdmFsdWUgKiphcmd2ZWM7Ci0gICBpbnQgY29kZTsKLSAgIGlu dCBpeDsKLS0gIGxvbmcgbWVtX29mZnNldDsKLSsgIExPTkdFU1QgbWVtX29mZnNldDsKLSAgIHN0 cnVjdCB0eXBlICoqYXJnX3R5cGVzOwotIAotICAgcGMgPSAoKnBvcykrKzsKLUBAIC0xNzM4LDcg KzE3MzksNyBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3Rf dHlwZSwKLSAJICBzdHJ1Y3QgdHlwZSAqcmFuZ2VfdHlwZSA9IFRZUEVfSU5ERVhfVFlQRSAodHlw ZSk7Ci0gCSAgc3RydWN0IHR5cGUgKmVsZW1lbnRfdHlwZSA9IFRZUEVfVEFSR0VUX1RZUEUgKHR5 cGUpOwotIAkgIHN0cnVjdCB2YWx1ZSAqYXJyYXkgPSBhbGxvY2F0ZV92YWx1ZSAoZXhwZWN0X3R5 cGUpOwotLQkgIGludCBlbGVtZW50X3NpemUgPSBUWVBFX0xFTkdUSCAoY2hlY2tfdHlwZWRlZiAo ZWxlbWVudF90eXBlKSk7Ci0rCSAgTE9OR0VTVCBlbGVtZW50X3NpemUgPSBUWVBFX0xFTkdUSCAo Y2hlY2tfdHlwZWRlZiAoZWxlbWVudF90eXBlKSk7Ci0gCSAgTE9OR0VTVCBsb3dfYm91bmQsIGhp Z2hfYm91bmQsIGluZGV4OwotIAotIAkgIGlmIChnZXRfZGlzY3JldGVfYm91bmRzIChyYW5nZV90 eXBlLCAmbG93X2JvdW5kLCAmaGlnaF9ib3VuZCkgPCAwKQotZGlmZiAtLWdpdCBhL2dkYi9mLWxh bmcuYyBiL2dkYi9mLWxhbmcuYwotLS0tIGEvZ2RiL2YtbGFuZy5jCi0rKysgYi9nZGIvZi1sYW5n LmMKLUBAIC0xMDQsNyArMTA0LDcgQEAgZl9wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAq dHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKLSAKLSBzdGF0aWMgdm9pZAotIGZfcHJpbnRz dHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJf Ynl0ZSAqc3RyaW5nLAotLQkgICAgdW5zaWduZWQgaW50IGxlbmd0aCwgY29uc3QgY2hhciAqZW5j b2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKLSsJICAgIFVMT05HRVNUIGxlbmd0aCwgY29uc3Qg Y2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKLSAJICAgIGNvbnN0IHN0cnVjdCB2 YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotIHsKLSAgIGNvbnN0IGNoYXIgKnR5cGVfZW5j b2RpbmcgPSBmX2dldF9lbmNvZGluZyAodHlwZSk7Ci1kaWZmIC0tZ2l0IGEvZ2RiL2YtbGFuZy5o IGIvZ2RiL2YtbGFuZy5oCi0tLS0gYS9nZGIvZi1sYW5nLmgKLSsrKyBiL2dkYi9mLWxhbmcuaAot QEAgLTMxLDcgKzMxLDcgQEAgZXh0ZXJuIGludCBmX3BhcnNlIChzdHJ1Y3QgcGFyc2VyX3N0YXRl ICopOwotIGV4dGVybiB2b2lkIGZfcHJpbnRfdHlwZSAoc3RydWN0IHR5cGUgKiwgY29uc3QgY2hh ciAqLCBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCi0gCQkJICBpbnQsIGNvbnN0IHN0cnVjdCB0eXBl X3ByaW50X29wdGlvbnMgKik7Ci0gCi0tZXh0ZXJuIHZvaWQgZl92YWxfcHJpbnQgKHN0cnVjdCB0 eXBlICosIGludCwgQ09SRV9BRERSLAotK2V4dGVybiB2b2lkIGZfdmFsX3ByaW50IChzdHJ1Y3Qg dHlwZSAqLCBMT05HRVNULCBDT1JFX0FERFIsCi0gCQkJIHN0cnVjdCB1aV9maWxlICosIGludCwK LSAJCQkgc3RydWN0IHZhbHVlICosCi0gCQkJIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRp b25zICopOwotZGlmZiAtLWdpdCBhL2dkYi9mLXZhbHByaW50LmMgYi9nZGIvZi12YWxwcmludC5j Ci0tLS0gYS9nZGIvZi12YWxwcmludC5jCi0rKysgYi9nZGIvZi12YWxwcmludC5jCi1AQCAtMzYs NyArMzYsNyBAQAotIAotIHN0YXRpYyB2b2lkIGY3N19nZXRfZHluYW1pY19sZW5ndGhfb2ZfYWdn cmVnYXRlIChzdHJ1Y3QgdHlwZSAqKTsKLSAKLS1pbnQgZjc3X2FycmF5X29mZnNldF90YmxbTUFY X0ZPUlRSQU5fRElNUyArIDFdWzJdOwotK0xPTkdFU1QgZjc3X2FycmF5X29mZnNldF90YmxbTUFY X0ZPUlRSQU5fRElNUyArIDFdWzJdOwotIAotIC8qIEFycmF5IHdoaWNoIGhvbGRzIG9mZnNldHMg dG8gYmUgYXBwbGllZCB0byBnZXQgYSByb3cncyBlbGVtZW50cwotICAgIGZvciBhIGdpdmVuIGFy cmF5LiAgQXJyYXkgYWxzbyBob2xkcyB0aGUgc2l6ZSBvZiBlYWNoIHN1YmFycmF5LiAgKi8KLUBA IC03MSw4ICs3MSw4IEBAIGY3N19nZXRfdXBwZXJib3VuZCAoc3RydWN0IHR5cGUgKnR5cGUpCi0g c3RhdGljIHZvaWQKLSBmNzdfZ2V0X2R5bmFtaWNfbGVuZ3RoX29mX2FnZ3JlZ2F0ZSAoc3RydWN0 IHR5cGUgKnR5cGUpCi0gewotLSAgaW50IHVwcGVyX2JvdW5kID0gLTE7Ci0tICBpbnQgbG93ZXJf Ym91bmQgPSAxOwotKyAgTE9OR0VTVCB1cHBlcl9ib3VuZCA9IC0xOwotKyAgTE9OR0VTVCBsb3dl cl9ib3VuZCA9IDE7Ci0gCi0gICAvKiBSZWN1cnNpdmVseSBnbyBhbGwgdGhlIHdheSBkb3duIGlu dG8gYSBwb3NzaWJseSBtdWx0aS1kaW1lbnNpb25hbAotICAgICAgRjc3IGFycmF5IGFuZCBnZXQg dGhlIGJvdW5kcy4gIEZvciBzaW1wbGUgYXJyYXlzLCB0aGlzIGlzIHByZXR0eQotQEAgLTEwNCw3 ICsxMDQsNyBAQCBmNzdfZ2V0X2R5bmFtaWNfbGVuZ3RoX29mX2FnZ3JlZ2F0ZSAoc3RydWN0IHR5 cGUgKnR5cGUpCi0gc3RhdGljIHZvaWQKLSBmNzdfcHJpbnRfYXJyYXlfMSAoaW50IG5zcywgaW50 IG5kaW1lbnNpb25zLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAJCSAgIGNvbnN0IGdkYl9ieXRlICp2 YWxhZGRyLAotLQkJICAgaW50IGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0r CQkgICBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0gCQkgICBz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLSAJCSAgIGNvbnN0IHN0cnVjdCB2 YWx1ZSAqdmFsLAotIAkJICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlv bnMsCi1AQCAtMTEzLDcgKzExMyw3IEBAIGY3N19wcmludF9hcnJheV8xIChpbnQgbnNzLCBpbnQg bmRpbWVuc2lvbnMsIHN0cnVjdCB0eXBlICp0eXBlLAotICAgc3RydWN0IHR5cGUgKnJhbmdlX3R5 cGUgPSBUWVBFX0lOREVYX1RZUEUgKGNoZWNrX3R5cGVkZWYgKHR5cGUpKTsKLSAgIENPUkVfQURE UiBhZGRyID0gYWRkcmVzcyArIGVtYmVkZGVkX29mZnNldDsKLSAgIExPTkdFU1QgbG93ZXJib3Vu ZCwgdXBwZXJib3VuZDsKLS0gIGludCBpOwotKyAgTE9OR0VTVCBpOwotIAotICAgZ2V0X2Rpc2Ny ZXRlX2JvdW5kcyAocmFuZ2VfdHlwZSwgJmxvd2VyYm91bmQsICZ1cHBlcmJvdW5kKTsKLSAKLUBA IC0xNzUsNyArMTc1LDcgQEAgZjc3X3ByaW50X2FycmF5XzEgKGludCBuc3MsIGludCBuZGltZW5z aW9ucywgc3RydWN0IHR5cGUgKnR5cGUsCi0gCi0gc3RhdGljIHZvaWQKLSBmNzdfcHJpbnRfYXJy YXkgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKLS0JCSBpbnQg ZW1iZWRkZWRfb2Zmc2V0LAotKwkJIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAotIAkJIENPUkVf QUREUiBhZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAotIAkJIGludCByZWN1cnNlLAot IAkJIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsLAotQEAgLTIxNCw3ICsyMTQsNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGdlbmVyaWNfdmFsX3ByaW50X2RlY29yYXRpb25zIGZfZGVjb3JhdGlvbnMg PQotICAgIGZ1bmN0aW9uOyB0aGV5IGFyZSBpZGVudGljYWwuICAqLwotIAotIHZvaWQKLS1mX3Zh bF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBlbWJlZGRlZF9vZmZzZXQsCi0rZl92YWxf cHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwKLSAJICAg ICBDT1JFX0FERFIgYWRkcmVzcywgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2Us Ci0gCSAgICAgc3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKLSAJICAgICBjb25zdCBzdHJ1 Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLWRpZmYgLS1naXQgYS9nZGIvZmluZHZh ci5jIGIvZ2RiL2ZpbmR2YXIuYwotLS0tIGEvZ2RiL2ZpbmR2YXIuYwotKysrIGIvZ2RiL2ZpbmR2 YXIuYwotQEAgLTgyMSw3ICs4MjEsNyBAQCBzdHJ1Y3QgdmFsdWUgKgotIGRlZmF1bHRfdmFsdWVf ZnJvbV9yZWdpc3RlciAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0eXBlICp0eXBl LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZ251bSwgc3RydWN0IGZyYW1l X2lkIGZyYW1lX2lkKQotIHsKLS0gIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0rICBM T05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAgIHN0cnVjdCB2YWx1ZSAqdmFsdWUg PSBhbGxvY2F0ZV92YWx1ZSAodHlwZSk7Ci0gICBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWU7Ci0g Ci1AQCAtODY1LDcgKzg2NSw3IEBAIHJlYWRfZnJhbWVfcmVnaXN0ZXJfdmFsdWUgKHN0cnVjdCB2 YWx1ZSAqdmFsdWUsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSkKLSAgIExPTkdFU1Qgb2Zmc2V0 ID0gMDsKLSAgIExPTkdFU1QgcmVnX29mZnNldCA9IHZhbHVlX29mZnNldCAodmFsdWUpOwotICAg aW50IHJlZ251bSA9IFZBTFVFX1JFR05VTSAodmFsdWUpOwotLSAgaW50IGxlbiA9IHR5cGVfbGVu Z3RoX3VuaXRzIChjaGVja190eXBlZGVmICh2YWx1ZV90eXBlICh2YWx1ZSkpKTsKLSsgIExPTkdF U1QgbGVuID0gdHlwZV9sZW5ndGhfdW5pdHMgKGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKHZh bHVlKSkpOwotIAotICAgZ2RiX2Fzc2VydCAoVkFMVUVfTFZBTCAodmFsdWUpID09IGx2YWxfcmVn aXN0ZXIpOwotIAotQEAgLTg4MCw3ICs4ODAsNyBAQCByZWFkX2ZyYW1lX3JlZ2lzdGVyX3ZhbHVl IChzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCi0gICB3aGls ZSAobGVuID4gMCkKLSAgICAgewotICAgICAgIHN0cnVjdCB2YWx1ZSAqcmVndmFsID0gZ2V0X2Zy YW1lX3JlZ2lzdGVyX3ZhbHVlIChmcmFtZSwgcmVnbnVtKTsKLS0gICAgICBpbnQgcmVnX2xlbiA9 IHR5cGVfbGVuZ3RoX3VuaXRzICh2YWx1ZV90eXBlIChyZWd2YWwpKSAtIHJlZ19vZmZzZXQ7Ci0r ICAgICAgTE9OR0VTVCByZWdfbGVuID0gdHlwZV9sZW5ndGhfdW5pdHMgKHZhbHVlX3R5cGUgKHJl Z3ZhbCkpIC0gcmVnX29mZnNldDsKLSAKLSAgICAgICAvKiBJZiB0aGUgcmVnaXN0ZXIgbGVuZ3Ro IGlzIGxhcmdlciB0aGFuIHRoZSBudW1iZXIgb2YgYnl0ZXMKLSAgICAgICAgICByZW1haW5pbmcg dG8gY29weSwgdGhlbiBvbmx5IGNvcHkgdGhlIGFwcHJvcHJpYXRlIGJ5dGVzLiAgKi8KLWRpZmYg LS1naXQgYS9nZGIvZnJhbWUuYyBiL2dkYi9mcmFtZS5jCi0tLS0gYS9nZGIvZnJhbWUuYwotKysr IGIvZ2RiL2ZyYW1lLmMKLUBAIC0xMzkzLDcgKzEzOTMsNyBAQCBkZXByZWNhdGVkX2ZyYW1lX3Jl Z2lzdGVyX3JlYWQgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgaW50IHJlZ251bSwKLSAKLSBp bnQKLSBnZXRfZnJhbWVfcmVnaXN0ZXJfYnl0ZXMgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwg aW50IHJlZ251bSwKLS0JCQkgIENPUkVfQUREUiBvZmZzZXQsIGludCBsZW4sIGdkYl9ieXRlICpt eWFkZHIsCi0rCQkJICBDT1JFX0FERFIgb2Zmc2V0LCBMT05HRVNUIGxlbiwgZ2RiX2J5dGUgKm15 YWRkciwKLSAJCQkgIGludCAqb3B0aW1pemVkcCwgaW50ICp1bmF2YWlsYWJsZXApCi0gewotICAg c3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfZnJhbWVfYXJjaCAoZnJhbWUpOwotQEAgLTE0 MjIsNyArMTQyMiw3IEBAIGdldF9mcmFtZV9yZWdpc3Rlcl9ieXRlcyAoc3RydWN0IGZyYW1lX2lu Zm8gKmZyYW1lLCBpbnQgcmVnbnVtLAotICAgICB9Ci0gICBpZiAobGVuID4gbWF4c2l6ZSkKLSAg ICAgZXJyb3IgKF8oIkJhZCBkZWJ1ZyBpbmZvcm1hdGlvbiBkZXRlY3RlZDogIgotLQkgICAgICJB dHRlbXB0IHRvIHJlYWQgJWQgYnl0ZXMgZnJvbSByZWdpc3RlcnMuIiksIGxlbik7Ci0rCSAgICAg IkF0dGVtcHQgdG8gcmVhZCAlcyBieXRlcyBmcm9tIHJlZ2lzdGVycy4iKSwgcGxvbmdlc3QgKGxl bikpOwotIAotICAgLyogQ29weSB0aGUgZGF0YS4gICovCi0gICB3aGlsZSAobGVuID4gMCkKLWRp ZmYgLS1naXQgYS9nZGIvZnJhbWUuaCBiL2dkYi9mcmFtZS5oCi0tLS0gYS9nZGIvZnJhbWUuaAot KysrIGIvZ2RiL2ZyYW1lLmgKLUBAIC02MjAsNyArNjIwLDcgQEAgZXh0ZXJuIHZvaWQgcHV0X2Zy YW1lX3JlZ2lzdGVyIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGludCByZWdudW0sCi0gICAg Y29udGVudHMgYXJlIG9wdGltaXplZCBvdXQgb3IgdW5hdmFpbGFibGUsIHNldCAqT1BUSU1JWkVE UCwKLSAgICAqVU5BVkFJTEFCTEVQIGFjY29yZGluZ2x5LiAgKi8KLSBleHRlcm4gaW50IGdldF9m cmFtZV9yZWdpc3Rlcl9ieXRlcyAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVt LAotLQkJCQkgICAgIENPUkVfQUREUiBvZmZzZXQsIGludCBsZW4sCi0rCQkJCSAgICAgQ09SRV9B RERSIG9mZnNldCwgTE9OR0VTVCBsZW4sCi0gCQkJCSAgICAgZ2RiX2J5dGUgKm15YWRkciwKLSAJ CQkJICAgICBpbnQgKm9wdGltaXplZHAsIGludCAqdW5hdmFpbGFibGVwKTsKLSAKLWRpZmYgLS1n aXQgYS9nZGIvZ2RiYXJjaC5jIGIvZ2RiL2dkYmFyY2guYwotLS0tIGEvZ2RiL2dkYmFyY2guYwot KysrIGIvZ2RiL2dkYmFyY2guYwotQEAgLTE4MDMsNyArMTgwMyw3IEBAIHNldF9nZGJhcmNoX3dj aGFyX3NpZ25lZCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gfQotIAotIGNvbnN0IHN0cnVj dCBmbG9hdGZvcm1hdCAqKgotLWdkYmFyY2hfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuZ3RoKQotK2dkYmFyY2hf ZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFy ICpuYW1lLCBMT05HRVNUIGxlbmd0aCkKLSB7Ci0gICBnZGJfYXNzZXJ0IChnZGJhcmNoICE9IE5V TEwpOwotICAgZ2RiX2Fzc2VydCAoZ2RiYXJjaC0+ZmxvYXRmb3JtYXRfZm9yX3R5cGUgIT0gTlVM TCk7Ci1kaWZmIC0tZ2l0IGEvZ2RiL2dkYmFyY2guaCBiL2dkYi9nZGJhcmNoLmgKLS0tLSBhL2dk Yi9nZGJhcmNoLmgKLSsrKyBiL2dkYi9nZGJhcmNoLmgKLUBAIC0yMTgsOCArMjE4LDggQEAgZXh0 ZXJuIHZvaWQgc2V0X2dkYmFyY2hfd2NoYXJfc2lnbmVkIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwgaW50IHdjaGFyX3NpZ25lZCkKLSAgICBOQU1FLCBpZiBub24tTlVMTCwgaXMgdGhlIHR5cGUg bmFtZSwgd2hpY2ggbWF5IGJlIHVzZWQgdG8gZGlzdGluZ3Vpc2gKLSAgICBkaWZmZXJlbnQgdGFy Z2V0IGZvcm1hdHMgb2YgdGhlIHNhbWUgbGVuZ3RoLiAqLwotIAotLXR5cGVkZWYgY29uc3Qgc3Ry dWN0IGZsb2F0Zm9ybWF0ICoqIChnZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlX2Z0eXBlKSAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW5ndGgpOwot LWV4dGVybiBjb25zdCBzdHJ1Y3QgZmxvYXRmb3JtYXQgKiogZ2RiYXJjaF9mbG9hdGZvcm1hdF9m b3JfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBs ZW5ndGgpOwotK3R5cGVkZWYgY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqIChnZGJhcmNoX2Zs b2F0Zm9ybWF0X2Zvcl90eXBlX2Z0eXBlKSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGNvbnN0 IGNoYXIgKm5hbWUsIExPTkdFU1QgbGVuZ3RoKTsKLStleHRlcm4gY29uc3Qgc3RydWN0IGZsb2F0 Zm9ybWF0ICoqIGdkYmFyY2hfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBjb25zdCBjaGFyICpuYW1lLCBMT05HRVNUIGxlbmd0aCk7Ci0gZXh0ZXJuIHZvaWQg c2V0X2dkYmFyY2hfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNo LCBnZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlX2Z0eXBlICpmbG9hdGZvcm1hdF9mb3JfdHlw ZSk7Ci0gCi0gLyogRm9yIG1vc3QgdGFyZ2V0cywgYSBwb2ludGVyIG9uIHRoZSB0YXJnZXQgYW5k IGl0cyByZXByZXNlbnRhdGlvbiBhcyBhbgotZGlmZiAtLWdpdCBhL2dkYi9nZGJhcmNoLnNoIGIv Z2RiL2dkYmFyY2guc2gKLS0tLSBhL2dkYi9nZGJhcmNoLnNoCi0rKysgYi9nZGIvZ2RiYXJjaC5z aAotQEAgLTM4NSw3ICszODUsNyBAQCB2O2ludDt3Y2hhcl9zaWduZWQ7OzsxOy0xOzEKLSAjIFJl dHVybnMgdGhlIGZsb2F0aW5nLXBvaW50IGZvcm1hdCB0byBiZSB1c2VkIGZvciB2YWx1ZXMgb2Yg bGVuZ3RoIExFTkdUSC4KLSAjIE5BTUUsIGlmIG5vbi1OVUxMLCBpcyB0aGUgdHlwZSBuYW1lLCB3 aGljaCBtYXkgYmUgdXNlZCB0byBkaXN0aW5ndWlzaAotICMgZGlmZmVyZW50IHRhcmdldCBmb3Jt YXRzIG9mIHRoZSBzYW1lIGxlbmd0aC4KLS1tO2NvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKjtm bG9hdGZvcm1hdF9mb3JfdHlwZTtjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuZ3RoO25hbWUsIGxl bmd0aDswO2RlZmF1bHRfZmxvYXRmb3JtYXRfZm9yX3R5cGU7OzAKLSttO2NvbnN0IHN0cnVjdCBm bG9hdGZvcm1hdCAqKjtmbG9hdGZvcm1hdF9mb3JfdHlwZTtjb25zdCBjaGFyICpuYW1lLCBMT05H RVNUIGxlbmd0aDtuYW1lLCBsZW5ndGg7MDtkZWZhdWx0X2Zsb2F0Zm9ybWF0X2Zvcl90eXBlOzsw Ci0gCi0gIyBGb3IgbW9zdCB0YXJnZXRzLCBhIHBvaW50ZXIgb24gdGhlIHRhcmdldCBhbmQgaXRz IHJlcHJlc2VudGF0aW9uIGFzIGFuCi0gIyBhZGRyZXNzIGluIEdEQiBoYXZlIHRoZSBzYW1lIHNp emUgYW5kICJsb29rIHRoZSBzYW1lIi4gIEZvciBzdWNoIGEKLWRpZmYgLS1naXQgYS9nZGIvZ2Ri dHlwZXMuYyBiL2dkYi9nZGJ0eXBlcy5jCi0tLS0gYS9nZGIvZ2RidHlwZXMuYwotKysrIGIvZ2Ri L2dkYnR5cGVzLmMKLUBAIC0yODczLDcgKzI4NzMsNyBAQCBmbG9hdGZvcm1hdF9mcm9tX3R5cGUg KGNvbnN0IHN0cnVjdCB0eXBlICp0eXBlKQotICAgIGxlYXN0IGFzIGxvbmcgYXMgT0JKRklMRS4g ICovCi0gCi0gc3RydWN0IHR5cGUgKgotLWluaXRfdHlwZSAoc3RydWN0IG9iamZpbGUgKm9iamZp bGUsIGVudW0gdHlwZV9jb2RlIGNvZGUsIGludCBiaXQsCi0raW5pdF90eXBlIChzdHJ1Y3Qgb2Jq ZmlsZSAqb2JqZmlsZSwgZW51bSB0eXBlX2NvZGUgY29kZSwgTE9OR0VTVCBiaXQsCi0gCSAgIGNv bnN0IGNoYXIgKm5hbWUpCi0gewotICAgc3RydWN0IHR5cGUgKnR5cGU7Ci1AQCAtMzMzMCw4ICsz MzMwLDggQEAgaXNfcHVibGljX2FuY2VzdG9yIChzdHJ1Y3QgdHlwZSAqYmFzZSwgc3RydWN0IHR5 cGUgKmRjbGFzcykKLSAKLSBzdGF0aWMgaW50Ci0gaXNfdW5pcXVlX2FuY2VzdG9yX3dvcmtlciAo c3RydWN0IHR5cGUgKmJhc2UsIHN0cnVjdCB0eXBlICpkY2xhc3MsCi0tCQkJICAgaW50ICpvZmZz ZXQsCi0tCQkJICAgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsIGludCBlbWJlZGRlZF9vZmZzZXQs Ci0rCQkJICAgTE9OR0VTVCAqb2Zmc2V0LAotKwkJCSAgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRy LCBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwKLSAJCQkgICBDT1JFX0FERFIgYWRkcmVzcywgc3Ry dWN0IHZhbHVlICp2YWwpCi0gewotICAgaW50IGksIGNvdW50ID0gMDsKLUBAIC0zMzQyLDcgKzMz NDIsNyBAQCBpc191bmlxdWVfYW5jZXN0b3Jfd29ya2VyIChzdHJ1Y3QgdHlwZSAqYmFzZSwgc3Ry dWN0IHR5cGUgKmRjbGFzcywKLSAgIGZvciAoaSA9IDA7IGkgPCBUWVBFX05fQkFTRUNMQVNTRVMg KGRjbGFzcykgJiYgY291bnQgPCAyOyArK2kpCi0gICAgIHsKLSAgICAgICBzdHJ1Y3QgdHlwZSAq aXRlcjsKLS0gICAgICBpbnQgdGhpc19vZmZzZXQ7Ci0rICAgICAgTE9OR0VTVCB0aGlzX29mZnNl dDsKLSAKLSAgICAgICBpdGVyID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9CQVNFQ0xBU1MgKGRjbGFz cywgaSkpOwotIAotQEAgLTMzODMsNyArMzM4Myw3IEBAIGlzX3VuaXF1ZV9hbmNlc3Rvcl93b3Jr ZXIgKHN0cnVjdCB0eXBlICpiYXNlLCBzdHJ1Y3QgdHlwZSAqZGNsYXNzLAotIGludAotIGlzX3Vu aXF1ZV9hbmNlc3RvciAoc3RydWN0IHR5cGUgKmJhc2UsIHN0cnVjdCB2YWx1ZSAqdmFsKQotIHsK LS0gIGludCBvZmZzZXQgPSAtMTsKLSsgIExPTkdFU1Qgb2Zmc2V0ID0gLTE7Ci0gCi0gICByZXR1 cm4gaXNfdW5pcXVlX2FuY2VzdG9yX3dvcmtlciAoYmFzZSwgdmFsdWVfdHlwZSAodmFsKSwgJm9m ZnNldCwKLSAJCQkJICAgIHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAodmFsKSwKLUBAIC00 NjQzLDcgKzQ2NDMsNyBAQCByZWN1cnNpdmVfZHVtcF90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwg aW50IHNwYWNlcykKLSAgICAgICBicmVhazsKLSAgICAgfQotICAgcHV0c19maWx0ZXJlZCAoIlxu Iik7Ci0tICBwcmludGZpX2ZpbHRlcmVkIChzcGFjZXMsICJsZW5ndGggJWRcbiIsIFRZUEVfTEVO R1RIICh0eXBlKSk7Ci0rICBwcmludGZpX2ZpbHRlcmVkIChzcGFjZXMsICJsZW5ndGggJXNcbiIs IHB1bG9uZ2VzdCAoVFlQRV9MRU5HVEggKHR5cGUpKSk7Ci0gICBpZiAoVFlQRV9PQkpGSUxFX09X TkVEICh0eXBlKSkKLSAgICAgewotICAgICAgIHByaW50ZmlfZmlsdGVyZWQgKHNwYWNlcywgIm9i amZpbGUgIik7Ci1AQCAtNTA4OCw3ICs1MDg4LDcgQEAgY29weV90eXBlIChjb25zdCBzdHJ1Y3Qg dHlwZSAqdHlwZSkKLSAKLSBzdHJ1Y3QgdHlwZSAqCi0gYXJjaF90eXBlIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwKLS0JICAgZW51bSB0eXBlX2NvZGUgY29kZSwgaW50IGJpdCwgY29uc3QgY2hh ciAqbmFtZSkKLSsJICAgZW51bSB0eXBlX2NvZGUgY29kZSwgTE9OR0VTVCBiaXQsIGNvbnN0IGNo YXIgKm5hbWUpCi0gewotICAgc3RydWN0IHR5cGUgKnR5cGU7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2Ri L2dkYnR5cGVzLmggYi9nZGIvZ2RidHlwZXMuaAotLS0tIGEvZ2RiL2dkYnR5cGVzLmgKLSsrKyBi L2dkYi9nZGJ0eXBlcy5oCi1AQCAtODY0LDcgKzg2NCw3IEBAIHN0cnVjdCB0eXBlCi0gICAgICB0 eXBlX2xlbmd0aF91bml0cyBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCBpbiBvcmRlciB0byBnZXQg dGhlIGxlbmd0aAotICAgICAgZXhwcmVzc2VkIGluIHRhcmdldCBhZGRyZXNzYWJsZSBtZW1vcnkg dW5pdHMuICAqLwotIAotLSAgdW5zaWduZWQgaW50IGxlbmd0aDsKLSsgIFVMT05HRVNUIGxlbmd0 aDsKLSAKLSAgIC8qICogQ29yZSB0eXBlLCBzaGFyZWQgYnkgYSBncm91cCBvZiBxdWFsaWZpZWQg dHlwZXMuICAqLwotIAotQEAgLTE3ODcsNyArMTc4Nyw3IEBAIGV4dGVybiB1bnNpZ25lZCBpbnQg dHlwZV9sZW5ndGhfdW5pdHMgKHN0cnVjdCB0eXBlICp0eXBlKTsKLSAKLSAvKiAqIEhlbHBlciBm dW5jdGlvbiB0byBjb25zdHJ1Y3Qgb2JqZmlsZS1vd25lZCB0eXBlcy4gICovCi0gCi0tZXh0ZXJu IHN0cnVjdCB0eXBlICppbml0X3R5cGUgKHN0cnVjdCBvYmpmaWxlICosIGVudW0gdHlwZV9jb2Rl LCBpbnQsCi0rZXh0ZXJuIHN0cnVjdCB0eXBlICppbml0X3R5cGUgKHN0cnVjdCBvYmpmaWxlICos IGVudW0gdHlwZV9jb2RlLCBMT05HRVNULAotIAkJCSAgICAgICBjb25zdCBjaGFyICopOwotIGV4 dGVybiBzdHJ1Y3QgdHlwZSAqaW5pdF9pbnRlZ2VyX3R5cGUgKHN0cnVjdCBvYmpmaWxlICosIGlu dCwgaW50LAotIAkJCQkgICAgICAgY29uc3QgY2hhciAqKTsKLUBAIC0xODA0LDcgKzE4MDQsNyBA QCBleHRlcm4gc3RydWN0IHR5cGUgKmluaXRfcG9pbnRlcl90eXBlIChzdHJ1Y3Qgb2JqZmlsZSAq LCBpbnQsIGNvbnN0IGNoYXIgKiwKLSAJCQkJICAgICAgIHN0cnVjdCB0eXBlICopOwotIAotIC8q IEhlbHBlciBmdW5jdGlvbnMgdG8gY29uc3RydWN0IGFyY2hpdGVjdHVyZS1vd25lZCB0eXBlcy4g ICovCi0tZXh0ZXJuIHN0cnVjdCB0eXBlICphcmNoX3R5cGUgKHN0cnVjdCBnZGJhcmNoICosIGVu dW0gdHlwZV9jb2RlLCBpbnQsCi0rZXh0ZXJuIHN0cnVjdCB0eXBlICphcmNoX3R5cGUgKHN0cnVj dCBnZGJhcmNoICosIGVudW0gdHlwZV9jb2RlLCBMT05HRVNULAotIAkJCSAgICAgICBjb25zdCBj aGFyICopOwotIGV4dGVybiBzdHJ1Y3QgdHlwZSAqYXJjaF9pbnRlZ2VyX3R5cGUgKHN0cnVjdCBn ZGJhcmNoICosIGludCwgaW50LAotIAkJCQkgICAgICAgY29uc3QgY2hhciAqKTsKLWRpZmYgLS1n aXQgYS9nZGIvZ251LXYyLWFiaS5jIGIvZ2RiL2dudS12Mi1hYmkuYwotLS0tIGEvZ2RiL2dudS12 Mi1hYmkuYwotKysrIGIvZ2RiL2dudS12Mi1hYmkuYwotQEAgLTgyLDcgKzgyLDcgQEAgZ251djJf aXNfb3BlcmF0b3JfbmFtZSAoY29uc3QgY2hhciAqbmFtZSkKLSAgICBUWVBFIGlzIHRoZSB0eXBl IGluIHdoaWNoIEYgaXMgbG9jYXRlZC4gICovCi0gc3RhdGljIHN0cnVjdCB2YWx1ZSAqCi0gZ251 djJfdmlydHVhbF9mbl9maWVsZCAoc3RydWN0IHZhbHVlICoqYXJnMXAsIHN0cnVjdCBmbl9maWVs ZCAqIGYsIGludCBqLAotLQkJCXN0cnVjdCB0eXBlICogdHlwZSwgaW50IG9mZnNldCkKLSsJCQlz dHJ1Y3QgdHlwZSAqdHlwZSwgTE9OR0VTVCBvZmZzZXQpCi0gewotICAgc3RydWN0IHZhbHVlICph cmcxID0gKmFyZzFwOwotICAgc3RydWN0IHR5cGUgKnR5cGUxID0gY2hlY2tfdHlwZWRlZiAodmFs dWVfdHlwZSAoYXJnMSkpOwotQEAgLTMzOCw3ICszMzgsNyBAQCB2Yl9tYXRjaCAoc3RydWN0IHR5 cGUgKnR5cGUsIGludCBpbmRleCwgc3RydWN0IHR5cGUgKmJhc2V0eXBlKQotICAgIHRhcmdldCku ICBUaGUgcmVzdWx0IGlzIHRoZSBvZmZzZXQgb2YgdGhlIGJhc2VjbGFzcyB2YWx1ZSByZWxhdGl2 ZQotICAgIHRvICh0aGUgYWRkcmVzcyBvZikoQVJHKSArIE9GRlNFVC4gICovCi0gCi0tc3RhdGlj IGludAotK3N0YXRpYyBMT05HRVNUCi0gZ251djJfYmFzZWNsYXNzX29mZnNldCAoc3RydWN0IHR5 cGUgKnR5cGUsIGludCBpbmRleCwKLSAJCQljb25zdCBiZmRfYnl0ZSAqdmFsYWRkciwgTE9OR0VT VCBlbWJlZGRlZF9vZmZzZXQsCi0gCQkJQ09SRV9BRERSIGFkZHJlc3MsIGNvbnN0IHN0cnVjdCB2 YWx1ZSAqdmFsKQotQEAgLTM1OCw4ICszNTgsNyBAQCBnbnV2Ml9iYXNlY2xhc3Nfb2Zmc2V0IChz dHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGluZGV4LAotIAkgIGlmICh2Yl9tYXRjaCAodHlwZSwgaSwg YmFzZXR5cGUpKQotIAkgICAgewotIAkgICAgICBzdHJ1Y3QgdHlwZSAqZmllbGRfdHlwZTsKLS0J ICAgICAgTE9OR0VTVCBmaWVsZF9vZmZzZXQ7Ci0tCSAgICAgIGludCBmaWVsZF9sZW5ndGg7Ci0r CSAgICAgIExPTkdFU1QgZmllbGRfb2Zmc2V0LCBmaWVsZF9sZW5ndGg7Ci0gCSAgICAgIENPUkVf QUREUiBhZGRyOwotIAotIAkgICAgICBmaWVsZF90eXBlID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9G SUVMRF9UWVBFICh0eXBlLCBpKSk7Ci1AQCAtMzgzLDcgKzM4Miw3IEBAIGdudXYyX2Jhc2VjbGFz c19vZmZzZXQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgaW5kZXgsCi0gCSAgLyogRG9uJ3QgZ28g dGhyb3VnaCBiYXNlY2xhc3Nfb2Zmc2V0LCBhcyB0aGF0IHdyYXBzCi0gCSAgICAgZXhjZXB0aW9u cywgdGh1cywgaW5uZXIgZXhjZXB0aW9ucyB3b3VsZCBiZSB3cmFwcGVkIG1vcmUKLSAJICAgICB0 aGFuIG9uY2UuICAqLwotLQkgIGludCBib2Zmc2V0ID0KLSsJICBMT05HRVNUIGJvZmZzZXQgPQot IAkgICAgZ251djJfYmFzZWNsYXNzX29mZnNldCAodHlwZSwgaSwgdmFsYWRkciwKLSAJCQkJICAg IGVtYmVkZGVkX29mZnNldCwgYWRkcmVzcywgdmFsKTsKLSAKLWRpZmYgLS1naXQgYS9nZGIvZ251 LXYzLWFiaS5jIGIvZ2RiL2dudS12My1hYmkuYwotLS0tIGEvZ2RiL2dudS12My1hYmkuYwotKysr IGIvZ2RiL2dudS12My1hYmkuYwotQEAgLTEwOSw3ICsxMDksNyBAQCBidWlsZF9nZGJfdnRhYmxl X3R5cGUgKHN0cnVjdCBnZGJhcmNoICphcmNoKQotIHsKLSAgIHN0cnVjdCB0eXBlICp0OwotICAg c3RydWN0IGZpZWxkICpmaWVsZF9saXN0LCAqZmllbGQ7Ci0tICBpbnQgb2Zmc2V0OwotKyAgTE9O R0VTVCBvZmZzZXQ7Ci0gCi0gICBzdHJ1Y3QgdHlwZSAqdm9pZF9wdHJfdHlwZQotICAgICA9IGJ1 aWx0aW5fdHlwZSAoYXJjaCktPmJ1aWx0aW5fZGF0YV9wdHI7Ci1AQCAtMTg1LDcgKzE4NSw3IEBA IHZ0YWJsZV9wdHJkaWZmX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQotIC8qIFJldHVy biB0aGUgb2Zmc2V0IGZyb20gdGhlIHN0YXJ0IG9mIHRoZSBpbWFnaW5hcnkgYHN0cnVjdAotICAg IGdkYl9nbnVfdjNfYWJpX3Z0YWJsZScgb2JqZWN0IHRvIHRoZSB2dGFibGUncyAiYWRkcmVzcyBw b2ludCIKLSAgICAoaS5lLiwgd2hlcmUgb2JqZWN0cycgdmlydHVhbCB0YWJsZSBwb2ludGVycyBw b2ludCkuICAqLwotLXN0YXRpYyBpbnQKLStzdGF0aWMgTE9OR0VTVAotIHZ0YWJsZV9hZGRyZXNz X3BvaW50X29mZnNldCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gpCi0gewotICAgc3RydWN0IHR5 cGUgKnZ0YWJsZV90eXBlCi1AQCAtNDA5LDcgKzQwOSw3IEBAIGdudXYzX2dldF92aXJ0dWFsX2Zu IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpjb250YWluZXIsCi0gc3Rh dGljIHN0cnVjdCB2YWx1ZSAqCi0gZ251djNfdmlydHVhbF9mbl9maWVsZCAoc3RydWN0IHZhbHVl ICoqdmFsdWVfcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZm5fZmllbGQgKmYs IGludCBqLAotLQkJCXN0cnVjdCB0eXBlICp2Zm5fYmFzZSwgaW50IG9mZnNldCkKLSsJCQlzdHJ1 Y3QgdHlwZSAqdmZuX2Jhc2UsIExPTkdFU1Qgb2Zmc2V0KQotIHsKLSAgIHN0cnVjdCB0eXBlICp2 YWx1ZXNfdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKCp2YWx1ZV9wKSk7Ci0gICBz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaDsKLUBAIC00MzksNyArNDM5LDcgQEAgZ251djNfdmlydHVh bF9mbl9maWVsZCAoc3RydWN0IHZhbHVlICoqdmFsdWVfcCwKLSAKLSAgICAtMSBpcyByZXR1cm5l ZCBvbiBlcnJvci4gICovCi0gCi0tc3RhdGljIGludAotK3N0YXRpYyBMT05HRVNUCi0gZ251djNf YmFzZWNsYXNzX29mZnNldCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBpbmRleCwKLSAJCQljb25z dCBiZmRfYnl0ZSAqdmFsYWRkciwgTE9OR0VTVCBlbWJlZGRlZF9vZmZzZXQsCi0gCQkJQ09SRV9B RERSIGFkZHJlc3MsIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsKQotQEAgLTQ0OCw3ICs0NDgsNyBA QCBnbnV2M19iYXNlY2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGluZGV4LAot ICAgc3RydWN0IHR5cGUgKnB0cl90eXBlOwotICAgc3RydWN0IHZhbHVlICp2dGFibGU7Ci0gICBz dHJ1Y3QgdmFsdWUgKnZiYXNlX2FycmF5OwotLSAgbG9uZyBpbnQgY3VyX2Jhc2Vfb2Zmc2V0LCBi YXNlX29mZnNldDsKLSsgIExPTkdFU1QgY3VyX2Jhc2Vfb2Zmc2V0LCBiYXNlX29mZnNldDsKLSAK LSAgIC8qIERldGVybWluZSBhcmNoaXRlY3R1cmUuICAqLwotICAgZ2RiYXJjaCA9IGdldF90eXBl X2FyY2ggKHR5cGUpOwotQEAgLTQ3MSw3ICs0NzEsNyBAQCBnbnV2M19iYXNlY2xhc3Nfb2Zmc2V0 IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGluZGV4LAotICAgY3VyX2Jhc2Vfb2Zmc2V0ID0gY3Vy X2Jhc2Vfb2Zmc2V0ICsgdnRhYmxlX2FkZHJlc3NfcG9pbnRfb2Zmc2V0IChnZGJhcmNoKTsKLSAg IGlmICgoLSBjdXJfYmFzZV9vZmZzZXQpICUgVFlQRV9MRU5HVEggKHB0cl90eXBlKSAhPSAwKQot ICAgICBlcnJvciAoXygiTWlzYWxpZ25lZCB2YmFzZSBvZmZzZXQuIikpOwotLSAgY3VyX2Jhc2Vf b2Zmc2V0ID0gY3VyX2Jhc2Vfb2Zmc2V0IC8gKChpbnQpIFRZUEVfTEVOR1RIIChwdHJfdHlwZSkp OwotKyAgY3VyX2Jhc2Vfb2Zmc2V0ID0gY3VyX2Jhc2Vfb2Zmc2V0IC8gKChMT05HRVNUKSBUWVBF X0xFTkdUSCAocHRyX3R5cGUpKTsKLSAKLSAgIHZ0YWJsZSA9IGdudXYzX2dldF92dGFibGUgKGdk YmFyY2gsIHR5cGUsIGFkZHJlc3MgKyBlbWJlZGRlZF9vZmZzZXQpOwotICAgZ2RiX2Fzc2VydCAo dnRhYmxlICE9IE5VTEwpOwotQEAgLTUxNSw3ICs1MTUsNyBAQCBnbnV2M19maW5kX21ldGhvZF9p biAoc3RydWN0IHR5cGUgKmRvbWFpbiwgQ09SRV9BRERSIHZvZmZzZXQsCi0gICAgICB3ZSdyZSBv dXQgb2YgbHVjay4gICovCi0gICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9OX0JBU0VDTEFTU0VTIChk b21haW4pOyBpKyspCi0gICAgIHsKLS0gICAgICBpbnQgcG9zOwotKyAgICAgIExPTkdFU1QgcG9z OwotICAgICAgIHN0cnVjdCB0eXBlICpiYXNldHlwZTsKLSAKLSAgICAgICBpZiAoQkFTRVRZUEVf VklBX1ZJUlRVQUwgKGRvbWFpbiwgaSkpCi1kaWZmIC0tZ2l0IGEvZ2RiL2dvLWxhbmcuaCBiL2dk Yi9nby1sYW5nLmgKLS0tLSBhL2dkYi9nby1sYW5nLmgKLSsrKyBiL2dkYi9nby1sYW5nLmgKLUBA IC04Myw3ICs4Myw3IEBAIGV4dGVybiB2b2lkIGdvX3ByaW50X3R5cGUgKHN0cnVjdCB0eXBlICp0 eXBlLCBjb25zdCBjaGFyICp2YXJzdHJpbmcsCi0gLyogRGVmaW5lZCBpbiBnby12YWxwcmludC5j LiAgKi8KLSAKLSBleHRlcm4gdm9pZCBnb192YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLAot LQkJCSAgaW50IGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0rCQkJICBMT05H RVNUIGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0gCQkJICBzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLSAJCQkgIHN0cnVjdCB2YWx1ZSAqdmFsLAotIAkJ CSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpOwotZGlmZiAtLWdp dCBhL2dkYi9nby12YWxwcmludC5jIGIvZ2RiL2dvLXZhbHByaW50LmMKLS0tLSBhL2dkYi9nby12 YWxwcmludC5jCi0rKysgYi9nZGIvZ28tdmFscHJpbnQuYwotQEAgLTg2LDcgKzg2LDcgQEAgcHJp bnRfZ29fc3RyaW5nIChzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAvKiBJbXBsZW1lbnRzIHRoZSBsYV92 YWxfcHJpbnQgcm91dGluZSBmb3IgbGFuZ3VhZ2UgR28uICAqLwotIAotIHZvaWQKLS1nb192YWxf cHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAotK2dvX3ZhbF9w cmludCAoc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAotIAkgICAg ICBDT1JFX0FERFIgYWRkcmVzcywgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2Us Ci0gCSAgICAgIHN0cnVjdCB2YWx1ZSAqdmFsLAotIAkgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVf cHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLWRpZmYgLS1naXQgYS9nZGIvaTM4Ni10ZGVwLmMgYi9n ZGIvaTM4Ni10ZGVwLmMKLS0tLSBhL2dkYi9pMzg2LXRkZXAuYwotKysrIGIvZ2RiL2kzODYtdGRl cC5jCi1AQCAtODE1Niw3ICs4MTU2LDcgQEAgaTM4Nl9mYXN0X3RyYWNlcG9pbnRfdmFsaWRfYXQg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBDT1JFX0FERFIgYWRkciwKLSAKLSBjb25zdCBzdHJ1 Y3QgZmxvYXRmb3JtYXQgKioKLSBpMzg2X2Zsb2F0Zm9ybWF0X2Zvcl90eXBlIChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwKLS0JCQkgICBjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuKQotKwkJCSAg IGNvbnN0IGNoYXIgKm5hbWUsIExPTkdFU1QgbGVuKQotIHsKLSAgIGlmIChsZW4gPT0gMTI4ICYm IG5hbWUpCi0gICAgIGlmIChzdHJjbXAgKG5hbWUsICJfX2Zsb2F0MTI4IikgPT0gMAotZGlmZiAt LWdpdCBhL2dkYi9sYW5ndWFnZS5jIGIvZ2RiL2xhbmd1YWdlLmMKLS0tLSBhL2dkYi9sYW5ndWFn ZS5jCi0rKysgYi9nZGIvbGFuZ3VhZ2UuYwotQEAgLTc2NSw3ICs3NjUsNyBAQCB1bmtfbGFuZ19w cmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSkKLSAKLSBzdGF0aWMgdm9pZAotIHVua19sYW5nX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAq c3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKLS0JCSAgIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcs IHVuc2lnbmVkIGludCBsZW5ndGgsCi0rCQkgICBjb25zdCBnZGJfYnl0ZSAqc3RyaW5nLCBVTE9O R0VTVCBsZW5ndGgsCi0gCQkgICBjb25zdCBjaGFyICplbmNvZGluZywgaW50IGZvcmNlX2VsbGlw c2VzLAotIAkJICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi0g ewotQEAgLTc4NCw3ICs3ODQsNyBAQCB1bmtfbGFuZ19wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAq dHlwZSwgY29uc3QgY2hhciAqdmFyc3RyaW5nLAotIAotIHN0YXRpYyB2b2lkCi0gdW5rX2xhbmdf dmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwKLS0JCSAgICBpbnQgZW1iZWRkZWRfb2Zmc2V0 LCBDT1JFX0FERFIgYWRkcmVzcywKLSsJCSAgICBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwgQ09S RV9BRERSIGFkZHJlc3MsCi0gCQkgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vy c2UsCi0gCQkgICAgc3RydWN0IHZhbHVlICp2YWwsCi0gCQkgICAgY29uc3Qgc3RydWN0IHZhbHVl X3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi1kaWZmIC0tZ2l0IGEvZ2RiL2xhbmd1YWdlLmggYi9n ZGIvbGFuZ3VhZ2UuaAotLS0tIGEvZ2RiL2xhbmd1YWdlLmgKLSsrKyBiL2dkYi9sYW5ndWFnZS5o Ci1AQCAtMTg0LDcgKzE4NCw3IEBAIHN0cnVjdCBsYW5ndWFnZV9kZWZuCi0gCQkJICBzdHJ1Y3Qg dWlfZmlsZSAqIHN0cmVhbSk7Ci0gCi0gICAgIHZvaWQgKCpsYV9wcmludHN0cikgKHN0cnVjdCB1 aV9maWxlICogc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqZWx0dHlwZSwKLS0JCQkgY29uc3QgZ2RiX2J5 dGUgKnN0cmluZywgdW5zaWduZWQgaW50IGxlbmd0aCwKLSsJCQkgY29uc3QgZ2RiX2J5dGUgKnN0 cmluZywgVUxPTkdFU1QgbGVuZ3RoLAotIAkJCSBjb25zdCBjaGFyICplbmNvZGluZywgaW50IGZv cmNlX2VsbGlwc2VzLAotIAkJCSBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqKTsK LSAKLUBAIC0yMjIsNyArMjIyLDcgQEAgc3RydWN0IGxhbmd1YWdlX2RlZm4KLSAgICAgICAgcHJp bnRpbmcuICAqLwotIAotICAgICB2b2lkICgqbGFfdmFsX3ByaW50KSAoc3RydWN0IHR5cGUgKnR5 cGUsCi0tCQkJICBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVzcywKLSsJCQkg IExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVzcywKLSAJCQkgIHN0cnVj dCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAotIAkJCSAgc3RydWN0IHZhbHVlICp2YWws Ci0gCQkJICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucyk7Ci1kaWZm IC0tZ2l0IGEvZ2RiL20yLWxhbmcuYyBiL2dkYi9tMi1sYW5nLmMKLS0tLSBhL2dkYi9tMi1sYW5n LmMKLSsrKyBiL2dkYi9tMi1sYW5nLmMKLUBAIC0xMDMsMTAgKzEwMywxMCBAQCBtMl9wcmludGNo YXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKLSAK LSBzdGF0aWMgdm9pZAotIG0yX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1 Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywKLS0JICAgICB1bnNpZ25lZCBp bnQgbGVuZ3RoLCBjb25zdCBjaGFyICplbmNvZGluZywgaW50IGZvcmNlX2VsbGlwc2VzLAotKwkg ICAgIFVMT05HRVNUIGxlbmd0aCwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxp cHNlcywKLSAJICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykK LSB7Ci0tICB1bnNpZ25lZCBpbnQgaTsKLSsgIFVMT05HRVNUIGk7Ci0gICB1bnNpZ25lZCBpbnQg dGhpbmdzX3ByaW50ZWQgPSAwOwotICAgaW50IGluX3F1b3RlcyA9IDA7Ci0gICBpbnQgbmVlZF9j b21tYSA9IDA7Ci1AQCAtMTIxLDkgKzEyMSw5IEBAIG0yX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywKLSAg ICAgewotICAgICAgIC8qIFBvc2l0aW9uIG9mIHRoZSBjaGFyYWN0ZXIgd2UgYXJlIGV4YW1pbmlu ZwotICAgICAgICAgIHRvIHNlZSB3aGV0aGVyIGl0IGlzIHJlcGVhdGVkLiAgKi8KLS0gICAgICB1 bnNpZ25lZCBpbnQgcmVwMTsKLSsgICAgICBVTE9OR0VTVCByZXAxOwotICAgICAgIC8qIE51bWJl ciBvZiByZXBldGl0aW9ucyB3ZSBoYXZlIGRldGVjdGVkIHNvIGZhci4gICovCi0tICAgICAgdW5z aWduZWQgaW50IHJlcHM7Ci0rICAgICAgVUxPTkdFU1QgcmVwczsKLSAKLSAgICAgICBRVUlUOwot IAotQEAgLTE0OSw3ICsxNDksNyBAQCBtMl9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwgc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsCi0gCSAgICAgIGlu X3F1b3RlcyA9IDA7Ci0gCSAgICB9Ci0gCSAgbTJfcHJpbnRjaGFyIChzdHJpbmdbaV0sIHR5cGUs IHN0cmVhbSk7Ci0tCSAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiIDxyZXBlYXRzICV1IHRp bWVzPiIsIHJlcHMpOwotKwkgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIiA8cmVwZWF0cyAl cyB0aW1lcz4iLCBwdWxvbmdlc3QgKHJlcHMpKTsKLSAJICBpID0gcmVwMSAtIDE7Ci0gCSAgdGhp bmdzX3ByaW50ZWQgKz0gb3B0aW9ucy0+cmVwZWF0X2NvdW50X3RocmVzaG9sZDsKLSAJICBuZWVk X2NvbW1hID0gMTsKLWRpZmYgLS1naXQgYS9nZGIvbTItbGFuZy5oIGIvZ2RiL20yLWxhbmcuaAot LS0tIGEvZ2RiL20yLWxhbmcuaAotKysrIGIvZ2RiL20yLWxhbmcuaAotQEAgLTM1LDcgKzM1LDcg QEAgZXh0ZXJuIHZvaWQgbTJfcHJpbnRfdHlwZWRlZiAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHN5 bWJvbCAqLAotIGV4dGVybiBpbnQgbTJfaXNfbG9uZ19zZXQgKHN0cnVjdCB0eXBlICp0eXBlKTsK LSBleHRlcm4gaW50IG0yX2lzX3VuYm91bmRlZF9hcnJheSAoc3RydWN0IHR5cGUgKnR5cGUpOwot IAotLWV4dGVybiB2b2lkIG0yX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKiwgaW50LCBDT1JFX0FE RFIsCi0rZXh0ZXJuIHZvaWQgbTJfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqLCBMT05HRVNULCBD T1JFX0FERFIsCi0gCQkJICBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCi0gCQkJICBzdHJ1Y3QgdmFs dWUgKiwKLSAJCQkgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICopOwotZGlmZiAt LWdpdCBhL2dkYi9tMi10eXBlcHJpbnQuYyBiL2dkYi9tMi10eXBlcHJpbnQuYwotLS0tIGEvZ2Ri L20yLXR5cGVwcmludC5jCi0rKysgYi9nZGIvbTItdHlwZXByaW50LmMKLUBAIC0yMzQsOSArMjM0 LDEyIEBAIHN0YXRpYyB2b2lkIG0yX2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVp X2ZpbGUgKnN0cmVhbSwKLSAJICBtMl9wcmludF9ib3VuZHMgKFRZUEVfSU5ERVhfVFlQRSAodHlw ZSksIHN0cmVhbSwgc2hvdywgLTEsIDEpOwotIAl9Ci0gICAgICAgZWxzZQotLQlmcHJpbnRmX2Zp bHRlcmVkIChzdHJlYW0sICIlZCIsCi0tCQkJICAoVFlQRV9MRU5HVEggKHR5cGUpCi0tCQkJICAg LyBUWVBFX0xFTkdUSCAoVFlQRV9UQVJHRVRfVFlQRSAodHlwZSkpKSk7Ci0rICAgICAgICB7Ci0r CSAgVUxPTkdFU1QgdmFsID0gKFRZUEVfTEVOR1RIICh0eXBlKQotKwkJCSAgLyBUWVBFX0xFTkdU SCAoVFlQRV9UQVJHRVRfVFlQRSAodHlwZSkpKTsKLSsKLSsJICBmcHJpbnRmX2ZpbHRlcmVkIChz dHJlYW0sICIlcyIsIHB1bG9uZ2VzdCAodmFsKSk7Ci0rCX0KLSAgICAgfQotICAgZnByaW50Zl9m aWx0ZXJlZCAoc3RyZWFtLCAiXSBPRiAiKTsKLSAgIG0yX3ByaW50X3R5cGUgKFRZUEVfVEFSR0VU X1RZUEUgKHR5cGUpLCAiIiwgc3RyZWFtLCBzaG93LCBsZXZlbCwgZmxhZ3MpOwotZGlmZiAtLWdp dCBhL2dkYi9tMi12YWxwcmludC5jIGIvZ2RiL20yLXZhbHByaW50LmMKLS0tLSBhL2dkYi9tMi12 YWxwcmludC5jCi0rKysgYi9nZGIvbTItdmFscHJpbnQuYwotQEAgLTM1LDcgKzM1LDcgQEAgc3Rh dGljIGludCBwcmludF91bnBhY2tlZF9wb2ludGVyIChzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAJCQkJ ICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSk7Ci0gc3RhdGljIHZvaWQKLSBtMl9wcmludF9hcnJh eV9jb250ZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAot LQkJCSBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVzcywKLSsJCQkgTE9OR0VT VCBlbWJlZGRlZF9vZmZzZXQsIENPUkVfQUREUiBhZGRyZXNzLAotIAkJCSBzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLSAJCQkgc3RydWN0IHZhbHVlICp2YWwsCi0gCQkJIGNv bnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAotQEAgLTY3LDcgKzY3LDcg QEAgZ2V0X2xvbmdfc2V0X2JvdW5kcyAoc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1QgKmxvdywg TE9OR0VTVCAqaGlnaCkKLSAKLSBzdGF0aWMgdm9pZAotIG0yX3ByaW50X2xvbmdfc2V0IChzdHJ1 Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCi0tCQkgICBpbnQgZW1iZWRk ZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVzcywKLSsJCSAgIExPTkdFU1QgZW1iZWRkZWRfb2Zm c2V0LCBDT1JFX0FERFIgYWRkcmVzcywKLSAJCSAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0pCi0g ewotICAgaW50IGVtcHR5X3NldCAgICAgICAgPSAxOwotQEAgLTE1OCw3ICsxNTgsNyBAQCBtMl9w cmludF9sb25nX3NldCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRy LAotIAotIHN0YXRpYyB2b2lkCi0gbTJfcHJpbnRfdW5ib3VuZGVkX2FycmF5IChzdHJ1Y3QgdHlw ZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCi0tCQkJICBpbnQgZW1iZWRkZWRfb2Zm c2V0LCBDT1JFX0FERFIgYWRkcmVzcywKLSsJCQkgIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LCBD T1JFX0FERFIgYWRkcmVzcywKLSAJCQkgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1 cnNlLAotIAkJCSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi0g ewotQEAgLTI2MCw3ICsyNjAsNyBAQCBwcmludF92YXJpYWJsZV9hdF9hZGRyZXNzIChzdHJ1Y3Qg dHlwZSAqdHlwZSwKLSAKLSBzdGF0aWMgdm9pZAotIG0yX3ByaW50X2FycmF5X2NvbnRlbnRzIChz dHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCi0tCQkJIGludCBlbWJl ZGRlZF9vZmZzZXQsIENPUkVfQUREUiBhZGRyZXNzLAotKwkJCSBMT05HRVNUIGVtYmVkZGVkX29m ZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0gCQkJIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGlu dCByZWN1cnNlLAotIAkJCSBzdHJ1Y3QgdmFsdWUgKnZhbCwKLSAJCQkgY29uc3Qgc3RydWN0IHZh bHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCi1AQCAtMzA4LDEyICszMDgsMTIgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBnZW5lcmljX3ZhbF9wcmludF9kZWNvcmF0aW9ucyBtMl9kZWNvcmF0aW9u cyA9Ci0gICAgZnVuY3Rpb247IHRoZXkgYXJlIGlkZW50aWNhbC4gICovCi0gCi0gdm9pZAotLW0y X3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBlbWJlZGRlZF9vZmZzZXQsCi0rbTJf dmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgTE9OR0VTVCBlbWJlZGRlZF9vZmZzZXQsCi0g CSAgICAgIENPUkVfQUREUiBhZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVj dXJzZSwKLSAJICAgICAgc3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKLSAJICAgICAgY29u c3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi0gewotLSAgdW5zaWduZWQg bGVuOwotKyAgVUxPTkdFU1QgbGVuOwotICAgc3RydWN0IHR5cGUgKmVsdHR5cGU7Ci0gICBDT1JF X0FERFIgYWRkcjsKLSAgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyID0gdmFsdWVfY29udGVudHNf Zm9yX3ByaW50aW5nIChvcmlnaW5hbF92YWx1ZSk7Ci1AQCAtMzM5LDcgKzMzOSw3IEBAIG0yX3Zh bF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBlbWJlZGRlZF9vZmZzZXQsCi0gCSAgICAg ICAgIGVsZW1lbnRzIHVwIHRvIGl0LiAgKi8KLSAJICAgICAgaWYgKG9wdGlvbnMtPnN0b3BfcHJp bnRfYXRfbnVsbCkKLSAJCXsKLS0JCSAgdW5zaWduZWQgaW50IHRlbXBfbGVuOwotKwkJICBVTE9O R0VTVCB0ZW1wX2xlbjsKLSAKLSAJCSAgLyogTG9vayBmb3IgYSBOVUxMIGNoYXIuICAqLwotIAkJ ICBmb3IgKHRlbXBfbGVuID0gMDsKLUBAIC00MTQsNyArNDE0LDcgQEAgbTJfdmFsX3ByaW50IChz dHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGVtYmVkZGVkX29mZnNldCwKLSAJewotIAkgIHN0cnVjdCB0 eXBlICpyYW5nZSA9IGVsdHR5cGU7Ci0gCSAgTE9OR0VTVCBsb3dfYm91bmQsIGhpZ2hfYm91bmQ7 Ci0tCSAgaW50IGk7Ci0rCSAgTE9OR0VTVCBpOwotIAkgIGludCBuZWVkX2NvbW1hID0gMDsKLSAK LSAJICBmcHV0c19maWx0ZXJlZCAoInsiLCBzdHJlYW0pOwotZGlmZiAtLWdpdCBhL2dkYi9tZW1y YW5nZS5jIGIvZ2RiL21lbXJhbmdlLmMKLS0tLSBhL2dkYi9tZW1yYW5nZS5jCi0rKysgYi9nZGIv bWVtcmFuZ2UuYwotQEAgLTIyLDggKzIyLDggQEAKLSAjaW5jbHVkZSA8YWxnb3JpdGhtPgotIAot IGludAotLW1lbV9yYW5nZXNfb3ZlcmxhcCAoQ09SRV9BRERSIHN0YXJ0MSwgaW50IGxlbjEsCi0t CQkgICAgQ09SRV9BRERSIHN0YXJ0MiwgaW50IGxlbjIpCi0rbWVtX3Jhbmdlc19vdmVybGFwIChD T1JFX0FERFIgc3RhcnQxLCBMT05HRVNUIGxlbjEsCi0rCQkgICAgQ09SRV9BRERSIHN0YXJ0Miwg TE9OR0VTVCBsZW4yKQotIHsKLSAgIFVMT05HRVNUIGgsIGw7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2Ri L21lbXJhbmdlLmggYi9nZGIvbWVtcmFuZ2UuaAotLS0tIGEvZ2RiL21lbXJhbmdlLmgKLSsrKyBi L2dkYi9tZW1yYW5nZS5oCi1AQCAtMjgsNyArMjgsNyBAQCBzdHJ1Y3QgbWVtX3JhbmdlCi0gewot ICAgbWVtX3JhbmdlICgpID0gZGVmYXVsdDsKLSAKLS0gIG1lbV9yYW5nZSAoQ09SRV9BRERSIHN0 YXJ0XywgaW50IGxlbmd0aF8pCi0rICBtZW1fcmFuZ2UgKENPUkVfQUREUiBzdGFydF8sIExPTkdF U1QgbGVuZ3RoXykKLSAgIDogc3RhcnQgKHN0YXJ0XyksIGxlbmd0aCAobGVuZ3RoXykKLSAgIHt9 Ci0gCi1AQCAtNDcsMTQgKzQ3LDE0IEBAIHN0cnVjdCBtZW1fcmFuZ2UKLSAgIENPUkVfQUREUiBz dGFydDsKLSAKLSAgIC8qIExlbmd0aCBvZiB0aGUgcmFuZ2UuICAqLwotLSAgaW50IGxlbmd0aDsK LSsgIExPTkdFU1QgbGVuZ3RoOwotIH07Ci0gCi0gLyogUmV0dXJucyB0cnVlIGlmIHRoZSByYW5n ZXMgZGVmaW5lZCBieSBbc3RhcnQxLCBzdGFydDErbGVuMSkgYW5kCi0gICAgW3N0YXJ0Miwgc3Rh cnQyK2xlbjIpIG92ZXJsYXAuICAqLwotIAotLWV4dGVybiBpbnQgbWVtX3Jhbmdlc19vdmVybGFw IChDT1JFX0FERFIgc3RhcnQxLCBpbnQgbGVuMSwKLS0JCQkgICAgICAgQ09SRV9BRERSIHN0YXJ0 MiwgaW50IGxlbjIpOwotK2V4dGVybiBpbnQgbWVtX3Jhbmdlc19vdmVybGFwIChDT1JFX0FERFIg c3RhcnQxLCBMT05HRVNUIGxlbjEsCi0rCQkJICAgICAgIENPUkVfQUREUiBzdGFydDIsIExPTkdF U1QgbGVuMik7Ci0gCi0gLyogUmV0dXJucyB0cnVlIGlmIEFERFIgaXMgaW4gUkFOR0UuICAqLwot IAotZGlmZiAtLWdpdCBhL2dkYi9taXBzLWxpbnV4LW5hdC5jIGIvZ2RiL21pcHMtbGludXgtbmF0 LmMKLS0tLSBhL2dkYi9taXBzLWxpbnV4LW5hdC5jCi0rKysgYi9nZGIvbWlwcy1saW51eC1uYXQu YwotQEAgLTYxMCw3ICs2MTAsNyBAQCBtaXBzX2xpbnV4X25hdF90YXJnZXQ6OnN0b3BwZWRfZGF0 YV9hZGRyZXNzIChDT1JFX0FERFIgKnBhZGRyKQotICAgIHRoZSBzcGVjaWZpZWQgcmVnaW9uIGNh biBiZSBjb3ZlcmVkIGJ5IHRoZSB3YXRjaCByZWdpc3RlcnMuICAqLwotIAotIGludAotLW1pcHNf bGludXhfbmF0X3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIg YWRkciwgaW50IGxlbikKLSttaXBzX2xpbnV4X25hdF90YXJnZXQ6OnJlZ2lvbl9va19mb3JfaHdf d2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuKQotIHsKLSAgIHN0cnVjdCBw dF93YXRjaF9yZWdzIGR1bW15X3JlZ3M7Ci0gICBpbnQgaTsKLWRpZmYgLS1naXQgYS9nZGIvbmF0 L3g4Ni1kcmVncy5jIGIvZ2RiL25hdC94ODYtZHJlZ3MuYwotLS0tIGEvZ2RiL25hdC94ODYtZHJl Z3MuYwotKysrIGIvZ2RiL25hdC94ODYtZHJlZ3MuYwotQEAgLTM4MCw3ICszODAsNyBAQCB4ODZf cmVtb3ZlX2FsaWduZWRfd2F0Y2hwb2ludCAoc3RydWN0IHg4Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0 YXRlLAotIAotIHN0YXRpYyBpbnQKLSB4ODZfaGFuZGxlX25vbmFsaWduZWRfd2F0Y2hwb2ludCAo c3RydWN0IHg4Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotLQkJCQkgIHg4Nl93cF9vcF90IHdo YXQsIENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLAotKwkJCQkgIHg4Nl93cF9vcF90IHdoYXQsIENP UkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbiwKLSAJCQkJICBlbnVtIHRhcmdldF9od19icF90eXBl IHR5cGUpCi0gewotICAgaW50IHJldHZhbCA9IDA7Ci1AQCAtNTQ4LDcgKzU0OCw3IEBAIHg4Nl9k cl9yZW1vdmVfd2F0Y2hwb2ludCAoc3RydWN0IHg4Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAot IAotIGludAotIHg4Nl9kcl9yZWdpb25fb2tfZm9yX3dhdGNocG9pbnQgKHN0cnVjdCB4ODZfZGVi dWdfcmVnX3N0YXRlICpzdGF0ZSwKLS0JCQkJIENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKQotKwkJ CQkgQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuKQotIHsKLSAgIGludCBucmVnczsKLSAKLWRp ZmYgLS1naXQgYS9nZGIvbmF0L3g4Ni1kcmVncy5oIGIvZ2RiL25hdC94ODYtZHJlZ3MuaAotLS0t IGEvZ2RiL25hdC94ODYtZHJlZ3MuaAotKysrIGIvZ2RiL25hdC94ODYtZHJlZ3MuaAotQEAgLTEx Nyw3ICsxMTcsNyBAQCBleHRlcm4gaW50IHg4Nl9kcl9yZW1vdmVfd2F0Y2hwb2ludCAoc3RydWN0 IHg4Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotIC8qIFJldHVybiBub24temVybyBpZiB3ZSBj YW4gd2F0Y2ggYSBtZW1vcnkgcmVnaW9uIHRoYXQgc3RhcnRzIGF0Ci0gICAgYWRkcmVzcyBBRERS IGFuZCB3aG9zZSBsZW5ndGggaXMgTEVOIGJ5dGVzLiAgKi8KLSBleHRlcm4gaW50IHg4Nl9kcl9y ZWdpb25fb2tfZm9yX3dhdGNocG9pbnQgKHN0cnVjdCB4ODZfZGVidWdfcmVnX3N0YXRlICpzdGF0 ZSwKLS0JCQkJCSAgICBDT1JFX0FERFIgYWRkciwgaW50IGxlbik7Ci0rCQkJCQkgICAgQ09SRV9B RERSIGFkZHIsIExPTkdFU1QgbGVuKTsKLSAKLSAvKiBJZiB0aGUgaW5mZXJpb3IgaGFzIHNvbWUg YnJlYWsvd2F0Y2hwb2ludCB0aGF0IHRyaWdnZXJlZCwgc2V0IHRoZQotICAgIGFkZHJlc3MgYXNz b2NpYXRlZCB3aXRoIHRoYXQgYnJlYWsvd2F0Y2hwb2ludCBhbmQgcmV0dXJuIHRydWUuCi1kaWZm IC0tZ2l0IGEvZ2RiL29wZW5jbC1sYW5nLmMgYi9nZGIvb3BlbmNsLWxhbmcuYwotLS0tIGEvZ2Ri L29wZW5jbC1sYW5nLmMKLSsrKyBiL2dkYi9vcGVuY2wtbGFuZy5jCi1AQCAtNzYsMTEgKzc2LDEx IEBAIGJ1aWx0aW5fb3BlbmNsX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQotIAotIHN0 YXRpYyBzdHJ1Y3QgdHlwZSAqCi0gbG9va3VwX29wZW5jbF92ZWN0b3JfdHlwZSAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIGVudW0gdHlwZV9jb2RlIGNvZGUsCi0tCQkJICAgdW5zaWduZWQgaW50 IGVsX2xlbmd0aCwgdW5zaWduZWQgaW50IGZsYWdfdW5zaWduZWQsCi0rCQkJICAgVUxPTkdFU1Qg ZWxfbGVuZ3RoLCB1bnNpZ25lZCBpbnQgZmxhZ191bnNpZ25lZCwKLSAJCQkgICBpbnQgbikKLSB7 Ci0gICBpbnQgaTsKLS0gIHVuc2lnbmVkIGludCBsZW5ndGg7Ci0rICBVTE9OR0VTVCBsZW5ndGg7 Ci0gICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IE5VTEw7Ci0gICBzdHJ1Y3QgdHlwZSAqKnR5cGVzID0g YnVpbHRpbl9vcGVuY2xfdHlwZSAoZ2RiYXJjaCk7Ci0gCi1AQCAtMTcyLDcgKzE3Miw3IEBAIGx2 YWxfZnVuY19yZWFkIChzdHJ1Y3QgdmFsdWUgKnYpCi0gICBzdHJ1Y3QgdHlwZSAqZWx0eXBlID0g VFlQRV9UQVJHRVRfVFlQRSAoY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYy0+dmFsKSkpOwot ICAgTE9OR0VTVCBvZmZzZXQgPSB2YWx1ZV9vZmZzZXQgKHYpOwotICAgTE9OR0VTVCBlbHNpemUg PSBUWVBFX0xFTkdUSCAoZWx0eXBlKTsKLS0gIGludCBuLCBpLCBqID0gMDsKLSsgIExPTkdFU1Qg biwgaSwgaiA9IDA7Ci0gICBMT05HRVNUIGxvd2IgPSAwOwotICAgTE9OR0VTVCBoaWdoYiA9IDA7 Ci0gCi1AQCAtMjAxLDcgKzIwMSw3IEBAIGx2YWxfZnVuY193cml0ZSAoc3RydWN0IHZhbHVlICp2 LCBzdHJ1Y3QgdmFsdWUgKmZyb212YWwpCi0gICBzdHJ1Y3QgdHlwZSAqZWx0eXBlID0gVFlQRV9U QVJHRVRfVFlQRSAoY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYy0+dmFsKSkpOwotICAgTE9O R0VTVCBvZmZzZXQgPSB2YWx1ZV9vZmZzZXQgKHYpOwotICAgTE9OR0VTVCBlbHNpemUgPSBUWVBF X0xFTkdUSCAoZWx0eXBlKTsKLS0gIGludCBuLCBpLCBqID0gMDsKLSsgIExPTkdFU1QgbiwgaSwg aiA9IDA7Ci0gICBMT05HRVNUIGxvd2IgPSAwOwotICAgTE9OR0VTVCBoaWdoYiA9IDA7Ci0gCi1A QCAtMjQxLDE3ICsyNDEsMTcgQEAgbHZhbF9mdW5jX3dyaXRlIChzdHJ1Y3QgdmFsdWUgKnYsIHN0 cnVjdCB2YWx1ZSAqZnJvbXZhbCkKLSAKLSBzdGF0aWMgaW50Ci0gbHZhbF9mdW5jX2NoZWNrX3N5 bnRoZXRpY19wb2ludGVyIChjb25zdCBzdHJ1Y3QgdmFsdWUgKnYsCi0tCQkJCSAgIExPTkdFU1Qg b2Zmc2V0LCBpbnQgbGVuZ3RoKQotKwkJCQkgICBMT05HRVNUIG9mZnNldCwgTE9OR0VTVCBsZW5n dGgpCi0gewotICAgc3RydWN0IGx2YWxfY2xvc3VyZSAqYyA9IChzdHJ1Y3QgbHZhbF9jbG9zdXJl ICopIHZhbHVlX2NvbXB1dGVkX2Nsb3N1cmUgKHYpOwotICAgLyogU2l6ZSBvZiB0aGUgdGFyZ2V0 IHR5cGUgaW4gYml0cy4gICovCi0tICBpbnQgZWxzaXplID0KLSsgIExPTkdFU1QgZWxzaXplID0K LSAgICAgICBUWVBFX0xFTkdUSCAoVFlQRV9UQVJHRVRfVFlQRSAoY2hlY2tfdHlwZWRlZiAodmFs dWVfdHlwZSAoYy0+dmFsKSkpKSAqIDg7Ci0tICBpbnQgc3RhcnRyZXN0ID0gb2Zmc2V0ICUgZWxz aXplOwotLSAgaW50IHN0YXJ0ID0gb2Zmc2V0IC8gZWxzaXplOwotLSAgaW50IGVuZHJlc3QgPSAo b2Zmc2V0ICsgbGVuZ3RoKSAlIGVsc2l6ZTsKLS0gIGludCBlbmQgPSAob2Zmc2V0ICsgbGVuZ3Ro KSAvIGVsc2l6ZTsKLS0gIGludCBpOwotKyAgTE9OR0VTVCBzdGFydHJlc3QgPSBvZmZzZXQgJSBl bHNpemU7Ci0rICBMT05HRVNUIHN0YXJ0ID0gb2Zmc2V0IC8gZWxzaXplOwotKyAgTE9OR0VTVCBl bmRyZXN0ID0gKG9mZnNldCArIGxlbmd0aCkgJSBlbHNpemU7Ci0rICBMT05HRVNUIGVuZCA9IChv ZmZzZXQgKyBsZW5ndGgpIC8gZWxzaXplOwotKyAgTE9OR0VTVCBpOwotIAotICAgaWYgKGVuZHJl c3QpCi0gICAgIGVuZCsrOwotQEAgLTI2MSw4ICsyNjEsOCBAQCBsdmFsX2Z1bmNfY2hlY2tfc3lu dGhldGljX3BvaW50ZXIgKGNvbnN0IHN0cnVjdCB2YWx1ZSAqdiwKLSAKLSAgIGZvciAoaSA9IHN0 YXJ0OyBpIDwgZW5kOyBpKyspCi0gICAgIHsKLS0gICAgICBpbnQgY29tcF9vZmZzZXQgPSAoaSA9 PSBzdGFydCkgPyBzdGFydHJlc3QgOiAwOwotLSAgICAgIGludCBjb21wX2xlbmd0aCA9IChpID09 IGVuZCkgPyBlbmRyZXN0IDogZWxzaXplOwotKyAgICAgIExPTkdFU1QgY29tcF9vZmZzZXQgPSAo aSA9PSBzdGFydCkgPyBzdGFydHJlc3QgOiAwOwotKyAgICAgIExPTkdFU1QgY29tcF9sZW5ndGgg PSAoaSA9PSBlbmQpID8gZW5kcmVzdCA6IGVsc2l6ZTsKLSAKLSAgICAgICBpZiAoIXZhbHVlX2Jp dHNfc3ludGhldGljX3BvaW50ZXIgKGMtPnZhbCwKLSAJCQkJCSBjLT5pbmRpY2VzW2ldICogZWxz aXplICsgY29tcF9vZmZzZXQsCi1kaWZmIC0tZ2l0IGEvZ2RiL3AtbGFuZy5jIGIvZ2RiL3AtbGFu Zy5jCi0tLS0gYS9nZGIvcC1sYW5nLmMKLSsrKyBiL2dkYi9wLWxhbmcuYwotQEAgLTkzLDggKzkz LDggQEAgcGFzY2FsX21haW5fbmFtZSAodm9pZCkKLSAgICBhcmUgbm90IG11bHRpcGxlIG9mIFRB UkdFVF9DSEFSX0JJVCB0aGVuIHRoZSByZXN1bHRzIGFyZSB3cm9uZwotICAgIGJ1dCB0aGlzIGRv ZXMgbm90IGhhcHBlbiBmb3IgRnJlZSBQYXNjYWwgbm9yIGZvciBHUEMuICAqLwotIGludAotLWlz X3Bhc2NhbF9zdHJpbmdfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsaW50ICpsZW5ndGhfcG9zLAot LSAgICAgICAgICAgICAgICAgICAgICAgaW50ICpsZW5ndGhfc2l6ZSwgaW50ICpzdHJpbmdfcG9z LAotK2lzX3Bhc2NhbF9zdHJpbmdfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1QgKmxl bmd0aF9wb3MsCi0rCQkgICAgICAgTE9OR0VTVCAqbGVuZ3RoX3NpemUsIExPTkdFU1QgKnN0cmlu Z19wb3MsCi0gCQkgICAgICAgc3RydWN0IHR5cGUgKipjaGFyX3R5cGUsCi0gCQkgICAgICAgY29u c3QgY2hhciAqKmFycmF5bmFtZSkKLSB7Ci1AQCAtMjE0LDEyICsyMTQsMTIgQEAgcGFzY2FsX3By aW50Y2hhciAoaW50IGMsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt KQotIAotIHZvaWQKLSBwYXNjYWxfcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0 cnVjdCB0eXBlICp0eXBlLAotLQkJIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsIHVuc2lnbmVkIGlu dCBsZW5ndGgsCi0rCQkgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywgVUxPTkdFU1QgbGVuZ3RoLAot IAkJIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBpbnQgZm9yY2VfZWxsaXBzZXMsCi0gCQkgY29uc3Qg c3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi0gewotICAgZW51bSBiZmRfZW5k aWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdldF90eXBlX2FyY2ggKHR5cGUp KTsKLS0gIHVuc2lnbmVkIGludCBpOwotKyAgVUxPTkdFU1QgaTsKLSAgIHVuc2lnbmVkIGludCB0 aGluZ3NfcHJpbnRlZCA9IDA7Ci0gICBpbnQgaW5fcXVvdGVzID0gMDsKLSAgIGludCBuZWVkX2Nv bW1hID0gMDsKLUBAIC0yNDcsOSArMjQ3LDkgQEAgcGFzY2FsX3ByaW50c3RyIChzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAgICAgewotICAgICAgIC8qIFBvc2l0 aW9uIG9mIHRoZSBjaGFyYWN0ZXIgd2UgYXJlIGV4YW1pbmluZwotICAgICAgICAgIHRvIHNlZSB3 aGV0aGVyIGl0IGlzIHJlcGVhdGVkLiAgKi8KLS0gICAgICB1bnNpZ25lZCBpbnQgcmVwMTsKLSsg ICAgICBVTE9OR0VTVCByZXAxOwotICAgICAgIC8qIE51bWJlciBvZiByZXBldGl0aW9ucyB3ZSBo YXZlIGRldGVjdGVkIHNvIGZhci4gICovCi0tICAgICAgdW5zaWduZWQgaW50IHJlcHM7Ci0rICAg ICAgVUxPTkdFU1QgcmVwczsKLSAgICAgICB1bnNpZ25lZCBsb25nIGludCBjdXJyZW50X2NoYXI7 Ci0gCi0gICAgICAgUVVJVDsKLUBAIC0yODEsNyArMjgxLDcgQEAgcGFzY2FsX3ByaW50c3RyIChz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAJICAgICAgaW5fcXVv dGVzID0gMDsKLSAJICAgIH0KLSAJICBwYXNjYWxfcHJpbnRjaGFyIChjdXJyZW50X2NoYXIsIHR5 cGUsIHN0cmVhbSk7Ci0tCSAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiIDxyZXBlYXRzICV1 IHRpbWVzPiIsIHJlcHMpOwotKwkgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIiA8cmVwZWF0 cyAlcyB0aW1lcz4iLCBwdWxvbmdlc3QgKHJlcHMpKTsKLSAJICBpID0gcmVwMSAtIDE7Ci0gCSAg dGhpbmdzX3ByaW50ZWQgKz0gb3B0aW9ucy0+cmVwZWF0X2NvdW50X3RocmVzaG9sZDsKLSAJICBu ZWVkX2NvbW1hID0gMTsKLWRpZmYgLS1naXQgYS9nZGIvcC1sYW5nLmggYi9nZGIvcC1sYW5nLmgK LS0tLSBhL2dkYi9wLWxhbmcuaAotKysrIGIvZ2RiL3AtbGFuZy5oCi1AQCAtMzcsNyArMzcsNyBA QCBleHRlcm4gdm9pZCBwYXNjYWxfcHJpbnRfdHlwZSAoc3RydWN0IHR5cGUgKiwgY29uc3QgY2hh ciAqLCBzdHJ1Y3QgdWlfZmlsZSAqLAotIGV4dGVybiB2b2lkIHBhc2NhbF9wcmludF90eXBlZGVm IChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3Qgc3ltYm9sICosCi0gCQkJCSAgc3RydWN0IHVpX2ZpbGUg Kik7Ci0gCi0tZXh0ZXJuIHZvaWQgcGFzY2FsX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKiwgaW50 LAotK2V4dGVybiB2b2lkIHBhc2NhbF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICosIExPTkdFU1Qs Ci0gCQkJICAgICAgQ09SRV9BRERSLCBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCi0gCQkJICAgICAg c3RydWN0IHZhbHVlICosCi0gCQkJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlv bnMgKik7Ci1AQCAtNTEsMTMgKzUxLDEzIEBAIGV4dGVybiB2b2lkIHBhc2NhbF90eXBlX3ByaW50 X21ldGhvZF9hcmdzIChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwKLSAvKiBUaGVzZSBhcmUg aW4gcC1sYW5nLmM6ICovCi0gCi0gZXh0ZXJuIGludAotLSAgaXNfcGFzY2FsX3N0cmluZ190eXBl IChzdHJ1Y3QgdHlwZSAqLCBpbnQgKiwgaW50ICosIGludCAqLAotKyAgaXNfcGFzY2FsX3N0cmlu Z190eXBlIChzdHJ1Y3QgdHlwZSAqLCBMT05HRVNUICosIExPTkdFU1QgKiwgTE9OR0VTVCAqLAot IAkJCSBzdHJ1Y3QgdHlwZSAqKiwgY29uc3QgY2hhciAqKik7Ci0gCi0gZXh0ZXJuIHZvaWQgcGFz Y2FsX3ByaW50Y2hhciAoaW50LCBzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdWlfZmlsZSAqKTsKLSAK LSBleHRlcm4gdm9pZCBwYXNjYWxfcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICosIHN0cnVjdCB0 eXBlICosIGNvbnN0IGdkYl9ieXRlICosCi0tCQkJICAgICB1bnNpZ25lZCBpbnQsIGNvbnN0IGNo YXIgKiwgaW50LAotKwkJCSAgICAgVUxPTkdFU1QsIGNvbnN0IGNoYXIgKiwgaW50LAotIAkJCSAg ICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKik7Ci0gCi0gZXh0ZXJuIHN0cnVj dCB0eXBlICoqY29uc3QgcGFzY2FsX2J1aWx0aW5fdHlwZXNbXTsKLWRpZmYgLS1naXQgYS9nZGIv cC12YWxwcmludC5jIGIvZ2RiL3AtdmFscHJpbnQuYwotLS0tIGEvZ2RiL3AtdmFscHJpbnQuYwot KysrIGIvZ2RiL3AtdmFscHJpbnQuYwotQEAgLTYwLDcgKzYwLDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBnZW5lcmljX3ZhbF9wcmludF9kZWNvcmF0aW9ucyBwX2RlY29yYXRpb25zID0KLSAKLSB2 b2lkCi0gcGFzY2FsX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsCi0tCQkgIGludCBlbWJl ZGRlZF9vZmZzZXQsIENPUkVfQUREUiBhZGRyZXNzLAotKwkJICBMT05HRVNUIGVtYmVkZGVkX29m ZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0gCQkgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGlu dCByZWN1cnNlLAotIAkJICBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAotIAkJICBjb25z dCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUBAIC03MCw4ICs3MCw4IEBA IHBhc2NhbF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLAotICAgdW5zaWduZWQgaW50IGkg PSAwOwkvKiBOdW1iZXIgb2YgY2hhcmFjdGVycyBwcmludGVkICovCi0gICB1bnNpZ25lZCBsZW47 Ci0gICBzdHJ1Y3QgdHlwZSAqZWx0dHlwZTsKLS0gIHVuc2lnbmVkIGVsdGxlbjsKLS0gIGludCBs ZW5ndGhfcG9zLCBsZW5ndGhfc2l6ZSwgc3RyaW5nX3BvczsKLSsgIFVMT05HRVNUIGVsdGxlbjsK LSsgIExPTkdFU1QgbGVuZ3RoX3BvcywgbGVuZ3RoX3NpemUsIHN0cmluZ19wb3M7Ci0gICBzdHJ1 Y3QgdHlwZSAqY2hhcl90eXBlOwotICAgQ09SRV9BRERSIGFkZHI7Ci0gICBpbnQgd2FudF9zcGFj ZSA9IDA7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3BwYy1saW51eC1uYXQuYyBiL2dkYi9wcGMtbGludXgt bmF0LmMKLS0tLSBhL2dkYi9wcGMtbGludXgtbmF0LmMKLSsrKyBiL2dkYi9wcGMtbGludXgtbmF0 LmMKLUBAIC0xNzE2LDcgKzE3MTYsNyBAQCBwcGNfbGludXhfbmF0X3RhcmdldDo6Y2FuX3VzZV9o d19icmVha3BvaW50IChlbnVtIGJwdHlwZSB0eXBlLCBpbnQgY250LCBpbnQgb3QpCi0gfQotIAot IGludAotLXBwY19saW51eF9uYXRfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQg KENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKQotK3BwY19saW51eF9uYXRfdGFyZ2V0OjpyZWdpb25f b2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKLSB7Ci0g ICAvKiBIYW5kbGUgc3ViLTgtYnl0ZSBxdWFudGl0aWVzLiAgKi8KLSAgIGlmIChsZW4gPD0gMCkK LWRpZmYgLS1naXQgYS9nZGIvcHBjLWxpbnV4LXRkZXAuYyBiL2dkYi9wcGMtbGludXgtdGRlcC5j Ci0tLS0gYS9nZGIvcHBjLWxpbnV4LXRkZXAuYwotKysrIGIvZ2RiL3BwYy1saW51eC10ZGVwLmMK LUBAIC0yMjYzLDcgKzIyNjMsNyBAQCBwcGNfaW5pdF9saW51eF9yZWNvcmRfdGRlcCAoc3RydWN0 IGxpbnV4X3JlY29yZF90ZGVwICpyZWNvcmRfdGRlcCwKLSAKLSBjb25zdCBzdHJ1Y3QgZmxvYXRm b3JtYXQgKioKLSBwcGNfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmFtZSwgaW50IGxl bikKLSsgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIExPTkdFU1Qg bGVuKQotIHsKLSAgIGlmIChsZW4gPT0gMTI4ICYmIG5hbWUpCi0gICAgIHsKLWRpZmYgLS1naXQg YS9nZGIvcHJpbnRjbWQuYyBiL2dkYi9wcmludGNtZC5jCi0tLS0gYS9nZGIvcHJpbnRjbWQuYwot KysrIGIvZ2RiL3ByaW50Y21kLmMKLUBAIC0yNzYsNyArMjc2LDcgQEAgcHJpbnRfZm9ybWF0dGVk IChzdHJ1Y3QgdmFsdWUgKnZhbCwgaW50IHNpemUsCi0gCQkgc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSkKLSB7Ci0gICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUg KHZhbCkpOwotLSAgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSsgIExPTkdFU1QgbGVu ID0gVFlQRV9MRU5HVEggKHR5cGUpOwotIAotICAgaWYgKFZBTFVFX0xWQUwgKHZhbCkgPT0gbHZh bF9tZW1vcnkpCi0gICAgIG5leHRfYWRkcmVzcyA9IHZhbHVlX2FkZHJlc3MgKHZhbCkgKyBsZW47 Ci1AQCAtMzUyLDcgKzM1Miw3IEBAIHByaW50X3NjYWxhcl9mb3JtYXR0ZWQgKGNvbnN0IGdkYl9i eXRlICp2YWxhZGRyLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAJCQlpbnQgc2l6ZSwgc3RydWN0IHVp X2ZpbGUgKnN0cmVhbSkKLSB7Ci0gICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF90eXBl X2FyY2ggKHR5cGUpOwotLSAgdW5zaWduZWQgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsK LSsgIFVMT05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAgIGVudW0gYmZkX2VuZGlh biBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKLSAKLSAgIC8qIFN0 cmluZyBwcmludGluZyBzaG91bGQgZ28gdGhyb3VnaCB2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRl ZC4gICovCi1kaWZmIC0tZ2l0IGEvZ2RiL3Byb2Nmcy5jIGIvZ2RiL3Byb2Nmcy5jCi0tLS0gYS9n ZGIvcHJvY2ZzLmMKLSsrKyBiL2dkYi9wcm9jZnMuYwotQEAgLTMzNjgsNyArMzM2OCw3IEBAIHBy b2Nmc190YXJnZXQ6OnJlbW92ZV93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwK LSB9Ci0gCi0gaW50Ci0tcHJvY2ZzX3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50 IChDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLStwcm9jZnNfdGFyZ2V0OjpyZWdpb25fb2tfZm9y X2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKLSB7Ci0gICAvKiBU aGUgbWFuIHBhZ2UgZm9yIHByb2MoNCkgb24gU29sYXJpcyAyLjYgYW5kIHVwIHNheXMgdGhhdCB0 aGUKLSAgICAgIHN5c3RlbSBjYW4gc3VwcG9ydCAidGhvdXNhbmRzIiBvZiBoYXJkd2FyZSB3YXRj aHBvaW50cywgYnV0IGdpdmVzCi1kaWZmIC0tZ2l0IGEvZ2RiL3JlZ2NhY2hlLmMgYi9nZGIvcmVn Y2FjaGUuYwotLS0tIGEvZ2RiL3JlZ2NhY2hlLmMKLSsrKyBiL2dkYi9yZWdjYWNoZS5jCi1AQCAt NzYzLDcgKzc2Myw3IEBAIHJlZ2NhY2hlOjpjb29rZWRfd3JpdGUgKGludCByZWdudW0sIGNvbnN0 IGdkYl9ieXRlICpidWYpCi0gLyogU2VlIHJlZ2NhY2hlLmguICAqLwotIAotIGVudW0gcmVnaXN0 ZXJfc3RhdHVzCi0tcmVhZGFibGVfcmVnY2FjaGU6OnJlYWRfcGFydCAoaW50IHJlZ251bSwgaW50 IG9mZnNldCwgaW50IGxlbiwKLStyZWFkYWJsZV9yZWdjYWNoZTo6cmVhZF9wYXJ0IChpbnQgcmVn bnVtLCBMT05HRVNUIG9mZnNldCwgTE9OR0VTVCBsZW4sCi0gCQkJICAgICAgZ2RiX2J5dGUgKm91 dCwgYm9vbCBpc19yYXcpCi0gewotICAgaW50IHJlZ19zaXplID0gcmVnaXN0ZXJfc2l6ZSAoYXJj aCAoKSwgcmVnbnVtKTsKLUBAIC04MzAsNyArODMwLDcgQEAgcmVnX2J1ZmZlcjo6cmF3X2NvbGxl Y3RfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwKLSAvKiBTZWUgcmVnY2Fj aGUuaC4gICovCi0gCi0gZW51bSByZWdpc3Rlcl9zdGF0dXMKLS1yZWdjYWNoZTo6d3JpdGVfcGFy dCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwKLStyZWdjYWNoZTo6d3JpdGVfcGFy dCAoaW50IHJlZ251bSwgTE9OR0VTVCBvZmZzZXQsIExPTkdFU1QgbGVuLAotIAkJICAgICAgY29u c3QgZ2RiX2J5dGUgKmluLCBib29sIGlzX3JhdykKLSB7Ci0gICBpbnQgcmVnX3NpemUgPSByZWdp c3Rlcl9zaXplIChhcmNoICgpLCByZWdudW0pOwotQEAgLTkwMSw3ICs5MDEsNyBAQCByZWdfYnVm ZmVyOjpyYXdfc3VwcGx5X3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCi0g fQotIAotIGVudW0gcmVnaXN0ZXJfc3RhdHVzCi0tcmVhZGFibGVfcmVnY2FjaGU6OnJhd19yZWFk X3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCi0rcmVhZGFibGVfcmVnY2Fj aGU6OnJhd19yZWFkX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIExPTkdFU1QgbGVuLAot IAkJCQkgIGdkYl9ieXRlICpidWYpCi0gewotICAgYXNzZXJ0X3JlZ251bSAocmVnbnVtKTsKLUBA IC05MTEsNyArOTExLDcgQEAgcmVhZGFibGVfcmVnY2FjaGU6OnJhd19yZWFkX3BhcnQgKGludCBy ZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCi0gLyogU2VlIHJlZ2NhY2hlLmguICAqLwotIAot IHZvaWQKLS1yZWdjYWNoZTo6cmF3X3dyaXRlX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQs IGludCBsZW4sCi0rcmVnY2FjaGU6OnJhd193cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zm c2V0LCBMT05HRVNUIGxlbiwKLSAJCQkgIGNvbnN0IGdkYl9ieXRlICpidWYpCi0gewotICAgYXNz ZXJ0X3JlZ251bSAocmVnbnVtKTsKLUBAIC05MjEsNyArOTIxLDcgQEAgcmVnY2FjaGU6OnJhd193 cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLAotIC8qIFNlZSByZWdj YWNoZS5oLiAgKi8KLSAKLSBlbnVtIHJlZ2lzdGVyX3N0YXR1cwotLXJlYWRhYmxlX3JlZ2NhY2hl Ojpjb29rZWRfcmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLAotK3Jl YWRhYmxlX3JlZ2NhY2hlOjpjb29rZWRfcmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBMT05HRVNUIG9m ZnNldCwgTE9OR0VTVCBsZW4sCi0gCQkJCSAgICAgZ2RiX2J5dGUgKmJ1ZikKLSB7Ci0gICBnZGJf YXNzZXJ0IChyZWdudW0gPj0gMCAmJiByZWdudW0gPCBtX2Rlc2NyLT5ucl9jb29rZWRfcmVnaXN0 ZXJzKTsKLUBAIC05MzEsNyArOTMxLDcgQEAgcmVhZGFibGVfcmVnY2FjaGU6OmNvb2tlZF9yZWFk X3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCi0gLyogU2VlIHJlZ2NhY2hl LmguICAqLwotIAotIHZvaWQKLS1yZWdjYWNoZTo6Y29va2VkX3dyaXRlX3BhcnQgKGludCByZWdu dW0sIGludCBvZmZzZXQsIGludCBsZW4sCi0rcmVnY2FjaGU6OmNvb2tlZF93cml0ZV9wYXJ0IChp bnQgcmVnbnVtLCBMT05HRVNUIG9mZnNldCwgTE9OR0VTVCBsZW4sCi0gCQkJICAgICBjb25zdCBn ZGJfYnl0ZSAqYnVmKQotIHsKLSAgIGdkYl9hc3NlcnQgKHJlZ251bSA+PSAwICYmIHJlZ251bSA8 IG1fZGVzY3ItPm5yX2Nvb2tlZF9yZWdpc3RlcnMpOwotZGlmZiAtLWdpdCBhL2dkYi9yZWdjYWNo ZS5oIGIvZ2RiL3JlZ2NhY2hlLmgKLS0tLSBhL2dkYi9yZWdjYWNoZS5oCi0rKysgYi9nZGIvcmVn Y2FjaGUuaAotQEAgLTI3Myw4ICsyNzMsOCBAQCBwdWJsaWM6Ci0gICBlbnVtIHJlZ2lzdGVyX3N0 YXR1cyByYXdfcmVhZCAoaW50IHJlZ251bSwgVCAqdmFsKTsKLSAKLSAgIC8qIFBhcnRpYWwgdHJh bnNmZXIgb2YgcmF3IHJlZ2lzdGVycy4gIFJldHVybiB0aGUgc3RhdHVzIG9mIHRoZSByZWdpc3Rl ci4gICovCi0tICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyByYXdfcmVhZF9wYXJ0IChpbnQgcmVnbnVt LCBpbnQgb2Zmc2V0LCBpbnQgbGVuLAotLQkJCQkgICAgICBnZGJfYnl0ZSAqYnVmKTsKLSsgIGVu dW0gcmVnaXN0ZXJfc3RhdHVzIHJhd19yZWFkX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQs Ci0rCQkJCSAgICAgIExPTkdFU1QgbGVuLCBnZGJfYnl0ZSAqYnVmKTsKLSAKLSAgIC8qIE1ha2Ug Y2VydGFpbiB0aGF0IHRoZSByZWdpc3RlciBSRUdOVU0gaXMgdXAtdG8tZGF0ZS4gICovCi0gICB2 aXJ0dWFsIHZvaWQgcmF3X3VwZGF0ZSAoaW50IHJlZ251bSkgPSAwOwotQEAgLTI4Niw4ICsyODYs OCBAQCBwdWJsaWM6Ci0gICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyBjb29rZWRfcmVhZCAoaW50IHJl Z251bSwgVCAqdmFsKTsKLSAKLSAgIC8qIFBhcnRpYWwgdHJhbnNmZXIgb2YgYSBjb29rZWQgcmVn aXN0ZXIuICAqLwotLSAgZW51bSByZWdpc3Rlcl9zdGF0dXMgY29va2VkX3JlYWRfcGFydCAoaW50 IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwKLS0JCQkJCSBnZGJfYnl0ZSAqYnVmKTsKLSsg IGVudW0gcmVnaXN0ZXJfc3RhdHVzIGNvb2tlZF9yZWFkX3BhcnQgKGludCByZWdudW0sIExPTkdF U1Qgb2Zmc2V0LAotKwkJCQkJIExPTkdFU1QgbGVuLCBnZGJfYnl0ZSAqYnVmKTsKLSAKLSAgIC8q IFJlYWQgcmVnaXN0ZXIgUkVHTlVNIGZyb20gdGhlIHJlZ2NhY2hlIGFuZCByZXR1cm4gYSBuZXcg dmFsdWUuICBUaGlzCi0gICAgICB3aWxsIGNhbGwgbWFya192YWx1ZV9ieXRlc191bmF2YWlsYWJs ZSBhcyBhcHByb3ByaWF0ZS4gICovCi1AQCAtMjk3LDcgKzI5Nyw3IEBAIHByb3RlY3RlZDoKLSAK LSAgIC8qIFBlcmZvcm0gYSBwYXJ0aWFsIHJlZ2lzdGVyIHRyYW5zZmVyIHVzaW5nIGEgcmVhZCwg bW9kaWZ5LCB3cml0ZQotICAgICAgb3BlcmF0aW9uLiAgV2lsbCBmYWlsIGlmIHJlZ2lzdGVyIGlz IGN1cnJlbnRseSBpbnZhbGlkLiAgKi8KLS0gIGVudW0gcmVnaXN0ZXJfc3RhdHVzIHJlYWRfcGFy dCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwKLSsgIGVudW0gcmVnaXN0ZXJfc3Rh dHVzIHJlYWRfcGFydCAoaW50IHJlZ251bSwgTE9OR0VTVCBvZmZzZXQsIExPTkdFU1QgbGVuLAot IAkJCQkgIGdkYl9ieXRlICpvdXQsIGJvb2wgaXNfcmF3KTsKLSB9OwotIAotQEAgLTM1NSwxMSAr MzU1LDEyIEBAIHB1YmxpYzoKLSAKLSAgIC8qIFBhcnRpYWwgdHJhbnNmZXIgb2YgcmF3IHJlZ2lz dGVycy4gIFBlcmZvcm0gcmVhZCwgbW9kaWZ5LCB3cml0ZSBzdHlsZQotICAgICAgb3BlcmF0aW9u cy4gICovCi0tICB2b2lkIHJhd193cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBp bnQgbGVuLCBjb25zdCBnZGJfYnl0ZSAqYnVmKTsKLSsgIHZvaWQgcmF3X3dyaXRlX3BhcnQgKGlu dCByZWdudW0sIGludCBvZmZzZXQsIExPTkdFU1QgbGVuLAotKwkJICAgICAgIGNvbnN0IGdkYl9i eXRlICpidWYpOwotIAotICAgLyogUGFydGlhbCB0cmFuc2ZlciBvZiBhIGNvb2tlZCByZWdpc3Rl ci4gIFBlcmZvcm0gcmVhZCwgbW9kaWZ5LCB3cml0ZSBzdHlsZQotICAgICAgb3BlcmF0aW9ucy4g ICovCi0tICB2b2lkIGNvb2tlZF93cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBp bnQgbGVuLAotKyAgdm9pZCBjb29rZWRfd3JpdGVfcGFydCAoaW50IHJlZ251bSwgTE9OR0VTVCBv ZmZzZXQsIExPTkdFU1QgbGVuLAotIAkJCSAgY29uc3QgZ2RiX2J5dGUgKmJ1Zik7Ci0gCi0gICB2 b2lkIHN1cHBseV9yZWdzZXQgKGNvbnN0IHN0cnVjdCByZWdzZXQgKnJlZ3NldCwKLUBAIC00MTAs NyArNDExLDcgQEAgcHJpdmF0ZToKLSAKLSAgIC8qIFBlcmZvcm0gYSBwYXJ0aWFsIHJlZ2lzdGVy IHRyYW5zZmVyIHVzaW5nIGEgcmVhZCwgbW9kaWZ5LCB3cml0ZQotICAgICAgb3BlcmF0aW9uLiAg Ki8KLS0gIGVudW0gcmVnaXN0ZXJfc3RhdHVzIHdyaXRlX3BhcnQgKGludCByZWdudW0sIGludCBv ZmZzZXQsIGludCBsZW4sCi0rICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyB3cml0ZV9wYXJ0IChpbnQg cmVnbnVtLCBMT05HRVNUIG9mZnNldCwgTE9OR0VTVCBsZW4sCi0gCQkJCSAgIGNvbnN0IGdkYl9i eXRlICppbiwgYm9vbCBpc19yYXcpOwotIAotICAgLyogVGhlIGFkZHJlc3Mgc3BhY2Ugb2YgdGhp cyByZWdpc3RlciBjYWNoZSAoZm9yIHJlZ2lzdGVycyB3aGVyZSBpdAotZGlmZiAtLWdpdCBhL2dk Yi9yZW1vdGUuYyBiL2dkYi9yZW1vdGUuYwotLS0tIGEvZ2RiL3JlbW90ZS5jCi0rKysgYi9nZGIv cmVtb3RlLmMKLUBAIC00NDgsNyArNDQ4LDcgQEAgcHVibGljOgotIAotICAgaW50IHJlbW92ZV9o d19icmVha3BvaW50IChzdHJ1Y3QgZ2RiYXJjaCAqLCBzdHJ1Y3QgYnBfdGFyZ2V0X2luZm8gKikg b3ZlcnJpZGU7Ci0gCi0tICBpbnQgcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FE RFIsIGludCkgb3ZlcnJpZGU7Ci0rICBpbnQgcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChD T1JFX0FERFIsIExPTkdFU1QpIG92ZXJyaWRlOwotIAotICAgaW50IGluc2VydF93YXRjaHBvaW50 IChDT1JFX0FERFIsIGludCwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSwKLSAJCQkgc3RydWN0IGV4 cHJlc3Npb24gKikgb3ZlcnJpZGU7Ci1AQCAtMTAzNjksNyArMTAzNjksNyBAQCBpbnQgcmVtb3Rl X2h3X3dhdGNocG9pbnRfbGVuZ3RoX2xpbWl0ID0gLTE7Ci0gaW50IHJlbW90ZV9od19icmVha3Bv aW50X2xpbWl0ID0gLTE7Ci0gCi0gaW50Ci0tcmVtb3RlX3RhcmdldDo6cmVnaW9uX29rX2Zvcl9o d193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLStyZW1vdGVfdGFyZ2V0Ojpy ZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikK LSB7Ci0gICBpZiAocmVtb3RlX2h3X3dhdGNocG9pbnRfbGVuZ3RoX2xpbWl0ID09IDApCi0gICAg IHJldHVybiAwOwotZGlmZiAtLWdpdCBhL2dkYi9ydXN0LWxhbmcuYyBiL2dkYi9ydXN0LWxhbmcu YwotLS0tIGEvZ2RiL3J1c3QtbGFuZy5jCi0rKysgYi9nZGIvcnVzdC1sYW5nLmMKLUBAIC0zMDEs NyArMzAxLDcgQEAgcnVzdF9wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3Ry dWN0IHVpX2ZpbGUgKnN0cmVhbSkKLSAKLSBzdGF0aWMgdm9pZAotIHJ1c3RfcHJpbnRzdHIgKHN0 cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICp0eXBlLAotLQkgICAgICAgY29uc3Qg Z2RiX2J5dGUgKnN0cmluZywgdW5zaWduZWQgaW50IGxlbmd0aCwKLSsJICAgICAgIGNvbnN0IGdk Yl9ieXRlICpzdHJpbmcsIFVMT05HRVNUIGxlbmd0aCwKLSAJICAgICAgIGNvbnN0IGNoYXIgKnVz ZXJfZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKLSAJICAgICAgIGNvbnN0IHN0cnVjdCB2 YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotIHsKLUBAIC01MTcsNyArNTE3LDcgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBnZW5lcmljX3ZhbF9wcmludF9kZWNvcmF0aW9ucyBydXN0X2RlY29y YXRpb25zID0KLSAvKiBsYV92YWxfcHJpbnQgaW1wbGVtZW50YXRpb24gZm9yIFJ1c3QuICAqLwot IAotIHN0YXRpYyB2b2lkCi0tcnVzdF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQg ZW1iZWRkZWRfb2Zmc2V0LAotK3J1c3RfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgTE9O R0VTVCBlbWJlZGRlZF9vZmZzZXQsCi0gCQlDT1JFX0FERFIgYWRkcmVzcywgc3RydWN0IHVpX2Zp bGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCi0gCQlzdHJ1Y3QgdmFsdWUgKnZhbCwKLSAJCWNvbnN0 IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotZGlmZiAtLWdpdCBhL2dkYi9z MzkwLWxpbnV4LW5hdC5jIGIvZ2RiL3MzOTAtbGludXgtbmF0LmMKLS0tLSBhL2dkYi9zMzkwLWxp bnV4LW5hdC5jCi0rKysgYi9nZGIvczM5MC1saW51eC1uYXQuYwotQEAgLTk1MSw3ICs5NTEsOCBA QCBzMzkwX2xpbnV4X25hdF90YXJnZXQ6OnJlbW92ZV9od19icmVha3BvaW50IChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwKLSB9Ci0gCi0gaW50Ci0tczM5MF9saW51eF9uYXRfdGFyZ2V0OjpyZWdp b25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgY250KQotK3MzOTBf bGludXhfbmF0X3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIg YWRkciwKLSsJCQkJCQkgICAgTE9OR0VTVCBjbnQpCi0gewotICAgcmV0dXJuIDE7Ci0gfQotZGlm ZiAtLWdpdCBhL2dkYi9zcHUtbXVsdGlhcmNoLmMgYi9nZGIvc3B1LW11bHRpYXJjaC5jCi0tLS0g YS9nZGIvc3B1LW11bHRpYXJjaC5jCi0rKysgYi9nZGIvc3B1LW11bHRpYXJjaC5jCi1AQCAtNjUs NyArNjUsNyBAQCBzdHJ1Y3Qgc3B1X211bHRpYXJjaF90YXJnZXQgZmluYWwgOiBwdWJsaWMgdGFy Z2V0X29wcwotIAkJICAgICBjb25zdCBnZGJfYnl0ZSAqcGF0dGVybiwgVUxPTkdFU1QgcGF0dGVy bl9sZW4sCi0gCQkgICAgIENPUkVfQUREUiAqZm91bmRfYWRkcnApIG92ZXJyaWRlOwotIAotLSAg aW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQpIG92ZXJyaWRl OwotKyAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBMT05HRVNU KSBvdmVycmlkZTsKLSAKLSAgIHN0cnVjdCBnZGJhcmNoICp0aHJlYWRfYXJjaGl0ZWN0dXJlIChw dGlkX3QpIG92ZXJyaWRlOwotIH07Ci1AQCAtMTYyLDcgKzE2Miw3IEBAIHNwdV9tdWx0aWFyY2hf dGFyZ2V0Ojp0aHJlYWRfYXJjaGl0ZWN0dXJlIChwdGlkX3QgcHRpZCkKLSAvKiBPdmVycmlkZSB0 aGUgdG9fcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IHJvdXRpbmUuICAqLwotIAotIGludAot LXNwdV9tdWx0aWFyY2hfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVf QUREUiBhZGRyLCBpbnQgbGVuKQotK3NwdV9tdWx0aWFyY2hfdGFyZ2V0OjpyZWdpb25fb2tfZm9y X2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKLSB7Ci0gICAvKiBX ZSBjYW5ub3Qgd2F0Y2ggU1BVIGxvY2FsIHN0b3JlLiAgKi8KLSAgIGlmIChTUFVBRERSX1NQVSAo YWRkcikgIT0gLTEpCi1kaWZmIC0tZ2l0IGEvZ2RiL3N0YWNrLmMgYi9nZGIvc3RhY2suYwotLS0t IGEvZ2RiL3N0YWNrLmMKLSsrKyBiL2dkYi9zdGFjay5jCi1AQCAtMTk0LDcgKzE5NCw3IEBAIHBy aW50X3N0YWNrX2ZyYW1lIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGludCBwcmludF9sZXZl bCwKLSAgICBhcmd1bWVudCAobm90IGp1c3QgdGhlIGZpcnN0IG5hbWVsZXNzIGFyZ3VtZW50KS4g ICovCi0gCi0gc3RhdGljIHZvaWQKLS1wcmludF9mcmFtZV9uYW1lbGVzc19hcmdzIChzdHJ1Y3Qg ZnJhbWVfaW5mbyAqZnJhbWUsIGxvbmcgc3RhcnQsIGludCBudW0sCi0rcHJpbnRfZnJhbWVfbmFt ZWxlc3NfYXJncyAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBMT05HRVNUIHN0YXJ0LCBpbnQg bnVtLAotIAkJCSAgIGludCBmaXJzdCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKLSB7Ci0gICBz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9mcmFtZV9hcmNoIChmcmFtZSk7Ci1AQCAtNTQ0 LDcgKzU0NCw3IEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVjdCBzeW1ib2wgKmZ1bmMsIHN0cnVj dCBmcmFtZV9pbmZvICpmcmFtZSwKLSAgIC8qIE9mZnNldCBvZiBuZXh0IHN0YWNrIGFyZ3VtZW50 IGJleW9uZCB0aGUgb25lIHdlIGhhdmUgc2VlbiB0aGF0IGlzCi0gICAgICBhdCB0aGUgaGlnaGVz dCBvZmZzZXQsIG9yIC0xIGlmIHdlIGhhdmVuJ3QgY29tZSB0byBhIHN0YWNrCi0gICAgICBhcmd1 bWVudCB5ZXQuICAqLwotLSAgbG9uZyBoaWdoZXN0X29mZnNldCA9IC0xOwotKyAgTE9OR0VTVCBo aWdoZXN0X29mZnNldCA9IC0xOwotICAgLyogTnVtYmVyIG9mIGludHMgb2YgYXJndW1lbnRzIHRo YXQgd2UgaGF2ZSBwcmludGVkIHNvIGZhci4gICovCi0gICBpbnQgYXJnc19wcmludGVkID0gMDsK LSAgIC8qIFRydWUgaWYgd2Ugc2hvdWxkIHByaW50IGFyZ3VtZW50cywgZmFsc2Ugb3RoZXJ3aXNl LiAgKi8KLUBAIC01NzMsOCArNTczLDggQEAgcHJpbnRfZnJhbWVfYXJncyAoc3RydWN0IHN5bWJv bCAqZnVuYywgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAotIAkgICAgY2FzZSBMT0NfQVJHOgot IAkgICAgY2FzZSBMT0NfUkVGX0FSRzoKLSAJICAgICAgewotLQkJbG9uZyBjdXJyZW50X29mZnNl dCA9IFNZTUJPTF9WQUxVRSAoc3ltKTsKLS0JCWludCBhcmdfc2l6ZSA9IFRZUEVfTEVOR1RIIChT WU1CT0xfVFlQRSAoc3ltKSk7Ci0rCQlMT05HRVNUIGN1cnJlbnRfb2Zmc2V0ID0gU1lNQk9MX1ZB TFVFIChzeW0pOwotKwkJTE9OR0VTVCBhcmdfc2l6ZSA9IFRZUEVfTEVOR1RIIChTWU1CT0xfVFlQ RSAoc3ltKSk7Ci0gCi0gCQkvKiBDb21wdXRlIGFkZHJlc3Mgb2YgbmV4dCBhcmd1bWVudCBieSBh ZGRpbmcgdGhlIHNpemUgb2YKLSAJCSAgIHRoaXMgYXJndW1lbnQgYW5kIHJvdW5kaW5nIHRvIGFu IGludCBib3VuZGFyeS4gICovCi1AQCAtNzA5LDcgKzcwOSw3IEBAIHByaW50X2ZyYW1lX2FyZ3Mg KHN0cnVjdCBzeW1ib2wgKmZ1bmMsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKLSAgICAgIGVu b3VnaCBhYm91dCB0aGUgc3RhY2sgdG8gZmluZCB0aGVtLiAgKi8KLSAgIGlmIChudW0gIT0gLTEp Ci0gICAgIHsKLS0gICAgICBsb25nIHN0YXJ0OwotKyAgICAgIExPTkdFU1Qgc3RhcnQ7Ci0gCi0g ICAgICAgaWYgKGhpZ2hlc3Rfb2Zmc2V0ID09IC0xKQotIAlzdGFydCA9IGdkYmFyY2hfZnJhbWVf YXJnc19za2lwIChnZXRfZnJhbWVfYXJjaCAoZnJhbWUpKTsKLWRpZmYgLS1naXQgYS9nZGIvc3lt bWlzYy5jIGIvZ2RiL3N5bW1pc2MuYwotLS0tIGEvZ2RiL3N5bW1pc2MuYwotKysrIGIvZ2RiL3N5 bW1pc2MuYwotQEAgLTU4NCwxMSArNTg0LDExIEBAIHByaW50X3N5bWJvbCAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsIHN0cnVjdCBzeW1ib2wgKnN5bWJvbCwKLSAKLSAJY2FzZSBMT0NfQ09OU1Rf QllURVM6Ci0gCSAgewotLQkgICAgdW5zaWduZWQgaTsKLSsJICAgIFVMT05HRVNUIGk7Ci0gCSAg ICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IGNoZWNrX3R5cGVkZWYgKFNZTUJPTF9UWVBFIChzeW1ib2wp KTsKLSAKLS0JICAgIGZwcmludGZfZmlsdGVyZWQgKG91dGZpbGUsICJjb25zdCAldSBoZXggYnl0 ZXM6IiwKLS0JCQkgICAgICBUWVBFX0xFTkdUSCAodHlwZSkpOwotKwkgICAgZnByaW50Zl9maWx0 ZXJlZCAob3V0ZmlsZSwgImNvbnN0ICVzIGhleCBieXRlczoiLAotKwkJCSAgICAgIHB1bG9uZ2Vz dCAoVFlQRV9MRU5HVEggKHR5cGUpKSk7Ci0gCSAgICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9MRU5H VEggKHR5cGUpOyBpKyspCi0gCSAgICAgIGZwcmludGZfZmlsdGVyZWQgKG91dGZpbGUsICIgJTAy eCIsCi0gCQkJCSh1bnNpZ25lZCkgU1lNQk9MX1ZBTFVFX0JZVEVTIChzeW1ib2wpW2ldKTsKLWRp ZmYgLS1naXQgYS9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jIGIvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMu YwotLS0tIGEvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMuYwotKysrIGIvZ2RiL3RhcmdldC1kZWxlZ2F0 ZXMuYwotQEAgLTM4LDcgKzM4LDcgQEAgc3RydWN0IGR1bW15X3RhcmdldCA6IHB1YmxpYyB0YXJn ZXRfb3BzCi0gICBib29sIGhhdmVfc3RlcHBhYmxlX3dhdGNocG9pbnQgKCkgb3ZlcnJpZGU7Ci0g ICBib29sIHN0b3BwZWRfZGF0YV9hZGRyZXNzIChDT1JFX0FERFIgKmFyZzApIG92ZXJyaWRlOwot ICAgYm9vbCB3YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIgYXJnMCwgQ09S RV9BRERSIGFyZzEsIGludCBhcmcyKSBvdmVycmlkZTsKLS0gIGludCByZWdpb25fb2tfZm9yX2h3 X3dhdGNocG9pbnQgKENPUkVfQUREUiBhcmcwLCBpbnQgYXJnMSkgb3ZlcnJpZGU7Ci0rICBpbnQg cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYXJnMCwgTE9OR0VTVCBhcmcx KSBvdmVycmlkZTsKLSAgIGJvb2wgY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JF X0FERFIgYXJnMCwgaW50IGFyZzEsIGludCBhcmcyLCBzdHJ1Y3QgZXhwcmVzc2lvbiAqYXJnMykg b3ZlcnJpZGU7Ci0gICBpbnQgbWFza2VkX3dhdGNoX251bV9yZWdpc3RlcnMgKENPUkVfQUREUiBh cmcwLCBDT1JFX0FERFIgYXJnMSkgb3ZlcnJpZGU7Ci0gICBpbnQgY2FuX2RvX3NpbmdsZV9zdGVw ICgpIG92ZXJyaWRlOwotQEAgLTIwNSw3ICsyMDUsNyBAQCBzdHJ1Y3QgZGVidWdfdGFyZ2V0IDog cHVibGljIHRhcmdldF9vcHMKLSAgIGJvb2wgaGF2ZV9zdGVwcGFibGVfd2F0Y2hwb2ludCAoKSBv dmVycmlkZTsKLSAgIGJvb2wgc3RvcHBlZF9kYXRhX2FkZHJlc3MgKENPUkVfQUREUiAqYXJnMCkg b3ZlcnJpZGU7Ci0gICBib29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQURE UiBhcmcwLCBDT1JFX0FERFIgYXJnMSwgaW50IGFyZzIpIG92ZXJyaWRlOwotLSAgaW50IHJlZ2lv bl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIGludCBhcmcxKSBvdmVycmlk ZTsKLSsgIGludCByZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhcmcwLCBM T05HRVNUIGFyZzEpIG92ZXJyaWRlOwotICAgYm9vbCBjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25k aXRpb24gKENPUkVfQUREUiBhcmcwLCBpbnQgYXJnMSwgaW50IGFyZzIsIHN0cnVjdCBleHByZXNz aW9uICphcmczKSBvdmVycmlkZTsKLSAgIGludCBtYXNrZWRfd2F0Y2hfbnVtX3JlZ2lzdGVycyAo Q09SRV9BRERSIGFyZzAsIENPUkVfQUREUiBhcmcxKSBvdmVycmlkZTsKLSAgIGludCBjYW5fZG9f c2luZ2xlX3N0ZXAgKCkgb3ZlcnJpZGU7Ci1AQCAtMTA3MSwxOSArMTA3MSwxOSBAQCBkZWJ1Z190 YXJnZXQ6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBhcmcwLCBDT1JF X0FERFIgYXJnMSwgaW50Ci0gfQotIAotIGludAotLXRhcmdldF9vcHM6OnJlZ2lvbl9va19mb3Jf aHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIGludCBhcmcxKQotK3RhcmdldF9vcHM6OnJl Z2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIExPTkdFU1QgYXJnMSkK LSB7Ci0gICByZXR1cm4gdGhpcy0+YmVuZWF0aCAoKS0+cmVnaW9uX29rX2Zvcl9od193YXRjaHBv aW50IChhcmcwLCBhcmcxKTsKLSB9Ci0gCi0gaW50Ci0tZHVtbXlfdGFyZ2V0OjpyZWdpb25fb2tf Zm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhcmcwLCBpbnQgYXJnMSkKLStkdW1teV90YXJn ZXQ6OnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIExPTkdFU1Qg YXJnMSkKLSB7Ci0gICByZXR1cm4gZGVmYXVsdF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQg KHRoaXMsIGFyZzAsIGFyZzEpOwotIH0KLSAKLSBpbnQKLS1kZWJ1Z190YXJnZXQ6OnJlZ2lvbl9v a19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIGludCBhcmcxKQotK2RlYnVnX3Rh cmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYXJnMCwgTE9OR0VT VCBhcmcxKQotIHsKLSAgIGludCByZXN1bHQ7Ci0gICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9z dGRsb2csICItPiAlcy0+cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50ICguLi4pXG4iLCB0aGlz LT5iZW5lYXRoICgpLT5zaG9ydG5hbWUgKCkpOwotQEAgLTEwOTEsNyArMTA5MSw3IEBAIGRlYnVn X3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYXJnMCwgaW50 IGFyZzEpCi0gICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csICI8LSAlcy0+cmVnaW9u X29rX2Zvcl9od193YXRjaHBvaW50ICgiLCB0aGlzLT5iZW5lYXRoICgpLT5zaG9ydG5hbWUgKCkp OwotICAgdGFyZ2V0X2RlYnVnX3ByaW50X0NPUkVfQUREUiAoYXJnMCk7Ci0gICBmcHV0c191bmZp bHRlcmVkICgiLCAiLCBnZGJfc3RkbG9nKTsKLS0gIHRhcmdldF9kZWJ1Z19wcmludF9pbnQgKGFy ZzEpOwotKyAgdGFyZ2V0X2RlYnVnX3ByaW50X0xPTkdFU1QgKGFyZzEpOwotICAgZnB1dHNfdW5m aWx0ZXJlZCAoIikgPSAiLCBnZGJfc3RkbG9nKTsKLSAgIHRhcmdldF9kZWJ1Z19wcmludF9pbnQg KHJlc3VsdCk7Ci0gICBmcHV0c191bmZpbHRlcmVkICgiXG4iLCBnZGJfc3RkbG9nKTsKLWRpZmYg LS1naXQgYS9nZGIvdGFyZ2V0LmMgYi9nZGIvdGFyZ2V0LmMKLS0tLSBhL2dkYi90YXJnZXQuYwot KysrIGIvZ2RiL3RhcmdldC5jCi1AQCAtNTgsNyArNTgsNyBAQCBzdGF0aWMgaW50IGRlZmF1bHRf d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0IHRhcmdldF9vcHMgKiwKLSAJCQkJ CQkgQ09SRV9BRERSLCBDT1JFX0FERFIsIGludCk7Ci0gCi0gc3RhdGljIGludCBkZWZhdWx0X3Jl Z2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKiwKLS0JCQkJCQlD T1JFX0FERFIsIGludCk7Ci0rCQkJCQkJQ09SRV9BRERSLCBMT05HRVNUKTsKLSAKLSBzdGF0aWMg dm9pZCBkZWZhdWx0X3JjbWQgKHN0cnVjdCB0YXJnZXRfb3BzICosIGNvbnN0IGNoYXIgKiwgc3Ry dWN0IHVpX2ZpbGUgKik7Ci0gCi1AQCAtMzExNyw3ICszMTE3LDcgQEAgdGFyZ2V0X2ZpbGVpb19y ZWFkX3N0cmFsbG9jIChzdHJ1Y3QgaW5mZXJpb3IgKmluZiwgY29uc3QgY2hhciAqZmlsZW5hbWUp Ci0gCi0gc3RhdGljIGludAotIGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChz dHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwKLS0JCQkJICAgICBDT1JFX0FERFIgYWRkciwgaW50IGxl bikKLSsJCQkJICAgICBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4pCi0gewotICAgcmV0dXJu IChsZW4gPD0gZ2RiYXJjaF9wdHJfYml0ICh0YXJnZXRfZ2RiYXJjaCAoKSkgLyBUQVJHRVRfQ0hB Ul9CSVQpOwotIH0KLWRpZmYgLS1naXQgYS9nZGIvdGFyZ2V0LmggYi9nZGIvdGFyZ2V0LmgKLS0t LSBhL2dkYi90YXJnZXQuaAotKysrIGIvZ2RiL3RhcmdldC5oCi1AQCAtNTY2LDcgKzU2Niw3IEBA IHN0cnVjdCB0YXJnZXRfb3BzCi0gCi0gICAgIC8qIERvY3VtZW50YXRpb24gb2YgdGhpcyByb3V0 aW5lIGlzIHByb3ZpZGVkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcKLSAgICAgICAgdGFyZ2V0Xyog bWFjcm8uICAqLwotLSAgICB2aXJ0dWFsIGludCByZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQg KENPUkVfQUREUiwgaW50KQotKyAgICB2aXJ0dWFsIGludCByZWdpb25fb2tfZm9yX2h3X3dhdGNo cG9pbnQgKENPUkVfQUREUiwgTE9OR0VTVCkKLSAgICAgICBUQVJHRVRfREVGQVVMVF9GVU5DIChk ZWZhdWx0X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCk7Ci0gCi0gICAgIHZpcnR1YWwgYm9v bCBjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiwgaW50LCBpbnQsCi1k aWZmIC0tZ2l0IGEvZ2RiL3RyYWNlcG9pbnQuYyBiL2dkYi90cmFjZXBvaW50LmMKLS0tLSBhL2dk Yi90cmFjZXBvaW50LmMKLSsrKyBiL2dkYi90cmFjZXBvaW50LmMKLUBAIC04OTMsMTAgKzg5Mywx MCBAQCBjb2xsZWN0aW9uX2xpc3Q6OmFkZF9sb2NhbF9yZWdpc3RlciAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsCi0gdm9pZAotIGNvbGxlY3Rpb25fbGlzdDo6YWRkX21lbXJhbmdlIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwKLSAJCQkgICAgICAgaW50IHR5cGUsIGJmZF9zaWduZWRfdm1hIGJh c2UsCi0tCQkJICAgICAgIHVuc2lnbmVkIGxvbmcgbGVuLCBDT1JFX0FERFIgc2NvcGUpCi0rCQkJ ICAgICAgIFVMT05HRVNUIGxlbiwgQ09SRV9BRERSIHNjb3BlKQotIHsKLSAgIGlmIChpbmZvX3Zl cmJvc2UpCi0tICAgIHByaW50Zl9maWx0ZXJlZCAoIiglZCwlcywlbGQpXG4iLCB0eXBlLCBwYWRk cmVzcyAoZ2RiYXJjaCwgYmFzZSksIGxlbik7Ci0rICAgIHByaW50Zl9maWx0ZXJlZCAoIiglZCwl cywlcylcbiIsIHR5cGUsIHBhZGRyZXNzIChnZGJhcmNoLCBiYXNlKSwgcHVsb25nZXN0IChsZW4p KTsKLSAKLSAgIC8qIHR5cGU6IG1lbXJhbmdlX2Fic29sdXRlID09IG1lbW9yeSwgb3RoZXIgbiA9 PSBiYXNlcmVnICovCi0gICAvKiBiYXNlOiBhZGRyIGlmIG1lbW9yeSwgb2Zmc2V0IGlmIHJlZyBy ZWxhdGl2ZS4gICovCi1AQCAtOTE2LDcgKzkxNiw3IEBAIGNvbGxlY3Rpb25fbGlzdDo6Y29sbGVj dF9zeW1ib2wgKHN0cnVjdCBzeW1ib2wgKnN5bSwKLSAJCQkJIENPUkVfQUREUiBzY29wZSwKLSAJ CQkJIGludCB0cmFjZV9zdHJpbmcpCi0gewotLSAgdW5zaWduZWQgbG9uZyBsZW47Ci0rICBVTE9O R0VTVCBsZW47Ci0gICB1bnNpZ25lZCBpbnQgcmVnOwotICAgYmZkX3NpZ25lZF92bWEgb2Zmc2V0 OwotICAgaW50IHRyZWF0X2FzX2V4cHIgPSAwOwotQEAgLTkzNyw4ICs5MzcsOCBAQCBjb2xsZWN0 aW9uX2xpc3Q6OmNvbGxlY3Rfc3ltYm9sIChzdHJ1Y3Qgc3ltYm9sICpzeW0sCi0gICAgICAgb2Zm c2V0ID0gU1lNQk9MX1ZBTFVFX0FERFJFU1MgKHN5bSk7Ci0gICAgICAgaWYgKGluZm9fdmVyYm9z ZSkKLSAJewotLQkgIHByaW50Zl9maWx0ZXJlZCAoIkxPQ19TVEFUSUMgJXM6IGNvbGxlY3QgJWxk IGJ5dGVzIGF0ICVzLlxuIiwKLS0JCQkgICBTWU1CT0xfUFJJTlRfTkFNRSAoc3ltKSwgbGVuLAot KwkgIHByaW50Zl9maWx0ZXJlZCAoIkxPQ19TVEFUSUMgJXM6IGNvbGxlY3QgJXMgYnl0ZXMgYXQg JXMuXG4iLAotKwkJCSAgIFNZTUJPTF9QUklOVF9OQU1FIChzeW0pLCBwdWxvbmdlc3QgKGxlbiks Ci0gCQkJICAgcGFkZHJlc3MgKGdkYmFyY2gsIG9mZnNldCkpOwotIAl9Ci0gICAgICAgLyogQSBz dHJ1Y3QgbWF5IGJlIGEgQysrIGNsYXNzIHdpdGggc3RhdGljIGZpZWxkcywgZ28gdG8gZ2VuZXJh bAotQEAgLTk3MCw5ICs5NzAsOSBAQCBjb2xsZWN0aW9uX2xpc3Q6OmNvbGxlY3Rfc3ltYm9sIChz dHJ1Y3Qgc3ltYm9sICpzeW0sCi0gICAgICAgb2Zmc2V0ID0gZnJhbWVfb2Zmc2V0ICsgU1lNQk9M X1ZBTFVFIChzeW0pOwotICAgICAgIGlmIChpbmZvX3ZlcmJvc2UpCi0gCXsKLS0JICBwcmludGZf ZmlsdGVyZWQgKCJMT0NfTE9DQUwgJXM6IENvbGxlY3QgJWxkIGJ5dGVzIGF0IG9mZnNldCAlcyIK LSsJICBwcmludGZfZmlsdGVyZWQgKCJMT0NfTE9DQUwgJXM6IENvbGxlY3QgJXMgYnl0ZXMgYXQg b2Zmc2V0ICVzIgotIAkJCSAgICIgZnJvbSBmcmFtZSBwdHIgcmVnICVkXG4iLAotLQkJCSAgIFNZ TUJPTF9QUklOVF9OQU1FIChzeW0pLCBsZW4sCi0rCQkJICAgU1lNQk9MX1BSSU5UX05BTUUgKHN5 bSksIHB1bG9uZ2VzdCAobGVuKSwKLSAJCQkgICBwYWRkcmVzcyAoZ2RiYXJjaCwgb2Zmc2V0KSwg cmVnKTsKLSAJfQotICAgICAgIGFkZF9tZW1yYW5nZSAoZ2RiYXJjaCwgcmVnLCBvZmZzZXQsIGxl biwgc2NvcGUpOwotQEAgLTk4Miw5ICs5ODIsOSBAQCBjb2xsZWN0aW9uX2xpc3Q6OmNvbGxlY3Rf c3ltYm9sIChzdHJ1Y3Qgc3ltYm9sICpzeW0sCi0gICAgICAgb2Zmc2V0ID0gMDsKLSAgICAgICBp ZiAoaW5mb192ZXJib3NlKQotIAl7Ci0tCSAgcHJpbnRmX2ZpbHRlcmVkICgiTE9DX1JFR1BBUk1f QUREUiAlczogQ29sbGVjdCAlbGQgYnl0ZXMgYXQgb2Zmc2V0ICVzIgotKwkgIHByaW50Zl9maWx0 ZXJlZCAoIkxPQ19SRUdQQVJNX0FERFIgJXM6IENvbGxlY3QgJXMgYnl0ZXMgYXQgb2Zmc2V0ICVz IgotIAkJCSAgICIgZnJvbSByZWcgJWRcbiIsCi0tCQkJICAgU1lNQk9MX1BSSU5UX05BTUUgKHN5 bSksIGxlbiwKLSsJCQkgICBTWU1CT0xfUFJJTlRfTkFNRSAoc3ltKSwgcHVsb25nZXN0IChsZW4p LAotIAkJCSAgIHBhZGRyZXNzIChnZGJhcmNoLCBvZmZzZXQpLCByZWcpOwotIAl9Ci0gICAgICAg YWRkX21lbXJhbmdlIChnZGJhcmNoLCByZWcsIG9mZnNldCwgbGVuLCBzY29wZSk7Ci1AQCAtOTk0 LDkgKzk5NCw5IEBAIGNvbGxlY3Rpb25fbGlzdDo6Y29sbGVjdF9zeW1ib2wgKHN0cnVjdCBzeW1i b2wgKnN5bSwKLSAgICAgICBvZmZzZXQgPSBmcmFtZV9vZmZzZXQgKyBTWU1CT0xfVkFMVUUgKHN5 bSk7Ci0gICAgICAgaWYgKGluZm9fdmVyYm9zZSkKLSAJewotLQkgIHByaW50Zl9maWx0ZXJlZCAo IkxPQ19MT0NBTCAlczogQ29sbGVjdCAlbGQgYnl0ZXMgYXQgb2Zmc2V0ICVzIgotKwkgIHByaW50 Zl9maWx0ZXJlZCAoIkxPQ19MT0NBTCAlczogQ29sbGVjdCAlcyBieXRlcyBhdCBvZmZzZXQgJXMi Ci0gCQkJICAgIiBmcm9tIGZyYW1lIHB0ciByZWcgJWRcbiIsCi0tCQkJICAgU1lNQk9MX1BSSU5U X05BTUUgKHN5bSksIGxlbiwKLSsJCQkgICBTWU1CT0xfUFJJTlRfTkFNRSAoc3ltKSwgcHVsb25n ZXN0IChsZW4pLAotIAkJCSAgIHBhZGRyZXNzIChnZGJhcmNoLCBvZmZzZXQpLCByZWcpOwotIAl9 Ci0gICAgICAgYWRkX21lbXJhbmdlIChnZGJhcmNoLCByZWcsIG9mZnNldCwgbGVuLCBzY29wZSk7 Ci1AQCAtMjQ5Miw3ICsyNDkyLDggQEAgaW5mb19zY29wZV9jb21tYW5kIChjb25zdCBjaGFyICph cmdzX2luLCBpbnQgZnJvbV90dHkpCi0gICBjb25zdCBjaGFyICpzeW1uYW1lOwotICAgY29uc3Qg Y2hhciAqc2F2ZV9hcmdzID0gYXJnc19pbjsKLSAgIHN0cnVjdCBibG9ja19pdGVyYXRvciBpdGVy OwotLSAgaW50IGosIGNvdW50ID0gMDsKLSsgIGludCBjb3VudCA9IDA7Ci0rICBMT05HRVNUIGo7 Ci0gICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaDsKLSAgIGludCByZWdubzsKLSAgIGNvbnN0IGNo YXIgKmFyZ3MgPSBhcmdzX2luOwotQEAgLTI2MzYsOCArMjYzNywxMSBAQCBpbmZvX3Njb3BlX2Nv bW1hbmQgKGNvbnN0IGNoYXIgKmFyZ3NfaW4sIGludCBmcm9tX3R0eSkKLSAJCX0KLSAJICAgIH0K LSAJICBpZiAoU1lNQk9MX1RZUEUgKHN5bSkpCi0tCSAgICBwcmludGZfZmlsdGVyZWQgKCIsIGxl bmd0aCAlZC5cbiIsCi0tCQkJICAgICBUWVBFX0xFTkdUSCAoY2hlY2tfdHlwZWRlZiAoU1lNQk9M X1RZUEUgKHN5bSkpKSk7Ci0rCSAgICB7Ci0rCSAgICAgIFVMT05HRVNUIGxlbiA9IFRZUEVfTEVO R1RIIChjaGVja190eXBlZGVmIChTWU1CT0xfVFlQRSAoc3ltKSkpOwotKwotKwkgICAgICBwcmlu dGZfZmlsdGVyZWQgKCIsIGxlbmd0aCAlcy5cbiIsIHB1bG9uZ2VzdCAobGVuKSk7Ci0rCSAgICB9 Ci0gCX0KLSAgICAgICBpZiAoQkxPQ0tfRlVOQ1RJT04gKGJsb2NrKSkKLSAJYnJlYWs7Ci1kaWZm IC0tZ2l0IGEvZ2RiL3RyYWNlcG9pbnQuaCBiL2dkYi90cmFjZXBvaW50LmgKLS0tLSBhL2dkYi90 cmFjZXBvaW50LmgKLSsrKyBiL2dkYi90cmFjZXBvaW50LmgKLUBAIC0yNjksNyArMjY5LDcgQEAg cHVibGljOgotIAkJCSAgIENPUkVfQUREUiBzY29wZSk7Ci0gICB2b2lkIGFkZF9tZW1yYW5nZSAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gCQkgICAgIGludCB0eXBlLCBiZmRfc2lnbmVkX3Zt YSBiYXNlLAotLQkJICAgICB1bnNpZ25lZCBsb25nIGxlbiwgQ09SRV9BRERSIHNjb3BlKTsKLSsJ CSAgICAgVUxPTkdFU1QgbGVuLCBDT1JFX0FERFIgc2NvcGUpOwotICAgdm9pZCBjb2xsZWN0X3N5 bWJvbCAoc3RydWN0IHN5bWJvbCAqc3ltLAotIAkJICAgICAgIHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoLAotIAkJICAgICAgIGxvbmcgZnJhbWVfcmVnbm8sIGxvbmcgZnJhbWVfb2Zmc2V0LAotZGlm ZiAtLWdpdCBhL2dkYi90eXBlcHJpbnQuYyBiL2dkYi90eXBlcHJpbnQuYwotLS0tIGEvZ2RiL3R5 cGVwcmludC5jCi0rKysgYi9nZGIvdHlwZXByaW50LmMKLUBAIC0xMjAsNyArMTIwLDggQEAgcHJp bnRfb2Zmc2V0X2RhdGE6OnVwZGF0ZSAoc3RydWN0IHR5cGUgKnR5cGUsIHVuc2lnbmVkIGludCBm aWVsZF9pZHgsCi0gICAgIHsKLSAgICAgICAvKiBTaW5jZSB1bmlvbiBmaWVsZHMgZG9uJ3QgaGF2 ZSB0aGUgY29uY2VwdCBvZiBvZmZzZXRzLCB3ZSBqdXN0Ci0gCSBwcmludCB0aGVpciBzaXplcy4g ICovCi0tICAgICAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiLyogICAgICAgICAgICAgICU0 dSAqLyIsIFRZUEVfTEVOR1RIIChmdHlwZSkpOwotKyAgICAgIGZwcmludGZfZmlsdGVyZWQgKHN0 cmVhbSwgIi8qICAgICAgICAgICAgICAlNHMgKi8iLAotKwkJCXB1bG9uZ2VzdCAoVFlQRV9MRU5H VEggKGZ0eXBlKSkpOwotICAgICAgIHJldHVybjsKLSAgICAgfQotIAotQEAgLTE4Myw4ICsxODQs OCBAQCBwcmludF9vZmZzZXRfZGF0YTo6ZmluaXNoIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGxl dmVsLAotIAotICAgZnB1dHNfZmlsdGVyZWQgKCJcbiIsIHN0cmVhbSk7Ci0gICBwcmludF9zcGFj ZXNfZmlsdGVyZWQgKGxldmVsICsgNCArIHByaW50X29mZnNldF9kYXRhOjppbmRlbnRhdGlvbiwg c3RyZWFtKTsKLS0gIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIi8qIHRvdGFsIHNpemUgKGJ5 dGVzKTogJTR1ICovXG4iLAotLQkJICAgIFRZUEVfTEVOR1RIICh0eXBlKSk7Ci0rICBmcHJpbnRm X2ZpbHRlcmVkIChzdHJlYW0sICIvKiB0b3RhbCBzaXplIChieXRlcyk6ICU0cyAqL1xuIiwKLSsJ CSAgICBwdWxvbmdlc3QgKFRZUEVfTEVOR1RIICh0eXBlKSkpOwotIH0KLSAKLSAMCi1kaWZmIC0t Z2l0IGEvZ2RiL3ZhbGFyaXRoLmMgYi9nZGIvdmFsYXJpdGguYwotLS0tIGEvZ2RiL3ZhbGFyaXRo LmMKLSsrKyBiL2dkYi92YWxhcml0aC5jCi1AQCAtMTgyLDcgKzE4Miw3IEBAIHZhbHVlX3N1YnNj cmlwdCAoc3RydWN0IHZhbHVlICphcnJheSwgTE9OR0VTVCBpbmRleCkKLSAgICB0byBkb3VibGVz LCBidXQgbm8gbG9uZ2VyIGRvZXMuICAqLwotIAotIHN0cnVjdCB2YWx1ZSAqCi0tdmFsdWVfc3Vi c2NyaXB0ZWRfcnZhbHVlIChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBMT05HRVNUIGluZGV4LCBpbnQg bG93ZXJib3VuZCkKLSt2YWx1ZV9zdWJzY3JpcHRlZF9ydmFsdWUgKHN0cnVjdCB2YWx1ZSAqYXJy YXksIExPTkdFU1QgaW5kZXgsIExPTkdFU1QgbG93ZXJib3VuZCkKLSB7Ci0gICBzdHJ1Y3QgdHlw ZSAqYXJyYXlfdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFycmF5KSk7Ci0gICBz dHJ1Y3QgdHlwZSAqZWx0X3R5cGUgPSBjaGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9UWVBFIChh cnJheV90eXBlKSk7Ci1AQCAtNjU2LDcgKzY1Niw3IEBAIHZhbHVlX2NvbmNhdCAoc3RydWN0IHZh bHVlICphcmcxLCBzdHJ1Y3QgdmFsdWUgKmFyZzIpCi0gICBzdHJ1Y3QgdmFsdWUgKmludmFsMTsK LSAgIHN0cnVjdCB2YWx1ZSAqaW52YWwyOwotICAgc3RydWN0IHZhbHVlICpvdXR2YWwgPSBOVUxM OwotLSAgaW50IGludmFsMWxlbiwgaW52YWwybGVuOwotKyAgc3NpemVfdCBpbnZhbDFsZW4sIGlu dmFsMmxlbjsKLSAgIGludCBjb3VudCwgaWR4OwotICAgY2hhciBpbmNoYXI7Ci0gICBzdHJ1Y3Qg dHlwZSAqdHlwZTEgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcxKSk7Ci1AQCAtMTQx Niw3ICsxNDE2LDcgQEAgdmFsdWVfYmlub3AgKHN0cnVjdCB2YWx1ZSAqYXJnMSwgc3RydWN0IHZh bHVlICphcmcyLCBlbnVtIGV4cF9vcGNvZGUgb3ApCi0gaW50Ci0gdmFsdWVfbG9naWNhbF9ub3Qg KHN0cnVjdCB2YWx1ZSAqYXJnMSkKLSB7Ci0tICBpbnQgbGVuOwotKyAgTE9OR0VTVCBsZW47Ci0g ICBjb25zdCBnZGJfYnl0ZSAqcDsKLSAgIHN0cnVjdCB0eXBlICp0eXBlMTsKLSAKLUBAIC0xNDQ0 LDExICsxNDQ0LDExIEBAIHZhbHVlX2xvZ2ljYWxfbm90IChzdHJ1Y3QgdmFsdWUgKmFyZzEpCi0g c3RhdGljIGludAotIHZhbHVlX3N0cmNtcCAoc3RydWN0IHZhbHVlICphcmcxLCBzdHJ1Y3QgdmFs dWUgKmFyZzIpCi0gewotLSAgaW50IGxlbjEgPSBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAoYXJn MSkpOwotLSAgaW50IGxlbjIgPSBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAoYXJnMikpOwotKyAg TE9OR0VTVCBsZW4xID0gVFlQRV9MRU5HVEggKHZhbHVlX3R5cGUgKGFyZzEpKTsKLSsgIExPTkdF U1QgbGVuMiA9IFRZUEVfTEVOR1RIICh2YWx1ZV90eXBlIChhcmcyKSk7Ci0gICBjb25zdCBnZGJf Ynl0ZSAqczEgPSB2YWx1ZV9jb250ZW50cyAoYXJnMSk7Ci0gICBjb25zdCBnZGJfYnl0ZSAqczIg PSB2YWx1ZV9jb250ZW50cyAoYXJnMik7Ci0tICBpbnQgaSwgbGVuID0gbGVuMSA8IGxlbjIgPyBs ZW4xIDogbGVuMjsKLSsgIExPTkdFU1QgaSwgbGVuID0gbGVuMSA8IGxlbjIgPyBsZW4xIDogbGVu MjsKLSAKLSAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykKLSAgICAgewotZGlmZiAtLWdpdCBh L2dkYi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYwotLS0tIGEvZ2RiL3ZhbG9wcy5jCi0rKysgYi9n ZGIvdmFsb3BzLmMKLUBAIC04MSw3ICs4MSw3IEBAIHN0YXRpYyBlbnVtIG9sb2FkX2NsYXNzaWZp Y2F0aW9uIGNsYXNzaWZ5X29sb2FkX21hdGNoCi0gICAoY29uc3QgYmFkbmVzc192ZWN0b3IgJiwg aW50LCBpbnQpOwotIAotIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKnZhbHVlX3N0cnVjdF9lbHRfZm9y X3JlZmVyZW5jZSAoc3RydWN0IHR5cGUgKiwKLS0JCQkJCQkgICAgIGludCwgc3RydWN0IHR5cGUg KiwKLSsJCQkJCQkgICAgIExPTkdFU1QsIHN0cnVjdCB0eXBlICosCi0gCQkJCQkJICAgICBjb25z dCBjaGFyICosCi0gCQkJCQkJICAgICBzdHJ1Y3QgdHlwZSAqLAotIAkJCQkJCSAgICAgaW50LCBl bnVtIG5vc2lkZSk7Ci1AQCAtMTcxLDcgKzE3MSw3IEBAIGZpbmRfZnVuY3Rpb25faW5faW5mZXJp b3IgKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmpmaWxlICoqb2JqZl9wKQotICAgIHNwYWNl LiAgKi8KLSAKLSBzdHJ1Y3QgdmFsdWUgKgotLXZhbHVlX2FsbG9jYXRlX3NwYWNlX2luX2luZmVy aW9yIChpbnQgbGVuKQotK3ZhbHVlX2FsbG9jYXRlX3NwYWNlX2luX2luZmVyaW9yIChMT05HRVNU IGxlbikKLSB7Ci0gICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZjsKLSAgIHN0cnVjdCB2YWx1ZSAqdmFs ID0gZmluZF9mdW5jdGlvbl9pbl9pbmZlcmlvciAoIm1hbGxvYyIsICZvYmpmKTsKLUBAIC0zODYs MTIgKzM4NiwxMiBAQCB2YWx1ZV9jYXN0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHZhbHVl ICphcmcyKQotICAgaWYgKGNvZGUxID09IFRZUEVfQ09ERV9BUlJBWSkKLSAgICAgewotICAgICAg IHN0cnVjdCB0eXBlICplbGVtZW50X3R5cGUgPSBUWVBFX1RBUkdFVF9UWVBFICh0eXBlKTsKLS0g ICAgICB1bnNpZ25lZCBlbGVtZW50X2xlbmd0aCA9IFRZUEVfTEVOR1RIIChjaGVja190eXBlZGVm IChlbGVtZW50X3R5cGUpKTsKLSsgICAgICBVTE9OR0VTVCBlbGVtZW50X2xlbmd0aCA9IFRZUEVf TEVOR1RIIChjaGVja190eXBlZGVmIChlbGVtZW50X3R5cGUpKTsKLSAKLSAgICAgICBpZiAoZWxl bWVudF9sZW5ndGggPiAwICYmIFRZUEVfQVJSQVlfVVBQRVJfQk9VTkRfSVNfVU5ERUZJTkVEICh0 eXBlKSkKLSAJewotIAkgIHN0cnVjdCB0eXBlICpyYW5nZV90eXBlID0gVFlQRV9JTkRFWF9UWVBF ICh0eXBlKTsKLS0JICBpbnQgdmFsX2xlbmd0aCA9IFRZUEVfTEVOR1RIICh0eXBlMik7Ci0rCSAg TE9OR0VTVCB2YWxfbGVuZ3RoID0gVFlQRV9MRU5HVEggKHR5cGUyKTsKLSAJICBMT05HRVNUIGxv d19ib3VuZCwgaGlnaF9ib3VuZCwgbmV3X2xlbmd0aDsKLSAKLSAJICBpZiAoZ2V0X2Rpc2NyZXRl X2JvdW5kcyAocmFuZ2VfdHlwZSwgJmxvd19ib3VuZCwgJmhpZ2hfYm91bmQpIDwgMCkKLUBAIC0x MDQzLDcgKzEwNDMsNyBAQCB2YWx1ZV9hc3NpZ24gKHN0cnVjdCB2YWx1ZSAqdG92YWwsIHN0cnVj dCB2YWx1ZSAqZnJvbXZhbCkKLSAgICAgICB7Ci0gCWNvbnN0IGdkYl9ieXRlICpkZXN0X2J1ZmZl cjsKLSAJQ09SRV9BRERSIGNoYW5nZWRfYWRkcjsKLS0JaW50IGNoYW5nZWRfbGVuOwotKwlMT05H RVNUIGNoYW5nZWRfbGVuOwotICAgICAgICAgZ2RiX2J5dGUgYnVmZmVyW3NpemVvZiAoTE9OR0VT VCldOwotIAotIAlpZiAodmFsdWVfYml0c2l6ZSAodG92YWwpKQotQEAgLTMzMzUsNyArMzMzNSw3 IEBAIGdldF9iYXNlY2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAqdnQsIHN0cnVjdCB0eXBlICpj bHMsCi0gICAgdGhlIGZvcm0gIkRPTUFJTjo6TkFNRSIuICAqLwotIAotIHN0YXRpYyBzdHJ1Y3Qg dmFsdWUgKgotLXZhbHVlX3N0cnVjdF9lbHRfZm9yX3JlZmVyZW5jZSAoc3RydWN0IHR5cGUgKmRv bWFpbiwgaW50IG9mZnNldCwKLSt2YWx1ZV9zdHJ1Y3RfZWx0X2Zvcl9yZWZlcmVuY2UgKHN0cnVj dCB0eXBlICpkb21haW4sIExPTkdFU1Qgb2Zmc2V0LAotIAkJCQlzdHJ1Y3QgdHlwZSAqY3VydHlw ZSwgY29uc3QgY2hhciAqbmFtZSwKLSAJCQkJc3RydWN0IHR5cGUgKmludHlwZSwgCi0gCQkJCWlu dCB3YW50X2FkZHJlc3MsCi1AQCAtMzM2OSw3ICszMzY5LDcgQEAgdmFsdWVfc3RydWN0X2VsdF9m b3JfcmVmZXJlbmNlIChzdHJ1Y3QgdHlwZSAqZG9tYWluLCBpbnQgb2Zmc2V0LAotIAkgIGlmICh3 YW50X2FkZHJlc3MpCi0gCSAgICByZXR1cm4gdmFsdWVfZnJvbV9sb25nZXN0Ci0gCSAgICAgIChs b29rdXBfbWVtYmVycHRyX3R5cGUgKFRZUEVfRklFTERfVFlQRSAodCwgaSksIGRvbWFpbiksCi0t CSAgICAgICBvZmZzZXQgKyAoTE9OR0VTVCkgKFRZUEVfRklFTERfQklUUE9TICh0LCBpKSA+PiAz KSk7Ci0rCSAgICAgICBvZmZzZXQgKyAoVFlQRV9GSUVMRF9CSVRQT1MgKHQsIGkpID4+IDMpKTsK LSAJICBlbHNlIGlmIChub3NpZGUgIT0gRVZBTF9OT1JNQUwpCi0gCSAgICByZXR1cm4gYWxsb2Nh dGVfdmFsdWUgKFRZUEVfRklFTERfVFlQRSAodCwgaSkpOwotIAkgIGVsc2UKLUBAIC0zNTQ4LDcg KzM1NDgsNyBAQCB2YWx1ZV9zdHJ1Y3RfZWx0X2Zvcl9yZWZlcmVuY2UgKHN0cnVjdCB0eXBlICpk b21haW4sIGludCBvZmZzZXQsCi0gICBmb3IgKGkgPSBUWVBFX05fQkFTRUNMQVNTRVMgKHQpIC0g MTsgaSA+PSAwOyBpLS0pCi0gICAgIHsKLSAgICAgICBzdHJ1Y3QgdmFsdWUgKnY7Ci0tICAgICAg aW50IGJhc2Vfb2Zmc2V0OwotKyAgICAgIExPTkdFU1QgYmFzZV9vZmZzZXQ7Ci0gCi0gICAgICAg aWYgKEJBU0VUWVBFX1ZJQV9WSVJUVUFMICh0LCBpKSkKLSAJYmFzZV9vZmZzZXQgPSAwOwotQEAg LTM2OTcsNyArMzY5Nyw3IEBAIHZhbHVlX3J0dGlfaW5kaXJlY3RfdHlwZSAoc3RydWN0IHZhbHVl ICp2LCBpbnQgKmZ1bGwsCi0gc3RydWN0IHZhbHVlICoKLSB2YWx1ZV9mdWxsX29iamVjdCAoc3Ry dWN0IHZhbHVlICphcmdwLCAKLSAJCSAgIHN0cnVjdCB0eXBlICpydHlwZSwgCi0tCQkgICBpbnQg eGZ1bGwsIGludCB4dG9wLAotKwkJICAgaW50IHhmdWxsLCBMT05HRVNUIHh0b3AsCi0gCQkgICBp bnQgeHVzaW5nX2VuYykKLSB7Ci0gICBzdHJ1Y3QgdHlwZSAqcmVhbF90eXBlOwotZGlmZiAtLWdp dCBhL2dkYi92YWxwcmludC5jIGIvZ2RiL3ZhbHByaW50LmMKLS0tLSBhL2dkYi92YWxwcmludC5j Ci0rKysgYi9nZGIvdmFscHJpbnQuYwotQEAgLTg3OSw3ICs4NzksNyBAQCBnZW5lcmljX3ZhbF9w cmludF9jb21wbGV4IChzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAKLSB2b2lkCi0gZ2VuZXJpY192YWxf cHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLAotLQkJICAgaW50IGVtYmVkZGVkX29mZnNldCwgQ09S RV9BRERSIGFkZHJlc3MsCi0rCQkgICBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERS IGFkZHJlc3MsCi0gCQkgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLSAJ CSAgIHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCi0gCQkgICBjb25zdCBzdHJ1Y3QgdmFs dWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucywKLUBAIC0xNzcyLDcgKzE3NzIsNyBAQCBwcmludF9k ZWNpbWFsX2NoYXJzIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBjb25zdCBnZGJfYnl0ZSAqdmFs YWRkciwKLSAKLSB2b2lkCi0gcHJpbnRfaGV4X2NoYXJzIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt LCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKLS0JCSB1bnNpZ25lZCBsZW4sIGVudW0gYmZkX2Vu ZGlhbiBieXRlX29yZGVyLAotKwkJIFVMT05HRVNUIGxlbiwgZW51bSBiZmRfZW5kaWFuIGJ5dGVf b3JkZXIsCi0gCQkgYm9vbCB6ZXJvX3BhZCkKLSB7Ci0gICBjb25zdCBnZGJfYnl0ZSAqcDsKLUBA IC0xOTI1LDE3ICsxOTI1LDE3IEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5 cGUgKnR5cGUsCi0gCQkJICBpbnQgcmVjdXJzZSwKLSAJCQkgIHN0cnVjdCB2YWx1ZSAqdmFsLAot IAkJCSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCi0tCQkJICB1 bnNpZ25lZCBpbnQgaSkKLSsJCQkgIFVMT05HRVNUIGkpCi0gewotICAgdW5zaWduZWQgaW50IHRo aW5nc19wcmludGVkID0gMDsKLS0gIHVuc2lnbmVkIGxlbjsKLSsgIFVMT05HRVNUIGxlbjsKLSAg IHN0cnVjdCB0eXBlICplbHR0eXBlLCAqaW5kZXhfdHlwZSwgKmJhc2VfaW5kZXhfdHlwZTsKLS0g IHVuc2lnbmVkIGVsdGxlbjsKLSsgIFVMT05HRVNUIGVsdGxlbjsKLSAgIC8qIFBvc2l0aW9uIG9m IHRoZSBhcnJheSBlbGVtZW50IHdlIGFyZSBleGFtaW5pbmcgdG8gc2VlCi0gICAgICB3aGV0aGVy IGl0IGlzIHJlcGVhdGVkLiAgKi8KLS0gIHVuc2lnbmVkIGludCByZXAxOwotKyAgVUxPTkdFU1Qg cmVwMTsKLSAgIC8qIE51bWJlciBvZiByZXBldGl0aW9ucyB3ZSBoYXZlIGRldGVjdGVkIHNvIGZh ci4gICovCi0tICB1bnNpZ25lZCBpbnQgcmVwczsKLSsgIFVMT05HRVNUIHJlcHM7Ci0gICBMT05H RVNUIGxvd19ib3VuZCwgaGlnaF9ib3VuZDsKLSAgIExPTkdFU1QgbG93X3BvcywgaGlnaF9wb3M7 Ci0gCi1AQCAtMjAyNSw3ICsyMDI1LDcgQEAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzIChzdHJ1 Y3QgdHlwZSAqdHlwZSwKLSAJCSAgICAgYWRkcmVzcywgc3RyZWFtLCByZWN1cnNlICsgMSwgdmFs LCBvcHRpb25zLAotIAkJICAgICBjdXJyZW50X2xhbmd1YWdlKTsKLSAJICBhbm5vdGF0ZV9lbHRf cmVwIChyZXBzKTsKLS0JICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIgPHJlcGVhdHMgJXUg dGltZXM+IiwgcmVwcyk7Ci0rCSAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiIDxyZXBlYXRz ICVzIHRpbWVzPiIsIHB1bG9uZ2VzdCAocmVwcykpOwotIAkgIGFubm90YXRlX2VsdF9yZXBfZW5k ICgpOwotIAotIAkgIGkgPSByZXAxIC0gMTsKLUBAIC0yNjY3LDcgKzI2NjcsNyBAQCBwcmludF9j b252ZXJ0ZWRfY2hhcnNfdG9fb2JzdGFjayAoc3RydWN0IG9ic3RhY2sgKm9ic3RhY2ssCi0gCi0g dm9pZAotIGdlbmVyaWNfcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0 eXBlICp0eXBlLCAKLS0JCSAgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywgdW5zaWduZWQgaW50IGxl bmd0aCwgCi0rCQkgIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsIFVMT05HRVNUIGxlbmd0aCwKLSAJ CSAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKLSAJCSAgaW50IHF1 b3RlX2NoYXIsIGludCBjX3N0eWxlX3Rlcm1pbmF0b3IsCi0gCQkgIGNvbnN0IHN0cnVjdCB2YWx1 ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotZGlmZiAtLWdpdCBhL2dkYi92YWxwcmludC5oIGIv Z2RiL3ZhbHByaW50LmgKLS0tLSBhL2dkYi92YWxwcmludC5oCi0rKysgYi9nZGIvdmFscHJpbnQu aAotQEAgLTExOSw3ICsxMTksNyBAQCBleHRlcm4gdm9pZCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVu dHMgKHN0cnVjdCB0eXBlICosIExPTkdFU1QsCi0gCQkJCSAgICAgIENPUkVfQUREUiwgc3RydWN0 IHVpX2ZpbGUgKiwgaW50LAotIAkJCQkgICAgICBzdHJ1Y3QgdmFsdWUgKiwKLSAJCQkJICAgICAg Y29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKiwKLS0JCQkJICAgICAgdW5zaWduZWQg aW50KTsKLSsJCQkJICAgICAgVUxPTkdFU1QpOwotIAotIGV4dGVybiB2b2lkIHZhbF9wcmludF9z Y2FsYXJfZm9ybWF0dGVkIChzdHJ1Y3QgdHlwZSAqLAotIAkJCQkJTE9OR0VTVCwKLUBAIC0xMzgs NyArMTM4LDcgQEAgZXh0ZXJuIHZvaWQgcHJpbnRfZGVjaW1hbF9jaGFycyAoc3RydWN0IHVpX2Zp bGUgKiwgY29uc3QgZ2RiX2J5dGUgKiwKLSAJCQkJIHVuc2lnbmVkIGludCwgYm9vbCwgZW51bSBi ZmRfZW5kaWFuKTsKLSAKLSBleHRlcm4gdm9pZCBwcmludF9oZXhfY2hhcnMgKHN0cnVjdCB1aV9m aWxlICosIGNvbnN0IGdkYl9ieXRlICosCi0tCQkJICAgICB1bnNpZ25lZCBpbnQsIGVudW0gYmZk X2VuZGlhbiwgYm9vbCk7Ci0rCQkJICAgICBVTE9OR0VTVCwgZW51bSBiZmRfZW5kaWFuLCBib29s KTsKLSAKLSBleHRlcm4gdm9pZCBwcmludF9jaGFyX2NoYXJzIChzdHJ1Y3QgdWlfZmlsZSAqLCBz dHJ1Y3QgdHlwZSAqLAotIAkJCSAgICAgIGNvbnN0IGdkYl9ieXRlICosIHVuc2lnbmVkIGludCwg ZW51bSBiZmRfZW5kaWFuKTsKLUBAIC0xOTIsNyArMTkyLDcgQEAgc3RydWN0IGdlbmVyaWNfdmFs X3ByaW50X2RlY29yYXRpb25zCi0gCi0gCi0gZXh0ZXJuIHZvaWQgZ2VuZXJpY192YWxfcHJpbnQg KHN0cnVjdCB0eXBlICp0eXBlLAotLQkJCSAgICAgICBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JF X0FERFIgYWRkcmVzcywKLSsJCQkgICAgICAgTE9OR0VTVCBlbWJlZGRlZF9vZmZzZXQsIENPUkVf QUREUiBhZGRyZXNzLAotIAkJCSAgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVj dXJzZSwKLSAJCQkgICAgICAgc3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKLSAJCQkgICAg ICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCi1AQCAtMjAyLDcg KzIwMiw3IEBAIGV4dGVybiB2b2lkIGdlbmVyaWNfZW1pdF9jaGFyIChpbnQgYywgc3RydWN0IHR5 cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCi0gCQkJICAgICAgIGludCBxdW90ZXIs IGNvbnN0IGNoYXIgKmVuY29kaW5nKTsKLSAKLSBleHRlcm4gdm9pZCBnZW5lcmljX3ByaW50c3Ry IChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgCi0tCQkJICAgICAg Y29uc3QgZ2RiX2J5dGUgKnN0cmluZywgdW5zaWduZWQgaW50IGxlbmd0aCwgCi0rCQkJICAgICAg Y29uc3QgZ2RiX2J5dGUgKnN0cmluZywgVUxPTkdFU1QgbGVuZ3RoLAotIAkJCSAgICAgIGNvbnN0 IGNoYXIgKmVuY29kaW5nLCBpbnQgZm9yY2VfZWxsaXBzZXMsCi0gCQkJICAgICAgaW50IHF1b3Rl X2NoYXIsIGludCBjX3N0eWxlX3Rlcm1pbmF0b3IsCi0gCQkJICAgICAgY29uc3Qgc3RydWN0IHZh bHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpOwotZGlmZiAtLWdpdCBhL2dkYi92YWx1ZS5jIGIv Z2RiL3ZhbHVlLmMKLS0tLSBhL2dkYi92YWx1ZS5jCi0rKysgYi9nZGIvdmFsdWUuYwotQEAgLTM4 Myw3ICszODMsOCBAQCB2YWx1ZV9ieXRlc19hdmFpbGFibGUgKGNvbnN0IHN0cnVjdCB2YWx1ZSAq dmFsdWUsCi0gfQotIAotIGludAotLXZhbHVlX2JpdHNfYW55X29wdGltaXplZF9vdXQgKGNvbnN0 IHN0cnVjdCB2YWx1ZSAqdmFsdWUsIGludCBiaXRfb2Zmc2V0LCBpbnQgYml0X2xlbmd0aCkKLSt2 YWx1ZV9iaXRzX2FueV9vcHRpbWl6ZWRfb3V0IChjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBM T05HRVNUIGJpdF9vZmZzZXQsCi0rCQkJICAgICAgTE9OR0VTVCBiaXRfbGVuZ3RoKQotIHsKLSAg IGdkYl9hc3NlcnQgKCF2YWx1ZS0+bGF6eSk7Ci0gCi1AQCAtODMxLDggKzgzMiw4IEBAIGZpbmRf Zmlyc3RfcmFuZ2Vfb3ZlcmxhcF9hbmRfbWF0Y2ggKHN0cnVjdCByYW5nZXNfYW5kX2lkeCAqcnAx LAotICAgIFJldHVybiB0cnVlIGlmIHRoZSBhdmFpbGFibGUgYml0cyBtYXRjaC4gICovCi0gCi0g c3RhdGljIGJvb2wKLS12YWx1ZV9jb250ZW50c19iaXRzX2VxIChjb25zdCBzdHJ1Y3QgdmFsdWUg KnZhbDEsIGludCBvZmZzZXQxLAotLQkJCWNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsMiwgaW50IG9m ZnNldDIsCi0rdmFsdWVfY29udGVudHNfYml0c19lcSAoY29uc3Qgc3RydWN0IHZhbHVlICp2YWwx LCBMT05HRVNUIG9mZnNldDEsCi0rCQkJY29uc3Qgc3RydWN0IHZhbHVlICp2YWwyLCBMT05HRVNU IG9mZnNldDIsCi0gCQkJaW50IGxlbmd0aCkKLSB7Ci0gICAvKiBFYWNoIGFycmF5IGVsZW1lbnQg Y29ycmVzcG9uZHMgdG8gYSByYW5nZXMgc291cmNlICh1bmF2YWlsYWJsZSwKLUBAIC0xNDIzLDcg KzE0MjQsOCBAQCB2YWx1ZV9vcHRpbWl6ZWRfb3V0IChzdHJ1Y3QgdmFsdWUgKnZhbHVlKQotICAg IHRoZSBmb2xsb3dpbmcgTEVOR1RIIGJ5dGVzLiAgKi8KLSAKLSB2b2lkCi0tbWFya192YWx1ZV9i eXRlc19vcHRpbWl6ZWRfb3V0IChzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBpbnQgb2Zmc2V0LCBpbnQg bGVuZ3RoKQotK21hcmtfdmFsdWVfYnl0ZXNfb3B0aW1pemVkX291dCAoc3RydWN0IHZhbHVlICp2 YWx1ZSwgTE9OR0VTVCBvZmZzZXQsCi0rCQkJCUxPTkdFU1QgbGVuZ3RoKQotIHsKLSAgIG1hcmtf dmFsdWVfYml0c19vcHRpbWl6ZWRfb3V0ICh2YWx1ZSwKLSAJCQkJIG9mZnNldCAqIFRBUkdFVF9D SEFSX0JJVCwKLWRpZmYgLS1naXQgYS9nZGIvdmFsdWUuaCBiL2dkYi92YWx1ZS5oCi0tLS0gYS9n ZGIvdmFsdWUuaAotKysrIGIvZ2RiL3ZhbHVlLmgKLUBAIC0yNzQsNyArMjc0LDcgQEAgc3RydWN0 IGx2YWxfZnVuY3MKLSAgIC8qIElmIG5vbi1OVUxMLCB0aGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5l IHdoZXRoZXIgdGhlIGluZGljYXRlZCBiaXRzCi0gICAgICBvZiBWQUxVRSBhcmUgYSBzeW50aGV0 aWMgcG9pbnRlci4gICovCi0gICBpbnQgKCpjaGVja19zeW50aGV0aWNfcG9pbnRlcikgKGNvbnN0 IHN0cnVjdCB2YWx1ZSAqdmFsdWUsCi0tCQkJCSAgTE9OR0VTVCBvZmZzZXQsIGludCBsZW5ndGgp OwotKwkJCQkgIExPTkdFU1Qgb2Zmc2V0LCBMT05HRVNUIGxlbmd0aCk7Ci0gCi0gICAvKiBSZXR1 cm4gYSBkdXBsaWNhdGUgb2YgVkFMVUUncyBjbG9zdXJlLCBmb3IgdXNlIGluIGEgbmV3IHZhbHVl LgotICAgICAgVGhpcyBtYXkgc2ltcGx5IHJldHVybiB0aGUgc2FtZSBjbG9zdXJlLCBpZiBWQUxV RSdzIGlzCi1AQCAtNDA1LDcgKzQwNSw4IEBAIGV4dGVybiBpbnQgdmFsdWVfb3B0aW1pemVkX291 dCAoc3RydWN0IHZhbHVlICp2YWx1ZSk7Ci0gICAgb3RoZXJ3aXNlLiAgKi8KLSAKLSBleHRlcm4g aW50IHZhbHVlX2JpdHNfYW55X29wdGltaXplZF9vdXQgKGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFs dWUsCi0tCQkJCQkgaW50IGJpdF9vZmZzZXQsIGludCBiaXRfbGVuZ3RoKTsKLSsJCQkJCSBMT05H RVNUIGJpdF9vZmZzZXQsCi0rCQkJCQkgTE9OR0VTVCBiaXRfbGVuZ3RoKTsKLSAKLSAvKiBMaWtl IHZhbHVlX29wdGltaXplZF9vdXQsIGJ1dCByZXR1cm4gdHJ1ZSBpZmYgdGhlIHdob2xlIHZhbHVl IGlzCi0gICAgb3B0aW1pemVkIG91dC4gICovCi1AQCAtNDE1LDcgKzQxNiw3IEBAIGV4dGVybiBp bnQgdmFsdWVfZW50aXJlbHlfb3B0aW1pemVkX291dCAoc3RydWN0IHZhbHVlICp2YWx1ZSk7Ci0g ICAgTEVOR1RIIGJ5dGVzIGFzIG9wdGltaXplZCBvdXQuICAqLwotIAotIGV4dGVybiB2b2lkIG1h cmtfdmFsdWVfYnl0ZXNfb3B0aW1pemVkX291dCAoc3RydWN0IHZhbHVlICp2YWx1ZSwKLS0JCQkJ CSAgICBpbnQgb2Zmc2V0LCBpbnQgbGVuZ3RoKTsKLSsJCQkJCSAgICBMT05HRVNUIG9mZnNldCwg TE9OR0VTVCBsZW5ndGgpOwotIAotIC8qIE1hcmsgVkFMVUUncyBjb250ZW50IGJpdHMgc3RhcnRp bmcgYXQgT0ZGU0VUIGFuZCBleHRlbmRpbmcgZm9yCi0gICAgTEVOR1RIIGJpdHMgYXMgb3B0aW1p emVkIG91dC4gICovCi1AQCAtODUwLDEyICs4NTEsMTEgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAq dmFsdWVfcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKmFyZzEsIExPTkdFU1Qgb2Zmc2V0 LAotIAkJCQkJICAgIGludCBmaWVsZG5vLAotIAkJCQkJICAgIHN0cnVjdCB0eXBlICphcmdfdHlw ZSk7Ci0gCi0tCi0gZXh0ZXJuIHN0cnVjdCB0eXBlICp2YWx1ZV9ydHRpX2luZGlyZWN0X3R5cGUg KHN0cnVjdCB2YWx1ZSAqLCBpbnQgKiwgTE9OR0VTVCAqLAotIAkJCQkJICAgICAgaW50ICopOwot IAotIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2Z1bGxfb2JqZWN0IChzdHJ1Y3QgdmFsdWUg Kiwgc3RydWN0IHR5cGUgKiwgaW50LAotLQkJCQkJaW50LCBpbnQpOwotKwkJCQkJTE9OR0VTVCwg aW50KTsKLSAKLSBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9jYXN0X3BvaW50ZXJzIChzdHJ1 Y3QgdHlwZSAqLCBzdHJ1Y3QgdmFsdWUgKiwgaW50KTsKLSAKLUBAIC0xMTQ4LDEwICsxMTQ4LDEx IEBAIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2xpdGVyYWxfY29tcGxleCAoc3RydWN0IHZh bHVlICosIHN0cnVjdCB2YWx1ZSAqLAotIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKmZpbmRfZnVuY3Rp b25faW5faW5mZXJpb3IgKGNvbnN0IGNoYXIgKiwKLSAJCQkJCQlzdHJ1Y3Qgb2JqZmlsZSAqKik7 Ci0gCi0tZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfYWxsb2NhdGVfc3BhY2VfaW5faW5mZXJp b3IgKGludCk7Ci0rZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfYWxsb2NhdGVfc3BhY2VfaW5f aW5mZXJpb3IgKExPTkdFU1QpOwotIAotIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX3N1YnNj cmlwdGVkX3J2YWx1ZSAoc3RydWN0IHZhbHVlICphcnJheSwKLS0JCQkJCSAgICAgICBMT05HRVNU IGluZGV4LCBpbnQgbG93ZXJib3VuZCk7Ci0rCQkJCQkgICAgICAgTE9OR0VTVCBpbmRleCwKLSsJ CQkJCSAgICAgICBMT05HRVNUIGxvd2VyYm91bmQpOwotIAotIC8qIFVzZXIgZnVuY3Rpb24gaGFu ZGxlci4gICovCi0gCi1kaWZmIC0tZ2l0IGEvZ2RiL3g4Ni1uYXQuYyBiL2dkYi94ODYtbmF0LmMK LS0tLSBhL2dkYi94ODYtbmF0LmMKLSsrKyBiL2dkYi94ODYtbmF0LmMKLUBAIC0xNzMsNyArMTcz LDcgQEAgeDg2X3JlbW92ZV93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKLSAg ICBhZGRyZXNzIEFERFIgYW5kIHdob3NlIGxlbmd0aCBpcyBMRU4gYnl0ZXMuICAqLwotIAotIGlu dAotLXg4Nl9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQg bGVuKQotK3g4Nl9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBM T05HRVNUIGxlbikKLSB7Ci0gICBzdHJ1Y3QgeDg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUKLSAg ICAgPSB4ODZfZGVidWdfcmVnX3N0YXRlIChpbmZlcmlvcl9wdGlkLnBpZCAoKSk7Ci1kaWZmIC0t Z2l0IGEvZ2RiL3g4Ni1uYXQuaCBiL2dkYi94ODYtbmF0LmgKLS0tLSBhL2dkYi94ODYtbmF0LmgK LSsrKyBiL2dkYi94ODYtbmF0LmgKLUBAIC00OSw3ICs0OSw3IEBAIGV4dGVybiB2b2lkIHg4Nl9m b3JnZXRfcHJvY2VzcyAocGlkX3QgcGlkKTsKLSAgICBkZWZpbml0aW9ucy4gICovCi0gCi0gZXh0 ZXJuIGludCB4ODZfY2FuX3VzZV9od19icmVha3BvaW50IChlbnVtIGJwdHlwZSB0eXBlLCBpbnQg Y250LCBpbnQgb3RoZXJ0eXBlKTsKLS1leHRlcm4gaW50IHg4Nl9yZWdpb25fb2tfZm9yX2h3X3dh dGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKTsKLStleHRlcm4gaW50IHg4Nl9yZWdp b25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbik7Ci0g ZXh0ZXJuIGludCB4ODZfc3RvcHBlZF9ieV93YXRjaHBvaW50ICgpOwotIGV4dGVybiBpbnQgeDg2 X3N0b3BwZWRfZGF0YV9hZGRyZXNzIChDT1JFX0FERFIgKmFkZHJfcCk7Ci0gZXh0ZXJuIGludCB4 ODZfaW5zZXJ0X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLAotQEAgLTc1LDcg Kzc1LDcgQEAgc3RydWN0IHg4Nl9uYXRfdGFyZ2V0IDogcHVibGljIEJhc2VUYXJnZXQKLSAgIGlu dCBjYW5fdXNlX2h3X2JyZWFrcG9pbnQgKGVudW0gYnB0eXBlIHR5cGUsIGludCBjbnQsIGludCBv dGhlcnR5cGUpIG92ZXJyaWRlCi0gICB7IHJldHVybiB4ODZfY2FuX3VzZV9od19icmVha3BvaW50 ICh0eXBlLCBjbnQsIG90aGVydHlwZSk7IH0KLSAKLS0gIGludCByZWdpb25fb2tfZm9yX2h3X3dh dGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKSBvdmVycmlkZQotKyAgaW50IHJlZ2lv bl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuKSBvdmVy cmlkZQotICAgeyByZXR1cm4geDg2X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoYWRkciwg bGVuKTsgfQotIAotICAgaW50IGluc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50 IGxlbiwKCmRpZmYgLS1naXQgYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjFvZjI1LnBhdGNoIGIv Z2RiLXJoYno3OTU0MjQtYml0cG9zLTIxb2YyNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggYjE3OGRiMi4uMDAwMDAwMAotLS0gYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjFv ZjI1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTgxICswLDAgQEAKLUZyb20gRkVET1JBX1BB VENIRVMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMg PGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIw MAotU3ViamVjdDogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIxb2YyNS5wYXRjaAotCi07OyBGaXgg YEdEQiBjYW5ub3QgYWNjZXNzIHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0 aGFuIDI1Nk1CJwotOzsgKFJIIEJaIDc5NTQyNCkuCi07Oz1wdXNoCi0KLWh0dHA6Ly9zb3VyY2V3 YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEyLTA5L21zZzAwNjMyLmh0bWwKLQotLS1NUF8vUG5M NmwzTFVzWFdwWi9vbHFhd1dsemIKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1V Uy1BU0NJSQotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdAotQ29udGVudC1EaXNwb3Np dGlvbjogaW5saW5lCi0KLUhpLAotCi1UaGlzIGlzIHBhcnQgdHdvIG9mIHRoZSBiaXRwb3MgZXhw YW5zaW9uIHBhdGNoLiAgVGhpcyBpbXBsZW1lbnRzIGNoZWNrcwotaW4gc29tZSBwbGFjZXMgaW4g dGhlIGNvZGUgdG8gZW5zdXJlIHRoYXQgYSB0eXBlIHNpemUgaW4gVUxPTkdFU1QgaXMKLXNtYWxs IGVub3VnaCB0byBmaXQgaW50byBob3N0IG1lbW9yeS4gIFRlc3RlZCBmb3IgcmVncmVzc2lvbnMg b24geDg2XzY0Ci1GZWRvcmEgMTYuCi0KLVJlZ2FyZHMsCi1TaWRkaGVzaAotCi0tLU1QXy9Qbkw2 bDNMVXNYV3BaL29scWF3V2x6YgotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluCi1Db250ZW50LVRy YW5zZmVyLUVuY29kaW5nOiBxdW90ZWQtcHJpbnRhYmxlCi1Db250ZW50LURpc3Bvc2l0aW9uOiBh dHRhY2htZW50OyBmaWxlbmFtZT1DaGFuZ2VMb2ctZW5zdXJlX3NpemV0Ci0KLWdkYi9DaGFuZ2VM b2cKLQotCSogYWxwaGEtdGRlcC5jIChhbHBoYV9wdXNoX2R1bW15X2NhbGwpIENoZWNrIGZvciB1 bmRlcmZsb3cgaW4KLQlTUC4KLQkqIGNwLXZhbHByaW50IChjcF9wcmludF92YWx1ZSk6IEVuc3Vy ZSBCQVNFQ0xBU1MgZml0cyBpbnRvCi0Jc2l6ZV90LgotCSogZHdhcmYybG9jLmMgKHJlYWRfcGll Y2VkX3ZhbHVlKTogRW5zdXJlIHRoYXQgVEhJU19TSVpFIGZpdHMKLQlpbnRvIHNpemVfdC4KLQko d3JpdGVfcGllY2VkX3ZhbHVlKTogTGlrZXdpc2UuCi0JKiBmaW5kY21kLmMgKHBhcnNlX2ZpbmRf YXJncyk6IEVuc3VyZSBQQVRURVJOX0JVRl9TSVpFIGZpdHMgaW50bwotCXNpemVfdC4KLQkqIHAt dmFscHJpbnQgKHBhc2NhbF9vYmplY3RfcHJpbnRfdmFsdWUpOiBFbnN1cmUgQkFTRUNMQVNTIGZp dHMKLQlpbnRvIHNpemVfdC4KLQkqIHV0aWxzLmMgKHVsb25nZXN0X2ZpdHNfaG9zdF9vcl9lcnJv cik6IE5ldyBmdW5jdGlvbiB0byBmaW5kIGlmCi0JYSBVTE9OR0VTVCBudW1iZXIgZml0cyBpbnRv IHNpemVfdC4KLQkqIHV0aWxzLmg6IERlY2xhcmUgdWxvbmdlc3RfZml0c19ob3N0X29yX2Vycm9y LgotCSogdmFsb3BzLmMgKHNlYXJjaF9zdHJ1Y3RfbWV0aG9kKTogRW5zdXJlIEJBU0VDTEFTUyBm aXRzIGludG8KLQlzaXplX3QuCi0JKiB2YWx1ZS5jIChhbGxvY2F0ZV92YWx1ZV9sYXp5KTogRW5z dXJlIFRZUEUgZml0cyBpbnRvIHNpemVfdC4KLQkoYWxsb2NhdGVfdmFsdWVfY29udGVudHMpOiBM aWtld2lzZS4KLQkoc2V0X3ZhbHVlX2VuY2xvc2luZ190eXBlKTogRW5zdXJlIE5FV19FTkNMX1RZ UEUgZml0cyBpbnRvCi0Jc2l6ZV90LgotCSogdmF4LXRkZXAuYyAodmF4X3JldHVybl92YWx1ZSk6 IEVuc3VyZSB0aGF0IFRZUEUgZml0cyBpbnRvCi0Jc2l6ZV90LgotCi0tLU1QXy9Qbkw2bDNMVXNY V3BaL29scWF3V2x6YgotQ29udGVudC1UeXBlOiB0ZXh0L3gtcGF0Y2gKLUNvbnRlbnQtVHJhbnNm ZXItRW5jb2Rpbmc6IDdiaXQKLUNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVu YW1lPWJpdHBvcy1lbnN1cmUtc2l6ZV90LnBhdGNoCi0KLWRpZmYgLS1naXQgYS9nZGIvYWxwaGEt dGRlcC5jIGIvZ2RiL2FscGhhLXRkZXAuYwotLS0tIGEvZ2RiL2FscGhhLXRkZXAuYwotKysrIGIv Z2RiL2FscGhhLXRkZXAuYwotQEAgLTQxNCw2ICs0MTQsMTMgQEAgYWxwaGFfcHVzaF9kdW1teV9j YWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAg ICAgYWNjdW11bGF0ZV9zaXplID0gMDsKLSAgIGVsc2UKLSAgICAgYWNjdW11bGF0ZV9zaXplIC09 IHNpemVvZihhcmdfcmVnX2J1ZmZlcik7Ci0rCi0rICAvKiBDaGVjayBmb3IgdW5kZXJmbG93LiAg Ki8KLSsgIGlmIChzcCAtIGFjY3VtdWxhdGVfc2l6ZSA+IHNwKQotKyAgICBlcnJvciAoXygiSW5z dWZmaWNpZW50IG1lbW9yeSBpbiBHREIgaG9zdCBmb3IgYXJndW1lbnRzLCAiCi0rCSAgICAgIm5l ZWQgJXMgYnl0ZXMsIGJ1dCBsZXNzIHRoYW4gJXMgYnl0ZXMgYXZhaWxhYmxlLiIpLAotKwkgICBw bG9uZ2VzdCAoYWNjdW11bGF0ZV9zaXplKSwgcGxvbmdlc3QgKENPUkVfQUREUl9NQVggLSBzcCkp OwotKwotICAgc3AgLT0gYWNjdW11bGF0ZV9zaXplOwotIAotICAgLyogS2VlcCBzcCBhbGlnbmVk IHRvIGEgbXVsdGlwbGUgb2YgMTYgYXMgdGhlIEFCSSByZXF1aXJlcy4gICovCi1kaWZmIC0tZ2l0 IGEvZ2RiL2NwLXZhbHByaW50LmMgYi9nZGIvY3AtdmFscHJpbnQuYwotLS0tIGEvZ2RiL2NwLXZh bHByaW50LmMKLSsrKyBiL2dkYi9jcC12YWxwcmludC5jCi1AQCAtNTI5LDYgKzUyOSw3IEBAIGNw X3ByaW50X3ZhbHVlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHR5cGUgKnJlYWxfdHlwZSwK LSAJICAgICAgaWYgKChib2Zmc2V0ICsgb2Zmc2V0KSA8IDAKLSAJCSAgfHwgKGJvZmZzZXQgKyBv ZmZzZXQpID49IFRZUEVfTEVOR1RIIChyZWFsX3R5cGUpKQotIAkJewotKwkJICB1bG9uZ2VzdF9m aXRzX2hvc3Rfb3JfZXJyb3IgKFRZUEVfTEVOR1RIIChiYXNlY2xhc3MpKTsKLSAJCSAgZ2RiOjpi eXRlX3ZlY3RvciBidWYgKFRZUEVfTEVOR1RIIChiYXNlY2xhc3MpKTsKLSAKLSAJCSAgaWYgKHRh cmdldF9yZWFkX21lbW9yeSAoYWRkcmVzcyArIGJvZmZzZXQsIGJ1Zi5kYXRhICgpLAotZGlmZiAt LWdpdCBhL2dkYi9kZWZzLmggYi9nZGIvZGVmcy5oCi0tLS0gYS9nZGIvZGVmcy5oCi0rKysgYi9n ZGIvZGVmcy5oCi1AQCAtNjY5LDQgKzY2OSw2IEBAIERFRl9FTlVNX0ZMQUdTX1RZUEUgKGVudW0g dXNlcl9zZWxlY3RlZF93aGF0X2ZsYWcsIHVzZXJfc2VsZWN0ZWRfd2hhdCk7Ci0gCi0gI2luY2x1 ZGUgInV0aWxzLmgiCi0gCi0rZXh0ZXJuIHZvaWQgdWxvbmdlc3RfZml0c19ob3N0X29yX2Vycm9y IChVTE9OR0VTVCBudW0pOwotKwotICNlbmRpZiAvKiAjaWZuZGVmIERFRlNfSCAqLwotZGlmZiAt LWdpdCBhL2dkYi9wLXZhbHByaW50LmMgYi9nZGIvcC12YWxwcmludC5jCi0tLS0gYS9nZGIvcC12 YWxwcmludC5jCi0rKysgYi9nZGIvcC12YWxwcmludC5jCi1AQCAtNzczLDYgKzc3Myw3IEBAIHBh c2NhbF9vYmplY3RfcHJpbnRfdmFsdWUgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0 ZSAqdmFsYWRkciwKLSAKLSAJICBpZiAoYm9mZnNldCA8IDAgfHwgYm9mZnNldCA+PSBUWVBFX0xF TkdUSCAodHlwZSkpCi0gCSAgICB7Ci0rCSAgICAgIHVsb25nZXN0X2ZpdHNfaG9zdF9vcl9lcnJv ciAoVFlQRV9MRU5HVEggKGJhc2VjbGFzcykpOwotIAkgICAgICBidWYucmVzaXplIChUWVBFX0xF TkdUSCAoYmFzZWNsYXNzKSk7Ci0gCi0gCSAgICAgIGJhc2VfdmFsYWRkciA9IGJ1Zi5kYXRhICgp OwotZGlmZiAtLWdpdCBhL2dkYi91dGlscy5jIGIvZ2RiL3V0aWxzLmMKLS0tLSBhL2dkYi91dGls cy5jCi0rKysgYi9nZGIvdXRpbHMuYwotQEAgLTI5MzIsNiArMjkzMiwxNyBAQCBzdHJpbmdfdG9f Y29yZV9hZGRyIChjb25zdCBjaGFyICpteV9zdHJpbmcpCi0gICByZXR1cm4gYWRkcjsKLSB9Ci0g Ci0rLyogRW5zdXJlIHRoYXQgdGhlIGlucHV0IE5VTSBpcyBub3QgbGFyZ2VyIHRoYW4gdGhlIG1h eGltdW0gY2FwYWNpdHkgb2YgdGhlCi0rICAgaG9zdCBzeXN0ZW0uICBXZSBjaG9vc2UgU0laRV9N QVggLyA4IGFzIGEgY29uc2VydmF0aXZlIGVzdGltYXRlIG9mIHRoZSBzaXplCi0rICAgb2YgYSBy ZXNvdXJjZSB0aGF0IGEgc3lzdGVtIG1heSBhbGxvY2F0ZS4gICovCi0rdm9pZAotK3Vsb25nZXN0 X2ZpdHNfaG9zdF9vcl9lcnJvciAoVUxPTkdFU1QgbnVtKQotK3sKLSsgIGlmIChudW0gPiBTSVpF X01BWCAvIDgpCi0rICAgIGVycm9yIChfKCJJbnN1ZmZpY2llbnQgbWVtb3J5IGluIGhvc3QgR0RC IGZvciBvYmplY3Qgb2Ygc2l6ZSAlcyBieXRlcywgIgotKwkgICAgICJtYXhpbXVtIGFsbG93ZWQg JXMgYnl0ZXMuIiksIHB1bG9uZ2VzdCAobnVtKSwKLSsJICAgcHVsb25nZXN0IChTSVpFX01BWCAv IDgpKTsKLSt9Ci0gI2lmIEdEQl9TRUxGX1RFU1QKLSAKLSBzdGF0aWMgdm9pZAotZGlmZiAtLWdp dCBhL2dkYi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYwotLS0tIGEvZ2RiL3ZhbG9wcy5jCi0rKysg Yi9nZGIvdmFsb3BzLmMKLUBAIC0yMDY0LDYgKzIwNjQsNyBAQCBzZWFyY2hfc3RydWN0X21ldGhv ZCAoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHZhbHVlICoqYXJnMXAsCi0gCSAgICB7Ci0gCSAg ICAgIENPUkVfQUREUiBhZGRyZXNzOwotIAotKwkgICAgICB1bG9uZ2VzdF9maXRzX2hvc3Rfb3Jf ZXJyb3IgKFRZUEVfTEVOR1RIIChiYXNlY2xhc3MpKTsKLSAJICAgICAgZ2RiOjpieXRlX3ZlY3Rv ciB0bXAgKFRZUEVfTEVOR1RIIChiYXNlY2xhc3MpKTsKLSAJICAgICAgYWRkcmVzcyA9IHZhbHVl X2FkZHJlc3MgKCphcmcxcCk7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2RiL3ZhbHVlLmMgYi9nZGIvdmFs dWUuYwotLS0tIGEvZ2RiL3ZhbHVlLmMKLSsrKyBiL2dkYi92YWx1ZS5jCi1AQCAtOTMzLDYgKzkz Myw3IEBAIGFsbG9jYXRlX3ZhbHVlX2xhenkgKHN0cnVjdCB0eXBlICp0eXBlKQotICAgICAgZGVz Y3JpcHRpb24gY29ycmVjdGx5LiAgKi8KLSAgIGNoZWNrX3R5cGVkZWYgKHR5cGUpOwotIAotKyAg dWxvbmdlc3RfZml0c19ob3N0X29yX2Vycm9yIChUWVBFX0xFTkdUSCAodHlwZSkpOwotICAgdmFs ID0gbmV3IHN0cnVjdCB2YWx1ZSAodHlwZSk7Ci0gCi0gICAvKiBWYWx1ZXMgc3RhcnQgb3V0IG9u IHRoZSBhbGxfdmFsdWVzIGNoYWluLiAgKi8KLUBAIC0xMDE1LDYgKzEwMTYsOCBAQCBjaGVja190 eXBlX2xlbmd0aF9iZWZvcmVfYWxsb2MgKGNvbnN0IHN0cnVjdCB0eXBlICp0eXBlKQotIHN0YXRp YyB2b2lkCi0gYWxsb2NhdGVfdmFsdWVfY29udGVudHMgKHN0cnVjdCB2YWx1ZSAqdmFsKQotIHsK LSsgIHVsb25nZXN0X2ZpdHNfaG9zdF9vcl9lcnJvciAoVFlQRV9MRU5HVEggKHZhbC0+ZW5jbG9z aW5nX3R5cGUpKTsKLSsKLSAgIGlmICghdmFsLT5jb250ZW50cykKLSAgICAgewotICAgICAgIGNo ZWNrX3R5cGVfbGVuZ3RoX2JlZm9yZV9hbGxvYyAodmFsLT5lbmNsb3NpbmdfdHlwZSk7Ci1AQCAt Mjg3NCw2ICsyODc3LDcgQEAgc2V0X3ZhbHVlX2VuY2xvc2luZ190eXBlIChzdHJ1Y3QgdmFsdWUg KnZhbCwgc3RydWN0IHR5cGUgKm5ld19lbmNsX3R5cGUpCi0gICBpZiAoVFlQRV9MRU5HVEggKG5l d19lbmNsX3R5cGUpID4gVFlQRV9MRU5HVEggKHZhbHVlX2VuY2xvc2luZ190eXBlICh2YWwpKSkK LSAgICAgewotICAgICAgIGNoZWNrX3R5cGVfbGVuZ3RoX2JlZm9yZV9hbGxvYyAobmV3X2VuY2xf dHlwZSk7Ci0rICAgICAgdWxvbmdlc3RfZml0c19ob3N0X29yX2Vycm9yIChUWVBFX0xFTkdUSCAo bmV3X2VuY2xfdHlwZSkpOwotICAgICAgIHZhbC0+Y29udGVudHMKLSAJLnJlc2V0ICgoZ2RiX2J5 dGUgKikgeHJlYWxsb2MgKHZhbC0+Y29udGVudHMucmVsZWFzZSAoKSwKLSAJCQkJICAgICAgIFRZ UEVfTEVOR1RIIChuZXdfZW5jbF90eXBlKSkpOwotZGlmZiAtLWdpdCBhL2dkYi92YXgtdGRlcC5j IGIvZ2RiL3ZheC10ZGVwLmMKLS0tLSBhL2dkYi92YXgtdGRlcC5jCi0rKysgYi9nZGIvdmF4LXRk ZXAuYwotQEAgLTIxOSw2ICsyMTksNyBAQCB2YXhfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAJICBVTE9OR0VTVCBhZGRyOwot IAotIAkgIHJlZ2NhY2hlX3Jhd19yZWFkX3Vuc2lnbmVkIChyZWdjYWNoZSwgVkFYX1IwX1JFR05V TSwgJmFkZHIpOwotKwkgIHVsb25nZXN0X2ZpdHNfaG9zdF9vcl9lcnJvciAoVFlQRV9MRU5HVEgg KHR5cGUpKTsKLSAJICByZWFkX21lbW9yeSAoYWRkciwgcmVhZGJ1ZiwgbGVuKTsKLSAJfQotIAoK ZGlmZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMm9mMjUucGF0Y2ggYi9nZGItcmhi ejc5NTQyNC1iaXRwb3MtMjJvZjI1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCBjODNmMThjLi4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMm9mMjUucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NTggKzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxp ZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJq ZWN0OiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjJvZjI1LnBhdGNoCi0KLTs7IEZpeCBgR0RCIGNh bm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3aG9zZSBvZmZzZXQgaXMgbGFyZ2VyIHRoYW4gMjU2 TUInCi07OyAoUkggQlogNzk1NDI0KS4KLTs7PXB1c2gKLQotaHR0cDovL3NvdXJjZXdhcmUub3Jn L21sL2dkYi1wYXRjaGVzLzIwMTItMDkvbXNnMDA2MjkuaHRtbAotCi0tLU1QXy82SFJsSDZ2cHlx dFN5NENZeU1yWDZiMgotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVTLUFTQ0lJ Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0Ci1Db250ZW50LURpc3Bvc2l0aW9uOiBp bmxpbmUKLQotSGksCi0KLVRoaXMgaXMgcGFydCB0aHJlZSBvZiB0aGUgYml0cG9zIGV4cGFuc2lv biBjaGFuZ2UuICBTb21lIGFyY2hpdGVjdHVyZXMKLWFsbG93IGFyYml0cmFyeSBsZW5ndGggd2F0 Y2hwb2ludHMgYW5kIGNvbWJpbmVkIHdpdGggdGhlIGZhY3QgdGhhdCB0eXBlCi1sZW5ndGhzIGNv dWxkIGJlIGxhcmdlIGVub3VnaCwgd2UgbmVlZCBMT05HRVNUIGZvciB3YXRjaHBvaW50IGxlbmd0 aHMuCi1JdCBpcyBhcmNoaXRlY3R1cmUgZGVwZW5kZW50IGhvd2V2ZXIsIHdoZXRoZXIgdGhlIExP TkdFU1QgaXMgbmVlZGVkIG9yCi1ub3QuICBUaGlzIHBhdGNoIHVwZGF0ZXMgdGhlIHNpZ25hdHVy ZXMgb2Ygd2F0Y2hwb2ludCBpbnNlcnRpb24gYW5kCi1yZW1vdmFsIGZ1bmN0aW9ucyBvZiBhbGwg YXJjaGl0ZWN0dXJlcyAodG8gY29tcGx5IHdpdGggdGhlIGZ1bmN0aW9uCi1zaWduYXR1cmVzIGlu IHRoZSBjYWxsYmFjayBzdHJ1Y3QpLCBidXQgZXhwYW5kcyB0eXBlcyBvbmx5IGluCi1hcmNoaXRl Y3R1cmVzIHRoYXQgbmVlZCBpdC4gIFRlc3RlZCBvbiBGZWRvcmEgMTYgeDg2XzY0LgotCi1SZWdh cmRzLAotU2lkZGhlc2gKLS0tTVBfLzZIUmxINnZweXF0U3k0Q1l5TXJYNmIyCi1Db250ZW50LVR5 cGU6IHRleHQvcGxhaW4KLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFi bGUKLUNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPUNoYW5nZUxvZy13 cAotCi1nZGIvQ2hhbmdlTG9nOgotCi0JKiBhcm0tbGludXgtbmF0LmMgKGFybV9saW51eF9pbnNl cnRfd2F0Y2hwb2ludCk6IEV4cGFuZAotCXBhcmFtZXRlciBMRU4gdG8gTE9OR0VTVC4KLQkoYXJt X2xpbnV4X3JlbW92ZV93YXRjaHBvaW50KTogTGlrZXdpc2UuCi0JKGFybV9saW51eF93YXRjaHBv aW50X2FkZHJfd2l0aGluX3JhbmdlKTogRXhwYW5kIHBhcmFtZXRlcgotCUxFTkdUSCB0byBMT05H RVNULgotCSogaTM4Ni1uYXQuYyAoaTM4Nl9pbnNlcnRfd2F0Y2hwb2ludCk6IEV4cGFuZCBwYXJh bWV0ZXIgTEVOIHRvCi0JTE9OR0VTVC4KLQkoaTM4Nl9yZW1vdmVfd2F0Y2hwb2ludCk6IExpa2V3 aXNlLgotCSogaWE2NC1saW51eC1uYXQuYyAoaWE2NF9saW51eF9pbnNlcnRfd2F0Y2hwb2ludCk6 IExpa2V3aXNlLgotCShpYTY0X2xpbnV4X3JlbW92ZV93YXRjaHBvaW50KTogTGlrZXdpc2UuCi0J KiBpbmYtdHRyYWNlLmMgKGluZl90dHJhY2VfaW5zZXJ0X3dhdGNocG9pbnQpOiBMaWtld2lzZS4K LQlFeHBhbmQgTlVNX1BBR0VTLCBQQUdFIHRvIExPTkdFU1QuCi0JKGluZl90dHJhY2VfcmVtb3Zl X3dhdGNocG9pbnQpOiBMaWtld2lzZS4KLQkqIG1pcHMtbGludXgtbmF0LmMgKG1pcHNfbGludXhf aW5zZXJ0X3dhdGNocG9pbnQpOiBFeHBhbmQKLQlwYXJhbWV0ZXIgTEVOIHRvIExPTkdFU1QuCi0J KG1pcHNfbGludXhfcmVtb3ZlX3dhdGNocG9pbnQpOiBMaWtld2lzZS4KLQkqIG50by1wcm9jZnMu YyAocHJvY2ZzX3JlbW92ZV9od193YXRjaHBvaW50KTogTGlrZXdpc2UuCi0JKHByb2Nmc19pbnNl cnRfaHdfd2F0Y2hwb2ludCk6IExpa2V3aXNlLgotCSogcHBjLWxpbnV4LW5hdC5jIChjYWxjdWxh dGVfZHZjKTogTGlrZXdpc2UuICBFeHBhbmQgSSwKLQlOVU1fQllURV9FTkFCTEUgdG8gTE9OR0VT VC4KLQkoY2hlY2tfY29uZGl0aW9uKTogRXhwYW5kIHBhcmFtZXRlciBMRU4gdG8gcG9pbnQgdG8g TE9OR0VTVC4KLQkocHBjX2xpbnV4X2Nhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbik6IEV4 cGFuZCBwYXJhbWV0ZXIKLQlMRU4gdG8gTE9OR0VTVC4KLQkoY3JlYXRlX3dhdGNocG9pbnRfcmVx dWVzdCk6IExpa2V3aXNlLgotCShwcGNfbGludXhfaW5zZXJ0X3dhdGNocG9pbnQpOiBMaWtld2lz ZS4KLQkocHBjX2xpbnV4X3JlbW92ZV93YXRjaHBvaW50KTogTGlrZXdpc2UuCi0JKHBwY19saW51 eF93YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlKTogRXhwYW5kIHBhcmFtZXRlcgotCUxFTkdU SCB0byBMT05HRVNULgotCSogcHJvY2ZzLmMgKHByb2Nfc2V0X3dhdGNocG9pbnQpOiBFeHBhbmQg cGFyYW1ldGVyIExFTiB0bwotCUxPTkdFU1QuCi0JKHByb2Nmc19zZXRfd2F0Y2hwb2ludCk6IExp a2V3aXNlLgotCShwcm9jZnNfaW5zZXJ0X3dhdGNocG9pbnQpOiBMaWtld2lzZS4KLQkocHJvY2Zz X3JlbW92ZV93YXRjaHBvaW50KTogTGlrZXdpc2UuCi0JKiByZW1vdGUtbTMyci1zZGkuYyAobTMy cl9pbnNlcnRfd2F0Y2hwb2ludCk6IExpa2V3aXNlLiAgVXNlCi0JcGxvbmdlc3QgdG8gZm9ybWF0 IHByaW50IExFTi4KLQkobTMycl9yZW1vdmVfd2F0Y2hwb2ludCk6IExpa2V3aXNlLgotCSogcmVt b3RlLW1pcHMuYyAobWlwc19pbnNlcnRfd2F0Y2hwb2ludCk6IEV4cGFuZCBwYXJhbWV0ZXIgTEVO Ci0JdG8gTE9OR0VTVC4KLQkobWlwc19yZW1vdmVfd2F0Y2hwb2ludCk6IExpa2V3aXNlLgotCSog cmVtb3RlLmMgKHJlbW90ZV9pbnNlcnRfd2F0Y2hwb2ludCk6IExpa2V3aXNlLgotCVVzZSBwaGV4 X256IHRvIGZvcm1hdCBwcmludCBMRU4uCi0JKHJlbW90ZV9yZW1vdmVfd2F0Y2hwb2ludCk6IExp a2V3aXNlLgotCShyZW1vdGVfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSk6IEV4cGFuZCBw YXJhbWV0ZXIgTEVOR1RICi0JdG8gTE9OR0VTVC4KLQkqIHMzOTAtbGludXgtbmF0LmMgKHMzOTBf aW5zZXJ0X3dhdGNocG9pbnQpOiBFeHBhbmQgcGFyYW1ldGVyIExFTiB0bwotCUxPTkdFU1QuCi0J KHMzOTBfcmVtb3ZlX3dhdGNocG9pbnQpOiBMaWtld2lzZS4KLQkqIHRhcmdldC5jICh1cGRhdGVf Y3VycmVudF90YXJnZXQpOiBFeHBhbmQgcGFyYW1ldGVyIExFTiBmb3IKLQljYWxsYmFja3MgdG8g VE9fSU5TRVJUX1dBVENIUE9JTlQsIFRPX1JFTU9WRV9XQVRDSFBPSU5ULAotCVRPX0NBTl9BQ0NF TF9XQVRDSFBPSU5UX0NPTkRJVElPTiwgdG8gTE9OR0VTVC4KLQkoZGVmYXVsdF93YXRjaHBvaW50 X2FkZHJfd2l0aGluX3JhbmdlKTogRXhwYW5kIHBhcmFtZXRlcgotCUxFTkdUSCB0byBMT05HRVNU LgotCShkZWJ1Z190b19jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24pOiBFeHBhbmQgcGFy YW1ldGVyIExFTgotCXRvIExPTkdFU1QuICBVc2UgcGxvbmdlc3QgdG8gZm9ybWF0IHByaW50IExF Ti4KLQkoZGVidWdfdG9fd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSk6IEV4cGFuZCBwYXJh bWV0ZXIgTEVOR1RICi0JdG8gTE9OR0VTVC4gIFVzZSBwbG9uZ2VzdCB0byBmb3JtYXQgcHJpbnQg TEVOR1RILgotCShkZWJ1Z190b19pbnNlcnRfd2F0Y2hwb2ludCk6IEV4cGFuZCBwYXJhbWV0ZXIg TEVOIHRvIExPTkdFU1QuCi0JVXNlIHBsb25nZXN0IHRvIGZvcm1hdCBwcmludCBMRU4uCi0JKGRl YnVnX3RvX3JlbW92ZV93YXRjaHBvaW50KTogTGlrZXdpc2UuCi0JKiB0YXJnZXQuaCAoc3RydWN0 IHRhcmdldF9vcHMpOiBFeHBhbmQgcGFyYW1ldGVyIExFTiBvZgotCVRPX1JFTU9WRV9XQVRDSFBP SU5ULCBUT19JTlNFUlRfV0FUQ0hQT0lOVCwKLQlUT19XQVRDSFBPSU5UX0FERFJfV0lUSElOX1JB TkdFIGFuZAotCVRPX0NBTl9BQ0NFTF9XQVRDSFBPSU5UX0NPTkRJVElPTiB0byBMT05HRVNULgot Ci0tLU1QXy82SFJsSDZ2cHlxdFN5NENZeU1yWDZiMgotQ29udGVudC1UeXBlOiB0ZXh0L3gtcGF0 Y2gKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKLUNvbnRlbnQtRGlzcG9zaXRpb246 IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPWJpdHBvcy13cC5wYXRjaAotCi1kaWZmIC0tZ2l0IGEvZ2Ri L2FhcmNoNjQtbGludXgtbmF0LmMgYi9nZGIvYWFyY2g2NC1saW51eC1uYXQuYwotLS0tIGEvZ2Ri L2FhcmNoNjQtbGludXgtbmF0LmMKLSsrKyBiL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCi1AQCAt NjMsMTQgKzYzLDE0IEBAIHB1YmxpYzoKLSAgIGludCBjYW5fdXNlX2h3X2JyZWFrcG9pbnQgKGVu dW0gYnB0eXBlLCBpbnQsIGludCkgb3ZlcnJpZGU7Ci0gICBpbnQgaW5zZXJ0X2h3X2JyZWFrcG9p bnQgKHN0cnVjdCBnZGJhcmNoICosIHN0cnVjdCBicF90YXJnZXRfaW5mbyAqKSBvdmVycmlkZTsK LSAgIGludCByZW1vdmVfaHdfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKiwgc3RydWN0IGJw X3RhcmdldF9pbmZvICopIG92ZXJyaWRlOwotLSAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hw b2ludCAoQ09SRV9BRERSLCBpbnQpIG92ZXJyaWRlOwotKyAgaW50IHJlZ2lvbl9va19mb3JfaHdf d2F0Y2hwb2ludCAoQ09SRV9BRERSLCBMT05HRVNUKSBvdmVycmlkZTsKLSAgIGludCBpbnNlcnRf d2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQsIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUsCi0gCQkJ IHN0cnVjdCBleHByZXNzaW9uICopIG92ZXJyaWRlOwotICAgaW50IHJlbW92ZV93YXRjaHBvaW50 IChDT1JFX0FERFIsIGludCwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSwKLSAJCQkgc3RydWN0IGV4 cHJlc3Npb24gKikgb3ZlcnJpZGU7Ci0gICBib29sIHN0b3BwZWRfYnlfd2F0Y2hwb2ludCAoKSBv dmVycmlkZTsKLSAgIGJvb2wgc3RvcHBlZF9kYXRhX2FkZHJlc3MgKENPUkVfQUREUiAqKSBvdmVy cmlkZTsKLS0gIGJvb2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSLCBD T1JFX0FERFIsIGludCkgb3ZlcnJpZGU7Ci0rICBib29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5f cmFuZ2UgKENPUkVfQUREUiwgQ09SRV9BRERSLCBMT05HRVNUKSBvdmVycmlkZTsKLSAKLSAgIGlu dCBjYW5fZG9fc2luZ2xlX3N0ZXAgKCkgb3ZlcnJpZGU7Ci0gCi1AQCAtODg3LDcgKzg4Nyw4IEBA IGFhcmNoNjRfbGludXhfbmF0X3RhcmdldDo6c3RvcHBlZF9ieV93YXRjaHBvaW50ICgpCi0gCi0g Ym9vbAotIGFhcmNoNjRfbGludXhfbmF0X3RhcmdldDo6d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9y YW5nZSAoQ09SRV9BRERSIGFkZHIsCi0tCQkJCQkJCUNPUkVfQUREUiBzdGFydCwgaW50IGxlbmd0 aCkKLSsJCQkJCQkJQ09SRV9BRERSIHN0YXJ0LAotKwkJCQkJCQlMT05HRVNUIGxlbmd0aCkKLSB7 Ci0gICByZXR1cm4gc3RhcnQgPD0gYWRkciAmJiBzdGFydCArIGxlbmd0aCAtIDEgPj0gYWRkcjsK LSB9Ci1kaWZmIC0tZ2l0IGEvZ2RiL2FybS1saW51eC1uYXQuYyBiL2dkYi9hcm0tbGludXgtbmF0 LmMKLS0tLSBhL2dkYi9hcm0tbGludXgtbmF0LmMKLSsrKyBiL2dkYi9hcm0tbGludXgtbmF0LmMK LUBAIC04MCw3ICs4MCw3IEBAIHB1YmxpYzoKLSAKLSAgIGludCByZW1vdmVfaHdfYnJlYWtwb2lu dCAoc3RydWN0IGdkYmFyY2ggKiwgc3RydWN0IGJwX3RhcmdldF9pbmZvICopIG92ZXJyaWRlOwot IAotLSAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQpIG92 ZXJyaWRlOwotKyAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBM T05HRVNUKSBvdmVycmlkZTsKLSAKLSAgIGludCBpbnNlcnRfd2F0Y2hwb2ludCAoQ09SRV9BRERS LCBpbnQsIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUsCi0gCQkJIHN0cnVjdCBleHByZXNzaW9uICop IG92ZXJyaWRlOwotQEAgLTkxLDcgKzkxLDcgQEAgcHVibGljOgotIAotICAgYm9vbCBzdG9wcGVk X2RhdGFfYWRkcmVzcyAoQ09SRV9BRERSICopIG92ZXJyaWRlOwotIAotLSAgYm9vbCB3YXRjaHBv aW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIsIENPUkVfQUREUiwgaW50KSBvdmVycmlk ZTsKLSsgIGJvb2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSLCBDT1JF X0FERFIsIExPTkdFU1QpIG92ZXJyaWRlOwotIAotICAgY29uc3Qgc3RydWN0IHRhcmdldF9kZXNj ICpyZWFkX2Rlc2NyaXB0aW9uICgpIG92ZXJyaWRlOwotIAotQEAgLTExOTksNyArMTE5OSw3IEBA IGFybV9saW51eF9uYXRfdGFyZ2V0OjpzdG9wcGVkX2J5X3dhdGNocG9pbnQgKCkKLSBib29sCi0g YXJtX2xpbnV4X25hdF90YXJnZXQ6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVf QUREUiBhZGRyLAotIAkJCQkJCSAgICBDT1JFX0FERFIgc3RhcnQsCi0tCQkJCQkJICAgIGludCBs ZW5ndGgpCi0rCQkJCQkJICAgIExPTkdFU1QgbGVuZ3RoKQotIHsKLSAgIHJldHVybiBzdGFydCA8 PSBhZGRyICYmIHN0YXJ0ICsgbGVuZ3RoIC0gMSA+PSBhZGRyOwotIH0KLWRpZmYgLS1naXQgYS9n ZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuYyBiL2dkYi9uYXQvYWFyY2g2NC1saW51eC1o dy1wb2ludC5jCi0tLS0gYS9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuYwotKysrIGIv Z2RiL25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50LmMKLUBAIC0xMzcsNyArMTM3LDcgQEAgYWFy Y2g2NF9wb2ludF9lbmNvZGVfY3RybF9yZWcgKGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwg aW50IG9mZnNldCwgaW50IGxlbikKLSAgICBSZXR1cm4gMCBmb3IgYW55IG5vbi1jb21wbGlhbnQg QUREUiBhbmQvb3IgTEVOOyByZXR1cm4gMSBvdGhlcndpc2UuICAqLwotIAotIHN0YXRpYyBpbnQK LS1hYXJjaDY0X3BvaW50X2lzX2FsaWduZWQgKGludCBpc193YXRjaHBvaW50LCBDT1JFX0FERFIg YWRkciwgaW50IGxlbikKLSthYXJjaDY0X3BvaW50X2lzX2FsaWduZWQgKGludCBpc193YXRjaHBv aW50LCBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4pCi0gewotICAgdW5zaWduZWQgaW50IGFs aWdubWVudCA9IDA7Ci0gCi1AQCAtMjEyLDkgKzIxMiwxMCBAQCBhYXJjaDY0X3BvaW50X2lzX2Fs aWduZWQgKGludCBpc193YXRjaHBvaW50LCBDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLSAgICBh biBhZGRyZXNzIHdpdGhpbiB0aGUgbGF0dGVyLiAqLwotIAotIHN0YXRpYyB2b2lkCi0tYWFyY2g2 NF9hbGlnbl93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwgQ09SRV9BRERSICph bGlnbmVkX2FkZHJfcCwKLSthYXJjaDY0X2FsaWduX3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRy LCBMT05HRVNUIGxlbiwKLSsJCQkgIENPUkVfQUREUiAqYWxpZ25lZF9hZGRyX3AsCi0gCQkJICBp bnQgKmFsaWduZWRfb2Zmc2V0X3AsIGludCAqYWxpZ25lZF9sZW5fcCwKLS0JCQkgIENPUkVfQURE UiAqbmV4dF9hZGRyX3AsIGludCAqbmV4dF9sZW5fcCwKLSsJCQkgIENPUkVfQUREUiAqbmV4dF9h ZGRyX3AsIExPTkdFU1QgKm5leHRfbGVuX3AsCi0gCQkJICBDT1JFX0FERFIgKm5leHRfYWRkcl9v cmlnX3ApCi0gewotICAgaW50IGFsaWduZWRfbGVuOwotQEAgLTYwMiw3ICs2MDMsNyBAQCBhYXJj aDY0X2hhbmRsZV9hbGlnbmVkX3dhdGNocG9pbnQgKGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlw ZSwKLSAKLSBzdGF0aWMgaW50Ci0gYWFyY2g2NF9oYW5kbGVfdW5hbGlnbmVkX3dhdGNocG9pbnQg KGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwKLS0JCQkJICAgICBDT1JFX0FERFIgYWRkciwg aW50IGxlbiwgaW50IGlzX2luc2VydCwKLSsJCQkJICAgICBDT1JFX0FERFIgYWRkciwgTE9OR0VT VCBsZW4sIGludCBpc19pbnNlcnQsCi0gCQkJCSAgICAgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVn X3N0YXRlICpzdGF0ZSkKLSB7Ci0gICBDT1JFX0FERFIgYWRkcl9vcmlnID0gYWRkcjsKLUBAIC02 MzIsMTIgKzYzMywxMiBAQCBhYXJjaDY0X2hhbmRsZV91bmFsaWduZWRfd2F0Y2hwb2ludCAoZW51 bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlLAotIAkJICAgICAgIiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIgotIAkJICAgICAgImFkZHJfb3JpZzogJXNcbiIKLSAJCSAgICAgICIgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLS0JCSAgICAgICJuZXh0X2FkZHI6ICVzLCAg ICBuZXh0X2xlbjogJWRcbiIKLSsJCSAgICAgICJuZXh0X2FkZHI6ICVzLCAgICBuZXh0X2xlbjog JXNcbiIKLSAJCSAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAiCi0gCQkgICAgICAi YWRkcl9vcmlnX25leHQ6ICVzXG4iLAotIAkJICAgICAgaXNfaW5zZXJ0LCBjb3JlX2FkZHJfdG9f c3RyaW5nX256IChhbGlnbmVkX2FkZHIpLAotIAkJICAgICAgYWxpZ25lZF9sZW4sIGNvcmVfYWRk cl90b19zdHJpbmdfbnogKGFkZHJfb3JpZyksCi0tCQkgICAgICBjb3JlX2FkZHJfdG9fc3RyaW5n X256IChhZGRyKSwgbGVuLAotKwkJICAgICAgY29yZV9hZGRyX3RvX3N0cmluZ19ueiAoYWRkciks IHBsb25nZXN0IChsZW4pLAotIAkJICAgICAgY29yZV9hZGRyX3RvX3N0cmluZ19ueiAoYWRkcl9v cmlnX25leHQpKTsKLSAKLSAgICAgICBhZGRyX29yaWcgPSBhZGRyX29yaWdfbmV4dDsKLUBAIC02 NTEsNyArNjUyLDcgQEAgYWFyY2g2NF9oYW5kbGVfdW5hbGlnbmVkX3dhdGNocG9pbnQgKGVudW0g dGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwKLSAKLSBpbnQKLSBhYXJjaDY0X2hhbmRsZV93YXRjaHBv aW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsIENPUkVfQUREUiBhZGRyLAotLQkJCSAg IGludCBsZW4sIGludCBpc19pbnNlcnQsCi0rCQkJICAgTE9OR0VTVCBsZW4sIGludCBpc19pbnNl cnQsCi0gCQkJICAgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSkKLSB7Ci0g ICBpZiAoYWFyY2g2NF9wb2ludF9pc19hbGlnbmVkICgxIC8qIGlzX3dhdGNocG9pbnQgKi8gLCBh ZGRyLCBsZW4pKQotQEAgLTczMywxNCArNzM0LDE0IEBAIGFhcmNoNjRfbGludXhfYW55X3NldF9k ZWJ1Z19yZWdzX3N0YXRlIChhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCi0gdm9pZAot IGFhcmNoNjRfc2hvd19kZWJ1Z19yZWdfc3RhdGUgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19z dGF0ZSAqc3RhdGUsCi0gCQkJICAgICAgY29uc3QgY2hhciAqZnVuYywgQ09SRV9BRERSIGFkZHIs Ci0tCQkJICAgICAgaW50IGxlbiwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlKQotKwkJCSAg ICAgIExPTkdFU1QgbGVuLCBlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUpCi0gewotICAgaW50 IGk7Ci0gCi0gICBkZWJ1Z19wcmludGYgKCIlcyIsIGZ1bmMpOwotICAgaWYgKGFkZHIgfHwgbGVu KQotLSAgICBkZWJ1Z19wcmludGYgKCIgKGFkZHI9MHglMDhseCwgbGVuPSVkLCB0eXBlPSVzKSIs Ci0tCQkgICh1bnNpZ25lZCBsb25nKSBhZGRyLCBsZW4sCi0rICAgIGRlYnVnX3ByaW50ZiAoIiAo YWRkcj0weCUwOGx4LCBsZW49JXMsIHR5cGU9JXMpIiwKLSsJCSAgKHVuc2lnbmVkIGxvbmcpIGFk ZHIsIHBsb25nZXN0IChsZW4pLAotIAkJICB0eXBlID09IGh3X3dyaXRlID8gImh3LXdyaXRlLXdh dGNocG9pbnQiCi0gCQkgIDogKHR5cGUgPT0gaHdfcmVhZCA/ICJody1yZWFkLXdhdGNocG9pbnQi Ci0gCQkgICAgIDogKHR5cGUgPT0gaHdfYWNjZXNzID8gImh3LWFjY2Vzcy13YXRjaHBvaW50Igot QEAgLTgyMyw3ICs4MjQsNyBAQCBhYXJjaDY0X2xpbnV4X2dldF9kZWJ1Z19yZWdfY2FwYWNpdHkg KGludCB0aWQpCi0gICAgQUREUiBhbmQgd2hvc2UgbGVuZ3RoIGlzIExFTiBpbiBieXRlcy4gICov Ci0gCi0gaW50Ci0tYWFyY2g2NF9saW51eF9yZWdpb25fb2tfZm9yX3dhdGNocG9pbnQgKENPUkVf QUREUiBhZGRyLCBpbnQgbGVuKQotK2FhcmNoNjRfbGludXhfcmVnaW9uX29rX2Zvcl93YXRjaHBv aW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4pCi0gewotICAgQ09SRV9BRERSIGFsaWdu ZWRfYWRkcjsKLSAKLWRpZmYgLS1naXQgYS9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQu aCBiL2dkYi9uYXQvYWFyY2g2NC1saW51eC1ody1wb2ludC5oCi0tLS0gYS9nZGIvbmF0L2FhcmNo NjQtbGludXgtaHctcG9pbnQuaAotKysrIGIvZ2RiL25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50 LmgKLUBAIC0xNzYsNyArMTc2LDcgQEAgaW50IGFhcmNoNjRfaGFuZGxlX2JyZWFrcG9pbnQgKGVu dW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwgQ09SRV9BRERSIGFkZHIsCi0gCQkJICAgICAgIGlu dCBsZW4sIGludCBpc19pbnNlcnQsCi0gCQkJICAgICAgIHN0cnVjdCBhYXJjaDY0X2RlYnVnX3Jl Z19zdGF0ZSAqc3RhdGUpOwotIGludCBhYXJjaDY0X2hhbmRsZV93YXRjaHBvaW50IChlbnVtIHRh cmdldF9od19icF90eXBlIHR5cGUsIENPUkVfQUREUiBhZGRyLAotLQkJCSAgICAgICBpbnQgbGVu LCBpbnQgaXNfaW5zZXJ0LAotKwkJCSAgICAgICBMT05HRVNUIGxlbiwgaW50IGlzX2luc2VydCwK LSAJCQkgICAgICAgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSk7Ci0gCi0g dm9pZCBhYXJjaDY0X2xpbnV4X3NldF9kZWJ1Z19yZWdzIChzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19y ZWdfc3RhdGUgKnN0YXRlLAotQEAgLTE4OSwxMiArMTg5LDEyIEBAIGJvb2wgYWFyY2g2NF9saW51 eF9hbnlfc2V0X2RlYnVnX3JlZ3Nfc3RhdGUgKGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0 ZSwKLSAKLSB2b2lkIGFhcmNoNjRfc2hvd19kZWJ1Z19yZWdfc3RhdGUgKHN0cnVjdCBhYXJjaDY0 X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCi0gCQkJCSAgIGNvbnN0IGNoYXIgKmZ1bmMsIENPUkVf QUREUiBhZGRyLAotLQkJCQkgICBpbnQgbGVuLCBlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUp OwotKwkJCQkgICBMT05HRVNUIGxlbiwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlKTsKLSAK LSB2b2lkIGFhcmNoNjRfbGludXhfZ2V0X2RlYnVnX3JlZ19jYXBhY2l0eSAoaW50IHRpZCk7Ci0g Ci0gc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICphYXJjaDY0X2dldF9kZWJ1Z19yZWdf c3RhdGUgKHBpZF90IHBpZCk7Ci0gCi0taW50IGFhcmNoNjRfbGludXhfcmVnaW9uX29rX2Zvcl93 YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbik7Ci0raW50IGFhcmNoNjRfbGludXhf cmVnaW9uX29rX2Zvcl93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4pOwot IAotICNlbmRpZiAvKiBOQVRfQUFSQ0g2NF9MSU5VWF9IV19QT0lOVF9IICovCi1kaWZmIC0tZ2l0 IGEvZ2RiL3BwYy1saW51eC1uYXQuYyBiL2dkYi9wcGMtbGludXgtbmF0LmMKLS0tLSBhL2dkYi9w cGMtbGludXgtbmF0LmMKLSsrKyBiL2dkYi9wcGMtbGludXgtbmF0LmMKLUBAIC0yODQsNyArMjg0 LDcgQEAgc3RydWN0IHBwY19saW51eF9uYXRfdGFyZ2V0IGZpbmFsIDogcHVibGljIGxpbnV4X25h dF90YXJnZXQKLSAgIGludCByZW1vdmVfaHdfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKiwg c3RydWN0IGJwX3RhcmdldF9pbmZvICopCi0gICAgIG92ZXJyaWRlOwotIAotLSAgaW50IHJlZ2lv bl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQpIG92ZXJyaWRlOwotKyAgaW50 IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBMT05HRVNUKSBvdmVycmlk ZTsKLSAKLSAgIGludCBpbnNlcnRfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQsIGVudW0gdGFy Z2V0X2h3X2JwX3R5cGUsCi0gCQkJIHN0cnVjdCBleHByZXNzaW9uICopIG92ZXJyaWRlOwotQEAg LTMwMiw5ICszMDIsOSBAQCBzdHJ1Y3QgcHBjX2xpbnV4X25hdF90YXJnZXQgZmluYWwgOiBwdWJs aWMgbGludXhfbmF0X3RhcmdldAotIAotICAgYm9vbCBzdG9wcGVkX2RhdGFfYWRkcmVzcyAoQ09S RV9BRERSICopIG92ZXJyaWRlOwotIAotLSAgYm9vbCB3YXRjaHBvaW50X2FkZHJfd2l0aGluX3Jh bmdlIChDT1JFX0FERFIsIENPUkVfQUREUiwgaW50KSBvdmVycmlkZTsKLSsgIGJvb2wgd2F0Y2hw b2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSLCBDT1JFX0FERFIsIExPTkdFU1QpIG92 ZXJyaWRlOwotIAotLSAgYm9vbCBjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVf QUREUiwgaW50LCBpbnQsIHN0cnVjdCBleHByZXNzaW9uICopCi0rICBib29sIGNhbl9hY2NlbF93 YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09SRV9BRERSLCBMT05HRVNULCBpbnQsIHN0cnVjdCBleHBy ZXNzaW9uICopCi0gICAgIG92ZXJyaWRlOwotIAotICAgaW50IG1hc2tlZF93YXRjaF9udW1fcmVn aXN0ZXJzIChDT1JFX0FERFIsIENPUkVfQUREUikgb3ZlcnJpZGU7Ci1AQCAtMjA2NSwxMSArMjA2 NSwxMSBAQCBjYW5fdXNlX3dhdGNocG9pbnRfY29uZF9hY2NlbCAodm9pZCkKLSAgICBDT05ESVRJ T05fVkFMVUUgd2lsbCBob2xkIHRoZSB2YWx1ZSB3aGljaCBzaG91bGQgYmUgcHV0IGluIHRoZQot ICAgIERWQyByZWdpc3Rlci4gICovCi0gc3RhdGljIHZvaWQKLS1jYWxjdWxhdGVfZHZjIChDT1JF X0FERFIgYWRkciwgaW50IGxlbiwgQ09SRV9BRERSIGRhdGFfdmFsdWUsCi0rY2FsY3VsYXRlX2R2 YyAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuLCBDT1JFX0FERFIgZGF0YV92YWx1ZSwKLSAJ ICAgICAgIHVpbnQzMl90ICpjb25kaXRpb25fbW9kZSwgdWludDY0X3QgKmNvbmRpdGlvbl92YWx1 ZSkKLSB7Ci0tICBpbnQgaSwgbnVtX2J5dGVfZW5hYmxlLCBhbGlnbl9vZmZzZXQsIG51bV9ieXRl c19vZmZfZHZjLAotLSAgICAgIHJpZ2h0bW9zdF9lbmFibGVkX2J5dGU7Ci0rICBMT05HRVNUIGks IG51bV9ieXRlX2VuYWJsZTsKLSsgIGludCBhbGlnbl9vZmZzZXQsIG51bV9ieXRlc19vZmZfZHZj LCByaWdodG1vc3RfZW5hYmxlZF9ieXRlOwotICAgQ09SRV9BRERSIGFkZHJfZW5kX2RhdGEsIGFk ZHJfZW5kX2R2YzsKLSAKLSAgIC8qIFRoZSBEVkMgcmVnaXN0ZXIgY29tcGFyZXMgYnl0ZXMgd2l0 aGluIGZpeGVkLWxlbmd0aCB3aW5kb3dzIHdoaWNoCi1AQCAtMjE1Nyw3ICsyMTU3LDcgQEAgbnVt X21lbW9yeV9hY2Nlc3NlcyAoY29uc3Qgc3RkOjp2ZWN0b3I8dmFsdWVfcmVmX3B0cj4gJmNoYWlu KQotICAgIG9mIHRoZSBjb25zdGFudC4gICovCi0gc3RhdGljIGludAotIGNoZWNrX2NvbmRpdGlv biAoQ09SRV9BRERSIHdhdGNoX2FkZHIsIHN0cnVjdCBleHByZXNzaW9uICpjb25kLAotLQkJIENP UkVfQUREUiAqZGF0YV92YWx1ZSwgaW50ICpsZW4pCi0rCQkgQ09SRV9BRERSICpkYXRhX3ZhbHVl LCBMT05HRVNUICpsZW4pCi0gewotICAgaW50IHBjID0gMSwgbnVtX2FjY2Vzc2VzX2xlZnQsIG51 bV9hY2Nlc3Nlc19yaWdodDsKLSAgIHN0cnVjdCB2YWx1ZSAqbGVmdF92YWwsICpyaWdodF92YWw7 Ci1AQCAtMjIwOCw3ICsyMjA4LDggQEAgY2hlY2tfY29uZGl0aW9uIChDT1JFX0FERFIgd2F0Y2hf YWRkciwgc3RydWN0IGV4cHJlc3Npb24gKmNvbmQsCi0gICAgdGhlIGNvbmRpdGlvbiBleHByZXNz aW9uLCB0aHVzIG9ubHkgdHJpZ2dlcmluZyB0aGUgd2F0Y2hwb2ludCB3aGVuIGl0IGlzCi0gICAg dHJ1ZS4gICovCi0gYm9vbAotLXBwY19saW51eF9uYXRfdGFyZ2V0OjpjYW5fYWNjZWxfd2F0Y2hw b2ludF9jb25kaXRpb24gKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLAotK3BwY19saW51eF9uYXRf dGFyZ2V0OjpjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBhZGRyLAot KwkJCQkJCSAgICAgIExPTkdFU1QgbGVuLAotIAkJCQkJCSAgICAgIGludCBydywKLSAJCQkJCQkg ICAgICBzdHJ1Y3QgZXhwcmVzc2lvbiAqY29uZCkKLSB7Ci1AQCAtMjIyNiw3ICsyMjI3LDcgQEAg cHBjX2xpbnV4X25hdF90YXJnZXQ6OmNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09S RV9BRERSIGFkZHIsIGludCBsZW4sCi0gCi0gc3RhdGljIHZvaWQKLSBjcmVhdGVfd2F0Y2hwb2lu dF9yZXF1ZXN0IChzdHJ1Y3QgcHBjX2h3X2JyZWFrcG9pbnQgKnAsIENPUkVfQUREUiBhZGRyLAot LQkJCSAgIGludCBsZW4sIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwKLSsJCQkgICBMT05H RVNUIGxlbiwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlLAotIAkJCSAgIHN0cnVjdCBleHBy ZXNzaW9uICpjb25kLCBpbnQgaW5zZXJ0KQotIHsKLSAgIGlmIChsZW4gPT0gMQotQEAgLTI0OTIs NyArMjQ5Myw3IEBAIHBwY19saW51eF9uYXRfdGFyZ2V0OjpzdG9wcGVkX2J5X3dhdGNocG9pbnQg KCkKLSBib29sCi0gcHBjX2xpbnV4X25hdF90YXJnZXQ6OndhdGNocG9pbnRfYWRkcl93aXRoaW5f cmFuZ2UgKENPUkVfQUREUiBhZGRyLAotIAkJCQkJCSAgICBDT1JFX0FERFIgc3RhcnQsCi0tCQkJ CQkJICAgIGludCBsZW5ndGgpCi0rCQkJCQkJICAgIExPTkdFU1QgbGVuZ3RoKQotIHsKLSAgIGlu dCBtYXNrOwotIAotZGlmZiAtLWdpdCBhL2dkYi9wcm9jZnMuYyBiL2dkYi9wcm9jZnMuYwotLS0t IGEvZ2RiL3Byb2Nmcy5jCi0rKysgYi9nZGIvcHJvY2ZzLmMKLUBAIC0xNTQ2LDcgKzE1NDYsNyBA QCBwcm9jZnNfYWRkcmVzc190b19ob3N0X3BvaW50ZXIgKENPUkVfQUREUiBhZGRyKQotIH0KLSAK LSBzdGF0aWMgaW50Ci0tcHJvY19zZXRfd2F0Y2hwb2ludCAocHJvY2luZm8gKnBpLCBDT1JFX0FE RFIgYWRkciwgaW50IGxlbiwgaW50IHdmbGFncykKLStwcm9jX3NldF93YXRjaHBvaW50IChwcm9j aW5mbyAqcGksIENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbiwgaW50IHdmbGFncykKLSB7Ci0g ICBzdHJ1Y3QgewotICAgICBwcm9jZnNfY3RsX3QgY21kOwotQEAgLTMyMzIsNyArMzIzMiw3IEBA IHByb2Nmc190YXJnZXQ6OnBpZF90b19leGVjX2ZpbGUgKGludCBwaWQpCi0gLyogSW5zZXJ0IGEg d2F0Y2hwb2ludC4gICovCi0gCi0gc3RhdGljIGludAotLXByb2Nmc19zZXRfd2F0Y2hwb2ludCAo cHRpZF90IHB0aWQsIENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBpbnQgcndmbGFnLAotK3Byb2Nm c19zZXRfd2F0Y2hwb2ludCAocHRpZF90IHB0aWQsIENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxl biwgaW50IHJ3ZmxhZywKLSAJCSAgICAgICBpbnQgYWZ0ZXIpCi0gewotICAgaW50ICAgICAgIHBm bGFncyA9IDA7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3JlbW90ZS5jIGIvZ2RiL3JlbW90ZS5jCi0tLS0g YS9nZGIvcmVtb3RlLmMKLSsrKyBiL2dkYi9yZW1vdGUuYwotQEAgLTQ0MCw3ICs0NDAsNyBAQCBw dWJsaWM6Ci0gCi0gICBib29sIHN0b3BwZWRfZGF0YV9hZGRyZXNzIChDT1JFX0FERFIgKikgb3Zl cnJpZGU7Ci0gCi0tICBib29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQURE UiwgQ09SRV9BRERSLCBpbnQpIG92ZXJyaWRlOwotKyAgYm9vbCB3YXRjaHBvaW50X2FkZHJfd2l0 aGluX3JhbmdlIChDT1JFX0FERFIsIENPUkVfQUREUiwgTE9OR0VTVCkgb3ZlcnJpZGU7Ci0gCi0g ICBpbnQgY2FuX3VzZV9od19icmVha3BvaW50IChlbnVtIGJwdHlwZSwgaW50LCBpbnQpIG92ZXJy aWRlOwotIAotQEAgLTEwMjk4LDcgKzEwMjk4LDcgQEAgcmVtb3RlX3RhcmdldDo6aW5zZXJ0X3dh dGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLAotICAgcCA9IHN0cmNociAocnMtPmJ1 Zi5kYXRhICgpLCAnXDAnKTsKLSAgIGFkZHIgPSByZW1vdGVfYWRkcmVzc19tYXNrZWQgKGFkZHIp OwotICAgcCArPSBoZXhudW1zdHIgKHAsIChVTE9OR0VTVCkgYWRkcik7Ci0tICB4c25wcmludGYg KHAsIGVuZGJ1ZiAtIHAsICIsJXgiLCBsZW4pOwotKyAgeHNucHJpbnRmIChwLCBlbmRidWYgLSBw LCAiLCVzIiwgcGhleF9ueiAobGVuLCBzaXplb2YgKGxlbikpKTsKLSAKLSAgIHB1dHBrdCAocnMt PmJ1Zik7Ci0gICBnZXRwa3QgKCZycy0+YnVmLCAwKTsKLUBAIC0xMDMxOCw3ICsxMDMxOCw3IEBA IHJlbW90ZV90YXJnZXQ6Omluc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxl biwKLSAKLSBib29sCi0gcmVtb3RlX3RhcmdldDo6d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5n ZSAoQ09SRV9BRERSIGFkZHIsCi0tCQkJCQkgICAgIENPUkVfQUREUiBzdGFydCwgaW50IGxlbmd0 aCkKLSsJCQkJCSAgICAgQ09SRV9BRERSIHN0YXJ0LCBMT05HRVNUIGxlbmd0aCkKLSB7Ci0gICBD T1JFX0FERFIgZGlmZiA9IHJlbW90ZV9hZGRyZXNzX21hc2tlZCAoYWRkciAtIHN0YXJ0KTsKLSAK LUBAIC0xMDM0Nyw3ICsxMDM0Nyw3IEBAIHJlbW90ZV90YXJnZXQ6OnJlbW92ZV93YXRjaHBvaW50 IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKLSAgIHAgPSBzdHJjaHIgKHJzLT5idWYuZGF0YSAo KSwgJ1wwJyk7Ci0gICBhZGRyID0gcmVtb3RlX2FkZHJlc3NfbWFza2VkIChhZGRyKTsKLSAgIHAg Kz0gaGV4bnVtc3RyIChwLCAoVUxPTkdFU1QpIGFkZHIpOwotLSAgeHNucHJpbnRmIChwLCBlbmRi dWYgLSBwLCAiLCV4IiwgbGVuKTsKLSsgIHhzbnByaW50ZiAocCwgZW5kYnVmIC0gcCwgIiwlcyIs IHBoZXhfbnogKGxlbiwgc2l6ZW9mIChsZW4pKSk7Ci0gICBwdXRwa3QgKHJzLT5idWYpOwotICAg Z2V0cGt0ICgmcnMtPmJ1ZiwgMCk7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2RiL3MzOTAtbGludXgtbmF0 LmMgYi9nZGIvczM5MC1saW51eC1uYXQuYwotLS0tIGEvZ2RiL3MzOTAtbGludXgtbmF0LmMKLSsr KyBiL2dkYi9zMzkwLWxpbnV4LW5hdC5jCi1AQCAtMTIxLDcgKzEyMSw3IEBAIHB1YmxpYzoKLSAg ICAgb3ZlcnJpZGU7Ci0gICBpbnQgcmVtb3ZlX2h3X2JyZWFrcG9pbnQgKHN0cnVjdCBnZGJhcmNo ICosIHN0cnVjdCBicF90YXJnZXRfaW5mbyAqKQotICAgICBvdmVycmlkZTsKLS0gIGludCByZWdp b25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiwgaW50KSBvdmVycmlkZTsKLSsgIGlu dCByZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiwgTE9OR0VTVCkgb3ZlcnJp ZGU7Ci0gICBib29sIHN0b3BwZWRfYnlfd2F0Y2hwb2ludCAoKSBvdmVycmlkZTsKLSAgIGludCBp bnNlcnRfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQsIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUs Ci0gCQkJIHN0cnVjdCBleHByZXNzaW9uICopIG92ZXJyaWRlOwotZGlmZiAtLWdpdCBhL2dkYi90 YXJnZXQtZGVsZWdhdGVzLmMgYi9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCi0tLS0gYS9nZGIvdGFy Z2V0LWRlbGVnYXRlcy5jCi0rKysgYi9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCi1AQCAtMzcsOSAr MzcsOSBAQCBzdHJ1Y3QgZHVtbXlfdGFyZ2V0IDogcHVibGljIHRhcmdldF9vcHMKLSAgIGJvb2wg c3RvcHBlZF9ieV93YXRjaHBvaW50ICgpIG92ZXJyaWRlOwotICAgYm9vbCBoYXZlX3N0ZXBwYWJs ZV93YXRjaHBvaW50ICgpIG92ZXJyaWRlOwotICAgYm9vbCBzdG9wcGVkX2RhdGFfYWRkcmVzcyAo Q09SRV9BRERSICphcmcwKSBvdmVycmlkZTsKLS0gIGJvb2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhp bl9yYW5nZSAoQ09SRV9BRERSIGFyZzAsIENPUkVfQUREUiBhcmcxLCBpbnQgYXJnMikgb3ZlcnJp ZGU7Ci0rICBib29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBhcmcw LCBDT1JFX0FERFIgYXJnMSwgTE9OR0VTVCBhcmcyKSBvdmVycmlkZTsKLSAgIGludCByZWdpb25f b2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhcmcwLCBMT05HRVNUIGFyZzEpIG92ZXJy aWRlOwotLSAgYm9vbCBjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBh cmcwLCBpbnQgYXJnMSwgaW50IGFyZzIsIHN0cnVjdCBleHByZXNzaW9uICphcmczKSBvdmVycmlk ZTsKLSsgIGJvb2wgY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIgYXJn MCwgTE9OR0VTVCBhcmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4cHJlc3Npb24gKmFyZzMpIG92ZXJy aWRlOwotICAgaW50IG1hc2tlZF93YXRjaF9udW1fcmVnaXN0ZXJzIChDT1JFX0FERFIgYXJnMCwg Q09SRV9BRERSIGFyZzEpIG92ZXJyaWRlOwotICAgaW50IGNhbl9kb19zaW5nbGVfc3RlcCAoKSBv dmVycmlkZTsKLSAgIGJvb2wgc3VwcG9ydHNfdGVybWluYWxfb3VycyAoKSBvdmVycmlkZTsKLUBA IC0yMDQsOSArMjA0LDkgQEAgc3RydWN0IGRlYnVnX3RhcmdldCA6IHB1YmxpYyB0YXJnZXRfb3Bz Ci0gICBib29sIHN0b3BwZWRfYnlfd2F0Y2hwb2ludCAoKSBvdmVycmlkZTsKLSAgIGJvb2wgaGF2 ZV9zdGVwcGFibGVfd2F0Y2hwb2ludCAoKSBvdmVycmlkZTsKLSAgIGJvb2wgc3RvcHBlZF9kYXRh X2FkZHJlc3MgKENPUkVfQUREUiAqYXJnMCkgb3ZlcnJpZGU7Ci0tICBib29sIHdhdGNocG9pbnRf YWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBhcmcwLCBDT1JFX0FERFIgYXJnMSwgaW50IGFy ZzIpIG92ZXJyaWRlOwotKyAgYm9vbCB3YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JF X0FERFIgYXJnMCwgQ09SRV9BRERSIGFyZzEsIExPTkdFU1QgYXJnMikgb3ZlcnJpZGU7Ci0gICBp bnQgcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYXJnMCwgTE9OR0VTVCBh cmcxKSBvdmVycmlkZTsKLS0gIGJvb2wgY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChD T1JFX0FERFIgYXJnMCwgaW50IGFyZzEsIGludCBhcmcyLCBzdHJ1Y3QgZXhwcmVzc2lvbiAqYXJn Mykgb3ZlcnJpZGU7Ci0rICBib29sIGNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09S RV9BRERSIGFyZzAsIExPTkdFU1QgYXJnMSwgaW50IGFyZzIsIHN0cnVjdCBleHByZXNzaW9uICph cmczKSBvdmVycmlkZTsKLSAgIGludCBtYXNrZWRfd2F0Y2hfbnVtX3JlZ2lzdGVycyAoQ09SRV9B RERSIGFyZzAsIENPUkVfQUREUiBhcmcxKSBvdmVycmlkZTsKLSAgIGludCBjYW5fZG9fc2luZ2xl X3N0ZXAgKCkgb3ZlcnJpZGU7Ci0gICBib29sIHN1cHBvcnRzX3Rlcm1pbmFsX291cnMgKCkgb3Zl cnJpZGU7Ci1AQCAtMTA0MSwxOSArMTA0MSwxOSBAQCBkZWJ1Z190YXJnZXQ6OnN0b3BwZWRfZGF0 YV9hZGRyZXNzIChDT1JFX0FERFIgKmFyZzApCi0gfQotIAotIGJvb2wKLS10YXJnZXRfb3BzOjp3 YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIgYXJnMCwgQ09SRV9BRERSIGFy ZzEsIGludCBhcmcyKQotK3RhcmdldF9vcHM6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2Ug KENPUkVfQUREUiBhcmcwLCBDT1JFX0FERFIgYXJnMSwgTE9OR0VTVCBhcmcyKQotIHsKLSAgIHJl dHVybiB0aGlzLT5iZW5lYXRoICgpLT53YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChhcmcw LCBhcmcxLCBhcmcyKTsKLSB9Ci0gCi0gYm9vbAotLWR1bW15X3RhcmdldDo6d2F0Y2hwb2ludF9h ZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSIGFyZzAsIENPUkVfQUREUiBhcmcxLCBpbnQgYXJn MikKLStkdW1teV90YXJnZXQ6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQURE UiBhcmcwLCBDT1JFX0FERFIgYXJnMSwgTE9OR0VTVCBhcmcyKQotIHsKLSAgIHJldHVybiBkZWZh dWx0X3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKHRoaXMsIGFyZzAsIGFyZzEsIGFyZzIp OwotIH0KLSAKLSBib29sCi0tZGVidWdfdGFyZ2V0Ojp3YXRjaHBvaW50X2FkZHJfd2l0aGluX3Jh bmdlIChDT1JFX0FERFIgYXJnMCwgQ09SRV9BRERSIGFyZzEsIGludCBhcmcyKQotK2RlYnVnX3Rh cmdldDo6d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSIGFyZzAsIENPUkVf QUREUiBhcmcxLCBMT05HRVNUIGFyZzIpCi0gewotICAgYm9vbCByZXN1bHQ7Ci0gICBmcHJpbnRm X3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csICItPiAlcy0+d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9y YW5nZSAoLi4uKVxuIiwgdGhpcy0+YmVuZWF0aCAoKS0+c2hvcnRuYW1lICgpKTsKLUBAIC0xMDYz LDcgKzEwNjMsNyBAQCBkZWJ1Z190YXJnZXQ6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2Ug KENPUkVfQUREUiBhcmcwLCBDT1JFX0FERFIgYXJnMSwgaW50Ci0gICBmcHV0c191bmZpbHRlcmVk ICgiLCAiLCBnZGJfc3RkbG9nKTsKLSAgIHRhcmdldF9kZWJ1Z19wcmludF9DT1JFX0FERFIgKGFy ZzEpOwotICAgZnB1dHNfdW5maWx0ZXJlZCAoIiwgIiwgZ2RiX3N0ZGxvZyk7Ci0tICB0YXJnZXRf ZGVidWdfcHJpbnRfaW50IChhcmcyKTsKLSsgIHRhcmdldF9kZWJ1Z19wcmludF9MT05HRVNUIChh cmcyKTsKLSAgIGZwdXRzX3VuZmlsdGVyZWQgKCIpID0gIiwgZ2RiX3N0ZGxvZyk7Ci0gICB0YXJn ZXRfZGVidWdfcHJpbnRfYm9vbCAocmVzdWx0KTsKLSAgIGZwdXRzX3VuZmlsdGVyZWQgKCJcbiIs IGdkYl9zdGRsb2cpOwotQEAgLTEwOTksMTkgKzEwOTksMTkgQEAgZGVidWdfdGFyZ2V0OjpyZWdp b25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhcmcwLCBMT05HRVNUIGFyZzEpCi0g fQotIAotIGJvb2wKLS10YXJnZXRfb3BzOjpjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24g KENPUkVfQUREUiBhcmcwLCBpbnQgYXJnMSwgaW50IGFyZzIsIHN0cnVjdCBleHByZXNzaW9uICph cmczKQotK3RhcmdldF9vcHM6OmNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09SRV9B RERSIGFyZzAsIExPTkdFU1QgYXJnMSwgaW50IGFyZzIsIHN0cnVjdCBleHByZXNzaW9uICphcmcz KQotIHsKLSAgIHJldHVybiB0aGlzLT5iZW5lYXRoICgpLT5jYW5fYWNjZWxfd2F0Y2hwb2ludF9j b25kaXRpb24gKGFyZzAsIGFyZzEsIGFyZzIsIGFyZzMpOwotIH0KLSAKLSBib29sCi0tZHVtbXlf dGFyZ2V0OjpjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBhcmcwLCBp bnQgYXJnMSwgaW50IGFyZzIsIHN0cnVjdCBleHByZXNzaW9uICphcmczKQotK2R1bW15X3Rhcmdl dDo6Y2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIgYXJnMCwgTE9OR0VT VCBhcmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4cHJlc3Npb24gKmFyZzMpCi0gewotICAgcmV0dXJu IGZhbHNlOwotIH0KLSAKLSBib29sCi0tZGVidWdfdGFyZ2V0OjpjYW5fYWNjZWxfd2F0Y2hwb2lu dF9jb25kaXRpb24gKENPUkVfQUREUiBhcmcwLCBpbnQgYXJnMSwgaW50IGFyZzIsIHN0cnVjdCBl eHByZXNzaW9uICphcmczKQotK2RlYnVnX3RhcmdldDo6Y2FuX2FjY2VsX3dhdGNocG9pbnRfY29u ZGl0aW9uIChDT1JFX0FERFIgYXJnMCwgTE9OR0VTVCBhcmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4 cHJlc3Npb24gKmFyZzMpCi0gewotICAgYm9vbCByZXN1bHQ7Ci0gICBmcHJpbnRmX3VuZmlsdGVy ZWQgKGdkYl9zdGRsb2csICItPiAlcy0+Y2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uICgu Li4pXG4iLCB0aGlzLT5iZW5lYXRoICgpLT5zaG9ydG5hbWUgKCkpOwotQEAgLTExMTksNyArMTEx OSw3IEBAIGRlYnVnX3RhcmdldDo6Y2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JF X0FERFIgYXJnMCwgaW50IGFyZzEsIGludCBhcmcyCi0gICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdk Yl9zdGRsb2csICI8LSAlcy0+Y2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uICgiLCB0aGlz LT5iZW5lYXRoICgpLT5zaG9ydG5hbWUgKCkpOwotICAgdGFyZ2V0X2RlYnVnX3ByaW50X0NPUkVf QUREUiAoYXJnMCk7Ci0gICBmcHV0c191bmZpbHRlcmVkICgiLCAiLCBnZGJfc3RkbG9nKTsKLS0g IHRhcmdldF9kZWJ1Z19wcmludF9pbnQgKGFyZzEpOwotKyAgdGFyZ2V0X2RlYnVnX3ByaW50X0xP TkdFU1QgKGFyZzEpOwotICAgZnB1dHNfdW5maWx0ZXJlZCAoIiwgIiwgZ2RiX3N0ZGxvZyk7Ci0g ICB0YXJnZXRfZGVidWdfcHJpbnRfaW50IChhcmcyKTsKLSAgIGZwdXRzX3VuZmlsdGVyZWQgKCIs ICIsIGdkYl9zdGRsb2cpOwotZGlmZiAtLWdpdCBhL2dkYi90YXJnZXQuYyBiL2dkYi90YXJnZXQu YwotLS0tIGEvZ2RiL3RhcmdldC5jCi0rKysgYi9nZGIvdGFyZ2V0LmMKLUBAIC01NSw3ICs1NSw3 IEBAIHN0YXRpYyB2b2lkIGdlbmVyaWNfdGxzX2Vycm9yICh2b2lkKSBBVFRSSUJVVEVfTk9SRVRV Uk47Ci0gc3RhdGljIHZvaWQgZGVmYXVsdF90ZXJtaW5hbF9pbmZvIChzdHJ1Y3QgdGFyZ2V0X29w cyAqLCBjb25zdCBjaGFyICosIGludCk7Ci0gCi0gc3RhdGljIGludCBkZWZhdWx0X3dhdGNocG9p bnRfYWRkcl93aXRoaW5fcmFuZ2UgKHN0cnVjdCB0YXJnZXRfb3BzICosCi0tCQkJCQkJIENPUkVf QUREUiwgQ09SRV9BRERSLCBpbnQpOwotKwkJCQkJCSBDT1JFX0FERFIsIENPUkVfQUREUiwgTE9O R0VTVCk7Ci0gCi0gc3RhdGljIGludCBkZWZhdWx0X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2lu dCAoc3RydWN0IHRhcmdldF9vcHMgKiwKLSAJCQkJCQlDT1JFX0FERFIsIExPTkdFU1QpOwotQEAg LTMxMjUsNyArMzEyNSw3IEBAIGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChz dHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwKLSBzdGF0aWMgaW50Ci0gZGVmYXVsdF93YXRjaHBvaW50 X2FkZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqdGFyZ2V0LAotIAkJCQkgICAg ICBDT1JFX0FERFIgYWRkciwKLS0JCQkJICAgICAgQ09SRV9BRERSIHN0YXJ0LCBpbnQgbGVuZ3Ro KQotKwkJCQkgICAgICBDT1JFX0FERFIgc3RhcnQsIExPTkdFU1QgbGVuZ3RoKQotIHsKLSAgIHJl dHVybiBhZGRyID49IHN0YXJ0ICYmIGFkZHIgPCBzdGFydCArIGxlbmd0aDsKLSB9Ci1kaWZmIC0t Z2l0IGEvZ2RiL3RhcmdldC5oIGIvZ2RiL3RhcmdldC5oCi0tLS0gYS9nZGIvdGFyZ2V0LmgKLSsr KyBiL2dkYi90YXJnZXQuaAotQEAgLTU2MSw3ICs1NjEsNyBAQCBzdHJ1Y3QgdGFyZ2V0X29wcwot ICAgICAgIFRBUkdFVF9ERUZBVUxUX1JFVFVSTiAoZmFsc2UpOwotICAgICB2aXJ0dWFsIGJvb2wg c3RvcHBlZF9kYXRhX2FkZHJlc3MgKENPUkVfQUREUiAqKQotICAgICAgIFRBUkdFVF9ERUZBVUxU X1JFVFVSTiAoZmFsc2UpOwotLSAgICB2aXJ0dWFsIGJvb2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhp bl9yYW5nZSAoQ09SRV9BRERSLCBDT1JFX0FERFIsIGludCkKLSsgICAgdmlydHVhbCBib29sIHdh dGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiwgQ09SRV9BRERSLCBMT05HRVNU KQotICAgICAgIFRBUkdFVF9ERUZBVUxUX0ZVTkMgKGRlZmF1bHRfd2F0Y2hwb2ludF9hZGRyX3dp dGhpbl9yYW5nZSk7Ci0gCi0gICAgIC8qIERvY3VtZW50YXRpb24gb2YgdGhpcyByb3V0aW5lIGlz IHByb3ZpZGVkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcKLUBAIC01NjksNyArNTY5LDcgQEAgc3Ry dWN0IHRhcmdldF9vcHMKLSAgICAgdmlydHVhbCBpbnQgcmVnaW9uX29rX2Zvcl9od193YXRjaHBv aW50IChDT1JFX0FERFIsIExPTkdFU1QpCi0gICAgICAgVEFSR0VUX0RFRkFVTFRfRlVOQyAoZGVm YXVsdF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQpOwotIAotLSAgICB2aXJ0dWFsIGJvb2wg Y2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIsIGludCwgaW50LAotKyAg ICB2aXJ0dWFsIGJvb2wgY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIs IExPTkdFU1QsIGludCwKLSAJCQkJCQkgc3RydWN0IGV4cHJlc3Npb24gKikKLSAgICAgICBUQVJH RVRfREVGQVVMVF9SRVRVUk4gKGZhbHNlKTsKLSAgICAgdmlydHVhbCBpbnQgbWFza2VkX3dhdGNo X251bV9yZWdpc3RlcnMgKENPUkVfQUREUiwgQ09SRV9BRERSKQoKZGlmZiAtLWdpdCBhL2dkYi1y aGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2ggYi9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjNv ZjI1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTAwZjZkLi4wMDAwMDAw Ci0tLSBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSwxMjQ4ICswLDAgQEAKLUZyb20gRkVET1JBX1BBVENIRVMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0 ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLXJoYno3OTU0 MjQtYml0cG9zLTIzb2YyNS5wYXRjaAotCi07OyBGaXggYEdEQiBjYW5ub3QgYWNjZXNzIHN0cnVj dCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1CJwotOzsgKFJIIEJaIDc5 NTQyNCkuCi07Oz1wdXNoCi0KLWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8y MDEyLTA5L21zZzAwNjMwLmh0bWwKLQotLS1NUF8vWF9XakRPdnovQl9mdmxzcm1Dd1JkeGUKLUNv bnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VUy1BU0NJSQotQ29udGVudC1UcmFuc2Zl ci1FbmNvZGluZzogN2JpdAotQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lCi0KLUhpLAotCi1U aGlzIGlzIHRoZSBsYXN0IHBhcnQgb2YgdGhlIGJpdHBvcyBjaGFuZ2UuICBUaGlzIHBhdGNoIGRv ZXMgdGhlIHNhbWUKLXRoaW5nIHRoYXQgcGF0Y2ggMS80IGRvZXMsIGV4Y2VwdCB0aGF0IGl0IGRv ZXMgc28gaW4gdGhlICotdGRlcCBmaWxlcwotd2hlcmV2ZXIgbmVjZXNzYXJ5LiAgSSBzZXBhcmF0 ZWQgdGhlc2UgY2hhbmdlcyBtYWlubHkgYmVjYXVzZSB0aGV5IGFyZQotcmVsYXRlZCBhbmQgY2Fu IGJlIHJldmlld2VkIGluZGVwZW5kZW50bHkuICBUZXN0ZWQgb24gRmVkb3JhIDE2IHg4Nl82NC4K LQotUmVnYXJkcywKLVNpZGRoZXNoCi0KLS0tTVBfL1hfV2pET3Z6L0JfZnZsc3JtQ3dSZHhlCi1D b250ZW50LVR5cGU6IHRleHQvcGxhaW4KLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3Rl ZC1wcmludGFibGUKLUNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPUNo YW5nZUxvZy10ZGVwCi0KLWdkYi9DaGFuZ2VMb2cKLQotCSogYWxwaGEtdGRlcC5jIChhbHBoYV9w dXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgQUNDVU1VTEFURV9TSVpFLAotCVJFUVVJUkVEX0FSR19S RUdTLCBPRkZTRVQsIExFTiwgVExFTiB0byBzc2l6ZV90LgotCShzdHJ1Y3QgYWxwaGFfYXJnKTog RXhwYW5kIG1lbWJlcnMgTEVOLCBPRkZTRVQgdG8gc3NpemVfdC4KLQkqIGFtZDY0LXRkZXAuYyAo YW1kNjRfcHVzaF9hcmd1bWVudHMpOiBFeHBhbmQgTlVNX0VMRU1FTlRTLAotCUVMRU1FTlQgYW5k IExFTiB0byBMT05HRVNULgotCShhbWQ2NF9yZXR1cm5fdmFsdWUpOiBFeHBhbmQgTEVOIHRvIExP TkdFU1QuCi0JKiBhbWQ2NC13aW5kb3dzLXRkZXAuYyAoYW1kNjRfd2luZG93c19yZXR1cm5fdmFs dWUpOiBFeHBhbmQgTEVOCi0JdG8gTE9OR0VTVC4KLQkqIGFybS10ZGVwLmMgKGFybV92ZnBfY3By Y19zdWJfY2FuZGlkYXRlKTogUmV0dXJuIExPTkdFU1QuCi0JRXhwYW5kIENPVU5ULCBTVUJfQ09V TlQgdG8gTE9OR0VTVC4KLQkoYXJtX3ZmcF9jYWxsX2NhbmRpZGF0ZSk6IEV4cGFuZCBDIHRvIExP TkdFU1QuCi0JKGFybV9wdXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgTEVOIHRvIExPTkdFU1QuCi0J KiBhdnItdGRlcC5jIChzdHJ1Y3Qgc3RhY2tfaXRlbSk6IEV4cGFuZCBtZW1iZXIgTEVOIHRvIHNz aXplX3QuCi0JKHB1c2hfc3RhY2tfaXRlbSk6IEV4cGFuZCBwYXJhbWV0ZXIgTEVOIHRvIHNzaXpl X3QuCi0JKGF2cl9wdXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgTEFTVF9SRUdOVU0sIEosIExFTiB0 byBzc2l6ZV90LgotCSogYmZpbi10ZGVwLmMgKGJmaW5fcHVzaF9kdW1teV9jYWxsKTogRXhwYW5k IFRPVEFMX0xFTiwKLQlDT05UQUlORVJfTEVOIHRvIHNzaXplX3QuCi0JKiBjcmlzLXRkZXAuYyAo c3RydWN0IHN0YWNrX2l0ZW0pOiBFeHBhbmQgbWVtYmVyIExFTiB0byBzc2l6ZV90LgotCShwdXNo X3N0YWNrX2l0ZW0pOiBFeHBhbmQgcGFyYW1ldGVyIExFTiB0byBzc2l6ZV90LgotCShjcmlzX3B1 c2hfZHVtbXlfY2FsbCk6IEV4cGFuZCBMRU4sIFJFR19ERU1BTkQsIEkgdG8gc3NpemVfdC4KLQkq IGg4MzAwLXRkZXAuYyAoaDgzMDBfcHVzaF9kdW1teV9jYWxsKTogRXhwYW5kIFNUQUNLX0FMTE9D LAotCVNUQUNLX09GRlNFVCB0byBMT05HRVNULiAgRXhwYW5kIExFTiwgUEFEREVEX0xFTiwgT0ZG U0VUIHRvCi0Jc3NpemVfdC4KLQkqIGhwcGEtdGRlcC5jIChocHBhNjRfcHVzaF9kdW1teV9jYWxs KTogRXhwYW5kIExFTiB0byBMT05HRVNULgotCShocHBhNjRfcmV0dXJuX3ZhbHVlKTogTGlrZXdp c2UuCi0JKiBpMzg2LWRhcndpbi10ZGVwLmMgKGkzODZfZGFyd2luX3B1c2hfZHVtbXlfY2FsbCk6 IEV4cGFuZAotCUFSR1NfU1BBQ0UgdG8gTE9OR0VTVC4KLQkqIGkzODYtdGRlcC5jIChpMzg2X3B1 c2hfZHVtbXlfY2FsbCk6IEV4cGFuZCBBUkdfU1BBQ0UsCi0JQVJHX1NQQUNFX1VTRUQsIExFTiB0 byBMT05HRVNULgotCShpMzg2X3JlZ19zdHJ1Y3RfcmV0dXJuX3ApOiBFeHBhbmQgTEVOIHRvIExP TkdFU1QuCi0JKGkzODZfY29udmVydF9yZWdpc3Rlcl9wKTogTGlrZXdpc2UuCi0JKGkzODZfcmVn aXN0ZXJfdG9fdmFsdWUpOiBMaWtld2lzZS4KLQkoaTM4Nl92YWx1ZV90b19yZWdpc3Rlcik6IExp a2V3aXNlLgotCSogaWE2NC10ZGVwLmMgKGlhNjRfcHVzaF9kdW1teV9jYWxsKTogRXhwYW5kIEFS R09GRlNFVCwgTEVOLAotCU5TTE9UUywgTUVNU0xPVFMgdG8gTE9OR0VTVC4KLQkqIGlxMjAwMC10 ZGVwLmMgKGlxMjAwMF9wdXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgVFlQRUxFTiwKLQlTVEFDS1NQ QUNFIHRvIExPTkdFU1QuCi0JKiBtMzJyLXRkZXAuYyAobTMycl9wdXNoX2R1bW15X2NhbGwpOiBF eHBhbmQgTEVOIHRvIExPTkdFU1QuCi0JKiBtNjhrLXRkZXAuYyAobTY4a19yZWdfc3RydWN0X3Jl dHVybl9wKTogRXhwYW5kIExFTiB0byBMT05HRVNULgotCShtNjhrX3B1c2hfZHVtbXlfY2FsbCk6 IEV4cGFuZCBMRU4sIENPTlRBSU5FUl9MRU4sIE9GRlNFVCB0bwotCUxPTkdFU1QuCi0JKiBtODhr LXRkZXAuYyAobTg4a19zdG9yZV9hcmd1bWVudHMpOiBFeHBhbmQgTlVNX1NUQUNLX1dPUkRTLAot CUxFTiwgU1RBQ0tfV09SRCB0byBMT05HRVNULgotCSogbWVwLXRkZXAuYyAocHVzaF9sYXJnZV9h cmd1bWVudHMpOiBFeHBhbmQgQVJHX0xFTiB0byBVTE9OR0VTVC4KLQkqIG1pY3JvYmxhemUtdGRl cC5jIChtaWNyb2JsYXplX3N0b3JlX3JldHVybl92YWx1ZSk6IEV4cGFuZCBMRU4gdG8KLQlMT05H RVNULgotCSogbWlwcy10ZGVwLmMgKG1pcHNfeGZlcl9yZWdpc3Rlcik6IEV4cGFuZCBwYXJhbWV0 ZXIgQlVGX09GRlNFVCB0bwotCUxPTkdFU1QuICBVc2UgcGxvbmdlc3QgdG8gZm9ybWF0IHByaW50 IEJVRl9PRkZTRVQuCi0JKG1pcHNfZWFiaV9wdXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgTEVOIHRv IExPTkdFU1QuICBVc2UgcGxvbmdlc3QKLQl0byBmb3JtYXQgcHJpbnQgTEVOLgotCShtaXBzX24z Mm42NF9mcF9hcmdfY2h1bmtfcCk6IEV4cGFuZCBwYXJhbWV0ZXIgT0ZGU0VUIHRvIExPTkdFU1Qu Ci0JRXhwYW5kIFBPUyB0byBMT05HRVNULgotCShtaXBzX24zMm42NF9wdXNoX2R1bW15X2NhbGwp OiBFeHBhbmQgTEVOIHRvIExPTkdFU1QuCi0JKG1pcHNfbjMybjY0X3JldHVybl92YWx1ZSk6IEV4 cGFuZCBPRkZTRVQgdG8gTE9OR0VTVC4gIFVzZQotCXBsb25nZXN0IHRvIGZvcm1hdCBwcmludCBP RkZTRVQuCi0JKG1pcHNfbzMyX3B1c2hfZHVtbXlfY2FsbCk6IEV4cGFuZCBMRU4gdG8gTE9OR0VT VC4gIFVzZSBwbG9uZ2VzdAotCXRvIGZvcm1hdCBwcmludCBMRU4uCi0JKG1pcHNfbzY0X3B1c2hf ZHVtbXlfY2FsbCk6IEV4cGFuZCBMRU4sIFNUQUNLX09GRlNFVCB0byBMT05HRVNULgotCVVzZSBw bG9uZ2VzdCB0byBmb3JtYXQgcHJpbnQgTEVOLgotCSogbW4xMDMwMC10ZGVwLmMgKG1uMTAzMDBf cHVzaF9kdW1teV9jYWxsKTogRXhwYW5kIExFTiB0bwotCUxPTkdFU1QuCi0JKiBtdC10ZGVwLmMg KG10X3B1c2hfZHVtbXlfY2FsbCk6IEV4cGFuZCBTVEFDS19ERVNULCBUWVBFTEVOIHRvCi0JTE9O R0VTVC4KLQkqIHBwYy1zeXN2LXRkZXAuYyAocHBjX3N5c3ZfYWJpX3B1c2hfZHVtbXlfY2FsbCk6 IEV4cGFuZAotCUFSR1NQQUNFLCBBUkdPRkZTRVQsIFNUUlVDVE9GRlNFVCwgTEVOLCB0byBMT05H RVNULgotCShwcGM2NF9zeXN2X2FiaV9wdXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgQllURSwgTEVO IHRvIHNzaXplX3QuCi0JKiBybDc4LXRkZXAuYyAocmw3OF9wdXNoX2R1bW15X2NhbGwpOiBFeHBh bmQgTEVOLCBDT05UQUlORVJfTEVOCi0JdG8gTE9OR0VTVC4KLQkqIHJzNjAwMC1haXgtdGRlcC5j IChyczYwMDBfcHVzaF9kdW1teV9jYWxsKTogRXhwYW5kIEFSR0JZVEVTLAotCUxFTiB0byBMT05H RVNULgotCShyYW5fb3V0X29mX3JlZ2lzdGVyc19mb3JfYXJndW1lbnRzKTogRXhwYW5kIFNQQUNF LCBKSiB0bwotCUxPTkdFU1QuCi0JKiBzMzkwLWxpbnV4LXRkZXAuYyAoczM5MF92YWx1ZV9mcm9t X3JlZ2lzdGVyKTogRXhwYW5kIExFTiB0byBMT05HRVNULgotCShpc19wb3dlcl9vZl90d28pOiBF eHBhbmQgcGFyYW1ldGVyIE4gdG8gVUxPTkdFU1QuCi0JKHMzOTBfcHVzaF9kdW1teV9jYWxsKTog RXhwYW5kIExFTkdUSCB0byBVTE9OR0VTVC4KLQkqIHNjb3JlLXRkZXAuYyAoc2NvcmVfcHVzaF9k dW1teV9jYWxsKTogRXhwYW5kIEFSR0xFTiB0bwotCUxPTkdFU1QuCi0JKiBzaC10ZGVwLmMgKHNo X3VzZV9zdHJ1Y3RfY29udmVudGlvbikgRXhwYW5kIGxlbiB0byBMT05HRVNULgotCShzaF9qdXN0 aWZ5X3ZhbHVlX2luX3JlZyk6IEV4cGFuZCBwYXJhbWV0ZXIgTEVOIHRvIExPTkdFU1QuCi0JKHNo X3B1c2hfZHVtbXlfY2FsbF9mcHUpOiBFeHBhbmQgTEVOIHRvIExPTkdFU1QuICBFeHBhbmQgUkVH X1NJWkUKLQl0byBzc2l6ZV90LgotCShzaF9wdXNoX2R1bW15X2NhbGxfbm9mcHUpOiBMaWtld2lz ZS4KLQkqIHNoNjQtdGRlcC5jIChzaDY0X3B1c2hfZHVtbXlfY2FsbCk6IEV4cGFuZCBTVEFDS19P RkZTRVQsCi0JU1RBQ0tfQUxMT0MsIExFTiB0byBMT05HRVNULgotCSogc3BhcmMtdGRlcC5jIChz cGFyYzMyX3N0b3JlX2FyZ3VtZW50cyk6IEV4cGFuZCBMRU4gdG8gTE9OR0VTVC4KLQkqIHNwYXJj NjQtdGRlcC5jIChzcGFyYzY0X3N0b3JlX2Zsb2F0aW5nX2ZpZWxkcyk6IEV4cGFuZAotCXBhcmFt ZXRlciBCSVRQT1MgdG8gTE9OR0VTVC4gIEV4cGFuZCBTVUJQT1MgdG8gTE9OR0VTVC4KLQkoc3Bh cmM2NF9leHRyYWN0X2Zsb2F0aW5nX2ZpZWxkcyk6IExpa2V3aXNlLgotCShzcGFyYzY0X3N0b3Jl X2FyZ3VtZW50cyk6IEV4cGFuZCBMRU4gdG8gTE9OR0VTVC4KLQkqIHNwdS10ZGVwLmMgKHNwdV9w dXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgTl9SRUdTLCBMRU4gdG8gTE9OR0VTVC4KLQkoc3B1X3Zh bHVlX2Zyb21fcmVnaXN0ZXIpOiBFeHBhbmQgTEVOIHRvIExPTkdFU1QuCi0JKiB0aWM2eC10ZGVw LmMgKHRpYzZ4X3B1c2hfZHVtbXlfY2FsbCk6IEV4cGFuZCBSRUZFUkVOQ0VTX09GRlNULAotCUxF TiB0byBMT05HRVNULiAgRXhwYW5kIExFTiB0byBzc2l6ZV90LiAgVXNlIHBsb25nZXN0IHRvIGZv cm1hdAotCXByaW50IExFTi4KLQkqIHRpbGVneC10ZGVwLmMgKHRpbGVneF9wdXNoX2R1bW15X2Nh bGwpOiBFeHBhbmQgVFlQRUxFTiwKLQlTTEFDS0xFTiwgQUxJR05MRU4gdG8gTE9OR0VTVC4KLQkq IHY4NTAtdGRlcC5jICh2ODUwX3B1c2hfZHVtbXlfY2FsbCk6IEV4cGFuZCBMRU4gdG8gTE9OR0VT VC4KLQkqIHZheC10ZGVwLmMgKHZheF9zdG9yZV9hcmd1bWVudHMpOiBFeHBhbmQgQ09VTlQsIExF TiB0byBMT05HRVNULgotCSh2YXhfcmV0dXJuX3ZhbHVlKTogRXhwYW5kIExFTiB0byBMT05HRVNU LgotCSogeHN0b3JteTE2LXRkZXAuYyAoeHN0b3JteTE2X3B1c2hfZHVtbXlfY2FsbCk6IEV4cGFu ZCBKLCBUWVBFTEVOCi0JdG8gTE9OR0VTVC4KLQkqIHh0ZW5zYS10ZGVwLmMgKHh0ZW5zYV9zdG9y ZV9yZXR1cm5fdmFsdWUpOiBQcmludCBMRU4gaW5zdGVhZCBvZgotCVRZUEVfTEVOR1RILi4KLQko c3RydWN0IGFyZ3VtZW50X2luZm8pOiBFeHBvYW5kIG1lbWJlciBMRU5HVEggdG8gc3NpemVfdC4K LQkoc3RydWN0IGFyZ3VtZW50X2luZm8udSk6IEV4cGFuZCBtZW1iZXIgT0ZGU0VUIHRvIHNzaXpl X3QuCi0JKHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgU0laRSwgT05TVEFDS19TSVpF IHRvIExPTkdFU1QuCi0JRXhwYW5kIE4gdG8gc3NpemVfdC4gIFVzZSBwdWxvbmdlc3QgdG8gZm9y bWF0IHByaW50IFRZUEVfTEVOR1RILgotCi0tLU1QXy9YX1dqRE92ei9CX2Z2bHNybUN3UmR4ZQot Q29udGVudC1UeXBlOiB0ZXh0L3gtcGF0Y2gKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdi aXQKLUNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPWJpdHBvcy10ZGVw LnBhdGNoCi0KLWRpZmYgLS1naXQgYS9nZGIvYWxwaGEtdGRlcC5jIGIvZ2RiL2FscGhhLXRkZXAu YwotLS0tIGEvZ2RiL2FscGhhLXRkZXAuYwotKysrIGIvZ2RiL2FscGhhLXRkZXAuYwotQEAgLTMw MCwxNyArMzAwLDE3IEBAIGFscGhhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCi0gewotICAgZW51bSBiZmRfZW5kaWFuIGJ5 dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwotICAgaW50IGk7Ci0tICBp bnQgYWNjdW11bGF0ZV9zaXplID0gKHJldHVybl9tZXRob2QgPT0gcmV0dXJuX21ldGhvZF9zdHJ1 Y3QpID8gOCA6IDA7Ci0rICBzc2l6ZV90IGFjY3VtdWxhdGVfc2l6ZSA9IChyZXR1cm5fbWV0aG9k ID09IHJldHVybl9tZXRob2Rfc3RydWN0KSA/IDggOiAwOwotICAgc3RydWN0IGFscGhhX2FyZwot ICAgICB7Ci0gICAgICAgY29uc3QgZ2RiX2J5dGUgKmNvbnRlbnRzOwotLSAgICAgIGludCBsZW47 Ci0tICAgICAgaW50IG9mZnNldDsKLSsgICAgICBzc2l6ZV90IGxlbjsKLSsgICAgICBzc2l6ZV90 IG9mZnNldDsKLSAgICAgfTsKLSAgIHN0cnVjdCBhbHBoYV9hcmcgKmFscGhhX2FyZ3MgPSBYQUxM T0NBVkVDIChzdHJ1Y3QgYWxwaGFfYXJnLCBuYXJncyk7Ci0gICBzdHJ1Y3QgYWxwaGFfYXJnICpt X2FyZzsKLSAgIGdkYl9ieXRlIGFyZ19yZWdfYnVmZmVyW0FMUEhBX1JFR0lTVEVSX1NJWkUgKiBB TFBIQV9OVU1fQVJHX1JFR1NdOwotLSAgaW50IHJlcXVpcmVkX2FyZ19yZWdzOwotKyAgc3NpemVf dCByZXF1aXJlZF9hcmdfcmVnczsKLSAgIENPUkVfQUREUiBmdW5jX2FkZHIgPSBmaW5kX2Z1bmN0 aW9uX2FkZHIgKGZ1bmN0aW9uLCBOVUxMKTsKLSAKLSAgIC8qIFRoZSBBQkkgcGxhY2VzIHRoZSBh ZGRyZXNzIG9mIHRoZSBjYWxsZWQgZnVuY3Rpb24gaW4gVDEyLiAgKi8KLUBAIC00MzAsOCArNDMw LDggQEAgYWxwaGFfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3Ry dWN0IHZhbHVlICpmdW5jdGlvbiwKLSAgIGZvciAoaSA9IG5hcmdzOyBtX2FyZy0tLCAtLWkgPj0g MDspCi0gICAgIHsKLSAgICAgICBjb25zdCBnZGJfYnl0ZSAqY29udGVudHMgPSBtX2FyZy0+Y29u dGVudHM7Ci0tICAgICAgaW50IG9mZnNldCA9IG1fYXJnLT5vZmZzZXQ7Ci0tICAgICAgaW50IGxl biA9IG1fYXJnLT5sZW47Ci0rICAgICAgc3NpemVfdCBvZmZzZXQgPSBtX2FyZy0+b2Zmc2V0Owot KyAgICAgIHNzaXplX3QgbGVuID0gbV9hcmctPmxlbjsKLSAKLSAgICAgICAvKiBDb3B5IHRoZSBi eXRlcyBkZXN0aW5lZCBmb3IgcmVnaXN0ZXJzIGludG8gYXJnX3JlZ19idWZmZXIuICAqLwotICAg ICAgIGlmIChvZmZzZXQgPCBzaXplb2YoYXJnX3JlZ19idWZmZXIpKQotQEAgLTQ0Myw3ICs0NDMs NyBAQCBhbHBoYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1 Y3QgdmFsdWUgKmZ1bmN0aW9uLAotIAkgICAgfQotIAkgIGVsc2UKLSAJICAgIHsKLS0JICAgICAg aW50IHRsZW4gPSBzaXplb2YoYXJnX3JlZ19idWZmZXIpIC0gb2Zmc2V0OwotKwkgICAgICBzc2l6 ZV90IHRsZW4gPSBzaXplb2YoYXJnX3JlZ19idWZmZXIpIC0gb2Zmc2V0OwotIAkgICAgICBtZW1j cHkgKGFyZ19yZWdfYnVmZmVyICsgb2Zmc2V0LCBjb250ZW50cywgdGxlbik7Ci0gCSAgICAgIG9m ZnNldCArPSB0bGVuOwotIAkgICAgICBjb250ZW50cyArPSB0bGVuOwotZGlmZiAtLWdpdCBhL2dk Yi9hbWQ2NC10ZGVwLmMgYi9nZGIvYW1kNjQtdGRlcC5jCi0tLS0gYS9nZGIvYW1kNjQtdGRlcC5j Ci0rKysgYi9nZGIvYW1kNjQtdGRlcC5jCi1AQCAtODgzLDggKzg4Myw4IEBAIGFtZDY0X3B1c2hf YXJndW1lbnRzIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgbmFyZ3MsIHN0cnVjdCB2 YWx1ZSAqKmFyZ3MsCi0gICB9OwotICAgc3RydWN0IHZhbHVlICoqc3RhY2tfYXJncyA9IFhBTExP Q0FWRUMgKHN0cnVjdCB2YWx1ZSAqLCBuYXJncyk7Ci0gICBpbnQgbnVtX3N0YWNrX2FyZ3MgPSAw OwotLSAgaW50IG51bV9lbGVtZW50cyA9IDA7Ci0tICBpbnQgZWxlbWVudCA9IDA7Ci0rICBMT05H RVNUIG51bV9lbGVtZW50cyA9IDA7Ci0rICBMT05HRVNUIGVsZW1lbnQgPSAwOwotICAgaW50IGlu dGVnZXJfcmVnID0gMDsKLSAgIGludCBzc2VfcmVnID0gMDsKLSAgIGludCBpOwotQEAgLTg5Niw3 ICs4OTYsNyBAQCBpZiAocmV0dXJuX21ldGhvZCA9PSByZXR1cm5fbWV0aG9kX3N0cnVjdCkKLSAg IGZvciAoaSA9IDA7IGkgPCBuYXJnczsgaSsrKQotICAgICB7Ci0gICAgICAgc3RydWN0IHR5cGUg KnR5cGUgPSB2YWx1ZV90eXBlIChhcmdzW2ldKTsKLS0gICAgICBpbnQgbGVuID0gVFlQRV9MRU5H VEggKHR5cGUpOwotKyAgICAgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotICAg ICAgIGVudW0gYW1kNjRfcmVnX2NsYXNzIHRoZWNsYXNzWzJdOwotICAgICAgIGludCBuZWVkZWRf aW50ZWdlcl9yZWdzID0gMDsKLSAgICAgICBpbnQgbmVlZGVkX3NzZV9yZWdzID0gMDsKLUBAIC05 NjAsNyArOTYwLDcgQEAgaWYgKHJldHVybl9tZXRob2QgPT0gcmV0dXJuX21ldGhvZF9zdHJ1Y3Qp Ci0gCi0gCSAgICAgIGdkYl9hc3NlcnQgKHJlZ251bSAhPSAtMSk7Ci0gCSAgICAgIG1lbXNldCAo YnVmLCAwLCBzaXplb2YgYnVmKTsKLS0JICAgICAgbWVtY3B5IChidWYsIHZhbGJ1ZiArIGogKiA4 LCBzdGQ6Om1pbiAobGVuLCA4KSk7Ci0rCSAgICAgIG1lbWNweSAoYnVmLCB2YWxidWYgKyBqICog OCwgc3RkOjptaW4gKGxlbiwgKExPTkdFU1QpIDgpKTsKLSAJICAgICAgcmVnY2FjaGUtPnJhd193 cml0ZV9wYXJ0IChyZWdudW0sIG9mZnNldCwgOCwgYnVmKTsKLSAJICAgIH0KLSAJfQotZGlmZiAt LWdpdCBhL2dkYi9hbWQ2NC13aW5kb3dzLXRkZXAuYyBiL2dkYi9hbWQ2NC13aW5kb3dzLXRkZXAu YwotLS0tIGEvZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jCi0rKysgYi9nZGIvYW1kNjQtd2luZG93 cy10ZGVwLmMKLUBAIC0yOTEsNyArMjkxLDcgQEAgYW1kNjRfd2luZG93c19yZXR1cm5fdmFsdWUg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotIAkJCSAg ICBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKLSAJCQkgICAg Z2RiX2J5dGUgKnJlYWRidWYsIGNvbnN0IGdkYl9ieXRlICp3cml0ZWJ1ZikKLSB7Ci0tICBpbnQg bGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotKyAgTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAo dHlwZSk7Ci0gICBpbnQgcmVnbnVtID0gLTE7Ci0gCi0gICAvKiBTZWUgaWYgb3VyIHZhbHVlIGlz IHJldHVybmVkIHRocm91Z2ggYSByZWdpc3Rlci4gIElmIGl0IGlzLCB0aGVuCi1kaWZmIC0tZ2l0 IGEvZ2RiL2FybS10ZGVwLmMgYi9nZGIvYXJtLXRkZXAuYwotLS0tIGEvZ2RiL2FybS10ZGVwLmMK LSsrKyBiL2dkYi9hcm0tdGRlcC5jCi1AQCAtMzQ0MCw3ICszNDQwLDcgQEAgYXJtX3ZmcF9jcHJj X3JlZ19jaGFyIChlbnVtIGFybV92ZnBfY3ByY19iYXNlX3R5cGUgYikKLSAgICBhcnJheSkuICBW ZWN0b3IgdHlwZXMgYXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLCBtYXRjaGluZyB0aGUKLSAg ICBnZW5lcmljIEFBUENTIHN1cHBvcnQuICAqLwotIAotLXN0YXRpYyBpbnQKLStzdGF0aWMgTE9O R0VTVAotIGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChzdHJ1Y3QgdHlwZSAqdCwKLSAJCQkg ICAgZW51bSBhcm1fdmZwX2NwcmNfYmFzZV90eXBlICpiYXNlX3R5cGUpCi0gewotQEAgLTM1MjMs NyArMzUyMyw3IEBAIGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChzdHJ1Y3QgdHlwZSAqdCwK LSAJICB9Ci0gCWVsc2UKLSAJICB7Ci0tCSAgICBpbnQgY291bnQ7Ci0rCSAgICBMT05HRVNUIGNv dW50OwotIAkgICAgdW5zaWduZWQgdW5pdGxlbjsKLSAKLSAJICAgIGNvdW50ID0gYXJtX3ZmcF9j cHJjX3N1Yl9jYW5kaWRhdGUgKFRZUEVfVEFSR0VUX1RZUEUgKHQpLAotQEAgLTM1NDYsMTIgKzM1 NDYsMTIgQEAgYXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRhdGUgKHN0cnVjdCB0eXBlICp0LAotIAot ICAgICBjYXNlIFRZUEVfQ09ERV9TVFJVQ1Q6Ci0gICAgICAgewotLQlpbnQgY291bnQgPSAwOwot KwlMT05HRVNUIGNvdW50ID0gMDsKLSAJdW5zaWduZWQgdW5pdGxlbjsKLSAJaW50IGk7Ci0gCWZv ciAoaSA9IDA7IGkgPCBUWVBFX05GSUVMRFMgKHQpOyBpKyspCi0gCSAgewotLQkgICAgaW50IHN1 Yl9jb3VudCA9IDA7Ci0rCSAgICBMT05HRVNUIHN1Yl9jb3VudCA9IDA7Ci0gCi0gCSAgICBpZiAo IWZpZWxkX2lzX3N0YXRpYyAoJlRZUEVfRklFTEQgKHQsIGkpKSkKLSAJICAgICAgc3ViX2NvdW50 ID0gYXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRhdGUgKFRZUEVfRklFTERfVFlQRSAodCwgaSksCi1A QCAtMzU3NSwxMyArMzU3NSwxNSBAQCBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoc3RydWN0 IHR5cGUgKnQsCi0gCi0gICAgIGNhc2UgVFlQRV9DT0RFX1VOSU9OOgotICAgICAgIHsKLS0JaW50 IGNvdW50ID0gMDsKLSsJTE9OR0VTVCBjb3VudCA9IDA7Ci0gCXVuc2lnbmVkIHVuaXRsZW47Ci0g CWludCBpOwotIAlmb3IgKGkgPSAwOyBpIDwgVFlQRV9ORklFTERTICh0KTsgaSsrKQotIAkgIHsK LS0JICAgIGludCBzdWJfY291bnQgPSBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoVFlQRV9G SUVMRF9UWVBFICh0LCBpKSwKLS0JCQkJCQkJYmFzZV90eXBlKTsKLSsJICAgIExPTkdFU1Qgc3Vi X2NvdW50OwotKwotKwkgICAgc3ViX2NvdW50ID0gYXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRhdGUg KFRZUEVfRklFTERfVFlQRSAodCwgaSksCi0rCQkJCQkJICAgIGJhc2VfdHlwZSk7Ci0gCSAgICBp ZiAoc3ViX2NvdW50ID09IC0xKQotIAkgICAgICByZXR1cm4gLTE7Ci0gCSAgICBjb3VudCA9IChj b3VudCA+IHN1Yl9jb3VudCA/IGNvdW50IDogc3ViX2NvdW50KTsKLUBAIC0zNjE3LDcgKzM2MTks NyBAQCBhcm1fdmZwX2NhbGxfY2FuZGlkYXRlIChzdHJ1Y3QgdHlwZSAqdCwgZW51bSBhcm1fdmZw X2NwcmNfYmFzZV90eXBlICpiYXNlX3R5cGUsCi0gCQkJaW50ICpjb3VudCkKLSB7Ci0gICBlbnVt IGFybV92ZnBfY3ByY19iYXNlX3R5cGUgYiA9IFZGUF9DUFJDX1VOS05PV047Ci0tICBpbnQgYyA9 IGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlICh0LCAmYik7Ci0rICBMT05HRVNUIGMgPSBhcm1f dmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAodCwgJmIpOwotICAgaWYgKGMgPD0gMCB8fCBjID4gNCkK LSAgICAgcmV0dXJuIDA7Ci0gICAqYmFzZV90eXBlID0gYjsKLUBAIC0zNjk5LDcgKzM3MDEsNyBA QCBhcm1fcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZh bHVlICpmdW5jdGlvbiwKLSAKLSAgIGZvciAoYXJnbnVtID0gMDsgYXJnbnVtIDwgbmFyZ3M7IGFy Z251bSsrKQotICAgICB7Ci0tICAgICAgaW50IGxlbjsKLSsgICAgICBMT05HRVNUIGxlbjsKLSAg ICAgICBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGU7Ci0gICAgICAgc3RydWN0IHR5cGUgKnRhcmdldF90 eXBlOwotICAgICAgIGVudW0gdHlwZV9jb2RlIHR5cGVjb2RlOwotZGlmZiAtLWdpdCBhL2dkYi9h dnItdGRlcC5jIGIvZ2RiL2F2ci10ZGVwLmMKLS0tLSBhL2dkYi9hdnItdGRlcC5jCi0rKysgYi9n ZGIvYXZyLXRkZXAuYwotQEAgLTExOTIsMTMgKzExOTIsMTMgQEAgYXZyX2R1bW15X2lkIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUpCi0gCi0g c3RydWN0IHN0YWNrX2l0ZW0KLSB7Ci0tICBpbnQgbGVuOwotKyAgc3NpemVfdCBsZW47Ci0gICBz dHJ1Y3Qgc3RhY2tfaXRlbSAqcHJldjsKLSAgIGdkYl9ieXRlICpkYXRhOwotIH07Ci0gCi0gc3Rh dGljIHN0cnVjdCBzdGFja19pdGVtICoKLS1wdXNoX3N0YWNrX2l0ZW0gKHN0cnVjdCBzdGFja19p dGVtICpwcmV2LCBjb25zdCBiZmRfYnl0ZSAqY29udGVudHMsIGludCBsZW4pCi0rcHVzaF9zdGFj a19pdGVtIChzdHJ1Y3Qgc3RhY2tfaXRlbSAqcHJldiwgY29uc3QgYmZkX2J5dGUgKmNvbnRlbnRz LCBzc2l6ZV90IGxlbikKLSB7Ci0gICBzdHJ1Y3Qgc3RhY2tfaXRlbSAqc2k7Ci0gICBzaSA9IFhO RVcgKHN0cnVjdCBzdGFja19pdGVtKTsKLUBAIC0xMjg3LDEyICsxMjg3LDEyIEBAIGF2cl9wdXNo X2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0 aW9uLAotIAotICAgZm9yIChpID0gMDsgaSA8IG5hcmdzOyBpKyspCi0gICAgIHsKLS0gICAgICBp bnQgbGFzdF9yZWdudW07Ci0tICAgICAgaW50IGo7Ci0rICAgICAgc3NpemVfdCBsYXN0X3JlZ251 bTsKLSsgICAgICBzc2l6ZV90IGo7Ci0gICAgICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2ld OwotICAgICAgIHN0cnVjdCB0eXBlICp0eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAo YXJnKSk7Ci0gICAgICAgY29uc3QgYmZkX2J5dGUgKmNvbnRlbnRzID0gdmFsdWVfY29udGVudHMg KGFyZyk7Ci0tICAgICAgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSsgICAgICBzc2l6 ZV90IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAKLSAgICAgICAvKiBDYWxjdWxhdGUgdGhl IHBvdGVudGlhbCBsYXN0IHJlZ2lzdGVyIG5lZWRlZC4KLSAgICAgICAgICBFLmcuIEZvciBsZW5n dGggMiwgcmVnaXN0ZXJzIHJlZ251bSBhbmQgcmVnbnVtLTEgKHNheSAyNSBhbmQgMjQpCi1kaWZm IC0tZ2l0IGEvZ2RiL2JmaW4tdGRlcC5jIGIvZ2RiL2JmaW4tdGRlcC5jCi0tLS0gYS9nZGIvYmZp bi10ZGVwLmMKLSsrKyBiL2dkYi9iZmluLXRkZXAuYwotQEAgLTUwNCw3ICs1MDQsNyBAQCBiZmlu X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gICBlbnVtIGJmZF9l bmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0gICBpbnQg aTsKLSAgIGxvbmcgcmVnX3IwLCByZWdfcjEsIHJlZ19yMjsKLS0gIGludCB0b3RhbF9sZW4gPSAw OwotKyAgc3NpemVfdCB0b3RhbF9sZW4gPSAwOwotIAotICAgZm9yIChpID0gbmFyZ3MgLSAxOyBp ID49IDA7IGktLSkKLSAgICAgewotQEAgLTUyNiw3ICs1MjYsNyBAQCBiZmluX3B1c2hfZHVtbXlf Y2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gICAgIHsKLSAgICAgICBzdHJ1Y3QgdHlw ZSAqdmFsdWVfdHlwZSA9IHZhbHVlX2VuY2xvc2luZ190eXBlIChhcmdzW2ldKTsKLSAgICAgICBz dHJ1Y3QgdHlwZSAqYXJnX3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlKTsKLS0gICAg ICBpbnQgY29udGFpbmVyX2xlbiA9IChUWVBFX0xFTkdUSCAoYXJnX3R5cGUpICsgMykgJiB+MzsK LSsgICAgICBzc2l6ZV90IGNvbnRhaW5lcl9sZW4gPSAoVFlQRV9MRU5HVEggKGFyZ190eXBlKSAr IDMpICYgfjM7Ci0gCi0gICAgICAgc3AgLT0gY29udGFpbmVyX2xlbjsKLSAgICAgICB3cml0ZV9t ZW1vcnkgKHNwLCB2YWx1ZV9jb250ZW50cyAoYXJnc1tpXSksIGNvbnRhaW5lcl9sZW4pOwotZGlm ZiAtLWdpdCBhL2dkYi9jcmlzLXRkZXAuYyBiL2dkYi9jcmlzLXRkZXAuYwotLS0tIGEvZ2RiL2Ny aXMtdGRlcC5jCi0rKysgYi9nZGIvY3Jpcy10ZGVwLmMKLUBAIC02NTcsMTMgKzY1NywxMyBAQCBz dGF0aWMgQ09SRV9BRERSIGNyaXN2MzJfc2Nhbl9wcm9sb2d1ZSAoQ09SRV9BRERSIHBjLAotIAot IHN0cnVjdCBzdGFja19pdGVtCi0gewotLSAgaW50IGxlbjsKLSsgIHNzaXplX3QgbGVuOwotICAg c3RydWN0IHN0YWNrX2l0ZW0gKnByZXY7Ci0gICBnZGJfYnl0ZSAqZGF0YTsKLSB9OwotIAotIHN0 YXRpYyBzdHJ1Y3Qgc3RhY2tfaXRlbSAqCi0tcHVzaF9zdGFja19pdGVtIChzdHJ1Y3Qgc3RhY2tf aXRlbSAqcHJldiwgY29uc3QgZ2RiX2J5dGUgKmNvbnRlbnRzLCBpbnQgbGVuKQotK3B1c2hfc3Rh Y2tfaXRlbSAoc3RydWN0IHN0YWNrX2l0ZW0gKnByZXYsIGNvbnN0IGdkYl9ieXRlICpjb250ZW50 cywgc3NpemVfdCBsZW4pCi0gewotICAgc3RydWN0IHN0YWNrX2l0ZW0gKnNpID0gWE5FVyAoc3Ry dWN0IHN0YWNrX2l0ZW0pOwotICAgc2ktPmRhdGEgPSAoZ2RiX2J5dGUgKikgeG1hbGxvYyAobGVu KTsKLUBAIC04MTQsMTMgKzgxNCwxMyBAQCBjcmlzX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCi0gCi0gICBmb3IgKGFyZ251 bSA9IDA7IGFyZ251bSA8IG5hcmdzOyBhcmdudW0rKykKLSAgICAgewotLSAgICAgIGludCBsZW47 Ci0rICAgICAgc3NpemVfdCBsZW47Ci0gICAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsKLS0gICAg ICBpbnQgcmVnX2RlbWFuZDsKLS0gICAgICBpbnQgaTsKLSsgICAgICBzc2l6ZV90IHJlZ19kZW1h bmQ7Ci0rICAgICAgc3NpemVfdCBpOwotICAgICAgIAotLSAgICAgIGxlbiA9IFRZUEVfTEVOR1RI ICh2YWx1ZV90eXBlIChhcmdzW2FyZ251bV0pKTsKLSAgICAgICB2YWwgPSB2YWx1ZV9jb250ZW50 cyAoYXJnc1thcmdudW1dKTsKLSsgICAgICBsZW4gPSBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAo YXJnc1thcmdudW1dKSk7Ci0gICAgICAgCi0gICAgICAgLyogSG93IG1heSByZWdpc3RlcnMgd29y dGggb2Ygc3RvcmFnZSBkbyB3ZSBuZWVkIGZvciB0aGlzIGFyZ3VtZW50PyAgKi8KLSAgICAgICBy ZWdfZGVtYW5kID0gKGxlbiAvIDQpICsgKGxlbiAlIDQgIT0gMCA/IDEgOiAwKTsKLWRpZmYgLS1n aXQgYS9nZGIvaDgzMDAtdGRlcC5jIGIvZ2RiL2g4MzAwLXRkZXAuYwotLS0tIGEvZ2RiL2g4MzAw LXRkZXAuYwotKysrIGIvZ2RiL2g4MzAwLXRkZXAuYwotQEAgLTYxOSw3ICs2MTksNyBAQCBoODMw MF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUg KmZ1bmN0aW9uLAotIAkJICAgICAgIENPUkVfQUREUiBzdHJ1Y3RfYWRkcikKLSB7Ci0gICBlbnVt IGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0t ICBpbnQgc3RhY2tfYWxsb2MgPSAwLCBzdGFja19vZmZzZXQgPSAwOwotKyAgTE9OR0VTVCBzdGFj a19hbGxvYyA9IDAsIHN0YWNrX29mZnNldCA9IDA7Ci0gICBpbnQgd29yZHNpemUgPSBCSU5XT1JE IChnZGJhcmNoKTsKLSAgIGludCByZWcgPSBFX0FSRzBfUkVHTlVNOwotICAgaW50IGFyZ3VtZW50 OwotQEAgLTY0NSwxMSArNjQ1LDExIEBAIGg4MzAwX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCi0gICBmb3IgKGFyZ3VtZW50 ID0gMDsgYXJndW1lbnQgPCBuYXJnczsgYXJndW1lbnQrKykKLSAgICAgewotICAgICAgIHN0cnVj dCB0eXBlICp0eXBlID0gdmFsdWVfdHlwZSAoYXJnc1thcmd1bWVudF0pOwotLSAgICAgIGludCBs ZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0rICAgICAgc3NpemVfdCBsZW4gPSBUWVBFX0xFTkdU SCAodHlwZSk7Ci0gICAgICAgY2hhciAqY29udGVudHMgPSAoY2hhciAqKSB2YWx1ZV9jb250ZW50 cyAoYXJnc1thcmd1bWVudF0pOwotIAotICAgICAgIC8qIFBhZCB0aGUgYXJndW1lbnQgYXBwcm9w cmlhdGVseS4gICovCi0tICAgICAgaW50IHBhZGRlZF9sZW4gPSBhbGlnbl91cCAobGVuLCB3b3Jk c2l6ZSk7Ci0rICAgICAgc3NpemVfdCBwYWRkZWRfbGVuID0gYWxpZ25fdXAgKGxlbiwgd29yZHNp emUpOwotICAgICAgIC8qIFVzZSBzdGQ6OnZlY3RvciBoZXJlIHRvIGdldCB6ZXJvIGluaXRpYWxp emF0aW9uLiAgKi8KLSAgICAgICBzdGQ6OnZlY3RvcjxnZGJfYnl0ZT4gcGFkZGVkIChwYWRkZWRf bGVuKTsKLSAKLUBAIC02NzgsNyArNjc4LDcgQEAgaDgzMDBfcHVzaF9kdW1teV9jYWxsIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAJICAgICAgLyog SGVhdmVucyB0byBCZXRzeSAtLS0gaXQncyByZWFsbHkgZ29pbmcgaW4gcmVnaXN0ZXJzIQotIAkg ICAgICAgICBOb3RlIHRoYXQgb24gdGhlIGg4LzMwMHMsIHRoZXJlIGFyZSBnYXBzIGJldHdlZW4g dGhlCi0gCSAgICAgICAgIHJlZ2lzdGVycyBpbiB0aGUgcmVnaXN0ZXIgZmlsZS4gICovCi0tCSAg ICAgIGludCBvZmZzZXQ7Ci0rCSAgICAgIHNzaXplX3Qgb2Zmc2V0OwotIAotIAkgICAgICBmb3Ig KG9mZnNldCA9IDA7IG9mZnNldCA8IHBhZGRlZF9sZW47IG9mZnNldCArPSB3b3Jkc2l6ZSkKLSAJ CXsKLWRpZmYgLS1naXQgYS9nZGIvaHBwYS10ZGVwLmMgYi9nZGIvaHBwYS10ZGVwLmMKLS0tLSBh L2dkYi9ocHBhLXRkZXAuYwotKysrIGIvZ2RiL2hwcGEtdGRlcC5jCi1AQCAtOTg1LDcgKzk4NSw3 IEBAIGhwcGE2NF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1 Y3QgdmFsdWUgKmZ1bmN0aW9uLAotICAgICB7Ci0gICAgICAgc3RydWN0IHZhbHVlICphcmcgPSBh cmdzW2ldOwotICAgICAgIHN0cnVjdCB0eXBlICp0eXBlID0gdmFsdWVfdHlwZSAoYXJnKTsKLS0g ICAgICBpbnQgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotKyAgICAgIExPTkdFU1QgbGVuID0g VFlQRV9MRU5HVEggKHR5cGUpOwotICAgICAgIGNvbnN0IGJmZF9ieXRlICp2YWxidWY7Ci0gICAg ICAgYmZkX2J5dGUgZnB0cmJ1Zls4XTsKLSAgICAgICBpbnQgcmVnbnVtOwotQEAgLTExNzgsNyAr MTE3OCw3IEBAIGhwcGE2NF9yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBz dHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotIAkJICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0 IHJlZ2NhY2hlICpyZWdjYWNoZSwKLSAJCSAgICAgZ2RiX2J5dGUgKnJlYWRidWYsIGNvbnN0IGdk Yl9ieXRlICp3cml0ZWJ1ZikKLSB7Ci0tICBpbnQgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwot KyAgTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0gICBpbnQgcmVnbnVtLCBvZmZz ZXQ7Ci0gCi0gICBpZiAobGVuID4gMTYpCi1kaWZmIC0tZ2l0IGEvZ2RiL2kzODYtZGFyd2luLXRk ZXAuYyBiL2dkYi9pMzg2LWRhcndpbi10ZGVwLmMKLS0tLSBhL2dkYi9pMzg2LWRhcndpbi10ZGVw LmMKLSsrKyBiL2dkYi9pMzg2LWRhcndpbi10ZGVwLmMKLUBAIC0xNjcsNyArMTY3LDcgQEAgaTM4 Nl9kYXJ3aW5fcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0 IHZhbHVlICpmdW5jdGlvbiwKLSAKLSAgIGZvciAod3JpdGVfcGFzcyA9IDA7IHdyaXRlX3Bhc3Mg PCAyOyB3cml0ZV9wYXNzKyspCi0gICAgIHsKLS0gICAgICBpbnQgYXJnc19zcGFjZSA9IDA7Ci0r ICAgICAgTE9OR0VTVCBhcmdzX3NwYWNlID0gMDsKLSAgICAgICBpbnQgbnVtX20xMjggPSAwOwot IAotICAgICAgIGlmIChyZXR1cm5fbWV0aG9kID09IHJldHVybl9tZXRob2Rfc3RydWN0KQotZGlm ZiAtLWdpdCBhL2dkYi9pMzg2LXRkZXAuYyBiL2dkYi9pMzg2LXRkZXAuYwotLS0tIGEvZ2RiL2kz ODYtdGRlcC5jCi0rKysgYi9nZGIvaTM4Ni10ZGVwLmMKLUBAIC0yNjc5LDcgKzI2NzksNyBAQCBp Mzg2X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1 ZSAqZnVuY3Rpb24sCi0gICBnZGJfYnl0ZSBidWZbNF07Ci0gICBpbnQgaTsKLSAgIGludCB3cml0 ZV9wYXNzOwotLSAgaW50IGFyZ3Nfc3BhY2UgPSAwOwotKyAgTE9OR0VTVCBhcmdzX3NwYWNlID0g MDsKLSAKLSAgIC8qIEJORCByZWdpc3RlcnMgY2FuIGJlIGluIGFyYml0cmFyeSB2YWx1ZXMgYXQg dGhlIG1vbWVudCBvZiB0aGUKLSAgICAgIGluZmVyaW9yIGNhbGwuICBUaGlzIGNhbiBjYXVzZSBi b3VuZGFyeSB2aW9sYXRpb25zIHRoYXQgYXJlIG5vdAotQEAgLTI2OTQsNyArMjY5NCw3IEBAIGkz ODZfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVl ICpmdW5jdGlvbiwKLSAKLSAgIGZvciAod3JpdGVfcGFzcyA9IDA7IHdyaXRlX3Bhc3MgPCAyOyB3 cml0ZV9wYXNzKyspCi0gICAgIHsKLS0gICAgICBpbnQgYXJnc19zcGFjZV91c2VkID0gMDsKLSsg ICAgICBMT05HRVNUIGFyZ3Nfc3BhY2VfdXNlZCA9IDA7Ci0gCi0gICAgICAgaWYgKHJldHVybl9t ZXRob2QgPT0gcmV0dXJuX21ldGhvZF9zdHJ1Y3QpCi0gCXsKLUBAIC0yNzExLDcgKzI3MTEsNyBA QCBpMzg2X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2 YWx1ZSAqZnVuY3Rpb24sCi0gCi0gICAgICAgZm9yIChpID0gMDsgaSA8IG5hcmdzOyBpKyspCi0g CXsKLS0JICBpbnQgbGVuID0gVFlQRV9MRU5HVEggKHZhbHVlX2VuY2xvc2luZ190eXBlIChhcmdz W2ldKSk7Ci0rCSAgTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAodmFsdWVfZW5jbG9zaW5nX3R5 cGUgKGFyZ3NbaV0pKTsKLSAKLSAJICBpZiAod3JpdGVfcGFzcykKLSAJICAgIHsKLUBAIC0yOTE4 LDcgKzI5MTgsNyBAQCBpMzg2X3JlZ19zdHJ1Y3RfcmV0dXJuX3AgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKLSB7Ci0gICBzdHJ1Y3QgZ2RiYXJjaF90ZGVwICp0 ZGVwID0gZ2RiYXJjaF90ZGVwIChnZGJhcmNoKTsKLSAgIGVudW0gdHlwZV9jb2RlIGNvZGUgPSBU WVBFX0NPREUgKHR5cGUpOwotLSAgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSsgIExP TkdFU1QgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotIAotICAgZ2RiX2Fzc2VydCAoY29kZSA9 PSBUWVBFX0NPREVfU1RSVUNUCi0gICAgICAgICAgICAgICB8fCBjb2RlID09IFRZUEVfQ09ERV9V TklPTgotQEAgLTM3MDQsNyArMzcwNCw3IEBAIHN0YXRpYyBpbnQKLSBpMzg2X2NvbnZlcnRfcmVn aXN0ZXJfcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gCQkJIGludCByZWdudW0sIHN0cnVj dCB0eXBlICp0eXBlKQotIHsKLS0gIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0rICBM T05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAKLSAgIC8qIFZhbHVlcyBtYXkgYmUg c3ByZWFkIGFjcm9zcyBtdWx0aXBsZSByZWdpc3RlcnMuICBNb3N0IGRlYnVnZ2luZwotICAgICAg Zm9ybWF0cyBhcmVuJ3QgZXhwcmVzc2l2ZSBlbm91Z2ggdG8gc3BlY2lmeSB0aGUgbG9jYXRpb25z LCBzbwotQEAgLTM3MzcsNyArMzczNyw3IEBAIGkzODZfcmVnaXN0ZXJfdG9fdmFsdWUgKHN0cnVj dCBmcmFtZV9pbmZvICpmcmFtZSwgaW50IHJlZ251bSwKLSAJCQlpbnQgKm9wdGltaXplZHAsIGlu dCAqdW5hdmFpbGFibGVwKQotIHsKLSAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X2Zy YW1lX2FyY2ggKGZyYW1lKTsKLS0gIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0rICBM T05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAKLSAgIGlmIChpMzg2X2ZwX3JlZ251 bV9wIChnZGJhcmNoLCByZWdudW0pKQotICAgICByZXR1cm4gaTM4N19yZWdpc3Rlcl90b192YWx1 ZSAoZnJhbWUsIHJlZ251bSwgdHlwZSwgdG8sCi1AQCAtMzc3Myw3ICszNzczLDcgQEAgc3RhdGlj IHZvaWQKLSBpMzg2X3ZhbHVlX3RvX3JlZ2lzdGVyIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUs IGludCByZWdudW0sCi0gCQkJc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICpmcm9t KQotIHsKLS0gIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0rICBMT05HRVNUIGxlbiA9 IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAKLSAgIGlmIChpMzg2X2ZwX3JlZ251bV9wIChnZXRfZnJh bWVfYXJjaCAoZnJhbWUpLCByZWdudW0pKQotICAgICB7Ci1kaWZmIC0tZ2l0IGEvZ2RiL2lxMjAw MC10ZGVwLmMgYi9nZGIvaXEyMDAwLXRkZXAuYwotLS0tIGEvZ2RiL2lxMjAwMC10ZGVwLmMKLSsr KyBiL2dkYi9pcTIwMDAtdGRlcC5jCi1AQCAtNjUyLDggKzY1Miw5IEBAIGlxMjAwMF9wdXNoX2R1 bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9u LAotICAgY29uc3QgYmZkX2J5dGUgKnZhbDsKLSAgIGJmZF9ieXRlIGJ1Zls0XTsKLSAgIHN0cnVj dCB0eXBlICp0eXBlOwotLSAgaW50IGksIGFyZ3JlZywgdHlwZWxlbiwgc2xhY2tsZW47Ci0tICBp bnQgc3RhY2tzcGFjZSA9IDA7Ci0rICBpbnQgaSwgYXJncmVnLCBzbGFja2xlbjsKLSsgIExPTkdF U1QgdHlwZWxlbjsKLSsgIExPTkdFU1Qgc3RhY2tzcGFjZSA9IDA7Ci0gICAvKiBVc2VkIHRvIGNv cHkgc3RydWN0IGFyZ3VtZW50cyBpbnRvIHRoZSBzdGFjay4gICovCi0gICBDT1JFX0FERFIgc3Ry dWN0X3B0cjsKLSAKLWRpZmYgLS1naXQgYS9nZGIvbTMyci10ZGVwLmMgYi9nZGIvbTMyci10ZGVw LmMKLS0tLSBhL2dkYi9tMzJyLXRkZXAuYwotKysrIGIvZ2RiL20zMnItdGRlcC5jCi1AQCAtNjcx LDcgKzY3MSw3IEBAIG0zMnJfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAgIENPUkVfQUREUiByZWd2YWw7Ci0gICBnZGJf Ynl0ZSAqdmFsOwotICAgZ2RiX2J5dGUgdmFsYnVmW00zMlJfQVJHX1JFR0lTVEVSX1NJWkVdOwot LSAgaW50IGxlbjsKLSsgIExPTkdFU1QgbGVuOwotIAotICAgLyogRmlyc3QgZm9yY2Ugc3AgdG8g YSA0LWJ5dGUgYWxpZ25tZW50LiAgKi8KLSAgIHNwID0gc3AgJiB+MzsKLWRpZmYgLS1naXQgYS9n ZGIvbTY4ay10ZGVwLmMgYi9nZGIvbTY4ay10ZGVwLmMKLS0tLSBhL2dkYi9tNjhrLXRkZXAuYwot KysrIGIvZ2RiL202OGstdGRlcC5jCi1AQCAtMzcyLDcgKzM3Miw3IEBAIG02OGtfcmVnX3N0cnVj dF9yZXR1cm5fcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0eXBlICp0eXBlKQot IHsKLSAgIHN0cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gp OwotICAgZW51bSB0eXBlX2NvZGUgY29kZSA9IFRZUEVfQ09ERSAodHlwZSk7Ci0tICBpbnQgbGVu ID0gVFlQRV9MRU5HVEggKHR5cGUpOwotKyAgTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAodHlw ZSk7Ci0gCi0gICBnZGJfYXNzZXJ0IChjb2RlID09IFRZUEVfQ09ERV9TVFJVQ1QgfHwgY29kZSA9 PSBUWVBFX0NPREVfVU5JT04KLSAJICAgICAgfHwgY29kZSA9PSBUWVBFX0NPREVfQ09NUExFWCk7 Ci1AQCAtNTA1LDkgKzUwNSw5IEBAIG02OGtfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAgIGZvciAoaSA9IG5hcmdzIC0g MTsgaSA+PSAwOyBpLS0pCi0gICAgIHsKLSAgICAgICBzdHJ1Y3QgdHlwZSAqdmFsdWVfdHlwZSA9 IHZhbHVlX2VuY2xvc2luZ190eXBlIChhcmdzW2ldKTsKLS0gICAgICBpbnQgbGVuID0gVFlQRV9M RU5HVEggKHZhbHVlX3R5cGUpOwotLSAgICAgIGludCBjb250YWluZXJfbGVuID0gKGxlbiArIDMp ICYgfjM7Ci0tICAgICAgaW50IG9mZnNldDsKLSsgICAgICBMT05HRVNUIGxlbiA9IFRZUEVfTEVO R1RIICh2YWx1ZV90eXBlKTsKLSsgICAgICBMT05HRVNUIGNvbnRhaW5lcl9sZW4gPSAobGVuICsg MykgJiB+MzsKLSsgICAgICBMT05HRVNUIG9mZnNldDsKLSAKLSAgICAgICAvKiBOb24tc2NhbGFy cyBiaWdnZXIgdGhhbiA0IGJ5dGVzIGFyZSBsZWZ0IGFsaWduZWQsIG90aGVycyBhcmUKLSAJIHJp Z2h0IGFsaWduZWQuICAqLwotZGlmZiAtLWdpdCBhL2dkYi9tZXAtdGRlcC5jIGIvZ2RiL21lcC10 ZGVwLmMKLS0tLSBhL2dkYi9tZXAtdGRlcC5jCi0rKysgYi9nZGIvbWVwLXRkZXAuYwotQEAgLTIy MzgsNyArMjIzOCw3IEBAIHB1c2hfbGFyZ2VfYXJndW1lbnRzIChDT1JFX0FERFIgc3AsIGludCBh cmdjLCBzdHJ1Y3QgdmFsdWUgKiphcmd2LAotIAotICAgZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkr KykKLSAgICAgewotLSAgICAgIHVuc2lnbmVkIGFyZ19sZW4gPSBUWVBFX0xFTkdUSCAodmFsdWVf dHlwZSAoYXJndltpXSkpOwotKyAgICAgIFVMT05HRVNUIGFyZ19sZW4gPSBUWVBFX0xFTkdUSCAo dmFsdWVfdHlwZSAoYXJndltpXSkpOwotIAotICAgICAgIGlmIChhcmdfbGVuID4gTUVQX0dQUl9T SVpFKQotICAgICAgICAgewotZGlmZiAtLWdpdCBhL2dkYi9taXBzLXRkZXAuYyBiL2dkYi9taXBz LXRkZXAuYwotLS0tIGEvZ2RiL21pcHMtdGRlcC5jCi0rKysgYi9nZGIvbWlwcy10ZGVwLmMKLUBA IC00ODksNyArNDg5LDcgQEAgc3RhdGljIHZvaWQKLSBtaXBzX3hmZXJfcmVnaXN0ZXIgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAotIAkJICAgIGlu dCByZWdfbnVtLCBpbnQgbGVuZ3RoLAotIAkJICAgIGVudW0gYmZkX2VuZGlhbiBlbmRpYW4sIGdk Yl9ieXRlICppbiwKLS0JCSAgICBjb25zdCBnZGJfYnl0ZSAqb3V0LCBpbnQgYnVmX29mZnNldCkK LSsJCSAgICBjb25zdCBnZGJfYnl0ZSAqb3V0LCBMT05HRVNUIGJ1Zl9vZmZzZXQpCi0gewotICAg aW50IHJlZ19vZmZzZXQgPSAwOwotIAotQEAgLTUxMiw4ICs1MTIsOCBAQCBtaXBzX3hmZXJfcmVn aXN0ZXIgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hl LAotICAgICB9Ci0gICBpZiAobWlwc19kZWJ1ZykKLSAgICAgZnByaW50Zl91bmZpbHRlcmVkIChn ZGJfc3RkZXJyLAotLQkJCSJ4ZmVyICQlZCwgcmVnIG9mZnNldCAlZCwgYnVmIG9mZnNldCAlZCwg bGVuZ3RoICVkLCAiLAotLQkJCXJlZ19udW0sIHJlZ19vZmZzZXQsIGJ1Zl9vZmZzZXQsIGxlbmd0 aCk7Ci0rCQkJInhmZXIgJCVkLCByZWcgb2Zmc2V0ICVkLCBidWYgb2Zmc2V0ICVzLCBsZW5ndGgg JWQsICIsCi0rCQkJcmVnX251bSwgcmVnX29mZnNldCwgcGxvbmdlc3QgKGJ1Zl9vZmZzZXQpLCBs ZW5ndGgpOwotICAgaWYgKG1pcHNfZGVidWcgJiYgb3V0ICE9IE5VTEwpCi0gICAgIHsKLSAgICAg ICBpbnQgaTsKLUBAIC00NTYzLDEzICs0NTYzLDEzIEBAIG1pcHNfZWFiaV9wdXNoX2R1bW15X2Nh bGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotICAg ICAgIGdkYl9ieXRlIHJlZl92YWxidWZbTUFYX01JUFNfQUJJX1JFR1NJWkVdOwotICAgICAgIHN0 cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1thcmdudW1dOwotICAgICAgIHN0cnVjdCB0eXBlICphcmdf dHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZykpOwotLSAgICAgIGludCBsZW4g PSBUWVBFX0xFTkdUSCAoYXJnX3R5cGUpOwotKyAgICAgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5H VEggKGFyZ190eXBlKTsKLSAgICAgICBlbnVtIHR5cGVfY29kZSB0eXBlY29kZSA9IFRZUEVfQ09E RSAoYXJnX3R5cGUpOwotIAotICAgICAgIGlmIChtaXBzX2RlYnVnKQotIAlmcHJpbnRmX3VuZmls dGVyZWQgKGdkYl9zdGRsb2csCi0tCQkJICAgICJtaXBzX2VhYmlfcHVzaF9kdW1teV9jYWxsOiAl ZCBsZW49JWQgdHlwZT0lZCIsCi0tCQkJICAgIGFyZ251bSArIDEsIGxlbiwgKGludCkgdHlwZWNv ZGUpOwotKwkJCSAgICAibWlwc19lYWJpX3B1c2hfZHVtbXlfY2FsbDogJWQgbGVuPSVzIHR5cGU9 JWQiLAotKwkJCSAgICBhcmdudW0gKyAxLCBwbG9uZ2VzdCAobGVuKSwgKGludCkgdHlwZWNvZGUp OwotIAotICAgICAgIC8qIFRoZSBFQUJJIHBhc3NlcyBzdHJ1Y3R1cmVzIHRoYXQgZG8gbm90IGZp dCBpbiBhIHJlZ2lzdGVyIGJ5Ci0gICAgICAgICAgcmVmZXJlbmNlLiAgKi8KLUBAIC00ODM5LDcg KzQ4MzksNyBAQCBtaXBzX2VhYmlfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAKLSBzdGF0aWMgaW50Ci0gbWlwc19uMzJuNjRf ZnBfYXJnX2NodW5rX3AgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdHlwZSAqYXJn X3R5cGUsCi0tCQkJICAgIGludCBvZmZzZXQpCi0rCQkJICAgIExPTkdFU1Qgb2Zmc2V0KQotIHsK LSAgIGludCBpOwotIAotQEAgLTQ4NTQsNyArNDg1NCw3IEBAIG1pcHNfbjMybjY0X2ZwX2FyZ19j aHVua19wIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHR5cGUgKmFyZ190eXBlLAot IAotICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTkZJRUxEUyAoYXJnX3R5cGUpOyBpKyspCi0gICAg IHsKLS0gICAgICBpbnQgcG9zOwotKyAgICAgIExPTkdFU1QgcG9zOwotICAgICAgIHN0cnVjdCB0 eXBlICpmaWVsZF90eXBlOwotIAotICAgICAgIC8qIFdlJ3JlIG9ubHkgbG9va2luZyBhdCBub3Jt YWwgZmllbGRzLiAgKi8KLUBAIC00ODk3LDcgKzQ4OTcsOCBAQCBtaXBzX24zMm42NF9wdXNoX2R1 bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9u LAotICAgaW50IGFyZ3JlZzsKLSAgIGludCBmbG9hdF9hcmdyZWc7Ci0gICBpbnQgYXJnbnVtOwot LSAgaW50IGFyZ19zcGFjZSA9IDA7Ci0rICBVTE9OR0VTVCBhcmdfc3BhY2UgPSAwOwotKyAgTE9O R0VTVCBsZW4gPSAwOwotICAgaW50IHN0YWNrX29mZnNldCA9IDA7Ci0gICBlbnVtIGJmZF9lbmRp YW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0gICBDT1JFX0FE RFIgZnVuY19hZGRyID0gZmluZF9mdW5jdGlvbl9hZGRyIChmdW5jdGlvbiwgTlVMTCk7Ci1AQCAt NDkyNiw5ICs0OTI3LDkgQEAgbWlwc19uMzJuNjRfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAKLSAgIGlmIChtaXBzX2Rl YnVnKQotICAgICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csCi0tCQkJIm1pcHNfbjMy bjY0X3B1c2hfZHVtbXlfY2FsbDogc3A9JXMgYWxsb2NhdGVkICVsZFxuIiwKLSsJCQkibWlwc19u MzJuNjRfcHVzaF9kdW1teV9jYWxsOiBzcD0lcyBhbGxvY2F0ZWQgJXNcbiIsCi0gCQkJcGFkZHJl c3MgKGdkYmFyY2gsIHNwKSwKLS0JCQkobG9uZykgYWxpZ25fdXAgKGFyZ19zcGFjZSwgMTYpKTsK LSsJCQlwdWxvbmdlc3QgKGFsaWduX3VwIChhcmdfc3BhY2UsIDE2KSkpOwotIAotICAgLyogSW5p dGlhbGl6ZSB0aGUgaW50ZWdlciBhbmQgZmxvYXQgcmVnaXN0ZXIgcG9pbnRlcnMuICAqLwotICAg YXJncmVnID0gTUlQU19BMF9SRUdOVU07Ci1AQCAtNTI0OSwxMSArNTI1MCwxMSBAQCBtaXBzX24z Mm42NF9yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUg KmZ1bmN0aW9uLAotIAkJCQk6IE1JUFNfVjBfUkVHTlVNKTsKLSAJICAgZmllbGQgPCBUWVBFX05G SUVMRFMgKHR5cGUpOyBmaWVsZCsrLCByZWdudW0gKz0gMikKLSAJewotLQkgIGludCBvZmZzZXQg PSAoRklFTERfQklUUE9TIChUWVBFX0ZJRUxEUyAodHlwZSlbZmllbGRdKQotLQkJCS8gVEFSR0VU X0NIQVJfQklUKTsKLSsJICBMT05HRVNUIG9mZnNldCA9IChGSUVMRF9CSVRQT1MgKFRZUEVfRklF TERTICh0eXBlKVtmaWVsZF0pCi0rCQkJICAgIC8gVEFSR0VUX0NIQVJfQklUKTsKLSAJICBpZiAo bWlwc19kZWJ1ZykKLS0JICAgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGVyciwgIlJldHVy biBmbG9hdCBzdHJ1Y3QrJWRcbiIsCi0tCQkJCW9mZnNldCk7Ci0rCSAgICBmcHJpbnRmX3VuZmls dGVyZWQgKGdkYl9zdGRlcnIsICJSZXR1cm4gZmxvYXQgc3RydWN0KyVzXG4iLAotKwkJCQlwbG9u Z2VzdCAob2Zmc2V0KSk7Ci0gCSAgaWYgKFRZUEVfTEVOR1RIIChUWVBFX0ZJRUxEX1RZUEUgKHR5 cGUsIGZpZWxkKSkgPT0gMTYpCi0gCSAgICB7Ci0gCSAgICAgIC8qIEEgMTYtYnl0ZSBsb25nIGRv dWJsZSBmaWVsZCBnb2VzIGluIHR3byBjb25zZWN1dGl2ZQotQEAgLTUyOTUsOCArNTI5Niw4IEBA IG1pcHNfbjMybjY0X3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVj dCB2YWx1ZSAqZnVuY3Rpb24sCi0gCSAgaWYgKG9mZnNldCArIHhmZXIgPiBUWVBFX0xFTkdUSCAo dHlwZSkpCi0gCSAgICB4ZmVyID0gVFlQRV9MRU5HVEggKHR5cGUpIC0gb2Zmc2V0OwotIAkgIGlm IChtaXBzX2RlYnVnKQotLQkgICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkZXJyLCAiUmV0 dXJuIHN0cnVjdCslZDolZCBpbiAkJWRcbiIsCi0tCQkJCW9mZnNldCwgeGZlciwgcmVnbnVtKTsK LSsJICAgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGVyciwgIlJldHVybiBzdHJ1Y3QrJXM6 JWQgaW4gJCVkXG4iLAotKwkJCQlwbG9uZ2VzdCAob2Zmc2V0KSwgeGZlciwgcmVnbnVtKTsKLSAJ ICBtaXBzX3hmZXJfcmVnaXN0ZXIgKGdkYmFyY2gsIHJlZ2NhY2hlLAotIAkJCSAgICAgIGdkYmFy Y2hfbnVtX3JlZ3MgKGdkYmFyY2gpICsgcmVnbnVtLAotIAkJCSAgICAgIHhmZXIsIEJGRF9FTkRJ QU5fVU5LTk9XTiwgcmVhZGJ1Ziwgd3JpdGVidWYsCi1AQCAtNTM1NSw3ICs1MzU2LDggQEAgbWlw c19vMzJfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZh bHVlICpmdW5jdGlvbiwKLSAgIGludCBhcmdyZWc7Ci0gICBpbnQgZmxvYXRfYXJncmVnOwotICAg aW50IGFyZ251bTsKLS0gIGludCBhcmdfc3BhY2UgPSAwOwotKyAgVUxPTkdFU1QgYXJnX3NwYWNl ID0gMDsKLSsgIExPTkdFU1QgbGVuID0gMDsKLSAgIGludCBzdGFja19vZmZzZXQgPSAwOwotICAg ZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gp OwotICAgQ09SRV9BRERSIGZ1bmNfYWRkciA9IGZpbmRfZnVuY3Rpb25fYWRkciAoZnVuY3Rpb24s IE5VTEwpOwotQEAgLTUzOTIsOSArNTM5NCw5IEBAIG1pcHNfbzMyX3B1c2hfZHVtbXlfY2FsbCAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCi0gCi0gICBp ZiAobWlwc19kZWJ1ZykKLSAgICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLAotLQkJ CSJtaXBzX28zMl9wdXNoX2R1bW15X2NhbGw6IHNwPSVzIGFsbG9jYXRlZCAlbGRcbiIsCi0rCQkJ Im1pcHNfbzMyX3B1c2hfZHVtbXlfY2FsbDogc3A9JXMgYWxsb2NhdGVkICVzXG4iLAotIAkJCXBh ZGRyZXNzIChnZGJhcmNoLCBzcCksCi0tCQkJKGxvbmcpIGFsaWduX3VwIChhcmdfc3BhY2UsIDE2 KSk7Ci0rCQkJcHVsb25nZXN0IChhbGlnbl91cCAoYXJnX3NwYWNlLCAxNikpKTsKLSAKLSAgIC8q IEluaXRpYWxpemUgdGhlIGludGVnZXIgYW5kIGZsb2F0IHJlZ2lzdGVyIHBvaW50ZXJzLiAgKi8K LSAgIGFyZ3JlZyA9IE1JUFNfQTBfUkVHTlVNOwotQEAgLTU0MjAsMTMgKzU0MjIsMTMgQEAgbWlw c19vMzJfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZh bHVlICpmdW5jdGlvbiwKLSAgICAgICBjb25zdCBnZGJfYnl0ZSAqdmFsOwotICAgICAgIHN0cnVj dCB2YWx1ZSAqYXJnID0gYXJnc1thcmdudW1dOwotICAgICAgIHN0cnVjdCB0eXBlICphcmdfdHlw ZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZykpOwotLSAgICAgIGludCBsZW4gPSBU WVBFX0xFTkdUSCAoYXJnX3R5cGUpOwotKyAgICAgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEgg KGFyZ190eXBlKTsKLSAgICAgICBlbnVtIHR5cGVfY29kZSB0eXBlY29kZSA9IFRZUEVfQ09ERSAo YXJnX3R5cGUpOwotIAotICAgICAgIGlmIChtaXBzX2RlYnVnKQotIAlmcHJpbnRmX3VuZmlsdGVy ZWQgKGdkYl9zdGRsb2csCi0tCQkJICAgICJtaXBzX28zMl9wdXNoX2R1bW15X2NhbGw6ICVkIGxl bj0lZCB0eXBlPSVkIiwKLS0JCQkgICAgYXJnbnVtICsgMSwgbGVuLCAoaW50KSB0eXBlY29kZSk7 Ci0rCQkJICAgICJtaXBzX28zMl9wdXNoX2R1bW15X2NhbGw6ICVkIGxlbj0lcyB0eXBlPSVkIiwK LSsJCQkgICAgYXJnbnVtICsgMSwgcGxvbmdlc3QgKGxlbiksIChpbnQpIHR5cGVjb2RlKTsKLSAK LSAgICAgICB2YWwgPSB2YWx1ZV9jb250ZW50cyAoYXJnKTsKLSAKLUBAIC01ODgwLDggKzU4ODIs OCBAQCBtaXBzX282NF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBz dHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotICAgaW50IGFyZ3JlZzsKLSAgIGludCBmbG9hdF9hcmdy ZWc7Ci0gICBpbnQgYXJnbnVtOwotLSAgaW50IGFyZ19zcGFjZSA9IDA7Ci0tICBpbnQgc3RhY2tf b2Zmc2V0ID0gMDsKLSsgIFVMT05HRVNUIGFyZ19zcGFjZSA9IDA7Ci0rICBMT05HRVNUIHN0YWNr X29mZnNldCA9IDA7Ci0gICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0 ZV9vcmRlciAoZ2RiYXJjaCk7Ci0gICBDT1JFX0FERFIgZnVuY19hZGRyID0gZmluZF9mdW5jdGlv bl9hZGRyIChmdW5jdGlvbiwgTlVMTCk7Ci0gCi1AQCAtNTkxNCw5ICs1OTE2LDkgQEAgbWlwc19v NjRfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVl ICpmdW5jdGlvbiwKLSAKLSAgIGlmIChtaXBzX2RlYnVnKQotICAgICBmcHJpbnRmX3VuZmlsdGVy ZWQgKGdkYl9zdGRsb2csCi0tCQkJIm1pcHNfbzY0X3B1c2hfZHVtbXlfY2FsbDogc3A9JXMgYWxs b2NhdGVkICVsZFxuIiwKLSsJCQkibWlwc19vNjRfcHVzaF9kdW1teV9jYWxsOiBzcD0lcyBhbGxv Y2F0ZWQgJXNcbiIsCi0gCQkJcGFkZHJlc3MgKGdkYmFyY2gsIHNwKSwKLS0JCQkobG9uZykgYWxp Z25fdXAgKGFyZ19zcGFjZSwgMTYpKTsKLSsJCQlwdWxvbmdlc3QgKGFsaWduX3VwIChhcmdfc3Bh Y2UsIDE2KSkpOwotIAotICAgLyogSW5pdGlhbGl6ZSB0aGUgaW50ZWdlciBhbmQgZmxvYXQgcmVn aXN0ZXIgcG9pbnRlcnMuICAqLwotICAgYXJncmVnID0gTUlQU19BMF9SRUdOVU07Ci1AQCAtNTk0 MiwxMyArNTk0NCwxMyBAQCBtaXBzX282NF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotICAgICAgIGNvbnN0IGdkYl9ieXRl ICp2YWw7Ci0gICAgICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2FyZ251bV07Ci0gICAgICAg c3RydWN0IHR5cGUgKmFyZ190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7 Ci0tICAgICAgaW50IGxlbiA9IFRZUEVfTEVOR1RIIChhcmdfdHlwZSk7Ci0rICAgICAgTE9OR0VT VCBsZW4gPSBUWVBFX0xFTkdUSCAoYXJnX3R5cGUpOwotICAgICAgIGVudW0gdHlwZV9jb2RlIHR5 cGVjb2RlID0gVFlQRV9DT0RFIChhcmdfdHlwZSk7Ci0gCi0gICAgICAgaWYgKG1pcHNfZGVidWcp Ci0gCWZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywKLS0JCQkgICAgIm1pcHNfbzY0X3B1 c2hfZHVtbXlfY2FsbDogJWQgbGVuPSVkIHR5cGU9JWQiLAotLQkJCSAgICBhcmdudW0gKyAxLCBs ZW4sIChpbnQpIHR5cGVjb2RlKTsKLSsJCQkgICAgIm1pcHNfbzY0X3B1c2hfZHVtbXlfY2FsbDog JWQgbGVuPSVzIHR5cGU9JWQiLAotKwkJCSAgICBhcmdudW0gKyAxLCBwbG9uZ2VzdCAobGVuKSwg KGludCkgdHlwZWNvZGUpOwotIAotICAgICAgIHZhbCA9IHZhbHVlX2NvbnRlbnRzIChhcmcpOwot IAotZGlmZiAtLWdpdCBhL2dkYi9tbjEwMzAwLXRkZXAuYyBiL2dkYi9tbjEwMzAwLXRkZXAuYwot LS0tIGEvZ2RiL21uMTAzMDAtdGRlcC5jCi0rKysgYi9nZGIvbW4xMDMwMC10ZGVwLmMKLUBAIC0x MTk3LDcgKzExOTcsNyBAQCBtbjEwMzAwX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsCi0gICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9v cmRlciAoZ2RiYXJjaCk7Ci0gICBjb25zdCBpbnQgcHVzaF9zaXplID0gcmVnaXN0ZXJfc2l6ZSAo Z2RiYXJjaCwgRV9QQ19SRUdOVU0pOwotICAgaW50IHJlZ3NfdXNlZDsKLS0gIGludCBsZW4sIGFy Z19sZW47IAotKyAgTE9OR0VTVCBsZW4sIGFyZ19sZW47IAotICAgaW50IHN0YWNrX29mZnNldCA9 IDA7Ci0gICBpbnQgYXJnbnVtOwotICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsKLWRpZmYgLS1naXQg YS9nZGIvcHBjLXN5c3YtdGRlcC5jIGIvZ2RiL3BwYy1zeXN2LXRkZXAuYwotLS0tIGEvZ2RiL3Bw Yy1zeXN2LXRkZXAuYwotKysrIGIvZ2RiL3BwYy1zeXN2LXRkZXAuYwotQEAgLTY5LDcgKzY5LDcg QEAgcHBjX3N5c3ZfYWJpX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs IHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCi0gICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9 IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0gICBpbnQgb3BlbmNsX2FiaSA9IHBwY19z eXN2X3VzZV9vcGVuY2xfYWJpICh2YWx1ZV90eXBlIChmdW5jdGlvbikpOwotICAgVUxPTkdFU1Qg c2F2ZWRfc3A7Ci0tICBpbnQgYXJnc3BhY2UgPSAwOwkJLyogMCBpcyBhbiBpbml0aWFsIHdyb25n IGd1ZXNzLiAgKi8KLSsgIExPTkdFU1QgYXJnc3BhY2UgPSAwOwkJLyogMCBpcyBhbiBpbml0aWFs IHdyb25nIGd1ZXNzLiAgKi8KLSAgIGludCB3cml0ZV9wYXNzOwotIAotICAgZ2RiX2Fzc2VydCAo dGRlcC0+d29yZHNpemUgPT0gNCk7Ci1AQCAtMTAwLDkgKzEwMCw5IEBAIHBwY19zeXN2X2FiaV9w dXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1 bmN0aW9uLAotICAgICAgIC8qIE5leHQgYXZhaWxhYmxlIHZlY3RvciByZWdpc3RlciBmb3IgdmVj dG9yIGFyZ3VtZW50cy4gICovCi0gICAgICAgaW50IHZyZWcgPSAyOwotICAgICAgIC8qIEFyZ3Vt ZW50cyBzdGFydCBhYm92ZSB0aGUgIkxSIHNhdmUgd29yZCIgYW5kICJCYWNrIGNoYWluIi4gICov Ci0tICAgICAgaW50IGFyZ29mZnNldCA9IDIgKiB0ZGVwLT53b3Jkc2l6ZTsKLSsgICAgICBMT05H RVNUIGFyZ29mZnNldCA9IDIgKiB0ZGVwLT53b3Jkc2l6ZTsKLSAgICAgICAvKiBTdHJ1Y3R1cmVz IHN0YXJ0IGFmdGVyIHRoZSBhcmd1bWVudHMuICAqLwotLSAgICAgIGludCBzdHJ1Y3RvZmZzZXQg PSBhcmdvZmZzZXQgKyBhcmdzcGFjZTsKLSsgICAgICBMT05HRVNUIHN0cnVjdG9mZnNldCA9IGFy Z29mZnNldCArIGFyZ3NwYWNlOwotIAotICAgICAgIC8qIElmIHRoZSBmdW5jdGlvbiBpcyByZXR1 cm5pbmcgYSBgc3RydWN0JywgdGhlbiB0aGUgZmlyc3Qgd29yZAotICAgICAgICAgICh3aGljaCB3 aWxsIGJlIHBhc3NlZCBpbiByMykgaXMgdXNlZCBmb3Igc3RydWN0IHJldHVybgotQEAgLTEyMSw3 ICsxMjEsNyBAQCBwcGNfc3lzdl9hYmlfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAJewotIAkgIHN0cnVjdCB2YWx1ZSAq YXJnID0gYXJnc1thcmdub107Ci0gCSAgc3RydWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVm ICh2YWx1ZV90eXBlIChhcmcpKTsKLS0JICBpbnQgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwot KwkgIHNzaXplX3QgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotIAkgIGNvbnN0IGJmZF9ieXRl ICp2YWwgPSB2YWx1ZV9jb250ZW50cyAoYXJnKTsKLSAKLSAJICBpZiAoVFlQRV9DT0RFICh0eXBl KSA9PSBUWVBFX0NPREVfRkxUICYmIGxlbiA8PSA4Ci1AQCAtMTI0NywxMSArMTI0NywxMSBAQCBz dHJ1Y3QgcHBjNjRfc3lzdl9hcmdwb3MKLSAKLSBzdGF0aWMgdm9pZAotIHBwYzY0X3N5c3ZfYWJp X3B1c2hfdmFsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLS0JCQkgY29uc3QgYmZkX2J5dGUg KnZhbCwgaW50IGxlbiwgaW50IGFsaWduLAotKwkJCSBjb25zdCBiZmRfYnl0ZSAqdmFsLCBzc2l6 ZV90IGxlbiwgaW50IGFsaWduLAotIAkJCSBzdHJ1Y3QgcHBjNjRfc3lzdl9hcmdwb3MgKmFyZ3Bv cykKLSB7Ci0gICBzdHJ1Y3QgZ2RiYXJjaF90ZGVwICp0ZGVwID0gZ2RiYXJjaF90ZGVwIChnZGJh cmNoKTsKLS0gIGludCBvZmZzZXQgPSAwOwotKyAgTE9OR0VTVCBvZmZzZXQgPSAwOwotIAotICAg LyogRW5mb3JjZSBhbGlnbm1lbnQgb2Ygc3RhY2sgbG9jYXRpb24sIGlmIHJlcXVlc3RlZC4gICov Ci0gICBpZiAoYWxpZ24gPiB0ZGVwLT53b3Jkc2l6ZSkKLUBAIC0xMjg4LDcgKzEyODgsNyBAQCBw cGM2NF9zeXN2X2FiaV9wdXNoX3ZhbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gICAgIHsK LSAgICAgICBpZiAoYXJncG9zLT5yZWdjYWNoZSAmJiBhcmdwb3MtPmdyZWcgPD0gMTApCi0gCWFy Z3Bvcy0+cmVnY2FjaGUtPmNvb2tlZF93cml0ZV9wYXJ0Ci0tCSAgKHRkZXAtPnBwY19ncDBfcmVn bnVtICsgYXJncG9zLT5ncmVnLCBvZmZzZXQsIGxlbiwgdmFsKTsKLSsJICAodGRlcC0+cHBjX2dw MF9yZWdudW0gKyBhcmdwb3MtPmdyZWcsIG9mZnNldCwgKExPTkdFU1QpIGxlbiwgdmFsKTsKLSAg ICAgICBhcmdwb3MtPmdyZWcrKzsKLSAgICAgfQotIH0KLUBAIC0xMzQ3LDcgKzEzNDcsNyBAQCBw cGM2NF9zeXN2X2FiaV9wdXNoX2ZyZWcgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAotICAgICAg IGlmIChhcmdwb3MtPnJlZ2NhY2hlICYmIGFyZ3Bvcy0+ZnJlZyA8PSAxMykKLSAJewotIAkgIGlu dCByZWdudW0gPSB0ZGVwLT5wcGNfZnAwX3JlZ251bSArIGFyZ3Bvcy0+ZnJlZzsKLS0JICBpbnQg b2Zmc2V0ID0gMDsKLSsJICBMT05HRVNUIG9mZnNldCA9IDA7Ci0gCi0gCSAgaWYgKGdkYmFyY2hf Ynl0ZV9vcmRlciAoZ2RiYXJjaCkgPT0gQkZEX0VORElBTl9CSUcpCi0gCSAgICBvZmZzZXQgPSA4 IC0gVFlQRV9MRU5HVEggKHR5cGUpOwotQEAgLTE3OTcsNyArMTc5Nyw3IEBAIHBwYzY0X3N5c3Zf YWJpX3JldHVybl92YWx1ZV9iYXNlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHR5 cGUgKnZhbHR5cGUsCi0gICAgICAgJiYgVFlQRV9DT0RFICh2YWx0eXBlKSA9PSBUWVBFX0NPREVf REVDRkxPQVQpCi0gICAgIHsKLSAgICAgICBpbnQgcmVnbnVtID0gdGRlcC0+cHBjX2ZwMF9yZWdu dW0gKyAxICsgaW5kZXg7Ci0tICAgICAgaW50IG9mZnNldCA9IDA7Ci0rICAgICAgTE9OR0VTVCBv ZmZzZXQgPSAwOwotIAotICAgICAgIGlmIChnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpID09 IEJGRF9FTkRJQU5fQklHKQotIAlvZmZzZXQgPSA4IC0gVFlQRV9MRU5HVEggKHZhbHR5cGUpOwot QEAgLTE4NzMsNyArMTg3Myw3IEBAIHBwYzY0X3N5c3ZfYWJpX3JldHVybl92YWx1ZV9iYXNlIChz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHR5cGUgKnZhbHR5cGUsCi0gICAgICAgJiYg VFlQRV9DT0RFICh2YWx0eXBlKSA9PSBUWVBFX0NPREVfQVJSQVkgJiYgVFlQRV9WRUNUT1IgKHZh bHR5cGUpKQotICAgICB7Ci0gICAgICAgaW50IHJlZ251bSA9IHRkZXAtPnBwY19ncDBfcmVnbnVt ICsgMyArIGluZGV4OwotLSAgICAgIGludCBvZmZzZXQgPSAwOwotKyAgICAgIExPTkdFU1Qgb2Zm c2V0ID0gMDsKLSAKLSAgICAgICBpZiAoZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKSA9PSBC RkRfRU5ESUFOX0JJRykKLSAJb2Zmc2V0ID0gOCAtIFRZUEVfTEVOR1RIICh2YWx0eXBlKTsKLUBA IC0xOTgxLDcgKzE5ODEsOCBAQCBwcGM2NF9zeXN2X2FiaV9yZXR1cm5fdmFsdWUgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotICAgICAgICYmIFRZUEVf TEVOR1RIIChUWVBFX1RBUkdFVF9UWVBFICh2YWx0eXBlKSkgPT0gMSkKLSAgICAgewotICAgICAg IGludCByZWdudW0gPSB0ZGVwLT5wcGNfZ3AwX3JlZ251bSArIDM7Ci0tICAgICAgaW50IG9mZnNl dCA9IChyZWdpc3Rlcl9zaXplIChnZGJhcmNoLCByZWdudW0pIC0gVFlQRV9MRU5HVEggKHZhbHR5 cGUpKTsKLSsgICAgICBMT05HRVNUIG9mZnNldAotKwk9IChyZWdpc3Rlcl9zaXplIChnZGJhcmNo LCByZWdudW0pIC0gVFlQRV9MRU5HVEggKHZhbHR5cGUpKTsKLSAKLSAgICAgICBpZiAod3JpdGVi dWYgIT0gTlVMTCkKLSAJcmVnY2FjaGUtPmNvb2tlZF93cml0ZV9wYXJ0IChyZWdudW0sIG9mZnNl dCwgVFlQRV9MRU5HVEggKHZhbHR5cGUpLAotZGlmZiAtLWdpdCBhL2dkYi9ybDc4LXRkZXAuYyBi L2dkYi9ybDc4LXRkZXAuYwotLS0tIGEvZ2RiL3JsNzgtdGRlcC5jCi0rKysgYi9nZGIvcmw3OC10 ZGVwLmMKLUBAIC0xMzQ3LDggKzEzNDcsOCBAQCBybDc4X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCi0gICBmb3IgKGkgPSBu YXJncyAtIDE7IGkgPj0gMDsgaS0tKQotICAgICB7Ci0gICAgICAgc3RydWN0IHR5cGUgKnZhbHVl X3R5cGUgPSB2YWx1ZV9lbmNsb3NpbmdfdHlwZSAoYXJnc1tpXSk7Ci0tICAgICAgaW50IGxlbiA9 IFRZUEVfTEVOR1RIICh2YWx1ZV90eXBlKTsKLS0gICAgICBpbnQgY29udGFpbmVyX2xlbiA9IChs ZW4gKyAxKSAmIH4xOwotKyAgICAgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEggKHZhbHVlX3R5 cGUpOwotKyAgICAgIExPTkdFU1QgY29udGFpbmVyX2xlbiA9IChsZW4gKyAxKSAmIH4xOwotIAot ICAgICAgIHNwIC09IGNvbnRhaW5lcl9sZW47Ci0gICAgICAgd3JpdGVfbWVtb3J5IChybDc4X21h a2VfZGF0YV9hZGRyZXNzIChzcCksCi1kaWZmIC0tZ2l0IGEvZ2RiL3JzNjAwMC1haXgtdGRlcC5j IGIvZ2RiL3JzNjAwMC1haXgtdGRlcC5jCi0tLS0gYS9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKLSsr KyBiL2dkYi9yczYwMDAtYWl4LXRkZXAuYwotQEAgLTI5MSw5ICsyOTEsOSBAQCByczYwMDBfcHVz aF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5j dGlvbiwKLSAgIHN0cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFy Y2gpOwotICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIg KGdkYmFyY2gpOwotICAgaW50IGlpOwotLSAgaW50IGxlbiA9IDA7Ci0rICBMT05HRVNUIGxlbiA9 IDA7Ci0gICBpbnQgYXJnbm87CQkJLyogY3VycmVudCBhcmd1bWVudCBudW1iZXIgKi8KLS0gIGlu dCBhcmdieXRlczsJCQkvKiBjdXJyZW50IGFyZ3VtZW50IGJ5dGUgKi8KLSsgIExPTkdFU1QgYXJn Ynl0ZXM7CQkvKiBjdXJyZW50IGFyZ3VtZW50IGJ5dGUgKi8KLSAgIGdkYl9ieXRlIHRtcF9idWZm ZXJbNTBdOwotICAgaW50IGZfYXJnbm8gPSAwOwkJLyogY3VycmVudCBmbG9hdGluZyBwb2ludCBh cmdubyAqLwotICAgaW50IHdvcmRzaXplID0gZ2RiYXJjaF90ZGVwIChnZGJhcmNoKS0+d29yZHNp emU7Ci1AQCAtNDIxLDcgKzQyMSw3IEBAIHJhbl9vdXRfb2ZfcmVnaXN0ZXJzX2Zvcl9hcmd1bWVu dHM6Ci0gCi0gICBpZiAoKGFyZ25vIDwgbmFyZ3MpIHx8IGFyZ2J5dGVzKQotICAgICB7Ci0tICAg ICAgaW50IHNwYWNlID0gMCwgamo7Ci0rICAgICAgTE9OR0VTVCBzcGFjZSA9IDAsIGpqOwotIAot ICAgICAgIGlmIChhcmdieXRlcykKLSAJewotZGlmZiAtLWdpdCBhL2dkYi9zY29yZS10ZGVwLmMg Yi9nZGIvc2NvcmUtdGRlcC5jCi0tLS0gYS9nZGIvc2NvcmUtdGRlcC5jCi0rKysgYi9nZGIvc2Nv cmUtdGRlcC5jCi1AQCAtNTE3LDcgKzUxNyw3IEBAIHNjb3JlX3B1c2hfZHVtbXlfY2FsbCAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCi0gICBlbnVtIGJm ZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0gICBp bnQgYXJnbnVtOwotICAgaW50IGFyZ3JlZzsKLS0gIGludCBhcmdsZW4gPSAwOwotKyAgTE9OR0VT VCBhcmdsZW4gPSAwOwotICAgQ09SRV9BRERSIHN0YWNrX29mZnNldCA9IDA7Ci0gICBDT1JFX0FE RFIgYWRkciA9IDA7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2RiL3NoLXRkZXAuYyBiL2dkYi9zaC10ZGVw LmMKLS0tLSBhL2dkYi9zaC10ZGVwLmMKLSsrKyBiL2dkYi9zaC10ZGVwLmMKLUBAIC04MTIsNyAr ODEyLDcgQEAgc2hfc2tpcF9wcm9sb2d1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIENPUkVf QUREUiBwYykKLSBzdGF0aWMgaW50Ci0gc2hfdXNlX3N0cnVjdF9jb252ZW50aW9uIChpbnQgcmVu ZXNhc19hYmksIHN0cnVjdCB0eXBlICp0eXBlKQotIHsKLS0gIGludCBsZW4gPSBUWVBFX0xFTkdU SCAodHlwZSk7Ci0rICBMT05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAgIGludCBu ZWxlbSA9IFRZUEVfTkZJRUxEUyAodHlwZSk7Ci0gCi0gICAvKiBUaGUgUmVuZXNhcyBBQkkgcmV0 dXJucyBhZ2dyZWdhdGUgdHlwZXMgYWx3YXlzIG9uIHN0YWNrLiAgKi8KLUBAIC05MTQsNyArOTE0 LDcgQEAgc2hfZnJhbWVfYWxpZ24gKHN0cnVjdCBnZGJhcmNoICppZ25vcmUsIENPUkVfQUREUiBz cCkKLSAKLSAvKiBIZWxwZXIgZnVuY3Rpb24gdG8ganVzdGlmeSB2YWx1ZSBpbiByZWdpc3RlciBh Y2NvcmRpbmcgdG8gZW5kaWFuZXNzLiAgKi8KLSBzdGF0aWMgY29uc3QgZ2RiX2J5dGUgKgotLXNo X2p1c3RpZnlfdmFsdWVfaW5fcmVnIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZh bHVlICp2YWwsIGludCBsZW4pCi0rc2hfanVzdGlmeV92YWx1ZV9pbl9yZWcgKHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKnZhbCwgTE9OR0VTVCBsZW4pCi0gewotICAgc3Rh dGljIGdkYl9ieXRlIHZhbGJ1Zls0XTsKLSAKLUBAIC0xMDc0LDcgKzEwNzQsOCBAQCBzaF9wdXNo X2R1bW15X2NhbGxfZnB1IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLSAgIHN0cnVjdCB0eXBl ICp0eXBlOwotICAgQ09SRV9BRERSIHJlZ3ZhbDsKLSAgIGNvbnN0IGdkYl9ieXRlICp2YWw7Ci0t ICBpbnQgbGVuLCByZWdfc2l6ZSA9IDA7Ci0rICBMT05HRVNUIGxlbjsKLSsgIGludCByZWdfc2l6 ZSA9IDA7Ci0gICBpbnQgcGFzc19vbl9zdGFjayA9IDA7Ci0gICBpbnQgdHJlYXRfYXNfZmx0Owot ICAgaW50IGxhc3RfcmVnX2FyZyA9IElOVF9NQVg7Ci1AQCAtMTIxNiw3ICsxMjE3LDggQEAgc2hf cHVzaF9kdW1teV9jYWxsX25vZnB1IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLSAgIHN0cnVj dCB0eXBlICp0eXBlOwotICAgQ09SRV9BRERSIHJlZ3ZhbDsKLSAgIGNvbnN0IGdkYl9ieXRlICp2 YWw7Ci0tICBpbnQgbGVuLCByZWdfc2l6ZSA9IDA7Ci0rICBMT05HRVNUIGxlbjsKLSsgIGludCBy ZWdfc2l6ZSA9IDA7Ci0gICBpbnQgcGFzc19vbl9zdGFjayA9IDA7Ci0gICBpbnQgbGFzdF9yZWdf YXJnID0gSU5UX01BWDsKLSAKLWRpZmYgLS1naXQgYS9nZGIvc3BhcmM2NC10ZGVwLmMgYi9nZGIv c3BhcmM2NC10ZGVwLmMKLS0tLSBhL2dkYi9zcGFyYzY0LXRkZXAuYwotKysrIGIvZ2RiL3NwYXJj NjQtdGRlcC5jCi1AQCAtMTIwNSw3ICsxMjA1LDcgQEAgc3BhcmM2NF8xNl9ieXRlX2FsaWduX3Ag KHN0cnVjdCB0eXBlICp0eXBlKQotIAotIHN0YXRpYyB2b2lkCi0gc3BhcmM2NF9zdG9yZV9mbG9h dGluZ19maWVsZHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIHN0cnVjdCB0eXBlICp0eXBl LAotLQkJCSAgICAgICBjb25zdCBnZGJfYnl0ZSAqdmFsYnVmLCBpbnQgZWxlbWVudCwgaW50IGJp dHBvcykKLSsJCQkgICAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbGJ1ZiwgaW50IGVsZW1lbnQsIExP TkdFU1QgYml0cG9zKQotIHsKLSAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gcmVnY2FjaGUt PmFyY2ggKCk7Ci0gICBpbnQgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotQEAgLTEyNjUsNyAr MTI2NSw3IEBAIHNwYXJjNjRfc3RvcmVfZmxvYXRpbmdfZmllbGRzIChzdHJ1Y3QgcmVnY2FjaGUg KnJlZ2NhY2hlLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAgICAgICBmb3IgKGkgPSAwOyBpIDwgVFlQ RV9ORklFTERTICh0eXBlKTsgaSsrKQotIAl7Ci0gCSAgc3RydWN0IHR5cGUgKnN1YnR5cGUgPSBj aGVja190eXBlZGVmIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpKTsKLS0JICBpbnQgc3VicG9z ID0gYml0cG9zICsgVFlQRV9GSUVMRF9CSVRQT1MgKHR5cGUsIGkpOwotKwkgIExPTkdFU1Qgc3Vi cG9zID0gYml0cG9zICsgVFlQRV9GSUVMRF9CSVRQT1MgKHR5cGUsIGkpOwotIAotIAkgIHNwYXJj NjRfc3RvcmVfZmxvYXRpbmdfZmllbGRzIChyZWdjYWNoZSwgc3VidHlwZSwgdmFsYnVmLAotIAkJ CQkJIGVsZW1lbnQsIHN1YnBvcyk7Ci1AQCAtMTI5Nyw3ICsxMjk3LDcgQEAgc3BhcmM2NF9zdG9y ZV9mbG9hdGluZ19maWVsZHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIHN0cnVjdCB0eXBl ICp0eXBlLAotIAotIHN0YXRpYyB2b2lkCi0gc3BhcmM2NF9leHRyYWN0X2Zsb2F0aW5nX2ZpZWxk cyAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgc3RydWN0IHR5cGUgKnR5cGUsCi0tCQkJCSBn ZGJfYnl0ZSAqdmFsYnVmLCBpbnQgYml0cG9zKQotKwkJCQkgZ2RiX2J5dGUgKnZhbGJ1ZiwgTE9O R0VTVCBiaXRwb3MpCi0gewotICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSByZWdjYWNoZS0+ YXJjaCAoKTsKLSAKLUBAIC0xMzUzLDcgKzEzNTMsNyBAQCBzcGFyYzY0X2V4dHJhY3RfZmxvYXRp bmdfZmllbGRzIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBzdHJ1Y3QgdHlwZSAqdHlwZSwK LSAgICAgICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9ORklFTERTICh0eXBlKTsgaSsrKQotIAl7Ci0g CSAgc3RydWN0IHR5cGUgKnN1YnR5cGUgPSBjaGVja190eXBlZGVmIChUWVBFX0ZJRUxEX1RZUEUg KHR5cGUsIGkpKTsKLS0JICBpbnQgc3VicG9zID0gYml0cG9zICsgVFlQRV9GSUVMRF9CSVRQT1Mg KHR5cGUsIGkpOwotKwkgIExPTkdFU1Qgc3VicG9zID0gYml0cG9zICsgVFlQRV9GSUVMRF9CSVRQ T1MgKHR5cGUsIGkpOwotIAotIAkgIHNwYXJjNjRfZXh0cmFjdF9mbG9hdGluZ19maWVsZHMgKHJl Z2NhY2hlLCBzdWJ0eXBlLCB2YWxidWYsIHN1YnBvcyk7Ci0gCX0KLUBAIC0xMzg3LDcgKzEzODcs NyBAQCBzcGFyYzY0X3N0b3JlX2FyZ3VtZW50cyAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwg aW50IG5hcmdzLAotICAgZm9yIChpID0gMDsgaSA8IG5hcmdzOyBpKyspCi0gICAgIHsKLSAgICAg ICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IHZhbHVlX3R5cGUgKGFyZ3NbaV0pOwotLSAgICAgIGludCBs ZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0rICAgICAgTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdU SCAodHlwZSk7Ci0gCi0gICAgICAgaWYgKHNwYXJjNjRfc3RydWN0dXJlX29yX3VuaW9uX3AgKHR5 cGUpCi0gCSAgfHwgKHNwYXJjNjRfY29tcGxleF9mbG9hdGluZ19wICh0eXBlKSAmJiBsZW4gPT0g MzIpKQotQEAgLTE0ODcsNyArMTQ4Nyw3IEBAIHNwYXJjNjRfc3RvcmVfYXJndW1lbnRzIChzdHJ1 Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgbmFyZ3MsCi0gICAgIHsKLSAgICAgICBjb25zdCBn ZGJfYnl0ZSAqdmFsYnVmID0gdmFsdWVfY29udGVudHMgKGFyZ3NbaV0pOwotICAgICAgIHN0cnVj dCB0eXBlICp0eXBlID0gdmFsdWVfdHlwZSAoYXJnc1tpXSk7Ci0tICAgICAgaW50IGxlbiA9IFRZ UEVfTEVOR1RIICh0eXBlKTsKLSsgICAgICBMT05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIICh0eXBl KTsKLSAgICAgICBpbnQgcmVnbnVtID0gLTE7Ci0gICAgICAgZ2RiX2J5dGUgYnVmWzE2XTsKLSAK LWRpZmYgLS1naXQgYS9nZGIvc3B1LXRkZXAuYyBiL2dkYi9zcHUtdGRlcC5jCi0tLS0gYS9nZGIv c3B1LXRkZXAuYwotKysrIGIvZ2RiL3NwdS10ZGVwLmMKLUBAIC0xNDMyLDcgKzE0MzIsNyBAQCBz cHVfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVl ICpmdW5jdGlvbiwKLSAgICAgICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07Ci0gICAgICAg c3RydWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKLSAg ICAgICBjb25zdCBnZGJfYnl0ZSAqY29udGVudHMgPSB2YWx1ZV9jb250ZW50cyAoYXJnKTsKLS0g ICAgICBpbnQgbl9yZWdzID0gYWxpZ25fdXAgKFRZUEVfTEVOR1RIICh0eXBlKSwgMTYpIC8gMTY7 Ci0rICAgICAgTE9OR0VTVCBuX3JlZ3MgPSBhbGlnbl91cCAoVFlQRV9MRU5HVEggKHR5cGUpLCAx NikgLyAxNjsKLSAKLSAgICAgICAvKiBJZiB0aGUgYXJndW1lbnQgZG9lc24ndCB3aG9sbHkgZml0 IGludG8gcmVnaXN0ZXJzLCBpdCBhbmQKLSAJIGFsbCBzdWJzZXF1ZW50IGFyZ3VtZW50cyBnbyB0 byB0aGUgc3RhY2suICAqLwotQEAgLTE0NjQsNyArMTQ2NCw3IEBAIHNwdV9wdXNoX2R1bW15X2Nh bGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotIAl7 Ci0gCSAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2ldOwotIAkgIHN0cnVjdCB0eXBlICp0eXBl ID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7Ci0tCSAgaW50IGxlbiA9IFRZUEVf TEVOR1RIICh0eXBlKTsKLSsJICBMT05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAJ ICBpbnQgcHJlZmVycmVkX3Nsb3Q7Ci0gCSAgCi0gCSAgaWYgKHNwdV9zY2FsYXJfdmFsdWVfcCAo dHlwZSkpCi1kaWZmIC0tZ2l0IGEvZ2RiL3RpYzZ4LXRkZXAuYyBiL2dkYi90aWM2eC10ZGVwLmMK LS0tLSBhL2dkYi90aWM2eC10ZGVwLmMKLSsrKyBiL2dkYi90aWM2eC10ZGVwLmMKLUBAIC04ODEs NyArODgxLDcgQEAgdGljNnhfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAgIGludCBhcmdyZWcgPSAwOwotICAgaW50IGFy Z251bTsKLSAgIGludCBzdGFja19vZmZzZXQgPSA0OwotLSAgaW50IHJlZmVyZW5jZXNfb2Zmc2V0 ID0gNDsKLSsgIExPTkdFU1QgcmVmZXJlbmNlc19vZmZzZXQgPSA0OwotICAgZW51bSBiZmRfZW5k aWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwotICAgc3RydWN0 IHR5cGUgKmZ1bmNfdHlwZSA9IHZhbHVlX3R5cGUgKGZ1bmN0aW9uKTsKLSAgIC8qIFRoZSBmaXJz dCBhcmcgcGFzc2VkIG9uIHN0YWNrLiAgTW9zdGx5IHRoZSBmaXJzdCAxMCBhcmdzIGFyZSBwYXNz ZWQgYnkKLUBAIC05MTQsNyArOTE0LDcgQEAgdGljNnhfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAgIC8qIE5vdyBtYWtl IHNwYWNlIG9uIHRoZSBzdGFjayBmb3IgdGhlIGFyZ3MuICAqLwotICAgZm9yIChhcmdudW0gPSAw OyBhcmdudW0gPCBuYXJnczsgYXJnbnVtKyspCi0gICAgIHsKLS0gICAgICBpbnQgbGVuID0gYWxp Z25fdXAgKFRZUEVfTEVOR1RIICh2YWx1ZV90eXBlIChhcmdzW2FyZ251bV0pKSwgNCk7Ci0rICAg ICAgTE9OR0VTVCBsZW4gPSBhbGlnbl91cCAoVFlQRV9MRU5HVEggKHZhbHVlX3R5cGUgKGFyZ3Nb YXJnbnVtXSkpLCA0KTsKLSAgICAgICBpZiAoYXJnbnVtID49IDEwIC0gYXJncmVnKQotIAlyZWZl cmVuY2VzX29mZnNldCArPSBsZW47Ci0gICAgICAgc3RhY2tfb2Zmc2V0ICs9IGxlbjsKLUBAIC05 MzMsNyArOTMzLDcgQEAgdGljNnhfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAgICAgICBjb25zdCBnZGJfYnl0ZSAqdmFs OwotICAgICAgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1thcmdudW1dOwotICAgICAgIHN0cnVj dCB0eXBlICphcmdfdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZykpOwotLSAg ICAgIGludCBsZW4gPSBUWVBFX0xFTkdUSCAoYXJnX3R5cGUpOwotKyAgICAgIHNzaXplX3QgbGVu ID0gVFlQRV9MRU5HVEggKGFyZ190eXBlKTsKLSAgICAgICBlbnVtIHR5cGVfY29kZSB0eXBlY29k ZSA9IFRZUEVfQ09ERSAoYXJnX3R5cGUpOwotIAotICAgICAgIHZhbCA9IHZhbHVlX2NvbnRlbnRz IChhcmcpOwotQEAgLTEwODgsNyArMTA4OCw4IEBAIHRpYzZ4X3B1c2hfZHVtbXlfY2FsbCAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCi0gCSAgICB9Ci0g CSAgZWxzZQotIAkgICAgaW50ZXJuYWxfZXJyb3IgKF9fRklMRV9fLCBfX0xJTkVfXywKLS0JCQkg ICAgXygidW5leHBlY3RlZCBsZW5ndGggJWQgb2YgYXJnICVkIiksIGxlbiwgYXJnbnVtKTsKLSsJ CQkgICAgXygidW5leHBlY3RlZCBsZW5ndGggJXMgb2YgYXJnICVkIiksCi0rCQkJICAgIHBsb25n ZXN0IChsZW4pLCBhcmdudW0pOwotIAotIAkgIGFkZHIgPSBzcCArIHN0YWNrX29mZnNldDsKLSAJ ICB3cml0ZV9tZW1vcnkgKGFkZHIsIHZhbCwgbGVuKTsKLWRpZmYgLS1naXQgYS9nZGIvdGlsZWd4 LXRkZXAuYyBiL2dkYi90aWxlZ3gtdGRlcC5jCi0tLS0gYS9nZGIvdGlsZWd4LXRkZXAuYwotKysr IGIvZ2RiL3RpbGVneC10ZGVwLmMKLUBAIC0yODgsNyArMjg4LDcgQEAgdGlsZWd4X3B1c2hfZHVt bXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gICBDT1JFX0FERFIgc3RhY2tfZGVz dCA9IHNwOwotICAgaW50IGFyZ3JlZyA9IFRJTEVHWF9SMF9SRUdOVU07Ci0gICBpbnQgaSwgajsK LS0gIGludCB0eXBlbGVuLCBzbGFja2xlbjsKLSsgIExPTkdFU1QgdHlwZWxlbiwgc2xhY2tsZW47 Ci0gICBzdGF0aWMgY29uc3QgZ2RiX2J5dGUgZm91cl96ZXJvX3dvcmRzWzE2XSA9IHsgMCB9Owot IAotICAgLyogSWYgc3RydWN0X3JldHVybiBpcyAxLCB0aGVuIHRoZSBzdHJ1Y3QgcmV0dXJuIGFk ZHJlc3Mgd2lsbAotZGlmZiAtLWdpdCBhL2dkYi92ODUwLXRkZXAuYyBiL2dkYi92ODUwLXRkZXAu YwotLS0tIGEvZ2RiL3Y4NTAtdGRlcC5jCi0rKysgYi9nZGIvdjg1MC10ZGVwLmMKLUBAIC0xMDE5 LDcgKzEwMTksOCBAQCB2ODUwX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsCi0gICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAo Z2RiYXJjaCk7Ci0gICBpbnQgYXJncmVnOwotICAgaW50IGFyZ251bTsKLS0gIGludCBhcmdfc3Bh Y2UgPSAwOwotKyAgVUxPTkdFU1QgYXJnX3NwYWNlID0gMDsKLSsgIExPTkdFU1QgbGVuID0gMDsK LSAgIGludCBzdGFja19vZmZzZXQ7Ci0gCi0gICBpZiAoZ2RiYXJjaF90ZGVwIChnZGJhcmNoKS0+ YWJpID09IFY4NTBfQUJJX1JIODUwKQotQEAgLTEwNDcsNyArMTA0OCw3IEBAIHY4NTBfcHVzaF9k dW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLSAgICAgIGluIGZvdXIgcmVnaXN0 ZXJzIGF2YWlsYWJsZS4gIExvb3AgdGhydSBhcmdzIGZyb20gZmlyc3QgdG8gbGFzdC4gICovCi0g ICBmb3IgKGFyZ251bSA9IDA7IGFyZ251bSA8IG5hcmdzOyBhcmdudW0rKykKLSAgICAgewotLSAg ICAgIGludCBsZW47Ci0rICAgICAgTE9OR0VTVCBsZW47Ci0gICAgICAgZ2RiX2J5dGUgKnZhbDsK LSAgICAgICBnZGJfYnl0ZSB2YWxidWZbdjg1MF9yZWdfc2l6ZV07Ci0gCi1kaWZmIC0tZ2l0IGEv Z2RiL3ZheC10ZGVwLmMgYi9nZGIvdmF4LXRkZXAuYwotLS0tIGEvZ2RiL3ZheC10ZGVwLmMKLSsr KyBiL2dkYi92YXgtdGRlcC5jCi1AQCAtMTEwLDcgKzExMCw3IEBAIHZheF9zdG9yZV9hcmd1bWVu dHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKLSAgIHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoID0gcmVnY2FjaGUtPmFyY2ggKCk7Ci0gICBlbnVtIGJmZF9lbmRpYW4gYnl0 ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0gICBnZGJfYnl0ZSBidWZb NF07Ci0tICBpbnQgY291bnQgPSAwOwotKyAgTE9OR0VTVCBjb3VudCA9IDA7Ci0gICBpbnQgaTsK LSAKLSAgIC8qIFdlIGNyZWF0ZSBhbiBhcmd1bWVudCBsaXN0IG9uIHRoZSBzdGFjaywgYW5kIG1h a2UgdGhlIGFyZ3VtZW50Ci1AQCAtMTE5LDcgKzExOSw3IEBAIHZheF9zdG9yZV9hcmd1bWVudHMg KHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKLSAgIC8qIFB1c2ggYXJndW1l bnRzIGluIHJldmVyc2Ugb3JkZXIuICAqLwotICAgZm9yIChpID0gbmFyZ3MgLSAxOyBpID49IDA7 IGktLSkKLSAgICAgewotLSAgICAgIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodmFsdWVfZW5jbG9z aW5nX3R5cGUgKGFyZ3NbaV0pKTsKLSsgICAgICBMT05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIICh2 YWx1ZV9lbmNsb3NpbmdfdHlwZSAoYXJnc1tpXSkpOwotIAotICAgICAgIHNwIC09IChsZW4gKyAz KSAmIH4zOwotICAgICAgIGNvdW50ICs9IChsZW4gKyAzKSAvIDQ7Ci1kaWZmIC0tZ2l0IGEvZ2Ri L3hzdG9ybXkxNi10ZGVwLmMgYi9nZGIveHN0b3JteTE2LXRkZXAuYwotLS0tIGEvZ2RiL3hzdG9y bXkxNi10ZGVwLmMKLSsrKyBiL2dkYi94c3Rvcm15MTYtdGRlcC5jCi1AQCAtMjMzLDggKzIzMywx MCBAQCB4c3Rvcm15MTZfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwK LSAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJh cmNoKTsKLSAgIENPUkVfQUREUiBzdGFja19kZXN0ID0gc3A7Ci0gICBpbnQgYXJncmVnID0gRV8x U1RfQVJHX1JFR05VTTsKLS0gIGludCBpLCBqOwotLSAgaW50IHR5cGVsZW4sIHNsYWNrbGVuOwot KyAgaW50IGksIHNsYWNrbGVuOwotKyAgTE9OR0VTVCBqOwotKyAgTE9OR0VTVCB0eXBlbGVuOwot KyAgY29uc3QgZ2RiX2J5dGUgKnZhbDsKLSAgIGdkYl9ieXRlIGJ1Zlt4c3Rvcm15MTZfcGNfc2l6 ZV07Ci0gCi0gICAvKiBJZiByZXR1cm5pbmcgYSBzdHJ1Y3QgdXNpbmcgdGFyZ2V0IEFCSSBtZXRo b2QsIHRoZW4gdGhlIHN0cnVjdCByZXR1cm4KLWRpZmYgLS1naXQgYS9nZGIveHRlbnNhLXRkZXAu YyBiL2dkYi94dGVuc2EtdGRlcC5jCi0tLS0gYS9nZGIveHRlbnNhLXRkZXAuYwotKysrIGIvZ2Ri L3h0ZW5zYS10ZGVwLmMKLUBAIC0xNjE1LDggKzE2MTUsNyBAQCB4dGVuc2Ffc3RvcmVfcmV0dXJu X3ZhbHVlIChzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAKLSAgICAgICBpZiAobGVuID4gKGNhbGxzaXpl ID4gOCA/IDggOiAxNikpCi0gCWludGVybmFsX2Vycm9yIChfX0ZJTEVfXywgX19MSU5FX18sCi0t CQkJXygidW5pbXBsZW1lbnRlZCBmb3IgdGhpcyBsZW5ndGg6ICVkIiksCi0tCQkJVFlQRV9MRU5H VEggKHR5cGUpKTsKLSsJCQlfKCJ1bmltcGxlbWVudGVkIGZvciB0aGlzIGxlbmd0aDogJWQiKSwg bGVuKTsKLSAgICAgICBhcmVnID0gYXJyZWdfbnVtYmVyIChnZGJhcmNoLAotIAkJCSAgIGdkYmFy Y2hfdGRlcCAoZ2RiYXJjaCktPmEwX2Jhc2UgKyAyICsgY2FsbHNpemUsIHdiKTsKLSAKLUBAIC0x Njg5LDE4ICsxNjg4LDE5IEBAIHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLAotIAkJCUNPUkVfQUREUiBzdHJ1Y3RfYWRkcikKLSB7Ci0gICBlbnVtIGJmZF9l bmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0tICBpbnQg c2l6ZSwgb25zdGFja19zaXplOwotKyAgaW50IGk7Ci0rICBMT05HRVNUIHNpemUsIG9uc3RhY2tf c2l6ZTsKLSAgIGdkYl9ieXRlICpidWYgPSAoZ2RiX2J5dGUgKikgYWxsb2NhICgxNik7Ci0gICBD T1JFX0FERFIgcmEsIHBzOwotICAgc3RydWN0IGFyZ3VtZW50X2luZm8KLSAgIHsKLSAgICAgY29u c3QgYmZkX2J5dGUgKmNvbnRlbnRzOwotLSAgICBpbnQgbGVuZ3RoOwotKyAgICBzc2l6ZV90IGxl bmd0aDsKLSAgICAgaW50IG9uc3RhY2s7CQkvKiBvbnN0YWNrID09IDAgPT4gaW4gcmVnICovCi0g ICAgIGludCBhbGlnbjsJCQkvKiBhbGlnbm1lbnQgKi8KLSAgICAgdW5pb24KLSAgICAgewotLSAg ICAgIGludCBvZmZzZXQ7CQkvKiBzdGFjayBvZmZzZXQgaWYgb24gc3RhY2suICAqLwotKyAgICAg IHNzaXplX3Qgb2Zmc2V0OwkJLyogc3RhY2sgb2Zmc2V0IGlmIG9uIHN0YWNrLiAgKi8KLSAgICAg ICBpbnQgcmVnbm87CQkvKiByZWdubyBpZiBpbiByZWdpc3Rlci4gICovCi0gICAgIH0gdTsKLSAg IH07Ci1AQCAtMTcyMyw5ICsxNzIzLDEwIEBAIHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLAotICAgICAgICAgewotIAkgIHN0cnVjdCB2YWx1ZSAqYXJnID0g YXJnc1tpXTsKLSAJICBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1 ZV90eXBlIChhcmcpKTsKLS0JICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csICIlMmQ6 ICVzICUzZCAiLCBpLAotLQkJCSAgICAgIGhvc3RfYWRkcmVzc190b19zdHJpbmcgKGFyZyksCi0t CQkJICAgICAgVFlQRV9MRU5HVEggKGFyZ190eXBlKSk7Ci0rCSAgY29uc3QgY2hhciAqYXJnX3R5 cGVfbGVuX3MgPSBwdWxvbmdlc3QgKFRZUEVfTEVOR1RIIChhcmdfdHlwZSkpOwotKwotKwkgIGZw cmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywgIiUyZDogJXMgJXMgIiwgaSwKLSsJCQkgICAg ICBob3N0X2FkZHJlc3NfdG9fc3RyaW5nIChhcmcpLCBhcmdfdHlwZV9sZW5fcyk7Ci0gCSAgc3dp dGNoIChUWVBFX0NPREUgKGFyZ190eXBlKSkKLSAJICAgIHsKLSAJICAgIGNhc2UgVFlQRV9DT0RF X0lOVDoKLUBAIC0xNzk0LDggKzE3OTUsOCBAQCB4dGVuc2FfcHVzaF9kdW1teV9jYWxsIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLSAJICBpbmZvLT5hbGlnbiA9IFRZUEVfTEVOR1RIIChidWls dGluX3R5cGUgKGdkYmFyY2gpLT5idWlsdGluX2xvbmcpOwotIAkgIGJyZWFrOwotIAl9Ci0tICAg ICAgaW5mby0+bGVuZ3RoID0gVFlQRV9MRU5HVEggKGFyZ190eXBlKTsKLSAgICAgICBpbmZvLT5j b250ZW50cyA9IHZhbHVlX2NvbnRlbnRzIChhcmcpOwotKyAgICAgIGluZm8tPmxlbmd0aCA9IFRZ UEVfTEVOR1RIIChhcmdfdHlwZSk7Ci0gCi0gICAgICAgLyogQWxpZ24gc2l6ZSBhbmQgb25zdGFj a19zaXplLiAgKi8KLSAgICAgICBzaXplID0gKHNpemUgKyBpbmZvLT5hbGlnbiAtIDEpICYgfihp bmZvLT5hbGlnbiAtIDEpOwotQEAgLTE4NDAsNyArMTg0MSw3IEBAIHh0ZW5zYV9wdXNoX2R1bW15 X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAotIAotICAgICAgIGlmIChpbmZvLT5vbnN0 YWNrKQotIAl7Ci0tCSAgaW50IG4gPSBpbmZvLT5sZW5ndGg7Ci0rCSAgc3NpemVfdCBuID0gaW5m by0+bGVuZ3RoOwotIAkgIENPUkVfQUREUiBvZmZzZXQgPSBzcCArIGluZm8tPnUub2Zmc2V0Owot IAotIAkgIC8qIE9kZC1zaXplZCBzdHJ1Y3RzIGFyZSBhbGlnbmVkIHRvIHRoZSBsb3dlciBzaWRl IG9mIGEgbWVtb3J5Ci1AQCAtMTg1Niw3ICsxODU3LDcgQEAgeHRlbnNhX3B1c2hfZHVtbXlfY2Fs bCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gCX0KLSAgICAgICBlbHNlCi0gCXsKLS0JICBp bnQgbiA9IGluZm8tPmxlbmd0aDsKLSsJICBzc2l6ZV90IG4gPSBpbmZvLT5sZW5ndGg7Ci0gCSAg Y29uc3QgYmZkX2J5dGUgKmNwID0gaW5mby0+Y29udGVudHM7Ci0gCSAgaW50IHIgPSBpbmZvLT51 LnJlZ25vOwotIAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUtdGVz dC5wYXRjaCBiL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUtdGVzdC5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTczOGY1Yi4uMDAwMDAwMAotLS0gYS9nZGItcmhiejc5 NTQyNC1iaXRwb3MtMjVvZjI1LXRlc3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MzggKzAs MCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9j dCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjVv ZjI1LXRlc3QucGF0Y2gKLQotOzsgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVy IHdob3NlIG9mZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKLTs7IChSSCBCWiA3OTU0MjQpLgot Ozs9cHVzaAotCi1odHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMi0xMC9t c2cwMDIzMS5odG1sCi0KLU9uIE1vbiwgMTUgT2N0IDIwMTIgMTU6MjU6NTUgKzAyMDAsIEphbiBL cmF0b2NodmlsIHdyb3RlOgotPiBJIGhhdmUgZmlsZWQgZm9yIGl0IG5vdzoKLT4gCUludmFsaWQg ZGVidWcvIGFycmF5IGJvdW5kcyB3Ly1mbm8tcmFuZ2UtY2hlY2sgYW5kIDMyLWJpdCB0YXJnZXQK LT4gCWh0dHA6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NTQ5MzQKLQot VGhlcmVmb3JlIGl0IGxvb2tzIGFzIGEgdmFsaWQgZ2ZvcnRyYW4gRlNGIEdDQyBIRUFEIGJ1ZyBz byBwcm92aWRlZAotYSBoYW5kLXBhdGNoZWQgLlMgZmlsZSBmb3IgaTM4NjsgcGF0Y2hlZCBHREIg UEFTU2VzIHdpdGggaXQuCi0KLVRoYW5rcywKLUphbgotCi0yMDEyLTEwLTE1ICBTaWRkaGVzaCBQ b3lhcmVrYXIgIDxzaWRkaGVzaEByZWRoYXQuY29tPgotCSAgICBKYW4gS3JhdG9jaHZpbCAgPGph bi5rcmF0b2NodmlsQHJlZGhhdC5jb20+Ci0KLQkqIGdkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5l eHA6IE5ldyB0ZXN0IGZpbGUuCi0JKiBnZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZjogTmV3IHRl c3QgZmlsZS4KLQkqIGdkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5TOiBOZXcgdGVzdCBmaWxlLgot Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuUyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLlMKLW5ldyBmaWxlIG1vZGUg MTAwNjQ0Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Fy cmF5LWJvdW5kcy5TCi1AQCAtMCwwICsxLDUyOSBAQAotKy8qIENvcHlyaWdodCAyMDEyIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAz IG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgotKwotKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBnZGIgdGVzdHN1aXRl LiAgKi8KLSsKLSsJLmZpbGUJImFycmF5LWJvdW5kcy5mIgotKwkudGV4dAotKy5MdGV4dDA6Ci0r CS50eXBlCU1BSU5fXywgQGZ1bmN0aW9uCi0rTUFJTl9fOgotKy5MRkIwOgotKwkuZmlsZSAxICJn ZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZiIKLSsJIyBnZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMu ZjoxNgotKwkubG9jIDEgMTYgMAotKwkuY2ZpX3N0YXJ0cHJvYwotKyMgQkxPQ0sgMiBzZXE6MAot KyMgUFJFRDogRU5UUlkgKEZBTExUSFJVKQotKwlwdXNobAklZWJwCi0rLkxDRkkwOgotKwkuY2Zp X2RlZl9jZmFfb2Zmc2V0IDgKLSsJLmNmaV9vZmZzZXQgNSwgLTgKLSsJbW92bAklZXNwLCAlZWJw Ci0rLkxDRkkxOgotKwkuY2ZpX2RlZl9jZmFfcmVnaXN0ZXIgNQotKwlzdWJsCSQ0MCwgJWVzcAot Ky5MQkIyOgotKyMgU1VDQzogMyAoRkFMTFRIUlUpCi0rCSMgZ2RiLmZvcnRyYW4vYXJyYXktYm91 bmRzLmY6MTgKLSsJLmxvYyAxIDE4IDAKLSsJbW92bAkkLTEsICVlYXgKLSsjIEJMT0NLIDMgc2Vx OjEKLSsjIFBSRUQ6IDIgKEZBTExUSFJVKSA0IFsxMDAuMCVdIAotKy5MMzoKLSsJIyBnZGIuZm9y dHJhbi9hcnJheS1ib3VuZHMuZjoxOAotKwkubG9jIDEgMTggMCBpc19zdG10IDAgZGlzY3JpbWlu YXRvciAxCi0rCXRlc3RsCSVlYXgsICVlYXgKLSsjIFNVQ0M6IDUgNCAoRkFMTFRIUlUpCi0rCWpn CS5MMgotKyMgQkxPQ0sgNCBzZXE6MgotKyMgUFJFRDogMyAoRkFMTFRIUlUpCi0rCSMgZ2RiLmZv cnRyYW4vYXJyYXktYm91bmRzLmY6MTgKLSsJLmxvYyAxIDE4IDAgZGlzY3JpbWluYXRvciAyCi0r CWxlYWwJMSglZWF4KSwgJWVjeAotKwltb3ZsCS5MQzAsICVlZHgKLSsJbW92bAklZWR4LCAtMTYo JWVicCwlZWN4LDQpCi0rCWFkZGwJJDEsICVlYXgKLSsjIFNVQ0M6IDMgWzEwMC4wJV0gCi0rCWpt cAkuTDMKLSsjIEJMT0NLIDUgc2VxOjMKLSsjIFBSRUQ6IDMKLSsuTDI6Ci0rLkxCRTI6Ci0rCSMg Z2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmY6MTkKLSsJLmxvYyAxIDE5IDAgaXNfc3RtdCAxCi0r CW1vdmwJLTE2KCVlYnApLCAlZWF4Ci0rCW1vdmwJLTEyKCVlYnApLCAlZWR4Ci0rCW1vdmwJJWVh eCwgLTI0KCVlYnApCi0rCW1vdmwJJWVkeCwgLTIwKCVlYnApCi0rCSMgZ2RiLmZvcnRyYW4vYXJy YXktYm91bmRzLmY6MjAKLSsJLmxvYyAxIDIwIDAKLSsJbW92bAkkMCwgNCglZXNwKQotKwltb3Zs CSQwLCAoJWVzcCkKLSsjIFNVQ0M6Ci0rCWNhbGwJX2dmb3J0cmFuX3N0b3Bfc3RyaW5nCi0rCS5j ZmlfZW5kcHJvYwotKy5MRkUwOgotKwkuc2l6ZQlNQUlOX18sIC4tTUFJTl9fCi0rCS5nbG9ibAlt YWluCi0rCS50eXBlCW1haW4sIEBmdW5jdGlvbgotK21haW46Ci0rLkxGQjE6Ci0rCSMgZ2RiLmZv cnRyYW4vYXJyYXktYm91bmRzLmY6MjEKLSsJLmxvYyAxIDIxIDAKLSsJLmNmaV9zdGFydHByb2MK LSsjIEJMT0NLIDIgc2VxOjAKLSsjIFBSRUQ6IEVOVFJZIChGQUxMVEhSVSkKLSsJcHVzaGwJJWVi cAotKy5MQ0ZJMjoKLSsJLmNmaV9kZWZfY2ZhX29mZnNldCA4Ci0rCS5jZmlfb2Zmc2V0IDUsIC04 Ci0rCW1vdmwJJWVzcCwgJWVicAotKy5MQ0ZJMzoKLSsJLmNmaV9kZWZfY2ZhX3JlZ2lzdGVyIDUK LSsJYW5kbAkkLTE2LCAlZXNwCi0rCXN1YmwJJDE2LCAlZXNwCi0rCSMgZ2RiLmZvcnRyYW4vYXJy YXktYm91bmRzLmY6MjEKLSsJLmxvYyAxIDIxIDAKLSsJbW92bAkxMiglZWJwKSwgJWVheAotKwlt b3ZsCSVlYXgsIDQoJWVzcCkKLSsJbW92bAk4KCVlYnApLCAlZWF4Ci0rCW1vdmwJJWVheCwgKCVl c3ApCi0rCWNhbGwJX2dmb3J0cmFuX3NldF9hcmdzCi0rCW1vdmwJJG9wdGlvbnMuMS4xODI0LCA0 KCVlc3ApCi0rCW1vdmwJJDcsICglZXNwKQotKwljYWxsCV9nZm9ydHJhbl9zZXRfb3B0aW9ucwot KwljYWxsCU1BSU5fXwotKwltb3ZsCSQwLCAlZWF4Ci0rCWxlYXZlCi0rLkxDRkk0OgotKwkuY2Zp X3Jlc3RvcmUgNQotKwkuY2ZpX2RlZl9jZmEgNCwgNAotKyMgU1VDQzogRVhJVCBbMTAwLjAlXSAK LSsJcmV0Ci0rCS5jZmlfZW5kcHJvYwotKy5MRkUxOgotKwkuc2l6ZQltYWluLCAuLW1haW4KLSsJ LnNlY3Rpb24JLnJvZGF0YQotKwkuYWxpZ24gNAotKwkudHlwZQlvcHRpb25zLjEuMTgyNCwgQG9i amVjdAotKwkuc2l6ZQlvcHRpb25zLjEuMTgyNCwgMjgKLStvcHRpb25zLjEuMTgyNDoKLSsJLmxv bmcJNjgKLSsJLmxvbmcJMTAyMwotKwkubG9uZwkwCi0rCS5sb25nCTAKLSsJLmxvbmcJMQotKwku bG9uZwkxCi0rCS5sb25nCTAKLSsJLmFsaWduIDQKLSsuTEMwOgotKwkubG9uZwkxMTA5OTE3Njk2 Ci0rCS50ZXh0Ci0rLkxldGV4dDA6Ci0rCS5zZWN0aW9uCS5kZWJ1Z19pbmZvLCIiLEBwcm9nYml0 cwotKy5MZGVidWdfaW5mbzA6Ci0rCS5sb25nCTJmIC0gMWYJIyBMZW5ndGggb2YgQ29tcGlsYXRp b24gVW5pdCBJbmZvCi0rMToKLSsJLnZhbHVlCTB4MgkjIERXQVJGIHZlcnNpb24gbnVtYmVyCi0r CS5sb25nCS5MZGVidWdfYWJicmV2MAkjIE9mZnNldCBJbnRvIEFiYnJldi4gU2VjdGlvbgotKwku Ynl0ZQkweDQJIyBQb2ludGVyIFNpemUgKGluIGJ5dGVzKQotK2RpZWI6CS51bGViMTI4IDB4MQkj IChESUUgKDB4YikgRFdfVEFHX2NvbXBpbGVfdW5pdCkKLSsJLmxvbmcJLkxBU0Y1CSMgRFdfQVRf cHJvZHVjZXI6ICJHTlUgRm9ydHJhbiA0LjguMCAyMDEyMTAxNSAoZXhwZXJpbWVudGFsKSAtZmZp eGVkLWZvcm0gLW0zMiAtbXR1bmU9Z2VuZXJpYyAtbWFyY2g9eDg2LTY0IC1nIC1nZHdhcmYtMiAt ZmludHJpbnNpYy1tb2R1bGVzLXBhdGggLi4uL2djY2hlYWQtcm9vdC9saWIvZ2NjL3g4Nl82NC11 bmtub3duLWxpbnV4LWdudS80LjguMC9maW5jbHVkZSIKLSsJLmJ5dGUJMHhlCSMgRFdfQVRfbGFu Z3VhZ2UKLSsJLmJ5dGUJMHgyCSMgRFdfQVRfaWRlbnRpZmllcl9jYXNlCi0rCS5sb25nCS5MQVNG NgkjIERXX0FUX25hbWU6ICJnZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZiIKLSsJLmxvbmcJLkxB U0Y3CSMgRFdfQVRfY29tcF9kaXI6ICIiCi0rCS5sb25nCS5MdGV4dDAJIyBEV19BVF9sb3dfcGMK LSsJLmxvbmcJLkxldGV4dDAJIyBEV19BVF9oaWdoX3BjCi0rCS5sb25nCS5MZGVidWdfbGluZTAJ IyBEV19BVF9zdG10X2xpc3QKLStkaWUyNjoJLnVsZWIxMjggMHgyCSMgKERJRSAoMHgyNikgRFdf VEFHX3N1YnByb2dyYW0pCi0rCS5sb25nCS5MQVNGOAkjIERXX0FUX25hbWU6ICJNQUlOX18iCi0r CS5ieXRlCTB4MQkjIERXX0FUX2RlY2xfZmlsZSAoZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmYp Ci0rCS5ieXRlCTB4MTAJIyBEV19BVF9kZWNsX2xpbmUKLSsJLmxvbmcJLkxGQjAJIyBEV19BVF9s b3dfcGMKLSsJLmxvbmcJLkxGRTAJIyBEV19BVF9oaWdoX3BjCi0rCS5sb25nCS5MTFNUMAkjIERX X0FUX2ZyYW1lX2Jhc2UKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfR05VX2FsbF90YWlsX2NhbGxfc2l0 ZXMKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfbWFpbl9zdWJwcm9ncmFtCi0rCS5ieXRlCTB4MgkjIERX X0FUX2NhbGxpbmdfY29udmVudGlvbgotKwkubG9uZwlkaWU2NiAtIC5MZGVidWdfaW5mbzAJIyBE V19BVF9zaWJsaW5nCi0rZGllNDA6CS51bGViMTI4IDB4MwkjIChESUUgKDB4NDApIERXX1RBR192 YXJpYWJsZSkKLSsJLmFzY2lpICJiYXJcMCIJIyBEV19BVF9uYW1lCi0rCS5ieXRlCTB4MQkjIERX X0FUX2RlY2xfZmlsZSAoZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmYpCi0rCS5ieXRlCTB4MTEJ IyBEV19BVF9kZWNsX2xpbmUKLSsJLmxvbmcJZGllNjYgLSAuTGRlYnVnX2luZm8wCSMgRFdfQVRf dHlwZQotKwkuYnl0ZQkweDIJIyBEV19BVF9sb2NhdGlvbgotKwkuYnl0ZQkweDkxCSMgRFdfT1Bf ZmJyZWcKLSsJLnNsZWIxMjggLTI0Ci0rZGllNGU6CS51bGViMTI4IDB4MwkjIChESUUgKDB4NGUp IERXX1RBR192YXJpYWJsZSkKLSsJLmFzY2lpICJmb29cMCIJIyBEV19BVF9uYW1lCi0rCS5ieXRl CTB4MQkjIERXX0FUX2RlY2xfZmlsZSAoZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmYpCi0rCS5i eXRlCTB4MTAJIyBEV19BVF9kZWNsX2xpbmUKLSsJLmxvbmcJZGllODggLSAuTGRlYnVnX2luZm8w CSMgRFdfQVRfdHlwZQotKwkuYnl0ZQkweDIJIyBEV19BVF9sb2NhdGlvbgotKwkuYnl0ZQkweDkx CSMgRFdfT1BfZmJyZWcKLSsJLnNsZWIxMjggLTMyCi0rZGllNWM6CS51bGViMTI4IDB4NAkjIChE SUUgKDB4NWMpIERXX1RBR19sZXhpY2FsX2Jsb2NrKQotKwkubG9uZwkuTEJCMgkjIERXX0FUX2xv d19wYwotKwkubG9uZwkuTEJFMgkjIERXX0FUX2hpZ2hfcGMKLSsJLmJ5dGUJMAkjIGVuZCBvZiBj aGlsZHJlbiBvZiBESUUgMHgyNgotK2RpZTY2OgkudWxlYjEyOCAweDUJIyAoRElFICgweDY2KSBE V19UQUdfYXJyYXlfdHlwZSkKLSsJLmxvbmcJZGllODEgLSAuTGRlYnVnX2luZm8wCSMgRFdfQVRf dHlwZQotKwkubG9uZwlkaWU3YSAtIC5MZGVidWdfaW5mbzAJIyBEV19BVF9zaWJsaW5nCi0rZGll NmY6CS51bGViMTI4IDB4NgkjIChESUUgKDB4NmYpIERXX1RBR19zdWJyYW5nZV90eXBlKQotKwku bG9uZwlkaWU3YSAtIC5MZGVidWdfaW5mbzAJIyBEV19BVF90eXBlCi0rI2lmIDAKLSsJLmxvbmcJ MHhmZmZmZmZmZgkjIERXX0FUX2xvd2VyX2JvdW5kCi0rCS5ieXRlCTAJIyBEV19BVF91cHBlcl9i b3VuZAotKyNlbHNlCi0rCS5xdWFkCTB4ZmZmZmZmZmVmZmZmZmZmZgkjIERXX0FUX2xvd2VyX2Jv dW5kCi0rCS5xdWFkCTB4ZmZmZmZmZmYwMDAwMDAwMAkjIERXX0FUX3VwcGVyX2JvdW5kCi0rI2Vu ZGlmCi0rCS5ieXRlCTAJIyBlbmQgb2YgY2hpbGRyZW4gb2YgRElFIDB4NjYKLStkaWU3YToJLnVs ZWIxMjggMHg3CSMgKERJRSAoMHg3YSkgRFdfVEFHX2Jhc2VfdHlwZSkKLSsjaWYgMAotKwkuYnl0 ZQkweDQJIyBEV19BVF9ieXRlX3NpemUKLSsjZWxzZQotKwkuYnl0ZQkweDgJIyBEV19BVF9ieXRl X3NpemUKLSsjZW5kaWYKLSsJLmJ5dGUJMHg1CSMgRFdfQVRfZW5jb2RpbmcKLSsJLmxvbmcJLkxB U0YwCSMgRFdfQVRfbmFtZTogImludGVnZXIoa2luZD00KSIKLStkaWU4MToJLnVsZWIxMjggMHg3 CSMgKERJRSAoMHg4MSkgRFdfVEFHX2Jhc2VfdHlwZSkKLSsJLmJ5dGUJMHg0CSMgRFdfQVRfYnl0 ZV9zaXplCi0rCS5ieXRlCTB4NAkjIERXX0FUX2VuY29kaW5nCi0rCS5sb25nCS5MQVNGMQkjIERX X0FUX25hbWU6ICJyZWFsKGtpbmQ9NCkiCi0rZGllODg6CS51bGViMTI4IDB4NQkjIChESUUgKDB4 ODgpIERXX1RBR19hcnJheV90eXBlKQotKwkubG9uZwlkaWU4MSAtIC5MZGVidWdfaW5mbzAJIyBE V19BVF90eXBlCi0rCS5sb25nCWRpZTk5IC0gLkxkZWJ1Z19pbmZvMAkjIERXX0FUX3NpYmxpbmcK LStkaWU5MToJLnVsZWIxMjggMHg4CSMgKERJRSAoMHg5MSkgRFdfVEFHX3N1YnJhbmdlX3R5cGUp Ci0rCS5sb25nCWRpZTdhIC0gLkxkZWJ1Z19pbmZvMAkjIERXX0FUX3R5cGUKLSsjaWYgMAotKwku Ynl0ZQkwCSMgRFdfQVRfbG93ZXJfYm91bmQKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfdXBwZXJfYm91 bmQKLSsjZWxzZQotKwkucXVhZAkweDEwMDAwMDAwMAkjIERXX0FUX2xvd2VyX2JvdW5kCi0rCS5x dWFkCTB4MTAwMDAwMDAxCSMgRFdfQVRfdXBwZXJfYm91bmQKLSsjZW5kaWYKLSsJLmJ5dGUJMAkj IGVuZCBvZiBjaGlsZHJlbiBvZiBESUUgMHg4OAotK2RpZTk5OgkudWxlYjEyOCAweDkJIyAoRElF ICgweDk5KSBEV19UQUdfc3VicHJvZ3JhbSkKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfZXh0ZXJuYWwK LSsJLmxvbmcJLkxBU0Y5CSMgRFdfQVRfbmFtZTogIm1haW4iCi0rCS5ieXRlCTB4MQkjIERXX0FU X2RlY2xfZmlsZSAoZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmYpCi0rCS5ieXRlCTB4MTUJIyBE V19BVF9kZWNsX2xpbmUKLSsJLmxvbmcJZGllN2EgLSAuTGRlYnVnX2luZm8wCSMgRFdfQVRfdHlw ZQotKwkubG9uZwkuTEZCMQkjIERXX0FUX2xvd19wYwotKwkubG9uZwkuTEZFMQkjIERXX0FUX2hp Z2hfcGMKLSsJLmxvbmcJLkxMU1QxCSMgRFdfQVRfZnJhbWVfYmFzZQotKwkuYnl0ZQkweDEJIyBE V19BVF9HTlVfYWxsX3RhaWxfY2FsbF9zaXRlcwotKwkubG9uZwlkaWVkNCAtIC5MZGVidWdfaW5m bzAJIyBEV19BVF9zaWJsaW5nCi0rZGllYjY6CS51bGViMTI4IDB4YQkjIChESUUgKDB4YjYpIERX X1RBR19mb3JtYWxfcGFyYW1ldGVyKQotKwkubG9uZwkuTEFTRjIJIyBEV19BVF9uYW1lOiAiYXJn YyIKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfZGVjbF9maWxlIChnZGIuZm9ydHJhbi9hcnJheS1ib3Vu ZHMuZikKLSsJLmJ5dGUJMHgxNQkjIERXX0FUX2RlY2xfbGluZQotKwkubG9uZwlkaWVkNCAtIC5M ZGVidWdfaW5mbzAJIyBEV19BVF90eXBlCi0rCS5ieXRlCTB4MgkjIERXX0FUX2xvY2F0aW9uCi0r CS5ieXRlCTB4OTEJIyBEV19PUF9mYnJlZwotKwkuc2xlYjEyOCAwCi0rZGllYzQ6CS51bGViMTI4 IDB4YQkjIChESUUgKDB4YzQpIERXX1RBR19mb3JtYWxfcGFyYW1ldGVyKQotKwkubG9uZwkuTEFT RjMJIyBEV19BVF9uYW1lOiAiYXJndiIKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfZGVjbF9maWxlIChn ZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZikKLSsJLmJ5dGUJMHgxNQkjIERXX0FUX2RlY2xfbGlu ZQotKwkubG9uZwlkaWVkOSAtIC5MZGVidWdfaW5mbzAJIyBEV19BVF90eXBlCi0rCS5ieXRlCTB4 MwkjIERXX0FUX2xvY2F0aW9uCi0rCS5ieXRlCTB4OTEJIyBEV19PUF9mYnJlZwotKwkuc2xlYjEy OCA0Ci0rCS5ieXRlCTB4NgkjIERXX09QX2RlcmVmCi0rCS5ieXRlCTAJIyBlbmQgb2YgY2hpbGRy ZW4gb2YgRElFIDB4OTkKLStkaWVkNDoJLnVsZWIxMjggMHhiCSMgKERJRSAoMHhkNCkgRFdfVEFH X2NvbnN0X3R5cGUpCi0rCS5sb25nCWRpZTdhIC0gLkxkZWJ1Z19pbmZvMAkjIERXX0FUX3R5cGUK LStkaWVkOToJLnVsZWIxMjggMHhjCSMgKERJRSAoMHhkOSkgRFdfVEFHX3BvaW50ZXJfdHlwZSkK LSsJLmJ5dGUJMHg0CSMgRFdfQVRfYnl0ZV9zaXplCi0rCS5sb25nCWRpZWRmIC0gLkxkZWJ1Z19p bmZvMAkjIERXX0FUX3R5cGUKLStkaWVkZjoJLnVsZWIxMjggMHg3CSMgKERJRSAoMHhkZikgRFdf VEFHX2Jhc2VfdHlwZSkKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfYnl0ZV9zaXplCi0rCS5ieXRlCTB4 OAkjIERXX0FUX2VuY29kaW5nCi0rCS5sb25nCS5MQVNGNAkjIERXX0FUX25hbWU6ICJjaGFyYWN0 ZXIoa2luZD0xKSIKLSsJLmJ5dGUJMAkjIGVuZCBvZiBjaGlsZHJlbiBvZiBESUUgMHhiCi0rMjoK LSsJLnNlY3Rpb24JLmRlYnVnX2FiYnJldiwiIixAcHJvZ2JpdHMKLSsuTGRlYnVnX2FiYnJldjA6 Ci0rCS51bGViMTI4IDB4MQkjIChhYmJyZXYgY29kZSkKLSsJLnVsZWIxMjggMHgxMQkjIChUQUc6 IERXX1RBR19jb21waWxlX3VuaXQpCi0rCS5ieXRlCTB4MQkjIERXX2NoaWxkcmVuX3llcwotKwku dWxlYjEyOCAweDI1CSMgKERXX0FUX3Byb2R1Y2VyKQotKwkudWxlYjEyOCAweGUJIyAoRFdfRk9S TV9zdHJwKQotKwkudWxlYjEyOCAweDEzCSMgKERXX0FUX2xhbmd1YWdlKQotKwkudWxlYjEyOCAw eGIJIyAoRFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHg0MgkjIChEV19BVF9pZGVudGlmaWVy X2Nhc2UpCi0rCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQotKwkudWxlYjEyOCAweDMJ IyAoRFdfQVRfbmFtZSkKLSsJLnVsZWIxMjggMHhlCSMgKERXX0ZPUk1fc3RycCkKLSsJLnVsZWIx MjggMHgxYgkjIChEV19BVF9jb21wX2RpcikKLSsJLnVsZWIxMjggMHhlCSMgKERXX0ZPUk1fc3Ry cCkKLSsJLnVsZWIxMjggMHgxMQkjIChEV19BVF9sb3dfcGMpCi0rCS51bGViMTI4IDB4MQkjIChE V19GT1JNX2FkZHIpCi0rCS51bGViMTI4IDB4MTIJIyAoRFdfQVRfaGlnaF9wYykKLSsJLnVsZWIx MjggMHgxCSMgKERXX0ZPUk1fYWRkcikKLSsJLnVsZWIxMjggMHgxMAkjIChEV19BVF9zdG10X2xp c3QpCi0rCS51bGViMTI4IDB4NgkjIChEV19GT1JNX2RhdGE0KQotKwkuYnl0ZQkwCi0rCS5ieXRl CTAKLSsJLnVsZWIxMjggMHgyCSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAweDJlCSMgKFRB RzogRFdfVEFHX3N1YnByb2dyYW0pCi0rCS5ieXRlCTB4MQkjIERXX2NoaWxkcmVuX3llcwotKwku dWxlYjEyOCAweDMJIyAoRFdfQVRfbmFtZSkKLSsJLnVsZWIxMjggMHhlCSMgKERXX0ZPUk1fc3Ry cCkKLSsJLnVsZWIxMjggMHgzYQkjIChEV19BVF9kZWNsX2ZpbGUpCi0rCS51bGViMTI4IDB4Ygkj IChEV19GT1JNX2RhdGExKQotKwkudWxlYjEyOCAweDNiCSMgKERXX0FUX2RlY2xfbGluZSkKLSsJ LnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCi0rCS51bGViMTI4IDB4MTEJIyAoRFdfQVRf bG93X3BjKQotKwkudWxlYjEyOCAweDEJIyAoRFdfRk9STV9hZGRyKQotKwkudWxlYjEyOCAweDEy CSMgKERXX0FUX2hpZ2hfcGMpCi0rCS51bGViMTI4IDB4MQkjIChEV19GT1JNX2FkZHIpCi0rCS51 bGViMTI4IDB4NDAJIyAoRFdfQVRfZnJhbWVfYmFzZSkKLSsJLnVsZWIxMjggMHg2CSMgKERXX0ZP Uk1fZGF0YTQpCi0rCS51bGViMTI4IDB4MjExNgkjIChEV19BVF9HTlVfYWxsX3RhaWxfY2FsbF9z aXRlcykKLSsJLnVsZWIxMjggMHhjCSMgKERXX0ZPUk1fZmxhZykKLSsJLnVsZWIxMjggMHg2YQkj IChEV19BVF9tYWluX3N1YnByb2dyYW0pCi0rCS51bGViMTI4IDB4YwkjIChEV19GT1JNX2ZsYWcp Ci0rCS51bGViMTI4IDB4MzYJIyAoRFdfQVRfY2FsbGluZ19jb252ZW50aW9uKQotKwkudWxlYjEy OCAweGIJIyAoRFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHgxCSMgKERXX0FUX3NpYmxpbmcp Ci0rCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0KQotKwkuYnl0ZQkwCi0rCS5ieXRlCTAK LSsJLnVsZWIxMjggMHgzCSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAweDM0CSMgKFRBRzog RFdfVEFHX3ZhcmlhYmxlKQotKwkuYnl0ZQkwCSMgRFdfY2hpbGRyZW5fbm8KLSsJLnVsZWIxMjgg MHgzCSMgKERXX0FUX25hbWUpCi0rCS51bGViMTI4IDB4OAkjIChEV19GT1JNX3N0cmluZykKLSsJ LnVsZWIxMjggMHgzYQkjIChEV19BVF9kZWNsX2ZpbGUpCi0rCS51bGViMTI4IDB4YgkjIChEV19G T1JNX2RhdGExKQotKwkudWxlYjEyOCAweDNiCSMgKERXX0FUX2RlY2xfbGluZSkKLSsJLnVsZWIx MjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCi0rCS51bGViMTI4IDB4NDkJIyAoRFdfQVRfdHlwZSkK LSsJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCi0rCS51bGViMTI4IDB4MgkjIChEV19B VF9sb2NhdGlvbikKLSsJLnVsZWIxMjggMHhhCSMgKERXX0ZPUk1fYmxvY2sxKQotKwkuYnl0ZQkw Ci0rCS5ieXRlCTAKLSsJLnVsZWIxMjggMHg0CSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAw eGIJIyAoVEFHOiBEV19UQUdfbGV4aWNhbF9ibG9jaykKLSsJLmJ5dGUJMAkjIERXX2NoaWxkcmVu X25vCi0rCS51bGViMTI4IDB4MTEJIyAoRFdfQVRfbG93X3BjKQotKwkudWxlYjEyOCAweDEJIyAo RFdfRk9STV9hZGRyKQotKwkudWxlYjEyOCAweDEyCSMgKERXX0FUX2hpZ2hfcGMpCi0rCS51bGVi MTI4IDB4MQkjIChEV19GT1JNX2FkZHIpCi0rCS5ieXRlCTAKLSsJLmJ5dGUJMAotKwkudWxlYjEy OCAweDUJIyAoYWJicmV2IGNvZGUpCi0rCS51bGViMTI4IDB4MQkjIChUQUc6IERXX1RBR19hcnJh eV90eXBlKQotKwkuYnl0ZQkweDEJIyBEV19jaGlsZHJlbl95ZXMKLSsJLnVsZWIxMjggMHg0OQkj IChEV19BVF90eXBlKQotKwkudWxlYjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKLSsJLnVsZWIx MjggMHgxCSMgKERXX0FUX3NpYmxpbmcpCi0rCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0 KQotKwkuYnl0ZQkwCi0rCS5ieXRlCTAKLSsJLnVsZWIxMjggMHg2CSMgKGFiYnJldiBjb2RlKQot KwkudWxlYjEyOCAweDIxCSMgKFRBRzogRFdfVEFHX3N1YnJhbmdlX3R5cGUpCi0rCS5ieXRlCTAJ IyBEV19jaGlsZHJlbl9ubwotKwkudWxlYjEyOCAweDQ5CSMgKERXX0FUX3R5cGUpCi0rCS51bGVi MTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0KQotKyNpZiAwCi0rCS51bGViMTI4IDB4MjIJIyAoRFdf QVRfbG93ZXJfYm91bmQpCi0rCS51bGViMTI4IDB4NgkjIChEV19GT1JNX2RhdGE0KQotKwkudWxl YjEyOCAweDJmCSMgKERXX0FUX3VwcGVyX2JvdW5kKQotKwkudWxlYjEyOCAweGIJIyAoRFdfRk9S TV9kYXRhMSkKLSsjZWxzZQotKwkudWxlYjEyOCAweDIyCSMgKERXX0FUX2xvd2VyX2JvdW5kKQot KwkudWxlYjEyOCAweDcJIyAoRFdfRk9STV9kYXRhOCkKLSsJLnVsZWIxMjggMHgyZgkjIChEV19B VF91cHBlcl9ib3VuZCkKLSsJLnVsZWIxMjggMHg3CSMgKERXX0ZPUk1fZGF0YTgpCi0rI2VuZGlm Ci0rCS5ieXRlCTAKLSsJLmJ5dGUJMAotKwkudWxlYjEyOCAweDcJIyAoYWJicmV2IGNvZGUpCi0r CS51bGViMTI4IDB4MjQJIyAoVEFHOiBEV19UQUdfYmFzZV90eXBlKQotKwkuYnl0ZQkwCSMgRFdf Y2hpbGRyZW5fbm8KLSsJLnVsZWIxMjggMHhiCSMgKERXX0FUX2J5dGVfc2l6ZSkKLSsJLnVsZWIx MjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCi0rCS51bGViMTI4IDB4M2UJIyAoRFdfQVRfZW5jb2Rp bmcpCi0rCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQotKwkudWxlYjEyOCAweDMJIyAo RFdfQVRfbmFtZSkKLSsJLnVsZWIxMjggMHhlCSMgKERXX0ZPUk1fc3RycCkKLSsJLmJ5dGUJMAot KwkuYnl0ZQkwCi0rCS51bGViMTI4IDB4OAkjIChhYmJyZXYgY29kZSkKLSsJLnVsZWIxMjggMHgy MQkjIChUQUc6IERXX1RBR19zdWJyYW5nZV90eXBlKQotKwkuYnl0ZQkwCSMgRFdfY2hpbGRyZW5f bm8KLSsJLnVsZWIxMjggMHg0OQkjIChEV19BVF90eXBlKQotKwkudWxlYjEyOCAweDEzCSMgKERX X0ZPUk1fcmVmNCkKLSsjaWYgMAotKwkudWxlYjEyOCAweDIyCSMgKERXX0FUX2xvd2VyX2JvdW5k KQotKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHgyZgkjIChE V19BVF91cHBlcl9ib3VuZCkKLSsJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCi0rI2Vs c2UKLSsJLnVsZWIxMjggMHgyMgkjIChEV19BVF9sb3dlcl9ib3VuZCkKLSsJLnVsZWIxMjggMHg3 CSMgKERXX0ZPUk1fZGF0YTgpCi0rCS51bGViMTI4IDB4MmYJIyAoRFdfQVRfdXBwZXJfYm91bmQp Ci0rCS51bGViMTI4IDB4NwkjIChEV19GT1JNX2RhdGE4KQotKyNlbmRpZgotKwkuYnl0ZQkwCi0r CS5ieXRlCTAKLSsJLnVsZWIxMjggMHg5CSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAweDJl CSMgKFRBRzogRFdfVEFHX3N1YnByb2dyYW0pCi0rCS5ieXRlCTB4MQkjIERXX2NoaWxkcmVuX3ll cwotKwkudWxlYjEyOCAweDNmCSMgKERXX0FUX2V4dGVybmFsKQotKwkudWxlYjEyOCAweGMJIyAo RFdfRk9STV9mbGFnKQotKwkudWxlYjEyOCAweDMJIyAoRFdfQVRfbmFtZSkKLSsJLnVsZWIxMjgg MHhlCSMgKERXX0ZPUk1fc3RycCkKLSsJLnVsZWIxMjggMHgzYQkjIChEV19BVF9kZWNsX2ZpbGUp Ci0rCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQotKwkudWxlYjEyOCAweDNiCSMgKERX X0FUX2RlY2xfbGluZSkKLSsJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCi0rCS51bGVi MTI4IDB4NDkJIyAoRFdfQVRfdHlwZSkKLSsJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQp Ci0rCS51bGViMTI4IDB4MTEJIyAoRFdfQVRfbG93X3BjKQotKwkudWxlYjEyOCAweDEJIyAoRFdf Rk9STV9hZGRyKQotKwkudWxlYjEyOCAweDEyCSMgKERXX0FUX2hpZ2hfcGMpCi0rCS51bGViMTI4 IDB4MQkjIChEV19GT1JNX2FkZHIpCi0rCS51bGViMTI4IDB4NDAJIyAoRFdfQVRfZnJhbWVfYmFz ZSkKLSsJLnVsZWIxMjggMHg2CSMgKERXX0ZPUk1fZGF0YTQpCi0rCS51bGViMTI4IDB4MjExNgkj IChEV19BVF9HTlVfYWxsX3RhaWxfY2FsbF9zaXRlcykKLSsJLnVsZWIxMjggMHhjCSMgKERXX0ZP Uk1fZmxhZykKLSsJLnVsZWIxMjggMHgxCSMgKERXX0FUX3NpYmxpbmcpCi0rCS51bGViMTI4IDB4 MTMJIyAoRFdfRk9STV9yZWY0KQotKwkuYnl0ZQkwCi0rCS5ieXRlCTAKLSsJLnVsZWIxMjggMHhh CSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAweDUJIyAoVEFHOiBEV19UQUdfZm9ybWFsX3Bh cmFtZXRlcikKLSsJLmJ5dGUJMAkjIERXX2NoaWxkcmVuX25vCi0rCS51bGViMTI4IDB4MwkjIChE V19BVF9uYW1lKQotKwkudWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJwKQotKwkudWxlYjEyOCAw eDNhCSMgKERXX0FUX2RlY2xfZmlsZSkKLSsJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEp Ci0rCS51bGViMTI4IDB4M2IJIyAoRFdfQVRfZGVjbF9saW5lKQotKwkudWxlYjEyOCAweGIJIyAo RFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHg0OQkjIChEV19BVF90eXBlKQotKwkudWxlYjEy OCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKLSsJLnVsZWIxMjggMHgyCSMgKERXX0FUX2xvY2F0aW9u KQotKwkudWxlYjEyOCAweGEJIyAoRFdfRk9STV9ibG9jazEpCi0rCS5ieXRlCTAKLSsJLmJ5dGUJ MAotKwkudWxlYjEyOCAweGIJIyAoYWJicmV2IGNvZGUpCi0rCS51bGViMTI4IDB4MjYJIyAoVEFH OiBEV19UQUdfY29uc3RfdHlwZSkKLSsJLmJ5dGUJMAkjIERXX2NoaWxkcmVuX25vCi0rCS51bGVi MTI4IDB4NDkJIyAoRFdfQVRfdHlwZSkKLSsJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQp Ci0rCS5ieXRlCTAKLSsJLmJ5dGUJMAotKwkudWxlYjEyOCAweGMJIyAoYWJicmV2IGNvZGUpCi0r CS51bGViMTI4IDB4ZgkjIChUQUc6IERXX1RBR19wb2ludGVyX3R5cGUpCi0rCS5ieXRlCTAJIyBE V19jaGlsZHJlbl9ubwotKwkudWxlYjEyOCAweGIJIyAoRFdfQVRfYnl0ZV9zaXplKQotKwkudWxl YjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHg0OQkjIChEV19BVF90eXBl KQotKwkudWxlYjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKLSsJLmJ5dGUJMAotKwkuYnl0ZQkw Ci0rCS5ieXRlCTAKLSsJLnNlY3Rpb24JLmRlYnVnX2xvYywiIixAcHJvZ2JpdHMKLSsuTGRlYnVn X2xvYzA6Ci0rLkxMU1QwOgotKwkubG9uZwkuTEZCMC0uTHRleHQwCSMgTG9jYXRpb24gbGlzdCBi ZWdpbiBhZGRyZXNzICgqLkxMU1QwKQotKwkubG9uZwkuTENGSTAtLkx0ZXh0MAkjIExvY2F0aW9u IGxpc3QgZW5kIGFkZHJlc3MgKCouTExTVDApCi0rCS52YWx1ZQkweDIJIyBMb2NhdGlvbiBleHBy ZXNzaW9uIHNpemUKLSsJLmJ5dGUJMHg3NAkjIERXX09QX2JyZWc0Ci0rCS5zbGViMTI4IDQKLSsJ LmxvbmcJLkxDRkkwLS5MdGV4dDAJIyBMb2NhdGlvbiBsaXN0IGJlZ2luIGFkZHJlc3MgKCouTExT VDApCi0rCS5sb25nCS5MQ0ZJMS0uTHRleHQwCSMgTG9jYXRpb24gbGlzdCBlbmQgYWRkcmVzcyAo Ki5MTFNUMCkKLSsJLnZhbHVlCTB4MgkjIExvY2F0aW9uIGV4cHJlc3Npb24gc2l6ZQotKwkuYnl0 ZQkweDc0CSMgRFdfT1BfYnJlZzQKLSsJLnNsZWIxMjggOAotKwkubG9uZwkuTENGSTEtLkx0ZXh0 MAkjIExvY2F0aW9uIGxpc3QgYmVnaW4gYWRkcmVzcyAoKi5MTFNUMCkKLSsJLmxvbmcJLkxGRTAt Lkx0ZXh0MAkjIExvY2F0aW9uIGxpc3QgZW5kIGFkZHJlc3MgKCouTExTVDApCi0rCS52YWx1ZQkw eDIJIyBMb2NhdGlvbiBleHByZXNzaW9uIHNpemUKLSsJLmJ5dGUJMHg3NQkjIERXX09QX2JyZWc1 Ci0rCS5zbGViMTI4IDgKLSsJLmxvbmcJMAkjIExvY2F0aW9uIGxpc3QgdGVybWluYXRvciBiZWdp biAoKi5MTFNUMCkKLSsJLmxvbmcJMAkjIExvY2F0aW9uIGxpc3QgdGVybWluYXRvciBlbmQgKCou TExTVDApCi0rLkxMU1QxOgotKwkubG9uZwkuTEZCMS0uTHRleHQwCSMgTG9jYXRpb24gbGlzdCBi ZWdpbiBhZGRyZXNzICgqLkxMU1QxKQotKwkubG9uZwkuTENGSTItLkx0ZXh0MAkjIExvY2F0aW9u IGxpc3QgZW5kIGFkZHJlc3MgKCouTExTVDEpCi0rCS52YWx1ZQkweDIJIyBMb2NhdGlvbiBleHBy ZXNzaW9uIHNpemUKLSsJLmJ5dGUJMHg3NAkjIERXX09QX2JyZWc0Ci0rCS5zbGViMTI4IDQKLSsJ LmxvbmcJLkxDRkkyLS5MdGV4dDAJIyBMb2NhdGlvbiBsaXN0IGJlZ2luIGFkZHJlc3MgKCouTExT VDEpCi0rCS5sb25nCS5MQ0ZJMy0uTHRleHQwCSMgTG9jYXRpb24gbGlzdCBlbmQgYWRkcmVzcyAo Ki5MTFNUMSkKLSsJLnZhbHVlCTB4MgkjIExvY2F0aW9uIGV4cHJlc3Npb24gc2l6ZQotKwkuYnl0 ZQkweDc0CSMgRFdfT1BfYnJlZzQKLSsJLnNsZWIxMjggOAotKwkubG9uZwkuTENGSTMtLkx0ZXh0 MAkjIExvY2F0aW9uIGxpc3QgYmVnaW4gYWRkcmVzcyAoKi5MTFNUMSkKLSsJLmxvbmcJLkxDRkk0 LS5MdGV4dDAJIyBMb2NhdGlvbiBsaXN0IGVuZCBhZGRyZXNzICgqLkxMU1QxKQotKwkudmFsdWUJ MHgyCSMgTG9jYXRpb24gZXhwcmVzc2lvbiBzaXplCi0rCS5ieXRlCTB4NzUJIyBEV19PUF9icmVn NQotKwkuc2xlYjEyOCA4Ci0rCS5sb25nCS5MQ0ZJNC0uTHRleHQwCSMgTG9jYXRpb24gbGlzdCBi ZWdpbiBhZGRyZXNzICgqLkxMU1QxKQotKwkubG9uZwkuTEZFMS0uTHRleHQwCSMgTG9jYXRpb24g bGlzdCBlbmQgYWRkcmVzcyAoKi5MTFNUMSkKLSsJLnZhbHVlCTB4MgkjIExvY2F0aW9uIGV4cHJl c3Npb24gc2l6ZQotKwkuYnl0ZQkweDc0CSMgRFdfT1BfYnJlZzQKLSsJLnNsZWIxMjggNAotKwku bG9uZwkwCSMgTG9jYXRpb24gbGlzdCB0ZXJtaW5hdG9yIGJlZ2luICgqLkxMU1QxKQotKwkubG9u ZwkwCSMgTG9jYXRpb24gbGlzdCB0ZXJtaW5hdG9yIGVuZCAoKi5MTFNUMSkKLSsJLnNlY3Rpb24J LmRlYnVnX2FyYW5nZXMsIiIsQHByb2diaXRzCi0rCS5sb25nCTB4MWMJIyBMZW5ndGggb2YgQWRk cmVzcyBSYW5nZXMgSW5mbwotKwkudmFsdWUJMHgyCSMgRFdBUkYgVmVyc2lvbgotKwkubG9uZwku TGRlYnVnX2luZm8wCSMgT2Zmc2V0IG9mIENvbXBpbGF0aW9uIFVuaXQgSW5mbwotKwkuYnl0ZQkw eDQJIyBTaXplIG9mIEFkZHJlc3MKLSsJLmJ5dGUJMAkjIFNpemUgb2YgU2VnbWVudCBEZXNjcmlw dG9yCi0rCS52YWx1ZQkwCSMgUGFkIHRvIDggYnl0ZSBib3VuZGFyeQotKwkudmFsdWUJMAotKwku bG9uZwkuTHRleHQwCSMgQWRkcmVzcwotKwkubG9uZwkuTGV0ZXh0MC0uTHRleHQwCSMgTGVuZ3Ro Ci0rCS5sb25nCTAKLSsJLmxvbmcJMAotKwkuc2VjdGlvbgkuZGVidWdfbGluZSwiIixAcHJvZ2Jp dHMKLSsuTGRlYnVnX2xpbmUwOgotKwkuc2VjdGlvbgkuZGVidWdfc3RyLCJNUyIsQHByb2diaXRz LDEKLSsuTEFTRjQ6Ci0rCS5zdHJpbmcJImNoYXJhY3RlcihraW5kPTEpIgotKy5MQVNGNToKLSsJ LnN0cmluZwkiR05VIEZvcnRyYW4gNC44LjAgMjAxMjEwMTUgKGV4cGVyaW1lbnRhbCkgLWZmaXhl ZC1mb3JtIC1tMzIgLW10dW5lPWdlbmVyaWMgLW1hcmNoPXg4Ni02NCAtZyAtZ2R3YXJmLTIgLWZp bnRyaW5zaWMtbW9kdWxlcy1wYXRoIC4uLi9nY2NoZWFkLXJvb3QvbGliL2djYy94ODZfNjQtdW5r bm93bi1saW51eC1nbnUvNC44LjAvZmluY2x1ZGUiCi0rLkxBU0Y3OgotKwkuc3RyaW5nCSIiCi0r LkxBU0YwOgotKyNpZiAwCi0rCS5zdHJpbmcJImludGVnZXIoa2luZD00KSIKLSsjZWxzZQotKwku c3RyaW5nCSJpbnRlZ2VyKGtpbmQ9OCkiCi0rI2VuZGlmCi0rLkxBU0Y5OgotKwkuc3RyaW5nCSJt YWluIgotKy5MQVNGODoKLSsJLnN0cmluZwkiTUFJTl9fIgotKy5MQVNGNjoKLSsJLnN0cmluZwki Z2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmYiCi0rLkxBU0YyOgotKwkuc3RyaW5nCSJhcmdjIgot Ky5MQVNGMToKLSsJLnN0cmluZwkicmVhbChraW5kPTQpIgotKy5MQVNGMzoKLSsJLnN0cmluZwki YXJndiIKLSsJLmlkZW50CSJHQ0M6IChHTlUpIDQuOC4wIDIwMTIxMDE1IChleHBlcmltZW50YWwp IgotKwkuc2VjdGlvbgkubm90ZS5HTlUtc3RhY2ssIiIsQHByb2diaXRzCi1kaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhwIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhwCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotLS0t IC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMu ZXhwCi1AQCAtMCwwICsxLDQzIEBACi0rIyBDb3B5cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KLSsKLSsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyMgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z ZSwgb3IKLSsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rIwotKyMgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCi0rIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dy YW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rCi0rIyBU aGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgZ2RiIHRlc3RzdWl0ZS4gIEl0IGNvbnRhaW5zIHRlc3Qg dG8gZW5zdXJlIHRoYXQKLSsjIGFycmF5IGJvdW5kcyBhY2NlcHQgTE9OR0VTVC4KLSsKLStpZiB7 IFtza2lwX2ZvcnRyYW5fdGVzdHNdIH0geyByZXR1cm4gLTEgfQotKwotK3NldCB0ZXN0ZmlsZSAi YXJyYXktYm91bmRzIgotKwotK2lmIHsgW2lzX2lscDMyX3RhcmdldF0gJiYgKFtpc3RhcmdldCAi aVxbMzQ1NjdcXTg2LSotbGludXgqIl0KLSsJCQkgICB8fCBbaXN0YXJnZXQgIng4Nl82NC0qLWxp bnV4KiJdKSB9IHsKLSsgICAgc2V0IHNyY2ZpbGUgJHt0ZXN0ZmlsZX0uUwotKyAgICBzZXQgb3B0 cyB7bm9kZWJ1ZyBmOTB9Ci0rfSBlbHNlIHsKLSsgICAgc2V0IHNyY2ZpbGUgJHt0ZXN0ZmlsZX0u ZgotKyAgICBzZXQgb3B0cyB7ZGVidWcgZjkwfQotK30KLSsKLStpZiB7W3ByZXBhcmVfZm9yX3Rl c3RpbmcgJHRlc3RmaWxlLmV4cCAkdGVzdGZpbGUgJHNyY2ZpbGUgJG9wdHNdfSB7Ci0rICAgIHBy aW50ICJjb21waWxlIGZhaWxlZCIKLSsgICAgcmV0dXJuIC0xCi0rfQotKwotK2lmIHsgIVtydW50 byBNQUlOX19dIH0gewotKyAgICBwZXJyb3IgIkNvdWxkIG5vdCBydW4gdG8gYnJlYWtwb2ludCBg TUFJTl9fJy4iCi0rICAgIGNvbnRpbnVlCi0rfQotKwotK2dkYl90ZXN0ICJwcmludCAmZm9vIiB7 LipcKDQyOTQ5NjcyOTY6NDI5NDk2NzI5N1wpLip9Ci0rZ2RiX3Rlc3QgInByaW50ICZiYXIiIHsu KlwoLTQyOTQ5NjcyOTc6LTQyOTQ5NjcyOTZcKS4qfQotZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmYgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2FycmF5LWJvdW5kcy5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotLS0tIC9kZXYvbnVsbAotKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZgotQEAgLTAsMCArMSwy MiBAQAotK2MgQ29weXJpZ2h0IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0r Ci0rYyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQotK2MgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLStjIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rYyAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotK2MKLStjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotK2MgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLStj IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKLStjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0r YwotK2MgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKLStjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwotKyAgICAgICAgZGltZW5zaW9uIGZv byg0Mjk0OTY3Mjk2Xzg6NDI5NDk2NzI5N184KQotKyAgICAgICAgZGltZW5zaW9uIGJhcigtNDI5 NDk2NzI5N184Oi00Mjk0OTY3Mjk2XzgpCi0rICAgICAgICBiYXIgPSA0MgotKyAgICAgICAgZm9v PWJhcgotKyAgICAgICAgc3RvcAotKyAgICAgICAgZW5kCi0rCgpkaWZmIC0tZ2l0IGEvZ2RiLXJo Yno3OTU0MjQtYml0cG9zLTI1b2YyNS5wYXRjaCBiL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9m MjUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczZjA1N2EuLjAwMDAwMDAK LS0tIGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTI1b2YyNS5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDE0MCArMCwwIEBACi1Gcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6 IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6Nzk1NDI0 LWJpdHBvcy0yNW9mMjUucGF0Y2gKLQotOzsgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3Qg bWVtYmVyIHdob3NlIG9mZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKLTs7IChSSCBCWiA3OTU0 MjQpLgotOzs9cHVzaAotCi1odHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAx Mi0wOC9tc2cwMDU2Mi5odG1sCi0KLS0tTVBfLzkwSjdiY2syZnFEeVNFWDlKa1p0YXFMCi1Db250 ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVMtQVNDSUkKLUNvbnRlbnQtVHJhbnNmZXIt RW5jb2Rpbmc6IDdiaXQKLUNvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZQotCi1IaSwKLQotUmFu Z2UgYm91bmRzIGZvciBhIGdkYiB0eXBlIGNhbiBoYXZlIExPTkdFU1QgdmFsdWVzIGZvciBsb3cg YW5kIGhpZ2gKLWJvdW5kcy4gRm9ydHJhbiByYW5nZSBib3VuZHMgZnVuY3Rpb25zIGhvd2V2ZXIg dXNlIG9ubHkgaW50LiBUaGUgbGFyZ2VyCi1yYW5nZXMgZG9uJ3QgY29tcGlsZSBieSBkZWZhdWx0 IG9uIGdjYywgYnV0IGl0IGlzIHBvc3NpYmxlIHRvIG92ZXJyaWRlCi10aGUgY2hlY2sgaW4gdGhl IGNvbXBpbGVyIGJ5IHVzaW5nIC1mbm8tcmFuZ2UtY2hlY2suIEFzIGEgcmVzdWx0LCB0aGlzCi1j aGVjayBpcyBuZWNlc3Nhcnkgc28gdGhhdCB3ZSBkb24ndCBwcmludCBqdW5rIGluIGNhc2Ugb2Yg YW4gb3ZlcmZsb3cuCi0KLUF0dGFjaGVkIHBhdGNoIGRvZXMgdGhpcyBleHBhbnNpb24gYW5kIGFs c28gaW5jbHVkZXMgYSB0ZXN0IGNhc2UgdGhhdAotdmVyaWZpZXMgdGhhdCB0aGUgcHJvYmxlbSBp cyBmaXhlZC4gSSBoYXZlIGFsc28gdmVyaWZpZWQgb24geDg2XzY0IHRoYXQKLXRoaXMgcGF0Y2gg ZG9lcyBub3QgY2F1c2UgYW55IHJlZ3Jlc3Npb25zLgotCi1SZWdhcmRzLAotU2lkZGhlc2gKLQot Z2RiL0NoYW5nZUxvZzoKLQotCSogZi1sYW5nLmggKGY3N19nZXRfdXBwZXJib3VuZCk6IFJldHVy biBMT05HRVNULgotCShmNzdfZ2V0X2xvd2VyYm91bmQpOiBMaWtld2lzZS4KLQkqIGYtdHlwZXBy aW50LmMgKGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCk6IEV4cGFuZAotCVVQUEVSX0JPVU5E IGFuZCBMT1dFUl9CT1VORCB0byBMT05HRVNULiAgVXNlIHBsb25nZXN0IHRvIGZvcm1hdAotCXBy aW50IHRoZW0uCi0JKGZfdHlwZV9wcmludF9iYXNlKTogRXhwYW5kIFVQUEVSX0JPVU5EIHRvIExP TkdFU1QuICBVc2UKLQlwbG9uZ2VzdCB0byBmb3JtYXQgcHJpbnQgaXQuCi0JKiBmLXZhbHByaW50 LmMgKGY3N19nZXRfbG93ZXJib3VuZCk6IFJldHVybiBMT05HRVNULgotCShmNzdfZ2V0X3VwcGVy Ym91bmQpOiBMaWtld2lzZS4KLQkoZjc3X2dldF9keW5hbWljX2xlbmd0aF9vZl9hZ2dyZWdhdGUp OiBFeHBhbmQgVVBQRVJfQk9VTkQsCi0JTE9XRVJfQk9VTkQgdG8gTE9OR0VTVC4KLQkoZjc3X2Ny ZWF0ZV9hcnJheXByaW50X29mZnNldF90YmwpOiBMaWtld2lzZS4KLQotdGVzdHN1aXRlL0NoYW5n ZUxvZzoKLQotCSogZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmV4cDogTmV3IHRlc3QgY2FzZS4K LQkqIGdkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5mOiBOZXcgdGVzdCBjYXNlLgotCi0tLU1QXy85 MEo3YmNrMmZxRHlTRVg5SmtadGFxTAotQ29udGVudC1UeXBlOiB0ZXh0L3gtcGF0Y2gKLUNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKLUNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1l bnQ7IGZpbGVuYW1lPWY3Ny1ib3VuZHMucGF0Y2gKLQotZGlmZiAtLWdpdCBhL2dkYi9mLWxhbmcu aCBiL2dkYi9mLWxhbmcuaAotLS0tIGEvZ2RiL2YtbGFuZy5oCi0rKysgYi9nZGIvZi1sYW5nLmgK LUBAIC01MCw5ICs1MCw5IEBAIHN0cnVjdCBjb21tb25fYmxvY2sKLSAgIHN0cnVjdCBzeW1ib2wg KmNvbnRlbnRzWzFdOwotIH07Ci0gCi0tZXh0ZXJuIGludCBmNzdfZ2V0X3VwcGVyYm91bmQgKHN0 cnVjdCB0eXBlICopOwotK2V4dGVybiBMT05HRVNUIGY3N19nZXRfdXBwZXJib3VuZCAoc3RydWN0 IHR5cGUgKik7Ci0gCi0tZXh0ZXJuIGludCBmNzdfZ2V0X2xvd2VyYm91bmQgKHN0cnVjdCB0eXBl ICopOwotK2V4dGVybiBMT05HRVNUIGY3N19nZXRfbG93ZXJib3VuZCAoc3RydWN0IHR5cGUgKik7 Ci0gCi0gZXh0ZXJuIHZvaWQgZjc3X2dldF9keW5hbWljX2FycmF5X2xlbmd0aCAoc3RydWN0IHR5 cGUgKik7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2RiL2YtdHlwZXByaW50LmMgYi9nZGIvZi10eXBlcHJp bnQuYwotLS0tIGEvZ2RiL2YtdHlwZXByaW50LmMKLSsrKyBiL2dkYi9mLXR5cGVwcmludC5jCi1A QCAtMTQ5LDcgKzE0OSw3IEBAIGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCAoc3RydWN0IHR5 cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCi0gCQkJICAgICBpbnQgc2hvdywgaW50 IHBhc3NlZF9hX3B0ciwgaW50IGRlbWFuZ2xlZF9hcmdzLAotIAkJCSAgICAgaW50IGFycmF5cHJp bnRfcmVjdXJzZV9sZXZlbCwgaW50IHByaW50X3Jhbmtfb25seSkKLSB7Ci0tICBpbnQgdXBwZXJf Ym91bmQsIGxvd2VyX2JvdW5kOwotKyAgTE9OR0VTVCB1cHBlcl9ib3VuZCwgbG93ZXJfYm91bmQ7 Ci0gCi0gICAvKiBObyBzdGF0aWMgdmFyaWFibGVzIGFyZSBwZXJtaXR0ZWQgYXMgYW4gZXJyb3Ig Y2FsbCBtYXkgb2NjdXIgZHVyaW5nCi0gICAgICBleGVjdXRpb24gb2YgdGhpcyBmdW5jdGlvbi4g ICovCi1AQCAtMTk2LDcgKzE5Niw3IEBAIGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCAoc3Ry dWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCi0gCXsKLSAJICBsb3dlcl9i b3VuZCA9IGY3N19nZXRfbG93ZXJib3VuZCAodHlwZSk7Ci0gCSAgaWYgKGxvd2VyX2JvdW5kICE9 IDEpCS8qIE5vdCB0aGUgZGVmYXVsdC4gICovCi0tCSAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJl YW0sICIlZDoiLCBsb3dlcl9ib3VuZCk7Ci0rCSAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0s ICIlczoiLCBwbG9uZ2VzdCAobG93ZXJfYm91bmQpKTsKLSAKLSAJICAvKiBNYWtlIHN1cmUgdGhh dCwgaWYgd2UgaGF2ZSBhbiBhc3N1bWVkIHNpemUgYXJyYXksIHdlCi0gCSAgICAgICBwcmludCBv dXQgYSB3YXJuaW5nIGFuZCBwcmludCB0aGUgdXBwZXJib3VuZCBhcyAnKicuICAqLwotQEAgLTIw Niw3ICsyMDYsNyBAQCBmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBlICp0 eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAotIAkgIGVsc2UKLSAJICAgIHsKLSAJICAgICAg dXBwZXJfYm91bmQgPSBmNzdfZ2V0X3VwcGVyYm91bmQgKHR5cGUpOwotLQkgICAgICBmcHJpbnRm X2ZpbHRlcmVkIChzdHJlYW0sICIlZCIsIHVwcGVyX2JvdW5kKTsKLSsJICAgICAgZnByaW50Zl9m aWx0ZXJlZCAoc3RyZWFtLCAiJXMiLCBwbG9uZ2VzdCAodXBwZXJfYm91bmQpKTsKLSAJICAgIH0K LSAJfQotIAotQEAgLTI3OCw3ICsyNzgsNyBAQCB2b2lkCi0gZl90eXBlX3ByaW50X2Jhc2UgKHN0 cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgc2hvdywKLSAJCSAg IGludCBsZXZlbCkKLSB7Ci0tICBpbnQgdXBwZXJfYm91bmQ7Ci0rICBMT05HRVNUIHVwcGVyX2Jv dW5kOwotICAgaW50IGluZGV4OwotIAotICAgUVVJVDsKLUBAIC0zNzAsNyArMzcwLDcgQEAgZl90 eXBlX3ByaW50X2Jhc2UgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt LCBpbnQgc2hvdywKLSAgICAgICBlbHNlCi0gCXsKLSAJICB1cHBlcl9ib3VuZCA9IGY3N19nZXRf dXBwZXJib3VuZCAodHlwZSk7Ci0tCSAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiY2hhcmFj dGVyKiVkIiwgdXBwZXJfYm91bmQpOwotKwkgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgImNo YXJhY3RlciolcyIsIHBsb25nZXN0ICh1cHBlcl9ib3VuZCkpOwotIAl9Ci0gICAgICAgYnJlYWs7 Ci0gCi1kaWZmIC0tZ2l0IGEvZ2RiL2YtdmFscHJpbnQuYyBiL2dkYi9mLXZhbHByaW50LmMKLS0t LSBhL2dkYi9mLXZhbHByaW50LmMKLSsrKyBiL2dkYi9mLXZhbHByaW50LmMKLUBAIC00MSw3ICs0 MSw3IEBAIExPTkdFU1QgZjc3X2FycmF5X29mZnNldF90YmxbTUFYX0ZPUlRSQU5fRElNUyArIDFd WzJdOwotIC8qIEFycmF5IHdoaWNoIGhvbGRzIG9mZnNldHMgdG8gYmUgYXBwbGllZCB0byBnZXQg YSByb3cncyBlbGVtZW50cwotICAgIGZvciBhIGdpdmVuIGFycmF5LiAgQXJyYXkgYWxzbyBob2xk cyB0aGUgc2l6ZSBvZiBlYWNoIHN1YmFycmF5LiAgKi8KLSAKLS1pbnQKLStMT05HRVNUCi0gZjc3 X2dldF9sb3dlcmJvdW5kIChzdHJ1Y3QgdHlwZSAqdHlwZSkKLSB7Ci0gICBpZiAoVFlQRV9BUlJB WV9MT1dFUl9CT1VORF9JU19VTkRFRklORUQgKHR5cGUpKQotQEAgLTUwLDcgKzUwLDcgQEAgZjc3 X2dldF9sb3dlcmJvdW5kIChzdHJ1Y3QgdHlwZSAqdHlwZSkKLSAgIHJldHVybiBUWVBFX0FSUkFZ X0xPV0VSX0JPVU5EX1ZBTFVFICh0eXBlKTsKLSB9Ci0gCi0taW50Ci0rTE9OR0VTVAotIGY3N19n ZXRfdXBwZXJib3VuZCAoc3RydWN0IHR5cGUgKnR5cGUpCi0gewotICAgaWYgKFRZUEVfQVJSQVlf VVBQRVJfQk9VTkRfSVNfVU5ERUZJTkVEICh0eXBlKSkKCmRpZmYgLS1naXQgYS9nZGItcmhiejc5 NTQyNC1iaXRwb3MtYXJyYXl2aWV3LnBhdGNoIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9zLWFycmF5 dmlldy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDUyOTc2NS4uMDAwMDAw MAotLS0gYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtYXJyYXl2aWV3LnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsNjAgKzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IFNlcmdpbyBEdXJpZ2FuIEp1bmlvciA8c2VyZ2lvZGpAcmVkaGF0LmNv bT4KLURhdGU6IFdlZCwgMTIgU2VwIDIwMTggMDA6MDI6MTcgLTA0MDAKLVN1YmplY3Q6IGdkYi1y aGJ6Nzk1NDI0LWJpdHBvcy1hcnJheXZpZXcucGF0Y2gKLQotOzsgVGhpcyBwYXRjaCBpcyBuZWVk ZWQgdG8gY29tcGlsZSBHREIgYWZ0ZXIgLVdlcnJvcj1uYXJyb3dpbmcgaGFzCi07OyBiZWVuIGVu YWJsZWQgYnkgZGVmYXVsdC4KLTs7IEF1dGhvcjogU2VyZ2lvIER1cmlnYW4gSnVuaW9yLgotCi1k aWZmIC0tZ2l0IGEvZ2RiL2NvbW1vbi9hcnJheS12aWV3LmggYi9nZGIvY29tbW9uL2FycmF5LXZp ZXcuaAotLS0tIGEvZ2RiL2NvbW1vbi9hcnJheS12aWV3LmgKLSsrKyBiL2dkYi9jb21tb24vYXJy YXktdmlldy5oCi1AQCAtODUsNyArODUsNyBAQCBwdWJsaWM6Ci0gICB1c2luZyB2YWx1ZV90eXBl ID0gVDsKLSAgIHVzaW5nIHJlZmVyZW5jZSA9IFQgJjsKLSAgIHVzaW5nIGNvbnN0X3JlZmVyZW5j ZSA9IGNvbnN0IFQgJjsKLS0gIHVzaW5nIHNpemVfdHlwZSA9IHNpemVfdDsKLSsgIHVzaW5nIHNp emVfdHlwZSA9IFVMT05HRVNUOwotIAotICAgLyogRGVmYXVsdCBjb25zdHJ1Y3Rpb24gY3JlYXRl cyBhbiBlbXB0eSB2aWV3LiAgKi8KLSAgIGNvbnN0ZXhwciBhcnJheV92aWV3ICgpIG5vZXhjZXB0 Ci1AQCAtMTE0LDcgKzExNCw3IEBAIHB1YmxpYzoKLSAgICAgIGNvdW50LiAgKi8KLSAgIHRlbXBs YXRlPHR5cGVuYW1lIFUsCi0gCSAgIHR5cGVuYW1lID0gUmVxdWlyZXM8RGVjYXllZENvbnZlcnRp YmxlPFU+Pj4KLS0gIGNvbnN0ZXhwciBhcnJheV92aWV3IChVICphcnJheSwgc2l6ZV90IHNpemUp IG5vZXhjZXB0Ci0rICBjb25zdGV4cHIgYXJyYXlfdmlldyAoVSAqYXJyYXksIFVMT05HRVNUIHNp emUpIG5vZXhjZXB0Ci0gICAgIDogbV9hcnJheSAoYXJyYXkpLCBtX3NpemUgKHNpemUpCi0gICB7 fQotIAotQEAgLTEyOCw3ICsxMjgsNyBAQCBwdWJsaWM6Ci0gICB7fQotIAotICAgLyogQ3JlYXRl IGFuIGFycmF5IHZpZXcgZnJvbSBhbiBhcnJheS4gICovCi0tICB0ZW1wbGF0ZTx0eXBlbmFtZSBV LCBzaXplX3QgU2l6ZSwKLSsgIHRlbXBsYXRlPHR5cGVuYW1lIFUsIFVMT05HRVNUIFNpemUsCi0g CSAgIHR5cGVuYW1lID0gUmVxdWlyZXM8RGVjYXllZENvbnZlcnRpYmxlPFU+Pj4KLSAgIGNvbnN0 ZXhwciBhcnJheV92aWV3IChVICgmYXJyYXkpW1NpemVdKSBub2V4Y2VwdAotICAgICA6IG1fYXJy YXkgKGFycmF5KSwgbV9zaXplIChTaXplKQotQEAgLTE2MSw5ICsxNjEsOSBAQCBwdWJsaWM6Ci0g ICAvKmNvbnN0ZXhwcjE0Ki8gVCAqZW5kICgpIG5vZXhjZXB0IHsgcmV0dXJuIG1fYXJyYXkgKyBt X3NpemU7IH0KLSAgIGNvbnN0ZXhwciBjb25zdCBUICplbmQgKCkgY29uc3Qgbm9leGNlcHQgeyBy ZXR1cm4gbV9hcnJheSArIG1fc2l6ZTsgfQotIAotLSAgLypjb25zdGV4cHIxNCovIHJlZmVyZW5j ZSBvcGVyYXRvcltdIChzaXplX3QgaW5kZXgpIG5vZXhjZXB0Ci0rICAvKmNvbnN0ZXhwcjE0Ki8g cmVmZXJlbmNlIG9wZXJhdG9yW10gKFVMT05HRVNUIGluZGV4KSBub2V4Y2VwdAotICAgeyByZXR1 cm4gbV9hcnJheVtpbmRleF07IH0KLS0gIGNvbnN0ZXhwciBjb25zdF9yZWZlcmVuY2Ugb3BlcmF0 b3JbXSAoc2l6ZV90IGluZGV4KSBjb25zdCBub2V4Y2VwdAotKyAgY29uc3RleHByIGNvbnN0X3Jl ZmVyZW5jZSBvcGVyYXRvcltdIChVTE9OR0VTVCBpbmRleCkgY29uc3Qgbm9leGNlcHQKLSAgIHsg cmV0dXJuIG1fYXJyYXlbaW5kZXhdOyB9Ci0gCi0gICBjb25zdGV4cHIgc2l6ZV90eXBlIHNpemUg KCkgY29uc3Qgbm9leGNlcHQgeyByZXR1cm4gbV9zaXplOyB9Ci1AQCAtMTk2LDcgKzE5Niw3IEBA IG9wZXJhdG9yPT0gKGNvbnN0IGdkYjo6YXJyYXlfdmlldzxUPiAmbGhzLCBjb25zdCBnZGI6OmFy cmF5X3ZpZXc8VD4gJnJocykKLSAgIGlmIChsaHMuc2l6ZSAoKSAhPSByaHMuc2l6ZSAoKSkKLSAg ICAgcmV0dXJuIGZhbHNlOwotIAotLSAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaHMuc2l6ZSAo KTsgaSsrKQotKyAgZm9yIChVTE9OR0VTVCBpID0gMDsgaSA8IGxocy5zaXplICgpOyBpKyspCi0g ICAgIGlmICghKGxoc1tpXSA9PSByaHNbaV0pKQotICAgICAgIHJldHVybiBmYWxzZTsKLSAKCmRp ZmYgLS1naXQgYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtbGF6eXZhbHVlLnBhdGNoIGIvZ2RiLXJo Yno3OTU0MjQtYml0cG9zLWxhenl2YWx1ZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMGY1YzJlOC4uMDAwMDAwMAotLS0gYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtbGF6eXZh bHVlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMyICswLDAgQEAKLUZyb20gRkVET1JBX1BB VENIRVMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMg PGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIw MAotU3ViamVjdDogZ2RiLXJoYno3OTU0MjQtYml0cG9zLWxhenl2YWx1ZS5wYXRjaAotCi07OyBG aXggYEdEQiBjYW5ub3QgYWNjZXNzIHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdl ciB0aGFuIDI1Nk1CJwotOzsgKFJIIEJaIDc5NTQyNCkuCi07Oz1wdXNoCi0KLWRpZmYgLS1naXQg YS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuUyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5TCi1uZXcgZmlsZSBtb2RlIDEwMDY0 NAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sb25nZXN0LXR5 cGVzLTY0Yml0LlMKLUBAIC0wLDAgKzEsMjQ5IEBACi0rLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0 IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KLSsKLSsgICBDb3B5cmlnaHQgMjAxMiBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyAgIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsgICBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4gICovCi0rCi0rCS5maWxlCSJsb25nZXN0LXR5cGVzLTY0Yml0LmMiCi0rCS50ZXh0 Ci0rLkx0ZXh0MDoKLSsJLmdsb2JsIG1haW4KLSttYWluOgotKwkuY29tbQlmLDgsOAotKy5MZXRl eHQwOgotKwkuZmlsZSAxICJnZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmMiCi0rCS5zZWN0 aW9uCS5kZWJ1Z19pbmZvLCIiLEBwcm9nYml0cwotKy5MZGVidWdfaW5mbzA6Ci0rCS40Ynl0ZQkw eDlhCS8qIExlbmd0aCBvZiBDb21waWxhdGlvbiBVbml0IEluZm8gKi8KLSsJLjJieXRlCTB4Mgkv KiBEV0FSRiB2ZXJzaW9uIG51bWJlciAqLwotKwkuNGJ5dGUJLkxkZWJ1Z19hYmJyZXYwCS8qIE9m ZnNldCBJbnRvIEFiYnJldi4gU2VjdGlvbiAqLwotKwkuYnl0ZQkweDgJLyogUG9pbnRlciBTaXpl IChpbiBieXRlcykgKi8KLSsJLnVsZWIxMjggMHgxCS8qIChESUUgKDB4YikgRFdfVEFHX2NvbXBp bGVfdW5pdCkgKi8KLSsJLjRieXRlCS5MQVNGMwkvKiBEV19BVF9wcm9kdWNlcjogIkdOVSBDIDQu Ny4zIDIwMTIxMTA5IChwcmVyZWxlYXNlKSIgKi8KLSsJLmJ5dGUJMHgxCS8qIERXX0FUX2xhbmd1 YWdlICovCi0rCS40Ynl0ZQkuTEFTRjQJLyogRFdfQVRfbmFtZTogImdkYi5iYXNlL2xvbmdlc3Qt dHlwZXMtNjRiaXQuYyIgKi8KLSsJLjRieXRlCS5MQVNGNQkvKiBEV19BVF9jb21wX2RpcjogIiIg Ki8KLSsJLjRieXRlCS5MZGVidWdfbGluZTAJLyogRFdfQVRfc3RtdF9saXN0ICovCi0rCS51bGVi MTI4IDB4MgkvKiAoRElFICgweDFkKSBEV19UQUdfc3RydWN0dXJlX3R5cGUpICovCi0rCS5hc2Np aSAiZm9vXDAiCS8qIERXX0FUX25hbWUgKi8KLSsJLjRieXRlCTB4ZmYwMDAwMDIJLyogRFdfQVRf Ynl0ZV9zaXplICovCi0rCS5ieXRlCTB4MQkvKiBEV19BVF9kZWNsX2ZpbGUgKGdkYi5iYXNlL2xv bmdlc3QtdHlwZXMtNjRiaXQuYykgKi8KLSsJLmJ5dGUJMHgxMgkvKiBEV19BVF9kZWNsX2xpbmUg Ki8KLSsJLjRieXRlCTB4NGUJLyogRFdfQVRfc2libGluZyAqLwotKwkudWxlYjEyOCAweDMJLyog KERJRSAoMHgyYykgRFdfVEFHX21lbWJlcikgKi8KLSsJLmFzY2lpICJidWZcMCIJLyogRFdfQVRf bmFtZSAqLwotKwkuYnl0ZQkweDEJLyogRFdfQVRfZGVjbF9maWxlIChnZGIuYmFzZS9sb25nZXN0 LXR5cGVzLTY0Yml0LmMpICovCi0rCS5ieXRlCTB4MTQJLyogRFdfQVRfZGVjbF9saW5lICovCi0r CS40Ynl0ZQkweDRlCS8qIERXX0FUX3R5cGUgKi8KLSsJLmJ5dGUJMHgyCS8qIERXX0FUX2RhdGFf bWVtYmVyX2xvY2F0aW9uICovCi0rCS5ieXRlCTB4MjMJLyogRFdfT1BfcGx1c191Y29uc3QgKi8K LSsJLnVsZWIxMjggMAotKwkudWxlYjEyOCAweDQJLyogKERJRSAoMHgzYSkgRFdfVEFHX21lbWJl cikgKi8KLSsJLjRieXRlCS5MQVNGMAkvKiBEV19BVF9uYW1lOiAiYnVmMiIgKi8KLSsJLmJ5dGUJ MHgxCS8qIERXX0FUX2RlY2xfZmlsZSAoZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5jKSAq LwotKwkuYnl0ZQkweDE1CS8qIERXX0FUX2RlY2xfbGluZSAqLwotKwkuNGJ5dGUJMHg3MwkvKiBE V19BVF90eXBlICovCi0rCS5ieXRlCTB4NwkvKiBEV19BVF9kYXRhX21lbWJlcl9sb2NhdGlvbiAq LwotKwkuYnl0ZQkweDIzCS8qIERXX09QX3BsdXNfdWNvbnN0ICovCi0rCS51bGViMTI4IDB4ZmZm ZjAwMDAwMAotKwkuYnl0ZQkwCS8qIGVuZCBvZiBjaGlsZHJlbiBvZiBESUUgMHgxZCAqLwotKwku dWxlYjEyOCAweDUJLyogKERJRSAoMHg0ZSkgRFdfVEFHX2FycmF5X3R5cGUpICovCi0rCS40Ynl0 ZQkweDZjCS8qIERXX0FUX3R5cGUgKi8KLSsJLjRieXRlCTB4NjUJLyogRFdfQVRfc2libGluZyAq LwotKwkudWxlYjEyOCAweDYJLyogKERJRSAoMHg1NykgRFdfVEFHX3N1YnJhbmdlX3R5cGUpICov Ci0rCS40Ynl0ZQkweDY1CS8qIERXX0FUX3R5cGUgKi8KLSsJLnF1YWQJMHhmZmZlZmZmZmZmCS8q IERXX0FUX3VwcGVyX2JvdW5kICovCi0rCS5ieXRlCTAJLyogZW5kIG9mIGNoaWxkcmVuIG9mIERJ RSAweDRlICovCi0rCS51bGViMTI4IDB4NwkvKiAoRElFICgweDY1KSBEV19UQUdfYmFzZV90eXBl KSAqLwotKwkuYnl0ZQkweDgJLyogRFdfQVRfYnl0ZV9zaXplICovCi0rCS5ieXRlCTB4NwkvKiBE V19BVF9lbmNvZGluZyAqLwotKwkuNGJ5dGUJLkxBU0YxCS8qIERXX0FUX25hbWU6ICJzaXpldHlw ZSIgKi8KLSsJLnVsZWIxMjggMHg3CS8qIChESUUgKDB4NmMpIERXX1RBR19iYXNlX3R5cGUpICov Ci0rCS5ieXRlCTB4MQkvKiBEV19BVF9ieXRlX3NpemUgKi8KLSsJLmJ5dGUJMHg2CS8qIERXX0FU X2VuY29kaW5nICovCi0rCS40Ynl0ZQkuTEFTRjIJLyogRFdfQVRfbmFtZTogImNoYXIiICovCi0r CS51bGViMTI4IDB4NQkvKiAoRElFICgweDczKSBEV19UQUdfYXJyYXlfdHlwZSkgKi8KLSsJLjRi eXRlCTB4NmMJLyogRFdfQVRfdHlwZSAqLwotKwkuNGJ5dGUJMHg4MwkvKiBEV19BVF9zaWJsaW5n ICovCi0rCS51bGViMTI4IDB4OAkvKiAoRElFICgweDdjKSBEV19UQUdfc3VicmFuZ2VfdHlwZSkg Ki8KLSsJLjRieXRlCTB4NjUJLyogRFdfQVRfdHlwZSAqLwotKwkuYnl0ZQkweDEJLyogRFdfQVRf dXBwZXJfYm91bmQgKi8KLSsJLmJ5dGUJMAkvKiBlbmQgb2YgY2hpbGRyZW4gb2YgRElFIDB4NzMg Ki8KLSsJLnVsZWIxMjggMHg5CS8qIChESUUgKDB4ODMpIERXX1RBR192YXJpYWJsZSkgKi8KLSsJ LmFzY2lpICJmXDAiCS8qIERXX0FUX25hbWUgKi8KLSsJLmJ5dGUJMHgxCS8qIERXX0FUX2RlY2xf ZmlsZSAoZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5jKSAqLwotKwkuYnl0ZQkweDE2CS8q IERXX0FUX2RlY2xfbGluZSAqLwotKwkuNGJ5dGUJMHg5NwkvKiBEV19BVF90eXBlICovCi0rCS5i eXRlCTB4MQkvKiBEV19BVF9leHRlcm5hbCAqLwotKwkuYnl0ZQkweDkJLyogRFdfQVRfbG9jYXRp b24gKi8KLSsJLmJ5dGUJMHgzCS8qIERXX09QX2FkZHIgKi8KLSsJLnF1YWQJZgotKwkudWxlYjEy OCAweGEJLyogKERJRSAoMHg5NykgRFdfVEFHX3BvaW50ZXJfdHlwZSkgKi8KLSsJLmJ5dGUJMHg4 CS8qIERXX0FUX2J5dGVfc2l6ZSAqLwotKwkuNGJ5dGUJMHgxZAkvKiBEV19BVF90eXBlICovCi0r CS5ieXRlCTAJLyogZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweGIgKi8KLSsJLnNlY3Rpb24JLmRl YnVnX2FiYnJldiwiIixAcHJvZ2JpdHMKLSsuTGRlYnVnX2FiYnJldjA6Ci0rCS51bGViMTI4IDB4 MQkvKiAoYWJicmV2IGNvZGUpICovCi0rCS51bGViMTI4IDB4MTEJLyogKFRBRzogRFdfVEFHX2Nv bXBpbGVfdW5pdCkgKi8KLSsJLmJ5dGUJMHgxCS8qIERXX2NoaWxkcmVuX3llcyAqLwotKwkudWxl YjEyOCAweDI1CS8qIChEV19BVF9wcm9kdWNlcikgKi8KLSsJLnVsZWIxMjggMHhlCS8qIChEV19G T1JNX3N0cnApICovCi0rCS51bGViMTI4IDB4MTMJLyogKERXX0FUX2xhbmd1YWdlKSAqLwotKwku dWxlYjEyOCAweGIJLyogKERXX0ZPUk1fZGF0YTEpICovCi0rCS51bGViMTI4IDB4MwkvKiAoRFdf QVRfbmFtZSkgKi8KLSsJLnVsZWIxMjggMHhlCS8qIChEV19GT1JNX3N0cnApICovCi0rCS51bGVi MTI4IDB4MWIJLyogKERXX0FUX2NvbXBfZGlyKSAqLwotKwkudWxlYjEyOCAweGUJLyogKERXX0ZP Uk1fc3RycCkgKi8KLSsJLnVsZWIxMjggMHgxMAkvKiAoRFdfQVRfc3RtdF9saXN0KSAqLwotKwku dWxlYjEyOCAweDYJLyogKERXX0ZPUk1fZGF0YTQpICovCi0rCS5ieXRlCTAKLSsJLmJ5dGUJMAot KwkudWxlYjEyOCAweDIJLyogKGFiYnJldiBjb2RlKSAqLwotKwkudWxlYjEyOCAweDEzCS8qIChU QUc6IERXX1RBR19zdHJ1Y3R1cmVfdHlwZSkgKi8KLSsJLmJ5dGUJMHgxCS8qIERXX2NoaWxkcmVu X3llcyAqLwotKwkudWxlYjEyOCAweDMJLyogKERXX0FUX25hbWUpICovCi0rCS51bGViMTI4IDB4 OAkvKiAoRFdfRk9STV9zdHJpbmcpICovCi0rCS51bGViMTI4IDB4YgkvKiAoRFdfQVRfYnl0ZV9z aXplKSAqLwotKwkudWxlYjEyOCAweDYJLyogKERXX0ZPUk1fZGF0YTQpICovCi0rCS51bGViMTI4 IDB4M2EJLyogKERXX0FUX2RlY2xfZmlsZSkgKi8KLSsJLnVsZWIxMjggMHhiCS8qIChEV19GT1JN X2RhdGExKSAqLwotKwkudWxlYjEyOCAweDNiCS8qIChEV19BVF9kZWNsX2xpbmUpICovCi0rCS51 bGViMTI4IDB4YgkvKiAoRFdfRk9STV9kYXRhMSkgKi8KLSsJLnVsZWIxMjggMHgxCS8qIChEV19B VF9zaWJsaW5nKSAqLwotKwkudWxlYjEyOCAweDEzCS8qIChEV19GT1JNX3JlZjQpICovCi0rCS5i eXRlCTAKLSsJLmJ5dGUJMAotKwkudWxlYjEyOCAweDMJLyogKGFiYnJldiBjb2RlKSAqLwotKwku dWxlYjEyOCAweGQJLyogKFRBRzogRFdfVEFHX21lbWJlcikgKi8KLSsJLmJ5dGUJMAkvKiBEV19j aGlsZHJlbl9ubyAqLwotKwkudWxlYjEyOCAweDMJLyogKERXX0FUX25hbWUpICovCi0rCS51bGVi MTI4IDB4OAkvKiAoRFdfRk9STV9zdHJpbmcpICovCi0rCS51bGViMTI4IDB4M2EJLyogKERXX0FU X2RlY2xfZmlsZSkgKi8KLSsJLnVsZWIxMjggMHhiCS8qIChEV19GT1JNX2RhdGExKSAqLwotKwku dWxlYjEyOCAweDNiCS8qIChEV19BVF9kZWNsX2xpbmUpICovCi0rCS51bGViMTI4IDB4YgkvKiAo RFdfRk9STV9kYXRhMSkgKi8KLSsJLnVsZWIxMjggMHg0OQkvKiAoRFdfQVRfdHlwZSkgKi8KLSsJ LnVsZWIxMjggMHgxMwkvKiAoRFdfRk9STV9yZWY0KSAqLwotKwkudWxlYjEyOCAweDM4CS8qIChE V19BVF9kYXRhX21lbWJlcl9sb2NhdGlvbikgKi8KLSsJLnVsZWIxMjggMHhhCS8qIChEV19GT1JN X2Jsb2NrMSkgKi8KLSsJLmJ5dGUJMAotKwkuYnl0ZQkwCi0rCS51bGViMTI4IDB4NAkvKiAoYWJi cmV2IGNvZGUpICovCi0rCS51bGViMTI4IDB4ZAkvKiAoVEFHOiBEV19UQUdfbWVtYmVyKSAqLwot KwkuYnl0ZQkwCS8qIERXX2NoaWxkcmVuX25vICovCi0rCS51bGViMTI4IDB4MwkvKiAoRFdfQVRf bmFtZSkgKi8KLSsJLnVsZWIxMjggMHhlCS8qIChEV19GT1JNX3N0cnApICovCi0rCS51bGViMTI4 IDB4M2EJLyogKERXX0FUX2RlY2xfZmlsZSkgKi8KLSsJLnVsZWIxMjggMHhiCS8qIChEV19GT1JN X2RhdGExKSAqLwotKwkudWxlYjEyOCAweDNiCS8qIChEV19BVF9kZWNsX2xpbmUpICovCi0rCS51 bGViMTI4IDB4YgkvKiAoRFdfRk9STV9kYXRhMSkgKi8KLSsJLnVsZWIxMjggMHg0OQkvKiAoRFdf QVRfdHlwZSkgKi8KLSsJLnVsZWIxMjggMHgxMwkvKiAoRFdfRk9STV9yZWY0KSAqLwotKwkudWxl YjEyOCAweDM4CS8qIChEV19BVF9kYXRhX21lbWJlcl9sb2NhdGlvbikgKi8KLSsJLnVsZWIxMjgg MHhhCS8qIChEV19GT1JNX2Jsb2NrMSkgKi8KLSsJLmJ5dGUJMAotKwkuYnl0ZQkwCi0rCS51bGVi MTI4IDB4NQkvKiAoYWJicmV2IGNvZGUpICovCi0rCS51bGViMTI4IDB4MQkvKiAoVEFHOiBEV19U QUdfYXJyYXlfdHlwZSkgKi8KLSsJLmJ5dGUJMHgxCS8qIERXX2NoaWxkcmVuX3llcyAqLwotKwku dWxlYjEyOCAweDQ5CS8qIChEV19BVF90eXBlKSAqLwotKwkudWxlYjEyOCAweDEzCS8qIChEV19G T1JNX3JlZjQpICovCi0rCS51bGViMTI4IDB4MQkvKiAoRFdfQVRfc2libGluZykgKi8KLSsJLnVs ZWIxMjggMHgxMwkvKiAoRFdfRk9STV9yZWY0KSAqLwotKwkuYnl0ZQkwCi0rCS5ieXRlCTAKLSsJ LnVsZWIxMjggMHg2CS8qIChhYmJyZXYgY29kZSkgKi8KLSsJLnVsZWIxMjggMHgyMQkvKiAoVEFH OiBEV19UQUdfc3VicmFuZ2VfdHlwZSkgKi8KLSsJLmJ5dGUJMAkvKiBEV19jaGlsZHJlbl9ubyAq LwotKwkudWxlYjEyOCAweDQ5CS8qIChEV19BVF90eXBlKSAqLwotKwkudWxlYjEyOCAweDEzCS8q IChEV19GT1JNX3JlZjQpICovCi0rCS51bGViMTI4IDB4MmYJLyogKERXX0FUX3VwcGVyX2JvdW5k KSAqLwotKwkudWxlYjEyOCAweDcJLyogKERXX0ZPUk1fZGF0YTgpICovCi0rCS5ieXRlCTAKLSsJ LmJ5dGUJMAotKwkudWxlYjEyOCAweDcJLyogKGFiYnJldiBjb2RlKSAqLwotKwkudWxlYjEyOCAw eDI0CS8qIChUQUc6IERXX1RBR19iYXNlX3R5cGUpICovCi0rCS5ieXRlCTAJLyogRFdfY2hpbGRy ZW5fbm8gKi8KLSsJLnVsZWIxMjggMHhiCS8qIChEV19BVF9ieXRlX3NpemUpICovCi0rCS51bGVi MTI4IDB4YgkvKiAoRFdfRk9STV9kYXRhMSkgKi8KLSsJLnVsZWIxMjggMHgzZQkvKiAoRFdfQVRf ZW5jb2RpbmcpICovCi0rCS51bGViMTI4IDB4YgkvKiAoRFdfRk9STV9kYXRhMSkgKi8KLSsJLnVs ZWIxMjggMHgzCS8qIChEV19BVF9uYW1lKSAqLwotKwkudWxlYjEyOCAweGUJLyogKERXX0ZPUk1f c3RycCkgKi8KLSsJLmJ5dGUJMAotKwkuYnl0ZQkwCi0rCS51bGViMTI4IDB4OAkvKiAoYWJicmV2 IGNvZGUpICovCi0rCS51bGViMTI4IDB4MjEJLyogKFRBRzogRFdfVEFHX3N1YnJhbmdlX3R5cGUp ICovCi0rCS5ieXRlCTAJLyogRFdfY2hpbGRyZW5fbm8gKi8KLSsJLnVsZWIxMjggMHg0OQkvKiAo RFdfQVRfdHlwZSkgKi8KLSsJLnVsZWIxMjggMHgxMwkvKiAoRFdfRk9STV9yZWY0KSAqLwotKwku dWxlYjEyOCAweDJmCS8qIChEV19BVF91cHBlcl9ib3VuZCkgKi8KLSsJLnVsZWIxMjggMHhiCS8q IChEV19GT1JNX2RhdGExKSAqLwotKwkuYnl0ZQkwCi0rCS5ieXRlCTAKLSsJLnVsZWIxMjggMHg5 CS8qIChhYmJyZXYgY29kZSkgKi8KLSsJLnVsZWIxMjggMHgzNAkvKiAoVEFHOiBEV19UQUdfdmFy aWFibGUpICovCi0rCS5ieXRlCTAJLyogRFdfY2hpbGRyZW5fbm8gKi8KLSsJLnVsZWIxMjggMHgz CS8qIChEV19BVF9uYW1lKSAqLwotKwkudWxlYjEyOCAweDgJLyogKERXX0ZPUk1fc3RyaW5nKSAq LwotKwkudWxlYjEyOCAweDNhCS8qIChEV19BVF9kZWNsX2ZpbGUpICovCi0rCS51bGViMTI4IDB4 YgkvKiAoRFdfRk9STV9kYXRhMSkgKi8KLSsJLnVsZWIxMjggMHgzYgkvKiAoRFdfQVRfZGVjbF9s aW5lKSAqLwotKwkudWxlYjEyOCAweGIJLyogKERXX0ZPUk1fZGF0YTEpICovCi0rCS51bGViMTI4 IDB4NDkJLyogKERXX0FUX3R5cGUpICovCi0rCS51bGViMTI4IDB4MTMJLyogKERXX0ZPUk1fcmVm NCkgKi8KLSsJLnVsZWIxMjggMHgzZgkvKiAoRFdfQVRfZXh0ZXJuYWwpICovCi0rCS51bGViMTI4 IDB4YwkvKiAoRFdfRk9STV9mbGFnKSAqLwotKwkudWxlYjEyOCAweDIJLyogKERXX0FUX2xvY2F0 aW9uKSAqLwotKwkudWxlYjEyOCAweGEJLyogKERXX0ZPUk1fYmxvY2sxKSAqLwotKwkuYnl0ZQkw Ci0rCS5ieXRlCTAKLSsJLnVsZWIxMjggMHhhCS8qIChhYmJyZXYgY29kZSkgKi8KLSsJLnVsZWIx MjggMHhmCS8qIChUQUc6IERXX1RBR19wb2ludGVyX3R5cGUpICovCi0rCS5ieXRlCTAJLyogRFdf Y2hpbGRyZW5fbm8gKi8KLSsJLnVsZWIxMjggMHhiCS8qIChEV19BVF9ieXRlX3NpemUpICovCi0r CS51bGViMTI4IDB4YgkvKiAoRFdfRk9STV9kYXRhMSkgKi8KLSsJLnVsZWIxMjggMHg0OQkvKiAo RFdfQVRfdHlwZSkgKi8KLSsJLnVsZWIxMjggMHgxMwkvKiAoRFdfRk9STV9yZWY0KSAqLwotKwku Ynl0ZQkwCi0rCS5ieXRlCTAKLSsJLmJ5dGUJMAotKwkuc2VjdGlvbgkuZGVidWdfYXJhbmdlcywi IixAcHJvZ2JpdHMKLSsJLjRieXRlCTB4MWMJLyogTGVuZ3RoIG9mIEFkZHJlc3MgUmFuZ2VzIElu Zm8gKi8KLSsJLjJieXRlCTB4MgkvKiBEV0FSRiBWZXJzaW9uICovCi0rCS40Ynl0ZQkuTGRlYnVn X2luZm8wCS8qIE9mZnNldCBvZiBDb21waWxhdGlvbiBVbml0IEluZm8gKi8KLSsJLmJ5dGUJMHg4 CS8qIFNpemUgb2YgQWRkcmVzcyAqLwotKwkuYnl0ZQkwCS8qIFNpemUgb2YgU2VnbWVudCBEZXNj cmlwdG9yICovCi0rCS4yYnl0ZQkwCS8qIFBhZCB0byAxNiBieXRlIGJvdW5kYXJ5ICovCi0rCS4y Ynl0ZQkwCi0rCS5xdWFkCTAKLSsJLnF1YWQJMAotKwkuc2VjdGlvbgkuZGVidWdfbGluZSwiIixA cHJvZ2JpdHMKLSsuTGRlYnVnX2xpbmUwOgotKwkuc2VjdGlvbgkuZGVidWdfc3RyLCJNUyIsQHBy b2diaXRzLDEKLSsuTEFTRjQ6Ci0rCS5zdHJpbmcJImdkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRi aXQuYyIKLSsuTEFTRjM6Ci0rCS5zdHJpbmcJIkdOVSBDIDQuNy4zIDIwMTIxMTA5IChwcmVyZWxl YXNlKSIKLSsuTEFTRjA6Ci0rCS5zdHJpbmcJImJ1ZjIiCi0rLkxBU0YxOgotKwkuc3RyaW5nCSJz aXpldHlwZSIKLSsuTEFTRjU6Ci0rCS5zdHJpbmcJIiIKLSsuTEFTRjI6Ci0rCS5zdHJpbmcJImNo YXIiCi0rCS5pZGVudAkiR0NDOiAoR05VKSA0LjcuMyAyMDEyMTEwOSAocHJlcmVsZWFzZSkiCi0r CS5zZWN0aW9uCS5ub3RlLkdOVS1zdGFjaywiIixAcHJvZ2JpdHMKLWRpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuYnoyLnV1IGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmJ6Mi51dQotbmV3IGZpbGUgbW9kZSAx MDA2NDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2Vz dC10eXBlcy02NGJpdC5iejIudXUKLUBAIC0wLDAgKzEsNjcgQEAKLStiZWdpbiA3NTUgZ2RiLmJh c2UvbG9uZ2VzdC10eXBlcy02NGJpdC5iejIKLStNMEVJSC4zJSE2MjkzNjwnTiNPSGAiRy9fX19f X19fX15fX19fX18/X1lfX19fX18vL103U1FENSdeL18lCi0rTT1WWTc/Rl9bWGBGXV1TRzc1MzEt PT1WOlotLkZXO00uVTc9Jzs6VUhAPCZGRDMxLEUzXUonSEUtL1RSQAotK01dNF81LzMyOyUvVTNd MS0tSFUvVSQjJFInSSdKLEZDMFQtLClCJ0ojOkNVLEZAXTBgLzQ6PkZAQ1UvNCwKLStNQUAkUzI+ SUghSGBUUi8wLSQkOjlgQygmRkhVM1ZFLUo7NFwlLEA+NFQ6I100OS1KLzRgPkhUIUgjMyleCi0r TUpgIUgtYGBUXTAmQC1gYGA6J0pgYCZAYDo5IWBSOSxAJjMoYCMzISMwIUhgYC0jJC0tYCxAYGBU YFQjKAotK006YDpgJjAmQDo6LDA6LWBgYDpgYC1gRS0kMSM0LTM6NF0zUjktMzkoUS8pIzNSLTMw OjkjJFQhRCFIJkAKLStNLENUR0khSCMoIzBUYCMwYGBUYFRgOmBgLWBgVGAwLEYzKCFEUmBgVFAw VGA6YGAjMFEjMzAjKGBgLWAtCi0rTWBSJkAmQCFEIUgmRkMkJkMwYGAmQGAjMCklKUgzMj5KR1om ISlaMUIxWEApRFRWQzQ+SGAmMDpgYFImQAotK00sQzA6YGBUYGAsQzBgYCFIYGAjKGBUYDojMFVe XD9dN0s4TS45NlYvMls/TSpEQyk+V0lVRilIN1RcPFQKLStNWzBEKTcwRzI1LllCISw6OzhRKDsm WFBBQjQrJFElOlApUEEtO0U9IS0mJEtOUjIyRU0+JDpLS1JFJlxRCi0rTS4uTV1MMSosIT5EIVgp UlcsWywxSSw5TiVYLU4mMisqOiYpREpZNChWRlFHJTlLWy8/SjA2V0FDRjYtSQotK01KJkpKOSxa SzQ7WDI4TUBbPT0lTUUoQTU0OiU+KzMtPk1SSyhHITgjVFk+QEUkNkRSJjxfNTpDJi9SWkUKLStN STxPTitSWTVgTEEiQEREJCRERiFJOU9dNVglRzk4NV89VjwuOz9LOTpHMlItI0s8Q0IsMTsyNkE8 SDRHCi0rTTNSM0khKVdYLC0lPiwhRTYjYDsqOFIqRUArKyopKVUpWzY9T0tGTSUnKyQtSDVcWEAx RClfWSoiTktWLgotK00mXEY4P1NYV148T11fRFcuOFdEQEhZLk5NTUlCWEZWUk9NX1NLWiM0LWA+ SFE6WUAoUVsuPlBFRz1dQF4KLStNJUMiM0VaLzFYJ0gqMDJaUUgiOjYiQDs4WjBMRVc2PE9LSiUk YDAxJWBCO08hTipXMVYuSEMkYGAsOkNTCi0rTTYoL09USSctOk82PTckLyM/MFQ5UVtHU1kxKTZW YCtDVkAjWFdNRmA8UzpBRzwhNDNYIlZHRCxFPT4pPgotK002XlY9KmBGQic1RzRNRDhMM0o1WFQj U1c7SjFdWk8rIlNQSVMlSihQNDYrUT1DQzIkSC1gLUImVEQpTWAKLStNJkE6MDY2REElQUIwQzYs NDYwPk04QiskOi1CUiZATk0oKUZgUycsLEY4KyMmMC5TTU9LQC5HPCc4M04uCi0rTURBIiM1LWBK VkMoIjEqVEE7L00oKSY4SjArWUglSUZWKStPQUA0LGBFPzNNJFskQCZRYDNdQSEkJkEoLQotK00k UEJUKzIsQFBVKzJIOShULUgzTjYnKDI7IiIlMlQqMUkyUEBgTD9BRzgmQSE9MzFKNykxKDlGQic4 WD0KLStNV0owUyNZRUc5SyQuIy5bTC5bQ05BIjRKU0peR0syKilVSD1NQzAuUjgrRTc1Jy4wOTxO VSZSMEcxPltHCi0rTU1RMSpbR0k6PiM+S2BfTlpTOlY2PiRLO09YNiMhIU4nIjI0MTMkRFRMJl03 S1k+QjwzVjUhIUM4I1g1KwotK01GJTk8TlxdQyVCNk9TO0xIQDFMUjNSPExTKzxdTl05XEpaPExK IzJfUzInVVcoJ0RaIU4+WCE4Tk9LTTUKLStNKyJOJlA0Ljc1QzE2IUE5UTs6Qy42TmBXWkRWPS1d ITxCVEI8MVEqUChUNCcmKjI6QCQ9SkAoTTgpITU9Ci0rTU87W0VDUz4sNVBHPFRbWEM1OTRYSTBA UlZQRDg2LE0xMSUoVD5dU05QW0dWXkw/WUdJXTdfJ0Q4Tj9YVgotK00nWzdLWkpXWVZNWEdCUVNb YCEpWUklMzpEKUkyITslJ1JgVyZZQjxgOU8yI0YiQy8pRjtKSzlQK0AzJigKLStNQUgzMVtXKT1Z Q09EUURVS05NN0EiMy5DITIlQ0hUSk5aIlpcKyNGLT8oRExFPlhBQyUwN0I4OyQlSl9MCi0rTUpQ SzQ4UUMmLDkxNj1JTSs8MSZXUktMQjYmUTJPNzkqITdTJCxgN0o4KiFgIT1LOjVXNTUwW05IOU0j XwotK01LTCFMVCwmOzU5R1pXN1MiNVo0JWAlJiFgOSJKOWAwOklSJkg9TVRLVD1QRVlDJCw0Szkw TTlBVCclO18KLStNQjBIVkxFKShXJllXRixDOlRVUlhPOmBNW1JYKEEtR1Q5NzQ1NlE0WipIUFUq NEo6KltXVS00R0QuOVVWCi0rTVNBI0w0WFtbKlkrKThJRi5FTzwuVFA0SUMyPyg0SFgpVzEjOkdP TU9EMkY7SE0xQlYjPEUlUE0rMCZONQotK01QQCRcJEZENEMtUV5MIkheKU5QMi0uXkpUVCE4KyE7 J1o9S003JSdLQFwpKlBTRVRGJk02PFEjPjtQSFsKLStNNzpQSi0hIywhNk48MycpLTBDLD4xNSdJ Wj5AVV5DSkpKKz4rPiUlKSVCQkFURFwpKkY2JkJMTUlSJj9cCi0rTVEyXz8zM0AiTlIxL0NOXDop PjVERzZgPiQ7JDNRQTk0Jy0zXSpDVTZZR10pPD0yKSdHQyJSUC1SSyYtMwotK01aRFQtTV8pUitG MDZEUz9DUj5FQF4hLDMzIlU2WDxAT1hPJFE+VSRcVEBJVTxILTQyPTBZRVskLFRgXEgKLStNKCc+ J0BUPT5LYEc3SDhLNUdMWE1TMypeQEpMVkJISEUnLiY/OVJLQz9ZYCYmM0o1IS9DJCsrPEBVI1En Ci0rTTlSM0kuJCtTYCVdLS5VTz5XSF5DNzNGPCY7UklKUisoUUA3KDNQUCpXWy1PLCxERDNTN0JV S15JQEQlKgotK01gWTwqMlRYSiY3OzInNidSLlU+XTAtPSJNYEsrJk4lLz09TjRVQDklQE0xKVUm MjUxQygkXlMiV0wiXVQKLStNLVhOJ0QyW0lJMy0kSyUrJmAzWydPKSUsOEcqRSVfOFJWNkE1Ql80 KDIvPy1BSUMuXC8+LFlGSjwoRy44Ci0rTUFWUD9VTio9TUU6NyZUIUMlKUk6JjRIOi01PiZeISYw PkEuTycwRycvNiZaWjk2NEAwNCY9I0RDYCUmOgotK01VTkxPUz8sPydUOlQhOEw4MDxIX1cxPj0n TTo5Nks0O0pYKTYuKCcxI0okLjEvTCkkSVM8NC8qJzJEMzQKLStNL0BKXEJBKEkyVDQwSlMlOUc4 RiE3VTVfISMnVSErWzckRVMmKUA6KlFBRVQtSUJYNidfTjVeNy8jPkBWCi0rTU4zJiwtNihBR1s4 JiE4TFYrRl9VIlc/LykrWV4sOz0xSzpTVzI4PDBXQTIiVVBIUF44RkcjUiQhYFlgLAotK01MRjxg VSpOTlVcWzZOMDMiKj9JOEQ9SzcuWipIPUFfMzxIMVolLlE4JTJTUkBJNDUoJy5FR1I8Tl5cYFoK LStNXFtaXEQrLzM+NztTPUxWQyhCUSw1PE0wQSIjYF03VUs3VzMlNSg6RkJNRVIzWFNQMTVOISlg LV5aSlolCi0rTTo0KT44UV9cI0dgJ1AqXy1dVCFHNCRgVjBCU10nUylELztWN1I/LjJGP1NGKU4r MisjUDJfPEcjMUIpQwotK00oOD9ORi8rPzpVTVIzQiM5JE1CRENJMkc3Jk4nVGBGViFFUlFbMjFE T0pfOEk3MyNCSUxUVFNLKUI1UDwKLStNRzIyUz0qN1RJPkcoNDlUQ0UmKlVJVlQtTVA4MDhWVFZW LSQoKmBWVDwlPiU5NkFIT0xgKDclU0kyJS1SCi0rTSNHMkYwMlZRUUgtN0tUM0UwNUk5WilFXCRZ OEVEMUtVYCg0UUhUJUJdMSRGOkYxJjhEQU4uUTQmKj9GQAotK00uOEQ5NjUuJFBSSDxWRCsoKSI4 JkklPFIiUCxZW0EsKV5CKE8lMShKJSwpTShPNik4RSVMWT9DNlhAQEsKLStNKEYhMlRBXCxSRTxP IkUyKkc/SkUyWUZcKk9KTT8kS1dYVzZSKDNMUi0pVy5bOlpKQz9aRTQsKCJKJCgpCi0rTTVAVSE2 Mk0iV0JKPSZRKEwkNSw0NDk0Sz0uMEIwIyxDMyQqYGBYTFRGJEROITZQIyUsNEslSFRJQ1sqTwot K002IjRTLDtSTiZAPU5QN0A3Mjo9VSMmSlBCUS02ME9FQVdZO0NVWUYrJDczLlI+VDVIRCxHPUch S1RGM0QKLStNOTQiJlpBLUYsLjE5PThgXChRO0EwN1ElITE5KjMjKkY5UStEKDBLQFY4N0BPLj03 RUpJTTZgITRgPkQhCi0rTSk0OVFIQSFCVis6NE9ASzAwJCQhNSo2PkFAMkA0RClAUlwiJSQyRiJP OjI0SipMKFJQI047TzRLN0kmMgotK01bIylLUjQ3SC1OWzxPXlMtKSJfUVw+VkolMz4kYDksQUY4 UUlEJkkzRytEYCpdQlg5OEIkMksiOkE3X1wKLStNX103TFQhNCwkTkw1KU5FPjlbOk1LMl8vJ0dP OjciUGA9PFgnIlU5IiIwPFBKYDNgLjoqKFpdLS5HUSw5Ci0rTT5QKFxMXU8/Ii1BUEgoODM0JCxX IUlKUytVMUYxQy4hRCQhJktTXi02JUY5MFBRW0ZdRj0kXlFFXFgrLQotK01ALlcqTFBIXzc4Qj5N SEhANjlSVVsqJzFKQDhRQUNcS1NWQElHXCg7X0NVVzpaUjIuLDAkRTNMWl9eUD0KLStNPF9EQ1Ai UTxgOytfO1lQI15VJSZFXiMyTSUsVD9GM1VOXj5UU0gpR0ZMIlwlUkZbS05aK1tSK0A8Ji4kCi0r TUM0MilCOTZcMS0uT19JKS5LNylYXVc+RVEpOjRDKFhCKis6UyUwXzM3RF5FQlArMUhVKEQ/MyIl X08yUgotK002LSNYPkFVIzwkKiEvLFc2UUNeO09eJV1MUiZfWCc8OFgkPDNDVVVfUUZBSjsiPkgp MjQ0M0dENFchNCMKLSs/PDU1ITJeNl84SiQpLU88PlxIMFUvNlFePlVHMCVXKSUuJSIwUD5YLl5A YGAKLStgCi0rZW5kCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sb25nZXN0 LXR5cGVzLTY0Yml0LmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRi aXQuYwotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5jCi1AQCAtMCwwICsxLDI4IEBACi0r LyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KLSsKLSsg ICBDb3B5cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0r Ci0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2Vl IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rc3RydWN0IGZvbwotK3sK LSsgIGNoYXIgYnVmWzB4ZmZmZjAwMDAwMF07Ci0rICBjaGFyIGJ1ZjJbMl07Ci0rfSAqZjsKLSsK LStpbnQKLSttYWluICh2b2lkKQotK3sKLSsgIHJldHVybiAwOwotK30KLWRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuZXhwIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmV4cAotbmV3IGZpbGUgbW9kZSAxMDA2 NDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10 eXBlcy02NGJpdC5leHAKLUBAIC0wLDAgKzEsNTkgQEAKLSsjIFRoaXMgdGVzdGNhc2UgaXMgcGFy dCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCi0rCi0rIyBDb3B5cmlnaHQgMjAxMiBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQotKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3IKLSsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0r IwotKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCi0rIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0 aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u Ci0rCi0rc3RhbmRhcmRfdGVzdGZpbGUgLmMgbG9uZ2VzdC10eXBlcy02NGJpdC5TCi0rCi0rcHJv YyB0ZXN0IHsgbmFtZSB9IHsgd2l0aF90ZXN0X3ByZWZpeCAkbmFtZSB7Ci0rICAgICMgNjQtYml0 IGFycmF5IHNpemUgc2hvdWxkIG5vdCBvdmVyZmxvdwotKyAgICBnZGJfdGVzdCAicHJpbnQgJmYt PmJ1ZiIgez0gXChjaGFyIFwoXCpcKVxbMTA5OTQ5NDg1MDU2MFxdXCkgMHgwfQotKwotKyAgICAj IFRoZSBvZmZzZXQgc2hvdWxkIG5vdCBvdmVyZmxvdwotKyAgICBnZGJfdGVzdCAicHJpbnQgJmYt PmJ1ZjIiIHs9IFwoY2hhciBcKFwqXClcWzJcXVwpIDB4ZmZmZjAwMDAwMH0KLSt9fQotKwotKwot KyMgVGVzdCA2NC1iaXQgZmlsZSBmaXJzdCBhcyBpdCBpcyBub3QgY29tcGlsZWQgc28gaXRzIGNv bXBpbGF0aW9uIG5ldmVyIGZhaWxzLgotKwotK3NldCBmaWxlNjRiaXRiejJ1dSAke3NyY2Rpcn0v JHtzdWJkaXJ9LyR7dGVzdGZpbGV9LmJ6Mi51dQotK3NldCBmaWxlNjRiaXQgW3N0YW5kYXJkX291 dHB1dF9maWxlICR7dGVzdGZpbGV9XQotKwotK2lmIHtbY2F0Y2ggInN5c3RlbSBcInV1ZGVjb2Rl IC1vIC0gJHtmaWxlNjRiaXRiejJ1dX0gfCBiemlwMiAtZGMgPiR7ZmlsZTY0Yml0fVwiIl0gIT0g MH0gewotKyAgICB1bnRlc3RlZCAiZmFpbGVkIHV1ZGVjb2RlIG9yIGJ6aXAyIgotKyAgICByZXR1 cm4gLTEKLSt9Ci0rZmlsZSBzdGF0ICR7ZmlsZTY0Yml0fSBmaWxlNjRiaXRzdGF0Ci0raWYgeyRm aWxlNjRiaXRzdGF0KHNpemUpICE9IDk1MDF9IHsKLSsgICAgdW50ZXN0ZWQgInV1ZGVjb2RlIG9y IGJ6aXAyIHByb2R1Y2UgaW52YWxpZCByZXN1bHQiCi0rICAgIHJldHVybiAtMQotK30KLSsKLStj bGVhbl9yZXN0YXJ0ICR7ZmlsZTY0Yml0fQotKwotKyNpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5n ICR7dGVzdGZpbGV9LmV4cCAke3Rlc3RmaWxlfSAkc3JjZmlsZTIge25vZGVidWd9XSB9IHsKLSsj ICAgIHJldHVybiAtMQotKyN9Ci0rCi0rdGVzdCAiNjRiaXQiCi0rCi0rCi0rIyBBbmQgaGVyZSBp cyB0aGUgbmF0aXZlIGJ1aWxkIHRlc3QuCi0rCi0raWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAk e3Rlc3RmaWxlfS5leHAgJHt0ZXN0ZmlsZX0gJHNyY2ZpbGUge2RlYnVnIHF1aWV0fV0gfSB7Ci0r ICAgIHJldHVybiAtMQotK30KLSsKLSt0ZXN0ICJuYXRpdmUiCgpkaWZmIC0tZ2l0IGEvZ2RiLXZs YS1pbnRlbC1maXgtcHJpbnQtY2hhci1hcnJheS5wYXRjaCBiL2dkYi12bGEtaW50ZWwtZml4LXBy aW50LWNoYXItYXJyYXkucGF0Y2gKaW5kZXggOTQ0ZjgyYi4uMjJkNDU1MyAxMDA2NDQKLS0tIGEv Z2RiLXZsYS1pbnRlbC1maXgtcHJpbnQtY2hhci1hcnJheS5wYXRjaAorKysgYi9nZGItdmxhLWlu dGVsLWZpeC1wcmludC1jaGFyLWFycmF5LnBhdGNoCkBAIC0yMiw3ICsyMiw3IEBAIEFuZCBhZGp1 c3QgaXRzIHRlc3RjYXNlLgogZGlmZiAtLWdpdCBhL2dkYi9mLXZhbHByaW50LmMgYi9nZGIvZi12 YWxwcmludC5jCiAtLS0gYS9nZGIvZi12YWxwcmludC5jCiArKysgYi9nZGIvZi12YWxwcmludC5j Ci1AQCAtMzEzLDggKzMxMywyMiBAQCBmX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIExP TkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAorQEAgLTMxMyw4ICszMTMsMjIgQEAgZl92YWxfcHJpbnQg KHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAogIAkJCQkgICAgICBvcmln aW5hbF92YWx1ZSwgJm9wdHMsIDAsIHN0cmVhbSk7CiAgCX0KICAgICAgICBlbHNlCgpkaWZmIC0t Z2l0IGEvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXN0cmlkZXMucGF0Y2ggYi9nZGItdmxhLWludGVs LWZvcnRyYW4tc3RyaWRlcy5wYXRjaAppbmRleCA3YjBmYmUzLi4zMDE2ZTI3IDEwMDY0NAotLS0g YS9nZGItdmxhLWludGVsLWZvcnRyYW4tc3RyaWRlcy5wYXRjaAorKysgYi9nZGItdmxhLWludGVs LWZvcnRyYW4tc3RyaWRlcy5wYXRjaApAQCAtMzcsNyArMzcsNyBAQCBkYmZkNzE0MGJmNGMwNTAw ZDFmNWQxOTJiZTc4MWY4M2Y3OGY3OTIyCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMmxvYy5jIGIv Z2RiL2R3YXJmMmxvYy5jCiAtLS0gYS9nZGIvZHdhcmYybG9jLmMKICsrKyBiL2dkYi9kd2FyZjJs b2MuYwotQEAgLTI0MjgsMTEgKzI0MjgsMTQgQEAgZHdhcmYyX2xvY2V4cHJfYmF0b25fZXZhbCAo Y29uc3Qgc3RydWN0IGR3YXJmMl9sb2NleHByX2JhdG9uICpkbGJhdG9uLAorQEAgLTI0MjUsMTEg KzI0MjUsMTQgQEAgZHdhcmYyX2xvY2V4cHJfYmF0b25fZXZhbCAoY29uc3Qgc3RydWN0IGR3YXJm Ml9sb2NleHByX2JhdG9uICpkbGJhdG9uLAogIC8qIFNlZSBkd2FyZjJsb2MuaC4gICovCiAgCiAg aW50CkBAIC01NCw3ICs1NCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYybG9jLmMgYi9nZGIv ZHdhcmYybG9jLmMKICAgIGlmIChwcm9wID09IE5VTEwpCiAgICAgIHJldHVybiAwOwogIAotQEAg LTI0NTYsNyArMjQ1OSw3IEBAIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAoY29uc3Qgc3RydWN0 IGR5bmFtaWNfcHJvcCAqcHJvcCwKK0BAIC0yNDUzLDcgKzI0NTYsNyBAQCBkd2FyZjJfZXZhbHVh dGVfcHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCiAgCiAgCQkqdmFs dWUgPSB2YWx1ZV9hc19hZGRyZXNzICh2YWwpOwogIAkgICAgICB9CkBAIC02Myw3ICs2Myw3IEBA IGRpZmYgLS1naXQgYS9nZGIvZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYybG9jLmMKICAJICB9CiAg ICAgICAgfQogICAgICAgIGJyZWFrOwotQEAgLTI0NzgsNyArMjQ4MSw3IEBAIGR3YXJmMl9ldmFs dWF0ZV9wcm9wZXJ0eSAoY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJvcCAqcHJvcCwKK0BAIC0yNDc1 LDcgKzI0NzgsNyBAQCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5h bWljX3Byb3AgKnByb3AsCiAgCSAgICBpZiAoIXZhbHVlX29wdGltaXplZF9vdXQgKHZhbCkpCiAg CSAgICAgIHsKICAJCSp2YWx1ZSA9IHZhbHVlX2FzX2FkZHJlc3MgKHZhbCk7CkBAIC03Miw3ICs3 Miw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYybG9jLmMKICAJ ICAgICAgfQogIAkgIH0KICAgICAgICB9Ci1AQCAtMjQ4Niw4ICsyNDg5LDggQEAgZHdhcmYyX2V2 YWx1YXRlX3Byb3BlcnR5IChjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wLAorQEAgLTI0 ODMsOCArMjQ4Niw4IEBAIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAoY29uc3Qgc3RydWN0IGR5 bmFtaWNfcHJvcCAqcHJvcCwKICAKICAgICAgY2FzZSBQUk9QX0NPTlNUOgogICAgICAgICp2YWx1 ZSA9IHByb3AtPmRhdGEuY29uc3RfdmFsOwpAQCAtODMsNyArODMsNyBAQCBkaWZmIC0tZ2l0IGEv Z2RiL2R3YXJmMmxvYy5jIGIvZ2RiL2R3YXJmMmxvYy5jCiAgICAgIGNhc2UgUFJPUF9BRERSX09G RlNFVDoKICAgICAgICB7CiAgCXN0cnVjdCBkd2FyZjJfcHJvcGVydHlfYmF0b24gKmJhdG9uCi1A QCAtMjUwOCwxMSArMjUxMSwzOCBAQCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKGNvbnN0IHN0 cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCitAQCAtMjUwNSwxMSArMjUwOCwzOCBAQCBkd2FyZjJf ZXZhbHVhdGVfcHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCiAgCSAg dmFsID0gdmFsdWVfYXQgKGJhdG9uLT5vZmZzZXRfaW5mby50eXBlLAogIAkJCSAgcGluZm8tPmFk ZHIgKyBiYXRvbi0+b2Zmc2V0X2luZm8ub2Zmc2V0KTsKICAJKnZhbHVlID0gdmFsdWVfYXNfYWRk cmVzcyAodmFsKTsKQEAgLTE0Myw3ICsxNDMsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMmxv Yy5oIGIvZ2RiL2R3YXJmMmxvYy5oCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dk Yi9kd2FyZjJyZWFkLmMKIC0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKICsrKyBiL2dkYi9kd2FyZjJy ZWFkLmMKLUBAIC0xNzc1MSw3ICsxNzc1MSw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0 IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3Nzg0LDcgKzE3Nzg0 LDcgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3 YXJmMl9jdSAqY3UpCiAgICBzdHJ1Y3QgdHlwZSAqYmFzZV90eXBlLCAqb3JpZ19iYXNlX3R5cGU7 CiAgICBzdHJ1Y3QgdHlwZSAqcmFuZ2VfdHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7 CkBAIC0xNTIsNyArMTUyLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIv ZHdhcmYycmVhZC5jCiAgICBpbnQgbG93X2RlZmF1bHRfaXNfdmFsaWQ7CiAgICBpbnQgaGlnaF9i b3VuZF9pc19jb3VudCA9IDA7CiAgICBjb25zdCBjaGFyICpuYW1lOwotQEAgLTE3NzcxLDcgKzE3 NzcxLDkgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0 IGR3YXJmMl9jdSAqY3UpCitAQCAtMTc4MDQsNyArMTc4MDQsOSBAQCByZWFkX3N1YnJhbmdlX3R5 cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAKICAgIGxv dy5raW5kID0gUFJPUF9DT05TVDsKICAgIGhpZ2gua2luZCA9IFBST1BfQ09OU1Q7CkBAIC0xNjIs NyArMTYyLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVh ZC5jCiAgCiAgICAvKiBTZXQgTE9XX0RFRkFVTFRfSVNfVkFMSUQgaWYgY3VycmVudCBsYW5ndWFn ZSBhbmQgRFdBUkYgdmVyc2lvbiBhbGxvdwogICAgICAgb21pdHRpbmcgRFdfQVRfbG93ZXJfYm91 bmQuICAqLwotQEAgLTE3ODA0LDYgKzE3ODA2LDE0IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3Ry dWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3ODM3LDYgKzE3 ODM5LDE0IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVj dCBkd2FyZjJfY3UgKmN1KQogICAgICAgIGJyZWFrOwogICAgICB9CiAgCkBAIC0xNzcsNyArMTc3 LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCiAg ICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfbG93ZXJfYm91bmQsIGN1KTsKICAgIGlm IChhdHRyKQogICAgICBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJmxvdyk7 Ci1AQCAtMTc4OTYsNyArMTc5MDYsNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVf aW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xNzkyOSw3ICsxNzkzOSw3IEBA IHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJf Y3UgKmN1KQogICAgICAgICYmICFUWVBFX1VOU0lHTkVEIChiYXNlX3R5cGUpICYmIChoaWdoLmRh dGEuY29uc3RfdmFsICYgbmVnYXRpdmVfbWFzaykpCiAgICAgIGhpZ2guZGF0YS5jb25zdF92YWwg fD0gbmVnYXRpdmVfbWFzazsKICAKQEAgLTE4OSw3ICsxODksNyBAQCBkaWZmIC0tZ2l0IGEvZ2Ri L2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKIGRpZmYgLS1naXQgYS9nZGIvZXZhbC5j IGIvZ2RiL2V2YWwuYwogLS0tIGEvZ2RiL2V2YWwuYwogKysrIGIvZ2RiL2V2YWwuYwotQEAgLTM3 NywyOSArMzc3LDMyNCBAQCBpbml0X2FycmF5X2VsZW1lbnQgKHN0cnVjdCB2YWx1ZSAqYXJyYXks IHN0cnVjdCB2YWx1ZSAqZWxlbWVudCwKK0BAIC0zNzUsMjkgKzM3NSwzMjQgQEAgaW5pdF9hcnJh eV9lbGVtZW50IChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBzdHJ1Y3QgdmFsdWUgKmVsZW1lbnQsCiAg ICByZXR1cm4gaW5kZXg7CiAgfQogIApAQCAtNTMzLDcgKzUzMyw3IEBAIGRpZmYgLS1naXQgYS9n ZGIvZXZhbC5jIGIvZ2RiL2V2YWwuYwogIH0KICAKICAKLUBAIC0xMjQyLDE5ICsxNTM3LDYgQEAg ZXZhbHVhdGVfZnVuY2FsbCAodHlwZSAqZXhwZWN0X3R5cGUsIGV4cHJlc3Npb24gKmV4cCwgaW50 ICpwb3MsCitAQCAtMTIzOCwxOSArMTUzMyw2IEBAIGV2YWx1YXRlX2Z1bmNhbGwgKHR5cGUgKmV4 cGVjdF90eXBlLCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLAogICAgcmV0dXJuIGV2YWxfY2Fs bCAoZXhwLCBub3NpZGUsIG5hcmdzLCBhcmd2ZWMsIHZhcl9mdW5jX25hbWUsIGV4cGVjdF90eXBl KTsKICB9CiAgCkBAIC01NTMsNyArNTUzLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9ldmFsLmMgYi9n ZGIvZXZhbC5jCiAgc3RydWN0IHZhbHVlICoKICBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0 cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKICAJCQkgIHN0cnVjdCBleHByZXNzaW9uICpleHAsIGlu dCAqcG9zLAotQEAgLTE5NDksMzMgKzIyMzEsOCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQg KHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKK0BAIC0xOTQ1LDMzICsyMjI3LDggQEAgZXZhbHVh dGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCiAgICAgICAgc3dp dGNoIChjb2RlKQogIAl7CiAgCWNhc2UgVFlQRV9DT0RFX0FSUkFZOgpAQCAtNTg4LDcgKzU4OCw3 IEBAIGRpZmYgLS1naXQgYS9nZGIvZXZhbC5jIGIvZ2RiL2V2YWwuYwogIAogIAljYXNlIFRZUEVf Q09ERV9QVFI6CiAgCWNhc2UgVFlQRV9DT0RFX0ZVTkM6Ci1AQCAtMjM4NSw0OSArMjY0Miw2IEBA IGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAorQEAg LTIzODQsNDkgKzI2NDEsNiBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBl ICpleHBlY3RfdHlwZSwKICAJfQogICAgICAgIHJldHVybiAoYXJnMSk7CiAgCkBAIC02MzgsNyAr NjM4LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9ldmFsLmMgYi9nZGIvZXZhbC5jCiAgICAgIGNhc2Ug QklOT1BfTE9HSUNBTF9BTkQ6CiAgICAgICAgYXJnMSA9IGV2YWx1YXRlX3N1YmV4cCAoTlVMTF9U WVBFLCBleHAsIHBvcywgbm9zaWRlKTsKICAgICAgICBpZiAobm9zaWRlID09IEVWQUxfU0tJUCkK LUBAIC0zMzQ3LDYgKzM1NjEsOSBAQCBjYWxjX2Y3N19hcnJheV9kaW1zIChzdHJ1Y3QgdHlwZSAq YXJyYXlfdHlwZSkKK0BAIC0zMzQ2LDYgKzM1NjAsOSBAQCBjYWxjX2Y3N19hcnJheV9kaW1zIChz dHJ1Y3QgdHlwZSAqYXJyYXlfdHlwZSkKICAgIGludCBuZGltZW4gPSAxOwogICAgc3RydWN0IHR5 cGUgKnRtcF90eXBlOwogIApAQCAtNzIzLDcgKzcyMyw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZXhw cHJpbnQuYyBiL2dkYi9leHBwcmludC5jCiBkaWZmIC0tZ2l0IGEvZ2RiL2V4cHJlc3Npb24uaCBi L2dkYi9leHByZXNzaW9uLmgKIC0tLSBhL2dkYi9leHByZXNzaW9uLmgKICsrKyBiL2dkYi9leHBy ZXNzaW9uLmgKLUBAIC0xNTAsMjggKzE1MCwyNyBAQCBleHRlcm4gdm9pZCBkdW1wX3Jhd19leHBy ZXNzaW9uIChzdHJ1Y3QgZXhwcmVzc2lvbiAqLAorQEAgLTE2NCwyOCArMTY0LDI3IEBAIGV4dGVy biB2b2lkIGR1bXBfcmF3X2V4cHJlc3Npb24gKHN0cnVjdCBleHByZXNzaW9uICosCiAgCQkJCSBz dHJ1Y3QgdWlfZmlsZSAqLCBjb25zdCBjaGFyICopOwogIGV4dGVybiB2b2lkIGR1bXBfcHJlZml4 X2V4cHJlc3Npb24gKHN0cnVjdCBleHByZXNzaW9uICosIHN0cnVjdCB1aV9maWxlICopOwogIApA QCAtNzc1LDEyICs3NzUsMTIgQEAgZGlmZiAtLWdpdCBhL2dkYi9leHByZXNzaW9uLmggYi9nZGIv ZXhwcmVzc2lvbi5oCiBkaWZmIC0tZ2l0IGEvZ2RiL2YtZXhwLnkgYi9nZGIvZi1leHAueQogLS0t IGEvZ2RiL2YtZXhwLnkKICsrKyBiL2dkYi9mLWV4cC55Ci1AQCAtMjcwLDMxICsyNzAsNjMgQEAg YXJnbGlzdCA6CXN1YnJhbmdlCitAQCAtMjc2LDMxICsyNzYsNjMgQEAgYXJnbGlzdCA6CXN1YnJh bmdlCiAgICAgCiAgYXJnbGlzdAk6CWFyZ2xpc3QgJywnIGV4cCAgICVwcmVjIEFCT1ZFX0NPTU1B Ci0gCQkJeyBhcmdsaXN0X2xlbisrOyB9CisgCQkJeyBwc3RhdGUtPmFyZ2xpc3RfbGVuKys7IH0K ICsJfAlhcmdsaXN0ICcsJyBzdWJyYW5nZQklcHJlYyBBQk9WRV9DT01NQQotKwkJCXsgYXJnbGlz dF9sZW4rKzsgfQorKwkJCXsgcHN0YXRlLT5hcmdsaXN0X2xlbisrOyB9CiAgCTsKICAKICAvKiBU aGVyZSBhcmUgZm91ciBzb3J0cyBvZiBzdWJyYW5nZSB0eXBlcyBpbiBGOTAuICAqLwpAQCAtMTAz Myw3ICsxMDMzLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5oIGIvZ2RiL2dkYnR5cGVz LmgKIGRpZmYgLS1naXQgYS9nZGIvcGFyc2UuYyBiL2dkYi9wYXJzZS5jCiAtLS0gYS9nZGIvcGFy c2UuYwogKysrIGIvZ2RiL3BhcnNlLmMKLUBAIC05OTAsMjQgKzk5MCwyMCBAQCBvcGVyYXRvcl9s ZW5ndGhfc3RhbmRhcmQgKGNvbnN0IHN0cnVjdCBleHByZXNzaW9uICpleHByLCBpbnQgZW5kcG9z LAorQEAgLTkzOSwyNCArOTM5LDIwIEBAIG9wZXJhdG9yX2xlbmd0aF9zdGFuZGFyZCAoY29uc3Qg c3RydWN0IGV4cHJlc3Npb24gKmV4cHIsIGludCBlbmRwb3MsCiAgCiAgICAgIGNhc2UgT1BfUkFO R0U6CiAgICAgICAgb3BsZW4gPSAzOwpAQCAtMTA3Miw3ICsxMDcyLDcgQEAgZGlmZiAtLWdpdCBh L2dkYi9wYXJzZS5jIGIvZ2RiL3BhcnNlLmMKIGRpZmYgLS1naXQgYS9nZGIvcnVzdC1leHAueSBi L2dkYi9ydXN0LWV4cC55CiAtLS0gYS9nZGIvcnVzdC1leHAueQogKysrIGIvZ2RiL3J1c3QtZXhw LnkKLUBAIC0yNDc1LDI0ICsyNDc1LDI4IEBAIHJ1c3RfcGFyc2VyOjpjb252ZXJ0X2FzdF90b19l eHByZXNzaW9uIChjb25zdCBzdHJ1Y3QgcnVzdF9vcCAqb3BlcmF0aW9uLAorQEAgLTI0OTIsMjQg KzI0OTIsMjggQEAgcnVzdF9wYXJzZXI6OmNvbnZlcnRfYXN0X3RvX2V4cHJlc3Npb24gKGNvbnN0 IHN0cnVjdCBydXN0X29wICpvcGVyYXRpb24sCiAgCiAgICAgIGNhc2UgT1BfUkFOR0U6CiAgICAg ICAgewpAQCAtMTgxOCw3ICsxODE4LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi92YWxhcml0aC5jIGIv Z2RiL3ZhbGFyaXRoLmMKIGRpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMgYi9nZGIvdmFsb3BzLmMK IC0tLSBhL2dkYi92YWxvcHMuYwogKysrIGIvZ2RiL3ZhbG9wcy5jCi1AQCAtMzc5Miw1NiArMzc5 MiwxOTUgQEAgdmFsdWVfb2ZfdGhpc19zaWxlbnQgKGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZu ICpsYW5nKQorQEAgLTM3OTAsNTYgKzM3OTAsMTk1IEBAIHZhbHVlX29mX3RoaXNfc2lsZW50IChj b25zdCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiAqbGFuZykKICAKICBzdHJ1Y3QgdmFsdWUgKgogIHZh bHVlX3NsaWNlIChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBpbnQgbG93Ym91bmQsIGludCBsZW5ndGgp CgpkaWZmIC0tZ2l0IGEvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNoIGIv Z2RiLXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNoCmluZGV4IGMyNDk0ZTAuLmVh ZDBiNWYgMTAwNjQ0Ci0tLSBhL2dkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRj aAorKysgYi9nZGItdmxhLWludGVsLWZvcnRyYW4tdmxhLXN0cmluZ3MucGF0Y2gKQEAgLTMzLDcg KzMzLDcgQEAgZ2l0IGRpZmYgLS1zdGF0IC1wIGdkYi9tYXN0ZXIuLi5nZGIvdXNlcnMvYmhlY2tl bC9mb3J0cmFuLXZsYS1zdHJpbmdzCiBkaWZmIC0tZ2l0IGEvZ2RiL05FV1MgYi9nZGIvTkVXUwog LS0tIGEvZ2RiL05FV1MKICsrKyBiL2dkYi9ORVdTCi1AQCAtMzUyLDYgKzM1Miw4IEBAIFNILTUv U0g2NCBydW5uaW5nIE9wZW5CU0QgCVNILTUvU0g2NCBzdXBwb3J0IGluIHNoKi0qLW9wZW5ic2Qq CitAQCAtMzc2LDYgKzM3Niw4IEBAIFNILTUvU0g2NCBydW5uaW5nIE9wZW5CU0QgCVNILTUvU0g2 NCBzdXBwb3J0IGluIHNoKi0qLW9wZW5ic2QqCiAgCiAgKioqIENoYW5nZXMgaW4gR0RCIDguMQog IApAQCAtNDUsNyArNDUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL05FV1MgYi9nZGIvTkVXUwogZGlm ZiAtLWdpdCBhL2dkYi9jLXZhbHByaW50LmMgYi9nZGIvYy12YWxwcmludC5jCiAtLS0gYS9nZGIv Yy12YWxwcmludC5jCiArKysgYi9nZGIvYy12YWxwcmludC5jCi1AQCAtNjUyLDYgKzY1MiwyOCBA QCBjX3ZhbHVlX3ByaW50IChzdHJ1Y3QgdmFsdWUgKnZhbCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwKK0BAIC02NTEsNiArNjUxLDI4IEBAIGNfdmFsdWVfcHJpbnQgKHN0cnVjdCB2YWx1ZSAqdmFs LCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogICAgICAgIGVsc2UKICAJewogIAkgIC8qIG5vcm1h bCBjYXNlICovCkBAIC04Nyw3ICs4Nyw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5j IGIvZ2RiL2R3YXJmMnJlYWQuYwogIAogIC8qIG1lbW9yeSBhbGxvY2F0aW9uIGludGVyZmFjZSAq LwogIAotQEAgLTEzNzU2LDcgKzEzNzU3LDcgQEAgcmVhZF9mdW5jX3Njb3BlIChzdHJ1Y3QgZGll X2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTM3NTUsNyArMTM3NTYsNyBA QCByZWFkX2Z1bmNfc2NvcGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1 ICpjdSkKICAgICAgewogICAgICAgIG5ld29iai0+c3RhdGljX2xpbmsKICAJPSBYT0JORVcgKCZv YmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssIHN0cnVjdCBkeW5hbWljX3Byb3ApOwpAQCAtOTYsNyAr OTYsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMK ICAgICAgfQogIAogICAgY3UtPmxpc3RfaW5fc2NvcGUgPSBjdS0+Z2V0X2J1aWxkZXIgKCktPmdl dF9sb2NhbF9zeW1ib2xzICgpOwotQEAgLTE2NDk0LDcgKzE2NDk1LDggQEAgcmVhZF9hcnJheV90 eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTY0 OTMsNyArMTY0OTQsOCBAQCByZWFkX2FycmF5X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBz dHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAKICAgICAgICBieXRlX3N0cmlkZV9wcm9wCiAgCT0gKHN0 cnVjdCBkeW5hbWljX3Byb3AgKikgYWxsb2NhIChzaXplb2YgKHN0cnVjdCBkeW5hbWljX3Byb3Ap KTsKQEAgLTEwNiw3ICsxMDYsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dk Yi9kd2FyZjJyZWFkLmMKICAgICAgICBpZiAoIXN0cmlkZV9vaykKICAJewogIAkgIGNvbXBsYWlu dCAoXygidW5hYmxlIHRvIHJlYWQgYXJyYXkgRFdfQVRfYnl0ZV9zdHJpZGUgIgotQEAgLTE3MjU1 LDI5ICsxNzI1Nyw5MCBAQCByZWFkX3RhZ19zdHJpbmdfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpk aWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3MjU0LDI5ICsxNzI1Niw5MCBAQCByZWFk X3RhZ19zdHJpbmdfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3Ug KmN1KQogICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfb2JqZmlsZV9hcmNoIChvYmpm aWxlKTsKICAgIHN0cnVjdCB0eXBlICp0eXBlLCAqcmFuZ2VfdHlwZSwgKmluZGV4X3R5cGUsICpj aGFyX3R5cGU7CiAgICBzdHJ1Y3QgYXR0cmlidXRlICphdHRyOwpAQCAtMjA4LDcgKzIwOCw3IEBA IGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwogICAgY2hh cl90eXBlID0gbGFuZ3VhZ2Vfc3RyaW5nX2NoYXJfdHlwZSAoY3UtPmxhbmd1YWdlX2RlZm4sIGdk YmFyY2gpOwogICAgdHlwZSA9IGNyZWF0ZV9zdHJpbmdfdHlwZSAoTlVMTCwgY2hhcl90eXBlLCBy YW5nZV90eXBlKTsKICAKLUBAIC0xNzY0NSw3ICsxNzcwOCw4IEBAIHJlYWRfYmFzZV90eXBlIChz dHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTc2NzgsNyAr MTc3NDEsOCBAQCByZWFkX2Jhc2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBk d2FyZjJfY3UgKmN1KQogIAogIHN0YXRpYyBpbnQKICBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoY29u c3Qgc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGRpZV9pbmZvICpkaWUsCkBAIC0yMTgs NyArMjE4LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVh ZC5jCiAgewogICAgc3RydWN0IGR3YXJmMl9wcm9wZXJ0eV9iYXRvbiAqYmF0b247CiAgICBzdHJ1 Y3Qgb2JzdGFjayAqb2JzdGFjawotQEAgLTE3NjU2LDE0ICsxNzcyMCwzMyBAQCBhdHRyX3RvX2R5 bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGRpZV9pbmZv ICpkaWUsCitAQCAtMTc2ODksMTQgKzE3NzUzLDMzIEBAIGF0dHJfdG9fZHluYW1pY19wcm9wIChj b25zdCBzdHJ1Y3QgYXR0cmlidXRlICphdHRyLCBzdHJ1Y3QgZGllX2luZm8gKmRpZSwKICAKICAg IGlmIChhdHRyX2Zvcm1faXNfYmxvY2sgKGF0dHIpKQogICAgICB7CkBAIC0yNTYsNyArMjU2LDcg QEAgZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCiAgICAg IH0KICAgIGVsc2UgaWYgKGF0dHJfZm9ybV9pc19yZWYgKGF0dHIpKQogICAgICB7Ci1AQCAtMTc2 OTYsOCArMTc3NzksMjggQEAgYXR0cl90b19keW5hbWljX3Byb3AgKGNvbnN0IHN0cnVjdCBhdHRy aWJ1dGUgKmF0dHIsIHN0cnVjdCBkaWVfaW5mbyAqZGllLAorQEAgLTE3NzI5LDggKzE3ODEyLDI4 IEBAIGF0dHJfdG9fZHluYW1pY19wcm9wIChjb25zdCBzdHJ1Y3QgYXR0cmlidXRlICphdHRyLCBz dHJ1Y3QgZGllX2luZm8gKmRpZSwKICAJCWJhdG9uID0gWE9CTkVXIChvYnN0YWNrLCBzdHJ1Y3Qg ZHdhcmYyX3Byb3BlcnR5X2JhdG9uKTsKICAJCWJhdG9uLT5yZWZlcmVuY2VkX3R5cGUgPSBkaWVf dHlwZSAodGFyZ2V0X2RpZSwgdGFyZ2V0X2N1KTsKICAJCWJhdG9uLT5sb2NleHByLnBlcl9jdSA9 IGN1LT5wZXJfY3U7CkBAIC0yODcsNyArMjg3LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJy ZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCiAgCQlwcm9wLT5kYXRhLmJhdG9uID0gYmF0b247CiAg CQlwcm9wLT5raW5kID0gUFJPUF9MT0NFWFBSOwogIAkJZ2RiX2Fzc2VydCAocHJvcC0+ZGF0YS5i YXRvbiAhPSBOVUxMKTsKLUBAIC0xNzgwOCw3ICsxNzkxMSw3IEBAIHJlYWRfc3VicmFuZ2VfdHlw ZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3ODQx LDcgKzE3OTQ0LDcgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwg c3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgCiAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdf QVRfYnl0ZV9zdHJpZGUsIGN1KTsKICAgIGlmIChhdHRyKQpAQCAtMjk2LDcgKzI5Niw3IEBAIGRp ZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwogICAgICAgICAg Y29tcGxhaW50IChfKCJNaXNzaW5nIERXX0FUX2J5dGVfc3RyaWRlICIKICAJCSAgICAgIi0gRElF IGF0IDB4JXMgW2luIG1vZHVsZSAlc10iKSwKICAJCSAgIHNlY3Rfb2Zmc2V0X3N0ciAoZGllLT5z ZWN0X29mZiksCi1AQCAtMTc4MTYsNyArMTc5MTksNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0 cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xNzg0OSw3ICsx Nzk1Miw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVj dCBkd2FyZjJfY3UgKmN1KQogIAogICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2xv d2VyX2JvdW5kLCBjdSk7CiAgICBpZiAoYXR0cikKQEAgLTMwNSw3ICszMDUsNyBAQCBkaWZmIC0t Z2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKICAgIGVsc2UgaWYgKCFs b3dfZGVmYXVsdF9pc192YWxpZCkKICAgICAgY29tcGxhaW50IChfKCJNaXNzaW5nIERXX0FUX2xv d2VyX2JvdW5kICIKICAJCQkJICAgICAgIi0gRElFIGF0ICVzIFtpbiBtb2R1bGUgJXNdIiksCi1A QCAtMTc4MjUsMTAgKzE3OTI4LDEwIEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9p bmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3ODU4LDEwICsxNzk2MSwxMCBA QCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYy X2N1ICpjdSkKICAKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHJfdWIsICphdHRyX2NvdW50Owog ICAgYXR0ciA9IGF0dHJfdWIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF91cHBlcl9ib3VuZCwg Y3UpOwpAQCAtMzE4LDcgKzMxOCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIv Z2RiL2R3YXJmMnJlYWQuYwogIAl7CiAgCSAgLyogSWYgYm91bmRzIGFyZSBjb25zdGFudCBkbyB0 aGUgZmluYWwgY2FsY3VsYXRpb24gaGVyZS4gICovCiAgCSAgaWYgKGxvdy5raW5kID09IFBST1Bf Q09OU1QgJiYgaGlnaC5raW5kID09IFBST1BfQ09OU1QpCi1AQCAtMjUzOTQsNyArMjU0OTcsNyBA QCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwg c3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMjU0NDYsNyArMjU1NDksNyBAQCBzZXRfZGllX3R5 cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJm Ml9jdSAqY3UpCiAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfYWxsb2NhdGVkLCBj dSk7CiAgICBpZiAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAgICAgewpAQCAtMzI3LDcg KzMyNyw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQu YwogICAgICAgICAgYWRkX2R5bl9wcm9wIChEWU5fUFJPUF9BTExPQ0FURUQsIHByb3AsIHR5cGUp OwogICAgICB9CiAgICBlbHNlIGlmIChhdHRyICE9IE5VTEwpCi1AQCAtMjU0MDgsNyArMjU1MTEs NyBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlw ZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMjU0NjAsNyArMjU1NjMsNyBAQCBzZXRfZGll X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3 YXJmMl9jdSAqY3UpCiAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfYXNzb2NpYXRl ZCwgY3UpOwogICAgaWYgKGF0dHJfZm9ybV9pc19ibG9jayAoYXR0cikpCiAgICAgIHsKQEAgLTMz Niw3ICszMzYsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJy ZWFkLmMKICAgICAgICAgIGFkZF9keW5fcHJvcCAoRFlOX1BST1BfQVNTT0NJQVRFRCwgcHJvcCwg dHlwZSk7CiAgICAgIH0KICAgIGVsc2UgaWYgKGF0dHIgIT0gTlVMTCkKLUBAIC0yNTQyMCw3ICsy NTUyMyw3IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBl ICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0yNTQ3Miw3ICsyNTU3NSw3IEBAIHNl dF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1 Y3QgZHdhcmYyX2N1ICpjdSkKICAKICAgIC8qIFJlYWQgRFdfQVRfZGF0YV9sb2NhdGlvbiBhbmQg c2V0IGluIHR5cGUuICAqLwogICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2RhdGFf bG9jYXRpb24sIGN1KTsKQEAgLTM5Miw5ICszOTIsOSBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2YtdHlw ZXByaW50LmMgYi9nZGIvZi10eXBlcHJpbnQuYwogLQkJCSAgICAgaW50IGFycmF5cHJpbnRfcmVj dXJzZV9sZXZlbCkKICsJCQkgICAgIGludCBhcnJheXByaW50X3JlY3Vyc2VfbGV2ZWwsIGludCBw cmludF9yYW5rX29ubHkpCiAgewotICAgaW50IHVwcGVyX2JvdW5kLCBsb3dlcl9ib3VuZDsKLSAK LUBAIC0xODMsMzQgKzE3MSw1MCBAQCBmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVj dCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAorICAgLyogTm8gc3RhdGljIHZh cmlhYmxlcyBhcmUgcGVybWl0dGVkIGFzIGFuIGVycm9yIGNhbGwgbWF5IG9jY3VyIGR1cmluZwor ICAgICAgZXhlY3V0aW9uIG9mIHRoaXMgZnVuY3Rpb24uICAqLworQEAgLTE4MSwzNiArMTY5LDUy IEBAIGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVj dCB1aV9maWxlICpzdHJlYW0sCiAgCWZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIigiKTsKICAK ICAgICAgICBpZiAodHlwZV9ub3RfYXNzb2NpYXRlZCAodHlwZSkpCkBAIC00MjYsNDggKzQyNiw0 NiBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2YtdHlwZXByaW50LmMgYi9nZGIvZi10eXBlcHJpbnQuYwog LSAgICAgICAgICBpZiAoVFlQRV9DT0RFIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSkgPT0gVFlQ RV9DT0RFX0FSUkFZKQogLSAgICAgICAgICAgIGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCAo VFlQRV9UQVJHRVRfVFlQRSAodHlwZSksIHN0cmVhbSwgMCwKIC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMCwgMCwgYXJyYXlwcmludF9yZWN1cnNlX2xldmVsKTsKLS0K LS0gICAgICAgICAgbG93ZXJfYm91bmQgPSBmNzdfZ2V0X2xvd2VyYm91bmQgKHR5cGUpOwotLSAg ICAgICAgICBpZiAobG93ZXJfYm91bmQgIT0gMSkJLyogTm90IHRoZSBkZWZhdWx0LiAgKi8KLS0g ICAgICAgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIlZDoiLCBsb3dlcl9ib3VuZCk7 Ci0tCi0tICAgICAgICAgIC8qIE1ha2Ugc3VyZSB0aGF0LCBpZiB3ZSBoYXZlIGFuIGFzc3VtZWQg c2l6ZSBhcnJheSwgd2UKLS0gICAgICAgICAgICAgcHJpbnQgb3V0IGEgd2FybmluZyBhbmQgcHJp bnQgdGhlIHVwcGVyYm91bmQgYXMgJyonLiAgKi8KLS0KLS0gICAgICAgICAgaWYgKFRZUEVfQVJS QVlfVVBQRVJfQk9VTkRfSVNfVU5ERUZJTkVEICh0eXBlKSkKLS0gICAgICAgICAgICBmcHJpbnRm X2ZpbHRlcmVkIChzdHJlYW0sICIqIik7Ci0tICAgICAgICAgIGVsc2UKLS0gICAgICAgICAgICB7 Ci0tICAgICAgICAgICAgICB1cHBlcl9ib3VuZCA9IGY3N19nZXRfdXBwZXJib3VuZCAodHlwZSk7 Ci0tICAgICAgICAgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIlZCIsIHVwcGVyX2Jv dW5kKTsKLS0gICAgICAgICAgICB9Ci0tCi0tICAgICAgICAgIGlmIChUWVBFX0NPREUgKFRZUEVf VEFSR0VUX1RZUEUgKHR5cGUpKSAhPSBUWVBFX0NPREVfQVJSQVkpCi0tICAgICAgICAgICAgZl90 eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSwgc3RyZWFt LCAwLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBhcnJh eXByaW50X3JlY3Vyc2VfbGV2ZWwpOwotLSAgICAgICAgfQogKwl7Ci0rCSAgbG93ZXJfYm91bmQg PSBmNzdfZ2V0X2xvd2VyYm91bmQgKHR5cGUpOworKwkgIExPTkdFU1QgbG93ZXJfYm91bmQgPSBm NzdfZ2V0X2xvd2VyYm91bmQgKHR5cGUpOworIAorLSAgICAgICAgICBMT05HRVNUIGxvd2VyX2Jv dW5kID0gZjc3X2dldF9sb3dlcmJvdW5kICh0eXBlKTsKICsJICBpZiAobG93ZXJfYm91bmQgIT0g MSkJLyogTm90IHRoZSBkZWZhdWx0LiAgKi8KLSsJICAgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVh bSwgIiVkOiIsIGxvd2VyX2JvdW5kKTsKLSsKKysJICAgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVh bSwgIiVzOiIsIHBsb25nZXN0IChsb3dlcl9ib3VuZCkpOworIAorLSAgICAgICAgICBpZiAobG93 ZXJfYm91bmQgIT0gMSkJLyogTm90IHRoZSBkZWZhdWx0LiAgKi8KKy0gICAgICAgICAgICBmcHJp bnRmX2ZpbHRlcmVkIChzdHJlYW0sICIlczoiLCBwbG9uZ2VzdCAobG93ZXJfYm91bmQpKTsKICsJ ICAvKiBNYWtlIHN1cmUgdGhhdCwgaWYgd2UgaGF2ZSBhbiBhc3N1bWVkIHNpemUgYXJyYXksIHdl CiArCSAgICAgICBwcmludCBvdXQgYSB3YXJuaW5nIGFuZCBwcmludCB0aGUgdXBwZXJib3VuZCBh cyAnKicuICAqLwotKworIAorLSAgICAgICAgICAvKiBNYWtlIHN1cmUgdGhhdCwgaWYgd2UgaGF2 ZSBhbiBhc3N1bWVkIHNpemUgYXJyYXksIHdlCistICAgICAgICAgICAgIHByaW50IG91dCBhIHdh cm5pbmcgYW5kIHByaW50IHRoZSB1cHBlcmJvdW5kIGFzICcqJy4gICovCiArCSAgaWYgKFRZUEVf QVJSQVlfVVBQRVJfQk9VTkRfSVNfVU5ERUZJTkVEICh0eXBlKSkKICsJICAgIGZwcmludGZfZmls dGVyZWQgKHN0cmVhbSwgIioiKTsKICsJICBlbHNlCiArCSAgICB7Ci0rCSAgICAgIHVwcGVyX2Jv dW5kID0gZjc3X2dldF91cHBlcmJvdW5kICh0eXBlKTsKLSsJICAgICAgZnByaW50Zl9maWx0ZXJl ZCAoc3RyZWFtLCAiJWQiLCB1cHBlcl9ib3VuZCk7CisrCSAgICAgIExPTkdFU1QgdXBwZXJfYm91 bmQgPSBmNzdfZ2V0X3VwcGVyYm91bmQgKHR5cGUpOworIAorLSAgICAgICAgICBpZiAoVFlQRV9B UlJBWV9VUFBFUl9CT1VORF9JU19VTkRFRklORUQgKHR5cGUpKQorLSAgICAgICAgICAgIGZwcmlu dGZfZmlsdGVyZWQgKHN0cmVhbSwgIioiKTsKKy0gICAgICAgICAgZWxzZQorLSAgICAgICAgICAg IHsKKy0gICAgICAgICAgICAgIExPTkdFU1QgdXBwZXJfYm91bmQgPSBmNzdfZ2V0X3VwcGVyYm91 bmQgKHR5cGUpOworKwkgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIlcyIsIHBsb25n ZXN0ICh1cHBlcl9ib3VuZCkpOwogKwkgICAgfQogKwl9Ci0rCisgCistICAgICAgICAgICAgICBm cHV0c19maWx0ZXJlZCAocGxvbmdlc3QgKHVwcGVyX2JvdW5kKSwgc3RyZWFtKTsKKy0gICAgICAg ICAgICB9CiArICAgICAgaWYgKFRZUEVfQ09ERSAoVFlQRV9UQVJHRVRfVFlQRSAodHlwZSkpICE9 IFRZUEVfQ09ERV9BUlJBWSkKICsJZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChUWVBFX1RB UkdFVF9UWVBFICh0eXBlKSwgc3RyZWFtLCAwLAogKwkJCQkgICAgIDAsIDAsIGFycmF5cHJpbnRf cmVjdXJzZV9sZXZlbCwKICsJCQkJICAgICBwcmludF9yYW5rX29ubHkpOwotKworIAorLSAgICAg ICAgICBpZiAoVFlQRV9DT0RFIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSkgIT0gVFlQRV9DT0RF X0FSUkFZKQorLSAgICAgICAgICAgIGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCAoVFlQRV9U QVJHRVRfVFlQRSAodHlwZSksIHN0cmVhbSwgMCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMCwgMCwgYXJyYXlwcmludF9yZWN1cnNlX2xldmVsKTsKKy0gICAgICAg IH0KICAgICAgICBpZiAoYXJyYXlwcmludF9yZWN1cnNlX2xldmVsID09IDEpCiAgCWZwcmludGZf ZmlsdGVyZWQgKHN0cmVhbSwgIikiKTsKICAgICAgICBlbHNlCkBAIC0xMzM5LDcgKzEzMzcsNyBA QCBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbG9wcy5jIGIvZ2RiL3ZhbG9wcy5jCiBkaWZmIC0tZ2l0IGEv Z2RiL3ZhbHByaW50LmMgYi9nZGIvdmFscHJpbnQuYwogLS0tIGEvZ2RiL3ZhbHByaW50LmMKICsr KyBiL2dkYi92YWxwcmludC5jCi1AQCAtMTEwNiwxMiArMTEwNiw2IEBAIHZhbHVlX2NoZWNrX3By aW50YWJsZSAoc3RydWN0IHZhbHVlICp2YWwsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCitAQCAt MTEwNSwxMiArMTEwNSw2IEBAIHZhbHVlX2NoZWNrX3ByaW50YWJsZSAoc3RydWN0IHZhbHVlICp2 YWwsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgICAgICAgcmV0dXJuIDA7CiAgICAgIH0KICAK CmRpZmYgLS1naXQgYS9nZGItdmxhLWludGVsLXN0cmluZ2J0LWZpeC5wYXRjaCBiL2dkYi12bGEt aW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoCmluZGV4IDYzYmU4MGEuLjBhMDJjYWEgMTAwNjQ0Ci0t LSBhL2dkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoCisrKyBiL2dkYi12bGEtaW50ZWwt c3RyaW5nYnQtZml4LnBhdGNoCkBAIC0zMCwxNSArMzAsNyBAQCBKYW4KIGRpZmYgLS1naXQgYS9n ZGIvZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYybG9jLmMKIC0tLSBhL2dkYi9kd2FyZjJsb2MuYwog KysrIGIvZ2RiL2R3YXJmMmxvYy5jCi1AQCAtNDIsNiArNDIsNyBAQAotICNpbmNsdWRlIDxhbGdv cml0aG0+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLSAjaW5jbHVkZSA8dW5vcmRlcmVkX3NldD4KLSsj aW5jbHVkZSA8ZnVuY3Rpb25hbD4KLSAjaW5jbHVkZSAiY29tbW9uL3VuZGVybHlpbmcuaCIKLSAj aW5jbHVkZSAiY29tbW9uL2J5dGUtdmVjdG9yLmgiCi0gCi1AQCAtMjE1Nyw2ICsyMTU4LDIwIEBA IGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0 IGZyYW1lX2luZm8gKmZyYW1lLAorQEAgLTIxNTYsNiArMjE1NiwyMCBAQCBkd2FyZjJfZXZhbHVh dGVfbG9jX2Rlc2NfZnVsbCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBmcmFtZV9pbmZvICpm cmFtZSwKICAgIGN0eC5wZXJfY3UgPSBwZXJfY3U7CiAgICBjdHgub2JqX2FkZHJlc3MgPSAwOwog IAoKZGlmZiAtLWdpdCBhL2dkYi5zcGVjIGIvZ2RiLnNwZWMKaW5kZXggMGI3NTNjMC4uYmEzY2Iw MSAxMDA2NDQKLS0tIGEvZ2RiLnNwZWMKKysrIGIvZ2RiLnNwZWMKQEAgLTIyLDcgKzIyLDcgQEAK IE5hbWU6ICV7P3NjbF9wcmVmaXh9Z2RiCiAKICMgRnJlZXplIGl0IHdoZW4gR0RCIGdldHMgYnJh bmNoZWQKLSVnbG9iYWwgc25hcHNyYyAgICAyMDE5MDMyMQorJWdsb2JhbCBzbmFwc3JjICAgIDIw MTkwNDEyCiAjIFNlZSB0aW1lc3RhbXAgb2Ygc291cmNlIGdudWxpYiBpbnN0YWxsZWQgaW50byBn ZGIvZ251bGliLyAuCiAlZ2xvYmFsIHNuYXBnbnVsaWIgMjAxNjExMTUKICVnbG9iYWwgdGFybmFt ZSBnZGItJXt2ZXJzaW9ufQpAQCAtMzAsNyArMzAsNyBAQCBWZXJzaW9uOiA4LjMuNTAuJXtzbmFw c3JjfQogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBhIGxlYWRpbmcgcmVzZXJ2ZWQg bnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlzIG5vdCBhIHBhcnQgb2YgYG5h bWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21wYXRpYmxlIGZvciB0aGUgdGVz dGluZy4KLVJlbGVhc2U6IDQlez9kaXN0fQorUmVsZWFzZTogNSV7P2Rpc3R9CiAKIExpY2Vuc2U6 IEdQTHYzKyBhbmQgR1BMdjMrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMdjIrIGFuZCBHUEx2Misg d2l0aCBleGNlcHRpb25zIGFuZCBHUEwrIGFuZCBMR1BMdjIrIGFuZCBMR1BMdjMrIGFuZCBCU0Qg YW5kIFB1YmxpYyBEb21haW4gYW5kIEdGREwKICMgRG8gbm90IHByb3ZpZGUgVVJMIGZvciBzbmFw c2hvdHMgYXMgdGhlIGZpbGUgbGFzdHMgdGhlcmUgb25seSBmb3IgMiBkYXlzLgpAQCAtMTAyNSw2 ICsxMDI1LDIwIEBAIGZpCiAlZW5kaWYKIAogJWNoYW5nZWxvZworKiBGcmkgQXByIDEyIDIwMTkg U2VyZ2lvIER1cmlnYW4gSnVuaW9yIDxzZXJnaW9kakByZWRoYXQuY29tPiAtIDguMy41MC4yMDE5 MDQxMi01CistIFJlYmFzZSB0byBGU0YgR0RCIDguMy41MC4yMDE5MDQxMiAoOC40cHJlKS4KKy0g QWRqdXN0ICdnZGItNi4zLXJoLXRlc3R2ZXJzaW9uLTIwMDQxMjAyLnBhdGNoJy4KKy0gUmVtb3Zl ICdnZGItZm9sbG93LWNoaWxkLXN0YWxlLXBhcmVudC5wYXRjaCcuCistIFJlbW92ZSAnZ2RiLXJo Yno3OTU0MjQtYml0cG9zLTIwb2YyNS5wYXRjaCcuCistIFJlbW92ZSAnZ2RiLXJoYno3OTU0MjQt Yml0cG9zLTIxb2YyNS5wYXRjaCcuCistIFJlbW92ZSAnZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIy b2YyNS5wYXRjaCcuCistIFJlbW92ZSAnZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRj aCcuCistIFJlbW92ZSAnZ2RiLXJoYno3OTU0MjQtYml0cG9zLTI1b2YyNS5wYXRjaCcuCistIFJl bW92ZSAnZ2RiLXJoYno3OTU0MjQtYml0cG9zLTI1b2YyNS10ZXN0LnBhdGNoJy4KKy0gUmVtb3Zl ICdnZGItcmhiejc5NTQyNC1iaXRwb3MtYXJyYXl2aWV3LnBhdGNoJy4KKy0gUmVtb3ZlICdnZGIt cmhiejc5NTQyNC1iaXRwb3MtbGF6eXZhbHVlLnBhdGNoJy4KKy0gUmVtb3ZlICdnZGItYno1NDE4 NjYtcndhdGNoLWJlZm9yZS1ydW4ucGF0Y2gnLgorCiAqIEZyaSBNYXIgMjkgMjAxOSBTZXJnaW8g RHVyaWdhbiBKdW5pb3IgPHNlcmdpb2RqQGZlZG9yYXByb2plY3Qub3JnPiAtIDguMy41MC4yMDE5 MDMyMS00CiAtIEZpeCAnZ2RiLTguMy41MC4yMDE5MDMyMS0zLmZjMzEueDg2XzY0OiBjcmFzaGlu ZycgKGJ5IGZpeGluZwogICBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaCkgKFJIIEJa IDE2OTQwOTEpLgoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IGVlYTEyMTku LjIzN2RiNTkgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwzICsxLDMg QEAKIFNIQTUxMiAoZ2RiLWxpYnN0ZGMrKy12My1weXRob24tOC4xLjEtMjAxODA2MjYudGFyLnh6 KSA9IGE4YjFjNTRkZDM0OGNmZWIzN2RhNzNmOTY4NzQyODk2YmUzZGQxM2E0MjE1ZjhkODUxOTg3 MGMyYWJlYTkxNWY1MTc2YzNmYTY5ODlkZGQxMGYyMDAyMGExNmYwZmFiMjBjYmFlNjhlZThkNThh ODIyMzRkODc3ODAyMzUyMGY4CiBTSEE1MTIgKHYyLjAudGFyLmd6KSA9IGVjNjMxNTFlODQyYzgx Y2M3M2VhMTFiYTU2MGI2M2UwMDVjZWZiZTE5ZDk4ZGUyNGFlNWM4Y2FhNGRlN2M5YzFkNzFkMWVj NWI2MjE0YTM0NzU5MmVhYzY3NWI3NWEzZDJiMjZkNDY5MWNhODZmOTEwMjBlYmZlYThlOTEyOTM5 Ci1TSEE1MTIgKGdkYi04LjMuNTAuMjAxOTAzMjEudGFyLnh6KSA9IDRhYjM3NTcxMzk4NDE4YTNi NWJjNDNjZmUxMDNlZTU4NTMzMGJjM2IwNzZiMTEzZTNiZjZjNmMzY2U1MjY2YjZlNmI1MDQwYzEz MDNhZDBkZTYyYjhmNDIxMWRmMjdlNzU3OTVkN2ZjZTRmZDFkOWE5NmVjMDMwOGFjZTJmY2Y4CitT SEE1MTIgKGdkYi04LjMuNTAuMjAxOTA0MTIudGFyLnh6KSA9IGZiZGM4M2I2ZTg4ZDJkOTQ4OWEy NWMxZmJkZjA4NzY0NzA4ZTE1NThlYjE4N2Y5YTNhNzJiY2M4ZmQwNThlOThlOTgxMGY4Zjg4OTA0 NGNmNTViNDE2NWI5YTNhYzVkOTk2ZDBhMTNhNGU0ZDU0ODIzZTQ4NWIzNTRjMWEyYjBlCg==