ZGlmZiAtLWdpdCBhL3NyYy9NYWtlX2JjMy5tYWsgYi9zcmMvTWFrZV9iYzMubWFrCmluZGV4IDIwN2I4NjEuLjIwYTliMWYgMTAwNjQ0Ci0tLSBhL3NyYy9NYWtlX2JjMy5tYWsKKysrIGIvc3JjL01ha2VfYmMzLm1hawpAQCAtODAsNiArODAsNyBAQAogCW5vcm1hbC5vYmogXAogCW9wcy5vYmogXAogCW9wdGlvbi5vYmogXAorCXBvcHVwbWVudS5vYmogXAogCXF1aWNrZml4Lm9iaiBcCiAJcmVnZXhwLm9iaiBcCiAJc2NyZWVuLm9iaiBcCmRpZmYgLS1naXQgYS9zcmMvTWFrZV9jeWcubWFrIGIvc3JjL01ha2VfY3lnLm1hawppbmRleCA4ODBmMjkyLi41ODc5ZjFkIDEwMDY0NAotLS0gYS9zcmMvTWFrZV9jeWcubWFrCisrKyBiL3NyYy9NYWtlX2N5Zy5tYWsKQEAgLTEsNiArMSw2IEBACiAjCiAjIE1ha2VmaWxlIGZvciBWSU0gb24gV2luMzIsIHVzaW5nIEN5Z251cyBnY2MKLSMgTGFzdCB1cGRhdGVkIGJ5IERhbiBTaGFycC4gIExhc3QgQ2hhbmdlOiAyMDA1IEp1bCAyMworIyBMYXN0IHVwZGF0ZWQgYnkgRGFuIFNoYXJwLiAgTGFzdCBDaGFuZ2U6IDIwMDUgT2N0IDAxCiAjCiAjIEFsc28gcmVhZCBJTlNUQUxMcGMudHh0IQogIwpAQCAtNDIxLDYgKzQyMSw3IEBACiAJJChPVVRESVIpL29zX3dpbjMyLm8gXAogCSQoT1VURElSKS9vc19tc3dpbi5vIFwKIAkkKE9VVERJUikvcGF0aGRlZi5vIFwKKwkkKE9VVERJUikvcG9wdXBtZW51Lm8gXAogCSQoT1VURElSKS9xdWlja2ZpeC5vIFwKIAkkKE9VVERJUikvcmVnZXhwLm8gXAogCSQoT1VURElSKS9zY3JlZW4ubyBcCmRpZmYgLS1naXQgYS9zcmMvTWFrZV9kaWNlLm1hayBiL3NyYy9NYWtlX2RpY2UubWFrCmluZGV4IGZlNzRmNTIuLmI0ZTE3MDkgMTAwNjQ0Ci0tLSBhL3NyYy9NYWtlX2RpY2UubWFrCisrKyBiL3NyYy9NYWtlX2RpY2UubWFrCkBAIC01Niw2ICs1Niw3IEBACiAJb3BzLmMgXAogCW9wdGlvbi5jIFwKIAlvc19hbWlnYS5jIFwKKwlwb3B1cG1lbnUuYyBcCiAJcXVpY2tmaXguYyBcCiAJcmVnZXhwLmMgXAogCXNjcmVlbi5jIFwKQEAgLTk5LDYgKzEwMCw3IEBACiAJby9vcHMubyBcCiAJby9vcHRpb24ubyBcCiAJby9vc19hbWlnYS5vIFwKKwlvL3BvcHVwbWVudS5vIFwKIAlvL3F1aWNrZml4Lm8gXAogCW8vcmVnZXhwLm8gXAogCW8vc2NyZWVuLm8gXApAQCAtMTk2LDYgKzE5OCw4IEBACiAKIG8vb3NfYW1pZ2EubzoJb3NfYW1pZ2EuYyAgJChTWU1TKSBvc19hbWlnYS5oCiAKK28vcG9wdXBtZW51Lm86CXBvcHVwbWVudS5jICAkKFNZTVMpCisKIG8vcXVpY2tmaXgubzoJcXVpY2tmaXguYyAgJChTWU1TKQogCiBvL3JlZ2V4cC5vOglyZWdleHAuYyAgJChTWU1TKSByZWdleHAuaApkaWZmIC0tZ2l0IGEvc3JjL01ha2VfbWFueC5tYWsgYi9zcmMvTWFrZV9tYW54Lm1hawppbmRleCA1MmI5ZTQ4Li40NmMwMDE1IDEwMDY0NAotLS0gYS9zcmMvTWFrZV9tYW54Lm1haworKysgYi9zcmMvTWFrZV9tYW54Lm1hawpAQCAtNjQsNiArNjQsNyBAQAogCW9wcy5jIFwKIAlvcHRpb24uYyBcCiAJb3NfYW1pZ2EuYyBcCisJcG9wdXBtZW51LmMgXAogCXF1aWNrZml4LmMgXAogCXJlZ2V4cC5jIFwKIAlzY3JlZW4uYyBcCkBAIC0xMDksNiArMTEwLDcgQEAKIAlvYmovb3BzLm8gXAogCW9iai9vcHRpb24ubyBcCiAJb2JqL29zX2FtaWdhLm8gXAorCW9iai9wb3B1cG1lbnUubyBcCiAJb2JqL3F1aWNrZml4Lm8gXAogCW9iai9yZWdleHAubyBcCiAJb2JqL3NjcmVlbi5vIFwKQEAgLTE1Miw2ICsxNTQsNyBAQAogCXByb3RvL29wcy5wcm8gXAogCXByb3RvL29wdGlvbi5wcm8gXAogCXByb3RvL29zX2FtaWdhLnBybyBcCisJcHJvdG8vcG9wdXBtZW51LnBybyBcCiAJcHJvdG8vcXVpY2tmaXgucHJvIFwKIAlwcm90by9yZWdleHAucHJvIFwKIAlwcm90by9zY3JlZW4ucHJvIFwKQEAgLTMwMyw2ICszMDYsOSBAQAogb2JqL29zX2FtaWdhLm86CW9zX2FtaWdhLmMKIAkkKENDU1lNKSAkQCBvc19hbWlnYS5jCiAKK29iai9wb3B1cG1lbnUubzoJcG9wdXBtZW51LmMKKwkkKENDU1lNKSAkQCBwb3B1cG1lbnUuYworCiBvYmovcXVpY2tmaXgubzoJcXVpY2tmaXguYwogCSQoQ0NTWU0pICRAIHF1aWNrZml4LmMKIApkaWZmIC0tZ2l0IGEvc3JjL01ha2VfbWluZy5tYWsgYi9zcmMvTWFrZV9taW5nLm1hawppbmRleCA5ZDc4ZGE1Li43YjYwMWNjIDEwMDY0NAotLS0gYS9zcmMvTWFrZV9taW5nLm1haworKysgYi9zcmMvTWFrZV9taW5nLm1hawpAQCAtMzg5LDYgKzM4OSw3IEBACiAJJChPVVRESVIpL29zX3dpbjMyLm8gXAogCSQoT1VURElSKS9vc19tc3dpbi5vIFwKIAkkKE9VVERJUikvcGF0aGRlZi5vIFwKKwkkKE9VVERJUikvcG9wdXBtZW51Lm8gXAogCSQoT1VURElSKS9xdWlja2ZpeC5vIFwKIAkkKE9VVERJUikvcmVnZXhwLm8gXAogCSQoT1VURElSKS9zY3JlZW4ubyBcCmRpZmYgLS1naXQgYS9zcmMvTWFrZV9tcHcubWFrIGIvc3JjL01ha2VfbXB3Lm1hawppbmRleCA1YmU3MDNhLi41OTU1YTYwIDEwMDY0NAotLS0gYS9zcmMvTWFrZV9tcHcubWFrCisrKyBiL3NyYy9NYWtlX21wdy5tYWsKQEAgLTUyLDYgKzUyLDcgQEAKIAkJCQkgIDpzcmM6b3B0aW9uLmMgtgogCQkJCSAgOnNyYzpvc19tYWMuYyC2CiAJCQkJICA6c3JjOnB0eS5jILYKKwkJCQkgIDpzcmM6cG9wdXBtZW51LmMgtgogCQkJCSAgOnNyYzpxdWlja2ZpeC5jILYKIAkJCQkgIDpzcmM6cmVnZXhwLmMgtgogCQkJCSAgOnNyYzpzY3JlZW4uYyC2CkBAIC0xMDUsNiArMTA2LDcgQEAKIAkJCQkgICJ7T2JqRGlyfW9wdGlvbi5jLngiILYKIAkJCQkgICJ7T2JqRGlyfW9zX21hYy5jLngiILYKIAkJCQkgICJ7T2JqRGlyfXB0eS5jLngiILYKKwkJCQkgICJ7T2JqRGlyfXBvcHVwbWVudS5jLngiILYKIAkJCQkgICJ7T2JqRGlyfXF1aWNrZml4LmMueCIgtgogCQkJCSAgIntPYmpEaXJ9cmVnZXhwLmMueCIgtgogCQkJCSAgIntPYmpEaXJ9c2NyZWVuLmMueCIgtgpAQCAtMTg5LDYgKzE5MSw3IEBACiAie09iakRpcn1vcHRpb24uYy54IiAgxCAgOnNyYzpvcHRpb24uYwogIntPYmpEaXJ9b3NfbWFjLmMueCIgIMQgIDpzcmM6b3NfbWFjLmMKICJ7T2JqRGlyfXB0eS5jLngiICDEICA6c3JjOnB0eS5jCisie09iakRpcn1wb3B1cG1lbnUuYy54IiAgxCAgOnNyYzpwb3B1cG1lbnUuYwogIntPYmpEaXJ9cXVpY2tmaXguYy54IiAgxCAgOnNyYzpxdWlja2ZpeC5jCiAie09iakRpcn1yZWdleHAuYy54IiAgxCAgOnNyYzpyZWdleHAuYwogIntPYmpEaXJ9c2NyZWVuLmMueCIgIMQgIDpzcmM6c2NyZWVuLmMKQEAgLTI3Niw2ICsyNzksNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTM1OSw2ICszNjMsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTQ0Miw2ICs0NDcsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTUyNSw2ICs1MzEsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTYwOCw2ICs2MTUsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTY5Miw2ICs3MDAsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTc3NSw2ICs3ODQsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTg1OCw2ICs4NjgsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTk0MSw2ICs5NTIsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTEwMjQsNiArMTAzNiw3IEBACiAJOnNyYzpwcm90bzpub3JtYWwucHJvILYKIAk6c3JjOnByb3RvOm9wcy5wcm8gtgogCTpzcmM6cHJvdG86b3B0aW9uLnBybyC2CisJOnNyYzpwcm90bzpwb3B1cG1lbnUucHJvILYKIAk6c3JjOnByb3RvOnF1aWNrZml4LnBybyC2CiAJOnNyYzpwcm90bzpyZWdleHAucHJvILYKIAk6c3JjOnByb3RvOnNjcmVlbi5wcm8gtgpAQCAtMTEwNyw2ICsxMTIwLDcgQEAKIAk6c3JjOnByb3RvOm5vcm1hbC5wcm8gtgogCTpzcmM6cHJvdG86b3BzLnBybyC2CiAJOnNyYzpwcm90bzpvcHRpb24ucHJvILYKKwk6c3JjOnByb3RvOnBvcHVwbWVudS5wcm8gtgogCTpzcmM6cHJvdG86cXVpY2tmaXgucHJvILYKIAk6c3JjOnByb3RvOnJlZ2V4cC5wcm8gtgogCTpzcmM6cHJvdG86c2NyZWVuLnBybyC2CkBAIC0xMTkwLDYgKzEyMDQsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTEyNzMsNiArMTI4OCw3IEBACiAJOnNyYzpwcm90bzpub3JtYWwucHJvILYKIAk6c3JjOnByb3RvOm9wcy5wcm8gtgogCTpzcmM6cHJvdG86b3B0aW9uLnBybyC2CisJOnNyYzpwcm90bzpwb3B1cG1lbnUucHJvILYKIAk6c3JjOnByb3RvOnF1aWNrZml4LnBybyC2CiAJOnNyYzpwcm90bzpyZWdleHAucHJvILYKIAk6c3JjOnByb3RvOnNjcmVlbi5wcm8gtgpAQCAtMTM1NCw2ICsxMzcwLDcgQEAKIAk6c3JjOnByb3RvOm5vcm1hbC5wcm8gtgogCTpzcmM6cHJvdG86b3BzLnBybyC2CiAJOnNyYzpwcm90bzpvcHRpb24ucHJvILYKKwk6c3JjOnByb3RvOnBvcHVwbWVudS5wcm8gtgogCTpzcmM6cHJvdG86cXVpY2tmaXgucHJvILYKIAk6c3JjOnByb3RvOnJlZ2V4cC5wcm8gtgogCTpzcmM6cHJvdG86c2NyZWVuLnBybyC2CkBAIC0xNDM3LDYgKzE0NTQsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTE1MjAsNiArMTUzOCw3IEBACiAJOnNyYzpwcm90bzpub3JtYWwucHJvILYKIAk6c3JjOnByb3RvOm9wcy5wcm8gtgogCTpzcmM6cHJvdG86b3B0aW9uLnBybyC2CisJOnNyYzpwcm90bzpwb3B1cG1lbnUucHJvILYKIAk6c3JjOnByb3RvOnF1aWNrZml4LnBybyC2CiAJOnNyYzpwcm90bzpyZWdleHAucHJvILYKIAk6c3JjOnByb3RvOnNjcmVlbi5wcm8gtgpAQCAtMTYwMyw2ICsxNjIyLDcgQEAKIAk6c3JjOnByb3RvOm5vcm1hbC5wcm8gtgogCTpzcmM6cHJvdG86b3BzLnBybyC2CiAJOnNyYzpwcm90bzpvcHRpb24ucHJvILYKKwk6c3JjOnByb3RvOnBvcHVwbWVudS5wcm8gtgogCTpzcmM6cHJvdG86cXVpY2tmaXgucHJvILYKIAk6c3JjOnByb3RvOnJlZ2V4cC5wcm8gtgogCTpzcmM6cHJvdG86c2NyZWVuLnBybyC2CkBAIC0xNjg2LDYgKzE3MDYsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTE3OTUsNiArMTgxNiw3IEBACiAJOnNyYzpwcm90bzpub3JtYWwucHJvILYKIAk6c3JjOnByb3RvOm9wcy5wcm8gtgogCTpzcmM6cHJvdG86b3B0aW9uLnBybyC2CisJOnNyYzpwcm90bzpwb3B1cG1lbnUucHJvILYKIAk6c3JjOnByb3RvOnF1aWNrZml4LnBybyC2CiAJOnNyYzpwcm90bzpyZWdleHAucHJvILYKIAk6c3JjOnByb3RvOnNjcmVlbi5wcm8gtgpAQCAtMTg3OSw2ICsxOTAxLDcgQEAKIAk6c3JjOnByb3RvOm5vcm1hbC5wcm8gtgogCTpzcmM6cHJvdG86b3BzLnBybyC2CiAJOnNyYzpwcm90bzpvcHRpb24ucHJvILYKKwk6c3JjOnByb3RvOnBvcHVwbWVudS5wcm8gtgogCTpzcmM6cHJvdG86cXVpY2tmaXgucHJvILYKIAk6c3JjOnByb3RvOnJlZ2V4cC5wcm8gtgogCTpzcmM6cHJvdG86c2NyZWVuLnBybyC2CkBAIC0xOTYyLDYgKzE5ODUsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTIwNDUsNiArMjA2OSw3IEBACiAJOnNyYzpwcm90bzpub3JtYWwucHJvILYKIAk6c3JjOnByb3RvOm9wcy5wcm8gtgogCTpzcmM6cHJvdG86b3B0aW9uLnBybyC2CisJOnNyYzpwcm90bzpwb3B1cG1lbnUucHJvILYKIAk6c3JjOnByb3RvOnF1aWNrZml4LnBybyC2CiAJOnNyYzpwcm90bzpyZWdleHAucHJvILYKIAk6c3JjOnByb3RvOnNjcmVlbi5wcm8gtgpAQCAtMjEyOCw2ICsyMTUzLDcgQEAKIAk6c3JjOnByb3RvOm5vcm1hbC5wcm8gtgogCTpzcmM6cHJvdG86b3BzLnBybyC2CiAJOnNyYzpwcm90bzpvcHRpb24ucHJvILYKKwk6c3JjOnByb3RvOnBvcHVwbWVudS5wcm8gtgogCTpzcmM6cHJvdG86cXVpY2tmaXgucHJvILYKIAk6c3JjOnByb3RvOnJlZ2V4cC5wcm8gtgogCTpzcmM6cHJvdG86c2NyZWVuLnBybyC2CkBAIC0yMjExLDYgKzIyMzcsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTIyOTQsNiArMjMyMSw3IEBACiAJOnNyYzpwcm90bzpub3JtYWwucHJvILYKIAk6c3JjOnByb3RvOm9wcy5wcm8gtgogCTpzcmM6cHJvdG86b3B0aW9uLnBybyC2CisJOnNyYzpwcm90bzpwb3B1cG1lbnUucHJvILYKIAk6c3JjOnByb3RvOnF1aWNrZml4LnBybyC2CiAJOnNyYzpwcm90bzpyZWdleHAucHJvILYKIAk6c3JjOnByb3RvOnNjcmVlbi5wcm8gtgpAQCAtMjM3OCw2ICsyNDA2LDcgQEAKIAk6c3JjOnByb3RvOm5vcm1hbC5wcm8gtgogCTpzcmM6cHJvdG86b3BzLnBybyC2CiAJOnNyYzpwcm90bzpvcHRpb24ucHJvILYKKwk6c3JjOnByb3RvOnBvcHVwbWVudS5wcm8gtgogCTpzcmM6cHJvdG86cXVpY2tmaXgucHJvILYKIAk6c3JjOnByb3RvOnJlZ2V4cC5wcm8gtgogCTpzcmM6cHJvdG86c2NyZWVuLnBybyC2CkBAIC0yNDYxLDYgKzI0OTAsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTI1NDQsNiArMjU3NCw3IEBACiAJOnNyYzpwcm90bzpub3JtYWwucHJvILYKIAk6c3JjOnByb3RvOm9wcy5wcm8gtgogCTpzcmM6cHJvdG86b3B0aW9uLnBybyC2CisJOnNyYzpwcm90bzpwb3B1cG1lbnUucHJvILYKIAk6c3JjOnByb3RvOnF1aWNrZml4LnBybyC2CiAJOnNyYzpwcm90bzpyZWdleHAucHJvILYKIAk6c3JjOnByb3RvOnNjcmVlbi5wcm8gtgpAQCAtMjYyNyw2ICsyNjU4LDcgQEAKIAk6c3JjOnByb3RvOm5vcm1hbC5wcm8gtgogCTpzcmM6cHJvdG86b3BzLnBybyC2CiAJOnNyYzpwcm90bzpvcHRpb24ucHJvILYKKwk6c3JjOnByb3RvOnBvcHVwbWVudS5wcm8gtgogCTpzcmM6cHJvdG86cXVpY2tmaXgucHJvILYKIAk6c3JjOnByb3RvOnJlZ2V4cC5wcm8gtgogCTpzcmM6cHJvdG86c2NyZWVuLnBybyC2CkBAIC0yNzEwLDYgKzI3NDIsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTI3OTMsNiArMjgyNiw3IEBACiAJOnNyYzpwcm90bzpub3JtYWwucHJvILYKIAk6c3JjOnByb3RvOm9wcy5wcm8gtgogCTpzcmM6cHJvdG86b3B0aW9uLnBybyC2CisJOnNyYzpwcm90bzpwb3B1cG1lbnUucHJvILYKIAk6c3JjOnByb3RvOnF1aWNrZml4LnBybyC2CiAJOnNyYzpwcm90bzpyZWdleHAucHJvILYKIAk6c3JjOnByb3RvOnNjcmVlbi5wcm8gtgpAQCAtMjg3Niw2ICsyOTEwLDcgQEAKIAk6c3JjOnByb3RvOm5vcm1hbC5wcm8gtgogCTpzcmM6cHJvdG86b3BzLnBybyC2CiAJOnNyYzpwcm90bzpvcHRpb24ucHJvILYKKwk6c3JjOnByb3RvOnBvcHVwbWVudS5wcm8gtgogCTpzcmM6cHJvdG86cXVpY2tmaXgucHJvILYKIAk6c3JjOnByb3RvOnJlZ2V4cC5wcm8gtgogCTpzcmM6cHJvdG86c2NyZWVuLnBybyC2CkBAIC0yOTU5LDYgKzI5OTQsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTMwNDIsNiArMzA3OCw5MSBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CisJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgorCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CisJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKKwk6c3JjOnByb3RvOnNlYXJjaC5wcm8gtgorCTpzcmM6cHJvdG86c3BlbGwucHJvILYKKwk6c3JjOnByb3RvOnN5bnRheC5wcm8gtgorCTpzcmM6cHJvdG86dGFnLnBybyC2CisJOnNyYzpwcm90bzp0ZXJtLnBybyC2CisJOnNyYzpwcm90bzp0ZXJtbGliLnBybyC2CisJOnNyYzpwcm90bzp1aS5wcm8gtgorCTpzcmM6cHJvdG86dW5kby5wcm8gtgorCTpzcmM6cHJvdG86dmVyc2lvbi5wcm8gtgorCTpzcmM6cHJvdG86d2luZG93LnBybyC2CisJOnNyYzpwcm90bzppZl9weXRob24ucHJvILYKKwk6c3JjOnByb3RvOmlmX3RjbC5wcm8gtgorCTpzcmM6cHJvdG86aWZfcnVieS5wcm8gtgorCTpzcmM6cHJvdG86Z3VpLnBybyC2CisJOnNyYzpwcm90bzpwdHkucHJvILYKKwk6c3JjOnByb3RvOmd1aV9ndGsucHJvILYKKwk6c3JjOnByb3RvOmd1aV9ndGtfeDExLnBybyC2CisJOnNyYzpwcm90bzpndWlfbW90aWYucHJvILYKKwk6c3JjOnByb3RvOmd1aV9hdGhlbmEucHJvILYKKwk6c3JjOnByb3RvOmd1aV9tYWMucHJvILYKKwk6c3JjOnByb3RvOmd1aV94MTEucHJvILYKKwk6c3JjOnByb3RvOndvcmtzaG9wLnBybyC2CisJOnNyYzpwcm90bzppZl9wZXJsLnBybyC2CisJOnNyYzpwcm90bzppZl9wZXJsc2Zpby5wcm8KKworOm9iajpwb3B1cG1lbnUuYy54CcQgILYKKwk6c3JjOnBvcHVwbWVudS5jILYKKwk6c3JjOnZpbS5oILYKKwk6c3JjOmF1dG86Y29uZmlnLmggtgorCTpzcmM6ZmVhdHVyZS5oILYKKwk6c3JjOm9zX3VuaXguaCC2CisJOnNyYzpvc19tYWMuaCC2CisJOnNyYzp3b3Jrc2hvcC5oILYKKwk6c3JjOmFzY2lpLmggtgorCTpzcmM6a2V5bWFwLmggtgorCTpzcmM6dGVybS5oILYKKwk6c3JjOm1hY3Jvcy5oILYKKwk6c3JjOnN0cnVjdHMuaCC2CisJOnNyYzpnbG9iYWxzLmggtgorCTpzcmM6b3B0aW9uLmggtgorCTpzcmM6ZXhfY21kcy5oILYKKwk6c3JjOnByb3RvLmggtgorCTpzcmM6aW50ZWdyYXRpb24uaCC2CisJOnNyYzp3c2RlYnVnLmggtgorCTpzcmM6cmVnZXhwLmggtgorCTpzcmM6Z3VpLmggtgorCTpzcmM6ZmFyc2kuaCC2CisJOnNyYzpwcm90bzpvc191bml4LnBybyC2CisJOnNyYzpwcm90bzpvc19tYWMucHJvILYKKwk6c3JjOnByb3RvOmJ1ZmZlci5wcm8gtgorCTpzcmM6cHJvdG86Y2hhcnNldC5wcm8gtgorCTpzcmM6cHJvdG86aWZfY3Njb3BlLnBybyC2CisJOnNyYzpwcm90bzpkaWZmLnBybyC2CisJOnNyYzpwcm90bzpkaWdyYXBoLnBybyC2CisJOnNyYzpwcm90bzplZGl0LnBybyC2CisJOnNyYzpwcm90bzpldmFsLnBybyC2CisJOnNyYzpwcm90bzpleF9jbWRzLnBybyC2CisJOnNyYzpwcm90bzpleF9jbWRzMi5wcm8gtgorCTpzcmM6cHJvdG86ZXhfZG9jbWQucHJvILYKKwk6c3JjOnByb3RvOmV4X2V2YWwucHJvILYKKwk6c3JjOnByb3RvOmV4X2dldGxuLnBybyC2CisJOnNyYzpwcm90bzpmaWxlaW8ucHJvILYKKwk6c3JjOnByb3RvOmZvbGQucHJvILYKKwk6c3JjOnByb3RvOmdldGNoYXIucHJvILYKKwk6c3JjOnByb3RvOmhhcmRjb3B5LnBybyC2CisJOnNyYzpwcm90bzpoYXNodGFibGUucHJvILYKKwk6c3JjOnByb3RvOmhhbmd1bGluLnBybyC2CisJOnNyYzpwcm90bzptYWluLnBybyC2CisJOnNyYzpwcm90bzptYXJrLnBybyC2CisJOnNyYzpwcm90bzptZW1maWxlLnBybyC2CisJOnNyYzpwcm90bzptZW1saW5lLnBybyC2CisJOnNyYzpwcm90bzptZW51LnBybyC2CisJOnNyYzpwcm90bzptZXNzYWdlLnBybyC2CisJOnNyYzpwcm90bzptaXNjMS5wcm8gtgorCTpzcmM6cHJvdG86bWlzYzIucHJvILYKKwk6c3JjOnByb3RvOm1vdmUucHJvILYKKwk6c3JjOnByb3RvOm11bHRpYnl0ZS5wcm8gtgorCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CisJOnNyYzpwcm90bzpvcHMucHJvILYKKwk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTMxMjUsNiArMzI0Niw3IEBACiAJOnNyYzpwcm90bzpub3JtYWwucHJvILYKIAk6c3JjOnByb3RvOm9wcy5wcm8gtgogCTpzcmM6cHJvdG86b3B0aW9uLnBybyC2CisJOnNyYzpwcm90bzpwb3B1cG1lbnUucHJvILYKIAk6c3JjOnByb3RvOnF1aWNrZml4LnBybyC2CiAJOnNyYzpwcm90bzpyZWdleHAucHJvILYKIAk6c3JjOnByb3RvOnNjcmVlbi5wcm8gtgpAQCAtMzIwOCw2ICszMzMwLDcgQEAKIAk6c3JjOnByb3RvOm5vcm1hbC5wcm8gtgogCTpzcmM6cHJvdG86b3BzLnBybyC2CiAJOnNyYzpwcm90bzpvcHRpb24ucHJvILYKKwk6c3JjOnByb3RvOnBvcHVwbWVudS5wcm8gtgogCTpzcmM6cHJvdG86cXVpY2tmaXgucHJvILYKIAk6c3JjOnByb3RvOnJlZ2V4cC5wcm8gtgogCTpzcmM6cHJvdG86c2NyZWVuLnBybyC2CkBAIC0zMjkxLDYgKzM0MTQsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTMzNzQsNiArMzQ5OCw3IEBACiAJOnNyYzpwcm90bzpub3JtYWwucHJvILYKIAk6c3JjOnByb3RvOm9wcy5wcm8gtgogCTpzcmM6cHJvdG86b3B0aW9uLnBybyC2CisJOnNyYzpwcm90bzpwb3B1cG1lbnUucHJvILYKIAk6c3JjOnByb3RvOnF1aWNrZml4LnBybyC2CiAJOnNyYzpwcm90bzpyZWdleHAucHJvILYKIAk6c3JjOnByb3RvOnNjcmVlbi5wcm8gtgpAQCAtMzQ1Nyw2ICszNTgyLDcgQEAKIAk6c3JjOnByb3RvOm5vcm1hbC5wcm8gtgogCTpzcmM6cHJvdG86b3BzLnBybyC2CiAJOnNyYzpwcm90bzpvcHRpb24ucHJvILYKKwk6c3JjOnByb3RvOnBvcHVwbWVudS5wcm8gtgogCTpzcmM6cHJvdG86cXVpY2tmaXgucHJvILYKIAk6c3JjOnByb3RvOnJlZ2V4cC5wcm8gtgogCTpzcmM6cHJvdG86c2NyZWVuLnBybyC2CkBAIC0zNTQwLDYgKzM2NjYsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTM2MjMsNiArMzc1MCw3IEBACiAJOnNyYzpwcm90bzpub3JtYWwucHJvILYKIAk6c3JjOnByb3RvOm9wcy5wcm8gtgogCTpzcmM6cHJvdG86b3B0aW9uLnBybyC2CisJOnNyYzpwcm90bzpwb3B1cG1lbnUucHJvILYKIAk6c3JjOnByb3RvOnF1aWNrZml4LnBybyC2CiAJOnNyYzpwcm90bzpyZWdleHAucHJvILYKIAk6c3JjOnByb3RvOnNjcmVlbi5wcm8gtgpAQCAtMzcwNiw2ICszODM0LDcgQEAKIAk6c3JjOnByb3RvOm5vcm1hbC5wcm8gtgogCTpzcmM6cHJvdG86b3BzLnBybyC2CiAJOnNyYzpwcm90bzpvcHRpb24ucHJvILYKKwk6c3JjOnByb3RvOnBvcHVwbWVudS5wcm8gtgogCTpzcmM6cHJvdG86cXVpY2tmaXgucHJvILYKIAk6c3JjOnByb3RvOnJlZ2V4cC5wcm8gtgogCTpzcmM6cHJvdG86c2NyZWVuLnBybyC2CkBAIC0zNzkwLDYgKzM5MTksNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTM4NzIsNiArNDAwMiw3IEBACiAJOnNyYzpwcm90bzpub3JtYWwucHJvILYKIAk6c3JjOnByb3RvOm9wcy5wcm8gtgogCTpzcmM6cHJvdG86b3B0aW9uLnBybyC2CisJOnNyYzpwcm90bzpwb3B1cG1lbnUucHJvILYKIAk6c3JjOnByb3RvOnF1aWNrZml4LnBybyC2CiAJOnNyYzpwcm90bzpyZWdleHAucHJvILYKIAk6c3JjOnByb3RvOnNjcmVlbi5wcm8gtgpAQCAtMzk1NSw2ICs0MDg2LDcgQEAKIAk6c3JjOnByb3RvOm5vcm1hbC5wcm8gtgogCTpzcmM6cHJvdG86b3BzLnBybyC2CiAJOnNyYzpwcm90bzpvcHRpb24ucHJvILYKKwk6c3JjOnByb3RvOnBvcHVwbWVudS5wcm8gtgogCTpzcmM6cHJvdG86cXVpY2tmaXgucHJvILYKIAk6c3JjOnByb3RvOnJlZ2V4cC5wcm8gtgogCTpzcmM6cHJvdG86c2NyZWVuLnBybyC2CkBAIC00MDM5LDYgKzQxNzEsNyBAQAogCTpzcmM6cHJvdG86bm9ybWFsLnBybyC2CiAJOnNyYzpwcm90bzpvcHMucHJvILYKIAk6c3JjOnByb3RvOm9wdGlvbi5wcm8gtgorCTpzcmM6cHJvdG86cG9wdXBtZW51LnBybyC2CiAJOnNyYzpwcm90bzpxdWlja2ZpeC5wcm8gtgogCTpzcmM6cHJvdG86cmVnZXhwLnBybyC2CiAJOnNyYzpwcm90bzpzY3JlZW4ucHJvILYKQEAgLTQxMjIsNiArNDI1NSw3IEBACiAJOnNyYzpwcm90bzpub3JtYWwucHJvILYKIAk6c3JjOnByb3RvOm9wcy5wcm8gtgogCTpzcmM6cHJvdG86b3B0aW9uLnBybyC2CisJOnNyYzpwcm90bzpwb3B1cG1lbnUucHJvILYKIAk6c3JjOnByb3RvOnF1aWNrZml4LnBybyC2CiAJOnNyYzpwcm90bzpyZWdleHAucHJvILYKIAk6c3JjOnByb3RvOnNjcmVlbi5wcm8gtgpAQCAtNDIwNSw2ICs0MzM5LDcgQEAKIAk6c3JjOnByb3RvOm5vcm1hbC5wcm8gtgogCTpzcmM6cHJvdG86b3BzLnBybyC2CiAJOnNyYzpwcm90bzpvcHRpb24ucHJvILYKKwk6c3JjOnByb3RvOnBvcHVwbWVudS5wcm8gtgogCTpzcmM6cHJvdG86cXVpY2tmaXgucHJvILYKIAk6c3JjOnByb3RvOnJlZ2V4cC5wcm8gtgogCTpzcmM6cHJvdG86c2NyZWVuLnBybyC2CmRpZmYgLS1naXQgYS9zcmMvTWFrZV9vczIubWFrIGIvc3JjL01ha2Vfb3MyLm1hawppbmRleCAyYzRjZGFmLi4xYTY0YzExIDEwMDY0NAotLS0gYS9zcmMvTWFrZV9vczIubWFrCisrKyBiL3NyYy9NYWtlX29zMi5tYWsKQEAgLTY4LDYgKzY4LDcgQEAKIAlub3JtYWwubyBcCiAJb3BzLm8gXAogCW9wdGlvbi5vIFwKKwlwb3B1cG1lbnUubyBcCiAJcXVpY2tmaXgubyBcCiAJcmVnZXhwLm8gXAogCXNjcmVlbi5vIFwKQEAgLTE0MCw2ICsxNDEsNyBAQAogbm9ybWFsLm86CW5vcm1hbC5jICAkKElOQ0wpCiBvcHMubzoJCW9wcy5jICAkKElOQ0wpCiBvcHRpb24ubzoJb3B0aW9uLmMgICQoSU5DTCkKK3BvcHVwbWVudS5vOglwb3B1cG1lbnUuYyAgJChJTkNMKQogcXVpY2tmaXgubzoJcXVpY2tmaXguYyAgJChJTkNMKQogcmVnZXhwLm86CXJlZ2V4cC5jICAkKElOQ0wpCiBzY3JlZW4ubzoJc2NyZWVuLmMgICQoSU5DTCkKZGlmZiAtLWdpdCBhL3NyYy9NYWtlX3JvLm1hayBiL3NyYy9NYWtlX3JvLm1hawppbmRleCAzOGU2MzI0Li4xNTc3NDA5IDEwMDY0NAotLS0gYS9zcmMvTWFrZV9yby5tYWsKKysrIGIvc3JjL01ha2Vfcm8ubWFrCkBAIC0xNSw3ICsxNSw4IEBACiAJby5leF9kb2NtZCBvLmV4X2V2YWwgby5leF9nZXRsbiBvLmZpbGVpbyBvLmZvbGQgby5nZXRjaGFyIFwKIAlvLmhhcmRjb3B5IG8uaGFzaHRhYmxlIG8ubWFpbiBvLm1hcmsgby5tYnl0ZSAgXAogCW8ubWVtZmlsZSBvLm1lbWxpbmUgby5tZW51IG8ubWVzc2FnZSBvLm1pc2MxIG8ubWlzYzIgby5tb3ZlICAgICBcCi0Jby5ub3JtYWwgby5vcHMgby5vcHRpb24gby5xdWlja2ZpeCBvLnJlZ2V4cCBvLnNjcmVlbiBvLnNlYXJjaCAgIFwKKwlvLm5vcm1hbCBvLm9wcyBvLm9wdGlvbiBvLnBvcHVwbWVudSBvLnF1aWNrZml4IG8ucmVnZXhwIG8uc2NyZWVuIFwKKwlvLnNlYXJjaCAgIFwKIAlvLnNwZWxsIG8uc3ludGF4IG8udGFnIG8udGVybSBvLnRlcm1saWIgby51aSBvLnVuZG8gby52ZXJzaW9uCVwKIAlvLndpbmRvdyBvLm9zX3Jpc2NvcyBvLnN3aXMgby5ndWkgby5ndWlfcmlzY29zCiAKQEAgLTEwNCw2ICsxMDUsOCBAQAogCiBvLnB0eToJCWMucHR5CiAKK28ucG9wdXBtZW51OgljLnBvcHVwbWVudQorCiBvLnF1aWNrZml4OgljLnF1aWNrZml4CiAKIG8ucmVnZXhwOgljLnJlZ2V4cApkaWZmIC0tZ2l0IGEvc3JjL01ha2Vfc2FzLm1hayBiL3NyYy9NYWtlX3Nhcy5tYWsKaW5kZXggNDg0ZjU2Mi4uOWNhYWRkMCAxMDA2NDQKLS0tIGEvc3JjL01ha2Vfc2FzLm1haworKysgYi9zcmMvTWFrZV9zYXMubWFrCkBAIC0xMTksNiArMTE5LDcgQEAKIAlvcHMuYyBcCiAJb3B0aW9uLmMgXAogCW9zX2FtaWdhLmMgXAorCXBvcHVwbWVudS5jIFwKIAlxdWlja2ZpeC5jIFwKIAlyZWdleHAuYyBcCiAJc2NyZWVuLmMgXApAQCAtMTYzLDYgKzE2NCw3IEBACiAJb3BzLm8gXAogCW9wdGlvbi5vIFwKIAlvc19hbWlnYS5vIFwKKwlwb3B1cG1lbnUubyBcCiAJcXVpY2tmaXgubyBcCiAJcmVnZXhwLm8gXAogCXNjcmVlbi5vIFwKQEAgLTIwNyw2ICsyMDksNyBAQAogCXByb3RvL29wcy5wcm8gXAogCXByb3RvL29wdGlvbi5wcm8gXAogCXByb3RvL29zX2FtaWdhLnBybyBcCisJcHJvdG8vcG9wdXBtZW51LnBybyBcCiAJcHJvdG8vcXVpY2tmaXgucHJvIFwKIAlwcm90by9yZWdleHAucHJvIFwKIAlwcm90by9zY3JlZW4ucHJvIFwKQEAgLTMzNSw2ICszMzgsOCBAQAogcHJvdG8vb3B0aW9uLnBybzoJb3B0aW9uLmMKIG9zX2FtaWdhLm86CQlvc19hbWlnYS5jCiBwcm90by9vc19hbWlnYS5wcm86CW9zX2FtaWdhLmMKK3BvcHVwbWVudS5vOgkJcG9wdXBtZW51LmMKK3Byb3RvL3BvcHVwbWVudS5wcm86CXBvcHVwbWVudS5jCiBxdWlja2ZpeC5vOgkJcXVpY2tmaXguYwogcHJvdG8vcXVpY2tmaXgucHJvOglxdWlja2ZpeC5jCiByZWdleHAubzoJCXJlZ2V4cC5jCmRpZmYgLS1naXQgYS9zcmMvTWFrZV93MTYubWFrIGIvc3JjL01ha2VfdzE2Lm1hawppbmRleCA0MmQxNTQ3Li41OThkNzJlIDEwMDY0NAotLS0gYS9zcmMvTWFrZV93MTYubWFrCisrKyBiL3NyYy9NYWtlX3cxNi5tYWsKQEAgLTEwNyw2ICsxMDcsNyBAQAogICAgJChJTlRESVIpXG9zX3dpbjE2Lm9ialwKICAgICQoSU5URElSKVxvc19tc2Rvcy5vYmpcCiAgICAkKElOVERJUilcb3NfbXN3aW4ub2JqXAorICAgJChJTlRESVIpXHBvcHVwbWVudS5vYmpcCiAgICAkKElOVERJUilccXVpY2tmaXgub2JqXAogICAgJChJTlRESVIpXHJlZ2V4cC5vYmpcCiAgICAkKElOVERJUilcc2NyZWVuLm9ialwKZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZSBiL3NyYy9NYWtlZmlsZQppbmRleCAwMzQwZjc5Li45MmNjYWZiIDEwMDY0NAotLS0gYS9zcmMvTWFrZWZpbGUKKysrIGIvc3JjL01ha2VmaWxlCkBAIC0xMzcxLDYgKzEzNzEsNyBAQAogCW9wdGlvbi5jIFwKIAlvc191bml4LmMgXAogCWF1dG8vcGF0aGRlZi5jIFwKKwlwb3B1cG1lbnUuYyBcCiAJcXVpY2tmaXguYyBcCiAJcmVnZXhwLmMgXAogCXNjcmVlbi5jIFwKQEAgLTE0NDEsNiArMTQ0Miw3IEBACiAJb2JqZWN0cy9vcHRpb24ubyBcCiAJb2JqZWN0cy9vc191bml4Lm8gXAogCW9iamVjdHMvcGF0aGRlZi5vIFwKKwlvYmplY3RzL3BvcHVwbWVudS5vIFwKIAlvYmplY3RzL3F1aWNrZml4Lm8gXAogCW9iamVjdHMvcmVnZXhwLm8gXAogCW9iamVjdHMvc2NyZWVuLm8gXApAQCAtMTUwMCw2ICsxNTAyLDcgQEAKIAlvcHMucHJvIFwKIAlvcHRpb24ucHJvIFwKIAlvc191bml4LnBybyBcCisJcG9wdXBtZW51LnBybyBcCiAJcXVpY2tmaXgucHJvIFwKIAlyZWdleHAucHJvIFwKIAlzY3JlZW4ucHJvIFwKQEAgLTE2MTEsMTQgKzE2MTQsMTkgQEAKICMgR2VuZXJhdGUgdGhlIGNvbnZlcnRlZCAubW8gZmlsZXMgc2VwYXJhdGVseSwgaXQncyBubyBwcm9ibGVtIGlmIHRoaXMgZmFpbHMuCiBsYW5ndWFnZXM6CiAJQGlmIHRlc3QgLW4gIiQoTUFLRU1PKSIgLWEgLWYgJChQT0RJUikvTWFrZWZpbGU7IHRoZW4gXAorCQkkKE1BS0UpIGxhbmd1YWdlLWNoZWNrOyBcCiAJCWNkICQoUE9ESVIpOyBcCi0JCUNDPSIkKENDKSIgJChNQUtFKSBjaGVjazsgXAogCQlDQz0iJChDQykiICQoTUFLRSkgcHJlZml4PSQoREVTVERJUikkKHByZWZpeCk7IFwKIAlmaQogCS1AaWYgdGVzdCAtbiAiJChNQUtFTU8pIiAtYSAtZiAkKFBPRElSKS9NYWtlZmlsZTsgdGhlbiBcCiAJCWNkICQoUE9ESVIpOyBDQz0iJChDQykiICQoTUFLRSkgcHJlZml4PSQoREVTVERJUikkKHByZWZpeCkgY29udmVydGVkOyBcCiAJZmkKIAorIyBTZXBhcmF0ZSB0YXJnZXQgdG8gY2hlY2sgdGhlIHBvIGZpbGVzIGZvciB2YWxpdGlkeSwgYmVjYXVzZSBpdCBkZXBlbmRzIG9uCisjIC4vdmltLgorbGFuZ3VhZ2UtY2hlY2s6ICQoVklNVEFSR0VUKQorCWNkICQoUE9ESVIpOyAkKE1BS0UpIGNoZWNrIFZJTT0uLi8kKFZJTVRBUkdFVCkKKwogIyBVcGRhdGUgdGhlICoucG8gZmlsZXMgZm9yIGNoYW5nZXMgaW4gdGhlIHNvdXJjZXMuICBPbmx5IHJ1biBtYW51YWxseS4KIHVwZGF0ZS1wbzoKIAljZCAkKFBPRElSKTsgQ0M9IiQoQ0MpIiAkKE1BS0UpIHByZWZpeD0kKERFU1RESVIpJChwcmVmaXgpIHVwZGF0ZS1wbwpAQCAtMjQ1Nyw2ICsyNDY1LDkgQEAKIG9iamVjdHMvcHR5Lm86IHB0eS5jCiAJJChDQ0MpIC1vICRAIHB0eS5jCiAKK29iamVjdHMvcG9wdXBtZW51Lm86IHBvcHVwbWVudS5jCisJJChDQ0MpIC1vICRAIHBvcHVwbWVudS5jCisKIG9iamVjdHMvcXVpY2tmaXgubzogcXVpY2tmaXguYwogCSQoQ0NDKSAtbyAkQCBxdWlja2ZpeC5jCiAKZGlmZiAtLWdpdCBhL3NyYy9lZGl0LmMgYi9zcmMvZWRpdC5jCmluZGV4IGU0MzcwZmMuLjE0MGMxN2YgMTAwNjQ0Ci0tLSBhL3NyYy9lZGl0LmMKKysrIGIvc3JjL2VkaXQuYwpAQCAtMTA5LDEwICsxMDksMTQgQEAKIHN0YXRpYyBpbnQgIGhhc19jb21wbF9vcHRpb24gX19BUkdTKChpbnQgZGljdF9vcHQpKTsKIHN0YXRpYyB2b2lkIGluc19jb21wbF9hZGRfbWF0Y2hlcyBfX0FSR1MoKGludCBudW1fbWF0Y2hlcywgY2hhcl91ICoqbWF0Y2hlcywgaW50IGRpcikpOwogc3RhdGljIGludCAgaW5zX2NvbXBsX21ha2VfY3ljbGljIF9fQVJHUygodm9pZCkpOworc3RhdGljIHZvaWQgaW5zX2NvbXBsX3VwZF9wdW0gX19BUkdTKCh2b2lkKSk7CitzdGF0aWMgdm9pZCBpbnNfY29tcGxfZGVsX3B1bSBfX0FSR1MoKHZvaWQpKTsKK3N0YXRpYyBpbnQgcHVtX3dhbnRlZCBfX0FSR1MoKHZvaWQpKTsKK3N0YXRpYyB2b2lkIGluc19jb21wbF9zaG93X3B1bSBfX0FSR1MoKHZvaWQpKTsKIHN0YXRpYyB2b2lkIGluc19jb21wbF9kaWN0aW9uYXJpZXMgX19BUkdTKChjaGFyX3UgKmRpY3QsIGNoYXJfdSAqcGF0LCBpbnQgZGlyLCBpbnQgZmxhZ3MsIGludCB0aGVzYXVydXMpKTsKIHN0YXRpYyB2b2lkIGluc19jb21wbF9mcmVlIF9fQVJHUygodm9pZCkpOwogc3RhdGljIHZvaWQgaW5zX2NvbXBsX2NsZWFyIF9fQVJHUygodm9pZCkpOwotc3RhdGljIHZvaWQgaW5zX2NvbXBsX3ByZXAgX19BUkdTKChpbnQgYykpOworc3RhdGljIGludCAgaW5zX2NvbXBsX3ByZXAgX19BUkdTKChpbnQgYykpOwogc3RhdGljIGJ1Zl9UICppbnNfY29tcGxfbmV4dF9idWYgX19BUkdTKChidWZfVCAqYnVmLCBpbnQgZmxhZykpOwogc3RhdGljIGludCAgaW5zX2NvbXBsX2dldF9leHAgX19BUkdTKChwb3NfVCAqaW5pLCBpbnQgZGlyKSk7CiBzdGF0aWMgdm9pZCBpbnNfY29tcGxfZGVsZXRlIF9fQVJHUygodm9pZCkpOwpAQCAtNjU5LDEwICs2NjMsMTkgQEAKICNlbmRpZgogCiAjaWZkZWYgRkVBVF9JTlNfRVhQQU5ECisJLyogV2hlbiB0aGUgcG9wdXAgbWVudSBpcyB2aXNpYmxlIGN1cnNvciBrZXlzIGNoYW5nZSB0aGUgc2VsZWN0aW9uLiAqLworCWlmIChjID09IEtfVVAgJiYgcHVtX3Zpc2libGUoKSkKKwkgICAgYyA9IEN0cmxfUDsKKwlpZiAoYyA9PSBLX0RPV04gJiYgcHVtX3Zpc2libGUoKSkKKwkgICAgYyA9IEN0cmxfTjsKKwogCS8qIFByZXBhcmUgZm9yIG9yIHN0b3AgQ1RSTC1YIG1vZGUuICBUaGlzIGRvZXNuJ3QgZG8gY29tcGxldGlvbiwgYnV0CiAJICogaXQgZG9lcyBmaXggdXAgdGhlIHRleHQgd2hlbiBmaW5pc2hpbmcgY29tcGxldGlvbi4gKi8KIAlpZiAoYyAhPSBLX0lHTk9SRSkKLQkgICAgaW5zX2NvbXBsX3ByZXAoYyk7CisJeworCSAgICBpZiAoaW5zX2NvbXBsX3ByZXAoYykpCisJCWNvbnRpbnVlOworCX0KICNlbmRpZgogCiAJLyogQ1RSTC1cIENUUkwtTiBnb2VzIHRvIE5vcm1hbCBtb2RlLApAQCAtMTk2OCw2ICsxOTgxLDkgQEAKIAl9IHdoaWxlIChtYXRjaCAhPSBOVUxMICYmIG1hdGNoICE9IGNvbXBsX2ZpcnN0X21hdGNoKTsKICAgICB9CiAKKyAgICAvKiBSZW1vdmUgYW55IHBvcHVwIG1lbnUgYmVmb3JlIGNoYW5naW5nIHRoZSBsaXN0IG9mIG1hdGNoZXMuICovCisgICAgaW5zX2NvbXBsX2RlbF9wdW0oKTsKKwogICAgIC8qCiAgICAgICogQWxsb2NhdGUgYSBuZXcgbWF0Y2ggc3RydWN0dXJlLgogICAgICAqIENvcHkgdGhlIHZhbHVlcyB0byB0aGUgbmV3IG1hdGNoIHN0cnVjdHVyZS4KQEAgLTIwNzMsNiArMjA4OSwxNTcgQEAKICAgICByZXR1cm4gY291bnQ7CiB9CiAKK3N0YXRpYyBjaGFyX3UgKipjb21wbF9tYXRjaF9hcnJheSA9IE5VTEw7CitzdGF0aWMgaW50IGNvbXBsX21hdGNoX2FycmF5c2l6ZTsKKworLyoKKyAqIFVwZGF0ZSB0aGUgc2NyZWVuIGFuZCB3aGVuIHRoZXJlIGlzIGFueSBzY3JvbGxpbmcgcmVtb3ZlIHRoZSBwb3B1cCBtZW51LgorICovCisgICAgc3RhdGljIHZvaWQKK2luc19jb21wbF91cGRfcHVtKCkKK3sKKyAgICBpbnQJCWg7CisKKyAgICBpZiAoY29tcGxfbWF0Y2hfYXJyYXkgIT0gTlVMTCkKKyAgICB7CisJaCA9IGN1cndpbi0+d19jbGluZV9oZWlnaHQ7CisJdXBkYXRlX3NjcmVlbigwKTsKKwlpZiAoaCAhPSBjdXJ3aW4tPndfY2xpbmVfaGVpZ2h0KQorCSAgICBpbnNfY29tcGxfZGVsX3B1bSgpOworICAgIH0KK30KKworLyoKKyAqIFJlbW92ZSBhbnkgcG9wdXAgbWVudS4KKyAqLworICAgIHN0YXRpYyB2b2lkCitpbnNfY29tcGxfZGVsX3B1bSgpCit7CisgICAgaWYgKGNvbXBsX21hdGNoX2FycmF5ICE9IE5VTEwpCisgICAgeworCXB1bV91bmRpc3BsYXkoKTsKKwl2aW1fZnJlZShjb21wbF9tYXRjaF9hcnJheSk7CisJY29tcGxfbWF0Y2hfYXJyYXkgPSBOVUxMOworICAgIH0KK30KKworLyoKKyAqIFJldHVybiBUUlVFIGlmIHRoZSBwb3B1cCBtZW51IHNob3VsZCBiZSBkaXNwbGF5ZWQuCisgKi8KKyAgICBzdGF0aWMgaW50CitwdW1fd2FudGVkKCkKK3sKKyAgICBjb21wbF9UICAgICAqY29tcGw7CisgICAgaW50CQlpOworCisgICAgLyogJ2NvbXBsZXRlb3B0JyBtdXN0IGNvbnRhaW4gIm1lbnUiICovCisgICAgaWYgKCpwX2NvdCA9PSBOVUwpCisJcmV0dXJuIEZBTFNFOworCisgICAgLyogVGhlIGRpc3BsYXkgbG9va3MgYmFkIG9uIGEgQiZXIGRpc3BsYXkuICovCisgICAgaWYgKHRfY29sb3JzIDwgOAorI2lmZGVmIEZFQVRfR1VJCisJICAgICYmICFndWkuaW5fdXNlCisjZW5kaWYKKwkgICAgKQorCXJldHVybiBGQUxTRTsKKworICAgIC8qIERvbid0IGRpc3BsYXkgdGhlIHBvcHVwIG1lbnUgaWYgdGhlcmUgYXJlIG5vIG1hdGNoZXMgb3IgdGhlcmUgaXMgb25seQorICAgICAqIG9uZSAoaWdub3JpbmcgdGhlIG9yaWdpbmFsIHRleHQpLiAqLworICAgIGNvbXBsID0gY29tcGxfZmlyc3RfbWF0Y2g7CisgICAgaSA9IDA7CisgICAgZG8KKyAgICB7CisJaWYgKGNvbXBsID09IE5VTEwKKwkJICAgICAgfHwgKChjb21wbC0+Y3BfZmxhZ3MgJiBPUklHSU5BTF9URVhUKSA9PSAwICYmICsraSA9PSAyKSkKKwkgICAgYnJlYWs7CisJY29tcGwgPSBjb21wbC0+Y3BfbmV4dDsKKyAgICB9IHdoaWxlIChjb21wbCAhPSBjb21wbF9maXJzdF9tYXRjaCk7CisKKyAgICByZXR1cm4gKGkgPj0gMik7Cit9CisKKy8qCisgKiBTaG93IHRoZSBwb3B1cCBtZW51IGZvciB0aGUgbGlzdCBvZiBtYXRjaGVzLgorICovCisgICAgc3RhdGljIHZvaWQKK2luc19jb21wbF9zaG93X3B1bSgpCit7CisgICAgY29tcGxfVCAgICAgKmNvbXBsOworICAgIGludAkJaTsKKyAgICBpbnQJCWN1ciA9IC0xOworICAgIGNvbG5yX1QJY29sOworCisgICAgaWYgKCFwdW1fd2FudGVkKCkpCisJcmV0dXJuOworCisgICAgLyogVXBkYXRlIHRoZSBzY3JlZW4gYmVmb3JlIGRyYXdpbmcgdGhlIHBvcHVwIG1lbnUgb3ZlciBpdC4gKi8KKyAgICB1cGRhdGVfc2NyZWVuKDApOworCisgICAgaWYgKGNvbXBsX21hdGNoX2FycmF5ID09IE5VTEwpCisgICAgeworCS8qIE5lZWQgdG8gYnVpbGQgdGhlIHBvcHVwIG1lbnUgbGlzdC4gKi8KKwljb21wbF9tYXRjaF9hcnJheXNpemUgPSAwOworCWNvbXBsID0gY29tcGxfZmlyc3RfbWF0Y2g7CisJZG8KKwl7CisJICAgIGlmICgoY29tcGwtPmNwX2ZsYWdzICYgT1JJR0lOQUxfVEVYVCkgPT0gMCkKKwkJKytjb21wbF9tYXRjaF9hcnJheXNpemU7CisJICAgIGNvbXBsID0gY29tcGwtPmNwX25leHQ7CisJfSB3aGlsZSAoY29tcGwgIT0gTlVMTCAmJiBjb21wbCAhPSBjb21wbF9maXJzdF9tYXRjaCk7CisJY29tcGxfbWF0Y2hfYXJyYXkgPSAoY2hhcl91ICoqKWFsbG9jKCh1bnNpZ25lZCkoc2l6ZW9mKGNoYXJfdSAqKikKKwkJCQkJCSAgICAqIGNvbXBsX21hdGNoX2FycmF5c2l6ZSkpOworCWlmIChjb21wbF9tYXRjaF9hcnJheSAhPSBOVUxMKQorCXsKKwkgICAgaSA9IDA7CisJICAgIGNvbXBsID0gY29tcGxfZmlyc3RfbWF0Y2g7CisJICAgIGRvCisJICAgIHsKKwkJaWYgKChjb21wbC0+Y3BfZmxhZ3MgJiBPUklHSU5BTF9URVhUKSA9PSAwKQorCQl7CisJCSAgICBpZiAoY29tcGwgPT0gY29tcGxfc2hvd25fbWF0Y2gpCisJCQljdXIgPSBpOworCQkgICAgY29tcGxfbWF0Y2hfYXJyYXlbaSsrXSA9IGNvbXBsLT5jcF9zdHI7CisJCX0KKwkJY29tcGwgPSBjb21wbC0+Y3BfbmV4dDsKKwkgICAgfSB3aGlsZSAoY29tcGwgIT0gTlVMTCAmJiBjb21wbCAhPSBjb21wbF9maXJzdF9tYXRjaCk7CisJfQorICAgIH0KKyAgICBlbHNlCisgICAgeworCS8qIHBvcHVwIG1lbnUgYWxyZWFkeSBleGlzdHMsIG9ubHkgbmVlZCB0byBmaW5kIHRoZSBjdXJyZW50IGl0ZW0uKi8KKwlpID0gMDsKKwljb21wbCA9IGNvbXBsX2ZpcnN0X21hdGNoOworCWRvCisJeworCSAgICBpZiAoKGNvbXBsLT5jcF9mbGFncyAmIE9SSUdJTkFMX1RFWFQpID09IDApCisJICAgIHsKKwkJaWYgKGNvbXBsID09IGNvbXBsX3Nob3duX21hdGNoKQorCQl7CisJCSAgICBjdXIgPSBpOworCQkgICAgYnJlYWs7CisJCX0KKwkJKytpOworCSAgICB9CisJICAgIGNvbXBsID0gY29tcGwtPmNwX25leHQ7CisJfSB3aGlsZSAoY29tcGwgIT0gTlVMTCAmJiBjb21wbCAhPSBjb21wbF9maXJzdF9tYXRjaCk7CisgICAgfQorCisgICAgaWYgKGNvbXBsX21hdGNoX2FycmF5ICE9IE5VTEwpCisgICAgeworCS8qIENvbXB1dGUgdGhlIHNjcmVlbiBjb2x1bW4gb2YgdGhlIHN0YXJ0IG9mIHRoZSBjb21wbGV0ZWQgdGV4dC4KKwkgKiBVc2UgdGhlIGN1cnNvciB0byBnZXQgYWxsIHdyYXBwaW5nIGFuZCBvdGhlciBzZXR0aW5ncyByaWdodC4gKi8KKwljb2wgPSBjdXJ3aW4tPndfY3Vyc29yLmNvbDsKKwljdXJ3aW4tPndfY3Vyc29yLmNvbCA9IGNvbXBsX2NvbDsKKwl2YWxpZGF0ZV9jdXJzb3JfY29sKCk7CisJcHVtX2Rpc3BsYXkoY29tcGxfbWF0Y2hfYXJyYXksIGNvbXBsX21hdGNoX2FycmF5c2l6ZSwgY3VyLAorCQkgIGN1cndpbi0+d19jbGluZV9yb3cgKyBXX1dJTlJPVyhjdXJ3aW4pLAorCQkgIGN1cndpbi0+d19jbGluZV9oZWlnaHQsCisJCSAgY3Vyd2luLT53X3djb2wgKyBXX1dJTkNPTChjdXJ3aW4pKTsKKwljdXJ3aW4tPndfY3Vyc29yLmNvbCA9IGNvbDsKKyAgICB9Cit9CisKICNkZWZpbmUgRElDVF9GSVJTVAkoMSkJLyogdXNlIGp1c3QgZmlyc3QgZWxlbWVudCBpbiAiZGljdCIgKi8KICNkZWZpbmUgRElDVF9FWEFDVAkoMikJLyogImRpY3QiIGlzIHRoZSBleGFjdCBuYW1lIG9mIGEgZmlsZSAqLwogLyoKQEAgLTIyNzcsNiArMjQ0NCwxMCBAQAogCiAgICAgaWYgKGNvbXBsX2ZpcnN0X21hdGNoID09IE5VTEwpCiAJcmV0dXJuOworCisgICAgaW5zX2NvbXBsX2RlbF9wdW0oKTsKKyAgICBwdW1fY2xlYXIoKTsKKwogICAgIGNvbXBsX2N1cnJfbWF0Y2ggPSBjb21wbF9maXJzdF9tYXRjaDsKICAgICBkbwogICAgIHsKQEAgLTIzMDYsMTQgKzI0NzcsMTYgQEAKIC8qCiAgKiBQcmVwYXJlIGZvciBJbnNlcnQgbW9kZSBjb21wbGV0aW9uLCBvciBzdG9wIGl0LgogICogQ2FsbGVkIGp1c3QgYWZ0ZXIgdHlwaW5nIGEgY2hhcmFjdGVyIGluIEluc2VydCBtb2RlLgorICogUmV0dXJucyBUUlVFIHdoZW4gdGhlIGNoYXJhY3RlciBpcyBub3QgdG8gYmUgaW5zZXJ0ZWQ7CiAgKi8KLSAgICBzdGF0aWMgdm9pZAorICAgIHN0YXRpYyBpbnQKIGluc19jb21wbF9wcmVwKGMpCiAgICAgaW50CSAgICBjOwogewogICAgIGNoYXJfdQkqcHRyOwogICAgIGludAkJdGVtcDsKICAgICBpbnQJCXdhbnRfY2luZGVudDsKKyAgICBpbnQJCXJldHZhbCA9IEZBTFNFOwogCiAgICAgLyogRm9yZ2V0IGFueSBwcmV2aW91cyAnc3BlY2lhbCcgbWVzc2FnZXMgaWYgdGhpcyBpcyBhY3R1YWxseQogICAgICAqIGEgXlggbW9kZSBrZXkgLSBiYXIgXlIsIGluIHdoaWNoIGNhc2Ugd2Ugd2FpdCB0byBzZWUgd2hhdCBpdCBnaXZlcyB1cy4KQEAgLTIzMjMsNyArMjQ5Niw3IEBACiAKICAgICAvKiBJZ25vcmUgZW5kIG9mIFNlbGVjdCBtb2RlIG1hcHBpbmcgKi8KICAgICBpZiAoYyA9PSBLX1NFTEVDVCkKLQlyZXR1cm47CisJcmV0dXJuIHJldHZhbDsKIAogICAgIGlmIChjdHJsX3hfbW9kZSA9PSBDVFJMX1hfTk9UX0RFRklORURfWUVUKQogICAgIHsKQEAgLTI1MDQsNiArMjY3NywxMSBAQAogCiAJICAgIGF1dG9fZm9ybWF0KEZBTFNFLCBUUlVFKTsKIAorCSAgICAvKiBpZiB0aGUgcG9wdXAgbWVudSBpcyBkaXNwbGF5ZWQgaGl0dGluZyBFbnRlciBtZWFucyBhY2NlcHRpbmcKKwkgICAgICogdGhlIHNlbGVjdGlvbiB3aXRob3V0IGluc2VydGluZyBhbnl0aGluZy4gKi8KKwkgICAgaWYgKChjID09IENBUiB8fCBjID09IEtfS0VOVEVSIHx8IGMgPT0gTkwpICYmIHB1bV92aXNpYmxlKCkpCisJCXJldHZhbCA9IFRSVUU7CisKIAkgICAgaW5zX2NvbXBsX2ZyZWUoKTsKIAkgICAgY29tcGxfc3RhcnRlZCA9IEZBTFNFOwogCSAgICBjb21wbF9tYXRjaGVzID0gMDsKQEAgLTI1MzQsNiArMjcxMiw4IEBACiAJY29tcGxfY29udF9zdGF0dXMgPSAwOwogCWNvbXBsX2NvbnRfbW9kZSA9IDA7CiAgICAgfQorCisgICAgcmV0dXJuIHJldHZhbDsKIH0KIAogLyoKQEAgLTI4OTAsOCArMzA3MCw4IEBACiAJICAgIHsKIAkJaW50CWZsYWdzID0gMDsKIAotCQkvKiBjdHJsX3hfbW9kZSA9PSBDVFJMX1hfV0hPTEVfTElORSB8fCB3b3JkLXdpc2Ugc2VhcmNoIHRoYXQgaGFzCi0JCSAqIGFkZGVkIGEgd29yZCB0aGF0IHdhcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaW5lICovCisJCS8qIGN0cmxfeF9tb2RlID09IENUUkxfWF9XSE9MRV9MSU5FIHx8IHdvcmQtd2lzZSBzZWFyY2ggdGhhdAorCQkgKiBoYXMgYWRkZWQgYSB3b3JkIHRoYXQgd2FzIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpbmUgKi8KIAkJaWYgKAljdHJsX3hfbW9kZSA9PSBDVFJMX1hfV0hPTEVfTElORQogCQkJfHwgKGNvbXBsX2NvbnRfc3RhdHVzICYgQ09OVF9TT0wpKQogCQkgICAgZm91bmRfbmV3X21hdGNoID0gc2VhcmNoX2Zvcl9leGFjdF9saW5lKGluc19idWYsIHBvcywKQEAgLTI5OTksNyArMzE3OSw3IEBACiAJCSAgICB9CiAJCX0KIAkJaWYgKGluc19jb21wbF9hZGRfaW5mZXJjYXNlKHB0ciwgbGVuLAotCQkJICAgIGluc19idWYgPT0gY3VyYnVmID8gIE5VTEwgOiBpbnNfYnVmLT5iX3NmbmFtZSwKKwkJCQkgaW5zX2J1ZiA9PSBjdXJidWYgPyBOVUxMIDogaW5zX2J1Zi0+Yl9zZm5hbWUsCiAJCQkJCQkgICAgICAgZGlyLCBmbGFncykgIT0gTk9URE9ORSkKIAkJewogCQkgICAgZm91bmRfbmV3X21hdGNoID0gT0s7CkBAIC0zMDA5LDIyICszMTg5LDM1IEBACiAJICAgIHBfc2NzID0gc2F2ZV9wX3NjczsKIAkgICAgcF93cyA9IHNhdmVfcF93czsKIAl9CisKIAkvKiBjaGVjayBpZiBjb21wbF9jdXJyX21hdGNoIGhhcyBjaGFuZ2VkLCAoZS5nLiBvdGhlciB0eXBlIG9mCiAJICogZXhwYW5zaW9uIGFkZGVkIHNvbWVudGhpbmcpICovCi0JaWYgKGNvbXBsX2N1cnJfbWF0Y2ggIT0gb2xkX21hdGNoKQorCWlmICh0eXBlICE9IDAgJiYgY29tcGxfY3Vycl9tYXRjaCAhPSBvbGRfbWF0Y2gpCiAJICAgIGZvdW5kX25ld19tYXRjaCA9IE9LOwogCiAJLyogYnJlYWsgdGhlIGxvb3AgZm9yIHNwZWNpYWxpemVkIG1vZGVzICh1c2UgJ2NvbXBsZXRlJyBqdXN0IGZvciB0aGUKIAkgKiBnZW5lcmljIGN0cmxfeF9tb2RlID09IDApIG9yIHdoZW4gd2UndmUgZm91bmQgYSBuZXcgbWF0Y2ggKi8KIAlpZiAoKGN0cmxfeF9tb2RlICE9IDAgJiYgY3RybF94X21vZGUgIT0gQ1RSTF9YX1dIT0xFX0xJTkUpCiAJCQkJCQkgICB8fCBmb3VuZF9uZXdfbWF0Y2ggIT0gRkFJTCkKLQkgICAgYnJlYWs7CisJeworCSAgICBpZiAoZ290X2ludCkKKwkJYnJlYWs7CisJICAgIGlmIChwdW1fd2FudGVkKCkgJiYgdHlwZSAhPSAtMSkKKwkJLyogRmlsbCB0aGUgcG9wdXAgbWVudSBhcyBzb29uIGFzIHBvc3NpYmxlLiAqLworCQlpbnNfY29tcGxfY2hlY2tfa2V5cygwKTsKKwkgICAgaWYgKChjdHJsX3hfbW9kZSAhPSAwICYmIGN0cmxfeF9tb2RlICE9IENUUkxfWF9XSE9MRV9MSU5FKQorCQkJCQkJCSB8fCBjb21wbF9pbnRlcnJ1cHRlZCkKKwkJYnJlYWs7CisJICAgIGNvbXBsX3N0YXJ0ZWQgPSBUUlVFOworCX0KKwllbHNlCisJeworCSAgICAvKiBNYXJrIGEgYnVmZmVyIHNjYW5uZWQgd2hlbiBpdCBoYXMgYmVlbiBzY2FubmVkIGNvbXBsZXRlbHkgKi8KKwkgICAgaWYgKHR5cGUgPT0gMCB8fCB0eXBlID09IENUUkxfWF9QQVRIX1BBVFRFUk5TKQorCQlpbnNfYnVmLT5iX3NjYW5uZWQgPSBUUlVFOwogCi0JLyogTWFyayBhIGJ1ZmZlciBzY2FubmVkIHdoZW4gaXQgaGFzIGJlZW4gc2Nhbm5lZCBjb21wbGV0ZWx5ICovCi0JaWYgKHR5cGUgPT0gMCB8fCB0eXBlID09IENUUkxfWF9QQVRIX1BBVFRFUk5TKQotCSAgICBpbnNfYnVmLT5iX3NjYW5uZWQgPSBUUlVFOwotCi0JY29tcGxfc3RhcnRlZCA9IEZBTFNFOworCSAgICBjb21wbF9zdGFydGVkID0gRkFMU0U7CisJfQogICAgIH0KICAgICBjb21wbF9zdGFydGVkID0gVFJVRTsKIApAQCAtMzEwNiw4ICszMjk5LDcgQEAKIAljb21wbF9wZW5kaW5nID0gVFJVRTsKIAlpZiAoYWxsb3dfZ2V0X2V4cGFuc2lvbikKIAl7Ci0JICAgIG51bV9tYXRjaGVzID0gaW5zX2NvbXBsX2dldF9leHAoJmNvbXBsX3N0YXJ0cG9zLAotCQkJCQkJCSAgY29tcGxfZGlyZWN0aW9uKTsKKwkgICAgbnVtX21hdGNoZXMgPSBpbnNfY29tcGxfZ2V0X2V4cCgmY29tcGxfc3RhcnRwb3MsIGNvbXBsX2RpcmVjdGlvbik7CiAJICAgIGlmIChjb21wbF9wZW5kaW5nKQogCSAgICB7CiAJCWlmIChjb21wbF9kaXJlY3Rpb24gPT0gY29tcGxfc2hvd3NfZGlyKQpAQCAtMzEyMyw5ICszMzE1LDE1IEBACiAKICAgICBpZiAoIWFsbG93X2dldF9leHBhbnNpb24pCiAgICAgeworCS8qIG1heSB1bmRpc3BsYXkgdGhlIHBvcHVwIG1lbnUgZmlyc3QgKi8KKwlpbnNfY29tcGxfdXBkX3B1bSgpOworCiAJLyogRGlzcGxheSB0aGUgY3VycmVudCBtYXRjaC4gKi8KIAl1cGRhdGVfc2NyZWVuKDApOwogCisJLyogZGlzcGxheSB0aGUgdXBkYXRlZCBwb3B1cCBtZW51ICovCisJaW5zX2NvbXBsX3Nob3dfcHVtKCk7CisKIAkvKiBEZWxldGUgb2xkIHRleHQgdG8gYmUgcmVwbGFjZWQsIHNpbmNlIHdlJ3JlIHN0aWxsIHNlYXJjaGluZyBhbmQKIAkgKiBkb24ndCB3YW50IHRvIG1hdGNoIG91cnNlbHZlcyEgICovCiAJaW5zX2NvbXBsX2RlbGV0ZSgpOwpAQCAtMzU5Myw2ICszNzkxLDkgQEAKICAgICAgKi8KICAgICBuID0gaW5zX2NvbXBsX25leHQoVFJVRSk7CiAKKyAgICAvKiBtYXkgdW5kaXNwbGF5IHRoZSBwb3B1cCBtZW51ICovCisgICAgaW5zX2NvbXBsX3VwZF9wdW0oKTsKKwogICAgIGlmIChuID4gMSkJCS8qIGFsbCBtYXRjaGVzIGhhdmUgYmVlbiBmb3VuZCAqLwogCWNvbXBsX21hdGNoZXMgPSBuOwogICAgIGNvbXBsX2N1cnJfbWF0Y2ggPSBjb21wbF9zaG93bl9tYXRjaDsKQEAgLTM2NzEsOCArMzg3Miw4IEBACiAJCSAgICBpZiAobWF0Y2ggIT0gTlVMTCkKIAkJCS8qIGdvIHVwIGFuZCBhc3NpZ24gYWxsIG51bWJlcnMgd2hpY2ggYXJlIG5vdCBhc3NpZ25lZAogCQkJICogeWV0ICovCi0JCQlmb3IgKG1hdGNoID0gbWF0Y2gtPmNwX25leHQ7IG1hdGNoCi0JCQkJJiYgbWF0Y2gtPmNwX251bWJlciA9PSAtMTsKKwkJCWZvciAobWF0Y2ggPSBtYXRjaC0+Y3BfbmV4dDsKKwkJCQltYXRjaCAhPSBOVUxMICYmIG1hdGNoLT5jcF9udW1iZXIgPT0gLTE7CiAJCQkJCQkgICAgICAgbWF0Y2ggPSBtYXRjaC0+Y3BfbmV4dCkKIAkJCSAgICBtYXRjaC0+Y3BfbnVtYmVyID0gKytudW1iZXI7CiAJCX0KQEAgLTM2OTksOCArMzkwMCw4IEBACiAJCX0KIAkgICAgfQogCi0JICAgIC8qIFRoZSBtYXRjaCBzaG91bGQgYWx3YXlzIGhhdmUgYSBzZXF1bmNlIG51bWJlciBub3csIHRoaXMgaXMganVzdAotCSAgICAgKiBhIHNhZmV0eSBjaGVjay4gKi8KKwkgICAgLyogVGhlIG1hdGNoIHNob3VsZCBhbHdheXMgaGF2ZSBhIHNlcXVlbmNlIG51bWJlciBub3csIHRoaXMgaXMKKwkgICAgICoganVzdCBhIHNhZmV0eSBjaGVjay4gKi8KIAkgICAgaWYgKGNvbXBsX2N1cnJfbWF0Y2gtPmNwX251bWJlciAhPSAtMSkKIAkgICAgewogCQkvKiBTcGFjZSBmb3IgMTAgdGV4dCBjaGFycy4gKyAyeDEwLWRpZ2l0IG5vLnMgKi8KQEAgLTM3MzMsNiArMzkzNCw4IEBACiAgICAgZWxzZQogCW1zZ19jbHJfY21kbGluZSgpOwkvKiBuZWNlc3NhcnkgZm9yICJub3Nob3dtb2RlIiAqLwogCisgICAgaW5zX2NvbXBsX3Nob3dfcHVtKCk7CisKICAgICByZXR1cm4gT0s7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9leF9nZXRsbi5jIGIvc3JjL2V4X2dldGxuLmMKaW5kZXggMjc0ODkxNS4uZjkyMTQwYSAxMDA2NDQKLS0tIGEvc3JjL2V4X2dldGxuLmMKKysrIGIvc3JjL2V4X2dldGxuLmMKQEAgLTEyODksNyArMTI4OSw3IEBACiAJCWdvdG8gY21kbGluZV9ub3RfY2hhbmdlZDsKIAogCWNhc2UgS19WRVJfU0NST0xMQkFSOgotCQlpZiAoIW1zZ19zY3JvbGxlZCkKKwkJaWYgKG1zZ19zY3JvbGxlZCA9PSAwKQogCQl7CiAJCSAgICBndWlfZG9fc2Nyb2xsKCk7CiAJCSAgICByZWRyYXdjbWQoKTsKQEAgLTEyOTcsNyArMTI5Nyw3IEBACiAJCWdvdG8gY21kbGluZV9ub3RfY2hhbmdlZDsKIAogCWNhc2UgS19IT1JfU0NST0xMQkFSOgotCQlpZiAoIW1zZ19zY3JvbGxlZCkKKwkJaWYgKG1zZ19zY3JvbGxlZCA9PSAwKQogCQl7CiAJCSAgICBndWlfZG9faG9yaXpfc2Nyb2xsKCk7CiAJCSAgICByZWRyYXdjbWQoKTsKQEAgLTI4OTcsNyArMjg5Nyw3IEBACiAgICAgdm9pZAogY29tcHV0ZV9jbWRyb3coKQogewotICAgIGlmIChleG1vZGVfYWN0aXZlIHx8IG1zZ19zY3JvbGxlZCkKKyAgICBpZiAoZXhtb2RlX2FjdGl2ZSB8fCBtc2dfc2Nyb2xsZWQgIT0gMCkKIAljbWRsaW5lX3JvdyA9IFJvd3MgLSAxOwogICAgIGVsc2UKIAljbWRsaW5lX3JvdyA9IFdfV0lOUk9XKGxhc3R3aW4pICsgbGFzdHdpbi0+d19oZWlnaHQKZGlmZiAtLWdpdCBhL3NyYy9maWxlaW8uYyBiL3NyYy9maWxlaW8uYwppbmRleCBlNzQzMDYxLi5mMDBlMWVhIDEwMDY0NAotLS0gYS9zcmMvZmlsZWlvLmMKKysrIGIvc3JjL2ZpbGVpby5jCkBAIC0yMTkzLDcgKzIxOTMsNyBAQAogI2VuZGlmCiAJCXAgPSBtc2dfdHJ1bmNfYXR0cihJT2J1ZmYsIEZBTFNFLCAwKTsKIAkgICAgaWYgKHJlYWRfc3RkaW4gfHwgcmVhZF9idWZmZXIgfHwgcmVzdGFydF9lZGl0ICE9IDAKLQkJICAgIHx8IChtc2dfc2Nyb2xsZWQgJiYgIW5lZWRfd2FpdF9yZXR1cm4pKQorCQkgICAgfHwgKG1zZ19zY3JvbGxlZCAhPSAwICYmICFuZWVkX3dhaXRfcmV0dXJuKSkKIAkgICAgewogCQkvKiBOZWVkIHRvIHJlcGVhdCB0aGUgbWVzc2FnZSBhZnRlciByZWRyYXdpbmcgd2hlbjoKIAkJICogLSBXaGVuIHJlYWRpbmcgZnJvbSBzdGRpbiAodGhlIHNjcmVlbiB3aWxsIGJlIGNsZWFyZWQgbmV4dCkuCmRpZmYgLS1naXQgYS9zcmMvZ3VpLmMgYi9zcmMvZ3VpLmMKaW5kZXggOTEzNTk5Mi4uOTU2MTE5NSAxMDA2NDQKLS0tIGEvc3JjL2d1aS5jCisrKyBiL3NyYy9ndWkuYwpAQCAtMzQ5Miw3ICszNDkyLDcgQEAKIAkgICAgaW5zX2hvcnNjcm9sbCgpOwogCWVsc2UgaWYgKFN0YXRlICYgQ01ETElORSkKIAl7Ci0JICAgIGlmICghbXNnX3Njcm9sbGVkKQorCSAgICBpZiAobXNnX3Njcm9sbGVkID09IDApCiAJICAgIHsKIAkJZ3VpX2RvX2hvcml6X3Njcm9sbCgpOwogCQlyZWRyYXdjbWRsaW5lKCk7CmRpZmYgLS1naXQgYS9zcmMvb3B0aW9uLmMgYi9zcmMvb3B0aW9uLmMKaW5kZXggYjNjODBkNi4uNGQ3YTk1YiAxMDA2NDQKLS0tIGEvc3JjL29wdGlvbi5jCisrKyBiL3NyYy9vcHRpb24uYwpAQCAtNjU5LDYgKzY1OSwxNSBAQAogCQkJICAgIHsoY2hhcl91ICopMEwsIChjaGFyX3UgKikwTH0KICNlbmRpZgogCQkJICAgIH0sCisgICAgeyJjb21wbGV0ZW9wdCIsICAgImNvdCIsICBQX1NUUklOR3xQX1ZJX0RFRnxQX0NPTU1BfFBfTk9EVVAsCisjaWZkZWYgRkVBVF9JTlNfRVhQQU5ECisJCQkgICAgKGNoYXJfdSAqKSZwX2NvdCwgUFZfTk9ORSwKKwkJCSAgICB7KGNoYXJfdSAqKSJtZW51IiwgKGNoYXJfdSAqKTBMfQorI2Vsc2UKKwkJCSAgICAoY2hhcl91ICopTlVMTCwgUFZfTk9ORSwKKwkJCSAgICB7KGNoYXJfdSAqKTBMLCAoY2hhcl91ICopMEx9CisjZW5kaWYKKwkJCSAgICB9LAogICAgIHsiY29uZmlybSIsICAgICAiY2YiLCAgIFBfQk9PTHxQX1ZJX0RFRiwKICNpZiBkZWZpbmVkKEZFQVRfR1VJX0RJQUxPRykgfHwgZGVmaW5lZChGRUFUX0NPTl9ESUFMT0cpCiAJCQkgICAgKGNoYXJfdSAqKSZwX2NvbmZpcm0sIFBWX05PTkUsCkBAIC0xMTE5LDcgKzExMjgsNyBAQAogCQkJICAgIHsoY2hhcl91ICopRkFMU0UsIChjaGFyX3UgKikwTH19LAogICAgIHsiaGlnaGxpZ2h0IiwgICAiaGwiLCAgIFBfU1RSSU5HfFBfVklfREVGfFBfUkNMUnxQX0NPTU1BfFBfTk9EVVAsCiAJCQkgICAgKGNoYXJfdSAqKSZwX2hsLCBQVl9OT05FLAotCQkJICAgIHsoY2hhcl91ICopIjg6U3BlY2lhbEtleSxAOk5vblRleHQsZDpEaXJlY3RvcnksZTpFcnJvck1zZyxpOkluY1NlYXJjaCxsOlNlYXJjaCxtOk1vcmVNc2csTTpNb2RlTXNnLG46TGluZU5yLHI6UXVlc3Rpb24sczpTdGF0dXNMaW5lLFM6U3RhdHVzTGluZU5DLGM6VmVydFNwbGl0LHQ6VGl0bGUsdjpWaXN1YWwsVjpWaXN1YWxOT1MsdzpXYXJuaW5nTXNnLFc6V2lsZE1lbnUsZjpGb2xkZWQsRjpGb2xkQ29sdW1uLEE6RGlmZkFkZCxDOkRpZmZDaGFuZ2UsRDpEaWZmRGVsZXRlLFQ6RGlmZlRleHQsPjpTaWduQ29sdW1uLEI6U3BlbGxCYWQsUDpTcGVsbENhcCxSOlNwZWxsUmFyZSxMOlNwZWxsTG9jYWwiLAorCQkJICAgIHsoY2hhcl91ICopIjg6U3BlY2lhbEtleSxAOk5vblRleHQsZDpEaXJlY3RvcnksZTpFcnJvck1zZyxpOkluY1NlYXJjaCxsOlNlYXJjaCxtOk1vcmVNc2csTTpNb2RlTXNnLG46TGluZU5yLHI6UXVlc3Rpb24sczpTdGF0dXNMaW5lLFM6U3RhdHVzTGluZU5DLGM6VmVydFNwbGl0LHQ6VGl0bGUsdjpWaXN1YWwsVjpWaXN1YWxOT1MsdzpXYXJuaW5nTXNnLFc6V2lsZE1lbnUsZjpGb2xkZWQsRjpGb2xkQ29sdW1uLEE6RGlmZkFkZCxDOkRpZmZDaGFuZ2UsRDpEaWZmRGVsZXRlLFQ6RGlmZlRleHQsPjpTaWduQ29sdW1uLEI6U3BlbGxCYWQsUDpTcGVsbENhcCxSOlNwZWxsUmFyZSxMOlNwZWxsTG9jYWwsKzpQbWVudSw9OlBtZW51U2VsLHg6UG1lbnVTYmFyLFg6UG1lbnVUaHVtYiIsCiAJCQkJKGNoYXJfdSAqKTBMfX0sCiAgICAgeyJoaXN0b3J5IiwJICAgICJoaSIsICAgUF9OVU18UF9WSU0sCiAJCQkgICAgKGNoYXJfdSAqKSZwX2hpLCBQVl9OT05FLApAQCAtMjYwOCwxMiArMjYxNywxNSBAQAogc3RhdGljIGNoYXIgKihwX2JzX3ZhbHVlc1tdKSA9IHsiaW5kZW50IiwgImVvbCIsICJzdGFydCIsIE5VTEx9OwogI2lmZGVmIEZFQVRfRk9MRElORwogc3RhdGljIGNoYXIgKihwX2ZkbV92YWx1ZXNbXSkgPSB7Im1hbnVhbCIsICJleHByIiwgIm1hcmtlciIsICJpbmRlbnQiLCAic3ludGF4IiwKLSNpZmRlZiBGRUFUX0RJRkYKKyMgaWZkZWYgRkVBVF9ESUZGCiAJCQkJImRpZmYiLAotI2VuZGlmCisjIGVuZGlmCiAJCQkJTlVMTH07CiBzdGF0aWMgY2hhciAqKHBfZmNsX3ZhbHVlc1tdKSA9IHsiYWxsIiwgTlVMTH07CiAjZW5kaWYKKyNpZmRlZiBGRUFUX0lOU19FWFBBTkQKK3N0YXRpYyBjaGFyICoocF9jb3RfdmFsdWVzW10pID0geyJtZW51IiwgTlVMTH07CisjZW5kaWYKIAogc3RhdGljIHZvaWQgc2V0X29wdGlvbl9kZWZhdWx0IF9fQVJHUygoaW50LCBpbnQgb3B0X2ZsYWdzLCBpbnQgY29tcGF0aWJsZSkpOwogc3RhdGljIHZvaWQgc2V0X29wdGlvbnNfZGVmYXVsdCBfX0FSR1MoKGludCBvcHRfZmxhZ3MpKTsKQEAgLTU5MzAsNiArNTk0MiwxMyBAQAogCSAgICB9CiAJfQogICAgIH0KKworICAgIC8qICdjb21wbGV0ZW9wdCcgKi8KKyAgICBlbHNlIGlmICh2YXJwID09ICZwX2NvdCkKKyAgICB7CisJaWYgKGNoZWNrX29wdF9zdHJpbmdzKHBfY290LCBwX2NvdF92YWx1ZXMsIFRSVUUpICE9IE9LKQorCSAgICBlcnJtc2cgPSBlX2ludmFyZzsKKyAgICB9CiAjZW5kaWYgLyogRkVBVF9JTlNfRVhQQU5EICovCiAKIApkaWZmIC0tZ2l0IGEvc3JjL29wdGlvbi5oIGIvc3JjL29wdGlvbi5oCmluZGV4IDNjZmRkNGYuLjE3MzkxOWUgMTAwNjQ0Ci0tLSBhL3NyYy9vcHRpb24uaAorKysgYi9zcmMvb3B0aW9uLmgKQEAgLTM4NCw2ICszODQsOSBAQAogRVhURVJOIGludAlwX2NvbmZpcm07CS8qICdjb25maXJtJyAqLwogI2VuZGlmCiBFWFRFUk4gaW50CXBfY3A7CQkvKiAnY29tcGF0aWJsZScgKi8KKyNpZmRlZiBGRUFUX0lOU19FWFBBTkQKK0VYVEVSTiBjaGFyX3UJKnBfY290OwkJLyogJ2NvbXBsZXRlb3B0JyAqLworI2VuZGlmCiBFWFRFUk4gY2hhcl91CSpwX2NwbzsJCS8qICdjcG9wdGlvbnMnICovCiAjaWZkZWYgRkVBVF9DU0NPUEUKIEVYVEVSTiBjaGFyX3UJKnBfY3Nwcmc7CS8qICdjc2NvcGVwcmcnICovCmRpZmYgLS1naXQgYS9zcmMvc2NyZWVuLmMgYi9zcmMvc2NyZWVuLmMKaW5kZXggZmExMzkwNC4uMWEyMTYxZiAxMDA2NDQKLS0tIGEvc3JjL3NjcmVlbi5jCisrKyBiL3NyYy9zY3JlZW4uYwpAQCAtNTI5Niw3ICs1Mjk2LDEzIEBACiAJLyogbm8gc3RhdHVzIGxpbmUsIGNhbiBvbmx5IGJlIGxhc3Qgd2luZG93ICovCiAJcmVkcmF3X2NtZGxpbmUgPSBUUlVFOwogICAgIH0KLSAgICBlbHNlIGlmICghcmVkcmF3aW5nKCkpCisgICAgZWxzZSBpZiAoIXJlZHJhd2luZygpCisjaWZkZWYgRkVBVF9JTlNfRVhQQU5ECisJICAgIC8qIGRvbid0IHVwZGF0ZSBzdGF0dXMgbGluZSB3aGVuIHBvcHVwIG1lbnUgaXMgdmlzaWJsZSBhbmQgbWF5IGJlCisJICAgICAqIGRyYXduIG92ZXIgaXQgKi8KKwkgICAgfHwgcHVtX3Zpc2libGUoKQorI2VuZGlmCisJICAgICkKICAgICB7CiAJLyogRG9uJ3QgcmVkcmF3IHJpZ2h0IG5vdywgZG8gaXQgbGF0ZXIuICovCiAJd3AtPndfcmVkcl9zdGF0dXMgPSBUUlVFOwpAQCAtODUzNCw2ICs4NTQwLDkgQEAKICMgZW5kaWYKIAlpZiAoZWRpdF9zdWJtb2RlICE9IE5VTEwpCiAJICAgIHJldHVybjsKKyAgICAvKiBEb24ndCBkcmF3IHRoZSBydWxlciB3aGVuIHRoZSBwb3B1cCBtZW51IGlzIHZpc2libGUsIGl0IG1heSBvdmVybGFwLiAqLworICAgIGlmIChwdW1fdmlzaWJsZSgpKQorCXJldHVybjsKICNlbmRpZgogCiAjaWZkZWYgRkVBVF9TVExfT1BUCmRpZmYgLS1naXQgYS9zcmMvc3ludGF4LmMgYi9zcmMvc3ludGF4LmMKaW5kZXggYTA0YjgxYi4uY2UyZmY4OCAxMDA2NDQKLS0tIGEvc3JjL3N5bnRheC5jCisrKyBiL3NyYy9zeW50YXguYwpAQCAtNjA2NSw2ICs2MDY1LDggQEAKIAkiVmVydFNwbGl0IHRlcm09cmV2ZXJzZSBjdGVybT1yZXZlcnNlIGd1aT1yZXZlcnNlIiwKIAkiVmlzdWFsTk9TIHRlcm09dW5kZXJsaW5lLGJvbGQgY3Rlcm09dW5kZXJsaW5lLGJvbGQgZ3VpPXVuZGVybGluZSxib2xkIiwKIAkiRGlmZlRleHQgdGVybT1yZXZlcnNlIGN0ZXJtPWJvbGQgY3Rlcm1iZz1SZWQgZ3VpPWJvbGQgZ3VpYmc9UmVkIiwKKwkiUG1lbnVUaHVtYiBjdGVybT1yZXZlcnNlIGd1aT1yZXZlcnNlIiwKKwkiUG1lbnVTYmFyIGN0ZXJtYmc9R3JleSBndWliZz1HcmV5IiwKIAlOVUxMCiAgICAgfTsKIApAQCAtNjA4MCw2ICs2MDgyLDggQEAKIAkiU3BlbGxDYXAgdGVybT1yZXZlcnNlIGN0ZXJtYmc9TGlnaHRCbHVlIGd1aXNwPUJsdWUgZ3VpPXVuZGVyY3VybCIsCiAJIlNwZWxsUmFyZSB0ZXJtPXJldmVyc2UgY3Rlcm1iZz1MaWdodE1hZ2VudGEgZ3Vpc3A9TWFnZW50YSBndWk9dW5kZXJjdXJsIiwKIAkiU3BlbGxMb2NhbCB0ZXJtPXVuZGVybGluZSBjdGVybWJnPUN5YW4gZ3Vpc3A9RGFya0N5YW4gZ3VpPXVuZGVyY3VybCIsCisJIlBtZW51IGN0ZXJtYmc9TGlnaHRNYWdlbnRhIGd1aWJnPUxpZ2h0TWFnZW50YSIsCisJIlBtZW51U2VsIGN0ZXJtYmc9TGlnaHRHcmV5IGd1aWJnPUdyZXkiLAogCSJTcGVjaWFsS2V5IHRlcm09Ym9sZCBjdGVybWZnPURhcmtCbHVlIGd1aWZnPUJsdWUiLAogCSJUaXRsZSB0ZXJtPWJvbGQgY3Rlcm1mZz1EYXJrTWFnZW50YSBndWk9Ym9sZCBndWlmZz1NYWdlbnRhIiwKIAkiV2FybmluZ01zZyB0ZXJtPXN0YW5kb3V0IGN0ZXJtZmc9RGFya1JlZCBndWlmZz1SZWQiLApAQCAtNjEwNyw2ICs2MTExLDggQEAKIAkiU3BlbGxDYXAgdGVybT1yZXZlcnNlIGN0ZXJtYmc9Qmx1ZSBndWlzcD1CbHVlIGd1aT11bmRlcmN1cmwiLAogCSJTcGVsbFJhcmUgdGVybT1yZXZlcnNlIGN0ZXJtYmc9TWFnZW50YSBndWlzcD1NYWdlbnRhIGd1aT11bmRlcmN1cmwiLAogCSJTcGVsbExvY2FsIHRlcm09dW5kZXJsaW5lIGN0ZXJtYmc9Q3lhbiBndWlzcD1DeWFuIGd1aT11bmRlcmN1cmwiLAorCSJQbWVudSBjdGVybWJnPU1hZ2VudGEgZ3VpYmc9TWFnZW50YSIsCisJIlBtZW51U2VsIGN0ZXJtYmc9R3JleSBndWliZz1HcmV5IiwKIAkiVGl0bGUgdGVybT1ib2xkIGN0ZXJtZmc9TGlnaHRNYWdlbnRhIGd1aT1ib2xkIGd1aWZnPU1hZ2VudGEiLAogCSJXYXJuaW5nTXNnIHRlcm09c3RhbmRvdXQgY3Rlcm1mZz1MaWdodFJlZCBndWlmZz1SZWQiLAogCSJXaWxkTWVudSB0ZXJtPXN0YW5kb3V0IGN0ZXJtYmc9WWVsbG93IGN0ZXJtZmc9QmxhY2sgZ3VpYmc9WWVsbG93IGd1aWZnPUJsYWNrIiwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3QzMi5pbiBiL3NyYy90ZXN0ZGlyL3Rlc3QzMi5pbgppbmRleCAwZDU0MDUxLi44NWQ3NmFlIDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0MzIuaW4KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdDMyLmluCkBAIC0yMywxMCArMjMsMTIgQEAKIFNUQVJUVEVTVAogOnNvIHNtYWxsLnZpbQogOnNlIG5vY3AgdmltaW5mbys9bnZpbWluZm8gY3B0PS4sdyBmZj11bml4IHwgJC0yLCR3IVh0ZXN0ZmlsZSB8IHNldCBmZiYKKzpzZSBjb3Q9CiAXbk8jaW5jbHVkZSAiWHRlc3RmaWxlIgogcnUODhgOGwEKIE8QGA4KIBgQEBAQEAorCiAYEBAYGA4YDg4bCiA6c2UgY3B0PS4sdyxpCiBrT00OGA4YDhgYGBAKZGlmZiAtLWdpdCBhL3NyYy92ZXJzaW9uLmggYi9zcmMvdmVyc2lvbi5oCmluZGV4IDg1YmY2OTAuLjM1NzEwMzIgMTAwNjQ0Ci0tLSBhL3NyYy92ZXJzaW9uLmgKKysrIGIvc3JjL3ZlcnNpb24uaApAQCAtMzYsNSArMzYsNSBAQAogI2RlZmluZSBWSU1fVkVSU0lPTl9OT0RPVAkidmltNzBhYSIKICNkZWZpbmUgVklNX1ZFUlNJT05fU0hPUlQJIjcuMGFhIgogI2RlZmluZSBWSU1fVkVSU0lPTl9NRURJVU0JIjcuMGFhIEFMUEhBIgotI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjBhYSBBTFBIQSAoMjAwNSBTZXAgMzApIgotI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HX0RBVEUJIlZJTSAtIFZpIElNcHJvdmVkIDcuMGFhIEFMUEhBICgyMDA1IFNlcCAzMCwgY29tcGlsZWQgIgorI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjBhYSBBTFBIQSAoMjAwNSBPY3QgMykiCisjZGVmaW5lIFZJTV9WRVJTSU9OX0xPTkdfREFURQkiVklNIC0gVmkgSU1wcm92ZWQgNy4wYWEgQUxQSEEgKDIwMDUgT2N0IDMsIGNvbXBpbGVkICIK