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: Kalev Lember To: git-commits@fedoraproject.org Subject: [rpms/glib2] cve-2026-58016-f44: Backport upstream patches to fix invalid use of volatile objects Date: Tue, 11 Aug 2026 10:37:11 GMT Message-ID: <178644463161.1.16196423671274908124.rpms-glib2-f9fbe5a4c84a@fedoraproject.org> List-ID: X-Git-Repo: rpms/glib2 X-Git-Branch: cve-2026-58016-f44 X-Git-Rev: f9fbe5a4c84a5e8bd24f76f82128fa2de8da15ac ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2xpYjIKICAgICAgICAgICAgQnJhbmNoIDogY3ZlLTIwMjYtNTgwMTYtZjQ0 CiAgICAgICAgICAgIENvbW1pdCA6IGY5ZmJlNWE0Yzg0YTVlOGJkMjRmNzZmODIxMjhmYTJkZThk YTE1YWMKICAgICAgICAgICAgQXV0aG9yIDogS2FsZXYgTGVtYmVyIDxrbGVtYmVyQHJlZGhhdC5j b20+CiAgICAgICAgICAgIERhdGUgICA6IDIwMjAtMTEtMjRUMTI6MjU6NDUrMDE6MDAKICAgICAg ICAgICAgU3RhdHMgIDogKzM0MjYvLTEgaW4gMiBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6 IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2xpYjIvYy9mOWZiZTVhNGM4NGE1 ZThiZDI0Zjc2ZjgyMTI4ZmEyZGU4ZGExNWFjP2JyYW5jaD1jdmUtMjAyNi01ODAxNi1mNDQKCiAg ICAgICAgICAgIExvZzoKICAgICAgICAgICAgQmFja3BvcnQgdXBzdHJlYW0gcGF0Y2hlcyB0byBm aXggaW52YWxpZCB1c2Ugb2Ygdm9sYXRpbGUgb2JqZWN0cwoKVGhpcyBpcyBuZWVkZWQgZm9yIGdj YyAxMS4KCi0tLQpkaWZmIC0tZ2l0IGEvMTcxOS5wYXRjaCBiLzE3MTkucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmJkYWEyYwotLS0gL2Rldi9udWxsCisrKyBiLzE3 MTkucGF0Y2gKQEAgLTAsMCArMSwzNDE3IEBACitGcm9tIGZhYjU2MWY4ZDA1Nzk0MzI5MTg0Y2Q4 MWY5YWI5ZDlkNzdkY2MyMmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQaGlsaXAg V2l0aG5hbGwgPHB3aXRobmFsbEBlbmRsZXNzb3Mub3JnPgorRGF0ZTogV2VkLCAxMSBOb3YgMjAy MCAxODoxMjoyMiArMDAwMAorU3ViamVjdDogW1BBVENIIDAxLzI5XSBnb2JqZWN0OiBEcm9wIHVz ZSBvZiB2b2xhdGlsZSBmcm9tIGdldF90eXBlKCkgbWFjcm9zCitNSU1FLVZlcnNpb246IDEuMAor Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA4Yml0CisKK2h0dHA6Ly9pc3ZvbGF0aWxldXNlZnVsd2l0aHRocmVhZHMuaW4v Yy8KKworSXTigJlzIHBvc3NpYmxlIHRoYXQgdGhlIHZhcmlhYmxlcyBoZXJlIGFyZSBvbmx5IG1h cmtlZCBhcyB2b2xhdGlsZQorYmVjYXVzZSB0aGV54oCZcmUgYXJndW1lbnRzIHRvIGBnX29uY2Vf KigpYC4gVGhvc2UgYXJndW1lbnRzIHdpbGwgYmUKK21vZGlmaWVkIGluIGEgc3Vic2VxdWVudCBj b21taXQuCisKK1NpZ25lZC1vZmYtYnk6IFBoaWxpcCBXaXRobmFsbCA8cHdpdGhuYWxsQGVuZGxl c3Nvcy5vcmc+CisKK0hlbHBzOiAjNjAwCistLS0KKyBkb2NzL3JlZmVyZW5jZS9nb2JqZWN0L2ds aWItbWtlbnVtcy54bWwgfCAgOCArKy0tLQorIGRvY3MvcmVmZXJlbmNlL2dvYmplY3QvdHV0X2d0 eXBlLnhtbCAgICB8ICAyICstCisgZ2lvL2dpb2VudW10eXBlcy5jLnRlbXBsYXRlICAgICAgICAg ICAgIHwgIDggKystLS0KKyBnaW8vdGVzdHMvZ3NldHRpbmdzLmMgICAgICAgICAgICAgICAgICAg fCAgNCArLS0KKyBnb2JqZWN0L2diaW5kaW5nLmMgICAgICAgICAgICAgICAgICAgICAgfCAgOCAr Ky0tLQorIGdvYmplY3QvZ2JveGVkLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICsrLS0t CisgZ29iamVjdC9nbGliLWVudW10eXBlcy5jLnRlbXBsYXRlICAgICAgIHwgIDggKystLS0KKyBn b2JqZWN0L2dzb3VyY2VjbG9zdXJlLmMgICAgICAgICAgICAgICAgfCAgMiArLQorIGdvYmplY3Qv Z3R5cGUuaCAgICAgICAgICAgICAgICAgICAgICAgICB8IDQ4ICsrKysrKysrKysrKy0tLS0tLS0t LS0tLS0KKyBnb2JqZWN0L3Rlc3RzL3NpZ25hbHMuYyAgICAgICAgICAgICAgICAgfCAxNiArKysr LS0tLS0KKyAxMCBmaWxlcyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL2RvY3MvcmVmZXJlbmNlL2dvYmplY3QvZ2xpYi1ta2VudW1zLnht bCBiL2RvY3MvcmVmZXJlbmNlL2dvYmplY3QvZ2xpYi1ta2VudW1zLnhtbAoraW5kZXggMjIwMDMy OGVkLi5jZTI1MGEzZmYgMTAwNjQ0CistLS0gYS9kb2NzL3JlZmVyZW5jZS9nb2JqZWN0L2dsaWIt bWtlbnVtcy54bWwKKysrKyBiL2RvY3MvcmVmZXJlbmNlL2dvYmplY3QvZ2xpYi1ta2VudW1zLnht bAorQEAgLTQ4MCw5ICs0ODAsOSBAQCBBIEMgc291cmNlIHRlbXBsYXRlIGZpbGUgd2lsbCB0eXBp Y2FsbHkgbG9vayBsaWtlIHRoaXM6CisgR1R5cGUKKyBAZW51bV9uYW1lQF9nZXRfdHlwZSAodm9p ZCkKKyB7CistICBzdGF0aWMgdm9sYXRpbGUgZ3NpemUgZ19AdHlwZUBfdHlwZV9pZF9fdm9sYXRp bGU7CisrICBzdGF0aWMgZ3NpemUgc3RhdGljX2dfQHR5cGVAX3R5cGVfaWQ7CisgCistICBpZiAo Z19vbmNlX2luaXRfZW50ZXIgKCZhbXA7Z19kZWZpbmVfdHlwZV9pZF9fdm9sYXRpbGUpKQorKyAg aWYgKGdfb25jZV9pbml0X2VudGVyICgmYW1wO3N0YXRpY19nX0B0eXBlQF90eXBlX2lkKSkKKyAg ICAgeworICAgICAgIHN0YXRpYyBjb25zdCBHQFR5cGVAVmFsdWUgdmFsdWVzW10gPSB7CisgLyoq KiBFTkQgdmFsdWUtaGVhZGVyICoqKi8KK0BAIC00OTgsOSArNDk4LDkgQEAgR1R5cGUKKyAgICAg ICBHVHlwZSBnX0B0eXBlQF90eXBlX2lkID0KKyAgICAgICAgIGdfQHR5cGVAX3JlZ2lzdGVyX3N0 YXRpYyAoZ19pbnRlcm5fc3RhdGljX3N0cmluZyAoIkBFbnVtTmFtZUAiKSwgdmFsdWVzKTsKKyAK Ky0gICAgICBnX29uY2VfaW5pdF9sZWF2ZSAoJmFtcDtnX0B0eXBlQF90eXBlX2lkX192b2xhdGls ZSwgZ19AdHlwZUBfdHlwZV9pZCk7CisrICAgICAgZ19vbmNlX2luaXRfbGVhdmUgKCZhbXA7c3Rh dGljX2dfQHR5cGVAX3R5cGVfaWQsIGdfQHR5cGVAX3R5cGVfaWQpOworICAgICB9CistICByZXR1 cm4gZ19AdHlwZUBfdHlwZV9pZF9fdm9sYXRpbGU7CisrICByZXR1cm4gc3RhdGljX2dfQHR5cGVA X3R5cGVfaWQ7CisgfQorIAorIC8qKiogRU5EIHZhbHVlLXRhaWwgKioqLworZGlmZiAtLWdpdCBh L2RvY3MvcmVmZXJlbmNlL2dvYmplY3QvdHV0X2d0eXBlLnhtbCBiL2RvY3MvcmVmZXJlbmNlL2dv YmplY3QvdHV0X2d0eXBlLnhtbAoraW5kZXggMjVlMzdkYzQ4Li5lZTA0Mjg4OWQgMTAwNjQ0Cist LS0gYS9kb2NzL3JlZmVyZW5jZS9nb2JqZWN0L3R1dF9ndHlwZS54bWwKKysrKyBiL2RvY3MvcmVm ZXJlbmNlL2dvYmplY3QvdHV0X2d0eXBlLnhtbAorQEAgLTg1Miw3ICs4NTIsNyBAQCB2aWV3ZXJf ZWRpdGFibGVfZGVmYXVsdF9pbml0IChWaWV3ZXJFZGl0YWJsZUludGVyZmFjZSAqaWZhY2UpCisg R1R5cGUKKyB2aWV3ZXJfZWRpdGFibGVfZ2V0X3R5cGUgKHZvaWQpCisgeworLSAgc3RhdGljIHZv bGF0aWxlIGdzaXplIHR5cGVfaWQgPSAwOworKyAgc3RhdGljIGdzaXplIHR5cGVfaWQgPSAwOwor ICAgaWYgKGdfb25jZV9pbml0X2VudGVyICgmYW1wO3R5cGVfaWQpKSB7CisgICAgIGNvbnN0IEdU eXBlSW5mbyBpbmZvID0geworICAgICAgIHNpemVvZiAoVmlld2VyRWRpdGFibGVJbnRlcmZhY2Up LAorZGlmZiAtLWdpdCBhL2dpby9naW9lbnVtdHlwZXMuYy50ZW1wbGF0ZSBiL2dpby9naW9lbnVt dHlwZXMuYy50ZW1wbGF0ZQoraW5kZXggZTlhZGM0YTM4Li45NDhhMDEyMDEgMTAwNjQ0CistLS0g YS9naW8vZ2lvZW51bXR5cGVzLmMudGVtcGxhdGUKKysrKyBiL2dpby9naW9lbnVtdHlwZXMuYy50 ZW1wbGF0ZQorQEAgLTEzLDkgKzEzLDkgQEAKKyBHVHlwZQorIEBlbnVtX25hbWVAX2dldF90eXBl ICh2b2lkKQorIHsKKy0gIHN0YXRpYyB2b2xhdGlsZSBnc2l6ZSBnX2RlZmluZV90eXBlX2lkX192 b2xhdGlsZSA9IDA7CisrICBzdGF0aWMgZ3NpemUgc3RhdGljX2dfZGVmaW5lX3R5cGVfaWQgPSAw OworIAorLSAgaWYgKGdfb25jZV9pbml0X2VudGVyICgmZ19kZWZpbmVfdHlwZV9pZF9fdm9sYXRp bGUpKQorKyAgaWYgKGdfb25jZV9pbml0X2VudGVyICgmc3RhdGljX2dfZGVmaW5lX3R5cGVfaWQp KQorICAgICB7CisgICAgICAgc3RhdGljIGNvbnN0IEdAVHlwZUBWYWx1ZSB2YWx1ZXNbXSA9IHsK KyAvKioqIEVORCB2YWx1ZS1oZWFkZXIgKioqLworQEAgLTI5LDEwICsyOSwxMCBAQCBHVHlwZQor ICAgICAgIH07CisgICAgICAgR1R5cGUgZ19kZWZpbmVfdHlwZV9pZCA9CisgICAgICAgICBnX0B0 eXBlQF9yZWdpc3Rlcl9zdGF0aWMgKGdfaW50ZXJuX3N0YXRpY19zdHJpbmcgKCJARW51bU5hbWVA IiksIHZhbHVlcyk7CistICAgICAgZ19vbmNlX2luaXRfbGVhdmUgKCZnX2RlZmluZV90eXBlX2lk X192b2xhdGlsZSwgZ19kZWZpbmVfdHlwZV9pZCk7CisrICAgICAgZ19vbmNlX2luaXRfbGVhdmUg KCZzdGF0aWNfZ19kZWZpbmVfdHlwZV9pZCwgZ19kZWZpbmVfdHlwZV9pZCk7CisgICAgIH0KKyAK Ky0gIHJldHVybiBnX2RlZmluZV90eXBlX2lkX192b2xhdGlsZTsKKysgIHJldHVybiBzdGF0aWNf Z19kZWZpbmVfdHlwZV9pZDsKKyB9CisgCisgLyoqKiBFTkQgdmFsdWUtdGFpbCAqKiovCitkaWZm IC0tZ2l0IGEvZ2lvL3Rlc3RzL2dzZXR0aW5ncy5jIGIvZ2lvL3Rlc3RzL2dzZXR0aW5ncy5jCitp bmRleCAyZjgxYWU2YzMuLjE3OWQwZmQyZiAxMDA2NDQKKy0tLSBhL2dpby90ZXN0cy9nc2V0dGlu Z3MuYworKysrIGIvZ2lvL3Rlc3RzL2dzZXR0aW5ncy5jCitAQCAtMTA2MCw3ICsxMDYwLDcgQEAg dGVzdF9vYmplY3Rfc2V0X3Byb3BlcnR5IChHT2JqZWN0ICAgICAgKm9iamVjdCwKKyBzdGF0aWMg R1R5cGUKKyB0ZXN0X2VudW1fZ2V0X3R5cGUgKHZvaWQpCisgeworLSAgc3RhdGljIHZvbGF0aWxl IGdzaXplIGRlZmluZV90eXBlX2lkID0gMDsKKysgIHN0YXRpYyBnc2l6ZSBkZWZpbmVfdHlwZV9p ZCA9IDA7CisgCisgICBpZiAoZ19vbmNlX2luaXRfZW50ZXIgKCZkZWZpbmVfdHlwZV9pZCkpCisg ICAgIHsKK0BAIC0xMDgyLDcgKzEwODIsNyBAQCB0ZXN0X2VudW1fZ2V0X3R5cGUgKHZvaWQpCisg c3RhdGljIEdUeXBlCisgdGVzdF9mbGFnc19nZXRfdHlwZSAodm9pZCkKKyB7CistICBzdGF0aWMg dm9sYXRpbGUgZ3NpemUgZGVmaW5lX3R5cGVfaWQgPSAwOworKyAgc3RhdGljIGdzaXplIGRlZmlu ZV90eXBlX2lkID0gMDsKKyAKKyAgIGlmIChnX29uY2VfaW5pdF9lbnRlciAoJmRlZmluZV90eXBl X2lkKSkKKyAgICAgeworZGlmZiAtLWdpdCBhL2dvYmplY3QvZ2JpbmRpbmcuYyBiL2dvYmplY3Qv Z2JpbmRpbmcuYworaW5kZXggNzhhODgzMDc1Li42NjJkNzZiM2MgMTAwNjQ0CistLS0gYS9nb2Jq ZWN0L2diaW5kaW5nLmMKKysrKyBiL2dvYmplY3QvZ2JpbmRpbmcuYworQEAgLTEyMCw5ICsxMjAs OSBAQAorIEdUeXBlCisgZ19iaW5kaW5nX2ZsYWdzX2dldF90eXBlICh2b2lkKQorIHsKKy0gIHN0 YXRpYyB2b2xhdGlsZSBnc2l6ZSBnX2RlZmluZV90eXBlX2lkX192b2xhdGlsZSA9IDA7CisrICBz dGF0aWMgZ3NpemUgc3RhdGljX2dfZGVmaW5lX3R5cGVfaWQgPSAwOworIAorLSAgaWYgKGdfb25j ZV9pbml0X2VudGVyICgmZ19kZWZpbmVfdHlwZV9pZF9fdm9sYXRpbGUpKQorKyAgaWYgKGdfb25j ZV9pbml0X2VudGVyICgmc3RhdGljX2dfZGVmaW5lX3R5cGVfaWQpKQorICAgICB7CisgICAgICAg c3RhdGljIGNvbnN0IEdGbGFnc1ZhbHVlIHZhbHVlc1tdID0geworICAgICAgICAgeyBHX0JJTkRJ TkdfREVGQVVMVCwgIkdfQklORElOR19ERUZBVUxUIiwgImRlZmF1bHQiIH0sCitAQCAtMTMzLDEw ICsxMzMsMTAgQEAgZ19iaW5kaW5nX2ZsYWdzX2dldF90eXBlICh2b2lkKQorICAgICAgIH07Cisg ICAgICAgR1R5cGUgZ19kZWZpbmVfdHlwZV9pZCA9CisgICAgICAgICBnX2ZsYWdzX3JlZ2lzdGVy X3N0YXRpYyAoZ19pbnRlcm5fc3RhdGljX3N0cmluZyAoIkdCaW5kaW5nRmxhZ3MiKSwgdmFsdWVz KTsKKy0gICAgICBnX29uY2VfaW5pdF9sZWF2ZSAoJmdfZGVmaW5lX3R5cGVfaWRfX3ZvbGF0aWxl LCBnX2RlZmluZV90eXBlX2lkKTsKKysgICAgICBnX29uY2VfaW5pdF9sZWF2ZSAoJnN0YXRpY19n X2RlZmluZV90eXBlX2lkLCBnX2RlZmluZV90eXBlX2lkKTsKKyAgICAgfQorIAorLSAgcmV0dXJu IGdfZGVmaW5lX3R5cGVfaWRfX3ZvbGF0aWxlOworKyAgcmV0dXJuIHN0YXRpY19nX2RlZmluZV90 eXBlX2lkOworIH0KKyAKKyAjZGVmaW5lIEdfQklORElOR19DTEFTUyhrbGFzcykgICAgICAgICAg KEdfVFlQRV9DSEVDS19DTEFTU19DQVNUICgoa2xhc3MpLCBHX1RZUEVfQklORElORywgR0JpbmRp bmdDbGFzcykpCitkaWZmIC0tZ2l0IGEvZ29iamVjdC9nYm94ZWQuYyBiL2dvYmplY3QvZ2JveGVk LmMKK2luZGV4IDMwYmE0ZTc3NS4uMTk0MjUxMzgzIDEwMDY0NAorLS0tIGEvZ29iamVjdC9nYm94 ZWQuYworKysrIGIvZ29iamVjdC9nYm94ZWQuYworQEAgLTE4MCwxOSArMTgwLDE5IEBAIEdfREVG SU5FX0JPWEVEX1RZUEUgKEdPcHRpb25Hcm91cCwgZ19vcHRpb25fZ3JvdXAsIGdfb3B0aW9uX2dy b3VwX3JlZiwgZ19vcHRpb25fCisgR1R5cGUKKyBnX3N0cnZfZ2V0X3R5cGUgKHZvaWQpCisgewor LSAgc3RhdGljIHZvbGF0aWxlIGdzaXplIGdfZGVmaW5lX3R5cGVfaWRfX3ZvbGF0aWxlID0gMDsK KysgIHN0YXRpYyBnc2l6ZSBzdGF0aWNfZ19kZWZpbmVfdHlwZV9pZCA9IDA7CisgCistICBpZiAo Z19vbmNlX2luaXRfZW50ZXIgKCZnX2RlZmluZV90eXBlX2lkX192b2xhdGlsZSkpCisrICBpZiAo Z19vbmNlX2luaXRfZW50ZXIgKCZzdGF0aWNfZ19kZWZpbmVfdHlwZV9pZCkpCisgICAgIHsKKyAg ICAgICBHVHlwZSBnX2RlZmluZV90eXBlX2lkID0KKyAgICAgICAgIGdfYm94ZWRfdHlwZV9yZWdp c3Rlcl9zdGF0aWMgKGdfaW50ZXJuX3N0YXRpY19zdHJpbmcgKCJHU3RydiIpLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEdCb3hlZENvcHlGdW5jKSBnX3N0cmR1cHYs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR0JveGVkRnJlZUZ1bmMp IGdfc3RyZnJlZXYpOworIAorLSAgICAgIGdfb25jZV9pbml0X2xlYXZlICgmZ19kZWZpbmVfdHlw ZV9pZF9fdm9sYXRpbGUsIGdfZGVmaW5lX3R5cGVfaWQpOworKyAgICAgIGdfb25jZV9pbml0X2xl YXZlICgmc3RhdGljX2dfZGVmaW5lX3R5cGVfaWQsIGdfZGVmaW5lX3R5cGVfaWQpOworICAgICB9 CisgCistICByZXR1cm4gZ19kZWZpbmVfdHlwZV9pZF9fdm9sYXRpbGU7CisrICByZXR1cm4gc3Rh dGljX2dfZGVmaW5lX3R5cGVfaWQ7CisgfQorIAorIEdUeXBlCitkaWZmIC0tZ2l0IGEvZ29iamVj dC9nbGliLWVudW10eXBlcy5jLnRlbXBsYXRlIGIvZ29iamVjdC9nbGliLWVudW10eXBlcy5jLnRl bXBsYXRlCitpbmRleCBiN2QzNjcyOGYuLjE4MDBjYThhZiAxMDA2NDQKKy0tLSBhL2dvYmplY3Qv Z2xpYi1lbnVtdHlwZXMuYy50ZW1wbGF0ZQorKysrIGIvZ29iamVjdC9nbGliLWVudW10eXBlcy5j LnRlbXBsYXRlCitAQCAtMTMsOSArMTMsOSBAQAorIEdUeXBlCisgQGVudW1fbmFtZUBfZ2V0X3R5 cGUgKHZvaWQpCisgeworLSAgc3RhdGljIHZvbGF0aWxlIGdzaXplIGdfZGVmaW5lX3R5cGVfaWRf X3ZvbGF0aWxlID0gMDsKKysgIHN0YXRpYyBnc2l6ZSBzdGF0aWNfZ19kZWZpbmVfdHlwZV9pZCA9 IDA7CisgCistICBpZiAoZ19vbmNlX2luaXRfZW50ZXIgKCZnX2RlZmluZV90eXBlX2lkX192b2xh dGlsZSkpCisrICBpZiAoZ19vbmNlX2luaXRfZW50ZXIgKCZzdGF0aWNfZ19kZWZpbmVfdHlwZV9p ZCkpCisgICAgIHsKKyAgICAgICBzdGF0aWMgY29uc3QgR0BUeXBlQFZhbHVlIHZhbHVlc1tdID0g eworIC8qKiogRU5EIHZhbHVlLWhlYWRlciAqKiovCitAQCAtMjksMTAgKzI5LDEwIEBAIEdUeXBl CisgICAgICAgfTsKKyAgICAgICBHVHlwZSBnX2RlZmluZV90eXBlX2lkID0KKyAgICAgICAgIGdf QHR5cGVAX3JlZ2lzdGVyX3N0YXRpYyAoZ19pbnRlcm5fc3RhdGljX3N0cmluZyAoIkBFbnVtTmFt ZUAiKSwgdmFsdWVzKTsKKy0gICAgICBnX29uY2VfaW5pdF9sZWF2ZSAoJmdfZGVmaW5lX3R5cGVf aWRfX3ZvbGF0aWxlLCBnX2RlZmluZV90eXBlX2lkKTsKKysgICAgICBnX29uY2VfaW5pdF9sZWF2 ZSAoJnN0YXRpY19nX2RlZmluZV90eXBlX2lkLCBnX2RlZmluZV90eXBlX2lkKTsKKyAgICAgfQor IAorLSAgcmV0dXJuIGdfZGVmaW5lX3R5cGVfaWRfX3ZvbGF0aWxlOworKyAgcmV0dXJuIHN0YXRp Y19nX2RlZmluZV90eXBlX2lkOworIH0KKyAKKyAvKioqIEVORCB2YWx1ZS10YWlsICoqKi8KK2Rp ZmYgLS1naXQgYS9nb2JqZWN0L2dzb3VyY2VjbG9zdXJlLmMgYi9nb2JqZWN0L2dzb3VyY2VjbG9z dXJlLmMKK2luZGV4IDBkMGQyZTg3Yy4uZDFiMWVlNGIzIDEwMDY0NAorLS0tIGEvZ29iamVjdC9n c291cmNlY2xvc3VyZS5jCisrKysgYi9nb2JqZWN0L2dzb3VyY2VjbG9zdXJlLmMKK0BAIC0zMiw3 ICszMiw3IEBAIEdfREVGSU5FX0JPWEVEX1RZUEUgKEdJT0NoYW5uZWwsIGdfaW9fY2hhbm5lbCwg Z19pb19jaGFubmVsX3JlZiwgZ19pb19jaGFubmVsX3VuCisgR1R5cGUKKyBnX2lvX2NvbmRpdGlv bl9nZXRfdHlwZSAodm9pZCkKKyB7CistICBzdGF0aWMgdm9sYXRpbGUgR1R5cGUgZXR5cGUgPSAw OworKyAgc3RhdGljIEdUeXBlIGV0eXBlID0gMDsKKyAKKyAgIGlmIChnX29uY2VfaW5pdF9lbnRl ciAoJmV0eXBlKSkKKyAgICAgeworZGlmZiAtLWdpdCBhL2dvYmplY3QvZ3R5cGUuaCBiL2dvYmpl Y3QvZ3R5cGUuaAoraW5kZXggOWRlNDZhYzYwLi42NjZmYWRiMGMgMTAwNjQ0CistLS0gYS9nb2Jq ZWN0L2d0eXBlLmgKKysrKyBiL2dvYmplY3QvZ3R5cGUuaAorQEAgLTE3MjcsOCArMTcyNyw4IEBA IGd1aW50ICAgICBnX3R5cGVfZ2V0X3R5cGVfcmVnaXN0cmF0aW9uX3NlcmlhbCAodm9pZCk7Cisg ICogR1R5cGUKKyAgKiBndGtfZ2FkZ2V0X2dldF90eXBlICh2b2lkKQorICAqIHsKKy0gKiAgIHN0 YXRpYyB2b2xhdGlsZSBnc2l6ZSBnX2RlZmluZV90eXBlX2lkX192b2xhdGlsZSA9IDA7CistICog ICBpZiAoZ19vbmNlX2luaXRfZW50ZXIgKCZnX2RlZmluZV90eXBlX2lkX192b2xhdGlsZSkpCisr ICogICBzdGF0aWMgZ3NpemUgc3RhdGljX2dfZGVmaW5lX3R5cGVfaWQgPSAwOworKyAqICAgaWYg KGdfb25jZV9pbml0X2VudGVyICgmc3RhdGljX2dfZGVmaW5lX3R5cGVfaWQpKQorICAqICAgICB7 CisgICogICAgICAgR1R5cGUgZ19kZWZpbmVfdHlwZV9pZCA9CisgICogICAgICAgICBnX3R5cGVf cmVnaXN0ZXJfc3RhdGljX3NpbXBsZSAoR1RLX1RZUEVfV0lER0VULAorQEAgLTE3NDgsOSArMTc0 OCw5IEBAIGd1aW50ICAgICBnX3R5cGVfZ2V0X3R5cGVfcmVnaXN0cmF0aW9uX3NlcmlhbCAodm9p ZCk7CisgICogICAgICAgICB9OworICAqICAgICAgICAgZ190eXBlX2FkZF9pbnRlcmZhY2Vfc3Rh dGljIChnX2RlZmluZV90eXBlX2lkLCBUWVBFX0dJWk1PLCAmZ19pbXBsZW1lbnRfaW50ZXJmYWNl X2luZm8pOworICAqICAgICAgIH0KKy0gKiAgICAgICBnX29uY2VfaW5pdF9sZWF2ZSAoJmdfZGVm aW5lX3R5cGVfaWRfX3ZvbGF0aWxlLCBnX2RlZmluZV90eXBlX2lkKTsKKysgKiAgICAgICBnX29u Y2VfaW5pdF9sZWF2ZSAoJnN0YXRpY19nX2RlZmluZV90eXBlX2lkLCBnX2RlZmluZV90eXBlX2lk KTsKKyAgKiAgICAgfQorLSAqICAgcmV0dXJuIGdfZGVmaW5lX3R5cGVfaWRfX3ZvbGF0aWxlOwor KyAqICAgcmV0dXJuIHN0YXRpY19nX2RlZmluZV90eXBlX2lkOworICAqIH0KKyAgKiBdfAorICAq IFRoZSBvbmx5IHBpZWNlcyB3aGljaCBoYXZlIHRvIGJlIG1hbnVhbGx5IHByb3ZpZGVkIGFyZSB0 aGUgZGVmaW5pdGlvbnMgb2YKK0BAIC0xOTk1LDE3ICsxOTk1LDE3IEBAIHR5cGVfbmFtZSMjX2dl dF9pbnN0YW5jZV9wcml2YXRlIChUeXBlTmFtZSAqc2VsZikgXAorIEdUeXBlIFwKKyB0eXBlX25h bWUjI19nZXRfdHlwZSAodm9pZCkgXAorIHsgXAorLSAgc3RhdGljIHZvbGF0aWxlIGdzaXplIGdf ZGVmaW5lX3R5cGVfaWRfX3ZvbGF0aWxlID0gMDsKKysgIHN0YXRpYyBnc2l6ZSBzdGF0aWNfZ19k ZWZpbmVfdHlwZV9pZCA9IDA7CisgICAvKiBQcmVsdWRlIGdvZXMgaGVyZSAqLworIAorIC8qIEFk ZGVkIGZvciBfR19ERUZJTkVfVFlQRV9FWFRFTkRFRF9XSVRIX1BSRUxVREUgKi8KKyAjZGVmaW5l IF9HX0RFRklORV9UWVBFX0VYVEVOREVEX0JFR0lOX1JFR0lTVEVSKFR5cGVOYW1lLCB0eXBlX25h bWUsIFRZUEVfUEFSRU5ULCBmbGFncykgXAorLSAgaWYgKGdfb25jZV9pbml0X2VudGVyICgmZ19k ZWZpbmVfdHlwZV9pZF9fdm9sYXRpbGUpKSAgXAorKyAgaWYgKGdfb25jZV9pbml0X2VudGVyICgm c3RhdGljX2dfZGVmaW5lX3R5cGVfaWQpKSBcCisgICAgIHsgXAorICAgICAgIEdUeXBlIGdfZGVm aW5lX3R5cGVfaWQgPSB0eXBlX25hbWUjI19nZXRfdHlwZV9vbmNlICgpOyBcCistICAgICAgZ19v bmNlX2luaXRfbGVhdmUgKCZnX2RlZmluZV90eXBlX2lkX192b2xhdGlsZSwgZ19kZWZpbmVfdHlw ZV9pZCk7IFwKKysgICAgICBnX29uY2VfaW5pdF9sZWF2ZSAoJnN0YXRpY19nX2RlZmluZV90eXBl X2lkLCBnX2RlZmluZV90eXBlX2lkKTsgXAorICAgICB9CQkJCQlcCistICByZXR1cm4gZ19kZWZp bmVfdHlwZV9pZF9fdm9sYXRpbGU7CVwKKysgIHJldHVybiBzdGF0aWNfZ19kZWZpbmVfdHlwZV9p ZDsgXAorIH0gLyogY2xvc2VzIHR5cGVfbmFtZSMjX2dldF90eXBlKCkgKi8gXAorIFwKKyBHX0dO VUNfTk9fSU5MSU5FIFwKK0BAIC0yMDQxLDggKzIwNDEsOCBAQCBzdGF0aWMgdm9pZCAgICAgdHlw ZV9uYW1lIyNfZGVmYXVsdF9pbml0ICAgICAgICAoVHlwZU5hbWUjI0ludGVyZmFjZSAqa2xhc3Mp OyBcCisgR1R5cGUgXAorIHR5cGVfbmFtZSMjX2dldF90eXBlICh2b2lkKSBcCisgeyBcCistICBz dGF0aWMgdm9sYXRpbGUgZ3NpemUgZ19kZWZpbmVfdHlwZV9pZF9fdm9sYXRpbGUgPSAwOyBcCist ICBpZiAoZ19vbmNlX2luaXRfZW50ZXIgKCZnX2RlZmluZV90eXBlX2lkX192b2xhdGlsZSkpICBc CisrICBzdGF0aWMgZ3NpemUgc3RhdGljX2dfZGVmaW5lX3R5cGVfaWQgPSAwOyBcCisrICBpZiAo Z19vbmNlX2luaXRfZW50ZXIgKCZzdGF0aWNfZ19kZWZpbmVfdHlwZV9pZCkpIFwKKyAgICAgeyBc CisgICAgICAgR1R5cGUgZ19kZWZpbmVfdHlwZV9pZCA9IFwKKyAgICAgICAgIGdfdHlwZV9yZWdp c3Rlcl9zdGF0aWNfc2ltcGxlIChHX1RZUEVfSU5URVJGQUNFLCBcCitAQCAtMjA1OCw5ICsyMDU4 LDkgQEAgdHlwZV9uYW1lIyNfZ2V0X3R5cGUgKHZvaWQpIFwKKyAjZGVmaW5lIF9HX0RFRklORV9J TlRFUkZBQ0VfRVhURU5ERURfRU5EKCkJXAorICAgICAgICAgLyogZm9sbG93aW5nIGN1c3RvbSBj b2RlICovCQlcCisgICAgICAgfQkJCQkJCVwKKy0gICAgICBnX29uY2VfaW5pdF9sZWF2ZSAoJmdf ZGVmaW5lX3R5cGVfaWRfX3ZvbGF0aWxlLCBnX2RlZmluZV90eXBlX2lkKTsgXAorKyAgICAgIGdf b25jZV9pbml0X2xlYXZlICgmc3RhdGljX2dfZGVmaW5lX3R5cGVfaWQsIGdfZGVmaW5lX3R5cGVf aWQpOyBcCisgICAgIH0JCQkJCQlcCistICByZXR1cm4gZ19kZWZpbmVfdHlwZV9pZF9fdm9sYXRp bGU7CQkJXAorKyAgcmV0dXJuIHN0YXRpY19nX2RlZmluZV90eXBlX2lkOyBcCisgfSAvKiBjbG9z ZXMgdHlwZV9uYW1lIyNfZ2V0X3R5cGUoKSAqLworIAorIC8qKgorQEAgLTIxMTUsMTMgKzIxMTUs MTMgQEAgc3RhdGljIEdUeXBlIHR5cGVfbmFtZSMjX2dldF90eXBlX29uY2UgKHZvaWQpOyBcCisg R1R5cGUgXAorIHR5cGVfbmFtZSMjX2dldF90eXBlICh2b2lkKSBcCisgeyBcCistICBzdGF0aWMg dm9sYXRpbGUgZ3NpemUgZ19kZWZpbmVfdHlwZV9pZF9fdm9sYXRpbGUgPSAwOyBcCistICBpZiAo Z19vbmNlX2luaXRfZW50ZXIgKCZnX2RlZmluZV90eXBlX2lkX192b2xhdGlsZSkpICBcCisrICBz dGF0aWMgZ3NpemUgc3RhdGljX2dfZGVmaW5lX3R5cGVfaWQgPSAwOyBcCisrICBpZiAoZ19vbmNl X2luaXRfZW50ZXIgKCZzdGF0aWNfZ19kZWZpbmVfdHlwZV9pZCkpIFwKKyAgICAgeyBcCisgICAg ICAgR1R5cGUgZ19kZWZpbmVfdHlwZV9pZCA9IHR5cGVfbmFtZSMjX2dldF90eXBlX29uY2UgKCk7 IFwKKy0gICAgICBnX29uY2VfaW5pdF9sZWF2ZSAoJmdfZGVmaW5lX3R5cGVfaWRfX3ZvbGF0aWxl LCBnX2RlZmluZV90eXBlX2lkKTsgXAorKyAgICAgIGdfb25jZV9pbml0X2xlYXZlICgmc3RhdGlj X2dfZGVmaW5lX3R5cGVfaWQsIGdfZGVmaW5lX3R5cGVfaWQpOyBcCisgICAgIH0gXAorLSAgcmV0 dXJuIGdfZGVmaW5lX3R5cGVfaWRfX3ZvbGF0aWxlOyBcCisrICByZXR1cm4gc3RhdGljX2dfZGVm aW5lX3R5cGVfaWQ7IFwKKyB9IFwKKyBcCisgR19HTlVDX05PX0lOTElORSBcCitAQCAtMjE1Miwx MyArMjE1MiwxMyBAQCBzdGF0aWMgR1R5cGUgdHlwZV9uYW1lIyNfZ2V0X3R5cGVfb25jZSAodm9p ZCk7IFwKKyBHVHlwZSBcCisgdHlwZV9uYW1lIyNfZ2V0X3R5cGUgKHZvaWQpIFwKKyB7IFwKKy0g IHN0YXRpYyB2b2xhdGlsZSBnc2l6ZSBnX2RlZmluZV90eXBlX2lkX192b2xhdGlsZSA9IDA7IFwK Ky0gIGlmIChnX29uY2VfaW5pdF9lbnRlciAoJmdfZGVmaW5lX3R5cGVfaWRfX3ZvbGF0aWxlKSkg IFwKKysgIHN0YXRpYyBnc2l6ZSBzdGF0aWNfZ19kZWZpbmVfdHlwZV9pZCA9IDA7IFwKKysgIGlm IChnX29uY2VfaW5pdF9lbnRlciAoJnN0YXRpY19nX2RlZmluZV90eXBlX2lkKSkgXAorICAgICB7 IFwKKyAgICAgICBHVHlwZSBnX2RlZmluZV90eXBlX2lkID0gdHlwZV9uYW1lIyNfZ2V0X3R5cGVf b25jZSAoKTsgXAorLSAgICAgIGdfb25jZV9pbml0X2xlYXZlICgmZ19kZWZpbmVfdHlwZV9pZF9f dm9sYXRpbGUsIGdfZGVmaW5lX3R5cGVfaWQpOyBcCisrICAgICAgZ19vbmNlX2luaXRfbGVhdmUg KCZzdGF0aWNfZ19kZWZpbmVfdHlwZV9pZCwgZ19kZWZpbmVfdHlwZV9pZCk7IFwKKyAgICAgfSBc CistICByZXR1cm4gZ19kZWZpbmVfdHlwZV9pZF9fdm9sYXRpbGU7IFwKKysgIHJldHVybiBzdGF0 aWNfZ19kZWZpbmVfdHlwZV9pZDsgXAorIH0gXAorIFwKKyBHX0dOVUNfTk9fSU5MSU5FIFwKK0BA IC0yMjA1LDEzICsyMjA1LDEzIEBAIHN0YXRpYyBHVHlwZSB0eXBlX25hbWUjI19nZXRfdHlwZV9v bmNlICh2b2lkKTsgXAorIEdUeXBlIFwKKyB0eXBlX25hbWUjI19nZXRfdHlwZSAodm9pZCkgXAor IHsgXAorLSAgc3RhdGljIHZvbGF0aWxlIGdzaXplIGdfZGVmaW5lX3R5cGVfaWRfX3ZvbGF0aWxl ID0gMDsgXAorLSAgaWYgKGdfb25jZV9pbml0X2VudGVyICgmZ19kZWZpbmVfdHlwZV9pZF9fdm9s YXRpbGUpKSAgXAorKyAgc3RhdGljIGdzaXplIHN0YXRpY19nX2RlZmluZV90eXBlX2lkID0gMDsg XAorKyAgaWYgKGdfb25jZV9pbml0X2VudGVyICgmc3RhdGljX2dfZGVmaW5lX3R5cGVfaWQpKSBc CisgICAgIHsgXAorICAgICAgIEdUeXBlIGdfZGVmaW5lX3R5cGVfaWQgPSB0eXBlX25hbWUjI19n ZXRfdHlwZV9vbmNlICgpOyBcCistICAgICAgZ19vbmNlX2luaXRfbGVhdmUgKCZnX2RlZmluZV90 eXBlX2lkX192b2xhdGlsZSwgZ19kZWZpbmVfdHlwZV9pZCk7IFwKKysgICAgICBnX29uY2VfaW5p dF9sZWF2ZSAoJnN0YXRpY19nX2RlZmluZV90eXBlX2lkLCBnX2RlZmluZV90eXBlX2lkKTsgXAor ICAgICB9IFwKKy0gIHJldHVybiBnX2RlZmluZV90eXBlX2lkX192b2xhdGlsZTsgXAorKyAgcmV0 dXJuIHN0YXRpY19nX2RlZmluZV90eXBlX2lkOyBcCisgfSBcCisgXAorIEdfR05VQ19OT19JTkxJ TkUgXAorZGlmZiAtLWdpdCBhL2dvYmplY3QvdGVzdHMvc2lnbmFscy5jIGIvZ29iamVjdC90ZXN0 cy9zaWduYWxzLmMKK2luZGV4IDEyMGY5MGI1Yy4uYWMwY2U1MTAyIDEwMDY0NAorLS0tIGEvZ29i amVjdC90ZXN0cy9zaWduYWxzLmMKKysrKyBiL2dvYmplY3QvdGVzdHMvc2lnbmFscy5jCitAQCAt NjYsOSArNjYsOSBAQCBjdXN0b21fbWFyc2hhbF9WT0lEX19JTlZPQ0FUSU9OSElOVCAoR0Nsb3N1 cmUgICAgICpjbG9zdXJlLAorIHN0YXRpYyBHVHlwZQorIHRlc3RfZW51bV9nZXRfdHlwZSAodm9p ZCkKKyB7CistICBzdGF0aWMgdm9sYXRpbGUgZ3NpemUgZ19kZWZpbmVfdHlwZV9pZF9fdm9sYXRp bGUgPSAwOworKyAgc3RhdGljIGdzaXplIHN0YXRpY19nX2RlZmluZV90eXBlX2lkID0gMDsKKyAK Ky0gIGlmIChnX29uY2VfaW5pdF9lbnRlciAoJmdfZGVmaW5lX3R5cGVfaWRfX3ZvbGF0aWxlKSkK KysgIGlmIChnX29uY2VfaW5pdF9lbnRlciAoJnN0YXRpY19nX2RlZmluZV90eXBlX2lkKSkKKyAg ICAgeworICAgICAgIHN0YXRpYyBjb25zdCBHRW51bVZhbHVlIHZhbHVlc1tdID0geworICAgICAg ICAgeyBURVNUX0VOVU1fTkVHQVRJVkUsICJURVNUX0VOVU1fTkVHQVRJVkUiLCAibmVnYXRpdmUi IH0sCitAQCAtNzksMTggKzc5LDE4IEBAIHRlc3RfZW51bV9nZXRfdHlwZSAodm9pZCkKKyAgICAg ICB9OworICAgICAgIEdUeXBlIGdfZGVmaW5lX3R5cGVfaWQgPQorICAgICAgICAgZ19lbnVtX3Jl Z2lzdGVyX3N0YXRpYyAoZ19pbnRlcm5fc3RhdGljX3N0cmluZyAoIlRlc3RFbnVtIiksIHZhbHVl cyk7CistICAgICAgZ19vbmNlX2luaXRfbGVhdmUgKCZnX2RlZmluZV90eXBlX2lkX192b2xhdGls ZSwgZ19kZWZpbmVfdHlwZV9pZCk7CisrICAgICAgZ19vbmNlX2luaXRfbGVhdmUgKCZzdGF0aWNf Z19kZWZpbmVfdHlwZV9pZCwgZ19kZWZpbmVfdHlwZV9pZCk7CisgICAgIH0KKyAKKy0gIHJldHVy biBnX2RlZmluZV90eXBlX2lkX192b2xhdGlsZTsKKysgIHJldHVybiBzdGF0aWNfZ19kZWZpbmVf dHlwZV9pZDsKKyB9CisgCisgc3RhdGljIEdUeXBlCisgdGVzdF91bnNpZ25lZF9lbnVtX2dldF90 eXBlICh2b2lkKQorIHsKKy0gIHN0YXRpYyB2b2xhdGlsZSBnc2l6ZSBnX2RlZmluZV90eXBlX2lk X192b2xhdGlsZSA9IDA7CisrICBzdGF0aWMgZ3NpemUgc3RhdGljX2dfZGVmaW5lX3R5cGVfaWQg PSAwOworIAorLSAgaWYgKGdfb25jZV9pbml0X2VudGVyICgmZ19kZWZpbmVfdHlwZV9pZF9fdm9s YXRpbGUpKQorKyAgaWYgKGdfb25jZV9pbml0X2VudGVyICgmc3RhdGljX2dfZGVmaW5lX3R5cGVf aWQpKQorICAgICB7CisgICAgICAgc3RhdGljIGNvbnN0IEdFbnVtVmFsdWUgdmFsdWVzW10gPSB7 CisgICAgICAgICB7IFRFU1RfVU5TSUdORURfRU5VTV9GT08sICJURVNUX1VOU0lHTkVEX0VOVU1f Rk9PIiwgImZvbyIgfSwKK0BAIC05OSwxMCArOTksMTAgQEAgdGVzdF91bnNpZ25lZF9lbnVtX2dl dF90eXBlICh2b2lkKQorICAgICAgIH07CisgICAgICAgR1R5cGUgZ19kZWZpbmVfdHlwZV9pZCA9 CisgICAgICAgICBnX2VudW1fcmVnaXN0ZXJfc3RhdGljIChnX2ludGVybl9zdGF0aWNfc3RyaW5n ICgiVGVzdFVuc2lnbmVkRW51bSIpLCB2YWx1ZXMpOworLSAgICAgIGdfb25jZV9pbml0X2xlYXZl ICgmZ19kZWZpbmVfdHlwZV9pZF9fdm9sYXRpbGUsIGdfZGVmaW5lX3R5cGVfaWQpOworKyAgICAg IGdfb25jZV9pbml0X2xlYXZlICgmc3RhdGljX2dfZGVmaW5lX3R5cGVfaWQsIGdfZGVmaW5lX3R5 cGVfaWQpOworICAgICB9CisgCistICByZXR1cm4gZ19kZWZpbmVfdHlwZV9pZF9fdm9sYXRpbGU7 CisrICByZXR1cm4gc3RhdGljX2dfZGVmaW5lX3R5cGVfaWQ7CisgfQorIAorIHR5cGVkZWYgZW51 bSB7CistLSAKK0dpdExhYgorCisKK0Zyb20gYTZjZTBlNzQyYTVjNzVjNTNhN2M3MDJlYmIxYWYx MDg0MDY1MTYwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBoaWxpcCBXaXRobmFs bCA8cHdpdGhuYWxsQGVuZGxlc3Nvcy5vcmc+CitEYXRlOiBXZWQsIDExIE5vdiAyMDIwIDE4OjE0 OjI5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMDIvMjldIHRlc3RzOiBGaXggbm9uLWF0b21pYyBh Y2Nlc3MgdG8gYSBzaGFyZWQgdmFyaWFibGUKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5 cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6 IDhiaXQKKworQW5kIGRyb3AgdGhlIGB2b2xhdGlsZWAgcXVhbGlmaWVyIGZyb20gdGhlIHZhcmlh YmxlLCBhcyB0aGF0IGRvZXNu4oCZdAoraGVscCB3aXRoIHRocmVhZCBzYWZldHkuCisKK1NpZ25l ZC1vZmYtYnk6IFBoaWxpcCBXaXRobmFsbCA8cHdpdGhuYWxsQGVuZGxlc3Nvcy5vcmc+CisKK0hl bHBzOiAjNjAwCistLS0KKyBnbGliL3Rlc3RzLzY0MjAyNi5jIHwgNCArKy0tCisgMSBmaWxlIGNo YW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2ds aWIvdGVzdHMvNjQyMDI2LmMgYi9nbGliL3Rlc3RzLzY0MjAyNi5jCitpbmRleCBlZjU0ZjE0YmIu LjI2YWIyZWQwNiAxMDA2NDQKKy0tLSBhL2dsaWIvdGVzdHMvNjQyMDI2LmMKKysrKyBiL2dsaWIv dGVzdHMvNjQyMDI2LmMKK0BAIC0yNSw3ICsyNSw3IEBAIHN0YXRpYyBHTXV0ZXggKm11dGV4Owor IHN0YXRpYyBHQ29uZCAqY29uZDsKKyBzdGF0aWMgZ3VpbnQgaTsKKyAKKy1zdGF0aWMgdm9sYXRp bGUgZ2ludCBmcmVlZCA9IDA7Cisrc3RhdGljIGdpbnQgZnJlZWQgPSAwOyAgLyogKGF0b21pYykg Ki8KKyAKKyBzdGF0aWMgdm9pZAorIG5vdGlmeSAoZ3BvaW50ZXIgcCkKK0BAIC02Myw3ICs2Myw3 IEBAIHRlc3RjYXNlICh2b2lkKQorICAgICAgIEdUaHJlYWQgKnQxOworIAorICAgICAgIGdfc3Rh dGljX3ByaXZhdGVfaW5pdCAoJnNwKTsKKy0gICAgICBmcmVlZCA9IDA7CisrICAgICAgZ19hdG9t aWNfaW50X3NldCAoJmZyZWVkLCAwKTsKKyAKKyAgICAgICB0MSA9IGdfdGhyZWFkX2NyZWF0ZSAo dGhyZWFkX2Z1bmMsIE5VTEwsIFRSVUUsIE5VTEwpOworICAgICAgIGdfYXNzZXJ0ICh0MSAhPSBO VUxMKTsKKy0tIAorR2l0TGFiCisKKworRnJvbSBlYTc0NmM3OWZhZjU1NGQ5ODBjMjFiMGU0Mzgx NzUzZTAwM2QyZGM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGhpbGlwIFdpdGhu YWxsIDxwd2l0aG5hbGxAZW5kbGVzc29zLm9yZz4KK0RhdGU6IFdlZCwgMTEgTm92IDIwMjAgMTg6 MTc6MjMgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAwMy8yOV0gdGVzdHM6IEZpeCBub24tYXRvbWlj IGFjY2VzcyB0byBhIHNoYXJlZCB2YXJpYWJsZQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQt VHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGlu ZzogOGJpdAorCitBbmQgZHJvcCB0aGUgYHZvbGF0aWxlYCBxdWFsaWZpZXIgZnJvbSB0aGUgdmFy aWFibGUsIGFzIHRoYXQgZG9lc27igJl0CitoZWxwIHdpdGggdGhyZWFkIHNhZmV0eS4KKworU2ln bmVkLW9mZi1ieTogUGhpbGlwIFdpdGhuYWxsIDxwd2l0aG5hbGxAZW5kbGVzc29zLm9yZz4KKwor SGVscHM6ICM2MDAKKy0tLQorIGdsaWIvdGVzdHMvbWFpbmxvb3AuYyB8IDIwICsrKysrKysrKyst LS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvZ2xpYi90ZXN0cy9tYWlubG9vcC5jIGIvZ2xpYi90ZXN0cy9t YWlubG9vcC5jCitpbmRleCAxNjc2M2EwZWEuLjU2M2E5NTFkZSAxMDA2NDQKKy0tLSBhL2dsaWIv dGVzdHMvbWFpbmxvb3AuYworKysrIGIvZ2xpYi90ZXN0cy9tYWlubG9vcC5jCitAQCAtOTE4LDcg KzkxOCw3IEBAIHRlc3RfbWFpbmxvb3Bfb3ZlcmZsb3cgKHZvaWQpCisgICBnX21haW5fY29udGV4 dF91bnJlZiAoY3R4KTsKKyB9CisgCistc3RhdGljIHZvbGF0aWxlIGdpbnQgcmVhZHlfdGltZV9k aXNwYXRjaGVkOworK3N0YXRpYyBnaW50IHJlYWR5X3RpbWVfZGlzcGF0Y2hlZDsgIC8qIChhdG9t aWMpICovCisgCisgc3RhdGljIGdib29sZWFuCisgcmVhZHlfdGltZV9kaXNwYXRjaCAoR1NvdXJj ZSAgICAgKnNvdXJjZSwKK0BAIC05NjQsNyArOTY0LDcgQEAgdGVzdF9yZWFkeV90aW1lICh2b2lk KQorICAgLyogQSBzb3VyY2Ugd2l0aCBubyByZWFkeSB0aW1lIHNldCBzaG91bGQgbm90IGZpcmUg Ki8KKyAgIGdfYXNzZXJ0X2NtcGludCAoZ19zb3VyY2VfZ2V0X3JlYWR5X3RpbWUgKHNvdXJjZSks ID09LCAtMSk7CisgICB3aGlsZSAoZ19tYWluX2NvbnRleHRfaXRlcmF0aW9uIChOVUxMLCBGQUxT RSkpOworLSAgZ19hc3NlcnRfZmFsc2UgKHJlYWR5X3RpbWVfZGlzcGF0Y2hlZCk7CisrICBnX2Fz c2VydF9mYWxzZSAoZ19hdG9taWNfaW50X2dldCAoJnJlYWR5X3RpbWVfZGlzcGF0Y2hlZCkpOwor IAorICAgLyogVGhlIHJlYWR5IHRpbWUgc2hvdWxkIG5vdCBoYXZlIGJlZW4gY2hhbmdlZCAqLwor ICAgZ19hc3NlcnRfY21waW50IChnX3NvdXJjZV9nZXRfcmVhZHlfdGltZSAoc291cmNlKSwgPT0s IC0xKTsKK0BAIC05NzgsMzcgKzk3OCwzNyBAQCB0ZXN0X3JlYWR5X3RpbWUgKHZvaWQpCisgICAg Ki8KKyAgIGdfc291cmNlX3NldF9yZWFkeV90aW1lIChzb3VyY2UsIGdfZ2V0X21vbm90b25pY190 aW1lICgpICsgR19USU1FX1NQQU5fREFZKTsKKyAgIHdoaWxlIChnX21haW5fY29udGV4dF9pdGVy YXRpb24gKE5VTEwsIEZBTFNFKSk7CistICBnX2Fzc2VydF9mYWxzZSAocmVhZHlfdGltZV9kaXNw YXRjaGVkKTsKKysgIGdfYXNzZXJ0X2ZhbHNlIChnX2F0b21pY19pbnRfZ2V0ICgmcmVhZHlfdGlt ZV9kaXNwYXRjaGVkKSk7CisgICAvKiBNYWtlIHN1cmUgaXQgZGlkbid0IGdldCByZXNldCAqLwor ICAgZ19hc3NlcnRfY21waW50IChnX3NvdXJjZV9nZXRfcmVhZHlfdGltZSAoc291cmNlKSwgIT0s IC0xKTsKKyAKKyAgIC8qIFJlYWR5IHRpbWUgb2YgLTEgLT4gZG9uJ3QgZmlyZSAqLworICAgZ19z b3VyY2Vfc2V0X3JlYWR5X3RpbWUgKHNvdXJjZSwgLTEpOworICAgd2hpbGUgKGdfbWFpbl9jb250 ZXh0X2l0ZXJhdGlvbiAoTlVMTCwgRkFMU0UpKTsKKy0gIGdfYXNzZXJ0X2ZhbHNlIChyZWFkeV90 aW1lX2Rpc3BhdGNoZWQpOworKyAgZ19hc3NlcnRfZmFsc2UgKGdfYXRvbWljX2ludF9nZXQgKCZy ZWFkeV90aW1lX2Rpc3BhdGNoZWQpKTsKKyAgIC8qIE5vdCByZXNldCwgYnV0IHNob3VsZCBzdGls bCBiZSAtMSBmcm9tIGFib3ZlICovCisgICBnX2Fzc2VydF9jbXBpbnQgKGdfc291cmNlX2dldF9y ZWFkeV90aW1lIChzb3VyY2UpLCA9PSwgLTEpOworIAorICAgLyogQSByZWFkeSB0aW1lIG9mIHRo ZSBjdXJyZW50IHRpbWUgc2hvdWxkIGZpcmUgaW1tZWRpYXRlbHkgKi8KKyAgIGdfc291cmNlX3Nl dF9yZWFkeV90aW1lIChzb3VyY2UsIGdfZ2V0X21vbm90b25pY190aW1lICgpKTsKKyAgIHdoaWxl IChnX21haW5fY29udGV4dF9pdGVyYXRpb24gKE5VTEwsIEZBTFNFKSk7CistICBnX2Fzc2VydF90 cnVlIChyZWFkeV90aW1lX2Rpc3BhdGNoZWQpOworLSAgcmVhZHlfdGltZV9kaXNwYXRjaGVkID0g RkFMU0U7CisrICBnX2Fzc2VydF90cnVlIChnX2F0b21pY19pbnRfZ2V0ICgmcmVhZHlfdGltZV9k aXNwYXRjaGVkKSk7CisrICBnX2F0b21pY19pbnRfc2V0ICgmcmVhZHlfdGltZV9kaXNwYXRjaGVk LCBGQUxTRSk7CisgICAvKiBTaG91bGQgaGF2ZSBnb3R0ZW4gcmVzZXQgYnkgdGhlIGhhbmRsZXIg ZnVuY3Rpb24gKi8KKyAgIGdfYXNzZXJ0X2NtcGludCAoZ19zb3VyY2VfZ2V0X3JlYWR5X3RpbWUg KHNvdXJjZSksID09LCAtMSk7CisgCisgICAvKiBBcyB3ZWxsIGFzIG9uZSBpbiB0aGUgcmVjZW50 IHBhc3QuLi4gKi8KKyAgIGdfc291cmNlX3NldF9yZWFkeV90aW1lIChzb3VyY2UsIGdfZ2V0X21v bm90b25pY190aW1lICgpIC0gR19USU1FX1NQQU5fU0VDT05EKTsKKyAgIHdoaWxlIChnX21haW5f Y29udGV4dF9pdGVyYXRpb24gKE5VTEwsIEZBTFNFKSk7CistICBnX2Fzc2VydF90cnVlIChyZWFk eV90aW1lX2Rpc3BhdGNoZWQpOworLSAgcmVhZHlfdGltZV9kaXNwYXRjaGVkID0gRkFMU0U7Cisr ICBnX2Fzc2VydF90cnVlIChnX2F0b21pY19pbnRfZ2V0ICgmcmVhZHlfdGltZV9kaXNwYXRjaGVk KSk7CisrICBnX2F0b21pY19pbnRfc2V0ICgmcmVhZHlfdGltZV9kaXNwYXRjaGVkLCBGQUxTRSk7 CisgICBnX2Fzc2VydF9jbXBpbnQgKGdfc291cmNlX2dldF9yZWFkeV90aW1lIChzb3VyY2UpLCA9 PSwgLTEpOworIAorICAgLyogWmVybyBpcyB0aGUgJ29mZmljaWFsJyB3YXkgdG8gZ2V0IGEgc291 cmNlIHRvIGZpcmUgaW1tZWRpYXRlbHkgKi8KKyAgIGdfc291cmNlX3NldF9yZWFkeV90aW1lIChz b3VyY2UsIDApOworICAgd2hpbGUgKGdfbWFpbl9jb250ZXh0X2l0ZXJhdGlvbiAoTlVMTCwgRkFM U0UpKTsKKy0gIGdfYXNzZXJ0X3RydWUgKHJlYWR5X3RpbWVfZGlzcGF0Y2hlZCk7CistICByZWFk eV90aW1lX2Rpc3BhdGNoZWQgPSBGQUxTRTsKKysgIGdfYXNzZXJ0X3RydWUgKGdfYXRvbWljX2lu dF9nZXQgKCZyZWFkeV90aW1lX2Rpc3BhdGNoZWQpKTsKKysgIGdfYXRvbWljX2ludF9zZXQgKCZy ZWFkeV90aW1lX2Rpc3BhdGNoZWQsIEZBTFNFKTsKKyAgIGdfYXNzZXJ0X2NtcGludCAoZ19zb3Vy Y2VfZ2V0X3JlYWR5X3RpbWUgKHNvdXJjZSksID09LCAtMSk7CisgCisgICAvKiBOb3cgZG8gc29t ZSB0ZXN0cyBvZiBjcm9zcy10aHJlYWQgd2FrZXVwcy4KKy0tIAorR2l0TGFiCisKKworRnJvbSAz ZGRhNjYyYmViYjgxNjY2ZDAwOTYzNWRmMTA1NWJhNWMxZTE3YjUyIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogUGhpbGlwIFdpdGhuYWxsIDxwd2l0aG5hbGxAZW5kbGVzc29zLm9yZz4K K0RhdGU6IFdlZCwgMTEgTm92IDIwMjAgMTg6MTY6MTcgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAw NC8yOV0gdGVzdHM6IERyb3AgdW5uZWNlc3Nhcnkgdm9sYXRpbGUgcXVhbGlmaWVycyBmcm9tIHRl c3RzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1RoZXNlIHZhcmlhYmxl cyB3ZXJlIGFscmVhZHkgKGNvcnJlY3RseSkgYWNjZXNzZWQgYXRvbWljYWxseS4gVGhlCitgdm9s YXRpbGVgIHF1YWxpZmllciBkb2VzbuKAmXQgaGVscCB3aXRoIHRoYXQuCisKK1NpZ25lZC1vZmYt Ynk6IFBoaWxpcCBXaXRobmFsbCA8cHdpdGhuYWxsQGVuZGxlc3Nvcy5vcmc+CisKK0hlbHBzOiAj NjAwCistLS0KKyBnbGliL3Rlc3RzL2F0b21pYy5jICAgICAgfCA0ICsrLS0KKyBnbGliL3Rlc3Rz L2NvbmQuYyAgICAgICAgfCAyICstCisgZ2xpYi90ZXN0cy9nd2FrZXVwdGVzdC5jIHwgMiArLQor IGdsaWIvdGVzdHMvaGFzaC5jICAgICAgICB8IDIgKy0KKyBnbGliL3Rlc3RzL3NsaWNlLmMgICAg ICAgfCAyICstCisgNSBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25z KC0pCisKK2RpZmYgLS1naXQgYS9nbGliL3Rlc3RzL2F0b21pYy5jIGIvZ2xpYi90ZXN0cy9hdG9t aWMuYworaW5kZXggNmI2Y2M3ZjNlLi43ZDI0NTlmM2EgMTAwNjQ0CistLS0gYS9nbGliL3Rlc3Rz L2F0b21pYy5jCisrKysgYi9nbGliL3Rlc3RzL2F0b21pYy5jCitAQCAtMjQ4LDggKzI0OCw4IEBA IEdfR05VQ19FTkRfSUdOT1JFX0RFUFJFQ0FUSU9OUworICNkZWZpbmUgVEhSRUFEUyAxMAorICNk ZWZpbmUgUk9VTkRTIDEwMDAwCisgCistdm9sYXRpbGUgZ2ludCBidWNrZXRbVEhSRUFEU107Cist dm9sYXRpbGUgZ2ludCBhdG9taWM7CisrZ2ludCBidWNrZXRbVEhSRUFEU107ICAvKiBuZXZlciBj b250ZXN0ZWQgYnkgdGhyZWFkcywgbm90IGFjY2Vzc2VkIGF0b21pY2FsbHkgKi8KKytnaW50IGF0 b21pYzsgIC8qIChhdG9taWMpICovCisgCisgc3RhdGljIGdwb2ludGVyCisgdGhyZWFkX2Z1bmMg KGdwb2ludGVyIGRhdGEpCitkaWZmIC0tZ2l0IGEvZ2xpYi90ZXN0cy9jb25kLmMgYi9nbGliL3Rl c3RzL2NvbmQuYworaW5kZXggMGYwYjNkMjQ5Li5lZDMzOGNjZTMgMTAwNjQ0CistLS0gYS9nbGli L3Rlc3RzL2NvbmQuYworKysrIGIvZ2xpYi90ZXN0cy9jb25kLmMKK0BAIC0yOSw3ICsyOSw3IEBA CisgCisgc3RhdGljIEdDb25kIGNvbmQ7Cisgc3RhdGljIEdNdXRleCBtdXRleDsKKy1zdGF0aWMg dm9sYXRpbGUgZ2ludCBuZXh0OworK3N0YXRpYyBnaW50IG5leHQ7ICAvKiBsb2NrZWQgYnkgQG11 dGV4ICovCisgCisgc3RhdGljIHZvaWQKKyBwdXNoX3ZhbHVlIChnaW50IHZhbHVlKQorZGlmZiAt LWdpdCBhL2dsaWIvdGVzdHMvZ3dha2V1cHRlc3QuYyBiL2dsaWIvdGVzdHMvZ3dha2V1cHRlc3Qu YworaW5kZXggNDYxYTdkM2RlLi5iMzdmYjQzZmMgMTAwNjQ0CistLS0gYS9nbGliL3Rlc3RzL2d3 YWtldXB0ZXN0LmMKKysrKyBiL2dsaWIvdGVzdHMvZ3dha2V1cHRlc3QuYworQEAgLTkyLDcgKzky LDcgQEAgc3RydWN0IGNvbnRleHQKKyBzdGF0aWMgc3RydWN0IGNvbnRleHQgY29udGV4dHNbTlVN X1RIUkVBRFNdOworIHN0YXRpYyBHVGhyZWFkICp0aHJlYWRzW05VTV9USFJFQURTXTsKKyBzdGF0 aWMgR1dha2V1cCAqbGFzdF90b2tlbl93YWtldXA7Cistc3RhdGljIHZvbGF0aWxlIGdpbnQgdG9r ZW5zX2FsaXZlOworK3N0YXRpYyBnaW50IHRva2Vuc19hbGl2ZTsgIC8qIChhdG9taWMpICovCisg Cisgc3RhdGljIHZvaWQKKyBjb250ZXh0X2luaXQgKHN0cnVjdCBjb250ZXh0ICpjdHgpCitkaWZm IC0tZ2l0IGEvZ2xpYi90ZXN0cy9oYXNoLmMgYi9nbGliL3Rlc3RzL2hhc2guYworaW5kZXggNDYy M2QxOGQxLi5mNGZmNTVjZTEgMTAwNjQ0CistLS0gYS9nbGliL3Rlc3RzL2hhc2guYworKysrIGIv Z2xpYi90ZXN0cy9oYXNoLmMKK0BAIC0xMzYyLDcgKzEzNjIsNyBAQCBzdHJ1Y3QgX0dIYXNoVGFi bGUKKyAKKyAgIEdIYXNoRnVuYyAgICAgICAgaGFzaF9mdW5jOworICAgR0VxdWFsRnVuYyAgICAg ICBrZXlfZXF1YWxfZnVuYzsKKy0gIHZvbGF0aWxlIGdpbnQgICAgcmVmX2NvdW50OworKyAgZ2lu dCAgICAgICAgICAgICByZWZfY291bnQ7ICAvKiAoYXRvbWljKSAqLworIAorICNpZm5kZWYgR19E SVNBQkxFX0FTU0VSVAorICAgaW50ICAgICAgICAgICAgICB2ZXJzaW9uOworZGlmZiAtLWdpdCBh L2dsaWIvdGVzdHMvc2xpY2UuYyBiL2dsaWIvdGVzdHMvc2xpY2UuYworaW5kZXggZjM3ODI2ZjNh Li5hNTY2MjgwZGIgMTAwNjQ0CistLS0gYS9nbGliL3Rlc3RzL3NsaWNlLmMKKysrKyBiL2dsaWIv dGVzdHMvc2xpY2UuYworQEAgLTEwNyw3ICsxMDcsNyBAQCB0aHJlYWRfYWxsb2NhdGUgKGdwb2lu dGVyIGRhdGEpCisgICBnaW50IGI7CisgICBnaW50IHNpemU7CisgICBncG9pbnRlciBwOworLSAg dm9sYXRpbGUgZ3BvaW50ZXIgKmxvYzsKKysgIGdwb2ludGVyICpsb2M7ICAvKiAoYXRvbWljKSAq LworIAorICAgZm9yIChpID0gMDsgaSA8IDEwMDAwOyBpKyspCisgICAgIHsKKy0tIAorR2l0TGFi CisKKworRnJvbSA3ZjkwNWZmMWZhZjBhY2JlMGQyY2U2OTkzN2UwMzFmY2FjY2U5Mjk0IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGhpbGlwIFdpdGhuYWxsIDxwd2l0aG5hbGxAZW5k bGVzc29zLm9yZz4KK0RhdGU6IFdlZCwgMTEgTm92IDIwMjAgMTg6MjE6MDAgKzAwMDAKK1N1Ympl Y3Q6IFtQQVRDSCAwNS8yOV0gdGVzdHM6IEZpeCBub24tYXRvbWljIGFjY2VzcyB0byBzb21lIHNo YXJlZCB2YXJpYWJsZXMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxh aW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworQW5k IGRyb3AgdGhlIGB2b2xhdGlsZWAgcXVhbGlmaWVyIGZyb20gdGhlIHZhcmlhYmxlcywgYXMgdGhh dCBkb2VzbuKAmXQKK2hlbHAgd2l0aCB0aHJlYWQgc2FmZXR5LgorCitTaWduZWQtb2ZmLWJ5OiBQ aGlsaXAgV2l0aG5hbGwgPHB3aXRobmFsbEBlbmRsZXNzb3Mub3JnPgorCitIZWxwczogIzYwMAor LS0tCisgZ2lvL3Rlc3RzL2dkYnVzLWNvbm5lY3Rpb24tZmx1c2guYyB8ICAgNiArLQorIGdpby90 ZXN0cy9nZGJ1cy1jb25uZWN0aW9uLmMgICAgICAgfCAgNDAgKysrKy0tLS0KKyBnaW8vdGVzdHMv Z2RidXMtb3ZlcmZsb3cuYyAgICAgICAgIHwgIDIwICsrLS0KKyBnaW8vdGVzdHMvc29ja2V0LXNl cnZpY2UuYyAgICAgICAgIHwgICA2ICstCisgZ2lvL3Rlc3RzL3Rhc2suYyAgICAgICAgICAgICAg ICAgICB8IDE1MCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQorIDUgZmlsZXMgY2hhbmdl ZCwgMTExIGluc2VydGlvbnMoKyksIDExMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dp by90ZXN0cy9nZGJ1cy1jb25uZWN0aW9uLWZsdXNoLmMgYi9naW8vdGVzdHMvZ2RidXMtY29ubmVj dGlvbi1mbHVzaC5jCitpbmRleCA3M2EwMzRiODEuLjhjOTI1ODI1YSAxMDA2NDQKKy0tLSBhL2dp by90ZXN0cy9nZGJ1cy1jb25uZWN0aW9uLWZsdXNoLmMKKysrKyBiL2dpby90ZXN0cy9nZGJ1cy1j b25uZWN0aW9uLWZsdXNoLmMKK0BAIC00Myw5ICs0Myw5IEBAIEdfTE9DS19ERUZJTkVfU1RBVElD ICh3cml0ZSk7CisgdHlwZWRlZiBzdHJ1Y3QgeworICAgICBHRmlsdGVyT3V0cHV0U3RyZWFtIHBh cmVudDsKKyAKKy0gICAgdm9sYXRpbGUgZ2ludCBzdGFydGVkOworLSAgICB2b2xhdGlsZSBnaW50 IGZpbmlzaGVkOworLSAgICB2b2xhdGlsZSBnaW50IGZsdXNoZWQ7CisrICAgIGdpbnQgc3RhcnRl ZDsgIC8qIChhdG9taWMpICovCisrICAgIGdpbnQgZmluaXNoZWQ7ICAvKiAoYXRvbWljKSAqLwor KyAgICBnaW50IGZsdXNoZWQ7ICAvKiAoYXRvbWljKSAqLworIAorICAgICBHT3V0cHV0U3RyZWFt ICpyZWFsX291dHB1dDsKKyB9IE15T3V0cHV0U3RyZWFtOworZGlmZiAtLWdpdCBhL2dpby90ZXN0 cy9nZGJ1cy1jb25uZWN0aW9uLmMgYi9naW8vdGVzdHMvZ2RidXMtY29ubmVjdGlvbi5jCitpbmRl eCAyNzg1NzA2MDkuLjUxZGQyN2Y3ZSAxMDA2NDQKKy0tLSBhL2dpby90ZXN0cy9nZGJ1cy1jb25u ZWN0aW9uLmMKKysrKyBiL2dpby90ZXN0cy9nZGJ1cy1jb25uZWN0aW9uLmMKK0BAIC02MSw5ICs2 MSw5IEBAIF9sb2cgKGNvbnN0IGdjaGFyICpmb3JtYXQsIC4uLikKKyBzdGF0aWMgZ2Jvb2xlYW4K KyB0ZXN0X2Nvbm5lY3Rpb25fcXVpdF9tYWlubG9vcCAoZ3BvaW50ZXIgdXNlcl9kYXRhKQorIHsK Ky0gIHZvbGF0aWxlIGdib29sZWFuICpxdWl0X21haW5sb29wX2ZpcmVkID0gdXNlcl9kYXRhOwor KyAgZ2Jvb2xlYW4gKnF1aXRfbWFpbmxvb3BfZmlyZWQgPSB1c2VyX2RhdGE7ICAvKiAoYXRvbWlj KSAqLworICAgX2xvZyAoInF1aXRfbWFpbmxvb3BfZmlyZWQiKTsKKy0gICpxdWl0X21haW5sb29w X2ZpcmVkID0gVFJVRTsKKysgIGdfYXRvbWljX2ludF9zZXQgKHF1aXRfbWFpbmxvb3BfZmlyZWQs IFRSVUUpOworICAgZ19tYWluX2xvb3BfcXVpdCAobG9vcCk7CisgICByZXR1cm4gR19TT1VSQ0Vf Q09OVElOVUU7CisgfQorQEAgLTExMyw4ICsxMTMsOCBAQCBvbl9uYW1lX293bmVyX2NoYW5nZWQg KEdEQnVzQ29ubmVjdGlvbiAqY29ubmVjdGlvbiwKKyBzdGF0aWMgdm9pZAorIGFfZ2Rlc3Ryb3lu b3RpZnlfdGhhdF9zZXRzX2FfZ2Jvb2xlYW5fdG9fdHJ1ZV9hbmRfcXVpdHNfbG9vcCAoZ3BvaW50 ZXIgdXNlcl9kYXRhKQorIHsKKy0gIHZvbGF0aWxlIGdib29sZWFuICp2YWwgPSB1c2VyX2RhdGE7 CistICAqdmFsID0gVFJVRTsKKysgIGdib29sZWFuICp2YWwgPSB1c2VyX2RhdGE7ICAvKiAoYXRv bWljKSAqLworKyAgZ19hdG9taWNfaW50X3NldCAodmFsLCBUUlVFKTsKKyAgIF9sb2cgKCJkZXN0 cm95bm90aWZ5IGZpcmVkIGZvciAlcCIsIHZhbCk7CisgICBnX21haW5fbG9vcF9xdWl0IChsb29w KTsKKyB9CitAQCAtMTQzLDEwICsxNDMsMTAgQEAgdGVzdF9jb25uZWN0aW9uX2xpZmVfY3ljbGUg KHZvaWQpCisgICBHREJ1c0Nvbm5lY3Rpb24gKmM7CisgICBHREJ1c0Nvbm5lY3Rpb24gKmMyOwor ICAgR0Vycm9yICplcnJvcjsKKy0gIHZvbGF0aWxlIGdib29sZWFuIG9uX3NpZ25hbF9yZWdpc3Ry YXRpb25fZnJlZWRfY2FsbGVkOworLSAgdm9sYXRpbGUgZ2Jvb2xlYW4gb25fZmlsdGVyX2ZyZWVk X2NhbGxlZDsKKy0gIHZvbGF0aWxlIGdib29sZWFuIG9uX3JlZ2lzdGVyX29iamVjdF9mcmVlZF9j YWxsZWQ7CistICB2b2xhdGlsZSBnYm9vbGVhbiBxdWl0X21haW5sb29wX2ZpcmVkOworKyAgZ2Jv b2xlYW4gb25fc2lnbmFsX3JlZ2lzdHJhdGlvbl9mcmVlZF9jYWxsZWQ7ICAvKiAoYXRvbWljKSAq LworKyAgZ2Jvb2xlYW4gb25fZmlsdGVyX2ZyZWVkX2NhbGxlZDsgIC8qIChhdG9taWMpICovCisr ICBnYm9vbGVhbiBvbl9yZWdpc3Rlcl9vYmplY3RfZnJlZWRfY2FsbGVkOyAgLyogKGF0b21pYykg Ki8KKysgIGdib29sZWFuIHF1aXRfbWFpbmxvb3BfZmlyZWQ7ICAvKiAoYXRvbWljKSAqLworICAg Z3VpbnQgcXVpdF9tYWlubG9vcF9pZDsKKyAgIGd1aW50IHJlZ2lzdHJhdGlvbl9pZDsKKyAKK0BA IC0yMDgsNyArMjA4LDcgQEAgdGVzdF9jb25uZWN0aW9uX2xpZmVfY3ljbGUgKHZvaWQpCisgICBn X2Fzc2VydF9ub19lcnJvciAoZXJyb3IpOworICAgZ19hc3NlcnRfbm9ubnVsbCAoYzIpOworICAg Lyogc2lnbmFsIHJlZ2lzdHJhdGlvbiAqLworLSAgb25fc2lnbmFsX3JlZ2lzdHJhdGlvbl9mcmVl ZF9jYWxsZWQgPSBGQUxTRTsKKysgIGdfYXRvbWljX2ludF9zZXQgKCZvbl9zaWduYWxfcmVnaXN0 cmF0aW9uX2ZyZWVkX2NhbGxlZCwgRkFMU0UpOworICAgZ19kYnVzX2Nvbm5lY3Rpb25fc2lnbmFs X3N1YnNjcmliZSAoYzIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi b3JnLmZyZWVkZXNrdG9wLkRCdXMiLCAvKiBidXMgbmFtZSAqLworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIm9yZy5mcmVlZGVza3RvcC5EQnVzIiwgLyogaW50ZXJmYWNl ICovCitAQCAtMjIwLDEzICsyMjAsMTMgQEAgdGVzdF9jb25uZWN0aW9uX2xpZmVfY3ljbGUgKHZv aWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ3BvaW50ZXIpICZv bl9zaWduYWxfcmVnaXN0cmF0aW9uX2ZyZWVkX2NhbGxlZCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGFfZ2Rlc3Ryb3lub3RpZnlfdGhhdF9zZXRzX2FfZ2Jvb2xlYW5f dG9fdHJ1ZV9hbmRfcXVpdHNfbG9vcCk7CisgICAvKiBmaWx0ZXIgZnVuYyAqLworLSAgb25fZmls dGVyX2ZyZWVkX2NhbGxlZCA9IEZBTFNFOworKyAgZ19hdG9taWNfaW50X3NldCAoJm9uX2ZpbHRl cl9mcmVlZF9jYWxsZWQsIEZBTFNFKTsKKyAgIGdfZGJ1c19jb25uZWN0aW9uX2FkZF9maWx0ZXIg KGMyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29tZV9maWx0ZXJfZnVuYywK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChncG9pbnRlcikgJm9uX2ZpbHRlcl9m cmVlZF9jYWxsZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhX2dkZXN0cm95 bm90aWZ5X3RoYXRfc2V0c19hX2dib29sZWFuX3RvX3RydWVfYW5kX3F1aXRzX2xvb3ApOworICAg Lyogb2JqZWN0IHJlZ2lzdHJhdGlvbiAqLworLSAgb25fcmVnaXN0ZXJfb2JqZWN0X2ZyZWVkX2Nh bGxlZCA9IEZBTFNFOworKyAgZ19hdG9taWNfaW50X3NldCAoJm9uX3JlZ2lzdGVyX29iamVjdF9m cmVlZF9jYWxsZWQsIEZBTFNFKTsKKyAgIGVycm9yID0gTlVMTDsKKyAgIHJlZ2lzdHJhdGlvbl9p ZCA9IGdfZGJ1c19jb25uZWN0aW9uX3JlZ2lzdGVyX29iamVjdCAoYzIsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvZm9vIiwKK0BAIC0y MzksNyArMjM5LDcgQEAgdGVzdF9jb25uZWN0aW9uX2xpZmVfY3ljbGUgKHZvaWQpCisgICBnX2Fz c2VydF9jbXB1aW50IChyZWdpc3RyYXRpb25faWQsID4sIDApOworICAgLyogb2ssIGZpbmFsaXpl IHRoZSBjb25uZWN0aW9uIGFuZCBjaGVjayB0aGF0IGFsbCB0aGUgR0Rlc3Ryb3lOb3RpZnkgZnVu Y3Rpb25zIGFyZSBpbnZva2VkIGFzIGV4cGVjdGVkICovCisgICBnX29iamVjdF91bnJlZiAoYzIp OworLSAgcXVpdF9tYWlubG9vcF9maXJlZCA9IEZBTFNFOworKyAgZ19hdG9taWNfaW50X3NldCAo JnF1aXRfbWFpbmxvb3BfZmlyZWQsIEZBTFNFKTsKKyAgIHF1aXRfbWFpbmxvb3BfaWQgPSBnX3Rp bWVvdXRfYWRkICgzMDAwMCwgdGVzdF9jb25uZWN0aW9uX3F1aXRfbWFpbmxvb3AsIChncG9pbnRl cikgJnF1aXRfbWFpbmxvb3BfZmlyZWQpOworICAgX2xvZyAoImRlc3Ryb3lub3RpZmllcyBmb3Jc biIKKyAgICAgICAgICIgcmVnaXN0ZXJfb2JqZWN0ICVwXG4iCitAQCAtMjUwLDIxICsyNTAsMjEg QEAgdGVzdF9jb25uZWN0aW9uX2xpZmVfY3ljbGUgKHZvaWQpCisgICAgICAgICAmb25fc2lnbmFs X3JlZ2lzdHJhdGlvbl9mcmVlZF9jYWxsZWQpOworICAgd2hpbGUgKFRSVUUpCisgICAgIHsKKy0g ICAgICBpZiAob25fc2lnbmFsX3JlZ2lzdHJhdGlvbl9mcmVlZF9jYWxsZWQgJiYKKy0gICAgICAg ICAgb25fZmlsdGVyX2ZyZWVkX2NhbGxlZCAmJgorLSAgICAgICAgICBvbl9yZWdpc3Rlcl9vYmpl Y3RfZnJlZWRfY2FsbGVkKQorKyAgICAgIGlmIChnX2F0b21pY19pbnRfZ2V0ICgmb25fc2lnbmFs X3JlZ2lzdHJhdGlvbl9mcmVlZF9jYWxsZWQpICYmCisrICAgICAgICAgIGdfYXRvbWljX2ludF9n ZXQgKCZvbl9maWx0ZXJfZnJlZWRfY2FsbGVkKSAmJgorKyAgICAgICAgICBnX2F0b21pY19pbnRf Z2V0ICgmb25fcmVnaXN0ZXJfb2JqZWN0X2ZyZWVkX2NhbGxlZCkpCisgICAgICAgICBicmVhazsK Ky0gICAgICBpZiAocXVpdF9tYWlubG9vcF9maXJlZCkKKysgICAgICBpZiAoZ19hdG9taWNfaW50 X2dldCAoJnF1aXRfbWFpbmxvb3BfZmlyZWQpKQorICAgICAgICAgYnJlYWs7CisgICAgICAgX2xv ZyAoImVudGVyaW5nIGxvb3AiKTsKKyAgICAgICBnX21haW5fbG9vcF9ydW4gKGxvb3ApOworICAg ICAgIF9sb2cgKCJleGl0aW5nIGxvb3AiKTsKKyAgICAgfQorICAgZ19zb3VyY2VfcmVtb3ZlIChx dWl0X21haW5sb29wX2lkKTsKKy0gIGdfYXNzZXJ0X3RydWUgKG9uX3NpZ25hbF9yZWdpc3RyYXRp b25fZnJlZWRfY2FsbGVkKTsKKy0gIGdfYXNzZXJ0X3RydWUgKG9uX2ZpbHRlcl9mcmVlZF9jYWxs ZWQpOworLSAgZ19hc3NlcnRfdHJ1ZSAob25fcmVnaXN0ZXJfb2JqZWN0X2ZyZWVkX2NhbGxlZCk7 CistICBnX2Fzc2VydF9mYWxzZSAocXVpdF9tYWlubG9vcF9maXJlZCk7CisrICBnX2Fzc2VydF90 cnVlIChnX2F0b21pY19pbnRfZ2V0ICgmb25fc2lnbmFsX3JlZ2lzdHJhdGlvbl9mcmVlZF9jYWxs ZWQpKTsKKysgIGdfYXNzZXJ0X3RydWUgKGdfYXRvbWljX2ludF9nZXQgKCZvbl9maWx0ZXJfZnJl ZWRfY2FsbGVkKSk7CisrICBnX2Fzc2VydF90cnVlIChnX2F0b21pY19pbnRfZ2V0ICgmb25fcmVn aXN0ZXJfb2JqZWN0X2ZyZWVkX2NhbGxlZCkpOworKyAgZ19hc3NlcnRfZmFsc2UgKGdfYXRvbWlj X2ludF9nZXQgKCZxdWl0X21haW5sb29wX2ZpcmVkKSk7CisgCisgICAvKgorICAgICogIENoZWNr IGZvciBjb3JyZWN0IGJlaGF2aW9yIHdoZW4gdGhlIGJ1cyBnb2VzIGF3YXkKK2RpZmYgLS1naXQg YS9naW8vdGVzdHMvZ2RidXMtb3ZlcmZsb3cuYyBiL2dpby90ZXN0cy9nZGJ1cy1vdmVyZmxvdy5j CitpbmRleCBjYTNkNWQwZTcuLmQzZTFlYjI5NSAxMDA2NDQKKy0tLSBhL2dpby90ZXN0cy9nZGJ1 cy1vdmVyZmxvdy5jCisrKysgYi9naW8vdGVzdHMvZ2RidXMtb3ZlcmZsb3cuYworQEAgLTg2LDgg Kzg2LDggQEAgb3ZlcmZsb3dfZmlsdGVyX2Z1bmMgKEdEQnVzQ29ubmVjdGlvbiAqY29ubmVjdGlv biwKKyAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICAgICAgICBpbmNvbWluZywKKyAg ICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgICB1c2VyX2RhdGEpCisgeworLSAg dm9sYXRpbGUgZ2ludCAqY291bnRlciA9IHVzZXJfZGF0YTsKKy0gICpjb3VudGVyICs9IDE7Cisr ICBnaW50ICpjb3VudGVyID0gdXNlcl9kYXRhOyAgLyogKGF0b21pYykgKi8KKysgIGdfYXRvbWlj X2ludF9pbmMgKGNvdW50ZXIpOworICAgcmV0dXJuIG1lc3NhZ2U7CisgfQorIAorQEAgLTEwOCw4 ICsxMDgsOCBAQCB0ZXN0X292ZXJmbG93ICh2b2lkKQorICAgR0RCdXNDb25uZWN0aW9uICpwcm9k dWNlciwgKmNvbnN1bWVyOworICAgR0Vycm9yICplcnJvcjsKKyAgIEdUaW1lciAqdGltZXI7Cist ICB2b2xhdGlsZSBnaW50IG5fbWVzc2FnZXNfcmVjZWl2ZWQ7CistICB2b2xhdGlsZSBnaW50IG5f bWVzc2FnZXNfc2VudDsKKysgIGdpbnQgbl9tZXNzYWdlc19yZWNlaXZlZDsgIC8qIChhdG9taWMp ICovCisrICBnaW50IG5fbWVzc2FnZXNfc2VudDsgIC8qIChhdG9taWMpICovCisgCisgICBnX2Fz c2VydF9jbXBpbnQgKHNvY2tldHBhaXIgKEFGX1VOSVgsIFNPQ0tfU1RSRUFNLCAwLCBzdiksID09 LCAwKTsKKyAKK0BAIC0xMjksNyArMTI5LDcgQEAgdGVzdF9vdmVyZmxvdyAodm9pZCkKKyAgIGdf ZGJ1c19jb25uZWN0aW9uX3NldF9leGl0X29uX2Nsb3NlIChwcm9kdWNlciwgVFJVRSk7CisgICBn X2Fzc2VydF9ub19lcnJvciAoZXJyb3IpOworICAgZ19vYmplY3RfdW5yZWYgKHNvY2tldF9jb25u ZWN0aW9uKTsKKy0gIG5fbWVzc2FnZXNfc2VudCA9IDA7CisrICBnX2F0b21pY19pbnRfc2V0ICgm bl9tZXNzYWdlc19zZW50LCAwKTsKKyAgIGdfZGJ1c19jb25uZWN0aW9uX2FkZF9maWx0ZXIgKHBy b2R1Y2VyLCBvdmVyZmxvd19maWx0ZXJfZnVuYywgKGdwb2ludGVyKSAmbl9tZXNzYWdlc19zZW50 LCBOVUxMKTsKKyAKKyAgIC8qIHNlbmQgZW5vdWdoIGRhdGEgdGhhdCB3ZSBnZXQgYW4gRUFHQUlO ICovCitAQCAtMTU1LDcgKzE1NSw3IEBAIHRlc3Rfb3ZlcmZsb3cgKHZvaWQpCisgICAgKi8KKyAg IGdfdGltZW91dF9hZGQgKDUwMCwgb3ZlcmZsb3dfb25fNTAwbXNfbGF0ZXJfZnVuYywgTlVMTCk7 CisgICBnX21haW5fbG9vcF9ydW4gKGxvb3ApOworLSAgZ19hc3NlcnRfY21waW50IChuX21lc3Nh Z2VzX3NlbnQsIDwsIE9WRVJGTE9XX05VTV9TSUdOQUxTKTsKKysgIGdfYXNzZXJ0X2NtcGludCAo Z19hdG9taWNfaW50X2dldCAoJm5fbWVzc2FnZXNfc2VudCksIDwsIE9WRVJGTE9XX05VTV9TSUdO QUxTKTsKKyAKKyAgIC8qIG5vdyBzdWNrIGl0IGFsbCBvdXQgYXMgYSBjbGllbnQsIGFuZCBhZGQg aXQgdXAgKi8KKyAgIHNvY2tldCA9IGdfc29ja2V0X25ld19mcm9tX2ZkIChzdlsxXSwgJmVycm9y KTsKK0BAIC0xNzEsMTggKzE3MSwxOCBAQCB0ZXN0X292ZXJmbG93ICh2b2lkKQorIAkJCQkJICZl cnJvcik7CisgICBnX2Fzc2VydF9ub19lcnJvciAoZXJyb3IpOworICAgZ19vYmplY3RfdW5yZWYg KHNvY2tldF9jb25uZWN0aW9uKTsKKy0gIG5fbWVzc2FnZXNfcmVjZWl2ZWQgPSAwOworKyAgZ19h dG9taWNfaW50X3NldCAoJm5fbWVzc2FnZXNfcmVjZWl2ZWQsIDApOworICAgZ19kYnVzX2Nvbm5l Y3Rpb25fYWRkX2ZpbHRlciAoY29uc3VtZXIsIG92ZXJmbG93X2ZpbHRlcl9mdW5jLCAoZ3BvaW50 ZXIpICZuX21lc3NhZ2VzX3JlY2VpdmVkLCBOVUxMKTsKKyAgIGdfZGJ1c19jb25uZWN0aW9uX3N0 YXJ0X21lc3NhZ2VfcHJvY2Vzc2luZyAoY29uc3VtZXIpOworIAorICAgdGltZXIgPSBnX3RpbWVy X25ldyAoKTsKKyAgIGdfdGltZXJfc3RhcnQgKHRpbWVyKTsKKyAKKy0gIHdoaWxlIChuX21lc3Nh Z2VzX3JlY2VpdmVkIDwgT1ZFUkZMT1dfTlVNX1NJR05BTFMgJiYgZ190aW1lcl9lbGFwc2VkICh0 aW1lciwgTlVMTCkgPCBPVkVSRkxPV19USU1FT1VUX1NFQykKKysgIHdoaWxlIChnX2F0b21pY19p bnRfZ2V0ICgmbl9tZXNzYWdlc19yZWNlaXZlZCkgPCBPVkVSRkxPV19OVU1fU0lHTkFMUyAmJiBn X3RpbWVyX2VsYXBzZWQgKHRpbWVyLCBOVUxMKSA8IE9WRVJGTE9XX1RJTUVPVVRfU0VDKQorICAg ICAgIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGlvbiAoTlVMTCwgRkFMU0UpOworIAorLSAgZ19hc3Nl cnRfY21waW50IChuX21lc3NhZ2VzX3NlbnQsID09LCBPVkVSRkxPV19OVU1fU0lHTkFMUyk7Cist ICBnX2Fzc2VydF9jbXBpbnQgKG5fbWVzc2FnZXNfcmVjZWl2ZWQsID09LCBPVkVSRkxPV19OVU1f U0lHTkFMUyk7CisrICBnX2Fzc2VydF9jbXBpbnQgKGdfYXRvbWljX2ludF9nZXQgKCZuX21lc3Nh Z2VzX3NlbnQpLCA9PSwgT1ZFUkZMT1dfTlVNX1NJR05BTFMpOworKyAgZ19hc3NlcnRfY21waW50 IChnX2F0b21pY19pbnRfZ2V0ICgmbl9tZXNzYWdlc19yZWNlaXZlZCksID09LCBPVkVSRkxPV19O VU1fU0lHTkFMUyk7CisgCisgICBnX3RpbWVyX2Rlc3Ryb3kgKHRpbWVyKTsKKyAgIGdfb2JqZWN0 X3VucmVmIChjb25zdW1lcik7CitkaWZmIC0tZ2l0IGEvZ2lvL3Rlc3RzL3NvY2tldC1zZXJ2aWNl LmMgYi9naW8vdGVzdHMvc29ja2V0LXNlcnZpY2UuYworaW5kZXggZjFkZDc4M2QxLi44NDg3YTcw MGUgMTAwNjQ0CistLS0gYS9naW8vdGVzdHMvc29ja2V0LXNlcnZpY2UuYworKysrIGIvZ2lvL3Rl c3RzL3NvY2tldC1zZXJ2aWNlLmMKK0BAIC05OSw3ICs5OSw3IEBAIHRlc3Rfc3RhcnRfc3RvcCAo dm9pZCkKKyAKKyBHTXV0ZXggbXV0ZXhfNzEyNTcwOworIEdDb25kIGNvbmRfNzEyNTcwOworLXZv bGF0aWxlIGdib29sZWFuIGZpbmFsaXplZDsKKytnYm9vbGVhbiBmaW5hbGl6ZWQ7ICAvKiAoYXRv bWljKSAqLworIAorIEdUeXBlIHRlc3RfdGhyZWFkZWRfc29ja2V0X3NlcnZpY2VfZ2V0X3R5cGUg KHZvaWQpOworIHR5cGVkZWYgR1RocmVhZGVkU29ja2V0U2VydmljZSBUZXN0VGhyZWFkZWRTb2Nr ZXRTZXJ2aWNlOworQEAgLTEyMCw3ICsxMjAsNyBAQCB0ZXN0X3RocmVhZGVkX3NvY2tldF9zZXJ2 aWNlX2ZpbmFsaXplIChHT2JqZWN0ICpvYmplY3QpCisgICAvKiBTaWduYWwgdGhlIG1haW4gdGhy ZWFkIHRoYXQgZmluYWxpemF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkKKyAgICAqIHJhdGhl ciB0aGFuIGhhbmdpbmcuCisgICAgKi8KKy0gIGZpbmFsaXplZCA9IFRSVUU7CisrICBnX2F0b21p Y19pbnRfc2V0ICgmZmluYWxpemVkLCBUUlVFKTsKKyAgIGdfY29uZF9zaWduYWwgKCZjb25kXzcx MjU3MCk7CisgICBnX211dGV4X3VubG9jayAoJm11dGV4XzcxMjU3MCk7CisgfQorQEAgLTIzNSw3 ICsyMzUsNyBAQCB0ZXN0X3RocmVhZGVkXzcxMjU3MCAodm9pZCkKKyAgICAqLworICAgZ19vYmpl Y3RfdW5yZWYgKHNlcnZpY2UpOworIAorLSAgd2hpbGUgKCFmaW5hbGl6ZWQpCisrICB3aGlsZSAo IWdfYXRvbWljX2ludF9nZXQgKCZmaW5hbGl6ZWQpKQorICAgICBnX2NvbmRfd2FpdCAoJmNvbmRf NzEyNTcwLCAmbXV0ZXhfNzEyNTcwKTsKKyAgIGdfbXV0ZXhfdW5sb2NrICgmbXV0ZXhfNzEyNTcw KTsKKyB9CitkaWZmIC0tZ2l0IGEvZ2lvL3Rlc3RzL3Rhc2suYyBiL2dpby90ZXN0cy90YXNrLmMK K2luZGV4IGNjYTA1Y2VkMS4uN2NlODQzOGZmIDEwMDY0NAorLS0tIGEvZ2lvL3Rlc3RzL3Rhc2su YworKysrIGIvZ2lvL3Rlc3RzL3Rhc2suYworQEAgLTk1Nyw3ICs5NTcsNyBAQCB0YXNrX3dlYWtf bm90aWZ5IChncG9pbnRlciAgdXNlcl9kYXRhLAorICAgZ2Jvb2xlYW4gKndlYWtfbm90aWZ5X3Jh biA9IHVzZXJfZGF0YTsKKyAKKyAgIGdfbXV0ZXhfbG9jayAoJnJ1bl9pbl90aHJlYWRfbXV0ZXgp OworLSAgKndlYWtfbm90aWZ5X3JhbiA9IFRSVUU7CisrICBnX2F0b21pY19pbnRfc2V0ICh3ZWFr X25vdGlmeV9yYW4sIFRSVUUpOworICAgZ19jb25kX3NpZ25hbCAoJnJ1bl9pbl90aHJlYWRfY29u ZCk7CisgICBnX211dGV4X3VubG9jayAoJnJ1bl9pbl90aHJlYWRfbXV0ZXgpOworIH0KK0BAIC0x MDA3LDcgKzEwMDcsNyBAQCBydW5faW5fdGhyZWFkX3RocmVhZCAoR1Rhc2sgICAgICAgICp0YXNr LAorICAgZ19hc3NlcnQgKGdfdGhyZWFkX3NlbGYgKCkgIT0gbWFpbl90aHJlYWQpOworIAorICAg Z19tdXRleF9sb2NrICgmcnVuX2luX3RocmVhZF9tdXRleCk7CistICAqdGhyZWFkX3JhbiA9IFRS VUU7CisrICBnX2F0b21pY19pbnRfc2V0ICh0aHJlYWRfcmFuLCBUUlVFKTsKKyAgIGdfY29uZF9z aWduYWwgKCZydW5faW5fdGhyZWFkX2NvbmQpOworICAgZ19tdXRleF91bmxvY2sgKCZydW5faW5f dGhyZWFkX211dGV4KTsKKyAKK0BAIC0xMDE4LDggKzEwMTgsOCBAQCBzdGF0aWMgdm9pZAorIHRl c3RfcnVuX2luX3RocmVhZCAodm9pZCkKKyB7CisgICBHVGFzayAqdGFzazsKKy0gIHZvbGF0aWxl IGdib29sZWFuIHRocmVhZF9yYW4gPSBGQUxTRTsKKy0gIHZvbGF0aWxlIGdib29sZWFuIHdlYWtf bm90aWZ5X3JhbiA9IEZBTFNFOworKyAgZ2Jvb2xlYW4gdGhyZWFkX3JhbiA9IEZBTFNFOyAgLyog KGF0b21pYykgKi8KKysgIGdib29sZWFuIHdlYWtfbm90aWZ5X3JhbiA9IEZBTFNFOyAgLyogKGF0 b21pYykgKi8KKyAgIGdib29sZWFuIG5vdGlmaWNhdGlvbl9lbWl0dGVkID0gRkFMU0U7CisgICBn Ym9vbGVhbiBkb25lID0gRkFMU0U7CisgCitAQCAtMTAzMywxMiArMTAzMywxMiBAQCB0ZXN0X3J1 bl9pbl90aHJlYWQgKHZvaWQpCisgICBnX3Rhc2tfcnVuX2luX3RocmVhZCAodGFzaywgcnVuX2lu X3RocmVhZF90aHJlYWQpOworIAorICAgZ19tdXRleF9sb2NrICgmcnVuX2luX3RocmVhZF9tdXRl eCk7CistICB3aGlsZSAoIXRocmVhZF9yYW4pCisrICB3aGlsZSAoIWdfYXRvbWljX2ludF9nZXQg KCZ0aHJlYWRfcmFuKSkKKyAgICAgZ19jb25kX3dhaXQgKCZydW5faW5fdGhyZWFkX2NvbmQsICZy dW5faW5fdGhyZWFkX211dGV4KTsKKyAgIGdfbXV0ZXhfdW5sb2NrICgmcnVuX2luX3RocmVhZF9t dXRleCk7CisgCisgICBnX2Fzc2VydCAoZG9uZSA9PSBGQUxTRSk7CistICBnX2Fzc2VydCAod2Vh a19ub3RpZnlfcmFuID09IEZBTFNFKTsKKysgIGdfYXNzZXJ0X2ZhbHNlIChnX2F0b21pY19pbnRf Z2V0ICgmd2Vha19ub3RpZnlfcmFuKSk7CisgCisgICBnX21haW5fbG9vcF9ydW4gKGxvb3ApOwor IAorQEAgLTEwNTAsNyArMTA1MCw3IEBAIHRlc3RfcnVuX2luX3RocmVhZCAodm9pZCkKKyAgIGdf b2JqZWN0X3VucmVmICh0YXNrKTsKKyAKKyAgIGdfbXV0ZXhfbG9jayAoJnJ1bl9pbl90aHJlYWRf bXV0ZXgpOworLSAgd2hpbGUgKCF3ZWFrX25vdGlmeV9yYW4pCisrICB3aGlsZSAoIWdfYXRvbWlj X2ludF9nZXQgKCZ3ZWFrX25vdGlmeV9yYW4pKQorICAgICBnX2NvbmRfd2FpdCAoJnJ1bl9pbl90 aHJlYWRfY29uZCwgJnJ1bl9pbl90aHJlYWRfbXV0ZXgpOworICAgZ19tdXRleF91bmxvY2sgKCZy dW5faW5fdGhyZWFkX211dGV4KTsKKyB9CitAQCAtMTA4MSw3ICsxMDgxLDcgQEAgcnVuX2luX3Ro cmVhZF9zeW5jX3RocmVhZCAoR1Rhc2sgICAgICAgICp0YXNrLAorIAorICAgZ19hc3NlcnQgKGdf dGhyZWFkX3NlbGYgKCkgIT0gbWFpbl90aHJlYWQpOworIAorLSAgKnRocmVhZF9yYW4gPSBUUlVF OworKyAgZ19hdG9taWNfaW50X3NldCAodGhyZWFkX3JhbiwgVFJVRSk7CisgICBnX3Rhc2tfcmV0 dXJuX2ludCAodGFzaywgbWFnaWMpOworIH0KKyAKK0BAIC0xMTAyLDcgKzExMDIsNyBAQCB0ZXN0 X3J1bl9pbl90aHJlYWRfc3luYyAodm9pZCkKKyAgIGdfdGFza19zZXRfdGFza19kYXRhICh0YXNr LCAmdGhyZWFkX3JhbiwgTlVMTCk7CisgICBnX3Rhc2tfcnVuX2luX3RocmVhZF9zeW5jICh0YXNr LCBydW5faW5fdGhyZWFkX3N5bmNfdGhyZWFkKTsKKyAKKy0gIGdfYXNzZXJ0ICh0aHJlYWRfcmFu ID09IFRSVUUpOworKyAgZ19hc3NlcnRfdHJ1ZSAoZ19hdG9taWNfaW50X2dldCAoJnRocmVhZF9y YW4pKTsKKyAgIGdfYXNzZXJ0ICh0YXNrICE9IE5VTEwpOworICAgZ19hc3NlcnQgKCFnX3Rhc2tf aGFkX2Vycm9yICh0YXNrKSk7CisgICBnX2Fzc2VydF90cnVlIChnX3Rhc2tfZ2V0X2NvbXBsZXRl ZCAodGFzaykpOworQEAgLTE0ODcsOCArMTQ4Nyw4IEBAIHRlc3RfcmV0dXJuX29uX2NhbmNlbCAo dm9pZCkKKyB7CisgICBHVGFzayAqdGFzazsKKyAgIEdDYW5jZWxsYWJsZSAqY2FuY2VsbGFibGU7 CistICB2b2xhdGlsZSBUaHJlYWRTdGF0ZSB0aHJlYWRfc3RhdGU7CistICB2b2xhdGlsZSBnYm9v bGVhbiB3ZWFrX25vdGlmeV9yYW4gPSBGQUxTRTsKKysgIFRocmVhZFN0YXRlIHRocmVhZF9zdGF0 ZTsgIC8qIChhdG9taWMpICovCisrICBnYm9vbGVhbiB3ZWFrX25vdGlmeV9yYW4gPSBGQUxTRTsg IC8qIChhdG9taWMpICovCisgICBnYm9vbGVhbiBjYWxsYmFja19yYW47CisgICBnYm9vbGVhbiBu b3RpZmljYXRpb25fZW1pdHRlZCA9IEZBTFNFOworIAorQEAgLTE0OTgsNyArMTQ5OCw3IEBAIHRl c3RfcmV0dXJuX29uX2NhbmNlbCAodm9pZCkKKyAgICAqIGVhcmx5LgorICAgICovCisgICBjYWxs YmFja19yYW4gPSBGQUxTRTsKKy0gIHRocmVhZF9zdGF0ZSA9IFRIUkVBRF9TVEFSVElORzsKKysg IGdfYXRvbWljX2ludF9zZXQgKCZ0aHJlYWRfc3RhdGUsIFRIUkVBRF9TVEFSVElORyk7CisgICB0 YXNrID0gZ190YXNrX25ldyAoTlVMTCwgY2FuY2VsbGFibGUsIHJldHVybl9vbl9jYW5jZWxfY2Fs bGJhY2ssICZjYWxsYmFja19yYW4pOworICAgZ19zaWduYWxfY29ubmVjdCAodGFzaywgIm5vdGlm eTo6Y29tcGxldGVkIiwKKyAgICAgICAgICAgICAgICAgICAgIChHQ2FsbGJhY2spIGNvbXBsZXRl ZF9jYiwgJm5vdGlmaWNhdGlvbl9lbWl0dGVkKTsKK0BAIC0xNTA5LDE4ICsxNTA5LDE4IEBAIHRl c3RfcmV0dXJuX29uX2NhbmNlbCAodm9pZCkKKyAgIGdfdGFza19ydW5faW5fdGhyZWFkICh0YXNr LCByZXR1cm5fb25fY2FuY2VsX3RocmVhZCk7CisgICBnX29iamVjdF91bnJlZiAodGFzayk7Cisg CistICB3aGlsZSAodGhyZWFkX3N0YXRlID09IFRIUkVBRF9TVEFSVElORykKKysgIHdoaWxlIChn X2F0b21pY19pbnRfZ2V0ICgmdGhyZWFkX3N0YXRlKSA9PSBUSFJFQURfU1RBUlRJTkcpCisgICAg IGdfY29uZF93YWl0ICgmcm9jX2luaXRfY29uZCwgJnJvY19pbml0X211dGV4KTsKKyAgIGdfbXV0 ZXhfdW5sb2NrICgmcm9jX2luaXRfbXV0ZXgpOworIAorLSAgZ19hc3NlcnQgKHRocmVhZF9zdGF0 ZSA9PSBUSFJFQURfUlVOTklORyk7CisrICBnX2Fzc2VydF9jbXBpbnQgKGdfYXRvbWljX2ludF9n ZXQgKCZ0aHJlYWRfc3RhdGUpLCA9PSwgVEhSRUFEX1JVTk5JTkcpOworICAgZ19hc3NlcnQgKGNh bGxiYWNrX3JhbiA9PSBGQUxTRSk7CisgCisgICBnX2NhbmNlbGxhYmxlX2NhbmNlbCAoY2FuY2Vs bGFibGUpOworICAgZ19tdXRleF91bmxvY2sgKCZyb2NfZmluaXNoX211dGV4KTsKKyAgIGdfbWFp bl9sb29wX3J1biAobG9vcCk7CisgCistICBnX2Fzc2VydCAodGhyZWFkX3N0YXRlID09IFRIUkVB RF9DT01QTEVURUQpOworKyAgZ19hc3NlcnRfY21waW50IChnX2F0b21pY19pbnRfZ2V0ICgmdGhy ZWFkX3N0YXRlKSwgPT0sIFRIUkVBRF9DT01QTEVURUQpOworICAgZ19hc3NlcnQgKGNhbGxiYWNr X3JhbiA9PSBUUlVFKTsKKyAgIGdfYXNzZXJ0X3RydWUgKG5vdGlmaWNhdGlvbl9lbWl0dGVkKTsK KyAKK0BAIC0xNTI5LDcgKzE1MjksNyBAQCB0ZXN0X3JldHVybl9vbl9jYW5jZWwgKHZvaWQpCisg ICAvKiBJZiByZXR1cm4tb24tY2FuY2VsIGlzIFRSVUUsIGl0IGRvZXMgcmV0dXJuIGVhcmx5ICov CisgICBjYWxsYmFja19yYW4gPSBGQUxTRTsKKyAgIG5vdGlmaWNhdGlvbl9lbWl0dGVkID0gRkFM U0U7CistICB0aHJlYWRfc3RhdGUgPSBUSFJFQURfU1RBUlRJTkc7CisrICBnX2F0b21pY19pbnRf c2V0ICgmdGhyZWFkX3N0YXRlLCBUSFJFQURfU1RBUlRJTkcpOworICAgdGFzayA9IGdfdGFza19u ZXcgKE5VTEwsIGNhbmNlbGxhYmxlLCByZXR1cm5fb25fY2FuY2VsX2NhbGxiYWNrLCAmY2FsbGJh Y2tfcmFuKTsKKyAgIGdfb2JqZWN0X3dlYWtfcmVmIChHX09CSkVDVCAodGFzayksIHRhc2tfd2Vh a19ub3RpZnksIChncG9pbnRlcikmd2Vha19ub3RpZnlfcmFuKTsKKyAgIGdfc2lnbmFsX2Nvbm5l Y3QgKHRhc2ssICJub3RpZnk6OmNvbXBsZXRlZCIsCitAQCAtMTU0MiwyNyArMTU0MiwyNyBAQCB0 ZXN0X3JldHVybl9vbl9jYW5jZWwgKHZvaWQpCisgICBnX3Rhc2tfcnVuX2luX3RocmVhZCAodGFz aywgcmV0dXJuX29uX2NhbmNlbF90aHJlYWQpOworICAgZ19vYmplY3RfdW5yZWYgKHRhc2spOwor IAorLSAgd2hpbGUgKHRocmVhZF9zdGF0ZSA9PSBUSFJFQURfU1RBUlRJTkcpCisrICB3aGlsZSAo Z19hdG9taWNfaW50X2dldCAoJnRocmVhZF9zdGF0ZSkgPT0gVEhSRUFEX1NUQVJUSU5HKQorICAg ICBnX2NvbmRfd2FpdCAoJnJvY19pbml0X2NvbmQsICZyb2NfaW5pdF9tdXRleCk7CisgICBnX211 dGV4X3VubG9jayAoJnJvY19pbml0X211dGV4KTsKKyAKKy0gIGdfYXNzZXJ0ICh0aHJlYWRfc3Rh dGUgPT0gVEhSRUFEX1JVTk5JTkcpOworKyAgZ19hc3NlcnRfY21waW50IChnX2F0b21pY19pbnRf Z2V0ICgmdGhyZWFkX3N0YXRlKSwgPT0sIFRIUkVBRF9SVU5OSU5HKTsKKyAgIGdfYXNzZXJ0IChj YWxsYmFja19yYW4gPT0gRkFMU0UpOworIAorICAgZ19jYW5jZWxsYWJsZV9jYW5jZWwgKGNhbmNl bGxhYmxlKTsKKyAgIGdfbWFpbl9sb29wX3J1biAobG9vcCk7CistICBnX2Fzc2VydCAodGhyZWFk X3N0YXRlID09IFRIUkVBRF9SVU5OSU5HKTsKKysgIGdfYXNzZXJ0X2NtcGludCAoZ19hdG9taWNf aW50X2dldCAoJnRocmVhZF9zdGF0ZSksID09LCBUSFJFQURfUlVOTklORyk7CisgICBnX2Fzc2Vy dCAoY2FsbGJhY2tfcmFuID09IFRSVUUpOworIAorLSAgZ19hc3NlcnQgKHdlYWtfbm90aWZ5X3Jh biA9PSBGQUxTRSk7CisrICBnX2Fzc2VydF9mYWxzZSAoZ19hdG9taWNfaW50X2dldCAoJndlYWtf bm90aWZ5X3JhbikpOworIAorLSAgd2hpbGUgKHRocmVhZF9zdGF0ZSA9PSBUSFJFQURfUlVOTklO RykKKysgIHdoaWxlIChnX2F0b21pY19pbnRfZ2V0ICgmdGhyZWFkX3N0YXRlKSA9PSBUSFJFQURf UlVOTklORykKKyAgICAgZ19jb25kX3dhaXQgKCZyb2NfZmluaXNoX2NvbmQsICZyb2NfZmluaXNo X211dGV4KTsKKyAgIGdfbXV0ZXhfdW5sb2NrICgmcm9jX2ZpbmlzaF9tdXRleCk7CisgCistICBn X2Fzc2VydCAodGhyZWFkX3N0YXRlID09IFRIUkVBRF9DQU5DRUxMRUQpOworKyAgZ19hc3NlcnRf Y21waW50IChnX2F0b21pY19pbnRfZ2V0ICgmdGhyZWFkX3N0YXRlKSwgPT0sIFRIUkVBRF9DQU5D RUxMRUQpOworICAgZ19tdXRleF9sb2NrICgmcnVuX2luX3RocmVhZF9tdXRleCk7CistICB3aGls ZSAoIXdlYWtfbm90aWZ5X3JhbikKKysgIHdoaWxlICghZ19hdG9taWNfaW50X2dldCAoJndlYWtf bm90aWZ5X3JhbikpCisgICAgIGdfY29uZF93YWl0ICgmcnVuX2luX3RocmVhZF9jb25kLCAmcnVu X2luX3RocmVhZF9tdXRleCk7CisgICBnX211dGV4X3VubG9jayAoJnJ1bl9pbl90aHJlYWRfbXV0 ZXgpOworIAorQEAgLTE1NzQsNyArMTU3NCw3IEBAIHRlc3RfcmV0dXJuX29uX2NhbmNlbCAodm9p ZCkKKyAgICAqLworICAgY2FsbGJhY2tfcmFuID0gRkFMU0U7CisgICBub3RpZmljYXRpb25fZW1p dHRlZCA9IEZBTFNFOworLSAgdGhyZWFkX3N0YXRlID0gVEhSRUFEX1NUQVJUSU5HOworKyAgZ19h dG9taWNfaW50X3NldCAoJnRocmVhZF9zdGF0ZSwgVEhSRUFEX1NUQVJUSU5HKTsKKyAgIHRhc2sg PSBnX3Rhc2tfbmV3IChOVUxMLCBjYW5jZWxsYWJsZSwgcmV0dXJuX29uX2NhbmNlbF9jYWxsYmFj aywgJmNhbGxiYWNrX3Jhbik7CisgICBnX3NpZ25hbF9jb25uZWN0ICh0YXNrLCAibm90aWZ5Ojpj b21wbGV0ZWQiLAorICAgICAgICAgICAgICAgICAgICAgKEdDYWxsYmFjaykgY29tcGxldGVkX2Ni LCAmbm90aWZpY2F0aW9uX2VtaXR0ZWQpOworQEAgLTE1OTEsMTcgKzE1OTEsMTcgQEAgdGVzdF9y ZXR1cm5fb25fY2FuY2VsICh2b2lkKQorICAgZ19tYWluX2xvb3BfcnVuIChsb29wKTsKKyAgIGdf YXNzZXJ0IChjYWxsYmFja19yYW4gPT0gVFJVRSk7CisgCistICB3aGlsZSAodGhyZWFkX3N0YXRl ID09IFRIUkVBRF9TVEFSVElORykKKysgIHdoaWxlIChnX2F0b21pY19pbnRfZ2V0ICgmdGhyZWFk X3N0YXRlKSA9PSBUSFJFQURfU1RBUlRJTkcpCisgICAgIGdfY29uZF93YWl0ICgmcm9jX2luaXRf Y29uZCwgJnJvY19pbml0X211dGV4KTsKKyAgIGdfbXV0ZXhfdW5sb2NrICgmcm9jX2luaXRfbXV0 ZXgpOworIAorLSAgZ19hc3NlcnQgKHRocmVhZF9zdGF0ZSA9PSBUSFJFQURfUlVOTklORyk7Cisr ICBnX2Fzc2VydF9jbXBpbnQgKGdfYXRvbWljX2ludF9nZXQgKCZ0aHJlYWRfc3RhdGUpLCA9PSwg VEhSRUFEX1JVTk5JTkcpOworIAorLSAgd2hpbGUgKHRocmVhZF9zdGF0ZSA9PSBUSFJFQURfUlVO TklORykKKysgIHdoaWxlIChnX2F0b21pY19pbnRfZ2V0ICgmdGhyZWFkX3N0YXRlKSA9PSBUSFJF QURfUlVOTklORykKKyAgICAgZ19jb25kX3dhaXQgKCZyb2NfZmluaXNoX2NvbmQsICZyb2NfZmlu aXNoX211dGV4KTsKKyAgIGdfbXV0ZXhfdW5sb2NrICgmcm9jX2ZpbmlzaF9tdXRleCk7CisgCist ICBnX2Fzc2VydCAodGhyZWFkX3N0YXRlID09IFRIUkVBRF9DQU5DRUxMRUQpOworKyAgZ19hc3Nl cnRfY21waW50IChnX2F0b21pY19pbnRfZ2V0ICgmdGhyZWFkX3N0YXRlKSwgPT0sIFRIUkVBRF9D QU5DRUxMRUQpOworICAgZ19hc3NlcnRfdHJ1ZSAobm90aWZpY2F0aW9uX2VtaXR0ZWQpOworIAor ICAgZ19vYmplY3RfdW5yZWYgKGNhbmNlbGxhYmxlKTsKK0BAIC0xNjIxLDcgKzE2MjEsNyBAQCB0 ZXN0X3JldHVybl9vbl9jYW5jZWxfc3luYyAodm9pZCkKKyB7CisgICBHVGFzayAqdGFzazsKKyAg IEdDYW5jZWxsYWJsZSAqY2FuY2VsbGFibGU7CistICB2b2xhdGlsZSBUaHJlYWRTdGF0ZSB0aHJl YWRfc3RhdGU7CisrICBUaHJlYWRTdGF0ZSB0aHJlYWRfc3RhdGU7ICAvKiAoYXRvbWljKSAqLwor ICAgR1RocmVhZCAqcnVubmVyX3RocmVhZDsKKyAgIGdzc2l6ZSByZXQ7CisgICBHRXJyb3IgKmVy cm9yID0gTlVMTDsKK0BAIC0xNjMwLDcgKzE2MzAsNyBAQCB0ZXN0X3JldHVybl9vbl9jYW5jZWxf c3luYyAodm9pZCkKKyAKKyAgIC8qIElmIHJldHVybi1vbi1jYW5jZWwgaXMgRkFMU0UsIHRoZSB0 YXNrIGRvZXMgbm90IHJldHVybiBlYXJseS4KKyAgICAqLworLSAgdGhyZWFkX3N0YXRlID0gVEhS RUFEX1NUQVJUSU5HOworKyAgZ19hdG9taWNfaW50X3NldCAoJnRocmVhZF9zdGF0ZSwgVEhSRUFE X1NUQVJUSU5HKTsKKyAgIHRhc2sgPSBnX3Rhc2tfbmV3IChOVUxMLCBjYW5jZWxsYWJsZSwgcnVu X2luX3RocmVhZF9zeW5jX2NhbGxiYWNrLCBOVUxMKTsKKyAKKyAgIGdfdGFza19zZXRfdGFza19k YXRhICh0YXNrLCAoZ3BvaW50ZXIpJnRocmVhZF9zdGF0ZSwgTlVMTCk7CitAQCAtMTYzOSwxNiAr MTYzOSwxNiBAQCB0ZXN0X3JldHVybl9vbl9jYW5jZWxfc3luYyAodm9pZCkKKyAgIHJ1bm5lcl90 aHJlYWQgPSBnX3RocmVhZF9uZXcgKCJyZXR1cm4tb24tY2FuY2VsLXN5bmMgcnVubmVyIHRocmVh ZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxfc3luY19ydW5uZXJf dGhyZWFkLCB0YXNrKTsKKyAKKy0gIHdoaWxlICh0aHJlYWRfc3RhdGUgPT0gVEhSRUFEX1NUQVJU SU5HKQorKyAgd2hpbGUgKGdfYXRvbWljX2ludF9nZXQgKCZ0aHJlYWRfc3RhdGUpID09IFRIUkVB RF9TVEFSVElORykKKyAgICAgZ19jb25kX3dhaXQgKCZyb2NfaW5pdF9jb25kLCAmcm9jX2luaXRf bXV0ZXgpOworICAgZ19tdXRleF91bmxvY2sgKCZyb2NfaW5pdF9tdXRleCk7CisgCistICBnX2Fz c2VydCAodGhyZWFkX3N0YXRlID09IFRIUkVBRF9SVU5OSU5HKTsKKysgIGdfYXNzZXJ0X2NtcGlu dCAoZ19hdG9taWNfaW50X2dldCAoJnRocmVhZF9zdGF0ZSksID09LCBUSFJFQURfUlVOTklORyk7 CisgCisgICBnX2NhbmNlbGxhYmxlX2NhbmNlbCAoY2FuY2VsbGFibGUpOworICAgZ19tdXRleF91 bmxvY2sgKCZyb2NfZmluaXNoX211dGV4KTsKKyAgIGdfdGhyZWFkX2pvaW4gKHJ1bm5lcl90aHJl YWQpOworLSAgZ19hc3NlcnQgKHRocmVhZF9zdGF0ZSA9PSBUSFJFQURfQ09NUExFVEVEKTsKKysg IGdfYXNzZXJ0X2NtcGludCAoZ19hdG9taWNfaW50X2dldCAoJnRocmVhZF9zdGF0ZSksID09LCBU SFJFQURfQ09NUExFVEVEKTsKKyAKKyAgIHJldCA9IGdfdGFza19wcm9wYWdhdGVfaW50ICh0YXNr LCAmZXJyb3IpOworICAgZ19hc3NlcnRfZXJyb3IgKGVycm9yLCBHX0lPX0VSUk9SLCBHX0lPX0VS Uk9SX0NBTkNFTExFRCk7CitAQCAtMTY2MCw3ICsxNjYwLDcgQEAgdGVzdF9yZXR1cm5fb25fY2Fu Y2VsX3N5bmMgKHZvaWQpCisgICBnX2NhbmNlbGxhYmxlX3Jlc2V0IChjYW5jZWxsYWJsZSk7Cisg CisgICAvKiBJZiByZXR1cm4tb24tY2FuY2VsIGlzIFRSVUUsIGl0IGRvZXMgcmV0dXJuIGVhcmx5 ICovCistICB0aHJlYWRfc3RhdGUgPSBUSFJFQURfU1RBUlRJTkc7CisrICBnX2F0b21pY19pbnRf c2V0ICgmdGhyZWFkX3N0YXRlLCBUSFJFQURfU1RBUlRJTkcpOworICAgdGFzayA9IGdfdGFza19u ZXcgKE5VTEwsIGNhbmNlbGxhYmxlLCBydW5faW5fdGhyZWFkX3N5bmNfY2FsbGJhY2ssIE5VTEwp OworICAgZ190YXNrX3NldF9yZXR1cm5fb25fY2FuY2VsICh0YXNrLCBUUlVFKTsKKyAKK0BAIC0x NjcwLDE1ICsxNjcwLDE1IEBAIHRlc3RfcmV0dXJuX29uX2NhbmNlbF9zeW5jICh2b2lkKQorICAg cnVubmVyX3RocmVhZCA9IGdfdGhyZWFkX25ldyAoInJldHVybi1vbi1jYW5jZWwtc3luYyBydW5u ZXIgdGhyZWFkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbF9zeW5j X3J1bm5lcl90aHJlYWQsIHRhc2spOworIAorLSAgd2hpbGUgKHRocmVhZF9zdGF0ZSA9PSBUSFJF QURfU1RBUlRJTkcpCisrICB3aGlsZSAoZ19hdG9taWNfaW50X2dldCAoJnRocmVhZF9zdGF0ZSkg PT0gVEhSRUFEX1NUQVJUSU5HKQorICAgICBnX2NvbmRfd2FpdCAoJnJvY19pbml0X2NvbmQsICZy b2NfaW5pdF9tdXRleCk7CisgICBnX211dGV4X3VubG9jayAoJnJvY19pbml0X211dGV4KTsKKyAK Ky0gIGdfYXNzZXJ0ICh0aHJlYWRfc3RhdGUgPT0gVEhSRUFEX1JVTk5JTkcpOworKyAgZ19hc3Nl cnRfY21waW50IChnX2F0b21pY19pbnRfZ2V0ICgmdGhyZWFkX3N0YXRlKSwgPT0sIFRIUkVBRF9S VU5OSU5HKTsKKyAKKyAgIGdfY2FuY2VsbGFibGVfY2FuY2VsIChjYW5jZWxsYWJsZSk7CisgICBn X3RocmVhZF9qb2luIChydW5uZXJfdGhyZWFkKTsKKy0gIGdfYXNzZXJ0ICh0aHJlYWRfc3RhdGUg PT0gVEhSRUFEX1JVTk5JTkcpOworKyAgZ19hc3NlcnRfY21waW50IChnX2F0b21pY19pbnRfZ2V0 ICgmdGhyZWFkX3N0YXRlKSwgPT0sIFRIUkVBRF9SVU5OSU5HKTsKKyAKKyAgIHJldCA9IGdfdGFz a19wcm9wYWdhdGVfaW50ICh0YXNrLCAmZXJyb3IpOworICAgZ19hc3NlcnRfZXJyb3IgKGVycm9y LCBHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX0NBTkNFTExFRCk7CitAQCAtMTY4NywxOCArMTY4Nywx OCBAQCB0ZXN0X3JldHVybl9vbl9jYW5jZWxfc3luYyAodm9pZCkKKyAKKyAgIGdfb2JqZWN0X3Vu cmVmICh0YXNrKTsKKyAKKy0gIHdoaWxlICh0aHJlYWRfc3RhdGUgPT0gVEhSRUFEX1JVTk5JTkcp CisrICB3aGlsZSAoZ19hdG9taWNfaW50X2dldCAoJnRocmVhZF9zdGF0ZSkgPT0gVEhSRUFEX1JV Tk5JTkcpCisgICAgIGdfY29uZF93YWl0ICgmcm9jX2ZpbmlzaF9jb25kLCAmcm9jX2ZpbmlzaF9t dXRleCk7CisgICBnX211dGV4X3VubG9jayAoJnJvY19maW5pc2hfbXV0ZXgpOworIAorLSAgZ19h c3NlcnQgKHRocmVhZF9zdGF0ZSA9PSBUSFJFQURfQ0FOQ0VMTEVEKTsKKysgIGdfYXNzZXJ0X2Nt cGludCAoZ19hdG9taWNfaW50X2dldCAoJnRocmVhZF9zdGF0ZSksID09LCBUSFJFQURfQ0FOQ0VM TEVEKTsKKyAKKyAgIGdfY2FuY2VsbGFibGVfcmVzZXQgKGNhbmNlbGxhYmxlKTsKKyAKKyAgIC8q IElmIHRoZSB0YXNrIGlzIGFscmVhZHkgY2FuY2VsbGVkIGJlZm9yZSBpdCBzdGFydHMsIGl0IHJl dHVybnMKKyAgICAqIGltbWVkaWF0ZWx5LCBidXQgdGhlIHRocmVhZCBmdW5jIHN0aWxsIHJ1bnMu CisgICAgKi8KKy0gIHRocmVhZF9zdGF0ZSA9IFRIUkVBRF9TVEFSVElORzsKKysgIGdfYXRvbWlj X2ludF9zZXQgKCZ0aHJlYWRfc3RhdGUsIFRIUkVBRF9TVEFSVElORyk7CisgICB0YXNrID0gZ190 YXNrX25ldyAoTlVMTCwgY2FuY2VsbGFibGUsIHJ1bl9pbl90aHJlYWRfc3luY19jYWxsYmFjaywg TlVMTCk7CisgICBnX3Rhc2tfc2V0X3JldHVybl9vbl9jYW5jZWwgKHRhc2ssIFRSVUUpOworIAor QEAgLTE3MTEsNyArMTcxMSw3IEBAIHRlc3RfcmV0dXJuX29uX2NhbmNlbF9zeW5jICh2b2lkKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsX3N5bmNfcnVubmVyX3RocmVh ZCwgdGFzayk7CisgCisgICBnX3RocmVhZF9qb2luIChydW5uZXJfdGhyZWFkKTsKKy0gIGdfYXNz ZXJ0ICh0aHJlYWRfc3RhdGUgPT0gVEhSRUFEX1NUQVJUSU5HKTsKKysgIGdfYXNzZXJ0X2NtcGlu dCAoZ19hdG9taWNfaW50X2dldCAoJnRocmVhZF9zdGF0ZSksID09LCBUSFJFQURfU1RBUlRJTkcp OworIAorICAgcmV0ID0gZ190YXNrX3Byb3BhZ2F0ZV9pbnQgKHRhc2ssICZlcnJvcik7CisgICBn X2Fzc2VydF9lcnJvciAoZXJyb3IsIEdfSU9fRVJST1IsIEdfSU9fRVJST1JfQ0FOQ0VMTEVEKTsK K0BAIC0xNzIwLDE3ICsxNzIwLDE3IEBAIHRlc3RfcmV0dXJuX29uX2NhbmNlbF9zeW5jICh2b2lk KQorIAorICAgZ19vYmplY3RfdW5yZWYgKHRhc2spOworIAorLSAgd2hpbGUgKHRocmVhZF9zdGF0 ZSA9PSBUSFJFQURfU1RBUlRJTkcpCisrICB3aGlsZSAoZ19hdG9taWNfaW50X2dldCAoJnRocmVh ZF9zdGF0ZSkgPT0gVEhSRUFEX1NUQVJUSU5HKQorICAgICBnX2NvbmRfd2FpdCAoJnJvY19pbml0 X2NvbmQsICZyb2NfaW5pdF9tdXRleCk7CisgICBnX211dGV4X3VubG9jayAoJnJvY19pbml0X211 dGV4KTsKKyAKKy0gIGdfYXNzZXJ0ICh0aHJlYWRfc3RhdGUgPT0gVEhSRUFEX1JVTk5JTkcpOwor KyAgZ19hc3NlcnRfY21waW50IChnX2F0b21pY19pbnRfZ2V0ICgmdGhyZWFkX3N0YXRlKSwgPT0s IFRIUkVBRF9SVU5OSU5HKTsKKyAKKy0gIHdoaWxlICh0aHJlYWRfc3RhdGUgPT0gVEhSRUFEX1JV Tk5JTkcpCisrICB3aGlsZSAoZ19hdG9taWNfaW50X2dldCAoJnRocmVhZF9zdGF0ZSkgPT0gVEhS RUFEX1JVTk5JTkcpCisgICAgIGdfY29uZF93YWl0ICgmcm9jX2ZpbmlzaF9jb25kLCAmcm9jX2Zp bmlzaF9tdXRleCk7CisgICBnX211dGV4X3VubG9jayAoJnJvY19maW5pc2hfbXV0ZXgpOworIAor LSAgZ19hc3NlcnQgKHRocmVhZF9zdGF0ZSA9PSBUSFJFQURfQ0FOQ0VMTEVEKTsKKysgIGdfYXNz ZXJ0X2NtcGludCAoZ19hdG9taWNfaW50X2dldCAoJnRocmVhZF9zdGF0ZSksID09LCBUSFJFQURf Q0FOQ0VMTEVEKTsKKyAKKyAgIGdfb2JqZWN0X3VucmVmIChjYW5jZWxsYWJsZSk7CisgfQorQEAg LTE3NzYsNyArMTc3Niw3IEBAIHJldHVybl9vbl9jYW5jZWxfYXRvbWljX3RocmVhZCAoR1Rhc2sg ICAgICAgICp0YXNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIg ICAgICB0YXNrX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ2FuY2Vs bGFibGUgKmNhbmNlbGxhYmxlKQorIHsKKy0gIGdpbnQgKnN0YXRlID0gdGFza19kYXRhOworKyAg Z2ludCAqc3RhdGUgPSB0YXNrX2RhdGE7ICAvKiAoYXRvbWljKSAqLworIAorICAgZ19hc3NlcnQg KHNvdXJjZV9vYmplY3QgPT0gZ190YXNrX2dldF9zb3VyY2Vfb2JqZWN0ICh0YXNrKSk7CisgICBn X2Fzc2VydCAodGFza19kYXRhID09IGdfdGFza19nZXRfdGFza19kYXRhICh0YXNrKSk7CitAQCAt MTc4NCwzNCArMTc4NCwzNCBAQCByZXR1cm5fb25fY2FuY2VsX2F0b21pY190aHJlYWQgKEdUYXNr ICAgICAgICAqdGFzaywKKyAgIGdfYXNzZXJ0X2ZhbHNlIChnX3Rhc2tfZ2V0X2NvbXBsZXRlZCAo dGFzaykpOworIAorICAgZ19hc3NlcnQgKGdfdGhyZWFkX3NlbGYgKCkgIT0gbWFpbl90aHJlYWQp OworLSAgZ19hc3NlcnRfY21waW50ICgqc3RhdGUsID09LCAwKTsKKysgIGdfYXNzZXJ0X2NtcGlu dCAoZ19hdG9taWNfaW50X2dldCAoc3RhdGUpLCA9PSwgMCk7CisgCisgICBnX211dGV4X2xvY2sg KCZyb2NhX211dGV4XzEpOworLSAgKnN0YXRlID0gMTsKKysgIGdfYXRvbWljX2ludF9zZXQgKHN0 YXRlLCAxKTsKKyAgIGdfY29uZF9zaWduYWwgKCZyb2NhX2NvbmRfMSk7CisgICBnX211dGV4X3Vu bG9jayAoJnJvY2FfbXV0ZXhfMSk7CisgCisgICBnX211dGV4X2xvY2sgKCZyb2NhX211dGV4XzIp OworICAgaWYgKGdfdGFza19zZXRfcmV0dXJuX29uX2NhbmNlbCAodGFzaywgRkFMU0UpKQorLSAg ICAqc3RhdGUgPSAyOworKyAgICBnX2F0b21pY19pbnRfc2V0IChzdGF0ZSwgMik7CisgICBlbHNl CistICAgICpzdGF0ZSA9IDM7CisrICAgIGdfYXRvbWljX2ludF9zZXQgKHN0YXRlLCAzKTsKKyAg IGdfY29uZF9zaWduYWwgKCZyb2NhX2NvbmRfMik7CisgICBnX211dGV4X3VubG9jayAoJnJvY2Ff bXV0ZXhfMik7CisgCisgICBnX211dGV4X2xvY2sgKCZyb2NhX211dGV4XzEpOworICAgaWYgKGdf dGFza19zZXRfcmV0dXJuX29uX2NhbmNlbCAodGFzaywgVFJVRSkpCistICAgICpzdGF0ZSA9IDQ7 CisrICAgIGdfYXRvbWljX2ludF9zZXQgKHN0YXRlLCA0KTsKKyAgIGVsc2UKKy0gICAgKnN0YXRl ID0gNTsKKysgICAgZ19hdG9taWNfaW50X3NldCAoc3RhdGUsIDUpOworICAgZ19jb25kX3NpZ25h bCAoJnJvY2FfY29uZF8xKTsKKyAgIGdfbXV0ZXhfdW5sb2NrICgmcm9jYV9tdXRleF8xKTsKKyAK KyAgIGdfbXV0ZXhfbG9jayAoJnJvY2FfbXV0ZXhfMik7CisgICBpZiAoZ190YXNrX3NldF9yZXR1 cm5fb25fY2FuY2VsICh0YXNrLCBUUlVFKSkKKy0gICAgKnN0YXRlID0gNjsKKysgICAgZ19hdG9t aWNfaW50X3NldCAoc3RhdGUsIDYpOworICAgZWxzZQorLSAgICAqc3RhdGUgPSA3OworKyAgICBn X2F0b21pY19pbnRfc2V0IChzdGF0ZSwgNyk7CisgICBnX2NvbmRfc2lnbmFsICgmcm9jYV9jb25k XzIpOworICAgZ19tdXRleF91bmxvY2sgKCZyb2NhX211dGV4XzIpOworIAorQEAgLTE4MjMsNyAr MTgyMyw3IEBAIHRlc3RfcmV0dXJuX29uX2NhbmNlbF9hdG9taWMgKHZvaWQpCisgeworICAgR1Rh c2sgKnRhc2s7CisgICBHQ2FuY2VsbGFibGUgKmNhbmNlbGxhYmxlOworLSAgdm9sYXRpbGUgZ2lu dCBzdGF0ZTsKKysgIGdpbnQgc3RhdGU7ICAvKiAoYXRvbWljKSAqLworICAgZ2Jvb2xlYW4gbm90 aWZpY2F0aW9uX2VtaXR0ZWQgPSBGQUxTRTsKKyAgIGdib29sZWFuIGNhbGxiYWNrX3JhbjsKKyAK K0BAIC0xODMyLDcgKzE4MzIsNyBAQCB0ZXN0X3JldHVybl9vbl9jYW5jZWxfYXRvbWljICh2b2lk KQorICAgZ19tdXRleF9sb2NrICgmcm9jYV9tdXRleF8yKTsKKyAKKyAgIC8qIElmIHdlIGRvbid0 IGNhbmNlbCBpdCwgZWFjaCBzZXRfcmV0dXJuX29uX2NhbmNlbCgpIGNhbGwgd2lsbCBzdWNjZWVk ICovCistICBzdGF0ZSA9IDA7CisrICBnX2F0b21pY19pbnRfc2V0ICgmc3RhdGUsIDApOworICAg Y2FsbGJhY2tfcmFuID0gRkFMU0U7CisgICB0YXNrID0gZ190YXNrX25ldyAoTlVMTCwgY2FuY2Vs bGFibGUsIHJldHVybl9vbl9jYW5jZWxfYXRvbWljX2NhbGxiYWNrLCAmY2FsbGJhY2tfcmFuKTsK KyAgIGdfdGFza19zZXRfcmV0dXJuX29uX2NhbmNlbCAodGFzaywgVFJVRSk7CitAQCAtMTg0Mywy MyArMTg0MywyMyBAQCB0ZXN0X3JldHVybl9vbl9jYW5jZWxfYXRvbWljICh2b2lkKQorICAgZ190 YXNrX3J1bl9pbl90aHJlYWQgKHRhc2ssIHJldHVybl9vbl9jYW5jZWxfYXRvbWljX3RocmVhZCk7 CisgICBnX29iamVjdF91bnJlZiAodGFzayk7CisgCistICBnX2Fzc2VydF9jbXBpbnQgKHN0YXRl LCA9PSwgMCk7CisrICBnX2Fzc2VydF9jbXBpbnQgKGdfYXRvbWljX2ludF9nZXQgKCZzdGF0ZSks ID09LCAwKTsKKyAKKy0gIHdoaWxlIChzdGF0ZSA9PSAwKQorKyAgd2hpbGUgKGdfYXRvbWljX2lu dF9nZXQgKCZzdGF0ZSkgPT0gMCkKKyAgICAgZ19jb25kX3dhaXQgKCZyb2NhX2NvbmRfMSwgJnJv Y2FfbXV0ZXhfMSk7CistICBnX2Fzc2VydCAoc3RhdGUgPT0gMSk7CisrICBnX2Fzc2VydF9jbXBp bnQgKGdfYXRvbWljX2ludF9nZXQgKCZzdGF0ZSksID09LCAxKTsKKyAKKy0gIHdoaWxlIChzdGF0 ZSA9PSAxKQorKyAgd2hpbGUgKGdfYXRvbWljX2ludF9nZXQgKCZzdGF0ZSkgPT0gMSkKKyAgICAg Z19jb25kX3dhaXQgKCZyb2NhX2NvbmRfMiwgJnJvY2FfbXV0ZXhfMik7CistICBnX2Fzc2VydCAo c3RhdGUgPT0gMik7CisrICBnX2Fzc2VydF9jbXBpbnQgKGdfYXRvbWljX2ludF9nZXQgKCZzdGF0 ZSksID09LCAyKTsKKyAKKy0gIHdoaWxlIChzdGF0ZSA9PSAyKQorKyAgd2hpbGUgKGdfYXRvbWlj X2ludF9nZXQgKCZzdGF0ZSkgPT0gMikKKyAgICAgZ19jb25kX3dhaXQgKCZyb2NhX2NvbmRfMSwg JnJvY2FfbXV0ZXhfMSk7CistICBnX2Fzc2VydCAoc3RhdGUgPT0gNCk7CisrICBnX2Fzc2VydF9j bXBpbnQgKGdfYXRvbWljX2ludF9nZXQgKCZzdGF0ZSksID09LCA0KTsKKyAKKy0gIHdoaWxlIChz dGF0ZSA9PSA0KQorKyAgd2hpbGUgKGdfYXRvbWljX2ludF9nZXQgKCZzdGF0ZSkgPT0gNCkKKyAg ICAgZ19jb25kX3dhaXQgKCZyb2NhX2NvbmRfMiwgJnJvY2FfbXV0ZXhfMik7CistICBnX2Fzc2Vy dCAoc3RhdGUgPT0gNik7CisrICBnX2Fzc2VydF9jbXBpbnQgKGdfYXRvbWljX2ludF9nZXQgKCZz dGF0ZSksID09LCA2KTsKKyAKKyAgIC8qIGNhbGxiYWNrIGFzc3VtZXMgdGhlcmUnbGwgYmUgYSBj YW5jZWxsZWQgZXJyb3IgKi8KKyAgIGdfY2FuY2VsbGFibGVfY2FuY2VsIChjYW5jZWxsYWJsZSk7 CitAQCAtMTg3Niw3ICsxODc2LDcgQEAgdGVzdF9yZXR1cm5fb25fY2FuY2VsX2F0b21pYyAodm9p ZCkKKyAgICAqIHRhc2sgd29uJ3QgY29tcGxldGUgcmlnaHQgYXdheSwgYW5kIGZ1cnRoZXIKKyAg ICAqIGdfdGFza19zZXRfcmV0dXJuX29uX2NhbmNlbCgpIGNhbGxzIHdpbGwgcmV0dXJuIEZBTFNF LgorICAgICovCistICBzdGF0ZSA9IDA7CisrICBnX2F0b21pY19pbnRfc2V0ICgmc3RhdGUsIDAp OworICAgY2FsbGJhY2tfcmFuID0gRkFMU0U7CisgICBub3RpZmljYXRpb25fZW1pdHRlZCA9IEZB TFNFOworICAgdGFzayA9IGdfdGFza19uZXcgKE5VTEwsIGNhbmNlbGxhYmxlLCByZXR1cm5fb25f Y2FuY2VsX2F0b21pY19jYWxsYmFjaywgJmNhbGxiYWNrX3Jhbik7CitAQCAtMTg4NywxNiArMTg4 NywxNiBAQCB0ZXN0X3JldHVybl9vbl9jYW5jZWxfYXRvbWljICh2b2lkKQorICAgZ190YXNrX3Nl dF90YXNrX2RhdGEgKHRhc2ssIChncG9pbnRlcikmc3RhdGUsIE5VTEwpOworICAgZ190YXNrX3J1 bl9pbl90aHJlYWQgKHRhc2ssIHJldHVybl9vbl9jYW5jZWxfYXRvbWljX3RocmVhZCk7CisgCist ICBnX2Fzc2VydF9jbXBpbnQgKHN0YXRlLCA9PSwgMCk7CisrICBnX2Fzc2VydF9jbXBpbnQgKGdf YXRvbWljX2ludF9nZXQgKCZzdGF0ZSksID09LCAwKTsKKyAKKy0gIHdoaWxlIChzdGF0ZSA9PSAw KQorKyAgd2hpbGUgKGdfYXRvbWljX2ludF9nZXQgKCZzdGF0ZSkgPT0gMCkKKyAgICAgZ19jb25k X3dhaXQgKCZyb2NhX2NvbmRfMSwgJnJvY2FfbXV0ZXhfMSk7CistICBnX2Fzc2VydCAoc3RhdGUg PT0gMSk7CisrICBnX2Fzc2VydF9jbXBpbnQgKGdfYXRvbWljX2ludF9nZXQgKCZzdGF0ZSksID09 LCAxKTsKKyAgIGdfYXNzZXJ0IChnX3Rhc2tfZ2V0X3JldHVybl9vbl9jYW5jZWwgKHRhc2spKTsK KyAKKy0gIHdoaWxlIChzdGF0ZSA9PSAxKQorKyAgd2hpbGUgKGdfYXRvbWljX2ludF9nZXQgKCZz dGF0ZSkgPT0gMSkKKyAgICAgZ19jb25kX3dhaXQgKCZyb2NhX2NvbmRfMiwgJnJvY2FfbXV0ZXhf Mik7CistICBnX2Fzc2VydCAoc3RhdGUgPT0gMik7CisrICBnX2Fzc2VydF9jbXBpbnQgKGdfYXRv bWljX2ludF9nZXQgKCZzdGF0ZSksID09LCAyKTsKKyAgIGdfYXNzZXJ0ICghZ190YXNrX2dldF9y ZXR1cm5fb25fY2FuY2VsICh0YXNrKSk7CisgCisgICBnX2NhbmNlbGxhYmxlX2NhbmNlbCAoY2Fu Y2VsbGFibGUpOworQEAgLTE5MDQsMTggKzE5MDQsMTggQEAgdGVzdF9yZXR1cm5fb25fY2FuY2Vs X2F0b21pYyAodm9pZCkKKyAgIGdfbWFpbl9sb29wX3J1biAobG9vcCk7CisgICBnX2Fzc2VydCAo Y2FsbGJhY2tfcmFuID09IEZBTFNFKTsKKyAKKy0gIHdoaWxlIChzdGF0ZSA9PSAyKQorKyAgd2hp bGUgKGdfYXRvbWljX2ludF9nZXQgKCZzdGF0ZSkgPT0gMikKKyAgICAgZ19jb25kX3dhaXQgKCZy b2NhX2NvbmRfMSwgJnJvY2FfbXV0ZXhfMSk7CistICBnX2Fzc2VydCAoc3RhdGUgPT0gNSk7Cisr ICBnX2Fzc2VydF9jbXBpbnQgKGdfYXRvbWljX2ludF9nZXQgKCZzdGF0ZSksID09LCA1KTsKKyAg IGdfYXNzZXJ0ICghZ190YXNrX2dldF9yZXR1cm5fb25fY2FuY2VsICh0YXNrKSk7CisgCisgICBn X21haW5fbG9vcF9ydW4gKGxvb3ApOworICAgZ19hc3NlcnQgKGNhbGxiYWNrX3JhbiA9PSBUUlVF KTsKKyAgIGdfYXNzZXJ0X3RydWUgKG5vdGlmaWNhdGlvbl9lbWl0dGVkKTsKKyAKKy0gIHdoaWxl IChzdGF0ZSA9PSA1KQorKyAgd2hpbGUgKGdfYXRvbWljX2ludF9nZXQgKCZzdGF0ZSkgPT0gNSkK KyAgICAgZ19jb25kX3dhaXQgKCZyb2NhX2NvbmRfMiwgJnJvY2FfbXV0ZXhfMik7CistICBnX2Fz c2VydCAoc3RhdGUgPT0gNyk7CisrICBnX2Fzc2VydF9jbXBpbnQgKGdfYXRvbWljX2ludF9nZXQg KCZzdGF0ZSksID09LCA3KTsKKyAKKyAgIGdfb2JqZWN0X3VucmVmIChjYW5jZWxsYWJsZSk7Cisg ICBnX211dGV4X3VubG9jayAoJnJvY2FfbXV0ZXhfMSk7CistLSAKK0dpdExhYgorCisKK0Zyb20g ZjQ2MDdkZWYxNjk1ZWZiNTBlYjQ5ZTA1ODZlZWQwZjU1NTc5MzVmMiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IFBoaWxpcCBXaXRobmFsbCA8cHdpdGhuYWxsQGVuZGxlc3Nvcy5vcmc+ CitEYXRlOiBXZWQsIDExIE5vdiAyMDIwIDE4OjIwOjM3ICswMDAwCitTdWJqZWN0OiBbUEFUQ0gg MDYvMjldIHRlc3RzOiBEcm9wIHVubmVjZXNzYXJ5IHZvbGF0aWxlIHF1YWxpZmllcnMgZnJvbSB0 ZXN0cworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNl dD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitUaGVzZSB2YXJpYWJs ZXMgd2VyZSBhbHJlYWR5IChjb3JyZWN0bHkpIGFjY2Vzc2VkIGF0b21pY2FsbHkuIFRoZQorYHZv bGF0aWxlYCBxdWFsaWZpZXIgZG9lc27igJl0IGhlbHAgd2l0aCB0aGF0LgorCitTaWduZWQtb2Zm LWJ5OiBQaGlsaXAgV2l0aG5hbGwgPHB3aXRobmFsbEBlbmRsZXNzb3Mub3JnPgorCitIZWxwczog IzYwMAorLS0tCisgZ2lvL3Rlc3RzL2ctZmlsZS1pbmZvLmMgfCAyICstCisgMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9naW8vdGVz dHMvZy1maWxlLWluZm8uYyBiL2dpby90ZXN0cy9nLWZpbGUtaW5mby5jCitpbmRleCA4MDliMGVj NzkuLjFhMDJiNWUwZSAxMDA2NDQKKy0tLSBhL2dpby90ZXN0cy9nLWZpbGUtaW5mby5jCisrKysg Yi9naW8vdGVzdHMvZy1maWxlLWluZm8uYworQEAgLTIyMSw3ICsyMjEsNyBAQCB0ZXN0X2ludGVy bmFsX2VuaGFuY2VkX3N0ZGlvICh2b2lkKQorICAgZ3VpbnQ2NCBzaXplX3AwLCBhbHNpemVfcDAs IHNpemVfcHMsIGFsc2l6ZV9wczsKKyAgIGNvbnN0IGdjaGFyICppZF9wMDsKKyAgIGNvbnN0IGdj aGFyICppZF9wMTsKKy0gIHZvbGF0aWxlIGd1aW50NjQgdGltZV9wMDsKKysgIGd1aW50NjQgdGlt ZV9wMDsKKyAgIGdjaGFyICp0bXBfZGlyOworICAgd2NoYXJfdCAqcHJvZ3JhbWRhdGFfZGlyX3c7 CisgICB3Y2hhcl90ICp1c2Vyc19kaXJfdzsKKy0tIAorR2l0TGFiCisKKworRnJvbSAzMzYxMjQw NDM5N2Y4N2YwY2Q0NWRhOTBkM2FhOWFiNjBkZjg5NWVlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogUGhpbGlwIFdpdGhuYWxsIDxwd2l0aG5hbGxAZW5kbGVzc29zLm9yZz4KK0RhdGU6 IFdlZCwgMTEgTm92IDIwMjAgMTg6MjQ6MjggKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAwNy8yOV0g Z2RidXNjb25uZWN0aW9uOiBEcm9wIHVubmVjZXNzYXJ5IHZvbGF0aWxlIHF1YWxpZmllcnMKKyBm cm9tIHZhcmlhYmxlcworCitUaGlzIHNob3VsZCBpbnRyb2R1Y2Ugbm8gQVBJIGNoYW5nZXM7IHRo ZXJlIGFyZSBwdWJsaWMgZnVuY3Rpb25zCitleHBvcnRlZCBieSBgR0RCdXNDb25uZWN0aW9uYCB3 aGljaCBzdGlsbCBoYXZlIHNvbWUgKGluY29ycmVjdGx5KQorYHZvbGF0aWxlYCBhcmd1bWVudHMs IGJ1dCBkcm9wcGluZyB0aG9zZSBxdWFsaWZpZXJzIHdvdWxkIGJlIGFuIEFQSQorYnJlYWsuCisK K1NpZ25lZC1vZmYtYnk6IFBoaWxpcCBXaXRobmFsbCA8cHdpdGhuYWxsQGVuZGxlc3Nvcy5vcmc+ CisKK0hlbHBzOiAjNjAwCistLS0KKyBnaW8vZ2RidXNjb25uZWN0aW9uLmMgfCAyMiArKysrKysr KysrKy0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDExIGRl bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ2lvL2dkYnVzY29ubmVjdGlvbi5jIGIvZ2lvL2dk YnVzY29ubmVjdGlvbi5jCitpbmRleCBlZDhjZjYyMTkuLjkxYzM2NWU4MCAxMDA2NDQKKy0tLSBh L2dpby9nZGJ1c2Nvbm5lY3Rpb24uYworKysrIGIvZ2lvL2dkYnVzY29ubmVjdGlvbi5jCitAQCAt MzkzLDcgKzM5Myw3IEBAIHN0cnVjdCBfR0RCdXNDb25uZWN0aW9uCisgICAgKiBGTEFHX0NMT1NF RCBpcyB0aGUgY2xvc2VkIHByb3BlcnR5LiBJdCBtYXkgYmUgcmVhZCBhdCBhbnkgdGltZSwgYnV0 CisgICAgKiBtYXkgb25seSBiZSB3cml0dGVuIHdoaWxlIGhvbGRpbmcgQGxvY2suCisgICAgKi8K Ky0gIHZvbGF0aWxlIGdpbnQgYXRvbWljX2ZsYWdzOworKyAgZ2ludCBhdG9taWNfZmxhZ3M7ICAv KiAoYXRvbWljKSAqLworIAorICAgLyogSWYgdGhlIGNvbm5lY3Rpb24gY291bGQgbm90IGJlIGVz dGFibGlzaGVkIGR1cmluZyBpbml0YWJsZV9pbml0KCksCisgICAgKiB0aGlzIEdFcnJvciB3aWxs IGJlIHNldC4KK0BAIC0xNTk2LDcgKzE1OTYsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4KKyBnX2RidXNf Y29ubmVjdGlvbl9zZW5kX21lc3NhZ2VfdW5sb2NrZWQgKEdEQnVzQ29ubmVjdGlvbiAgICpjb25u ZWN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0RCdXNN ZXNzYWdlICAgICAgKm1lc3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHREJ1c1NlbmRNZXNzYWdlRmxhZ3MgZmxhZ3MsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB2b2xhdGlsZSBndWludDMyICAqb3V0X3NlcmlhbCwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50MzIgICAgICAgICAg ICpvdXRfc2VyaWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg R0Vycm9yICAgICAgICAgICAqKmVycm9yKQorIHsKKyAgIGd1Y2hhciAqYmxvYjsKK0BAIC0xNzQx LDcgKzE3NDEsNyBAQCBnX2RidXNfY29ubmVjdGlvbl9zZW5kX21lc3NhZ2UgKEdEQnVzQ29ubmVj dGlvbiAgICAgICAgKmNvbm5lY3Rpb24sCisgICBnX3JldHVybl92YWxfaWZfZmFpbCAoZXJyb3Ig PT0gTlVMTCB8fCAqZXJyb3IgPT0gTlVMTCwgRkFMU0UpOworIAorICAgQ09OTkVDVElPTl9MT0NL IChjb25uZWN0aW9uKTsKKy0gIHJldCA9IGdfZGJ1c19jb25uZWN0aW9uX3NlbmRfbWVzc2FnZV91 bmxvY2tlZCAoY29ubmVjdGlvbiwgbWVzc2FnZSwgZmxhZ3MsIG91dF9zZXJpYWwsIGVycm9yKTsK KysgIHJldCA9IGdfZGJ1c19jb25uZWN0aW9uX3NlbmRfbWVzc2FnZV91bmxvY2tlZCAoY29ubmVj dGlvbiwgbWVzc2FnZSwgZmxhZ3MsIChndWludDMyICopIG91dF9zZXJpYWwsIGVycm9yKTsKKyAg IENPTk5FQ1RJT05fVU5MT0NLIChjb25uZWN0aW9uKTsKKyAgIHJldHVybiByZXQ7CisgfQorQEAg LTE5MDEsNyArMTkwMSw3IEBAIGdfZGJ1c19jb25uZWN0aW9uX3NlbmRfbWVzc2FnZV93aXRoX3Jl cGx5X3VubG9ja2VkIChHREJ1c0Nvbm5lY3Rpb24gICAgICpjb25uZWN0CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdEQnVzTWVzc2FnZSAgICAg ICAgKm1lc3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEdEQnVzU2VuZE1lc3NhZ2VGbGFncyBmbGFncywKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCAgICAgICAgICAgICAgICAg dGltZW91dF9tc2VjLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB2b2xhdGlsZSBndWludDMyICAgICpvdXRfc2VyaWFsLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWludDMyICAgICAgICAg ICAgICpvdXRfc2VyaWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHQ2FuY2VsbGFibGUgICAgICAgICpjYW5jZWxsYWJsZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0FzeW5jUmVhZHlD YWxsYmFjayAgY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGdwb2ludGVyICAgICAgICAgICAgIHVzZXJfZGF0YSkKK0BAIC0xOTA5 LDcgKzE5MDksNyBAQCBnX2RidXNfY29ubmVjdGlvbl9zZW5kX21lc3NhZ2Vfd2l0aF9yZXBseV91 bmxvY2tlZCAoR0RCdXNDb25uZWN0aW9uICAgICAqY29ubmVjdAorICAgR1Rhc2sgKnRhc2s7Cisg ICBTZW5kTWVzc2FnZURhdGEgKmRhdGE7CisgICBHRXJyb3IgKmVycm9yID0gTlVMTDsKKy0gIHZv bGF0aWxlIGd1aW50MzIgc2VyaWFsOworKyAgZ3VpbnQzMiBzZXJpYWw7CisgCisgICBpZiAob3V0 X3NlcmlhbCA9PSBOVUxMKQorICAgICBvdXRfc2VyaWFsID0gJnNlcmlhbDsKK0BAIC0yMDIyLDcg KzIwMjIsNyBAQCBnX2RidXNfY29ubmVjdGlvbl9zZW5kX21lc3NhZ2Vfd2l0aF9yZXBseSAoR0RC dXNDb25uZWN0aW9uICAgICAgICpjb25uZWN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dF9tc2Vj LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG91dF9zZXJpYWwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGd1aW50MzIgKikgb3V0X3NlcmlhbCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxsYWJsZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaywK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 c2VyX2RhdGEpOworQEAgLTMwODIsNyArMzA4Miw3IEBAIGdfZGJ1c19jb25uZWN0aW9uX2dldF9w ZWVyX2NyZWRlbnRpYWxzIChHREJ1c0Nvbm5lY3Rpb24gKmNvbm5lY3Rpb24pCisgCisgLyogLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworIAorLXN0YXRpYyB2 b2xhdGlsZSBndWludCBfZ2xvYmFsX2ZpbHRlcl9pZCA9IDE7Cisrc3RhdGljIGd1aW50IF9nbG9i YWxfZmlsdGVyX2lkID0gMTsgIC8qIChhdG9taWMpICovCisgCisgLyoqCisgICogZ19kYnVzX2Nv bm5lY3Rpb25fYWRkX2ZpbHRlcjoKK0BAIC0zMzI3LDkgKzMzMjcsOSBAQCBhcmdzX3RvX3J1bGUg KGNvbnN0IGdjaGFyICAgICAgKnNlbmRlciwKKyAgIHJldHVybiBnX3N0cmluZ19mcmVlIChydWxl LCBGQUxTRSk7CisgfQorIAorLXN0YXRpYyB2b2xhdGlsZSBndWludCBfZ2xvYmFsX3N1YnNjcmli ZXJfaWQgPSAxOworLXN0YXRpYyB2b2xhdGlsZSBndWludCBfZ2xvYmFsX3JlZ2lzdHJhdGlvbl9p ZCA9IDE7Cistc3RhdGljIHZvbGF0aWxlIGd1aW50IF9nbG9iYWxfc3VidHJlZV9yZWdpc3RyYXRp b25faWQgPSAxOworK3N0YXRpYyBndWludCBfZ2xvYmFsX3N1YnNjcmliZXJfaWQgPSAxOyAgLyog KGF0b21pYykgKi8KKytzdGF0aWMgZ3VpbnQgX2dsb2JhbF9yZWdpc3RyYXRpb25faWQgPSAxOyAg LyogKGF0b21pYykgKi8KKytzdGF0aWMgZ3VpbnQgX2dsb2JhbF9zdWJ0cmVlX3JlZ2lzdHJhdGlv bl9pZCA9IDE7ICAvKiAoYXRvbWljKSAqLworIAorIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKyAKK0BAIC01OTkyLDcgKzU5OTIsNyBAQCBnX2RidXNf Y29ubmVjdGlvbl9jYWxsX3N5bmNfaW50ZXJuYWwgKEdEQnVzQ29ubmVjdGlvbiAgICAgICAgICpj b25uZWN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtZXNzYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZW5kX2ZsYWdzLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0X21zZWMsCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE5VTEwsIC8qIHZvbGF0aWxlIGd1aW50MzIgKm91dF9zZXJpYWwgKi8KKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgLyogZ3Vp bnQzMiAqb3V0X3NlcmlhbCAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxsYWJsZSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmxvY2FsX2Vycm9yKTsKKyAK Ky0tIAorR2l0TGFiCisKKworRnJvbSA3Yzc2MjNjNGEzMWZiMGYyYTcxNzZjNDNhY2M3MjgwOTM4 MThiNThjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGhpbGlwIFdpdGhuYWxsIDxw d2l0aG5hbGxAZW5kbGVzc29zLm9yZz4KK0RhdGU6IFdlZCwgMTEgTm92IDIwMjAgMTg6MjY6MTkg KzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAwOC8yOV0gZ2RidXNlcnJvcjogRHJvcCB1bm5lY2Vzc2Fy eSB2b2xhdGlsZSBxdWFsaWZpZXJzIGZyb20KKyB2YXJpYWJsZXMKKworVGhpcyBzaG91bGQgaW50 cm9kdWNlIG5vIEFQSSBjaGFuZ2VzLiBUaGUKK2BnX2RidXNfZXJyb3JfcmVnaXN0ZXJfZXJyb3Jf ZG9tYWluKClgIGZ1bmN0aW9uIHN0aWxsIChpbmNvcnJlY3RseSkgaGFzCithIGB2b2xhdGlsZWAg YXJndW1lbnQsIGJ1dCBkcm9wcGluZyB0aGF0IHF1YWxpZmllciB3b3VsZCBiZSBhbiBBUEkKK2Jy ZWFrLgorCitTaWduZWQtb2ZmLWJ5OiBQaGlsaXAgV2l0aG5hbGwgPHB3aXRobmFsbEBlbmRsZXNz b3Mub3JnPgorCitIZWxwczogIzYwMAorLS0tCisgZ2lvL2dkYnVzZXJyb3IuYyB8IDI4ICsrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygr KSwgMTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9naW8vZ2RidXNlcnJvci5jIGIvZ2lv L2dkYnVzZXJyb3IuYworaW5kZXggNjgyNjc3MzU0Li5iMDNhMzNmMjcgMTAwNjQ0CistLS0gYS9n aW8vZ2RidXNlcnJvci5jCisrKysgYi9naW8vZ2RidXNlcnJvci5jCitAQCAtODQsMTIgKzg0LDEy IEBACisgICogR1F1YXJrCisgICogZm9vX2Jhcl9lcnJvcl9xdWFyayAodm9pZCkKKyAgKiB7Cist ICogICBzdGF0aWMgdm9sYXRpbGUgZ3NpemUgcXVhcmtfdm9sYXRpbGUgPSAwOworKyAqICAgc3Rh dGljIGdzaXplIHF1YXJrID0gMDsKKyAgKiAgIGdfZGJ1c19lcnJvcl9yZWdpc3Rlcl9lcnJvcl9k b21haW4gKCJmb28tYmFyLWVycm9yLXF1YXJrIiwKKy0gKiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZxdWFya192b2xhdGlsZSwKKysgKiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZxdWFyaywKKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZvb19iYXJfZXJyb3JfZW50cmllcywKKyAgKiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEdfTl9FTEVNRU5UUyAoZm9vX2Jhcl9lcnJvcl9lbnRyaWVz KSk7CistICogICByZXR1cm4gKEdRdWFyaykgcXVhcmtfdm9sYXRpbGU7CisrICogICByZXR1cm4g KEdRdWFyaykgcXVhcms7CisgICogfQorICAqIF18CisgICogV2l0aCB0aGlzIHNldHVwLCBhIEQt QnVzIHBlZXIgY2FuIHRyYW5zcGFyZW50bHkgcGFzcyBlLmcuICVGT09fQkFSX0VSUk9SX0FOT1RI RVJfRVJST1IgYW5kCitAQCAtMTYwLDEyICsxNjAsMTIgQEAgR1F1YXJrCisgZ19kYnVzX2Vycm9y X3F1YXJrICh2b2lkKQorIHsKKyAgIEdfU1RBVElDX0FTU0VSVCAoR19OX0VMRU1FTlRTIChnX2Ri dXNfZXJyb3JfZW50cmllcykgLSAxID09IEdfREJVU19FUlJPUl9QUk9QRVJUWV9SRUFEX09OTFkp OworLSAgc3RhdGljIHZvbGF0aWxlIGdzaXplIHF1YXJrX3ZvbGF0aWxlID0gMDsKKysgIHN0YXRp YyBnc2l6ZSBxdWFyayA9IDA7CisgICBnX2RidXNfZXJyb3JfcmVnaXN0ZXJfZXJyb3JfZG9tYWlu ICgiZy1kYnVzLWVycm9yLXF1YXJrIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZxdWFya192b2xhdGlsZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZxdWFyaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdf ZGJ1c19lcnJvcl9lbnRyaWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgR19OX0VMRU1FTlRTIChnX2RidXNfZXJyb3JfZW50cmllcykpOworLSAgcmV0dXJuIChHUXVh cmspIHF1YXJrX3ZvbGF0aWxlOworKyAgcmV0dXJuIChHUXVhcmspIHF1YXJrOworIH0KKyAKKyAv KioKK0BAIC0xODUsMjUgKzE4NSwzMSBAQCBnX2RidXNfZXJyb3JfcmVnaXN0ZXJfZXJyb3JfZG9t YWluIChjb25zdCBnY2hhciAgICAgICAgICAgKmVycm9yX2RvbWFpbl9xdWFya19uYQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdEQnVzRXJyb3JFbnRyeSAqZW50 cmllcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWludCAgICAgICAg ICAgICAgICAgIG51bV9lbnRyaWVzKQorIHsKKysgIGdzaXplICpxdWFyazsKKysKKyAgIGdfcmV0 dXJuX2lmX2ZhaWwgKGVycm9yX2RvbWFpbl9xdWFya19uYW1lICE9IE5VTEwpOworICAgZ19yZXR1 cm5faWZfZmFpbCAocXVhcmtfdm9sYXRpbGUgIT0gTlVMTCk7CisgICBnX3JldHVybl9pZl9mYWls IChlbnRyaWVzICE9IE5VTEwpOworICAgZ19yZXR1cm5faWZfZmFpbCAobnVtX2VudHJpZXMgPiAw KTsKKyAKKy0gIGlmIChnX29uY2VfaW5pdF9lbnRlciAocXVhcmtfdm9sYXRpbGUpKQorKyAgLyog RHJvcCB0aGUgdm9sYXRpbGUgcXVhbGlmaWVyLCB3aGljaCBzaG91bGQgbmV2ZXIgaGF2ZSBiZWVu IG9uIHRoZSBhcmd1bWVudAorKyAgICogaW4gdGhlIGZpcnN0IHBsYWNlLiAqLworKyAgcXVhcmsg PSAoZ3NpemUgKikgcXVhcmtfdm9sYXRpbGU7CisrCisrICBpZiAoZ19vbmNlX2luaXRfZW50ZXIg KHF1YXJrKSkKKyAgICAgeworICAgICAgIGd1aW50IG47CistICAgICAgR1F1YXJrIHF1YXJrOwor KyAgICAgIEdRdWFyayBuZXdfcXVhcms7CisgCistICAgICAgcXVhcmsgPSBnX3F1YXJrX2Zyb21f c3RhdGljX3N0cmluZyAoZXJyb3JfZG9tYWluX3F1YXJrX25hbWUpOworKyAgICAgIG5ld19xdWFy ayA9IGdfcXVhcmtfZnJvbV9zdGF0aWNfc3RyaW5nIChlcnJvcl9kb21haW5fcXVhcmtfbmFtZSk7 CisgCisgICAgICAgZm9yIChuID0gMDsgbiA8IG51bV9lbnRyaWVzOyBuKyspCisgICAgICAgICB7 CistICAgICAgICAgIGdfd2Fybl9pZl9mYWlsIChnX2RidXNfZXJyb3JfcmVnaXN0ZXJfZXJyb3Ig KHF1YXJrLAorKyAgICAgICAgICBnX3dhcm5faWZfZmFpbCAoZ19kYnVzX2Vycm9yX3JlZ2lzdGVy X2Vycm9yIChuZXdfcXVhcmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGVudHJpZXNbbl0uZXJyb3JfY29kZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50cmllc1tuXS5kYnVz X2Vycm9yX25hbWUpKTsKKyAgICAgICAgIH0KKy0gICAgICBnX29uY2VfaW5pdF9sZWF2ZSAocXVh cmtfdm9sYXRpbGUsIHF1YXJrKTsKKysgICAgICBnX29uY2VfaW5pdF9sZWF2ZSAocXVhcmssIG5l d19xdWFyayk7CisgICAgIH0KKyB9CisgCistLSAKK0dpdExhYgorCisKK0Zyb20gNzQyNTBjZDlj OWRmZDNhZDQyOGU0NDVjMDk1Y2VhYzg4YmExODY5MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IFBoaWxpcCBXaXRobmFsbCA8cHdpdGhuYWxsQGVuZGxlc3Nvcy5vcmc+CitEYXRlOiBX ZWQsIDExIE5vdiAyMDIwIDE4OjI4OjIzICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMDkvMjldIGdp bzogRHJvcCB1bm5lY2Vzc2FyeSB2b2xhdGlsZSBxdWFsaWZpZXJzIGZyb20gaW50ZXJuYWwKKyB2 YXJpYWJsZXMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNo YXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVGhlc2UgdmFy aWFibGVzIHdlcmUgYWxyZWFkeSAoY29ycmVjdGx5KSBhY2Nlc3NlZCBhdG9taWNhbGx5LiBUaGUK K2B2b2xhdGlsZWAgcXVhbGlmaWVyIGRvZXNu4oCZdCBoZWxwIHdpdGggdGhhdC4KKworU2lnbmVk LW9mZi1ieTogUGhpbGlwIFdpdGhuYWxsIDxwd2l0aG5hbGxAZW5kbGVzc29zLm9yZz4KKworSGVs cHM6ICM2MDAKKy0tLQorIGdpby9nZGJ1c2ludGVyZmFjZXNrZWxldG9uLmMgfCAgMiArLQorIGdp by9nZGJ1c2ludHJvc3BlY3Rpb24uaCAgICAgfCAxNCArKysrKysrLS0tLS0tLQorIGdpby9nZGJ1 c25hbWVvd25pbmcuYyAgICAgICAgfCAgNCArKy0tCisgZ2lvL2dkYnVzbmFtZXdhdGNoaW5nLmMg ICAgICB8ICA0ICsrLS0KKyBnaW8vZ2RidXNwcml2YXRlLmMgICAgICAgICAgIHwgMTAgKysrKyst LS0tLQorIGdpby9nbmV0d29ya2luZy5jICAgICAgICAgICAgfCAgMiArLQorIDYgZmlsZXMgY2hh bmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9n aW8vZ2RidXNpbnRlcmZhY2Vza2VsZXRvbi5jIGIvZ2lvL2dkYnVzaW50ZXJmYWNlc2tlbGV0b24u YworaW5kZXggMjQzYjRhMGE0Li43NjM5OGRmMzYgMTAwNjQ0CistLS0gYS9naW8vZ2RidXNpbnRl cmZhY2Vza2VsZXRvbi5jCisrKysgYi9naW8vZ2RidXNpbnRlcmZhY2Vza2VsZXRvbi5jCitAQCAt NDU4LDcgKzQ1OCw3IEBAIGRidXNfaW50ZXJmYWNlX2ludGVyZmFjZV9pbml0IChHREJ1c0ludGVy ZmFjZUlmYWNlICppZmFjZSkKKyAKKyB0eXBlZGVmIHN0cnVjdAorIHsKKy0gIHZvbGF0aWxlIGdp bnQgcmVmX2NvdW50OworKyAgZ2ludCByZWZfY291bnQ7ICAvKiAoYXRvbWljKSAqLworICAgR0RC dXNJbnRlcmZhY2VTa2VsZXRvbiAgICAgICAqaW50ZXJmYWNlOworICAgR0RCdXNJbnRlcmZhY2VN ZXRob2RDYWxsRnVuYyAgbWV0aG9kX2NhbGxfZnVuYzsKKyAgIEdEQnVzTWV0aG9kSW52b2NhdGlv biAgICAgICAgKmludm9jYXRpb247CitkaWZmIC0tZ2l0IGEvZ2lvL2dkYnVzaW50cm9zcGVjdGlv bi5oIGIvZ2lvL2dkYnVzaW50cm9zcGVjdGlvbi5oCitpbmRleCAxNGIxNzEwNTUuLmYyZTI5MTc4 NyAxMDA2NDQKKy0tLSBhL2dpby9nZGJ1c2ludHJvc3BlY3Rpb24uaAorKysrIGIvZ2lvL2dkYnVz aW50cm9zcGVjdGlvbi5oCitAQCAtNDMsNyArNDMsNyBAQCBHX0JFR0lOX0RFQ0xTCisgc3RydWN0 IF9HREJ1c0Fubm90YXRpb25JbmZvCisgeworICAgLyo8IHB1YmxpYyA+Ki8KKy0gIHZvbGF0aWxl IGdpbnQgICAgICAgICByZWZfY291bnQ7CisrICBnaW50ICAgICAgICAgICAgICAgICAgcmVmX2Nv dW50OyAgLyogKGF0b21pYykgKi8KKyAgIGdjaGFyICAgICAgICAgICAgICAgICprZXk7CisgICBn Y2hhciAgICAgICAgICAgICAgICAqdmFsdWU7CisgICBHREJ1c0Fubm90YXRpb25JbmZvICoqYW5u b3RhdGlvbnM7CitAQCAtNjMsNyArNjMsNyBAQCBzdHJ1Y3QgX0dEQnVzQW5ub3RhdGlvbkluZm8K KyBzdHJ1Y3QgX0dEQnVzQXJnSW5mbworIHsKKyAgIC8qPCBwdWJsaWMgPiovCistICB2b2xhdGls ZSBnaW50ICAgICAgICAgcmVmX2NvdW50OworKyAgZ2ludCAgICAgICAgICAgICAgICAgIHJlZl9j b3VudDsgIC8qIChhdG9taWMpICovCisgICBnY2hhciAgICAgICAgICAgICAgICAqbmFtZTsKKyAg IGdjaGFyICAgICAgICAgICAgICAgICpzaWduYXR1cmU7CisgICBHREJ1c0Fubm90YXRpb25JbmZv ICoqYW5ub3RhdGlvbnM7CitAQCAtODQsNyArODQsNyBAQCBzdHJ1Y3QgX0dEQnVzQXJnSW5mbwor IHN0cnVjdCBfR0RCdXNNZXRob2RJbmZvCisgeworICAgLyo8IHB1YmxpYyA+Ki8KKy0gIHZvbGF0 aWxlIGdpbnQgICAgICAgICByZWZfY291bnQ7CisrICBnaW50ICAgICAgICAgICAgICAgICAgcmVm X2NvdW50OyAgLyogKGF0b21pYykgKi8KKyAgIGdjaGFyICAgICAgICAgICAgICAgICpuYW1lOwor ICAgR0RCdXNBcmdJbmZvICAgICAgICAqKmluX2FyZ3M7CisgICBHREJ1c0FyZ0luZm8gICAgICAg ICoqb3V0X2FyZ3M7CitAQCAtMTA1LDcgKzEwNSw3IEBAIHN0cnVjdCBfR0RCdXNNZXRob2RJbmZv Cisgc3RydWN0IF9HREJ1c1NpZ25hbEluZm8KKyB7CisgICAvKjwgcHVibGljID4qLworLSAgdm9s YXRpbGUgZ2ludCAgICAgICAgIHJlZl9jb3VudDsKKysgIGdpbnQgICAgICAgICAgICAgICAgICBy ZWZfY291bnQ7ICAvKiAoYXRvbWljKSAqLworICAgZ2NoYXIgICAgICAgICAgICAgICAgKm5hbWU7 CisgICBHREJ1c0FyZ0luZm8gICAgICAgICoqYXJnczsKKyAgIEdEQnVzQW5ub3RhdGlvbkluZm8g Kiphbm5vdGF0aW9uczsKK0BAIC0xMjYsNyArMTI2LDcgQEAgc3RydWN0IF9HREJ1c1NpZ25hbElu Zm8KKyBzdHJ1Y3QgX0dEQnVzUHJvcGVydHlJbmZvCisgeworICAgLyo8IHB1YmxpYyA+Ki8KKy0g IHZvbGF0aWxlIGdpbnQgICAgICAgICAgICAgcmVmX2NvdW50OworKyAgZ2ludCAgICAgICAgICAg ICAgICAgICAgICByZWZfY291bnQ7ICAvKiAoYXRvbWljKSAqLworICAgZ2NoYXIgICAgICAgICAg ICAgICAgICAgICpuYW1lOworICAgZ2NoYXIgICAgICAgICAgICAgICAgICAgICpzaWduYXR1cmU7 CisgICBHREJ1c1Byb3BlcnR5SW5mb0ZsYWdzICAgIGZsYWdzOworQEAgLTE0OSw3ICsxNDksNyBA QCBzdHJ1Y3QgX0dEQnVzUHJvcGVydHlJbmZvCisgc3RydWN0IF9HREJ1c0ludGVyZmFjZUluZm8K KyB7CisgICAvKjwgcHVibGljID4qLworLSAgdm9sYXRpbGUgZ2ludCAgICAgICAgIHJlZl9jb3Vu dDsKKysgIGdpbnQgICAgICAgICAgICAgICAgICByZWZfY291bnQ7ICAvKiAoYXRvbWljKSAqLwor ICAgZ2NoYXIgICAgICAgICAgICAgICAgKm5hbWU7CisgICBHREJ1c01ldGhvZEluZm8gICAgICoq bWV0aG9kczsKKyAgIEdEQnVzU2lnbmFsSW5mbyAgICAgKipzaWduYWxzOworQEAgLTE3Miw3ICsx NzIsNyBAQCBzdHJ1Y3QgX0dEQnVzSW50ZXJmYWNlSW5mbworIHN0cnVjdCBfR0RCdXNOb2RlSW5m bworIHsKKyAgIC8qPCBwdWJsaWMgPiovCistICB2b2xhdGlsZSBnaW50ICAgICAgICAgcmVmX2Nv dW50OworKyAgZ2ludCAgICAgICAgICAgICAgICAgIHJlZl9jb3VudDsgIC8qIChhdG9taWMpICov CisgICBnY2hhciAgICAgICAgICAgICAgICAqcGF0aDsKKyAgIEdEQnVzSW50ZXJmYWNlSW5mbyAg KippbnRlcmZhY2VzOworICAgR0RCdXNOb2RlSW5mbyAgICAgICAqKm5vZGVzOworZGlmZiAtLWdp dCBhL2dpby9nZGJ1c25hbWVvd25pbmcuYyBiL2dpby9nZGJ1c25hbWVvd25pbmcuYworaW5kZXgg ZDIwZTZmZmVkLi4xMTMwZDY3ODkgMTAwNjQ0CistLS0gYS9naW8vZ2RidXNuYW1lb3duaW5nLmMK KysrKyBiL2dpby9nZGJ1c25hbWVvd25pbmcuYworQEAgLTU1LDcgKzU1LDcgQEAgdHlwZWRlZiBl bnVtCisgCisgdHlwZWRlZiBzdHJ1Y3QKKyB7CistICB2b2xhdGlsZSBnaW50ICAgICAgICAgICAg IHJlZl9jb3VudDsKKysgIGdpbnQgICAgICAgICAgICAgICAgICAgICAgcmVmX2NvdW50OyAgLyog KGF0b21pYykgKi8KKyAgIGd1aW50ICAgICAgICAgICAgICAgICAgICAgaWQ7CisgICBHQnVzTmFt ZU93bmVyRmxhZ3MgICAgICAgIGZsYWdzOworICAgZ2NoYXIgICAgICAgICAgICAgICAgICAgICpu YW1lOworQEAgLTczLDcgKzczLDcgQEAgdHlwZWRlZiBzdHJ1Y3QKKyAgIGd1aW50ICAgICAgICAg ICAgICAgICAgICAgbmFtZV9hY3F1aXJlZF9zdWJzY3JpcHRpb25faWQ7CisgICBndWludCAgICAg ICAgICAgICAgICAgICAgIG5hbWVfbG9zdF9zdWJzY3JpcHRpb25faWQ7CisgCistICB2b2xhdGls ZSBnYm9vbGVhbiAgICAgICAgIGNhbmNlbGxlZDsgLyogbXVzdCBob2xkIGxvY2sgd2hlbiByZWFk aW5nIG9yIG1vZGlmeWluZyAqLworKyAgZ2Jvb2xlYW4gICAgICAgICAgICAgICAgICBjYW5jZWxs ZWQ7IC8qIG11c3QgaG9sZCBsb2NrIHdoZW4gcmVhZGluZyBvciBtb2RpZnlpbmcgKi8KKyAKKyAg IGdib29sZWFuICAgICAgICAgICAgICAgICAgbmVlZHNfcmVsZWFzZTsKKyB9IENsaWVudDsKK2Rp ZmYgLS1naXQgYS9naW8vZ2RidXNuYW1ld2F0Y2hpbmcuYyBiL2dpby9nZGJ1c25hbWV3YXRjaGlu Zy5jCitpbmRleCBiYzJhOTExOWUuLjhkMjQ3MDBjNSAxMDA2NDQKKy0tLSBhL2dpby9nZGJ1c25h bWV3YXRjaGluZy5jCisrKysgYi9naW8vZ2RidXNuYW1ld2F0Y2hpbmcuYworQEAgLTU2LDcgKzU2 LDcgQEAgdHlwZWRlZiBlbnVtCisgCisgdHlwZWRlZiBzdHJ1Y3QKKyB7CistICB2b2xhdGlsZSBn aW50ICAgICAgICAgICAgIHJlZl9jb3VudDsKKysgIGdpbnQgICAgICAgICAgICAgICAgICAgICAg cmVmX2NvdW50OyAgLyogKGF0b21pYykgKi8KKyAgIGd1aW50ICAgICAgICAgICAgICAgICAgICAg aWQ7CisgICBnY2hhciAgICAgICAgICAgICAgICAgICAgKm5hbWU7CisgICBHQnVzTmFtZVdhdGNo ZXJGbGFncyAgICAgIGZsYWdzOworQEAgLTc4LDcgKzc4LDcgQEAgdHlwZWRlZiBzdHJ1Y3QKKyB9 IENsaWVudDsKKyAKKyAvKiBNdXN0IGJlIGFjY2Vzc2VkIGF0b21pY2FsbHkuICovCistc3RhdGlj IHZvbGF0aWxlIGd1aW50IG5leHRfZ2xvYmFsX2lkID0gMTsKKytzdGF0aWMgZ3VpbnQgbmV4dF9n bG9iYWxfaWQgPSAxOyAgLyogKGF0b21pYykgKi8KKyAKKyAvKiBNdXN0IGJlIGFjY2Vzc2VkIHdp dGggQGxvY2sgaGVsZC4gKi8KKyBzdGF0aWMgR0hhc2hUYWJsZSAqbWFwX2lkX3RvX2NsaWVudCA9 IE5VTEw7CitkaWZmIC0tZ2l0IGEvZ2lvL2dkYnVzcHJpdmF0ZS5jIGIvZ2lvL2dkYnVzcHJpdmF0 ZS5jCitpbmRleCAyNTUxZTQ3OTEuLjk5YjM3ZjNlYiAxMDA2NDQKKy0tLSBhL2dpby9nZGJ1c3By aXZhdGUuYworKysrIGIvZ2lvL2dkYnVzcHJpdmF0ZS5jCitAQCAtMjY1LDcgKzI2NSw3IEBAIGVu c3VyZV9yZXF1aXJlZF90eXBlcyAodm9pZCkKKyAKKyB0eXBlZGVmIHN0cnVjdAorIHsKKy0gIHZv bGF0aWxlIGdpbnQgcmVmY291bnQ7CisrICBnaW50IHJlZmNvdW50OyAgLyogKGF0b21pYykgKi8K KyAgIEdUaHJlYWQgKnRocmVhZDsKKyAgIEdNYWluQ29udGV4dCAqY29udGV4dDsKKyAgIEdNYWlu TG9vcCAqbG9vcDsKK0BAIC0zNDEsMTIgKzM0MSwxMiBAQCB0eXBlZGVmIGVudW0geworIAorIHN0 cnVjdCBHREJ1c1dvcmtlcgorIHsKKy0gIHZvbGF0aWxlIGdpbnQgICAgICAgICAgICAgICAgICAg ICAgIHJlZl9jb3VudDsKKysgIGdpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl Zl9jb3VudDsgIC8qIChhdG9taWMpICovCisgCisgICBTaGFyZWRUaHJlYWREYXRhICAgICAgICAg ICAgICAgICAgICpzaGFyZWRfdGhyZWFkX2RhdGE7CisgCisgICAvKiByZWFsbHkgYSBib29sZWFu LCBidXQgR0xpYiAyLjI4IGxhY2tzIGF0b21pYyBib29sZWFuIG9wcyAqLworLSAgdm9sYXRpbGUg Z2ludCAgICAgICAgICAgICAgICAgICAgICAgc3RvcHBlZDsKKysgIGdpbnQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0b3BwZWQ7ICAvKiAoYXRvbWljKSAqLworIAorICAgLyogVE9E TzogZnJvemVuIChlLmcuIEdfREJVU19DT05ORUNUSU9OX0ZMQUdTX0RFTEFZX01FU1NBR0VfUFJP Q0VTU0lORykgY3VycmVudGx5CisgICAgKiBvbmx5IGFmZmVjdHMgbWVzc2FnZXMgcmVjZWl2ZWQg ZnJvbSB0aGUgb3RoZXIgcGVlciAoc2luY2UgR0RCdXNTZXJ2ZXIgaXMgdGhlCitAQCAtMTk0MSwx MSArMTk0MSwxMSBAQCBfZ19kYnVzX2RlYnVnX3ByaW50X3VubG9jayAodm9pZCkKKyB2b2lkCisg X2dfZGJ1c19pbml0aWFsaXplICh2b2lkKQorIHsKKy0gIHN0YXRpYyB2b2xhdGlsZSBnc2l6ZSBp bml0aWFsaXplZCA9IDA7CisrICBzdGF0aWMgZ3NpemUgaW5pdGlhbGl6ZWQgPSAwOworIAorICAg aWYgKGdfb25jZV9pbml0X2VudGVyICgmaW5pdGlhbGl6ZWQpKQorICAgICB7CistICAgICAgdm9s YXRpbGUgR1F1YXJrIGdfZGJ1c19lcnJvcl9kb21haW47CisrICAgICAgR1F1YXJrIGdfZGJ1c19l cnJvcl9kb21haW47CisgICAgICAgY29uc3QgZ2NoYXIgKmRlYnVnOworIAorICAgICAgIGdfZGJ1 c19lcnJvcl9kb21haW4gPSBHX0RCVVNfRVJST1I7CitkaWZmIC0tZ2l0IGEvZ2lvL2duZXR3b3Jr aW5nLmMgYi9naW8vZ25ldHdvcmtpbmcuYworaW5kZXggMDU1MDdmZTcwLi43YmM2ZDczYzQgMTAw NjQ0CistLS0gYS9naW8vZ25ldHdvcmtpbmcuYworKysrIGIvZ2lvL2duZXR3b3JraW5nLmMKK0BA IC02MSw3ICs2MSw3IEBAIHZvaWQKKyBnX25ldHdvcmtpbmdfaW5pdCAodm9pZCkKKyB7CisgI2lm ZGVmIEdfT1NfV0lOMzIKKy0gIHN0YXRpYyB2b2xhdGlsZSBnc2l6ZSBpbml0ZWQgPSAwOworKyAg c3RhdGljIGdzaXplIGluaXRlZCA9IDA7CisgCisgICBpZiAoZ19vbmNlX2luaXRfZW50ZXIgKCZp bml0ZWQpKQorICAgICB7CistLSAKK0dpdExhYgorCisKK0Zyb20gZTRlODg2ODhhMDcyMjIzN2Vm ZmM1NmNjMjE0MzhkMGM4ZTgyZGU4OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBo aWxpcCBXaXRobmFsbCA8cHdpdGhuYWxsQGVuZGxlc3Nvcy5vcmc+CitEYXRlOiBXZWQsIDExIE5v diAyMDIwIDE4OjI5OjI2ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMTAvMjldIGtxdWV1ZTogRml4 IHVubG9ja2VkIGFjY2VzcyB0byBzaGFyZWQgdmFyaWFibGUKK01JTUUtVmVyc2lvbjogMS4wCitD b250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXIt RW5jb2Rpbmc6IDhiaXQKKworQW5kIGRyb3AgdGhlIGB2b2xhdGlsZWAgcXVhbGlmaWVyIGJlY2F1 c2UgaXQgZG9lc27igJl0IGhlbHAuCisKK1NpZ25lZC1vZmYtYnk6IFBoaWxpcCBXaXRobmFsbCA8 cHdpdGhuYWxsQGVuZGxlc3Nvcy5vcmc+CisKK0hlbHBzOiAjNjAwCistLS0KKyBnaW8va3F1ZXVl L2txdWV1ZS1taXNzaW5nLmMgfCA1ICsrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dpby9rcXVldWUva3F1ZXVlLW1p c3NpbmcuYyBiL2dpby9rcXVldWUva3F1ZXVlLW1pc3NpbmcuYworaW5kZXggMzdhZjgyZTViLi5k MWZmZGY0YmQgMTAwNjQ0CistLS0gYS9naW8va3F1ZXVlL2txdWV1ZS1taXNzaW5nLmMKKysrKyBi L2dpby9rcXVldWUva3F1ZXVlLW1pc3NpbmcuYworQEAgLTM0LDcgKzM0LDcgQEAgc3RhdGljIGdi b29sZWFuIGttX2RlYnVnX2VuYWJsZWQgPSBGQUxTRTsKKyBzdGF0aWMgR1NMaXN0ICptaXNzaW5n X3N1YnNfbGlzdCA9IE5VTEw7CisgR19MT0NLX0RFRklORV9TVEFUSUMgKG1pc3NpbmdfbG9jayk7 CisgCistc3RhdGljIHZvbGF0aWxlIGdib29sZWFuIHNjYW5fbWlzc2luZ19ydW5uaW5nID0gRkFM U0U7Cisrc3RhdGljIGdib29sZWFuIHNjYW5fbWlzc2luZ19ydW5uaW5nID0gRkFMU0U7ICAvKiBt dXN0IGJlIGFjY2Vzc2VkIHVuZGVyIEBtaXNzaW5nX2xvY2sgKi8KKyAKKyAKKyBzdGF0aWMgZ2Jv b2xlYW4KK0BAIC02Miw3ICs2Miw2IEBAIF9rbV9hZGRfbWlzc2luZyAoa3F1ZXVlX3N1YiAqc3Vi KQorIAorICAgS01fVyAoImFkZGluZyAlcyB0byBtaXNzaW5nIGxpc3RcbiIsIHN1Yi0+ZmlsZW5h bWUpOworICAgbWlzc2luZ19zdWJzX2xpc3QgPSBnX3NsaXN0X3ByZXBlbmQgKG1pc3Npbmdfc3Vi c19saXN0LCBzdWIpOworLSAgR19VTkxPQ0sgKG1pc3NpbmdfbG9jayk7CisgCisgICBpZiAoIXNj YW5fbWlzc2luZ19ydW5uaW5nKQorICAgICB7CitAQCAtNzMsNiArNzIsOCBAQCBfa21fYWRkX21p c3NpbmcgKGtxdWV1ZV9zdWIgKnN1YikKKyAgICAgICBnX3NvdXJjZV9hdHRhY2ggKHNvdXJjZSwg R0xJQl9QUklWQVRFX0NBTEwgKGdfZ2V0X3dvcmtlcl9jb250ZXh0KSAoKSk7CisgICAgICAgZ19z b3VyY2VfdW5yZWYgKHNvdXJjZSk7CisgICAgIH0KKysKKysgIEdfVU5MT0NLIChtaXNzaW5nX2xv Y2spOworIH0KKyAKKyAvKioKKy0tIAorR2l0TGFiCisKKworRnJvbSA3Y2RiNjg3MTNjMTg2M2Ey N2FkODJkODAxNzU2ZWM3NDA5N2U4ZTg3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog UGhpbGlwIFdpdGhuYWxsIDxwd2l0aG5hbGxAZW5kbGVzc29zLm9yZz4KK0RhdGU6IFdlZCwgMTEg Tm92IDIwMjAgMTg6MzA6MzYgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAxMS8yOV0gdGVzdHM6IERy b3AgdW5uZWNlc3Nhcnkgdm9sYXRpbGUgcXVhbGlmaWVycyBmcm9tIHRlc3RzCitNSU1FLVZlcnNp b246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50 LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1RoZXNlIHZhcmlhYmxlcyB3ZXJlIGFscmVhZHkg KGNvcnJlY3RseSkgYWNjZXNzZWQgYXRvbWljYWxseS4gVGhlCitgdm9sYXRpbGVgIHF1YWxpZmll ciBkb2VzbuKAmXQgaGVscCB3aXRoIHRoYXQuCisKK1NpZ25lZC1vZmYtYnk6IFBoaWxpcCBXaXRo bmFsbCA8cHdpdGhuYWxsQGVuZGxlc3Nvcy5vcmc+CisKK0hlbHBzOiAjNjAwCistLS0KKyB0ZXN0 cy9nb2JqZWN0L3BlcmZvcm1hbmNlLXRocmVhZGVkLmMgfCAgMiArLQorIHRlc3RzL2dvYmplY3Qv cGVyZm9ybWFuY2UuYyAgICAgICAgICB8ICA0ICsrLS0KKyB0ZXN0cy9vbmNlaW5pdC5jICAgICAg ICAgICAgICAgICAgICAgfCAxNiArKysrKysrKy0tLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCAx MSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL2dv YmplY3QvcGVyZm9ybWFuY2UtdGhyZWFkZWQuYyBiL3Rlc3RzL2dvYmplY3QvcGVyZm9ybWFuY2Ut dGhyZWFkZWQuYworaW5kZXggMzBlYTViZDgwLi5jOTg1NDFkNjYgMTAwNjQ0CistLS0gYS90ZXN0 cy9nb2JqZWN0L3BlcmZvcm1hbmNlLXRocmVhZGVkLmMKKysrKyBiL3Rlc3RzL2dvYmplY3QvcGVy Zm9ybWFuY2UtdGhyZWFkZWQuYworQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIEdUeXBlIGxpc3Rz dG9yZV9pbnRlcmZhY2VzWzZdOworIHN0YXRpYyBncG9pbnRlciAKKyByZWdpc3Rlcl90eXBlcyAo dm9pZCkKKyB7CistICBzdGF0aWMgdm9sYXRpbGUgZ3NpemUgaW5pdGVkID0gMDsKKysgIHN0YXRp YyBnc2l6ZSBpbml0ZWQgPSAwOworICAgaWYgKGdfb25jZV9pbml0X2VudGVyICgmaW5pdGVkKSkK KyAgICAgeworICAgICAgIGxpc3RzdG9yZV9pbnRlcmZhY2VzWzBdID0gc2ltcGxlX3JlZ2lzdGVy X2NsYXNzICgiR3RrQnVpbGRhYmxlIiwgR19UWVBFX0lOVEVSRkFDRSwgMCk7CitkaWZmIC0tZ2l0 IGEvdGVzdHMvZ29iamVjdC9wZXJmb3JtYW5jZS5jIGIvdGVzdHMvZ29iamVjdC9wZXJmb3JtYW5j ZS5jCitpbmRleCAyMzZmZmFlZDAuLjE2M2JlNThiNCAxMDA2NDQKKy0tLSBhL3Rlc3RzL2dvYmpl Y3QvcGVyZm9ybWFuY2UuYworKysrIGIvdGVzdHMvZ29iamVjdC9wZXJmb3JtYW5jZS5jCitAQCAt NTc1LDggKzU3NSw4IEBAIHRlc3RfdHlwZV9jaGVja19ydW4gKFBlcmZvcm1hbmNlVGVzdCAqdGVz dCwKKyAJCSAgICAgZ3BvaW50ZXIgX2RhdGEpCisgeworICAgc3RydWN0IFR5cGVDaGVja1Rlc3Qg KmRhdGEgPSBfZGF0YTsKKy0gIHZvbGF0aWxlIEdPYmplY3QgKm9iamVjdCA9IGRhdGEtPm9iamVj dDsKKy0gIHZvbGF0aWxlIEdUeXBlIHR5cGUsIHR5cGVzWzVdOworKyAgR09iamVjdCAqb2JqZWN0 ID0gZGF0YS0+b2JqZWN0OworKyAgR1R5cGUgdHlwZSwgdHlwZXNbNV07CisgICBpbnQgaSwgajsK KyAKKyAgIHR5cGVzWzBdID0gdGVzdF9pZmFjZTFfZ2V0X3R5cGUgKCk7CitkaWZmIC0tZ2l0IGEv dGVzdHMvb25jZWluaXQuYyBiL3Rlc3RzL29uY2Vpbml0LmMKK2luZGV4IDg5YmE2YTEzNi4uOTc4 OGVmY2JkIDEwMDY0NAorLS0tIGEvdGVzdHMvb25jZWluaXQuYworKysrIGIvdGVzdHMvb25jZWlu aXQuYworQEAgLTI1LDEzICsyNSwxMyBAQAorIAorIHN0YXRpYyBHTXV0ZXggICAgICAgdG11dGV4 OworIHN0YXRpYyBHQ29uZCAgICAgICAgdGNvbmQ7Cistc3RhdGljIHZvbGF0aWxlIGludCB0aHJl YWRfY2FsbF9jb3VudCA9IDA7Cisrc3RhdGljIGludCB0aHJlYWRfY2FsbF9jb3VudCA9IDA7ICAv KiAoYXRvbWljKSAqLworIHN0YXRpYyBjaGFyICAgICAgICAgZHVtbXlfdmFsdWUgPSAneCc7Cisg Cisgc3RhdGljIHZvaWQKKyBhc3NlcnRfc2luZ2xldG9uX2V4ZWN1dGlvbjEgKHZvaWQpCisgewor LSAgc3RhdGljIHZvbGF0aWxlIGludCBzZWVuX2V4ZWN1dGlvbiA9IDA7CisrICBzdGF0aWMgaW50 IHNlZW5fZXhlY3V0aW9uID0gMDsgIC8qIChhdG9taWMpICovCisgICBpbnQgb2xkX3NlZW5fZXhl Y3V0aW9uID0gZ19hdG9taWNfaW50X2FkZCAoJnNlZW5fZXhlY3V0aW9uLCAxKTsKKyAgIGlmIChv bGRfc2Vlbl9leGVjdXRpb24gIT0gMCkKKyAgICAgZ19lcnJvciAoIiVzOiBmdW5jdGlvbiBleGVj dXRlZCBtb3JlIHRoYW4gb25jZSIsIEdfU1RSRlVOQyk7CitAQCAtNDAsNyArNDAsNyBAQCBhc3Nl cnRfc2luZ2xldG9uX2V4ZWN1dGlvbjEgKHZvaWQpCisgc3RhdGljIHZvaWQKKyBhc3NlcnRfc2lu Z2xldG9uX2V4ZWN1dGlvbjIgKHZvaWQpCisgeworLSAgc3RhdGljIHZvbGF0aWxlIGludCBzZWVu X2V4ZWN1dGlvbiA9IDA7CisrICBzdGF0aWMgaW50IHNlZW5fZXhlY3V0aW9uID0gMDsgIC8qIChh dG9taWMpICovCisgICBpbnQgb2xkX3NlZW5fZXhlY3V0aW9uID0gZ19hdG9taWNfaW50X2FkZCAo JnNlZW5fZXhlY3V0aW9uLCAxKTsKKyAgIGlmIChvbGRfc2Vlbl9leGVjdXRpb24gIT0gMCkKKyAg ICAgZ19lcnJvciAoIiVzOiBmdW5jdGlvbiBleGVjdXRlZCBtb3JlIHRoYW4gb25jZSIsIEdfU1RS RlVOQyk7CitAQCAtNDksNyArNDksNyBAQCBhc3NlcnRfc2luZ2xldG9uX2V4ZWN1dGlvbjIgKHZv aWQpCisgc3RhdGljIHZvaWQKKyBhc3NlcnRfc2luZ2xldG9uX2V4ZWN1dGlvbjMgKHZvaWQpCisg eworLSAgc3RhdGljIHZvbGF0aWxlIGludCBzZWVuX2V4ZWN1dGlvbiA9IDA7CisrICBzdGF0aWMg aW50IHNlZW5fZXhlY3V0aW9uID0gMDsgIC8qIChhdG9taWMpICovCisgICBpbnQgb2xkX3NlZW5f ZXhlY3V0aW9uID0gZ19hdG9taWNfaW50X2FkZCAoJnNlZW5fZXhlY3V0aW9uLCAxKTsKKyAgIGlm IChvbGRfc2Vlbl9leGVjdXRpb24gIT0gMCkKKyAgICAgZ19lcnJvciAoIiVzOiBmdW5jdGlvbiBl eGVjdXRlZCBtb3JlIHRoYW4gb25jZSIsIEdfU1RSRlVOQyk7CitAQCAtNTgsNyArNTgsNyBAQCBh c3NlcnRfc2luZ2xldG9uX2V4ZWN1dGlvbjMgKHZvaWQpCisgc3RhdGljIHZvaWQKKyBpbml0aWFs aXplcjEgKHZvaWQpCisgeworLSAgc3RhdGljIHZvbGF0aWxlIGdzaXplIGluaXRpYWxpemVkID0g MDsKKysgIHN0YXRpYyBnc2l6ZSBpbml0aWFsaXplZCA9IDA7CisgICBpZiAoZ19vbmNlX2luaXRf ZW50ZXIgKCZpbml0aWFsaXplZCkpCisgICAgIHsKKyAgICAgICBnc2l6ZSBpbml0dmFsID0gNDI7 CitAQCAtNzAsNyArNzAsNyBAQCBpbml0aWFsaXplcjEgKHZvaWQpCisgc3RhdGljIGdwb2ludGVy CisgaW5pdGlhbGl6ZXIyICh2b2lkKQorIHsKKy0gIHN0YXRpYyB2b2xhdGlsZSBnc2l6ZSBpbml0 aWFsaXplZCA9IDA7CisrICBzdGF0aWMgZ3NpemUgaW5pdGlhbGl6ZWQgPSAwOworICAgaWYgKGdf b25jZV9pbml0X2VudGVyICgmaW5pdGlhbGl6ZWQpKQorICAgICB7CisgICAgICAgdm9pZCAqcG9p bnRlcl92YWx1ZSA9ICZkdW1teV92YWx1ZTsKK0BAIC04Myw3ICs4Myw3IEBAIGluaXRpYWxpemVy MiAodm9pZCkKKyBzdGF0aWMgdm9pZAorIGluaXRpYWxpemVyMyAodm9pZCkKKyB7CistICBzdGF0 aWMgdm9sYXRpbGUgZ3NpemUgaW5pdGlhbGl6ZWQgPSAwOworKyAgc3RhdGljIGdzaXplIGluaXRp YWxpemVkID0gMDsKKyAgIGlmIChnX29uY2VfaW5pdF9lbnRlciAoJmluaXRpYWxpemVkKSkKKyAg ICAgeworICAgICAgIGdzaXplIGluaXR2YWwgPSA0MjsKK0BAIC0xNjMsNyArMTYzLDcgQEAgbWFp biAoaW50ICAgYXJnYywKKyAgICAgICBzdGF0aWMgdm9pZCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKKyAgICAgICB0ZXN0X2luaXRpYWxpemVyXyMjTiAodm9pZCkgICAg ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgIHN0YXRpYyB2b2xhdGlsZSBnc2l6ZSBp bml0aWFsaXplZCA9IDA7ICAgICAgICAgIFwKKysgICAgICAgIHN0YXRpYyBnc2l6ZSBpbml0aWFs aXplZCA9IDA7ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIGlmIChnX29uY2VfaW5pdF9l bnRlciAoJmluaXRpYWxpemVkKSkgICAgICAgICAgIFwKKyAgICAgICAgICAgeyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICBnX2ZyZWUg KGdfc3RyZHVwX3ByaW50ZiAoImNwdWhvZyU1ZCIsIDEpKTsgIFwKKy0tIAorR2l0TGFiCisKKwor RnJvbSAxYTdmMDAwMmEwNTI3MjVmYjY0NmUxMzZmYWRkNWRhZDY2MjIyZDdmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogUGhpbGlwIFdpdGhuYWxsIDxwd2l0aG5hbGxAZW5kbGVzc29z Lm9yZz4KK0RhdGU6IFdlZCwgMTEgTm92IDIwMjAgMTg6MzE6MDEgKzAwMDAKK1N1YmplY3Q6IFtQ QVRDSCAxMi8yOV0gdGVzdHM6IEZpeCBub24tYXRvbWljIGFjY2VzcyB0byBzb21lIHNoYXJlZCB2 YXJpYWJsZXMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNo YXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworQW5kIGRyb3Ag dGhlIGB2b2xhdGlsZWAgcXVhbGlmaWVyIGZyb20gdGhlIHZhcmlhYmxlcywgYXMgdGhhdCBkb2Vz buKAmXQKK2hlbHAgd2l0aCB0aHJlYWQgc2FmZXR5LgorCitTaWduZWQtb2ZmLWJ5OiBQaGlsaXAg V2l0aG5hbGwgPHB3aXRobmFsbEBlbmRsZXNzb3Mub3JnPgorCitIZWxwczogIzYwMAorLS0tCisg dGVzdHMvcmVmY291bnQvb2JqZWN0cy5jICAgICB8IDggKysrKy0tLS0KKyB0ZXN0cy9yZWZjb3Vu dC9wcm9wZXJ0aWVzMy5jIHwgOCArKysrLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRp b25zKCspLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVmY291bnQvb2Jq ZWN0cy5jIGIvdGVzdHMvcmVmY291bnQvb2JqZWN0cy5jCitpbmRleCA5NjM3NjZkMDAuLjBjNDcx YTQyYiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3JlZmNvdW50L29iamVjdHMuYworKysrIGIvdGVzdHMv cmVmY291bnQvb2JqZWN0cy5jCitAQCAtMjYsNyArMjYsNyBAQCBzdHJ1Y3QgX0dUZXN0Q2xhc3MK KyB9OworIAorIHN0YXRpYyBHVHlwZSBteV90ZXN0X2dldF90eXBlICh2b2lkKTsKKy1zdGF0aWMg dm9sYXRpbGUgZ2Jvb2xlYW4gc3RvcHBpbmc7Cisrc3RhdGljIGdpbnQgc3RvcHBpbmc7ICAvKiAo YXRvbWljKSAqLworIAorIHN0YXRpYyB2b2lkIG15X3Rlc3RfY2xhc3NfaW5pdCAoR1Rlc3RDbGFz cyAqIGtsYXNzKTsKKyBzdGF0aWMgdm9pZCBteV90ZXN0X2luaXQgKEdUZXN0ICogdGVzdCk7CitA QCAtMTAxLDcgKzEwMSw3IEBAIHJ1bl90aHJlYWQgKEdUZXN0ICogdGVzdCkKKyB7CisgICBnaW50 IGkgPSAxOworIAorLSAgd2hpbGUgKCFzdG9wcGluZykgeworKyAgd2hpbGUgKCFnX2F0b21pY19p bnRfZ2V0ICgmc3RvcHBpbmcpKSB7CisgICAgIG15X3Rlc3RfZG9fcmVmY291bnQgKHRlc3QpOwor ICAgICBpZiAoKGkrKyAlIDEwMDAwKSA9PSAwKSB7CisgICAgICAgZ19wcmludCAoIi4iKTsKK0BA IC0xMjgsNyArMTI4LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAorICAgdGVz dF90aHJlYWRzID0gZ19hcnJheV9uZXcgKEZBTFNFLCBGQUxTRSwgc2l6ZW9mIChHVGhyZWFkICop KTsKKyAKKy0gIHN0b3BwaW5nID0gRkFMU0U7CisrICBnX2F0b21pY19pbnRfc2V0ICgmc3RvcHBp bmcsIDApOworIAorICAgZm9yIChpID0gMDsgaSA8IG5fdGhyZWFkczsgaSsrKSB7CisgICAgIEdU aHJlYWQgKnRocmVhZDsKK0BAIC0xNDEsNyArMTQxLDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIg Kiphcmd2KQorICAgfQorICAgZ191c2xlZXAgKDUwMDAwMDApOworIAorLSAgc3RvcHBpbmcgPSBU UlVFOworKyAgZ19hdG9taWNfaW50X3NldCAoJnN0b3BwaW5nLCAxKTsKKyAKKyAgIGdfcHJpbnQg KCJcbnN0b3BwaW5nXG4iKTsKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWZjb3VudC9wcm9wZXJ0 aWVzMy5jIGIvdGVzdHMvcmVmY291bnQvcHJvcGVydGllczMuYworaW5kZXggYmM4ODIwNjYxLi4z MWYyNmE0NmUgMTAwNjQ0CistLS0gYS90ZXN0cy9yZWZjb3VudC9wcm9wZXJ0aWVzMy5jCisrKysg Yi90ZXN0cy9yZWZjb3VudC9wcm9wZXJ0aWVzMy5jCitAQCAtMzQsNyArMzQsNyBAQCBzdHJ1Y3Qg X0dUZXN0Q2xhc3MKKyBzdGF0aWMgR1R5cGUgbXlfdGVzdF9nZXRfdHlwZSAodm9pZCk7CisgR19E RUZJTkVfVFlQRSAoR1Rlc3QsIG15X3Rlc3QsIEdfVFlQRV9PQkpFQ1QpCisgCistc3RhdGljIHZv bGF0aWxlIGdib29sZWFuIHN0b3BwaW5nOworK3N0YXRpYyBnaW50IHN0b3BwaW5nOyAgLyogKGF0 b21pYykgKi8KKyAKKyBzdGF0aWMgdm9pZCBteV90ZXN0X2dldF9wcm9wZXJ0eSAoR09iamVjdCAg ICAqb2JqZWN0LAorIAkJCQkgIGd1aW50ICAgICAgIHByb3BfaWQsCitAQCAtMTQwLDcgKzE0MCw3 IEBAIHJ1bl90aHJlYWQgKEdUZXN0ICogdGVzdCkKKyB7CisgICBnaW50IGkgPSAxOworIAorLSAg d2hpbGUgKCFzdG9wcGluZykgeworKyAgd2hpbGUgKCFnX2F0b21pY19pbnRfZ2V0ICgmc3RvcHBp bmcpKSB7CisgICAgIG15X3Rlc3RfZG9fcHJvcGVydHkgKHRlc3QpOworICAgICBpZiAoKGkrKyAl IDEwMDAwKSA9PSAwKQorICAgICAgIHsKK0BAIC0xNzAsNyArMTcwLDcgQEAgbWFpbiAoaW50IGFy Z2MsIGNoYXIgKiphcmd2KQorIAorICAgdGVzdF90aHJlYWRzID0gZ19hcnJheV9uZXcgKEZBTFNF LCBGQUxTRSwgc2l6ZW9mIChHVGhyZWFkICopKTsKKyAKKy0gIHN0b3BwaW5nID0gRkFMU0U7Cisr ICBnX2F0b21pY19pbnRfc2V0ICgmc3RvcHBpbmcsIDApOworIAorICAgZm9yIChpID0gMDsgaSA8 IG5fdGhyZWFkczsgaSsrKSB7CisgICAgIEdUaHJlYWQgKnRocmVhZDsKK0BAIC0xODAsNyArMTgw LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICAgfQorICAgZ191c2xlZXAgKDMw MDAwMDAwKTsKKyAKKy0gIHN0b3BwaW5nID0gVFJVRTsKKysgIGdfYXRvbWljX2ludF9zZXQgKCZz dG9wcGluZywgMSk7CisgICBnX3ByaW50ICgiXG5zdG9wcGluZ1xuIik7CisgCisgICAvKiBqb2lu IGFsbCB0aHJlYWRzICovCistLSAKK0dpdExhYgorCisKK0Zyb20gM2M2NDg0NTdjMjg0YjRiYTMx M2I4NTkxMDA4ZDJlMThhZTQzMzVlYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBo aWxpcCBXaXRobmFsbCA8cHdpdGhuYWxsQGVuZGxlc3Nvcy5vcmc+CitEYXRlOiBXZWQsIDExIE5v diAyMDIwIDE4OjM2OjM3ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMTMvMjldIGdhdG9taWM6IERy b3AgdW5uZWNlc3Nhcnkgdm9sYXRpbGUgcXVhbGlmaWVycyBmcm9tCisgaW50ZXJuYWwgdmFyaWFi bGVzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK0l04oCZcyBub3QgbmVj ZXNzYXJ5IGFuZCBwcm92aWRlcyBubyB0aHJlYWQgc2FmZXR5IGd1YXJhbnRlZXMuCisKK1RoZSBg dm9sYXRpbGVgIHF1YWxpZmllcnMgb24gdGhlIGZ1bmN0aW9uIGFyZ3VtZW50cyBoYXZlIHRvIGJl IGtlcHQsIGFzCit0aGV5IGFyZSAodW5mb3J0dW5hdGVseSkgcGFydCBvZiB0aGUgQVBJLgorCitT aWduZWQtb2ZmLWJ5OiBQaGlsaXAgV2l0aG5hbGwgPHB3aXRobmFsbEBlbmRsZXNzb3Mub3JnPgor CitIZWxwczogIzYwMAorLS0tCisgZ2xpYi9nYXRvbWljLmMgfCAzNCArKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDE3 IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ2xpYi9nYXRvbWljLmMgYi9nbGliL2dhdG9t aWMuYworaW5kZXggOGI4YzY0NTNkLi42N2Y1YmE2YjQgMTAwNjQ0CistLS0gYS9nbGliL2dhdG9t aWMuYworKysrIGIvZ2xpYi9nYXRvbWljLmMKK0BAIC0zMTYsNyArMzE2LDcgQEAgZ3VpbnQKKyBn cG9pbnRlcgorIChnX2F0b21pY19wb2ludGVyX2dldCkgKGNvbnN0IHZvbGF0aWxlIHZvaWQgKmF0 b21pYykKKyB7CistICByZXR1cm4gZ19hdG9taWNfcG9pbnRlcl9nZXQgKChjb25zdCB2b2xhdGls ZSBncG9pbnRlciAqKSBhdG9taWMpOworKyAgcmV0dXJuIGdfYXRvbWljX3BvaW50ZXJfZ2V0ICgo Z3BvaW50ZXIgKikgYXRvbWljKTsKKyB9CisgCisgLyoqCitAQCAtMzM1LDcgKzMzNSw3IEBAIHZv aWQKKyAoZ19hdG9taWNfcG9pbnRlcl9zZXQpICh2b2xhdGlsZSB2b2lkICphdG9taWMsCisgICAg ICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgbmV3dmFsKQorIHsKKy0gIGdfYXRv bWljX3BvaW50ZXJfc2V0ICgodm9sYXRpbGUgZ3BvaW50ZXIgKikgYXRvbWljLCBuZXd2YWwpOwor KyAgZ19hdG9taWNfcG9pbnRlcl9zZXQgKChncG9pbnRlciAqKSBhdG9taWMsIG5ld3ZhbCk7Cisg fQorIAorIC8qKgorQEAgLTM2Myw3ICszNjMsNyBAQCBnYm9vbGVhbgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgb2xkdmFsLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgbmV3dmFs KQorIHsKKy0gIHJldHVybiBnX2F0b21pY19wb2ludGVyX2NvbXBhcmVfYW5kX2V4Y2hhbmdlICgo dm9sYXRpbGUgZ3BvaW50ZXIgKikgYXRvbWljLAorKyAgcmV0dXJuIGdfYXRvbWljX3BvaW50ZXJf Y29tcGFyZV9hbmRfZXhjaGFuZ2UgKChncG9pbnRlciAqKSBhdG9taWMsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkdmFsLCBuZXd2YWwpOworIH0K KyAKK0BAIC0zODcsNyArMzg3LDcgQEAgZ3NzaXplCisgKGdfYXRvbWljX3BvaW50ZXJfYWRkKSAo dm9sYXRpbGUgdm9pZCAqYXRvbWljLAorICAgICAgICAgICAgICAgICAgICAgICAgIGdzc2l6ZSAg ICAgICAgIHZhbCkKKyB7CistICByZXR1cm4gZ19hdG9taWNfcG9pbnRlcl9hZGQgKCh2b2xhdGls ZSBncG9pbnRlciAqKSBhdG9taWMsIHZhbCk7CisrICByZXR1cm4gZ19hdG9taWNfcG9pbnRlcl9h ZGQgKChncG9pbnRlciAqKSBhdG9taWMsIHZhbCk7CisgfQorIAorIC8qKgorQEAgLTQxMSw3ICs0 MTEsNyBAQCBnc2l6ZQorIChnX2F0b21pY19wb2ludGVyX2FuZCkgKHZvbGF0aWxlIHZvaWQgKmF0 b21pYywKKyAgICAgICAgICAgICAgICAgICAgICAgICBnc2l6ZSAgICAgICAgICB2YWwpCisgewor LSAgcmV0dXJuIGdfYXRvbWljX3BvaW50ZXJfYW5kICgodm9sYXRpbGUgZ3BvaW50ZXIgKikgYXRv bWljLCB2YWwpOworKyAgcmV0dXJuIGdfYXRvbWljX3BvaW50ZXJfYW5kICgoZ3BvaW50ZXIgKikg YXRvbWljLCB2YWwpOworIH0KKyAKKyAvKioKK0BAIC00MzUsNyArNDM1LDcgQEAgZ3NpemUKKyAo Z19hdG9taWNfcG9pbnRlcl9vcikgKHZvbGF0aWxlIHZvaWQgKmF0b21pYywKKyAgICAgICAgICAg ICAgICAgICAgICAgIGdzaXplICAgICAgICAgIHZhbCkKKyB7CistICByZXR1cm4gZ19hdG9taWNf cG9pbnRlcl9vciAoKHZvbGF0aWxlIGdwb2ludGVyICopIGF0b21pYywgdmFsKTsKKysgIHJldHVy biBnX2F0b21pY19wb2ludGVyX29yICgoZ3BvaW50ZXIgKikgYXRvbWljLCB2YWwpOworIH0KKyAK KyAvKioKK0BAIC00NTksNyArNDU5LDcgQEAgZ3NpemUKKyAoZ19hdG9taWNfcG9pbnRlcl94b3Ip ICh2b2xhdGlsZSB2b2lkICphdG9taWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgZ3NpemUg ICAgICAgICAgdmFsKQorIHsKKy0gIHJldHVybiBnX2F0b21pY19wb2ludGVyX3hvciAoKHZvbGF0 aWxlIGdwb2ludGVyICopIGF0b21pYywgdmFsKTsKKysgIHJldHVybiBnX2F0b21pY19wb2ludGVy X3hvciAoKGdwb2ludGVyICopIGF0b21pYywgdmFsKTsKKyB9CisgCisgI2VsaWYgZGVmaW5lZCAo R19QTEFURk9STV9XSU4zMikKK0BAIC01OTEsNyArNTkxLDcgQEAgZ3VpbnQKKyBncG9pbnRlcgor IChnX2F0b21pY19wb2ludGVyX2dldCkgKGNvbnN0IHZvbGF0aWxlIHZvaWQgKmF0b21pYykKKyB7 CistICBjb25zdCB2b2xhdGlsZSBncG9pbnRlciAqcHRyID0gYXRvbWljOworKyAgY29uc3QgZ3Bv aW50ZXIgKnB0ciA9IGF0b21pYzsKKyAKKyAgIE1lbW9yeUJhcnJpZXIgKCk7CisgICByZXR1cm4g KnB0cjsKK0BAIC02MDEsNyArNjAxLDcgQEAgdm9pZAorIChnX2F0b21pY19wb2ludGVyX3NldCkg KHZvbGF0aWxlIHZvaWQgKmF0b21pYywKKyAgICAgICAgICAgICAgICAgICAgICAgICBncG9pbnRl ciAgICAgICBuZXd2YWwpCisgeworLSAgdm9sYXRpbGUgZ3BvaW50ZXIgKnB0ciA9IGF0b21pYzsK KysgIGdwb2ludGVyICpwdHIgPSBhdG9taWM7CisgCisgICAqcHRyID0gbmV3dmFsOworICAgTWVt b3J5QmFycmllciAoKTsKK0BAIC03OTcsNyArNzk3LDcgQEAgZ3VpbnQKKyBncG9pbnRlcgorIChn X2F0b21pY19wb2ludGVyX2dldCkgKGNvbnN0IHZvbGF0aWxlIHZvaWQgKmF0b21pYykKKyB7Cist ICBjb25zdCB2b2xhdGlsZSBncG9pbnRlciAqcHRyID0gYXRvbWljOworKyAgY29uc3QgZ3BvaW50 ZXIgKnB0ciA9IGF0b21pYzsKKyAgIGdwb2ludGVyIHZhbHVlOworIAorICAgcHRocmVhZF9tdXRl eF9sb2NrICgmZ19hdG9taWNfbG9jayk7CitAQCAtODExLDcgKzgxMSw3IEBAIHZvaWQKKyAoZ19h dG9taWNfcG9pbnRlcl9zZXQpICh2b2xhdGlsZSB2b2lkICphdG9taWMsCisgICAgICAgICAgICAg ICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgbmV3dmFsKQorIHsKKy0gIHZvbGF0aWxlIGdwb2lu dGVyICpwdHIgPSBhdG9taWM7CisrICBncG9pbnRlciAqcHRyID0gYXRvbWljOworIAorICAgcHRo cmVhZF9tdXRleF9sb2NrICgmZ19hdG9taWNfbG9jayk7CisgICAqcHRyID0gbmV3dmFsOworQEAg LTgyMyw3ICs4MjMsNyBAQCBnYm9vbGVhbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgb2xkdmFsLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgbmV3dmFsKQorIHsKKy0gIHZvbGF0 aWxlIGdwb2ludGVyICpwdHIgPSBhdG9taWM7CisrICBncG9pbnRlciAqcHRyID0gYXRvbWljOwor ICAgZ2Jvb2xlYW4gc3VjY2VzczsKKyAKKyAgIHB0aHJlYWRfbXV0ZXhfbG9jayAoJmdfYXRvbWlj X2xvY2spOworQEAgLTg0MCw3ICs4NDAsNyBAQCBnc3NpemUKKyAoZ19hdG9taWNfcG9pbnRlcl9h ZGQpICh2b2xhdGlsZSB2b2lkICphdG9taWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgZ3Nz aXplICAgICAgICAgdmFsKQorIHsKKy0gIHZvbGF0aWxlIGdzc2l6ZSAqcHRyID0gYXRvbWljOwor KyAgZ3NzaXplICpwdHIgPSBhdG9taWM7CisgICBnc3NpemUgb2xkdmFsOworIAorICAgcHRocmVh ZF9tdXRleF9sb2NrICgmZ19hdG9taWNfbG9jayk7CitAQCAtODU1LDcgKzg1NSw3IEBAIGdzaXpl CisgKGdfYXRvbWljX3BvaW50ZXJfYW5kKSAodm9sYXRpbGUgdm9pZCAqYXRvbWljLAorICAgICAg ICAgICAgICAgICAgICAgICAgIGdzaXplICAgICAgICAgIHZhbCkKKyB7CistICB2b2xhdGlsZSBn c2l6ZSAqcHRyID0gYXRvbWljOworKyAgZ3NpemUgKnB0ciA9IGF0b21pYzsKKyAgIGdzaXplIG9s ZHZhbDsKKyAKKyAgIHB0aHJlYWRfbXV0ZXhfbG9jayAoJmdfYXRvbWljX2xvY2spOworQEAgLTg3 MCw3ICs4NzAsNyBAQCBnc2l6ZQorIChnX2F0b21pY19wb2ludGVyX29yKSAodm9sYXRpbGUgdm9p ZCAqYXRvbWljLAorICAgICAgICAgICAgICAgICAgICAgICAgZ3NpemUgICAgICAgICAgdmFsKQor IHsKKy0gIHZvbGF0aWxlIGdzaXplICpwdHIgPSBhdG9taWM7CisrICBnc2l6ZSAqcHRyID0gYXRv bWljOworICAgZ3NpemUgb2xkdmFsOworIAorICAgcHRocmVhZF9tdXRleF9sb2NrICgmZ19hdG9t aWNfbG9jayk7CitAQCAtODg1LDcgKzg4NSw3IEBAIGdzaXplCisgKGdfYXRvbWljX3BvaW50ZXJf eG9yKSAodm9sYXRpbGUgdm9pZCAqYXRvbWljLAorICAgICAgICAgICAgICAgICAgICAgICAgIGdz aXplICAgICAgICAgIHZhbCkKKyB7CistICB2b2xhdGlsZSBnc2l6ZSAqcHRyID0gYXRvbWljOwor KyAgZ3NpemUgKnB0ciA9IGF0b21pYzsKKyAgIGdzaXplIG9sZHZhbDsKKyAKKyAgIHB0aHJlYWRf bXV0ZXhfbG9jayAoJmdfYXRvbWljX2xvY2spOworQEAgLTkxNSw1ICs5MTUsNSBAQCBnaW50Cisg Z19hdG9taWNfaW50X2V4Y2hhbmdlX2FuZF9hZGQgKHZvbGF0aWxlIGdpbnQgKmF0b21pYywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCAgICAgICAgICAgdmFsKQorIHsKKy0g IHJldHVybiAoZ19hdG9taWNfaW50X2FkZCkgKGF0b21pYywgdmFsKTsKKysgIHJldHVybiAoZ19h dG9taWNfaW50X2FkZCkgKChnaW50ICopIGF0b21pYywgdmFsKTsKKyB9CistLSAKK0dpdExhYgor CisKK0Zyb20gOTQ3NDY1NWViMjFkNjQ1MTliMjkzZTc4MGJiNjg2OTc2Y2JkYjc5MCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBoaWxpcCBXaXRobmFsbCA8cHdpdGhuYWxsQGVuZGxl c3Nvcy5vcmc+CitEYXRlOiBXZWQsIDExIE5vdiAyMDIwIDE4OjM4OjM2ICswMDAwCitTdWJqZWN0 OiBbUEFUQ0ggMTQvMjldIGdhdG9taWM6IERyb3AgdW5uZWNlc3Nhcnkgdm9sYXRpbGUgcXVhbGlm aWVycyBmcm9tCisgbWFjcm8gdmFyaWFibGVzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1U eXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA4Yml0CisKK0l04oCZcyBub3QgbmVjZXNzYXJ5IGFuZCBwcm92aWRlcyBubyB0aHJlYWQgc2Fm ZXR5IGd1YXJhbnRlZXMuCisKK1RoZSBgdm9sYXRpbGVgIHF1YWxpZmllcnMgb24gdGhlIGZ1bmN0 aW9uIGFyZ3VtZW50cyBoYXZlIHRvIGJlIGtlcHQsIGFzCit0aGV5IGFyZSAodW5mb3J0dW5hdGVs eSkgcGFydCBvZiB0aGUgQVBJLgorCitTaWduZWQtb2ZmLWJ5OiBQaGlsaXAgV2l0aG5hbGwgPHB3 aXRobmFsbEBlbmRsZXNzb3Mub3JnPgorCitIZWxwczogIzYwMAorLS0tCisgZ2xpYi9nYXRvbWlj LmggfCA2ICsrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9nbGliL2dhdG9taWMuaCBiL2dsaWIvZ2F0b21pYy5oCitp bmRleCBiYjE0MzVjNzAuLmU2ZWNjZmFkYSAxMDA2NDQKKy0tLSBhL2dsaWIvZ2F0b21pYy5oCisr KysgYi9nbGliL2dhdG9taWMuaAorQEAgLTIxMSw3ICsyMTEsNyBAQCBHX0VORF9ERUNMUworICAg fSkpCisgI2RlZmluZSBnX2F0b21pY19wb2ludGVyX2FuZChhdG9taWMsIHZhbCkgXAorICAgKEdf R05VQ19FWFRFTlNJT04gKHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAorLSAgICB2b2xhdGlsZSBnc2l6ZSAqZ2FwYV9hdG9taWMgPSAodm9s YXRpbGUgZ3NpemUgKikgKGF0b21pYyk7ICAgICAgICAgICAgICAgXAorKyAgICBnc2l6ZSAqZ2Fw YV9hdG9taWMgPSAoZ3NpemUgKikgKGF0b21pYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgICBHX1NUQVRJQ19BU1NFUlQgKHNpemVvZiAqKGF0b21pYykgPT0gc2l6ZW9m IChncG9pbnRlcikpOyAgICAgICAgICAgICAgICAgXAorICAgICBHX1NUQVRJQ19BU1NFUlQgKHNp emVvZiAqKGF0b21pYykgPT0gc2l6ZW9mIChnc2l6ZSkpOyAgICAgICAgICAgICAgICAgICAgXAor ICAgICAodm9pZCkgKDAgPyAoZ3BvaW50ZXIpICooYXRvbWljKSA6IE5VTEwpOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorQEAgLTIyMCw3ICsyMjAsNyBAQCBHX0VORF9ERUNMUwor ICAgfSkpCisgI2RlZmluZSBnX2F0b21pY19wb2ludGVyX29yKGF0b21pYywgdmFsKSBcCisgICAo R19HTlVDX0VYVEVOU0lPTiAoeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCistICAgIHZvbGF0aWxlIGdzaXplICpnYXBvX2F0b21pYyA9ICh2 b2xhdGlsZSBnc2l6ZSAqKSAoYXRvbWljKTsgICAgICAgICAgICAgICBcCisrICAgIGdzaXplICpn YXBvX2F0b21pYyA9IChnc2l6ZSAqKSAoYXRvbWljKTsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCisgICAgIEdfU1RBVElDX0FTU0VSVCAoc2l6ZW9mICooYXRvbWljKSA9PSBzaXpl b2YgKGdwb2ludGVyKSk7ICAgICAgICAgICAgICAgICBcCisgICAgIEdfU1RBVElDX0FTU0VSVCAo c2l6ZW9mICooYXRvbWljKSA9PSBzaXplb2YgKGdzaXplKSk7ICAgICAgICAgICAgICAgICAgICBc CisgICAgICh2b2lkKSAoMCA/IChncG9pbnRlcikgKihhdG9taWMpIDogTlVMTCk7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCitAQCAtMjI5LDcgKzIyOSw3IEBAIEdfRU5EX0RFQ0xT CisgICB9KSkKKyAjZGVmaW5lIGdfYXRvbWljX3BvaW50ZXJfeG9yKGF0b21pYywgdmFsKSBcCisg ICAoR19HTlVDX0VYVEVOU0lPTiAoeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCistICAgIHZvbGF0aWxlIGdzaXplICpnYXB4X2F0b21pYyA9 ICh2b2xhdGlsZSBnc2l6ZSAqKSAoYXRvbWljKTsgICAgICAgICAgICAgICBcCisrICAgIGdzaXpl ICpnYXB4X2F0b21pYyA9IChnc2l6ZSAqKSAoYXRvbWljKTsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCisgICAgIEdfU1RBVElDX0FTU0VSVCAoc2l6ZW9mICooYXRvbWljKSA9PSBz aXplb2YgKGdwb2ludGVyKSk7ICAgICAgICAgICAgICAgICBcCisgICAgIEdfU1RBVElDX0FTU0VS VCAoc2l6ZW9mICooYXRvbWljKSA9PSBzaXplb2YgKGdzaXplKSk7ICAgICAgICAgICAgICAgICAg ICBcCisgICAgICh2b2lkKSAoMCA/IChncG9pbnRlcikgKihhdG9taWMpIDogTlVMTCk7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCistLSAKK0dpdExhYgorCisKK0Zyb20gMTMxNGZm OTNmYzRkMzM3OTQ4M2MzM2RhNmE3ZGVmZjI3ZjcxZWQ5NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IFBoaWxpcCBXaXRobmFsbCA8cHdpdGhuYWxsQGVuZGxlc3Nvcy5vcmc+CitEYXRl OiBXZWQsIDExIE5vdiAyMDIwIDE4OjQwOjU2ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMTUvMjld IGdsaWI6IERyb3AgdW5uZWNlc3Nhcnkgdm9sYXRpbGUgcXVhbGlmaWVycyBmcm9tCisgaW50ZXJu YWwgdmFyaWFibGVzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWlu OyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1RoZXNl IHZhcmlhYmxlcyB3ZXJlIGFscmVhZHkgKGNvcnJlY3RseSkgYWNjZXNzZWQgYXRvbWljYWxseS4g VGhlCitgdm9sYXRpbGVgIHF1YWxpZmllciBkb2VzbuKAmXQgaGVscCB3aXRoIHRoYXQuCisKK1Np Z25lZC1vZmYtYnk6IFBoaWxpcCBXaXRobmFsbCA8cHdpdGhuYWxsQGVuZGxlc3Nvcy5vcmc+CisK K0hlbHBzOiAjNjAwCistLS0KKyBnbGliL2dkYXRldGltZS5jIHwgMiArLQorIGdsaWIvZ2tleWZp bGUuYyAgfCAyICstCisgZ2xpYi9nbWFpbi5jICAgICB8IDggKysrKy0tLS0KKyBnbGliL2dtYXJr dXAuYyAgIHwgMiArLQorIGdsaWIvZ3JlZ2V4LmMgICAgfCA2ICsrKy0tLQorIGdsaWIvZ3RocmVh ZC5jICAgfCA2ICsrKy0tLQorIDYgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMTMg ZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nbGliL2dkYXRldGltZS5jIGIvZ2xpYi9nZGF0 ZXRpbWUuYworaW5kZXggMTc1NTI1N2JlLi40NTMwNzdmNmQgMTAwNjQ0CistLS0gYS9nbGliL2dk YXRldGltZS5jCisrKysgYi9nbGliL2dkYXRldGltZS5jCitAQCAtMTI2LDcgKzEyNiw3IEBAIHN0 cnVjdCBfR0RhdGVUaW1lCisgICAvKiAxIGlzIDAwMDEtMDEtMDEgaW4gUHJvbGVwdGljIEdyZWdv cmlhbiAqLworICAgZ2ludDMyIGRheXM7CisgCistICB2b2xhdGlsZSBnaW50IHJlZl9jb3VudDsK KysgIGdpbnQgcmVmX2NvdW50OyAgLyogKGF0b21pYykgKi8KKyB9OworIAorIC8qIFRpbWUgY29u dmVyc2lvbiB7e3sxICovCitkaWZmIC0tZ2l0IGEvZ2xpYi9na2V5ZmlsZS5jIGIvZ2xpYi9na2V5 ZmlsZS5jCitpbmRleCA5ZDAyMTUzMzEuLmJiZTYzOGI3NCAxMDA2NDQKKy0tLSBhL2dsaWIvZ2tl eWZpbGUuYworKysrIGIvZ2xpYi9na2V5ZmlsZS5jCitAQCAtNTEyLDcgKzUxMiw3IEBAIHN0cnVj dCBfR0tleUZpbGUKKyAKKyAgIGdjaGFyICoqbG9jYWxlczsKKyAKKy0gIHZvbGF0aWxlIGdpbnQg cmVmX2NvdW50OworKyAgZ2ludCByZWZfY291bnQ7ICAvKiAoYXRvbWljKSAqLworIH07CisgCisg dHlwZWRlZiBzdHJ1Y3QgX0dLZXlGaWxlS2V5VmFsdWVQYWlyIEdLZXlGaWxlS2V5VmFsdWVQYWly OworZGlmZiAtLWdpdCBhL2dsaWIvZ21haW4uYyBiL2dsaWIvZ21haW4uYworaW5kZXggNzcyYjhl Y2ZjLi45YzVmMGVmMWUgMTAwNjQ0CistLS0gYS9nbGliL2dtYWluLmMKKysrKyBiL2dsaWIvZ21h aW4uYworQEAgLTI3Miw3ICsyNzIsNyBAQCBzdHJ1Y3QgX0dNYWluQ29udGV4dAorICAgZ3VpbnQg b3duZXJfY291bnQ7CisgICBHU0xpc3QgKndhaXRlcnM7CisgCistICB2b2xhdGlsZSBnaW50IHJl Zl9jb3VudDsKKysgIGdpbnQgcmVmX2NvdW50OyAgLyogKGF0b21pYykgKi8KKyAKKyAgIEdIYXNo VGFibGUgKnNvdXJjZXM7ICAgICAgICAgICAgICAvKiBndWludCAtPiBHU291cmNlICovCisgCitA QCAtMzAzLDcgKzMwMyw3IEBAIHN0cnVjdCBfR01haW5Db250ZXh0CisgCisgc3RydWN0IF9HU291 cmNlQ2FsbGJhY2sKKyB7CistICB2b2xhdGlsZSBnaW50IHJlZl9jb3VudDsKKysgIGdpbnQgcmVm X2NvdW50OyAgLyogKGF0b21pYykgKi8KKyAgIEdTb3VyY2VGdW5jIGZ1bmM7CisgICBncG9pbnRl ciAgICBkYXRhOworICAgR0Rlc3Ryb3lOb3RpZnkgbm90aWZ5OworQEAgLTMxMyw3ICszMTMsNyBA QCBzdHJ1Y3QgX0dNYWluTG9vcAorIHsKKyAgIEdNYWluQ29udGV4dCAqY29udGV4dDsKKyAgIGdi b29sZWFuIGlzX3J1bm5pbmc7IC8qIChhdG9taWMpICovCistICB2b2xhdGlsZSBnaW50IHJlZl9j b3VudDsKKysgIGdpbnQgcmVmX2NvdW50OyAgLyogKGF0b21pYykgKi8KKyB9OworIAorIHN0cnVj dCBfR1RpbWVvdXRTb3VyY2UKK0BAIC00NzQ5LDcgKzQ3NDksNyBAQCBnX21haW5fY29udGV4dF9n ZXRfcG9sbF9mdW5jIChHTWFpbkNvbnRleHQgKmNvbnRleHQpCisgICoKKyAgKiB8WzwhLS0gbGFu Z3VhZ2U9IkMiIC0tPiAKKyAgKiAgICNkZWZpbmUgTlVNX1RBU0tTIDEwCistICogICBzdGF0aWMg dm9sYXRpbGUgZ2ludCB0YXNrc19yZW1haW5pbmcgPSBOVU1fVEFTS1M7CisrICogICBzdGF0aWMg Z2ludCB0YXNrc19yZW1haW5pbmcgPSBOVU1fVEFTS1M7ICAvLyAoYXRvbWljKQorICAqICAgLi4u CisgICogIAorICAqICAgd2hpbGUgKGdfYXRvbWljX2ludF9nZXQgKCZ0YXNrc19yZW1haW5pbmcp ICE9IDApCitkaWZmIC0tZ2l0IGEvZ2xpYi9nbWFya3VwLmMgYi9nbGliL2dtYXJrdXAuYworaW5k ZXggYmE0ZGZkMmU0Li5iODMyN2ZiNmQgMTAwNjQ0CistLS0gYS9nbGliL2dtYXJrdXAuYworKysr IGIvZ2xpYi9nbWFya3VwLmMKK0BAIC0xMTksNyArMTE5LDcgQEAgc3RydWN0IF9HTWFya3VwUGFy c2VDb250ZXh0CisgeworICAgY29uc3QgR01hcmt1cFBhcnNlciAqcGFyc2VyOworIAorLSAgdm9s YXRpbGUgZ2ludCByZWZfY291bnQ7CisrICBnaW50IHJlZl9jb3VudDsgIC8qIChhdG9taWMpICov CisgCisgICBHTWFya3VwUGFyc2VGbGFncyBmbGFnczsKKyAKK2RpZmYgLS1naXQgYS9nbGliL2dy ZWdleC5jIGIvZ2xpYi9ncmVnZXguYworaW5kZXggNTI0MTZiYmI5Li41ZTZkZGZiNDYgMTAwNjQ0 CistLS0gYS9nbGliL2dyZWdleC5jCisrKysgYi9nbGliL2dyZWdleC5jCitAQCAtMjAzLDcgKzIw Myw3IEBAIEdfU1RBVElDX0FTU0VSVCAoR19SRUdFWF9SQVcgICAgICAgICAgICAgICA9PSBQQ1JF X1VURjgpOworIAorIHN0cnVjdCBfR01hdGNoSW5mbworIHsKKy0gIHZvbGF0aWxlIGdpbnQgcmVm X2NvdW50OyAgICAgIC8qIHRoZSByZWYgY291bnQgKi8KKysgIGdpbnQgcmVmX2NvdW50OyAgICAg ICAgICAgICAgIC8qIHRoZSByZWYgY291bnQgKGF0b21pYykgKi8KKyAgIEdSZWdleCAqcmVnZXg7 ICAgICAgICAgICAgICAgIC8qIHRoZSByZWdleCAqLworICAgR1JlZ2V4TWF0Y2hGbGFncyBtYXRj aF9vcHRzOyAgLyogb3B0aW9ucyB1c2VkIGF0IG1hdGNoIHRpbWUgb24gdGhlIHJlZ2V4ICovCisg ICBnaW50IG1hdGNoZXM7ICAgICAgICAgICAgICAgICAvKiBudW1iZXIgb2YgbWF0Y2hpbmcgc3Vi IHBhdHRlcm5zICovCitAQCAtMjE4LDcgKzIxOCw3IEBAIHN0cnVjdCBfR01hdGNoSW5mbworIAor IHN0cnVjdCBfR1JlZ2V4CisgeworLSAgdm9sYXRpbGUgZ2ludCByZWZfY291bnQ7ICAgICAgLyog dGhlIHJlZiBjb3VudCBmb3IgdGhlIGltbXV0YWJsZSBwYXJ0ICovCisrICBnaW50IHJlZl9jb3Vu dDsgICAgICAgICAgICAgICAvKiB0aGUgcmVmIGNvdW50IGZvciB0aGUgaW1tdXRhYmxlIHBhcnQg KGF0b21pYykgKi8KKyAgIGdjaGFyICpwYXR0ZXJuOyAgICAgICAgICAgICAgIC8qIHRoZSBwYXR0 ZXJuICovCisgICBwY3JlICpwY3JlX3JlOyAgICAgICAgICAgICAgICAvKiBjb21waWxlZCBmb3Jt IG9mIHRoZSBwYXR0ZXJuICovCisgICBHUmVnZXhDb21waWxlRmxhZ3MgY29tcGlsZV9vcHRzOyAg ICAgIC8qIG9wdGlvbnMgdXNlZCBhdCBjb21waWxlIHRpbWUgb24gdGhlIHBhdHRlcm4gKi8KK0BA IC0xMzAwLDcgKzEzMDAsNyBAQCBnX3JlZ2V4X25ldyAoY29uc3QgZ2NoYXIgICAgICAgICAqcGF0 dGVybiwKKyAgIHBjcmUgKnJlOworICAgY29uc3QgZ2NoYXIgKmVycm1zZzsKKyAgIGdib29sZWFu IG9wdGltaXplID0gRkFMU0U7CistICBzdGF0aWMgdm9sYXRpbGUgZ3NpemUgaW5pdGlhbGlzZWQg PSAwOworKyAgc3RhdGljIGdzaXplIGluaXRpYWxpc2VkID0gMDsKKyAKKyAgIGdfcmV0dXJuX3Zh bF9pZl9mYWlsIChwYXR0ZXJuICE9IE5VTEwsIE5VTEwpOworICAgZ19yZXR1cm5fdmFsX2lmX2Zh aWwgKGVycm9yID09IE5VTEwgfHwgKmVycm9yID09IE5VTEwsIE5VTEwpOworZGlmZiAtLWdpdCBh L2dsaWIvZ3RocmVhZC5jIGIvZ2xpYi9ndGhyZWFkLmMKK2luZGV4IDUzZjNhMDg0OC4uNjEyYTk3 MzlmIDEwMDY0NAorLS0tIGEvZ2xpYi9ndGhyZWFkLmMKKysrKyBiL2dsaWIvZ3RocmVhZC5jCitA QCAtNTEzLDcgKzUxMyw3IEBAIHN0YXRpYyBHTXV0ZXggICAgZ19vbmNlX211dGV4OworIHN0YXRp YyBHQ29uZCAgICAgZ19vbmNlX2NvbmQ7Cisgc3RhdGljIEdTTGlzdCAgICpnX29uY2VfaW5pdF9s aXN0ID0gTlVMTDsKKyAKKy1zdGF0aWMgdm9sYXRpbGUgZ3VpbnQgZ190aHJlYWRfbl9jcmVhdGVk X2NvdW50ZXIgPSAwOworK3N0YXRpYyBndWludCBnX3RocmVhZF9uX2NyZWF0ZWRfY291bnRlciA9 IDA7ICAvKiAoYXRvbWljKSAqLworIAorIHN0YXRpYyB2b2lkIGdfdGhyZWFkX2NsZWFudXAgKGdw b2ludGVyIGRhdGEpOworIHN0YXRpYyBHUHJpdmF0ZSAgICAgZ190aHJlYWRfc3BlY2lmaWNfcHJp dmF0ZSA9IEdfUFJJVkFURV9JTklUIChnX3RocmVhZF9jbGVhbnVwKTsKK0BAIC02OTQsNyArNjk0 LDcgQEAgZ19vbmNlX2ltcGwgKEdPbmNlICAgICAgICpvbmNlLAorIGdib29sZWFuCisgKGdfb25j ZV9pbml0X2VudGVyKSAodm9sYXRpbGUgdm9pZCAqbG9jYXRpb24pCisgeworLSAgdm9sYXRpbGUg Z3NpemUgKnZhbHVlX2xvY2F0aW9uID0gbG9jYXRpb247CisrICBnc2l6ZSAqdmFsdWVfbG9jYXRp b24gPSAoZ3NpemUgKikgbG9jYXRpb247CisgICBnYm9vbGVhbiBuZWVkX2luaXQgPSBGQUxTRTsK KyAgIGdfbXV0ZXhfbG9jayAoJmdfb25jZV9tdXRleCk7CisgICBpZiAoZ19hdG9taWNfcG9pbnRl cl9nZXQgKHZhbHVlX2xvY2F0aW9uKSA9PSAwKQorQEAgLTczMSw3ICs3MzEsNyBAQCB2b2lkCisg KGdfb25jZV9pbml0X2xlYXZlKSAodm9sYXRpbGUgdm9pZCAqbG9jYXRpb24sCisgICAgICAgICAg ICAgICAgICAgICAgZ3NpemUgICAgICAgICAgcmVzdWx0KQorIHsKKy0gIHZvbGF0aWxlIGdzaXpl ICp2YWx1ZV9sb2NhdGlvbiA9IGxvY2F0aW9uOworKyAgZ3NpemUgKnZhbHVlX2xvY2F0aW9uID0g KGdzaXplICopIGxvY2F0aW9uOworIAorICAgZ19yZXR1cm5faWZfZmFpbCAoZ19hdG9taWNfcG9p bnRlcl9nZXQgKHZhbHVlX2xvY2F0aW9uKSA9PSAwKTsKKyAgIGdfcmV0dXJuX2lmX2ZhaWwgKHJl c3VsdCAhPSAwKTsKKy0tIAorR2l0TGFiCisKKworRnJvbSAwOGQwNGQwNDI4Y2MyNjkzNWEyZDQy MDgzZjE3MTA0MzI0NjVjOThhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGhpbGlw IFdpdGhuYWxsIDxwd2l0aG5hbGxAZW5kbGVzc29zLm9yZz4KK0RhdGU6IFdlZCwgMTEgTm92IDIw MjAgMTg6NDI6NDMgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAxNi8yOV0gZ29iamVjdDogRHJvcCB1 bm5lY2Vzc2FyeSB2b2xhdGlsZSBxdWFsaWZpZXJzIGZyb20KKyBpbnRlcm5hbCB2YXJpYWJsZXMK K01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVGhlc2UgdmFyaWFibGVzIHdl cmUgYWxyZWFkeSAoY29ycmVjdGx5KSBhY2Nlc3NlZCBhdG9taWNhbGx5LiBUaGUKK2B2b2xhdGls ZWAgcXVhbGlmaWVyIGRvZXNu4oCZdCBoZWxwIHdpdGggdGhhdC4KKworU2lnbmVkLW9mZi1ieTog UGhpbGlwIFdpdGhuYWxsIDxwd2l0aG5hbGxAZW5kbGVzc29zLm9yZz4KKworSGVscHM6ICM2MDAK Ky0tLQorIGdvYmplY3QvZ2Nsb3N1cmUuYyB8ICAyICstCisgZ29iamVjdC9nY2xvc3VyZS5oIHwg MjAgKysrKysrKysrKy0tLS0tLS0tLS0KKyBnb2JqZWN0L2dvYmplY3QuYyAgfCAgNCArKy0tCisg Z29iamVjdC9ndHlwZS5jICAgIHwgMTAgKysrKystLS0tLQorIDQgZmlsZXMgY2hhbmdlZCwgMTgg aW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nb2JqZWN0L2dj bG9zdXJlLmMgYi9nb2JqZWN0L2djbG9zdXJlLmMKK2luZGV4IDFkMWYyZjQ4YS4uNmQ0MWU2ZDhh IDEwMDY0NAorLS0tIGEvZ29iamVjdC9nY2xvc3VyZS5jCisrKysgYi9nb2JqZWN0L2djbG9zdXJl LmMKK0BAIC05OCw3ICs5OCw3IEBACisgCisgdHlwZWRlZiB1bmlvbiB7CisgICBHQ2xvc3VyZSBj bG9zdXJlOworLSAgdm9sYXRpbGUgZ2ludCB2aW50OworKyAgZ2ludCB2aW50OworIH0gQ2xvc3Vy ZUludDsKKyAKKyAjZGVmaW5lIENIQU5HRV9GSUVMRChfY2xvc3VyZSwgX2ZpZWxkLCBfT1AsIF92 YWx1ZSwgX211c3Rfc2V0LCBfU0VUX09MRCwgX1NFVF9ORVcpICAgICAgXAorZGlmZiAtLWdpdCBh L2dvYmplY3QvZ2Nsb3N1cmUuaCBiL2dvYmplY3QvZ2Nsb3N1cmUuaAoraW5kZXggYTBmOTFmNTM4 Li44ODRlNDAzYTggMTAwNjQ0CistLS0gYS9nb2JqZWN0L2djbG9zdXJlLmgKKysrKyBiL2dvYmpl Y3QvZ2Nsb3N1cmUuaAorQEAgLTE3NSwyMCArMTc1LDIwIEBAIHN0cnVjdCBfR0Nsb3N1cmVOb3Rp ZnlEYXRhCisgc3RydWN0IF9HQ2xvc3VyZQorIHsKKyAgIC8qPCBwcml2YXRlID4qLworLSAgdm9s YXRpbGUgICAgICAJZ3VpbnQJIHJlZl9jb3VudCA6IDE1OworKyAgZ3VpbnQgcmVmX2NvdW50IDog MTU7ICAvKiAoYXRvbWljKSAqLworICAgLyogbWV0YV9tYXJzaGFsIGlzIG5vdCB1c2VkIGFueW1v cmUgYnV0IG11c3QgYmUgemVybyBmb3IgaGlzdG9yaWNhbCByZWFzb25zCisgICAgICBhcyBpdCB3 YXMgZXhwb3NlZCBpbiB0aGUgR19DTE9TVVJFX05fTk9USUZJRVJTIG1hY3JvICovCistICB2b2xh dGlsZSAgICAgICAJZ3VpbnQJIG1ldGFfbWFyc2hhbF9ub3VzZSA6IDE7CistICB2b2xhdGlsZSAg ICAgICAJZ3VpbnQJIG5fZ3VhcmRzIDogMTsKKy0gIHZvbGF0aWxlICAgICAgIAlndWludAkgbl9m bm90aWZpZXJzIDogMjsJLyogZmluYWxpemF0aW9uIG5vdGlmaWVycyAqLworLSAgdm9sYXRpbGUg ICAgICAgCWd1aW50CSBuX2lub3RpZmllcnMgOiA4OwkvKiBpbnZhbGlkYXRpb24gbm90aWZpZXJz ICovCistICB2b2xhdGlsZSAgICAgICAJZ3VpbnQJIGluX2lub3RpZnkgOiAxOworLSAgdm9sYXRp bGUgICAgICAgCWd1aW50CSBmbG9hdGluZyA6IDE7CisrICBndWludCBtZXRhX21hcnNoYWxfbm91 c2UgOiAxOyAgLyogKGF0b21pYykgKi8KKysgIGd1aW50IG5fZ3VhcmRzIDogMTsgIC8qIChhdG9t aWMpICovCisrICBndWludCBuX2Zub3RpZmllcnMgOiAyOyAgLyogZmluYWxpemF0aW9uIG5vdGlm aWVycyAoYXRvbWljKSAqLworKyAgZ3VpbnQgbl9pbm90aWZpZXJzIDogODsgIC8qIGludmFsaWRh dGlvbiBub3RpZmllcnMgKGF0b21pYykgKi8KKysgIGd1aW50IGluX2lub3RpZnkgOiAxOyAgLyog KGF0b21pYykgKi8KKysgIGd1aW50IGZsb2F0aW5nIDogMTsgIC8qIChhdG9taWMpICovCisgICAv KjwgcHJvdGVjdGVkID4qLworLSAgdm9sYXRpbGUgICAgICAgICAJZ3VpbnQJIGRlcml2YXRpdmVf ZmxhZyA6IDE7CisrICBndWludCBkZXJpdmF0aXZlX2ZsYWcgOiAxOyAgLyogKGF0b21pYykgKi8K KyAgIC8qPCBwdWJsaWMgPiovCistICB2b2xhdGlsZSAgICAgICAJZ3VpbnQJIGluX21hcnNoYWwg OiAxOworLSAgdm9sYXRpbGUgICAgICAgCWd1aW50CSBpc19pbnZhbGlkIDogMTsKKysgIGd1aW50 IGluX21hcnNoYWwgOiAxOyAgLyogKGF0b21pYykgKi8KKysgIGd1aW50IGlzX2ludmFsaWQgOiAx OyAgLyogKGF0b21pYykgKi8KKyAKKyAgIC8qPCBwcml2YXRlID4qLwl2b2lkICAgKCptYXJzaGFs KSAgKEdDbG9zdXJlICAgICAgICpjbG9zdXJlLAorIAkJCQkJICAgIEdWYWx1ZSAvKm91dCovICpy ZXR1cm5fdmFsdWUsCitkaWZmIC0tZ2l0IGEvZ29iamVjdC9nb2JqZWN0LmMgYi9nb2JqZWN0L2dv YmplY3QuYworaW5kZXggNmU5YzQ0YTFlLi5hM2EzMmJlOWYgMTAwNjQ0CistLS0gYS9nb2JqZWN0 L2dvYmplY3QuYworKysrIGIvZ29iamVjdC9nb2JqZWN0LmMKK0BAIC0xNzQsOSArMTc0LDkgQEAg dHlwZWRlZiBzdHJ1Y3QKKyAgIEdUeXBlSW5zdGFuY2UgIGdfdHlwZV9pbnN0YW5jZTsKKyAKKyAg IC8qPCBwcml2YXRlID4qLworLSAgdm9sYXRpbGUgZ3VpbnQgcmVmX2NvdW50OworKyAgZ3VpbnQg ICAgICAgICAgcmVmX2NvdW50OyAgLyogKGF0b21pYykgKi8KKyAjaWZkZWYgSEFWRV9PUFRJT05B TF9GTEFHUworLSAgdm9sYXRpbGUgZ3VpbnQgb3B0aW9uYWxfZmxhZ3M7CisrICBndWludCAgICAg ICAgICBvcHRpb25hbF9mbGFnczsgIC8qIChhdG9taWMpICovCisgI2VuZGlmCisgICBHRGF0YSAg ICAgICAgICpxZGF0YTsKKyB9IEdPYmplY3RSZWFsOworZGlmZiAtLWdpdCBhL2dvYmplY3QvZ3R5 cGUuYyBiL2dvYmplY3QvZ3R5cGUuYworaW5kZXggNTFkYWQ3NjkwLi5iZTU5ODlhM2UgMTAwNjQ0 CistLS0gYS9nb2JqZWN0L2d0eXBlLmMKKysrKyBiL2dvYmplY3QvZ3R5cGUuYworQEAgLTIyMSw5 ICsyMjEsOSBAQCB0eXBlZGVmIGVudW0KKyAvKiAtLS0gc3RydWN0dXJlcyAtLS0gKi8KKyBzdHJ1 Y3QgX1R5cGVOb2RlCisgeworLSAgZ3VpbnQgdm9sYXRpbGUgcmVmX2NvdW50OworKyAgZ3VpbnQg ICAgICAgIHJlZl9jb3VudDsgIC8qIChhdG9taWMpICovCisgI2lmZGVmIEdfRU5BQkxFX0RFQlVH CistICBndWludCB2b2xhdGlsZSBpbnN0YW5jZV9jb3VudDsKKysgIGd1aW50ICAgICAgICBpbnN0 YW5jZV9jb3VudDsgIC8qIChhdG9taWMpICovCisgI2VuZGlmCisgICBHVHlwZVBsdWdpbiAqcGx1 Z2luOworICAgZ3VpbnQgICAgICAgIG5fY2hpbGRyZW47IC8qIHdyaXRhYmxlIHdpdGggbG9jayAq LworQEAgLTIzMyw3ICsyMzMsNyBAQCBzdHJ1Y3QgX1R5cGVOb2RlCisgICBndWludCAgICAgICAg aXNfaW5zdGFudGlhdGFibGUgOiAxOworICAgZ3VpbnQgICAgICAgIG11dGF0YWJsZV9jaGVja19j YWNoZSA6IDE7CS8qIGNvbWJpbmVzIHNvbWUgY29tbW9uIHBhdGggY2hlY2tzICovCisgICBHVHlw ZSAgICAgICAqY2hpbGRyZW47IC8qIHdyaXRhYmxlIHdpdGggbG9jayAqLworLSAgVHlwZURhdGEg KiB2b2xhdGlsZSBkYXRhOworKyAgVHlwZURhdGEgICAgKmRhdGE7CisgICBHUXVhcmsgICAgICAg cW5hbWU7CisgICBHRGF0YSAgICAgICAqZ2xvYmFsX2dkYXRhOworICAgdW5pb24geworQEAgLTU2 OSw4ICs1NjksOCBAQCB0eXBlX25vZGVfbmV3X1cgKFR5cGVOb2RlICAgICpwbm9kZSwKKyB9Cisg Cisgc3RhdGljIGlubGluZSBJRmFjZUVudHJ5KgorLWxvb2t1cF9pZmFjZV9lbnRyeV9JICh2b2xh dGlsZSBJRmFjZUVudHJpZXMgKmVudHJpZXMsCistCQkgICAgICBUeXBlTm9kZSAqaWZhY2Vfbm9k ZSkKKytsb29rdXBfaWZhY2VfZW50cnlfSSAoSUZhY2VFbnRyaWVzICplbnRyaWVzLAorKyAgICAg ICAgICAgICAgICAgICAgICBUeXBlTm9kZSAgICAgKmlmYWNlX25vZGUpCisgeworICAgZ3VpbnQ4 ICpvZmZzZXRzOworICAgZ3VpbnQgb2Zmc2V0X2luZGV4OworLS0gCitHaXRMYWIKKworCitGcm9t IGVlZTdlM2M2Njg4ZjJmMWVlOWJlZWQ1ZDZkMjA5OTczYzFkZjM4N2UgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBQaGlsaXAgV2l0aG5hbGwgPHB3aXRobmFsbEBlbmRsZXNzb3Mub3Jn PgorRGF0ZTogV2VkLCAxMSBOb3YgMjAyMCAxOToxNDoyNSArMDAwMAorU3ViamVjdDogW1BBVENI IDE3LzI5XSBnbWVzc2FnZXM6IERyb3AgdW5uZWNlc3Nhcnkgdm9sYXRpbGUgcXVhbGlmaWVycyBm cm9tCisgbWFjcm8gdmFyaWFibGVzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0 ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0 CisKK0l04oCZcyBub3QgbmVjZXNzYXJ5IGFuZCBwcm92aWRlcyBubyB0aHJlYWQgc2FmZXR5IGd1 YXJhbnRlZXMuCisKK1NpZ25lZC1vZmYtYnk6IFBoaWxpcCBXaXRobmFsbCA8cHdpdGhuYWxsQGVu ZGxlc3Nvcy5vcmc+CisKK0hlbHBzOiAjNjAwCistLS0KKyBnbGliL2dtZXNzYWdlcy5oIHwgNCAr Ky0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKwor ZGlmZiAtLWdpdCBhL2dsaWIvZ21lc3NhZ2VzLmggYi9nbGliL2dtZXNzYWdlcy5oCitpbmRleCA2 YTI4NDQzYjQuLjJlMzY1MGJhZiAxMDA2NDQKKy0tLSBhL2dsaWIvZ21lc3NhZ2VzLmgKKysrKyBi L2dsaWIvZ21lc3NhZ2VzLmgKK0BAIC00NzgsNyArNDc4LDcgQEAgZ19kZWJ1ZyAoY29uc3QgZ2No YXIgKmZvcm1hdCwKKyAjaWYgZGVmaW5lZChHX0hBVkVfSVNPX1ZBUkFSR1MpICYmICFHX0FOQUxZ WkVSX0FOQUxZWklORworICNkZWZpbmUgZ193YXJuaW5nX29uY2UoLi4uKSBcCisgICBHX1NUTVRf U1RBUlQgeyBcCistICAgIHN0YXRpYyB2b2xhdGlsZSBpbnQgR19QQVNURSAoX0dXYXJuaW5nT25j ZUJvb2xlYW4sIF9fTElORV9fKSA9IDA7IFwKKysgICAgc3RhdGljIGludCBHX1BBU1RFIChfR1dh cm5pbmdPbmNlQm9vbGVhbiwgX19MSU5FX18pID0gMDsgIC8qIChhdG9taWMpICovIFwKKyAgICAg aWYgKGdfYXRvbWljX2ludF9jb21wYXJlX2FuZF9leGNoYW5nZSAoJkdfUEFTVEUgKF9HV2Fybmlu Z09uY2VCb29sZWFuLCBfX0xJTkVfXyksIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMCwgMSkpIFwKKyAgICAgICBnX3dhcm5pbmcgKF9fVkFfQVJHU19fKTsg XAorQEAgLTQ4Nyw3ICs0ODcsNyBAQCBnX2RlYnVnIChjb25zdCBnY2hhciAqZm9ybWF0LAorICNl bGlmIGRlZmluZWQoR19IQVZFX0dOVUNfVkFSQVJHUykgICYmICFHX0FOQUxZWkVSX0FOQUxZWklO RworICNkZWZpbmUgZ193YXJuaW5nX29uY2UoZm9ybWF0Li4uKSBcCisgICBHX1NUTVRfU1RBUlQg eyBcCistICAgIHN0YXRpYyB2b2xhdGlsZSBpbnQgR19QQVNURSAoX0dXYXJuaW5nT25jZUJvb2xl YW4sIF9fTElORV9fKSA9IDA7IFwKKysgICAgc3RhdGljIGludCBHX1BBU1RFIChfR1dhcm5pbmdP bmNlQm9vbGVhbiwgX19MSU5FX18pID0gMDsgIC8qIChhdG9taWMpICovIFwKKyAgICAgaWYgKGdf YXRvbWljX2ludF9jb21wYXJlX2FuZF9leGNoYW5nZSAoJkdfUEFTVEUgKF9HV2FybmluZ09uY2VC b29sZWFuLCBfX0xJTkVfXyksIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMCwgMSkpIFwKKyAgICAgICBnX3dhcm5pbmcgKGZvcm1hdCk7IFwKKy0tIAorR2l0 TGFiCisKKworRnJvbSA4YTg3MDY5ZmY0MmEwNjMxZGNlMTUzNzAxY2IyZWM1ZTM0M2E5NThjIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGhpbGlwIFdpdGhuYWxsIDxwd2l0aG5hbGxA ZW5kbGVzc29zLm9yZz4KK0RhdGU6IFdlZCwgMTEgTm92IDIwMjAgMTk6MTY6MzAgKzAwMDAKK1N1 YmplY3Q6IFtQQVRDSCAxOC8yOV0gZ3R5cGVzOiBEcm9wIHZvbGF0aWxlIHF1YWxpZmllciBmcm9t IGdhdG9taWNyZWZjb3VudAorCitUaGlzIGlzIHRlY2huaWNhbGx5IGFuIEFQSSBicmVhaywgYnV0 IHNpbmNlIHRoZSB0eXBlIGlzIG1lYW50IHRvIGJlCitvcGFxdWUgKHRoaXJkIHBhcnR5IGNvZGUg aXMgbm90IG1lYW50IHRvIHRyZWF0IGl0IGxpa2UgYW4gaW50ZWdlcikgaXQKK3Nob3VsZCBub3Qg Y2F1c2UgcHJvYmxlbXMuCisKK1NpZ25lZC1vZmYtYnk6IFBoaWxpcCBXaXRobmFsbCA8cHdpdGhu YWxsQGVuZGxlc3Nvcy5vcmc+CisKK0hlbHBzOiAjNjAwCistLS0KKyBnbGliL2d0eXBlcy5oIHwg NCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK KworZGlmZiAtLWdpdCBhL2dsaWIvZ3R5cGVzLmggYi9nbGliL2d0eXBlcy5oCitpbmRleCAyM2M1 YTEyOTUuLjJjNDgyNTU4MiAxMDA2NDQKKy0tLSBhL2dsaWIvZ3R5cGVzLmgKKysrKyBiL2dsaWIv Z3R5cGVzLmgKK0BAIC01NTAsOCArNTUwLDggQEAgc3RydWN0IF9HVGltZVZhbAorICAgZ2xvbmcg dHZfdXNlYzsKKyB9IEdMSUJfREVQUkVDQVRFRF9UWVBFX0lOXzJfNjJfRk9SKEdEYXRlVGltZSk7 CisgCistdHlwZWRlZiBnaW50ICAgICAgICAgICAgZ3JlZmNvdW50OworLXR5cGVkZWYgdm9sYXRp bGUgZ2ludCAgIGdhdG9taWNyZWZjb3VudDsKKyt0eXBlZGVmIGdpbnQgZ3JlZmNvdW50OworK3R5 cGVkZWYgZ2ludCBnYXRvbWljcmVmY291bnQ7ICAvKiBzaG91bGQgYmUgYWNjZXNzZWQgb25seSB1 c2luZyBhdG9taWNzICovCisgCisgR19FTkRfREVDTFMKKyAKKy0tIAorR2l0TGFiCisKKworRnJv bSA0NmJhZTRmMThkZmVjOGZlZGRhODI2NDgwOTE3NTJkMjcwYjJkZmY4IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogUGhpbGlwIFdpdGhuYWxsIDxwd2l0aG5hbGxAZW5kbGVzc29zLm9y Zz4KK0RhdGU6IFdlZCwgMTEgTm92IDIwMjAgMTk6MTk6MjAgKzAwMDAKK1N1YmplY3Q6IFtQQVRD SCAxOS8yOV0gZ2F0b21pY2FycmF5OiBEcm9wIHZvbGF0aWxlIHF1YWxpZmllciBmcm9tIEdBdG9t aWNBcnJheQorIEFQSQorCitUaGlzIGlzIGFuIEFQSSBicmVhaywgYnV0IGl0IHNob3VsZCBub3Qg YWZmZWN0IHRoaXJkIHBhcnR5IGNvZGUgc2luY2UKK3RoYXQgY29kZSBzaG91bGQgbm90IGJlIGlu dGVyYWN0aW5nIHdpdGggdGhlIGBkYXRhYCBtZW1iZXIgaW4gYSB3YXkgdGhhdAoraW52b2tlcyBp dHMgYHZvbGF0aWxlYCBxdWFsaWZpZXIgKHN1Y2ggYXMgY29weWluZyB0byBhbiBpbnRlcm1lZGlh dGUKK3ZhcmlhYmxlKS4KKworU2lnbmVkLW9mZi1ieTogUGhpbGlwIFdpdGhuYWxsIDxwd2l0aG5h bGxAZW5kbGVzc29zLm9yZz4KKworSGVscHM6ICM2MDAKKy0tLQorIGdvYmplY3QvZ2F0b21pY2Fy cmF5LmggfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ29iamVjdC9nYXRvbWljYXJyYXkuaCBiL2dvYmplY3Qv Z2F0b21pY2FycmF5LmgKK2luZGV4IDk1NTBmYTM5Ni4uODkwNDNjNWU0IDEwMDY0NAorLS0tIGEv Z29iamVjdC9nYXRvbWljYXJyYXkuaAorKysrIGIvZ29iamVjdC9nYXRvbWljYXJyYXkuaAorQEAg LTI5LDcgKzI5LDcgQEAgR19CRUdJTl9ERUNMUworIAorIHR5cGVkZWYgc3RydWN0IF9HQXRvbWlj QXJyYXkgR0F0b21pY0FycmF5OworIHN0cnVjdCBfR0F0b21pY0FycmF5IHsKKy0gIHZvbGF0aWxl IGdwb2ludGVyIGRhdGE7ICAgICAgICAgICAgICAgLyogZWxlbWVudHMgLSBhdG9taWMgKi8KKysg IGdwb2ludGVyIGRhdGE7ICAvKiBlbGVtZW50cyAtIGF0b21pYyAqLworIH07CisgCisgdm9pZCAg ICAgX2dfYXRvbWljX2FycmF5X2luaXQgICAoR0F0b21pY0FycmF5ICphcnJheSk7CitAQCAtNDIs NyArNDIsNyBAQCB2b2lkICAgICBfZ19hdG9taWNfYXJyYXlfdXBkYXRlIChHQXRvbWljQXJyYXkg KmFycmF5LAorICNkZWZpbmUgIEdfQVRPTUlDX0FSUkFZX0dFVF9MT0NLRUQoX2FycmF5LCBfdHlw ZSkgKChfdHlwZSAqKSgoX2FycmF5KS0+ZGF0YSkpCisgCisgI2RlZmluZSBHX0FUT01JQ19BUlJB WV9ET19UUkFOU0FDVElPTihfYXJyYXksIF90eXBlLCBfQ18pIEdfU1RNVF9TVEFSVCB7CVwKKy0g ICAgdm9sYXRpbGUgZ3BvaW50ZXIgKl9kYXRhcCAgPSAmKF9hcnJheSktPmRhdGE7CQkJCVwKKysg ICAgZ3BvaW50ZXIgKl9kYXRhcCAgPSAmKF9hcnJheSktPmRhdGE7CQkJCVwKKyAgICAgX3R5cGUg KnRyYW5zYWN0aW9uX2RhdGEsICpfX2NoZWNrOwkJCQkJCVwKKyAJCQkJCQkJCQkJXAorICAgICBf X2NoZWNrID0gZ19hdG9taWNfcG9pbnRlcl9nZXQgKF9kYXRhcCk7CQkJCQlcCistLSAKK0dpdExh YgorCisKK0Zyb20gMzM0ZjY5NTMzNjQ2ODBkZGM2YzBkM2RhMTNmZGExZDkyYmY1Mzc5ZCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBoaWxpcCBXaXRobmFsbCA8cHdpdGhuYWxsQGVu ZGxlc3Nvcy5vcmc+CitEYXRlOiBXZWQsIDExIE5vdiAyMDIwIDE5OjIxOjA3ICswMDAwCitTdWJq ZWN0OiBbUEFUQ0ggMjAvMjldIGdvYmplY3Q6IERyb3Agdm9sYXRpbGUgcXVhbGlmaWVyIGZyb20g R09iamVjdC5yZWZfY291bnQKKworVGhpcyBpcyBhbiBBUEkgYnJlYWssIGJ1dCBubyB0aGlyZCBw YXJ0eSBjb2RlIHNob3VsZCBiZSB0b3VjaGluZworYEdPYmplY3QucmVmX2NvdW50YCwgbGV0IGFs b25lIGluIGEgd2F5IHdoaWNoIHdvdWxkIGJlIGNoYW5nZWQgYnkgdGhlCityZW1vdmFsIG9mIHRo ZSBgdm9sYXRpbGVgIHF1YWxpZmllci4KKworU2lnbmVkLW9mZi1ieTogUGhpbGlwIFdpdGhuYWxs IDxwd2l0aG5hbGxAZW5kbGVzc29zLm9yZz4KKworSGVscHM6ICM2MDAKKy0tLQorIGdvYmplY3Qv Z29iamVjdC5oIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ29iamVjdC9nb2JqZWN0LmggYi9nb2JqZWN0L2dvYmpl Y3QuaAoraW5kZXggN2Y1NWUxOTc2Li5hODRjMTgzZjggMTAwNjQ0CistLS0gYS9nb2JqZWN0L2dv YmplY3QuaAorKysrIGIvZ29iamVjdC9nb2JqZWN0LmgKK0BAIC0yNDcsNyArMjQ3LDcgQEAgc3Ry dWN0ICBfR09iamVjdAorICAgR1R5cGVJbnN0YW5jZSAgZ190eXBlX2luc3RhbmNlOworICAgCisg ICAvKjwgcHJpdmF0ZSA+Ki8KKy0gIHZvbGF0aWxlIGd1aW50IHJlZl9jb3VudDsKKysgIGd1aW50 ICAgICAgICAgIHJlZl9jb3VudDsgIC8qIChhdG9taWMpICovCisgICBHRGF0YSAgICAgICAgICpx ZGF0YTsKKyB9OworIC8qKgorLS0gCitHaXRMYWIKKworCitGcm9tIDhhMTEyYzNjNmU1ZmU2ODM4 ZWUyOWVlYzdjYWE2MmJhMzJkOWJjNDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQ aGlsaXAgV2l0aG5hbGwgPHB3aXRobmFsbEBlbmRsZXNzb3Mub3JnPgorRGF0ZTogV2VkLCAxMSBO b3YgMjAyMCAxOToyMjo0OSArMDAwMAorU3ViamVjdDogW1BBVENIIDIxLzI5XSB0ZXN0czogRHJv cCB1bm5lY2Vzc2FyeSB2b2xhdGlsZSBxdWFsaWZpZXJzIGZyb20gdGVzdHMKK01JTUUtVmVyc2lv bjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQt VHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVGhlc2UgdmFyaWFibGVzIHdlcmUgYWxyZWFkeSAo Y29ycmVjdGx5KSBhY2Nlc3NlZCBhdG9taWNhbGx5LiBUaGUKK2B2b2xhdGlsZWAgcXVhbGlmaWVy IGRvZXNu4oCZdCBoZWxwIHdpdGggdGhhdC4KKworU2lnbmVkLW9mZi1ieTogUGhpbGlwIFdpdGhu YWxsIDxwd2l0aG5hbGxAZW5kbGVzc29zLm9yZz4KKworSGVscHM6ICM2MDAKKy0tLQorIGdvYmpl Y3QvdGVzdHMvcWRhdGEuYyAgICAgICB8IDIgKy0KKyBnb2JqZWN0L3Rlc3RzL3RocmVhZHRlc3Rz LmMgfCA0ICsrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKKworZGlmZiAtLWdpdCBhL2dvYmplY3QvdGVzdHMvcWRhdGEuYyBiL2dvYmplY3QvdGVz dHMvcWRhdGEuYworaW5kZXggNTI4YmRjNjhlLi43ZDQ2ZWZiMTUgMTAwNjQ0CistLS0gYS9nb2Jq ZWN0L3Rlc3RzL3FkYXRhLmMKKysrKyBiL2dvYmplY3QvdGVzdHMvcWRhdGEuYworQEAgLTE3LDcg KzE3LDcgQEAgZ2Jvb2xlYW4gZmFpbDsKKyAjZGVmaW5lIFJPVU5EUyAxMDAwMAorIAorIEdPYmpl Y3QgKm9iamVjdDsKKy12b2xhdGlsZSBnaW50IGJ1Y2tldFtUSFJFQURTXTsKKytnaW50IGJ1Y2tl dFtUSFJFQURTXTsgIC8qIGFjY2Vzc2VkIGZyb20gbXVsdGlwbGUgdGhyZWFkcywgYnV0IHNob3Vs ZCBuZXZlciBiZSBjb250ZXN0ZWQgZHVlIHRvIHRoZSBzZXF1ZW5jZSBvZiB0aHJlYWQgb3BlcmF0 aW9ucyAqLworIAorIHN0YXRpYyBncG9pbnRlcgorIHRocmVhZF9mdW5jIChncG9pbnRlciBkYXRh KQorZGlmZiAtLWdpdCBhL2dvYmplY3QvdGVzdHMvdGhyZWFkdGVzdHMuYyBiL2dvYmplY3QvdGVz dHMvdGhyZWFkdGVzdHMuYworaW5kZXggZTM0MWE5ZDY3Li5iNmY5ZTE3ZmEgMTAwNjQ0CistLS0g YS9nb2JqZWN0L3Rlc3RzL3RocmVhZHRlc3RzLmMKKysrKyBiL2dvYmplY3QvdGVzdHMvdGhyZWFk dGVzdHMuYworQEAgLTI3LDggKzI3LDggQEAKKyAjaW5jbHVkZSA8Z2xpYi5oPgorICNpbmNsdWRl IDxnbGliLW9iamVjdC5oPgorIAorLXN0YXRpYyB2b2xhdGlsZSBpbnQgbXRzYWZlX2NhbGxfY291 bnRlciA9IDA7IC8qIG11bHRpIHRocmVhZCBzYWZlIGNhbGwgY291bnRlciAqLworLXN0YXRpYyBp bnQgICAgICAgICAgdW5zYWZlX2NhbGxfY291bnRlciA9IDA7IC8qIHNpbmdsZS10aHJlYWRlZCBj YWxsIGNvdW50ZXIgKi8KKytzdGF0aWMgaW50IG10c2FmZV9jYWxsX2NvdW50ZXIgPSAwOyAvKiBt dWx0aSB0aHJlYWQgc2FmZSBjYWxsIGNvdW50ZXIsIG11c3QgYmUgYWNjZXNzZWQgYXRvbWljYWxs eSAqLworK3N0YXRpYyBpbnQgdW5zYWZlX2NhbGxfY291bnRlciA9IDA7IC8qIHNpbmdsZS10aHJl YWRlZCBjYWxsIGNvdW50ZXIgKi8KKyBzdGF0aWMgR0NvbmQgc3luY19jb25kOworIHN0YXRpYyBH TXV0ZXggc3luY19tdXRleDsKKyAKKy0tIAorR2l0TGFiCisKKworRnJvbSBkYWY5MGJmYTk5ZmMw MmEyNTNkNTM4YzY1ZmJhYTEyZjJlNmMxYzQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogUGhpbGlwIFdpdGhuYWxsIDxwd2l0aG5hbGxAZW5kbGVzc29zLm9yZz4KK0RhdGU6IFdlZCwg MTEgTm92IDIwMjAgMTk6MjM6MTggKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAyMi8yOV0gYnVpbGQ6 IERyb3AgdW5uZWNlc3Nhcnkgdm9sYXRpbGUgcXVhbGlmaWVycyBmcm9tCisgY29uZmlndXJlIHRl c3RzCisKK1NpZ25lZC1vZmYtYnk6IFBoaWxpcCBXaXRobmFsbCA8cHdpdGhuYWxsQGVuZGxlc3Nv cy5vcmc+CisKK0hlbHBzOiAjNjAwCistLS0KKyBtZXNvbi5idWlsZCB8IDMgKystCisgMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEv bWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAoraW5kZXggZTBiMzA4YTI1Li5hZDdmODg3ZmIgMTAw NjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC0xNzczLDcgKzE3 NzMsNyBAQCBlbmRmb3JlYWNoCisgIyB0aGF0IHRoZW4gdG8gc2lsZW50bHkgZmFsbCBiYWNrIG9u IGVtdWxhdGVkIGF0b21pYyBvcHMganVzdCBiZWNhdXNlCisgIyB0aGUgdXNlciBoYWQgdGhlIHdy b25nIGJ1aWxkIGVudmlyb25tZW50LgorIGF0b21pY3Rlc3QgPSAnJydpbnQgbWFpbigpIHsKKy0g IHZvbGF0aWxlIGludCBhdG9taWMgPSAyOworKyAgaW50IGF0b21pYyA9IDI7CisgICBfX3N5bmNf Ym9vbF9jb21wYXJlX2FuZF9zd2FwICgmYXRvbWljLCAyLCAzKTsKKyAgIHJldHVybiAwOworIH0K K0BAIC0xODgzLDYgKzE4ODMsNyBAQCBlbmRpZgorIAorICMgRklYTUU6IHdlIHNob3VsZCBtYWtl IGl0IHByaW50IHRoZSByZXN1bHQgYW5kIGFsd2F5cyByZXR1cm4gMCwgc28gdGhhdAorICMgdGhl IG91dHB1dCBpbiBtZXNvbiBzaG93cyB1cCBhcyBncmVlbgorKyMgdm9sYXRpbGUgaXMgbmVlZGVk IGhlcmUgdG8gYXZvaWQgb3B0aW1pc2F0aW9ucyBpbiB0aGUgdGVzdAorIHN0YWNrX2dyb3dzX2No ZWNrX3Byb2cgPSAnJycKKyAgIHZvbGF0aWxlIGludCAqYSA9IDAsICpiID0gMDsKKyAgIHZvaWQg ZiAoaW50IGkpIHsKKy0tIAorR2l0TGFiCisKKworRnJvbSAwNjA0ZjU4NTgyNTljMzI3NDRlNmZj OTEyZWQ0ZmViMzA4NjUxYTNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGhpbGlw IFdpdGhuYWxsIDxwd2l0aG5hbGxAZW5kbGVzc29zLm9yZz4KK0RhdGU6IE1vbiwgMTYgTm92IDIw MjAgMTQ6NDc6MjMgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAyMy8yOV0gZ2RidXNwcml2YXRlOiBB dm9pZCBhIHdhcm5pbmcgYWJvdXQgYSBzdGF0ZW1lbnQgd2l0aCBubworIGVmZmVjdAorCitTaWdu ZWQtb2ZmLWJ5OiBQaGlsaXAgV2l0aG5hbGwgPHB3aXRobmFsbEBlbmRsZXNzb3Mub3JnPgorLS0t CisgZ2lvL2dkYnVzcHJpdmF0ZS5jIHwgNSArKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2Vy dGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9naW8vZ2RidXNwcml2YXRl LmMgYi9naW8vZ2RidXNwcml2YXRlLmMKK2luZGV4IDk5YjM3ZjNlYi4uNGU0MmMxYTRkIDEwMDY0 NAorLS0tIGEvZ2lvL2dkYnVzcHJpdmF0ZS5jCisrKysgYi9naW8vZ2RidXNwcml2YXRlLmMKK0BA IC0xOTQ1LDExICsxOTQ1LDEwIEBAIF9nX2RidXNfaW5pdGlhbGl6ZSAodm9pZCkKKyAKKyAgIGlm IChnX29uY2VfaW5pdF9lbnRlciAoJmluaXRpYWxpemVkKSkKKyAgICAgeworLSAgICAgIEdRdWFy ayBnX2RidXNfZXJyb3JfZG9tYWluOworICAgICAgIGNvbnN0IGdjaGFyICpkZWJ1ZzsKKyAKKy0g ICAgICBnX2RidXNfZXJyb3JfZG9tYWluID0gR19EQlVTX0VSUk9SOworLSAgICAgIChnX2RidXNf ZXJyb3JfZG9tYWluKTsgLyogVG8gYXZvaWQgLVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZSAqLwor KyAgICAgIC8qIEVuc3VyZSB0aGUgZG9tYWluIGlzIHJlZ2lzdGVyZWQuICovCisrICAgICAgZ19k YnVzX2Vycm9yX3F1YXJrICgpOworIAorICAgICAgIGRlYnVnID0gZ19nZXRlbnYgKCJHX0RCVVNf REVCVUciKTsKKyAgICAgICBpZiAoZGVidWcgIT0gTlVMTCkKKy0tIAorR2l0TGFiCisKKworRnJv bSAyZDAzZjk5YWU0ZGUzOTRjYWMwNjkwNzE3ZDk2YzJkODg0Y2NkYWUyIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogUGhpbGlwIFdpdGhuYWxsIDxwd2l0aG5hbGxAZW5kbGVzc29zLm9y Zz4KK0RhdGU6IE1vbiwgMTYgTm92IDIwMjAgMTQ6NDc6NDcgKzAwMDAKK1N1YmplY3Q6IFtQQVRD SCAyNC8yOV0gdGVzdHM6IEFkZCBjb21tZW50IHRvIHZvbGF0aWxlIGF0b21pYyB0ZXN0cworTUlN RS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAor Q29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitgdm9sYXRpbGVgIHNob3VsZCBub3Qg YmUgdXNlZCB0byBpbmRpY2F0ZSBhdG9taWMgdmFyaWFibGVzLCBhbmQgd2UKK3Nob3VsZG7igJl0 IGVuY291cmFnZSBpdHMgdXNlLiBLZWVwIHRoZSB0ZXN0cywgc2luY2UgdGhleSBjaGVjayB0aGF0 IHdlCitkb27igJl0IGVtaXQgd2FybmluZ3Mgd2hlbiBidWlsdCBhZ2FpbnN0IGluY29ycmVjdCBv bGQgY29kZSB3aGljaCB1c2VzCitgdm9sYXRpbGVgLiBCdXQgYWRkIGEgY29tbWVudCB0byBzdG9w IGNvcHkvcGFzdGUgdXNlIG9mIGB2b2xhdGlsZWAKK2luIHRoZSBmdXR1cmUuCisKK1NpZ25lZC1v ZmYtYnk6IFBoaWxpcCBXaXRobmFsbCA8cHdpdGhuYWxsQGVuZGxlc3Nvcy5vcmc+CisKK0hlbHBz OiAjNjAwCistLS0KKyBnbGliL3Rlc3RzL2F0b21pYy5jIHwgNiArKysrKysKKyAxIGZpbGUgY2hh bmdlZCwgNiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nbGliL3Rlc3RzL2F0b21pYy5j IGIvZ2xpYi90ZXN0cy9hdG9taWMuYworaW5kZXggN2QyNDU5ZjNhLi4xNGU2ZTQ1NGUgMTAwNjQ0 CistLS0gYS9nbGliL3Rlc3RzL2F0b21pYy5jCisrKysgYi9nbGliL3Rlc3RzL2F0b21pYy5jCitA QCAtOTQsNiArOTQsOSBAQCB0ZXN0X3R5cGVzICh2b2lkKQorICAgcmVzID0gZ19hdG9taWNfcG9p bnRlcl9jb21wYXJlX2FuZF9leGNoYW5nZSAoJnZwX3N0ciwgTlVMTCwgc3RyKTsKKyAgIGdfYXNz ZXJ0X3RydWUgKHJlcyk7CisgCisrICAvKiBOb3RlIHRoYXQgYXRvbWljIHZhcmlhYmxlcyBzaG91 bGQgYWxtb3N0IGNlcnRhaW5seSBub3QgYmUgbWFya2VkIGFzCisrICAgKiBgdm9sYXRpbGVgIOKA lCBzZWUgaHR0cDovL2lzdm9sYXRpbGV1c2VmdWx3aXRodGhyZWFkcy5pbi9jLy4gVGhpcyB0ZXN0 IGV4aXN0cworKyAgICogdG8gbWFrZSBzdXJlIHRoYXQgd2UgZG9u4oCZdCB3YXJuIHdoZW4gYnVp bHQgYWdhaW5zdCBvbGRlciB0aGlyZCBwYXJ0eSBjb2RlLiAqLworICAgZ19hdG9taWNfcG9pbnRl cl9zZXQgKCZ2cF9zdHJfdm9sLCBOVUxMKTsKKyAgIHJlcyA9IGdfYXRvbWljX3BvaW50ZXJfY29t cGFyZV9hbmRfZXhjaGFuZ2UgKCZ2cF9zdHJfdm9sLCBOVUxMLCBzdHIpOworICAgZ19hc3NlcnRf dHJ1ZSAocmVzKTsKK0BAIC0yMTAsNiArMjEzLDkgQEAgR19HTlVDX0VORF9JR05PUkVfREVQUkVD QVRJT05TCisgICByZXMgPSBnX2F0b21pY19wb2ludGVyX2NvbXBhcmVfYW5kX2V4Y2hhbmdlICgm dnBfc3RyLCBOVUxMLCAoY2hhciAqKSBzdHIpOworICAgZ19hc3NlcnRfdHJ1ZSAocmVzKTsKKyAK KysgIC8qIE5vdGUgdGhhdCBhdG9taWMgdmFyaWFibGVzIHNob3VsZCBhbG1vc3QgY2VydGFpbmx5 IG5vdCBiZSBtYXJrZWQgYXMKKysgICAqIGB2b2xhdGlsZWAg4oCUIHNlZSBodHRwOi8vaXN2b2xh dGlsZXVzZWZ1bHdpdGh0aHJlYWRzLmluL2MvLiBUaGlzIHRlc3QgZXhpc3RzCisrICAgKiB0byBt YWtlIHN1cmUgdGhhdCB3ZSBkb27igJl0IHdhcm4gd2hlbiBidWlsdCBhZ2FpbnN0IG9sZGVyIHRo aXJkIHBhcnR5IGNvZGUuICovCisgICBnX2F0b21pY19wb2ludGVyX3NldCAoJnZwX3N0cl92b2ws IE5VTEwpOworICAgcmVzID0gZ19hdG9taWNfcG9pbnRlcl9jb21wYXJlX2FuZF9leGNoYW5nZSAo JnZwX3N0cl92b2wsIE5VTEwsIChjaGFyICopIHN0cik7CisgICBnX2Fzc2VydF90cnVlIChyZXMp OworLS0gCitHaXRMYWIKKworCitGcm9tIDZiZDBhNGIyOTc1MzU3MGEyYzIwYjYxYjVhZDJjMDA2 ODU2N2I3YjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQaGlsaXAgV2l0aG5hbGwg PHB3aXRobmFsbEBlbmRsZXNzb3Mub3JnPgorRGF0ZTogTW9uLCAxNiBOb3YgMjAyMCAxNjo0NDoy OSArMDAwMAorU3ViamVjdDogW1BBVENIIDI1LzI5XSBndGhyZWFkOiBVc2UgZ19hdG9taWMoKSBw cmltaXRpdmVzIGNvcnJlY3RseSBpbgorIGRlc3RydWN0b3IgbGlzdAorTUlNRS1WZXJzaW9uOiAx LjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogOGJpdAorCitJbiB0aGUgV2luZG93cyBkZXN0cnVjdG9yIGxpc3QsIGNv bnNpc3RlbnRseSBhY2Nlc3MKK2BnX3ByaXZhdGVfZGVzdHJ1Y3RvcnNgIHVzaW5nIGF0b21pYyBw cmltaXRpdmVzLgorCitgZ19hdG9taWNfcG9pbnRlcl9jb21wYXJlX2FuZF9leGNoYW5nZSgpYCBz aG91bGQgYmUgZXF1aXZhbGVudCB0bworYEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlUG9pbnRl cigpYCwgYnV0IGlzIGEgYml0IG1vcmUgdW5kZXJzdGFuZGFibGUKK2luIGEgZ2VuZXJhbCBHTGli IGNvbnRleHQsIGFuZCBwYWlycyB3aXRoIGBnX2F0b21pY19wb2ludGVyX2dldCgpYC4gKEkKK2Nh buKAmXQgZmluZCBhIFdpbmRvd3MgQVBJIGVxdWl2YWxlbnQgZm9yIHRoYXQuKQorCitTaWduZWQt b2ZmLWJ5OiBQaGlsaXAgV2l0aG5hbGwgPHB3aXRobmFsbEBlbmRsZXNzb3Mub3JnPgorCitIZWxw czogIzYwMAorLS0tCisgZ2xpYi9ndGhyZWFkLXdpbjMyLmMgfCAxMyArKysrKysrLS0tLS0tCisg MSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL2dsaWIvZ3RocmVhZC13aW4zMi5jIGIvZ2xpYi9ndGhyZWFkLXdpbjMyLmMKK2luZGV4 IDBjMzdkYzZjMS4uMjBhY2E2ZmExIDEwMDY0NAorLS0tIGEvZ2xpYi9ndGhyZWFkLXdpbjMyLmMK KysrKyBiL2dsaWIvZ3RocmVhZC13aW4zMi5jCitAQCAtMzAxLDcgKzMwMSw3IEBAIHN0cnVjdCBf R1ByaXZhdGVEZXN0cnVjdG9yCisgICBHUHJpdmF0ZURlc3RydWN0b3IgKm5leHQ7CisgfTsKKyAK Ky1zdGF0aWMgR1ByaXZhdGVEZXN0cnVjdG9yICogdm9sYXRpbGUgZ19wcml2YXRlX2Rlc3RydWN0 b3JzOworK3N0YXRpYyBHUHJpdmF0ZURlc3RydWN0b3IgKmdfcHJpdmF0ZV9kZXN0cnVjdG9yczsg IC8qIChhdG9taWMpIHByZXBlbmQtb25seSAqLworIHN0YXRpYyBDUklUSUNBTF9TRUNUSU9OIGdf cHJpdmF0ZV9sb2NrOworIAorIHN0YXRpYyBEV09SRAorQEAgLTMyOSw3ICszMjksNyBAQCBnX3By aXZhdGVfZ2V0X2ltcGwgKEdQcml2YXRlICprZXkpCisgICAgICAgICAgICAgICAgIGdfdGhyZWFk X2Fib3J0IChlcnJubywgIm1hbGxvYyIpOworICAgICAgICAgICAgICAgZGVzdHJ1Y3Rvci0+aW5k ZXggPSBpbXBsOworICAgICAgICAgICAgICAgZGVzdHJ1Y3Rvci0+bm90aWZ5ID0ga2V5LT5ub3Rp Znk7CistICAgICAgICAgICAgICBkZXN0cnVjdG9yLT5uZXh0ID0gZ19wcml2YXRlX2Rlc3RydWN0 b3JzOworKyAgICAgICAgICAgICAgZGVzdHJ1Y3Rvci0+bmV4dCA9IGdfYXRvbWljX3BvaW50ZXJf Z2V0ICgmZ19wcml2YXRlX2Rlc3RydWN0b3JzKTsKKyAKKyAgICAgICAgICAgICAgIC8qIFdlIG5l ZWQgdG8gZG8gYW4gYXRvbWljIHN0b3JlIGR1ZSB0byB0aGUgdW5sb2NrZWQKKyAgICAgICAgICAg ICAgICAqIGFjY2VzcyB0byB0aGUgZGVzdHJ1Y3RvciBsaXN0IGZyb20gdGhlIHRocmVhZCBleGl0 CitAQCAtMzM3LDEzICszMzcsMTQgQEAgZ19wcml2YXRlX2dldF9pbXBsIChHUHJpdmF0ZSAqa2V5 KQorICAgICAgICAgICAgICAgICoKKyAgICAgICAgICAgICAgICAqIEl0IGNhbiBkb3VibGUgYXMg YSBzYW5pdHkgY2hlY2suLi4KKyAgICAgICAgICAgICAgICAqLworLSAgICAgICAgICAgICAgaWYg KEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlUG9pbnRlciAoJmdfcHJpdmF0ZV9kZXN0cnVjdG9y cywgZGVzdHJ1Y3RvciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRlc3RydWN0b3ItPm5leHQpICE9IGRlc3RydWN0b3ItPm5leHQpCisrICAg ICAgICAgICAgICBpZiAoIWdfYXRvbWljX3BvaW50ZXJfY29tcGFyZV9hbmRfZXhjaGFuZ2UgKCZn X3ByaXZhdGVfZGVzdHJ1Y3RvcnMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RydWN0b3ItPm5leHQsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RydWN0b3Ip KQorICAgICAgICAgICAgICAgICBnX3RocmVhZF9hYm9ydCAoMCwgImdfcHJpdmF0ZV9nZXRfaW1w bCgxKSIpOworICAgICAgICAgICAgIH0KKyAKKyAgICAgICAgICAgLyogRGl0dG8sIGR1ZSB0byB0 aGUgdW5sb2NrZWQgYWNjZXNzIG9uIHRoZSBmYXN0IHBhdGggKi8KKy0gICAgICAgICAgaWYgKElu dGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlUG9pbnRlciAoJmtleS0+cCwgaW1wbCwgTlVMTCkgIT0g TlVMTCkKKysgICAgICAgICAgaWYgKCFnX2F0b21pY19wb2ludGVyX2NvbXBhcmVfYW5kX2V4Y2hh bmdlICgma2V5LT5wLCBOVUxMLCBpbXBsKSkKKyAgICAgICAgICAgICBnX3RocmVhZF9hYm9ydCAo MCwgImdfcHJpdmF0ZV9nZXRfaW1wbCgyKSIpOworICAgICAgICAgfQorICAgICAgIExlYXZlQ3Jp dGljYWxTZWN0aW9uICgmZ19wcml2YXRlX2xvY2spOworQEAgLTYzNSw3ICs2MzYsNyBAQCBnX3Ro cmVhZF93aW4zMl90aHJlYWRfZGV0YWNoICh2b2lkKQorICAgICAgICAqLworICAgICAgIGR0b3Jz X2NhbGxlZCA9IEZBTFNFOworIAorLSAgICAgIGZvciAoZHRvciA9IGdfcHJpdmF0ZV9kZXN0cnVj dG9yczsgZHRvcjsgZHRvciA9IGR0b3ItPm5leHQpCisrICAgICAgZm9yIChkdG9yID0gZ19hdG9t aWNfcG9pbnRlcl9nZXQgKCZnX3ByaXZhdGVfZGVzdHJ1Y3RvcnMpOyBkdG9yOyBkdG9yID0gZHRv ci0+bmV4dCkKKyAgICAgICAgIHsKKyAgICAgICAgICAgZ3BvaW50ZXIgdmFsdWU7CisgCistLSAK K0dpdExhYgorCisKK0Zyb20gMDQxZGQ4YjcwYmQxNGIwNDFkNmE0OTU0OTJlYjdhNWZjNzU2OGJi NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBoaWxpcCBXaXRobmFsbCA8cHdpdGhu YWxsQGVuZGxlc3Nvcy5vcmc+CitEYXRlOiBNb24sIDE2IE5vdiAyMDIwIDE2OjQ3OjU0ICswMDAw CitTdWJqZWN0OiBbUEFUQ0ggMjYvMjldIGd0eXBlOiBGaXggc29tZSB0eXBvcyBpbiBjb21tZW50 cworCitTaWduZWQtb2ZmLWJ5OiBQaGlsaXAgV2l0aG5hbGwgPHB3aXRobmFsbEBlbmRsZXNzb3Mu b3JnPgorLS0tCisgZ29iamVjdC9ndHlwZS5jIHwgOCArKysrLS0tLQorIDEgZmlsZSBjaGFuZ2Vk LCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nb2JqZWN0 L2d0eXBlLmMgYi9nb2JqZWN0L2d0eXBlLmMKK2luZGV4IGJlNTk4OWEzZS4uYWUxYWY4YTA1IDEw MDY0NAorLS0tIGEvZ29iamVjdC9ndHlwZS5jCisrKysgYi9nb2JqZWN0L2d0eXBlLmMKK0BAIC0y MjkwLDcgKzIyOTAsNyBAQCB0eXBlX2NsYXNzX2luaXRfV20gKFR5cGVOb2RlICAgKm5vZGUsCisg ICAgKiBpbmhlcml0ZWQgaW50ZXJmYWNlcyBhcmUgYWxyZWFkeSBpbml0X3N0YXRlID09IElOSVRJ QUxJWkVELCBiZWNhdXNlCisgICAgKiB0aGV5IGVpdGhlciBnb3Qgc2V0dXAgaW4gdGhlIGFib3Zl IGJhc2VfaW5pdCBsb29wLCBvciBkdXJpbmcKKyAgICAqIGNsYXNzX2luaXQgZnJvbSB3aXRoaW4g dHlwZV9hZGRfaW50ZXJmYWNlX1dtKCkgZm9yIHRoaXMgb3IKKy0gICAqIGFuIGFuY2hlc3RvciB0 eXBlLgorKyAgICogYW4gYW5jZXN0b3IgdHlwZS4KKyAgICAqLworICAgaSA9IDA7CisgICB3aGls ZSAoKGVudHJpZXMgPSBDTEFTU0VEX05PREVfSUZBQ0VTX0VOVFJJRVNfTE9DS0VEIChub2RlKSkg IT0gTlVMTCkKK0BAIC0zNDYyLDcgKzM0NjIsNyBAQCBnX3R5cGVfZGVwdGggKEdUeXBlIHR5cGUp CisgICogYmUgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHR5cGVzIGFuZCBvcmRlciBpbiB3aGljaCB0 aGUgbGVhZiB0eXBlIGlzCisgICogZGVzY2VuZGVkIGZyb20gdGhlIHJvb3QgdHlwZS4KKyAgKgor LSAqIFJldHVybnM6IGltbWVkaWF0ZSBjaGlsZCBvZiBAcm9vdF90eXBlIGFuZCBhbmNoZXN0b3Ig b2YgQGxlYWZfdHlwZQorKyAqIFJldHVybnM6IGltbWVkaWF0ZSBjaGlsZCBvZiBAcm9vdF90eXBl IGFuZCBhbmNlc3RvciBvZiBAbGVhZl90eXBlCisgICovCisgR1R5cGUKKyBnX3R5cGVfbmV4dF9i YXNlIChHVHlwZSB0eXBlLAorQEAgLTM1NDksOCArMzU0OSw4IEBAIHR5cGVfbm9kZV9jb25mb3Jt c190b19VIChUeXBlTm9kZSAqbm9kZSwKKyAKKyAvKioKKyAgKiBnX3R5cGVfaXNfYToKKy0gKiBA dHlwZTogdHlwZSB0byBjaGVjayBhbmNoZXN0cnkgZm9yCistICogQGlzX2FfdHlwZTogcG9zc2li bGUgYW5jaGVzdG9yIG9mIEB0eXBlIG9yIGludGVyZmFjZSB0aGF0IEB0eXBlCisrICogQHR5cGU6 IHR5cGUgdG8gY2hlY2sgYW5jZXN0cnkgZm9yCisrICogQGlzX2FfdHlwZTogcG9zc2libGUgYW5j ZXN0b3Igb2YgQHR5cGUgb3IgaW50ZXJmYWNlIHRoYXQgQHR5cGUKKyAgKiAgICAgY291bGQgY29u Zm9ybSB0bworICAqCisgICogSWYgQGlzX2FfdHlwZSBpcyBhIGRlcml2YWJsZSB0eXBlLCBjaGVj ayB3aGV0aGVyIEB0eXBlIGlzIGEKKy0tIAorR2l0TGFiCisKKworRnJvbSA0N2RhOGVjNWQ5YTI4 NGUwN2Y3N2M3ZDU5ZmM4ZWFjZjNlYmYxODhhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogUGhpbGlwIFdpdGhuYWxsIDxwd2l0aG5hbGxAZW5kbGVzc29zLm9yZz4KK0RhdGU6IE1vbiwg MTYgTm92IDIwMjAgMTY6NTc6MjIgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAyNy8yOV0gZ3R5cGU6 IEFkZCBzb21lIG1pc3NpbmcgYXRvbWljIGFjY2Vzc2VzIHRvIGluaXRfc3RhdGUKK01JTUUtVmVy c2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworSGFsZiBvZiB0aGUgcmVmZXJlbmNlcyB0byBg aW5pdF9zdGF0ZWAgaW4gYGd0eXBlLmNgIGFscmVhZHkgY29ycmVjdGx5CithY2Nlc3NlZCBpdCBh dG9taWNhbGx5LCBidXQgYSBjb3VwbGUgZGlkbuKAmXQuIERyb3AgdGhlIGB2b2xhdGlsZWAKK3F1 YWxpZmllciBmcm9tIGl0cyBkZWNsYXJhdGlvbiwgYXMgdGhhdOKAmXMgbm90IG5lY2Vzc2FyeSBm b3IgYXRvbWljCithY2Nlc3MuCisKK05vdGUgdGhhdCB0aGlzIGlzIHRoZSBgaW5pdF9zdGF0ZWAg aW4gYFR5cGVEYXRhYCwgKm5vdCogdGhlIGBpbml0X3N0YXRlYAoraW4gYElGYWNlRW50cnlgLgor CitTaWduZWQtb2ZmLWJ5OiBQaGlsaXAgV2l0aG5hbGwgPHB3aXRobmFsbEBlbmRsZXNzb3Mub3Jn PgorCitIZWxwczogIzYwMAorLS0tCisgZ29iamVjdC9ndHlwZS5jIHwgMTAgKysrKystLS0tLQor IDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS9nb2JqZWN0L2d0eXBlLmMgYi9nb2JqZWN0L2d0eXBlLmMKK2luZGV4IGFlMWFmOGEw NS4uOTA5ZmFmMTM4IDEwMDY0NAorLS0tIGEvZ29iamVjdC9ndHlwZS5jCisrKysgYi9nb2JqZWN0 L2d0eXBlLmMKK0BAIC0zMjIsNyArMzIyLDcgQEAgc3RydWN0IF9DbGFzc0RhdGEKKyAgIENvbW1v bkRhdGEgICAgICAgICBjb21tb247CisgICBndWludDE2ICAgICAgICAgICAgY2xhc3Nfc2l6ZTsK KyAgIGd1aW50MTYgICAgICAgICAgICBjbGFzc19wcml2YXRlX3NpemU7CistICBpbnQgdm9sYXRp bGUgICAgICAgaW5pdF9zdGF0ZTsgLyogYXRvbWljIC0gZ190eXBlX2NsYXNzX3JlZiByZWFkcyBp dCB1bmxvY2tlZCAqLworKyAgaW50ICAgICAgICAgICAgICAgIGluaXRfc3RhdGU7ICAvKiAoYXRv bWljKSAtIGdfdHlwZV9jbGFzc19yZWYgcmVhZHMgaXQgdW5sb2NrZWQgKi8KKyAgIEdCYXNlSW5p dEZ1bmMgICAgICBjbGFzc19pbml0X2Jhc2U7CisgICBHQmFzZUZpbmFsaXplRnVuYyAgY2xhc3Nf ZmluYWxpemVfYmFzZTsKKyAgIEdDbGFzc0luaXRGdW5jICAgICBjbGFzc19pbml0OworQEAgLTMz Niw3ICszMzYsNyBAQCBzdHJ1Y3QgX0luc3RhbmNlRGF0YQorICAgQ29tbW9uRGF0YSAgICAgICAg IGNvbW1vbjsKKyAgIGd1aW50MTYgICAgICAgICAgICBjbGFzc19zaXplOworICAgZ3VpbnQxNiAg ICAgICAgICAgIGNsYXNzX3ByaXZhdGVfc2l6ZTsKKy0gIGludCB2b2xhdGlsZSAgICAgICBpbml0 X3N0YXRlOyAvKiBhdG9taWMgLSBnX3R5cGVfY2xhc3NfcmVmIHJlYWRzIGl0IHVubG9ja2VkICov CisrICBpbnQgICAgICAgICAgICAgICAgaW5pdF9zdGF0ZTsgIC8qIChhdG9taWMpIC0gZ190eXBl X2NsYXNzX3JlZiByZWFkcyBpdCB1bmxvY2tlZCAqLworICAgR0Jhc2VJbml0RnVuYyAgICAgIGNs YXNzX2luaXRfYmFzZTsKKyAgIEdCYXNlRmluYWxpemVGdW5jICBjbGFzc19maW5hbGl6ZV9iYXNl OworICAgR0NsYXNzSW5pdEZ1bmMgICAgIGNsYXNzX2luaXQ7CitAQCAtMTQxNSw3ICsxNDE1LDcg QEAgdHlwZV9ub2RlX2FkZF9pZmFjZV9lbnRyeV9XIChUeXBlTm9kZSAgICpub2RlLAorIAorICAg aWYgKHBhcmVudF9lbnRyeSkKKyAgICAgeworLSAgICAgIGlmIChub2RlLT5kYXRhICYmIG5vZGUt PmRhdGEtPmNsYXNzLmluaXRfc3RhdGUgPj0gQkFTRV9JRkFDRV9JTklUKQorKyAgICAgIGlmIChu b2RlLT5kYXRhICYmIGdfYXRvbWljX2ludF9nZXQgKCZub2RlLT5kYXRhLT5jbGFzcy5pbml0X3N0 YXRlKSA+PSBCQVNFX0lGQUNFX0lOSVQpCisgICAgICAgICB7CisgICAgICAgICAgIGVudHJpZXMt PmVudHJ5W2ldLmluaXRfc3RhdGUgPSBJTklUSUFMSVpFRDsKKyAgICAgICAgICAgZW50cmllcy0+ ZW50cnlbaV0udnRhYmxlID0gcGFyZW50X2VudHJ5LT52dGFibGU7CitAQCAtMTQ4MSw3ICsxNDgx LDcgQEAgdHlwZV9hZGRfaW50ZXJmYWNlX1dtIChUeXBlTm9kZSAgICAgICAgICAgICAqbm9kZSwK KyAgICAqLworICAgaWYgKG5vZGUtPmRhdGEpCisgICAgIHsKKy0gICAgICBJbml0U3RhdGUgY2xh c3Nfc3RhdGUgPSBub2RlLT5kYXRhLT5jbGFzcy5pbml0X3N0YXRlOworKyAgICAgIEluaXRTdGF0 ZSBjbGFzc19zdGF0ZSA9IGdfYXRvbWljX2ludF9nZXQgKCZub2RlLT5kYXRhLT5jbGFzcy5pbml0 X3N0YXRlKTsKKyAgICAgICAKKyAgICAgICBpZiAoY2xhc3Nfc3RhdGUgPj0gQkFTRV9JRkFDRV9J TklUKQorICAgICAgICAgdHlwZV9pZmFjZV92dGFibGVfYmFzZV9pbml0X1dtIChpZmFjZSwgbm9k ZSk7CitAQCAtMjE3NSw3ICsyMTc1LDcgQEAgdHlwZV9jbGFzc19pbml0X1dtIChUeXBlTm9kZSAg ICpub2RlLAorICAgZ19hc3NlcnQgKG5vZGUtPmlzX2NsYXNzZWQgJiYgbm9kZS0+ZGF0YSAmJgor IAkgICAgbm9kZS0+ZGF0YS0+Y2xhc3MuY2xhc3Nfc2l6ZSAmJgorIAkgICAgIW5vZGUtPmRhdGEt PmNsYXNzLmNsYXNzICYmCistCSAgICBub2RlLT5kYXRhLT5jbGFzcy5pbml0X3N0YXRlID09IFVO SU5JVElBTElaRUQpOworKwkgICAgZ19hdG9taWNfaW50X2dldCAoJm5vZGUtPmRhdGEtPmNsYXNz LmluaXRfc3RhdGUpID09IFVOSU5JVElBTElaRUQpOworICAgaWYgKG5vZGUtPmRhdGEtPmNsYXNz LmNsYXNzX3ByaXZhdGVfc2l6ZSkKKyAgICAgY2xhc3MgPSBnX21hbGxvYzAgKEFMSUdOX1NUUlVD VCAobm9kZS0+ZGF0YS0+Y2xhc3MuY2xhc3Nfc2l6ZSkgKyBub2RlLT5kYXRhLT5jbGFzcy5jbGFz c19wcml2YXRlX3NpemUpOworICAgZWxzZQorLS0gCitHaXRMYWIKKworCitGcm9tIDdkNDE3Zjg0 MDZiOGZhMzJhMjU2NTkxMjA3MzhkMjJiZTZhMWI0ODIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBQaGlsaXAgV2l0aG5hbGwgPHB3aXRobmFsbEBlbmRsZXNzb3Mub3JnPgorRGF0ZTog TW9uLCAxNiBOb3YgMjAyMCAxNzoxNzoyMSArMDAwMAorU3ViamVjdDogW1BBVENIIDI4LzI5XSBn cmVzb3VyY2U6IEZpeCBhIHBvaW50ZXIgbWlzbWF0Y2ggd2l0aCBhbiBhdG9taWMgbG9hZAorCitU aGlzIHNxdWFzaGVzIGEgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIENsYW5nLgorCitTaWdu ZWQtb2ZmLWJ5OiBQaGlsaXAgV2l0aG5hbGwgPHB3aXRobmFsbEBlbmRsZXNzb3Mub3JnPgorLS0t CisgZ2lvL2dyZXNvdXJjZS5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ2lvL2dyZXNvdXJjZS5jIGIvZ2lvL2dy ZXNvdXJjZS5jCitpbmRleCA3OWE0OWQzM2QuLmI0OTVkMTJhYyAxMDA2NDQKKy0tLSBhL2dpby9n cmVzb3VyY2UuYworKysrIGIvZ2lvL2dyZXNvdXJjZS5jCitAQCAtMTM5OCw3ICsxMzk4LDcgQEAg cmVnaXN0ZXJfbGF6eV9zdGF0aWNfcmVzb3VyY2VzICh2b2lkKQorIHZvaWQKKyBnX3N0YXRpY19y ZXNvdXJjZV9pbml0IChHU3RhdGljUmVzb3VyY2UgKnN0YXRpY19yZXNvdXJjZSkKKyB7CistICBn cG9pbnRlciBuZXh0OworKyAgR1N0YXRpY1Jlc291cmNlICpuZXh0OworIAorICAgZG8KKyAgICAg eworLS0gCitHaXRMYWIKKworCitGcm9tIDgzZTQ4ZDhhYzFmZWU5ODA1OWUyMzA1ZDg5MDlkY2Ey NjE5MGJkZGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQaGlsaXAgV2l0aG5hbGwg PHB3aXRobmFsbEBlbmRsZXNzb3Mub3JnPgorRGF0ZTogVHVlLCAxNyBOb3YgMjAyMCAxMDoxNTox NSArMDAwMAorU3ViamVjdDogW1BBVENIIDI5LzI5XSBkb2NzOiBEb2N1bWVudCBub3QgdG8gdXNl IGB2b2xhdGlsZWAgcXVhbGlmaWVycworCitTaWduZWQtb2ZmLWJ5OiBQaGlsaXAgV2l0aG5hbGwg PHB3aXRobmFsbEBlbmRsZXNzb3Mub3JnPgorCitGaXhlczogIzYwMAorLS0tCisgZ2lvL2dkYnVz Y29ubmVjdGlvbi5jIHwgMTIgKysrKysrKystLS0KKyBnaW8vZ2RidXNlcnJvci5jICAgICAgfCAg MyArKysKKyBnbGliL2dhdG9taWMuYyAgICAgICAgfCA0OCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCisgZ2xpYi9ndGhyZWFkLmMgICAgICAgIHwgIDYgKysrKysr CisgNCBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitk aWZmIC0tZ2l0IGEvZ2lvL2dkYnVzY29ubmVjdGlvbi5jIGIvZ2lvL2dkYnVzY29ubmVjdGlvbi5j CitpbmRleCA5MWMzNjVlODAuLjY1OTM5YTRkMiAxMDA2NDQKKy0tLSBhL2dpby9nZGJ1c2Nvbm5l Y3Rpb24uYworKysrIGIvZ2lvL2dkYnVzY29ubmVjdGlvbi5jCitAQCAtMTcwOCw3ICsxNzA4LDkg QEAgZ19kYnVzX2Nvbm5lY3Rpb25fc2VuZF9tZXNzYWdlX3VubG9ja2VkIChHREJ1c0Nvbm5lY3Rp b24gICAqY29ubmVjdGlvbiwKKyAgKiB3aWxsIGJlIGFzc2lnbmVkIGJ5IEBjb25uZWN0aW9uIGFu ZCBzZXQgb24gQG1lc3NhZ2UgdmlhCisgICogZ19kYnVzX21lc3NhZ2Vfc2V0X3NlcmlhbCgpLiBJ ZiBAb3V0X3NlcmlhbCBpcyBub3QgJU5VTEwsIHRoZW4gdGhlCisgICogc2VyaWFsIG51bWJlciB1 c2VkIHdpbGwgYmUgd3JpdHRlbiB0byB0aGlzIGxvY2F0aW9uIHByaW9yIHRvCistICogc3VibWl0 dGluZyB0aGUgbWVzc2FnZSB0byB0aGUgdW5kZXJseWluZyB0cmFuc3BvcnQuCisrICogc3VibWl0 dGluZyB0aGUgbWVzc2FnZSB0byB0aGUgdW5kZXJseWluZyB0cmFuc3BvcnQuIFdoaWxlIGl0IGhh cyBhIGB2b2xhdGlsZWAKKysgKiBxdWFsaWZpZXIsIHRoaXMgaXMgYSBoaXN0b3JpY2FsIGFydGlm YWN0IGFuZCB0aGUgYXJndW1lbnQgcGFzc2VkIHRvIGl0IHNob3VsZAorKyAqIG5vdCBiZSBgdm9s YXRpbGVgLgorICAqCisgICogSWYgQGNvbm5lY3Rpb24gaXMgY2xvc2VkIHRoZW4gdGhlIG9wZXJh dGlvbiB3aWxsIGZhaWwgd2l0aAorICAqICVHX0lPX0VSUk9SX0NMT1NFRC4gSWYgQG1lc3NhZ2Ug aXMgbm90IHdlbGwtZm9ybWVkLAorQEAgLTE5NzksNyArMTk4MSw5IEBAIGdfZGJ1c19jb25uZWN0 aW9uX3NlbmRfbWVzc2FnZV93aXRoX3JlcGx5X3VubG9ja2VkIChHREJ1c0Nvbm5lY3Rpb24gICAg ICpjb25uZWN0CisgICogd2lsbCBiZSBhc3NpZ25lZCBieSBAY29ubmVjdGlvbiBhbmQgc2V0IG9u IEBtZXNzYWdlIHZpYQorICAqIGdfZGJ1c19tZXNzYWdlX3NldF9zZXJpYWwoKS4gSWYgQG91dF9z ZXJpYWwgaXMgbm90ICVOVUxMLCB0aGVuIHRoZQorICAqIHNlcmlhbCBudW1iZXIgdXNlZCB3aWxs IGJlIHdyaXR0ZW4gdG8gdGhpcyBsb2NhdGlvbiBwcmlvciB0bworLSAqIHN1Ym1pdHRpbmcgdGhl IG1lc3NhZ2UgdG8gdGhlIHVuZGVybHlpbmcgdHJhbnNwb3J0LgorKyAqIHN1Ym1pdHRpbmcgdGhl IG1lc3NhZ2UgdG8gdGhlIHVuZGVybHlpbmcgdHJhbnNwb3J0LiBXaGlsZSBpdCBoYXMgYSBgdm9s YXRpbGVgCisrICogcXVhbGlmaWVyLCB0aGlzIGlzIGEgaGlzdG9yaWNhbCBhcnRpZmFjdCBhbmQg dGhlIGFyZ3VtZW50IHBhc3NlZCB0byBpdCBzaG91bGQKKysgKiBub3QgYmUgYHZvbGF0aWxlYC4K KyAgKgorICAqIElmIEBjb25uZWN0aW9uIGlzIGNsb3NlZCB0aGVuIHRoZSBvcGVyYXRpb24gd2ls bCBmYWlsIHdpdGgKKyAgKiAlR19JT19FUlJPUl9DTE9TRUQuIElmIEBjYW5jZWxsYWJsZSBpcyBj YW5jZWxlZCwgdGhlIG9wZXJhdGlvbiB3aWxsCitAQCAtMjEwNSw3ICsyMTA5LDkgQEAgc2VuZF9t ZXNzYWdlX3dpdGhfcmVwbHlfc3luY19jYiAoR0RCdXNDb25uZWN0aW9uICpjb25uZWN0aW9uLAor ICAqIHdpbGwgYmUgYXNzaWduZWQgYnkgQGNvbm5lY3Rpb24gYW5kIHNldCBvbiBAbWVzc2FnZSB2 aWEKKyAgKiBnX2RidXNfbWVzc2FnZV9zZXRfc2VyaWFsKCkuIElmIEBvdXRfc2VyaWFsIGlzIG5v dCAlTlVMTCwgdGhlbiB0aGUKKyAgKiBzZXJpYWwgbnVtYmVyIHVzZWQgd2lsbCBiZSB3cml0dGVu IHRvIHRoaXMgbG9jYXRpb24gcHJpb3IgdG8KKy0gKiBzdWJtaXR0aW5nIHRoZSBtZXNzYWdlIHRv IHRoZSB1bmRlcmx5aW5nIHRyYW5zcG9ydC4KKysgKiBzdWJtaXR0aW5nIHRoZSBtZXNzYWdlIHRv IHRoZSB1bmRlcmx5aW5nIHRyYW5zcG9ydC4gV2hpbGUgaXQgaGFzIGEgYHZvbGF0aWxlYAorKyAq IHF1YWxpZmllciwgdGhpcyBpcyBhIGhpc3RvcmljYWwgYXJ0aWZhY3QgYW5kIHRoZSBhcmd1bWVu dCBwYXNzZWQgdG8gaXQgc2hvdWxkCisrICogbm90IGJlIGB2b2xhdGlsZWAuCisgICoKKyAgKiBJ ZiBAY29ubmVjdGlvbiBpcyBjbG9zZWQgdGhlbiB0aGUgb3BlcmF0aW9uIHdpbGwgZmFpbCB3aXRo CisgICogJUdfSU9fRVJST1JfQ0xPU0VELiBJZiBAY2FuY2VsbGFibGUgaXMgY2FuY2VsZWQsIHRo ZSBvcGVyYXRpb24gd2lsbAorZGlmZiAtLWdpdCBhL2dpby9nZGJ1c2Vycm9yLmMgYi9naW8vZ2Ri dXNlcnJvci5jCitpbmRleCBiMDNhMzNmMjcuLjRhZDk3YmI2ZSAxMDA2NDQKKy0tLSBhL2dpby9n ZGJ1c2Vycm9yLmMKKysrKyBiL2dpby9nZGJ1c2Vycm9yLmMKK0BAIC0xNzcsNiArMTc3LDkgQEAg Z19kYnVzX2Vycm9yX3F1YXJrICh2b2lkKQorICAqCisgICogSGVscGVyIGZ1bmN0aW9uIGZvciBh c3NvY2lhdGluZyBhICNHRXJyb3IgZXJyb3IgZG9tYWluIHdpdGggRC1CdXMgZXJyb3IgbmFtZXMu CisgICoKKysgKiBXaGlsZSBAcXVhcmtfdm9sYXRpbGUgaGFzIGEgYHZvbGF0aWxlYCBxdWFsaWZp ZXIsIHRoaXMgaXMgYSBoaXN0b3JpY2FsCisrICogYXJ0aWZhY3QgYW5kIHRoZSBhcmd1bWVudCBw YXNzZWQgdG8gaXQgc2hvdWxkIG5vdCBiZSBgdm9sYXRpbGVgLgorKyAqCisgICogU2luY2U6IDIu MjYKKyAgKi8KKyB2b2lkCitkaWZmIC0tZ2l0IGEvZ2xpYi9nYXRvbWljLmMgYi9nbGliL2dhdG9t aWMuYworaW5kZXggNjdmNWJhNmI0Li4wYmM2N2FhMzUgMTAwNjQ0CistLS0gYS9nbGliL2dhdG9t aWMuYworKysrIGIvZ2xpYi9nYXRvbWljLmMKK0BAIC0xMDUsNiArMTA1LDkgQEAKKyAgKiBUaGlz IGNhbGwgYWN0cyBhcyBhIGZ1bGwgY29tcGlsZXIgYW5kIGhhcmR3YXJlCisgICogbWVtb3J5IGJh cnJpZXIgKGJlZm9yZSB0aGUgZ2V0KS4KKyAgKgorKyAqIFdoaWxlIEBhdG9taWMgaGFzIGEgYHZv bGF0aWxlYCBxdWFsaWZpZXIsIHRoaXMgaXMgYSBoaXN0b3JpY2FsIGFydGlmYWN0IGFuZAorKyAq IHRoZSBwb2ludGVyIHBhc3NlZCB0byBpdCBzaG91bGQgbm90IGJlIGB2b2xhdGlsZWAuCisrICoK KyAgKiBSZXR1cm5zOiB0aGUgdmFsdWUgb2YgdGhlIGludGVnZXIKKyAgKgorICAqIFNpbmNlOiAy LjQKK0BAIC0xMjUsNiArMTI4LDkgQEAgZ2ludAorICAqIFRoaXMgY2FsbCBhY3RzIGFzIGEgZnVs bCBjb21waWxlciBhbmQgaGFyZHdhcmUKKyAgKiBtZW1vcnkgYmFycmllciAoYWZ0ZXIgdGhlIHNl dCkuCisgICoKKysgKiBXaGlsZSBAYXRvbWljIGhhcyBhIGB2b2xhdGlsZWAgcXVhbGlmaWVyLCB0 aGlzIGlzIGEgaGlzdG9yaWNhbCBhcnRpZmFjdCBhbmQKKysgKiB0aGUgcG9pbnRlciBwYXNzZWQg dG8gaXQgc2hvdWxkIG5vdCBiZSBgdm9sYXRpbGVgLgorKyAqCisgICogU2luY2U6IDIuNAorICAq LworIHZvaWQKK0BAIC0xNDQsNiArMTUwLDkgQEAgdm9pZAorICAqCisgICogVGhpcyBjYWxsIGFj dHMgYXMgYSBmdWxsIGNvbXBpbGVyIGFuZCBoYXJkd2FyZSBtZW1vcnkgYmFycmllci4KKyAgKgor KyAqIFdoaWxlIEBhdG9taWMgaGFzIGEgYHZvbGF0aWxlYCBxdWFsaWZpZXIsIHRoaXMgaXMgYSBo aXN0b3JpY2FsIGFydGlmYWN0IGFuZAorKyAqIHRoZSBwb2ludGVyIHBhc3NlZCB0byBpdCBzaG91 bGQgbm90IGJlIGB2b2xhdGlsZWAuCisrICoKKyAgKiBTaW5jZTogMi40CisgICoqLworIHZvaWQK K0BAIC0xNjMsNiArMTcyLDkgQEAgdm9pZAorICAqCisgICogVGhpcyBjYWxsIGFjdHMgYXMgYSBm dWxsIGNvbXBpbGVyIGFuZCBoYXJkd2FyZSBtZW1vcnkgYmFycmllci4KKyAgKgorKyAqIFdoaWxl IEBhdG9taWMgaGFzIGEgYHZvbGF0aWxlYCBxdWFsaWZpZXIsIHRoaXMgaXMgYSBoaXN0b3JpY2Fs IGFydGlmYWN0IGFuZAorKyAqIHRoZSBwb2ludGVyIHBhc3NlZCB0byBpdCBzaG91bGQgbm90IGJl IGB2b2xhdGlsZWAuCisrICoKKyAgKiBSZXR1cm5zOiAlVFJVRSBpZiB0aGUgcmVzdWx0YW50IHZh bHVlIGlzIHplcm8KKyAgKgorICAqIFNpbmNlOiAyLjQKK0BAIC0xODksNiArMjAxLDkgQEAgZ2Jv b2xlYW4KKyAgKgorICAqIFRoaXMgY2FsbCBhY3RzIGFzIGEgZnVsbCBjb21waWxlciBhbmQgaGFy ZHdhcmUgbWVtb3J5IGJhcnJpZXIuCisgICoKKysgKiBXaGlsZSBAYXRvbWljIGhhcyBhIGB2b2xh dGlsZWAgcXVhbGlmaWVyLCB0aGlzIGlzIGEgaGlzdG9yaWNhbCBhcnRpZmFjdCBhbmQKKysgKiB0 aGUgcG9pbnRlciBwYXNzZWQgdG8gaXQgc2hvdWxkIG5vdCBiZSBgdm9sYXRpbGVgLgorKyAqCisg ICogUmV0dXJuczogJVRSVUUgaWYgdGhlIGV4Y2hhbmdlIHRvb2sgcGxhY2UKKyAgKgorICAqIFNp bmNlOiAyLjQKK0BAIC0yMTYsNiArMjMxLDkgQEAgZ2Jvb2xlYW4KKyAgKiBCZWZvcmUgdmVyc2lv biAyLjMwLCB0aGlzIGZ1bmN0aW9uIGRpZCBub3QgcmV0dXJuIGEgdmFsdWUKKyAgKiAoYnV0IGdf YXRvbWljX2ludF9leGNoYW5nZV9hbmRfYWRkKCkgZGlkLCBhbmQgaGFkIHRoZSBzYW1lIG1lYW5p bmcpLgorICAqCisrICogV2hpbGUgQGF0b21pYyBoYXMgYSBgdm9sYXRpbGVgIHF1YWxpZmllciwg dGhpcyBpcyBhIGhpc3RvcmljYWwgYXJ0aWZhY3QgYW5kCisrICogdGhlIHBvaW50ZXIgcGFzc2Vk IHRvIGl0IHNob3VsZCBub3QgYmUgYHZvbGF0aWxlYC4KKysgKgorICAqIFJldHVybnM6IHRoZSB2 YWx1ZSBvZiBAYXRvbWljIGJlZm9yZSB0aGUgYWRkLCBzaWduZWQKKyAgKgorICAqIFNpbmNlOiAy LjQKK0BAIC0yNDAsNiArMjU4LDkgQEAgZ2ludAorICAqIFRoaW5rIG9mIHRoaXMgb3BlcmF0aW9u IGFzIGFuIGF0b21pYyB2ZXJzaW9uIG9mCisgICogYHsgdG1wID0gKmF0b21pYzsgKmF0b21pYyAm PSB2YWw7IHJldHVybiB0bXA7IH1gLgorICAqCisrICogV2hpbGUgQGF0b21pYyBoYXMgYSBgdm9s YXRpbGVgIHF1YWxpZmllciwgdGhpcyBpcyBhIGhpc3RvcmljYWwgYXJ0aWZhY3QgYW5kCisrICog dGhlIHBvaW50ZXIgcGFzc2VkIHRvIGl0IHNob3VsZCBub3QgYmUgYHZvbGF0aWxlYC4KKysgKgor ICAqIFJldHVybnM6IHRoZSB2YWx1ZSBvZiBAYXRvbWljIGJlZm9yZSB0aGUgb3BlcmF0aW9uLCB1 bnNpZ25lZAorICAqCisgICogU2luY2U6IDIuMzAKK0BAIC0yNjQsNiArMjg1LDkgQEAgZ3VpbnQK KyAgKgorICAqIFRoaXMgY2FsbCBhY3RzIGFzIGEgZnVsbCBjb21waWxlciBhbmQgaGFyZHdhcmUg bWVtb3J5IGJhcnJpZXIuCisgICoKKysgKiBXaGlsZSBAYXRvbWljIGhhcyBhIGB2b2xhdGlsZWAg cXVhbGlmaWVyLCB0aGlzIGlzIGEgaGlzdG9yaWNhbCBhcnRpZmFjdCBhbmQKKysgKiB0aGUgcG9p bnRlciBwYXNzZWQgdG8gaXQgc2hvdWxkIG5vdCBiZSBgdm9sYXRpbGVgLgorKyAqCisgICogUmV0 dXJuczogdGhlIHZhbHVlIG9mIEBhdG9taWMgYmVmb3JlIHRoZSBvcGVyYXRpb24sIHVuc2lnbmVk CisgICoKKyAgKiBTaW5jZTogMi4zMAorQEAgLTI4OCw2ICszMTIsOSBAQCBndWludAorICAqCisg ICogVGhpcyBjYWxsIGFjdHMgYXMgYSBmdWxsIGNvbXBpbGVyIGFuZCBoYXJkd2FyZSBtZW1vcnkg YmFycmllci4KKyAgKgorKyAqIFdoaWxlIEBhdG9taWMgaGFzIGEgYHZvbGF0aWxlYCBxdWFsaWZp ZXIsIHRoaXMgaXMgYSBoaXN0b3JpY2FsIGFydGlmYWN0IGFuZAorKyAqIHRoZSBwb2ludGVyIHBh c3NlZCB0byBpdCBzaG91bGQgbm90IGJlIGB2b2xhdGlsZWAuCisrICoKKyAgKiBSZXR1cm5zOiB0 aGUgdmFsdWUgb2YgQGF0b21pYyBiZWZvcmUgdGhlIG9wZXJhdGlvbiwgdW5zaWduZWQKKyAgKgor ICAqIFNpbmNlOiAyLjMwCitAQCAtMzA5LDYgKzMzNiw5IEBAIGd1aW50CisgICogVGhpcyBjYWxs IGFjdHMgYXMgYSBmdWxsIGNvbXBpbGVyIGFuZCBoYXJkd2FyZQorICAqIG1lbW9yeSBiYXJyaWVy IChiZWZvcmUgdGhlIGdldCkuCisgICoKKysgKiBXaGlsZSBAYXRvbWljIGhhcyBhIGB2b2xhdGls ZWAgcXVhbGlmaWVyLCB0aGlzIGlzIGEgaGlzdG9yaWNhbCBhcnRpZmFjdCBhbmQKKysgKiB0aGUg cG9pbnRlciBwYXNzZWQgdG8gaXQgc2hvdWxkIG5vdCBiZSBgdm9sYXRpbGVgLgorKyAqCisgICog UmV0dXJuczogdGhlIHZhbHVlIG9mIHRoZSBwb2ludGVyCisgICoKKyAgKiBTaW5jZTogMi40CitA QCAtMzI5LDYgKzM1OSw5IEBAIGdwb2ludGVyCisgICogVGhpcyBjYWxsIGFjdHMgYXMgYSBmdWxs IGNvbXBpbGVyIGFuZCBoYXJkd2FyZQorICAqIG1lbW9yeSBiYXJyaWVyIChhZnRlciB0aGUgc2V0 KS4KKyAgKgorKyAqIFdoaWxlIEBhdG9taWMgaGFzIGEgYHZvbGF0aWxlYCBxdWFsaWZpZXIsIHRo aXMgaXMgYSBoaXN0b3JpY2FsIGFydGlmYWN0IGFuZAorKyAqIHRoZSBwb2ludGVyIHBhc3NlZCB0 byBpdCBzaG91bGQgbm90IGJlIGB2b2xhdGlsZWAuCisrICoKKyAgKiBTaW5jZTogMi40CisgICoq LworIHZvaWQKK0BAIC0zNTQsNiArMzg3LDkgQEAgdm9pZAorICAqCisgICogVGhpcyBjYWxsIGFj dHMgYXMgYSBmdWxsIGNvbXBpbGVyIGFuZCBoYXJkd2FyZSBtZW1vcnkgYmFycmllci4KKyAgKgor KyAqIFdoaWxlIEBhdG9taWMgaGFzIGEgYHZvbGF0aWxlYCBxdWFsaWZpZXIsIHRoaXMgaXMgYSBo aXN0b3JpY2FsIGFydGlmYWN0IGFuZAorKyAqIHRoZSBwb2ludGVyIHBhc3NlZCB0byBpdCBzaG91 bGQgbm90IGJlIGB2b2xhdGlsZWAuCisrICoKKyAgKiBSZXR1cm5zOiAlVFJVRSBpZiB0aGUgZXhj aGFuZ2UgdG9vayBwbGFjZQorICAqCisgICogU2luY2U6IDIuNAorQEAgLTM3OSw2ICs0MTUsOSBA QCBnYm9vbGVhbgorICAqCisgICogVGhpcyBjYWxsIGFjdHMgYXMgYSBmdWxsIGNvbXBpbGVyIGFu ZCBoYXJkd2FyZSBtZW1vcnkgYmFycmllci4KKyAgKgorKyAqIFdoaWxlIEBhdG9taWMgaGFzIGEg YHZvbGF0aWxlYCBxdWFsaWZpZXIsIHRoaXMgaXMgYSBoaXN0b3JpY2FsIGFydGlmYWN0IGFuZAor KyAqIHRoZSBwb2ludGVyIHBhc3NlZCB0byBpdCBzaG91bGQgbm90IGJlIGB2b2xhdGlsZWAuCisr ICoKKyAgKiBSZXR1cm5zOiB0aGUgdmFsdWUgb2YgQGF0b21pYyBiZWZvcmUgdGhlIGFkZCwgc2ln bmVkCisgICoKKyAgKiBTaW5jZTogMi4zMAorQEAgLTQwMyw2ICs0NDIsOSBAQCBnc3NpemUKKyAg KgorICAqIFRoaXMgY2FsbCBhY3RzIGFzIGEgZnVsbCBjb21waWxlciBhbmQgaGFyZHdhcmUgbWVt b3J5IGJhcnJpZXIuCisgICoKKysgKiBXaGlsZSBAYXRvbWljIGhhcyBhIGB2b2xhdGlsZWAgcXVh bGlmaWVyLCB0aGlzIGlzIGEgaGlzdG9yaWNhbCBhcnRpZmFjdCBhbmQKKysgKiB0aGUgcG9pbnRl ciBwYXNzZWQgdG8gaXQgc2hvdWxkIG5vdCBiZSBgdm9sYXRpbGVgLgorKyAqCisgICogUmV0dXJu czogdGhlIHZhbHVlIG9mIEBhdG9taWMgYmVmb3JlIHRoZSBvcGVyYXRpb24sIHVuc2lnbmVkCisg ICoKKyAgKiBTaW5jZTogMi4zMAorQEAgLTQyNyw2ICs0NjksOSBAQCBnc2l6ZQorICAqCisgICog VGhpcyBjYWxsIGFjdHMgYXMgYSBmdWxsIGNvbXBpbGVyIGFuZCBoYXJkd2FyZSBtZW1vcnkgYmFy cmllci4KKyAgKgorKyAqIFdoaWxlIEBhdG9taWMgaGFzIGEgYHZvbGF0aWxlYCBxdWFsaWZpZXIs IHRoaXMgaXMgYSBoaXN0b3JpY2FsIGFydGlmYWN0IGFuZAorKyAqIHRoZSBwb2ludGVyIHBhc3Nl ZCB0byBpdCBzaG91bGQgbm90IGJlIGB2b2xhdGlsZWAuCisrICoKKyAgKiBSZXR1cm5zOiB0aGUg dmFsdWUgb2YgQGF0b21pYyBiZWZvcmUgdGhlIG9wZXJhdGlvbiwgdW5zaWduZWQKKyAgKgorICAq IFNpbmNlOiAyLjMwCitAQCAtNDUxLDYgKzQ5Niw5IEBAIGdzaXplCisgICoKKyAgKiBUaGlzIGNh bGwgYWN0cyBhcyBhIGZ1bGwgY29tcGlsZXIgYW5kIGhhcmR3YXJlIG1lbW9yeSBiYXJyaWVyLgor ICAqCisrICogV2hpbGUgQGF0b21pYyBoYXMgYSBgdm9sYXRpbGVgIHF1YWxpZmllciwgdGhpcyBp cyBhIGhpc3RvcmljYWwgYXJ0aWZhY3QgYW5kCisrICogdGhlIHBvaW50ZXIgcGFzc2VkIHRvIGl0 IHNob3VsZCBub3QgYmUgYHZvbGF0aWxlYC4KKysgKgorICAqIFJldHVybnM6IHRoZSB2YWx1ZSBv ZiBAYXRvbWljIGJlZm9yZSB0aGUgb3BlcmF0aW9uLCB1bnNpZ25lZAorICAqCisgICogU2luY2U6 IDIuMzAKK2RpZmYgLS1naXQgYS9nbGliL2d0aHJlYWQuYyBiL2dsaWIvZ3RocmVhZC5jCitpbmRl eCA2MTJhOTczOWYuLjI5MjE2ZDdmZCAxMDA2NDQKKy0tLSBhL2dsaWIvZ3RocmVhZC5jCisrKysg Yi9nbGliL2d0aHJlYWQuYworQEAgLTY4Niw2ICs2ODYsOSBAQCBnX29uY2VfaW1wbCAoR09uY2Ug ICAgICAgKm9uY2UsCisgICogICAvLyB1c2UgaW5pdGlhbGl6YXRpb25fdmFsdWUgaGVyZQorICAq IF18CisgICoKKysgKiBXaGlsZSBAbG9jYXRpb24gaGFzIGEgYHZvbGF0aWxlYCBxdWFsaWZpZXIs IHRoaXMgaXMgYSBoaXN0b3JpY2FsIGFydGlmYWN0IGFuZAorKyAqIHRoZSBwb2ludGVyIHBhc3Nl ZCB0byBpdCBzaG91bGQgbm90IGJlIGB2b2xhdGlsZWAuCisrICoKKyAgKiBSZXR1cm5zOiAlVFJV RSBpZiB0aGUgaW5pdGlhbGl6YXRpb24gc2VjdGlvbiBzaG91bGQgYmUgZW50ZXJlZCwKKyAgKiAg ICAgJUZBTFNFIGFuZCBibG9ja3Mgb3RoZXJ3aXNlCisgICoKK0BAIC03MjUsNiArNzI4LDkgQEAg Z2Jvb2xlYW4KKyAgKiByZWxlYXNlcyBjb25jdXJyZW50IHRocmVhZHMgYmxvY2tpbmcgaW4gZ19v bmNlX2luaXRfZW50ZXIoKSBvbiB0aGlzCisgICogaW5pdGlhbGl6YXRpb24gdmFyaWFibGUuCisg ICoKKysgKiBXaGlsZSBAbG9jYXRpb24gaGFzIGEgYHZvbGF0aWxlYCBxdWFsaWZpZXIsIHRoaXMg aXMgYSBoaXN0b3JpY2FsIGFydGlmYWN0IGFuZAorKyAqIHRoZSBwb2ludGVyIHBhc3NlZCB0byBp dCBzaG91bGQgbm90IGJlIGB2b2xhdGlsZWAuCisrICoKKyAgKiBTaW5jZTogMi4xNAorICAqLwor IHZvaWQKKy0tIAorR2l0TGFiCisKCmRpZmYgLS1naXQgYS9nbGliMi5zcGVjIGIvZ2xpYjIuc3Bl YwppbmRleCA2NDllOTMxLi4xOGY4MWJlIDEwMDY0NAotLS0gYS9nbGliMi5zcGVjCisrKyBiL2ds aWIyLnNwZWMKQEAgLTEsNiArMSw2IEBACiBOYW1lOiBnbGliMgogVmVyc2lvbjogMi42Ny4wCi1S ZWxlYXNlOiA0JXs/ZGlzdH0KK1JlbGVhc2U6IDUlez9kaXN0fQogU3VtbWFyeTogQSBsaWJyYXJ5 IG9mIGhhbmR5IHV0aWxpdHkgZnVuY3Rpb25zCiAKIExpY2Vuc2U6IExHUEx2MisKQEAgLTE0LDYg KzE0LDEwIEBAIFBhdGNoMDogZ251dGxzLWhtYWMucGF0Y2gKICMgaHR0cHM6Ly9naXRsYWIuZ25v bWUub3JnL0dOT01FL2dsaWIvLS9tZXJnZV9yZXF1ZXN0cy8xNzI4CiBQYXRjaDE6IDE3MjgucGF0 Y2gKIAorIyBnY2MgMTEgc3VwcG9ydDogRml4IGludmFsaWQgdXNlIG9mIHZvbGF0aWxlIG9iamVj dHMKKyMgaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dsaWIvLS9tZXJnZV9yZXF1ZXN0 cy8xNzE5CitQYXRjaDI6IDE3MTkucGF0Y2gKKwogIyBGb3IgZ251dGxzLWhtYWMucGF0Y2gKIEJ1 aWxkUmVxdWlyZXM6IHBrZ2NvbmZpZyhnbnV0bHMpCiAKQEAgLTIzOCw2ICsyNDIsMTAgQEAgZ2xp Yi1jb21waWxlLXNjaGVtYXMgJXtfZGF0YWRpcn0vZ2xpYi0yLjAvc2NoZW1hcyAmPiAvZGV2L251 bGwgfHwgOgogJXtfZGF0YWRpcn0vaW5zdGFsbGVkLXRlc3RzCiAKICVjaGFuZ2Vsb2cKKyogVHVl IE5vdiAyNCAyMDIwIEthbGV2IExlbWJlciA8a2xlbWJlckByZWRoYXQuY29tPiAtIDIuNjcuMC01 CistIEJhY2twb3J0IHVwc3RyZWFtIHBhdGNoZXMgdG8gZml4IGludmFsaWQgdXNlIG9mIHZvbGF0 aWxlIG9iamVjdHMKKyAgKGdjYyAxMSBzdXBwb3J0KQorCiAqIFdlZCBOb3YgMTEgMjAyMCBNaWNo YWVsIENhdGFuemFybyA8bWNhdGFuemFyb0ByZWRoYXQuY29tPiAtIDIuNjcuMC00CiAtIE1ha2Ug R251VExTIHBhdGNoIFJIRUwtc3BlY2lmaWMsIGFuZCBtYWtlIGdsaWIyLXN0YXRpYyBzdWJwYWNr YWdlIEZlZG9yYS1zcGVjaWZpYwogCg==