ZGlmZiAtLWdpdCBhL2Jvb3QvY29tbW9uL3NyYy9sb2FkZXIvZHJpdmVycy9iYnQuYyBiL2Jvb3QvY29tbW9uL3NyYy9sb2FkZXIvZHJpdmVycy9iYnQuYwppbmRleCBiZjQ2MjY2Li40NzFhODZmIDEwMDc1NQotLS0gYS9ib290L2NvbW1vbi9zcmMvbG9hZGVyL2RyaXZlcnMvYmJ0LmMKKysrIGIvYm9vdC9jb21tb24vc3JjL2xvYWRlci9kcml2ZXJzL2JidC5jCkBAIC01Niw3ICs1Niw3IEBACiAJdWludDMyX3QgYmxvY2tfc2l6ZSA9IGZsYXNoLmJsb2NrX3NpemU7CiAJdWludDhfdCBvb2JbMjU2XTsgICAvKiDV4sDvtqjS5dfutPO1xE9PQiBTSVpFICovCiAvLyNpZmRlZiBDT05GSUdfWlgyOTc1MjBWM0VfTURMX0FCCi0jaWYgZGVmaW5lZChDT05GSUdfWlgyOTc1MjBWM0VfTURMX0FCKSB8fCBkZWZpbmVkKENPTkZJR19aWDI5NzUyMFYzRV9WRUhJQ0xFX0RDKQorI2lmIGRlZmluZWQoQ09ORklHX1pYMjk3NTIwVjNFX01ETF9BQikgfHwgZGVmaW5lZChDT05GSUdfWlgyOTc1MjBWM0VfVkVISUNMRV9EQykgfHwgZGVmaW5lZChDT05GSUdfWlgyOTc1MjBWM0VfVkVISUNMRV9EQ19SRUYpCiAJdWludDMyX3QgYmxvY2tfbnVtcyA9IDcyOwogI2Vsc2UKIAl1aW50MzJfdCBibG9ja19udW1zID0gMTc7CmRpZmYgLS1naXQgYS9ib290L2NvbW1vbi9zcmMvbG9hZGVyL2RyaXZlcnMvaW1hZ2UuYyBiL2Jvb3QvY29tbW9uL3NyYy9sb2FkZXIvZHJpdmVycy9pbWFnZS5jCmluZGV4IDg5MDNlMTQuLjA5YzI5NmEgMTAwNzU1Ci0tLSBhL2Jvb3QvY29tbW9uL3NyYy9sb2FkZXIvZHJpdmVycy9pbWFnZS5jCisrKyBiL2Jvb3QvY29tbW9uL3NyYy9sb2FkZXIvZHJpdmVycy9pbWFnZS5jCkBAIC0xMSw3ICsxMSw3IEBACiAKICNpbmNsdWRlICJmbGFzaC5oIgogI2luY2x1ZGUgPGJidC5oPgotCisjaW5jbHVkZSAicHViX2ZsYWdzLmgiCiAKIC8qCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0xMTIsMTAgKzExMiwxMCBAQAogfQogCiAvLyNpZmRlZiBDT05GSUdfWlgyOTc1MjBWM0VfTURMX0FCCi0jaWYgZGVmaW5lZChDT05GSUdfWlgyOTc1MjBWM0VfTURMX0FCKSB8fCBkZWZpbmVkKENPTkZJR19aWDI5NzUyMFYzRV9WRUhJQ0xFX0RDKQorI2lmIGRlZmluZWQoQ09ORklHX1pYMjk3NTIwVjNFX01ETF9BQikgfHwgZGVmaW5lZChDT05GSUdfWlgyOTc1MjBWM0VfVkVISUNMRV9EQykgfHwgZGVmaW5lZChDT05GSUdfWlgyOTc1MjBWM0VfVkVISUNMRV9EQ19SRUYpCiBpbnQgcmVhZF9mbGFnc19pbWFnZSh1aW50OF90ICpuYW1lKQogewotICAgIFRfQk9PVF9GT1RBX0ZMQUcgKmZvdGFGbGFnOworICAgIFRfRkxBR1NfSU5GTyAqZm90YUZsYWc7CiAJdWludDMyX3QgdWlQYWdlU2l6ZSA9IDA7CiAgICAgdWludDMyX3QgZmxhZ3Nfb2Zmc2V0ID0gMDsKIAl1aW50MzJfdCBvZmYgPSAwOwpAQCAtMTI1LDcgKzEyNSw3IEBACiAJdWludDMyX3Qgd29ya19hcmVhX29mZnNldCA9IDA7CiAJdWludDMyX3QgYmFja3VwX2FyZWFfb2Zmc2V0ID0gMDsKIAlpbnQzMl90IHJldCA9IDA7Ci0JaW50MzJfdCBmb3RhX3NpemUgPSBzaXplb2YoVF9CT09UX0ZPVEFfRkxBRyk7CisJaW50MzJfdCBmb3RhX3NpemUgPSBzaXplb2YoVF9GTEFHU19JTkZPKTsKIAlpbnQzMl90IGJsb2NrX3NpemUgPSBmbGFzaC5ibG9ja19zaXplOwogCiAJZm90YV9zaXplID0gcGFnZV9hbGlnbihmb3RhX3NpemUpOwpAQCAtMTczLDkgKzE3Myw5IEBACiAJCXJldHVybiAtMTsKIAl9CiAKLQlmb3RhRmxhZyA9IChUX0JPT1RfRk9UQV9GTEFHICopKENGR19URU1QX0FERFIpOworCWZvdGFGbGFnID0gKFRfRkxBR1NfSU5GTyAqKShDRkdfVEVNUF9BRERSKTsKIAkKLQlpZihmb3RhRmxhZy0+bWFnaWMgIT0gRkxBR1NfTUFHSUMpCisJaWYoZm90YUZsYWctPm1hZ2ljX3N0YXJ0ICE9IEZMQUdTX01BR0lDIHx8IGZvdGFGbGFnLT5tYWdpY19lbmQgIT0gRkxBR1NfTUFHSUMpCiAJewogICAgICAgICByZXQgPSBmbGFzaC5yZWFkKGJhY2t1cF9hcmVhX29mZnNldCwgZm90YV9zaXplLCBDRkdfVEVNUF9BRERSKTsKIAkJaWYocmV0ICE9IDApCkBAIC0xODQsOCArMTg0LDggQEAKIAkJCQogCQkJcmV0dXJuIC0xOwogCQl9Ci0JCWZvdGFGbGFnID0gKFRfQk9PVF9GT1RBX0ZMQUcgKikoQ0ZHX1RFTVBfQUREUik7Ci0JCWlmKGZvdGFGbGFnLT5tYWdpYyAhPSBGTEFHU19NQUdJQykKKwkJZm90YUZsYWcgPSAoVF9GTEFHU19JTkZPICopKENGR19URU1QX0FERFIpOworCQlpZihmb3RhRmxhZy0+bWFnaWNfc3RhcnQgIT0gRkxBR1NfTUFHSUMgfHwgZm90YUZsYWctPm1hZ2ljX2VuZCAhPSBGTEFHU19NQUdJQykKIAkJewogICAgICAgICAgICAgcHJpbnRmKCJmbGFncyBtYWdpYyBlcnIuXG4iKTsKIAkJICAgIHJldHVybiAtMTsK