ZGlmZiAtLWdpdCBhL3BhdGNoZXMvMDAwMi1rZXJuZWwtU1JDVS1wcm92aWRlLWEtc3RhdGljLWluaXRpYWxpemVyLnBhdGNoIGIvcGF0Y2hlcy8wMDAyLWtlcm5lbC1TUkNVLXByb3ZpZGUtYS1zdGF0aWMtaW5pdGlhbGl6ZXIucGF0Y2gKaW5kZXggMzIzYTg2Mi4uMjMwMzA0ZSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy8wMDAyLWtlcm5lbC1TUkNVLXByb3ZpZGUtYS1zdGF0aWMtaW5pdGlhbGl6ZXIucGF0Y2gKKysrIGIvcGF0Y2hlcy8wMDAyLWtlcm5lbC1TUkNVLXByb3ZpZGUtYS1zdGF0aWMtaW5pdGlhbGl6ZXIucGF0Y2gKQEAgLTE3LDEwICsxNyw4IEBACiAgaW5jbHVkZS9saW51eC9zcmN1LmggICAgIHwgICAgOCArKysrLS0tLQogIDIgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9ub3RpZmllci5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9ub3RpZmllci5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvbm90aWZpZXIuaAorLS0tIGEvaW5jbHVkZS9saW51eC9ub3RpZmllci5oCisrKysgYi9pbmNsdWRlL2xpbnV4L25vdGlmaWVyLmgKIEBAIC02LDcgKzYsNyBAQAogICAqCiAgICoJCQkJQWxhbiBDb3ggPEFsYW4uQ294QGxpbnV4Lm9yZz4KQEAgLTEwMCwxMCArOTgsOCBAQAogIC8qIENQVSBub3RmaWVycyBhcmUgZGVmaW5lZCBpbiBpbmNsdWRlL2xpbnV4L2NwdS5oLiAqLwogIAogIC8qIG5ldGRldmljZSBub3RpZmllcnMgYXJlIGRlZmluZWQgaW4gaW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaCAqLwotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NyY3UuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvc3JjdS5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc3JjdS5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3NyY3UuaAorKysrIGIvaW5jbHVkZS9saW51eC9zcmN1LmgKIEBAIC04NCwxMCArODQsMTAgQEAgaW50IGluaXRfc3JjdV9zdHJ1Y3Qoc3RydWN0IHNyY3Vfc3RydWN0CiAgCiAgdm9pZCBwcm9jZXNzX3NyY3Uoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvMDAwMi14ODYtaGlnaG1lbS1hZGQtYS1hbHJlYWR5LXVzZWQtcHRlLWNoZWNrLnBhdGNoIGIvcGF0Y2hlcy8wMDAyLXg4Ni1oaWdobWVtLWFkZC1hLWFscmVhZHktdXNlZC1wdGUtY2hlY2sucGF0Y2gKaW5kZXggZTEzYjA1ZC4uYzZkODczNSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy8wMDAyLXg4Ni1oaWdobWVtLWFkZC1hLWFscmVhZHktdXNlZC1wdGUtY2hlY2sucGF0Y2gKKysrIGIvcGF0Y2hlcy8wMDAyLXg4Ni1oaWdobWVtLWFkZC1hLWFscmVhZHktdXNlZC1wdGUtY2hlY2sucGF0Y2gKQEAgLTEwLDEwICsxMCw4IEBACiAgYXJjaC94ODYvbW0vaW9tYXBfMzIuYyB8ICAgIDIgKysKICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC94ODYvbW0vaW9tYXBfMzIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveDg2L21tL2lvbWFwXzMyLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC94ODYvbW0vaW9tYXBfMzIuYworLS0tIGEvYXJjaC94ODYvbW0vaW9tYXBfMzIuYworKysrIGIvYXJjaC94ODYvbW0vaW9tYXBfMzIuYwogQEAgLTY1LDYgKzY1LDggQEAgdm9pZCAqa21hcF9hdG9taWNfcHJvdF9wZm4odW5zaWduZWQgbG9uZwogIAl0eXBlID0ga21hcF9hdG9taWNfaWR4X3B1c2goKTsKICAJaWR4ID0gdHlwZSArIEtNX1RZUEVfTlIgKiBzbXBfcHJvY2Vzc29yX2lkKCk7CmRpZmYgLS1naXQgYS9wYXRjaGVzLzAwMDMtYXJtLWhpZ2htZW0tZmx1c2gtdGxiLW9uLXVubWFwLnBhdGNoIGIvcGF0Y2hlcy8wMDAzLWFybS1oaWdobWVtLWZsdXNoLXRsYi1vbi11bm1hcC5wYXRjaAppbmRleCBhMzcwZjI0Li43MWE4YjIwIDEwMDY0NAotLS0gYS9wYXRjaGVzLzAwMDMtYXJtLWhpZ2htZW0tZmx1c2gtdGxiLW9uLXVubWFwLnBhdGNoCisrKyBiL3BhdGNoZXMvMDAwMy1hcm0taGlnaG1lbS1mbHVzaC10bGItb24tdW5tYXAucGF0Y2gKQEAgLTEyLDEwICsxMiw4IEBACiAgYXJjaC9hcm0vbW0vaGlnaG1lbS5jIHwgICAgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvYXJtL21tL2hpZ2htZW0uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvYXJtL21tL2hpZ2htZW0uYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL2FybS9tbS9oaWdobWVtLmMKKy0tLSBhL2FyY2gvYXJtL21tL2hpZ2htZW0uYworKysrIGIvYXJjaC9hcm0vbW0vaGlnaG1lbS5jCiBAQCAtOTUsMTAgKzk1LDEwIEBAIHZvaWQgX19rdW5tYXBfYXRvbWljKHZvaWQgKmt2YWRkcikKICAJCQlfX2NwdWNfZmx1c2hfZGNhY2hlX2FyZWEoKHZvaWQgKil2YWRkciwgUEFHRV9TSVpFKTsKICAjaWZkZWYgQ09ORklHX0RFQlVHX0hJR0hNRU0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvMDAwNS1mdXRleC1FbnN1cmUtbG9jay11bmxvY2stc3ltZXRyeS12ZXJzdXMtcGlfbG9jay1hbmQtLnBhdGNoIGIvcGF0Y2hlcy8wMDA1LWZ1dGV4LUVuc3VyZS1sb2NrLXVubG9jay1zeW1ldHJ5LXZlcnN1cy1waV9sb2NrLWFuZC0ucGF0Y2gKaW5kZXggMzRiZWM4ZC4uYWZmZmE0OCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy8wMDA1LWZ1dGV4LUVuc3VyZS1sb2NrLXVubG9jay1zeW1ldHJ5LXZlcnN1cy1waV9sb2NrLWFuZC0ucGF0Y2gKKysrIGIvcGF0Y2hlcy8wMDA1LWZ1dGV4LUVuc3VyZS1sb2NrLXVubG9jay1zeW1ldHJ5LXZlcnN1cy1waV9sb2NrLWFuZC0ucGF0Y2gKQEAgLTMwLDEwICszMCw4IEBACiAga2VybmVsL2Z1dGV4LmMgfCAgICAyICsrCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9mdXRleC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2Z1dGV4LmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL2Z1dGV4LmMKKy0tLSBhL2tlcm5lbC9mdXRleC5jCisrKysgYi9rZXJuZWwvZnV0ZXguYwogQEAgLTU3MSw3ICs1NzEsOSBAQCB2b2lkIGV4aXRfcGlfc3RhdGVfbGlzdChzdHJ1Y3QgdGFza19zdHJ1CiAgCQkgKiB0YXNrIHN0aWxsIG93bnMgdGhlIFBJLXN0YXRlOgogIAkJICovCmRpZmYgLS1naXQgYS9wYXRjaGVzL0hBQ0stcHJpbnRrLWRyb3AtdGhlLWxvZ2J1Zl9sb2NrLW1vcmUtb2Z0ZW4ucGF0Y2ggYi9wYXRjaGVzL0hBQ0stcHJpbnRrLWRyb3AtdGhlLWxvZ2J1Zl9sb2NrLW1vcmUtb2Z0ZW4ucGF0Y2gKaW5kZXggNmQ1N2NiMC4uY2YzOGI5OSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9IQUNLLXByaW50ay1kcm9wLXRoZS1sb2didWZfbG9jay1tb3JlLW9mdGVuLnBhdGNoCisrKyBiL3BhdGNoZXMvSEFDSy1wcmludGstZHJvcC10aGUtbG9nYnVmX2xvY2stbW9yZS1vZnRlbi5wYXRjaApAQCAtMTEsMTAgKzExLDggQEAKICBrZXJuZWwvcHJpbnRrLmMgfCAgIDI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrLQogIDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3ByaW50ay5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3ByaW50ay5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9wcmludGsuYworLS0tIGEva2VybmVsL3ByaW50ay5jCisrKysgYi9rZXJuZWwvcHJpbnRrLmMKIEBAIC0xMDM0LDYgKzEwMzQsNyBAQCBzdGF0aWMgaW50IHN5c2xvZ19wcmludF9hbGwoY2hhciBfX3VzZXIKICB7CiAgCWNoYXIgKnRleHQ7CmRpZmYgLS1naXQgYS9wYXRjaGVzL2FjcGktcnQtQ29udmVydC1hY3BpX2dibF9oYXJkd2FyZS1sb2NrLWJhY2stdG8tYS1yYXcucGF0Y2ggYi9wYXRjaGVzL2FjcGktcnQtQ29udmVydC1hY3BpX2dibF9oYXJkd2FyZS1sb2NrLWJhY2stdG8tYS1yYXcucGF0Y2gKaW5kZXggODNhMmUzYi4uOTMwYmYxZSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9hY3BpLXJ0LUNvbnZlcnQtYWNwaV9nYmxfaGFyZHdhcmUtbG9jay1iYWNrLXRvLWEtcmF3LnBhdGNoCisrKyBiL3BhdGNoZXMvYWNwaS1ydC1Db252ZXJ0LWFjcGlfZ2JsX2hhcmR3YXJlLWxvY2stYmFjay10by1hLXJhdy5wYXRjaApAQCAtNzAsMTAgKzcwLDggQEAKICBpbmNsdWRlL2FjcGkvcGxhdGZvcm0vYWNsaW51eC5oIHwgICAxNCArKysrKysrKysrKysrKwogIDUgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL2FjcGkvYWNwaWNhL2FjZ2xvYmFsLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL2FjcGkvYWNwaWNhL2FjZ2xvYmFsLmgKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9hY3BpL2FjcGljYS9hY2dsb2JhbC5oCistLS0gYS9kcml2ZXJzL2FjcGkvYWNwaWNhL2FjZ2xvYmFsLmgKKysrKyBiL2RyaXZlcnMvYWNwaS9hY3BpY2EvYWNnbG9iYWwuaAogQEAgLTIyMyw3ICsyMjMsNyBAQCBBQ1BJX0VYVEVSTiB1OCBhY3BpX2dibF9nbG9iYWxfbG9ja19wZW5kCiAgICogaW50ZXJydXB0IGxldmVsCiAgICovCkBAIC04MywxMCArODEsOCBAQAogIEFDUElfRVhURVJOIGFjcGlfc3BpbmxvY2sgYWNwaV9nYmxfcmVmZXJlbmNlX2NvdW50X2xvY2s7CiAgCiAgLyogTXV0ZXggZm9yIF9PU0kgc3VwcG9ydCAqLwotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL2FjcGkvYWNwaWNhL2h3cmVncy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9hY3BpL2FjcGljYS9od3JlZ3MuYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL2FjcGkvYWNwaWNhL2h3cmVncy5jCistLS0gYS9kcml2ZXJzL2FjcGkvYWNwaWNhL2h3cmVncy5jCisrKysgYi9kcml2ZXJzL2FjcGkvYWNwaWNhL2h3cmVncy5jCiBAQCAtMjY5LDE0ICsyNjksMTQgQEAgYWNwaV9zdGF0dXMgYWNwaV9od19jbGVhcl9hY3BpX3N0YXR1cyh2bwogIAkJCSAgQUNQSV9CSVRNQVNLX0FMTF9GSVhFRF9TVEFUVVMsCiAgCQkJICBBQ1BJX0ZPUk1BVF9VSU5UNjQoYWNwaV9nYmxfeHBtMWFfc3RhdHVzLmFkZHJlc3MpKSk7CkBAIC0xMDQsMTAgKzEwMCw4IEBACiAgCiAgCWlmIChBQ1BJX0ZBSUxVUkUoc3RhdHVzKSkKICAJCWdvdG8gZXhpdDsKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9hY3BpL2FjcGljYS9od3hmYWNlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL2FjcGkvYWNwaWNhL2h3eGZhY2UuYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL2FjcGkvYWNwaWNhL2h3eGZhY2UuYworLS0tIGEvZHJpdmVycy9hY3BpL2FjcGljYS9od3hmYWNlLmMKKysrKyBiL2RyaXZlcnMvYWNwaS9hY3BpY2EvaHd4ZmFjZS5jCiBAQCAtMzY1LDcgKzM2NSw3IEBAIGFjcGlfc3RhdHVzIGFjcGlfd3JpdGVfYml0X3JlZ2lzdGVyKHUzMgogIAkJcmV0dXJuX0FDUElfU1RBVFVTKEFFX0JBRF9QQVJBTUVURVIpOwogIAl9CkBAIC0xMjYsMTAgKzEyMCw4IEBACiAgCXJldHVybl9BQ1BJX1NUQVRVUyhzdGF0dXMpOwogIH0KICAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9hY3BpL2FjcGljYS91dG11dGV4LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL2FjcGkvYWNwaWNhL3V0bXV0ZXguYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL2FjcGkvYWNwaWNhL3V0bXV0ZXguYworLS0tIGEvZHJpdmVycy9hY3BpL2FjcGljYS91dG11dGV4LmMKKysrKyBiL2RyaXZlcnMvYWNwaS9hY3BpY2EvdXRtdXRleC5jCiBAQCAtODgsNyArODgsNyBAQCBhY3BpX3N0YXR1cyBhY3BpX3V0X211dGV4X2luaXRpYWxpemUodm9pCiAgCQlyZXR1cm5fQUNQSV9TVEFUVVMgKHN0YXR1cyk7CiAgCX0KQEAgLTE0OCwxMCArMTQwLDggQEAKICAJYWNwaV9vc19kZWxldGVfbG9jayhhY3BpX2dibF9yZWZlcmVuY2VfY291bnRfbG9jayk7CiAgCiAgCS8qIERlbGV0ZSB0aGUgcmVhZGVyL3dyaXRlciBsb2NrICovCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvYWNwaS9wbGF0Zm9ybS9hY2xpbnV4LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2FjcGkvcGxhdGZvcm0vYWNsaW51eC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvYWNwaS9wbGF0Zm9ybS9hY2xpbnV4LmgKKy0tLSBhL2luY2x1ZGUvYWNwaS9wbGF0Zm9ybS9hY2xpbnV4LmgKKysrKyBiL2luY2x1ZGUvYWNwaS9wbGF0Zm9ybS9hY2xpbnV4LmgKIEBAIC03Miw2ICs3Miw3IEBACiAgCiAgI2RlZmluZSBhY3BpX2NhY2hlX3QgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qga21lbV9jYWNoZQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9hcmNoLXVzZS1wYWdlZmF1bHQtZGlzYWJsZWQucGF0Y2ggYi9wYXRjaGVzL2FyY2gtdXNlLXBhZ2VmYXVsdC1kaXNhYmxlZC5wYXRjaAppbmRleCBmMGY1NDc1Li41MmYyZGZlIDEwMDY0NAotLS0gYS9wYXRjaGVzL2FyY2gtdXNlLXBhZ2VmYXVsdC1kaXNhYmxlZC5wYXRjaAorKysgYi9wYXRjaGVzL2FyY2gtdXNlLXBhZ2VmYXVsdC1kaXNhYmxlZC5wYXRjaApAQCAtMzAsMTAgKzMwLDggQEAKICBhcmNoL3h0ZW5zYS9tbS9mYXVsdC5jICAgICB8ICAgIDIgKy0KICAyMiBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL2FscGhhL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL2FscGhhL21tL2ZhdWx0LmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9hbHBoYS9tbS9mYXVsdC5jCistLS0gYS9hcmNoL2FscGhhL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvYWxwaGEvbW0vZmF1bHQuYwogQEAgLTEwOCw3ICsxMDgsNyBAQCBkb19wYWdlX2ZhdWx0KHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgdW5zCiAgCiAgCS8qIElmIHdlJ3JlIGluIGFuIGludGVycnVwdCBjb250ZXh0LCBvciBoYXZlIG5vIHVzZXIgY29udGV4dCwKQEAgLTQzLDEwICs0MSw4IEBACiAgCQlnb3RvIG5vX2NvbnRleHQ7CiAgCiAgI2lmZGVmIENPTkZJR19BTFBIQV9MQVJHRV9WTUFMTE9DCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvYXJtL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL2FybS9tbS9mYXVsdC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvYXJtL21tL2ZhdWx0LmMKKy0tLSBhL2FyY2gvYXJtL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvYXJtL21tL2ZhdWx0LmMKIEBAIC0yNzksNyArMjc5LDcgQEAgZG9fcGFnZV9mYXVsdCh1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbgogIAkgKiBJZiB3ZSdyZSBpbiBhbiBpbnRlcnJ1cHQgb3IgaGF2ZSBubyB1c2VyCiAgCSAqIGNvbnRleHQsIHdlIG11c3Qgbm90IHRha2UgdGhlIGZhdWx0Li4KQEAgLTU2LDEwICs1Miw4IEBACiAgCQlnb3RvIG5vX2NvbnRleHQ7CiAgCiAgCS8qCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvYXZyMzIvbW0vZmF1bHQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvYXZyMzIvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL2F2cjMyL21tL2ZhdWx0LmMKKy0tLSBhL2FyY2gvYXZyMzIvbW0vZmF1bHQuYworKysrIGIvYXJjaC9hdnIzMi9tbS9mYXVsdC5jCiBAQCAtODEsNyArODEsOCBAQCBhc21saW5rYWdlIHZvaWQgZG9fcGFnZV9mYXVsdCh1bnNpZ25lZCBsCiAgCSAqIElmIHdlJ3JlIGluIGFuIGludGVycnVwdCBvciBoYXZlIG5vIHVzZXIgY29udGV4dCwgd2UgbXVzdAogIAkgKiBub3QgdGFrZSB0aGUgZmF1bHQuLi4KQEAgLTcwLDEwICs2NCw4IEBACiAgCQlnb3RvIG5vX2NvbnRleHQ7CiAgCiAgCWxvY2FsX2lycV9lbmFibGUoKTsKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9jcmlzL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL2NyaXMvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL2NyaXMvbW0vZmF1bHQuYworLS0tIGEvYXJjaC9jcmlzL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvY3Jpcy9tbS9mYXVsdC5jCiBAQCAtMTE0LDcgKzExNCw3IEBAIGRvX3BhZ2VfZmF1bHQodW5zaWduZWQgbG9uZyBhZGRyZXNzLCBzdHIKICAJICogdXNlciBjb250ZXh0LCB3ZSBtdXN0IG5vdCB0YWtlIHRoZSBmYXVsdC4KICAJICovCkBAIC04MywxMCArNzUsOCBAQAogIAkJZ290byBub19jb250ZXh0OwogIAogIHJldHJ5OgotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL2Zydi9tbS9mYXVsdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9mcnYvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL2Zydi9tbS9mYXVsdC5jCistLS0gYS9hcmNoL2Zydi9tbS9mYXVsdC5jCisrKysgYi9hcmNoL2Zydi9tbS9mYXVsdC5jCiBAQCAtNzgsNyArNzgsNyBAQCBhc21saW5rYWdlIHZvaWQgZG9fcGFnZV9mYXVsdChpbnQgZGF0YW1tCiAgCSAqIElmIHdlJ3JlIGluIGFuIGludGVycnVwdCBvciBoYXZlIG5vIHVzZXIKICAJICogY29udGV4dCwgd2UgbXVzdCBub3QgdGFrZSB0aGUgZmF1bHQuLgpAQCAtOTYsMTAgKzg2LDggQEAKICAJCWdvdG8gbm9fY29udGV4dDsKICAKICAJZG93bl9yZWFkKCZtbS0+bW1hcF9zZW0pOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL2lhNjQvbW0vZmF1bHQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvaWE2NC9tbS9mYXVsdC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvaWE2NC9tbS9mYXVsdC5jCistLS0gYS9hcmNoL2lhNjQvbW0vZmF1bHQuYworKysrIGIvYXJjaC9pYTY0L21tL2ZhdWx0LmMKIEBAIC05OCw3ICs5OCw3IEBAIGlhNjRfZG9fcGFnZV9mYXVsdCAodW5zaWduZWQgbG9uZyBhZGRyZXMKICAJLyoKICAJICogSWYgd2UncmUgaW4gYW4gaW50ZXJydXB0IG9yIGhhdmUgbm8gdXNlciBjb250ZXh0LCB3ZSBtdXN0IG5vdCB0YWtlIHRoZSBmYXVsdC4uCkBAIC0xMDksMTAgKzk3LDggQEAKICAJCWdvdG8gbm9fY29udGV4dDsKICAKICAjaWZkZWYgQ09ORklHX1ZJUlRVQUxfTUVNX01BUAotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL20zMnIvbW0vZmF1bHQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvbTMyci9tbS9mYXVsdC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvbTMyci9tbS9mYXVsdC5jCistLS0gYS9hcmNoL20zMnIvbW0vZmF1bHQuYworKysrIGIvYXJjaC9tMzJyL21tL2ZhdWx0LmMKIEBAIC0xMTQsNyArMTE0LDcgQEAgYXNtbGlua2FnZSB2b2lkIGRvX3BhZ2VfZmF1bHQoc3RydWN0IHB0XwogIAkgKiBJZiB3ZSdyZSBpbiBhbiBpbnRlcnJ1cHQgb3IgaGF2ZSBubyB1c2VyIGNvbnRleHQgb3IgYXJlIHJ1bm5pbmcgaW4gYW4KICAJICogYXRvbWljIHJlZ2lvbiB0aGVuIHdlIG11c3Qgbm90IHRha2UgdGhlIGZhdWx0Li4KQEAgLTEyMiwxMCArMTA4LDggQEAKICAJCWdvdG8gYmFkX2FyZWFfbm9zZW1hcGhvcmU7CiAgCiAgCS8qIFdoZW4gcnVubmluZyBpbiB0aGUga2VybmVsIHdlIGV4cGVjdCBmYXVsdHMgdG8gb2NjdXIgb25seSB0bwotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL202OGsvbW0vZmF1bHQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvbTY4ay9tbS9mYXVsdC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvbTY4ay9tbS9mYXVsdC5jCistLS0gYS9hcmNoL202OGsvbW0vZmF1bHQuYworKysrIGIvYXJjaC9tNjhrL21tL2ZhdWx0LmMKIEBAIC04NSw3ICs4NSw3IEBAIGludCBkb19wYWdlX2ZhdWx0KHN0cnVjdCBwdF9yZWdzICpyZWdzLAogIAkgKiBJZiB3ZSdyZSBpbiBhbiBpbnRlcnJ1cHQgb3IgaGF2ZSBubyB1c2VyCiAgCSAqIGNvbnRleHQsIHdlIG11c3Qgbm90IHRha2UgdGhlIGZhdWx0Li4KQEAgLTEzNSwxMCArMTE5LDggQEAKICAJCWdvdG8gbm9fY29udGV4dDsKICAKICByZXRyeToKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9taWNyb2JsYXplL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL21pY3JvYmxhemUvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL21pY3JvYmxhemUvbW0vZmF1bHQuYworLS0tIGEvYXJjaC9taWNyb2JsYXplL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvbWljcm9ibGF6ZS9tbS9mYXVsdC5jCiBAQCAtMTA4LDcgKzEwOCw3IEBAIHZvaWQgZG9fcGFnZV9mYXVsdChzdHJ1Y3QgcHRfcmVncyAqcmVncywKICAJaWYgKChlcnJvcl9jb2RlICYgMHgxMykgPT0gMHgxMyB8fCAoZXJyb3JfY29kZSAmIDB4MTEpID09IDB4MTEpCiAgCQlpc193cml0ZSA9IDA7CkBAIC0xNDgsMTAgKzEzMCw4IEBACiAgCQlpZiAoa2VybmVsX21vZGUocmVncykpCiAgCQkJZ290byBiYWRfYXJlYV9ub3NlbWFwaG9yZTsKICAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9taXBzL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL21pcHMvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL21pcHMvbW0vZmF1bHQuYworLS0tIGEvYXJjaC9taXBzL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvbWlwcy9tbS9mYXVsdC5jCiBAQCAtODksNyArODksNyBAQCBhc21saW5rYWdlIHZvaWQgX19rcHJvYmVzIGRvX3BhZ2VfZmF1bHQoCiAgCSAqIElmIHdlJ3JlIGluIGFuIGludGVycnVwdCBvciBoYXZlIG5vIHVzZXIKICAJICogY29udGV4dCwgd2UgbXVzdCBub3QgdGFrZSB0aGUgZmF1bHQuLgpAQCAtMTYxLDEwICsxNDEsOCBAQAogIAkJZ290byBiYWRfYXJlYV9ub3NlbWFwaG9yZTsKICAKICByZXRyeToKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9tbjEwMzAwL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL21uMTAzMDAvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL21uMTAzMDAvbW0vZmF1bHQuYworLS0tIGEvYXJjaC9tbjEwMzAwL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvbW4xMDMwMC9tbS9mYXVsdC5jCiBAQCAtMTY4LDcgKzE2OCw3IEBAIGFzbWxpbmthZ2Ugdm9pZCBkb19wYWdlX2ZhdWx0KHN0cnVjdCBwdF8KICAJICogSWYgd2UncmUgaW4gYW4gaW50ZXJydXB0IG9yIGhhdmUgbm8gdXNlcgogIAkgKiBjb250ZXh0LCB3ZSBtdXN0IG5vdCB0YWtlIHRoZSBmYXVsdC4uCkBAIC0xNzQsMTAgKzE1Miw4IEBACiAgCQlnb3RvIG5vX2NvbnRleHQ7CiAgCiAgcmV0cnk6Ci1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvcGFyaXNjL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3BhcmlzYy9tbS9mYXVsdC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvcGFyaXNjL21tL2ZhdWx0LmMKKy0tLSBhL2FyY2gvcGFyaXNjL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvcGFyaXNjL21tL2ZhdWx0LmMKIEBAIC0xNzcsNyArMTc3LDcgQEAgdm9pZCBkb19wYWdlX2ZhdWx0KHN0cnVjdCBwdF9yZWdzICpyZWdzLAogIAlpbnQgZmF1bHQ7CiAgCXVuc2lnbmVkIGludCBmbGFncyA9IEZBVUxUX0ZMQUdfQUxMT1dfUkVUUlkgfCBGQVVMVF9GTEFHX0tJTExBQkxFOwpAQCAtMTg3LDEwICsxNjMsOCBAQAogIAkJZ290byBub19jb250ZXh0OwogIAogIHJldHJ5OgotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3Bvd2VycGMvbW0vZmF1bHQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvcG93ZXJwYy9tbS9mYXVsdC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvcG93ZXJwYy9tbS9mYXVsdC5jCistLS0gYS9hcmNoL3Bvd2VycGMvbW0vZmF1bHQuYworKysrIGIvYXJjaC9wb3dlcnBjL21tL2ZhdWx0LmMKIEBAIC0yNjQsNyArMjY0LDcgQEAgaW50IF9fa3Byb2JlcyBkb19wYWdlX2ZhdWx0KHN0cnVjdCBwdF9yZQogIAlpZiAoIWFyY2hfaXJxX2Rpc2FibGVkX3JlZ3MocmVncykpCiAgCQlsb2NhbF9pcnFfZW5hYmxlKCk7CkBAIC0yMDAsMTAgKzE3NCw4IEBACiAgCQlpZiAoIXVzZXJfbW9kZShyZWdzKSkgewogIAkJCXJjID0gU0lHU0VHVjsKICAJCQlnb3RvIGJhaWw7Ci1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvczM5MC9tbS9mYXVsdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9zMzkwL21tL2ZhdWx0LmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9zMzkwL21tL2ZhdWx0LmMKKy0tLSBhL2FyY2gvczM5MC9tbS9mYXVsdC5jCisrKysgYi9hcmNoL3MzOTAvbW0vZmF1bHQuYwogQEAgLTI5Niw3ICsyOTYsOCBAQCBzdGF0aWMgaW5saW5lIGludCBkb19leGNlcHRpb24oc3RydWN0IHB0CiAgCSAqIHVzZXIgY29udGV4dC4KICAJICovCkBAIC0yMjQsMTAgKzE5Niw4IEBACiAgCQlnb3RvIG5vX2NvbnRleHQ7CiAgCiAgCWRvd25fcmVhZCgmbW0tPm1tYXBfc2VtKTsKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9zY29yZS9tbS9mYXVsdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9zY29yZS9tbS9mYXVsdC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvc2NvcmUvbW0vZmF1bHQuYworLS0tIGEvYXJjaC9zY29yZS9tbS9mYXVsdC5jCisrKysgYi9hcmNoL3Njb3JlL21tL2ZhdWx0LmMKIEBAIC03Miw3ICs3Miw3IEBAIGFzbWxpbmthZ2Ugdm9pZCBkb19wYWdlX2ZhdWx0KHN0cnVjdCBwdF8KICAJKiBJZiB3ZSdyZSBpbiBhbiBpbnRlcnJ1cHQgb3IgaGF2ZSBubyB1c2VyCiAgCSogY29udGV4dCwgd2UgbXVzdCBub3QgdGFrZSB0aGUgZmF1bHQuLgpAQCAtMjM3LDEwICsyMDcsOCBAQAogIAkJZ290byBiYWRfYXJlYV9ub3NlbWFwaG9yZTsKICAKICAJZG93bl9yZWFkKCZtbS0+bW1hcF9zZW0pOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3NoL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3NoL21tL2ZhdWx0LmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9zaC9tbS9mYXVsdC5jCistLS0gYS9hcmNoL3NoL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvc2gvbW0vZmF1bHQuYwogQEAgLTQ0MCw3ICs0NDAsNyBAQCBhc21saW5rYWdlIHZvaWQgX19rcHJvYmVzIGRvX3BhZ2VfZmF1bHQoCiAgCSAqIElmIHdlJ3JlIGluIGFuIGludGVycnVwdCwgaGF2ZSBubyB1c2VyIGNvbnRleHQgb3IgYXJlIHJ1bm5pbmcKICAJICogaW4gYW4gYXRvbWljIHJlZ2lvbiB0aGVuIHdlIG11c3Qgbm90IHRha2UgdGhlIGZhdWx0OgpAQCAtMjUwLDEwICsyMTgsOCBAQAogIAkJYmFkX2FyZWFfbm9zZW1hcGhvcmUocmVncywgZXJyb3JfY29kZSwgYWRkcmVzcyk7CiAgCQlyZXR1cm47CiAgCX0KLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9zcGFyYy9tbS9mYXVsdF8zMi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9zcGFyYy9tbS9mYXVsdF8zMi5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvc3BhcmMvbW0vZmF1bHRfMzIuYworLS0tIGEvYXJjaC9zcGFyYy9tbS9mYXVsdF8zMi5jCisrKysgYi9hcmNoL3NwYXJjL21tL2ZhdWx0XzMyLmMKIEBAIC0yMDAsNyArMjAwLDcgQEAgYXNtbGlua2FnZSB2b2lkIGRvX3NwYXJjX2ZhdWx0KHN0cnVjdCBwdAogIAkgKiBJZiB3ZSdyZSBpbiBhbiBpbnRlcnJ1cHQgb3IgaGF2ZSBubyB1c2VyCiAgCSAqIGNvbnRleHQsIHdlIG11c3Qgbm90IHRha2UgdGhlIGZhdWx0Li4KQEAgLTI2MywxMCArMjI5LDggQEAKICAJCWdvdG8gbm9fY29udGV4dDsKICAKICAJcGVyZl9zd19ldmVudChQRVJGX0NPVU5UX1NXX1BBR0VfRkFVTFRTLCAxLCByZWdzLCBhZGRyZXNzKTsKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9zcGFyYy9tbS9mYXVsdF82NC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9zcGFyYy9tbS9mYXVsdF82NC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvc3BhcmMvbW0vZmF1bHRfNjQuYworLS0tIGEvYXJjaC9zcGFyYy9tbS9mYXVsdF82NC5jCisrKysgYi9hcmNoL3NwYXJjL21tL2ZhdWx0XzY0LmMKIEBAIC0zMjEsNyArMzIxLDcgQEAgYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcyBkb19zcGFyYzY0X2ZhdQogIAkgKiBJZiB3ZSdyZSBpbiBhbiBpbnRlcnJ1cHQgb3IgaGF2ZSBubyB1c2VyCiAgCSAqIGNvbnRleHQsIHdlIG11c3Qgbm90IHRha2UgdGhlIGZhdWx0Li4KQEAgLTI3NiwxMCArMjQwLDggQEAKICAJCWdvdG8gaW50cl9vcl9ub19tbTsKICAKICAJcGVyZl9zd19ldmVudChQRVJGX0NPVU5UX1NXX1BBR0VfRkFVTFRTLCAxLCByZWdzLCBhZGRyZXNzKTsKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC90aWxlL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3RpbGUvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3RpbGUvbW0vZmF1bHQuYworLS0tIGEvYXJjaC90aWxlL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvdGlsZS9tbS9mYXVsdC5jCiBAQCAtMzYwLDcgKzM2MCw3IEBAIHN0YXRpYyBpbnQgaGFuZGxlX3BhZ2VfZmF1bHQoc3RydWN0IHB0X3IKICAJICogSWYgd2UncmUgaW4gYW4gaW50ZXJydXB0LCBoYXZlIG5vIHVzZXIgY29udGV4dCBvciBhcmUgcnVubmluZyBpbiBhbgogIAkgKiBhdG9taWMgcmVnaW9uIHRoZW4gd2UgbXVzdCBub3QgdGFrZSB0aGUgZmF1bHQuCkBAIC0yODksMTAgKzI1MSw4IEBACiAgCQl2bWEgPSBOVUxMOyAgLyogaGFwcHkgY29tcGlsZXIgKi8KICAJCWdvdG8gYmFkX2FyZWFfbm9zZW1hcGhvcmU7CiAgCX0KLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC91bS9rZXJuZWwvdHJhcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC91bS9rZXJuZWwvdHJhcC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvdW0va2VybmVsL3RyYXAuYworLS0tIGEvYXJjaC91bS9rZXJuZWwvdHJhcC5jCisrKysgYi9hcmNoL3VtL2tlcm5lbC90cmFwLmMKIEBAIC0zOSw3ICszOSw3IEBAIGludCBoYW5kbGVfcGFnZV9mYXVsdCh1bnNpZ25lZCBsb25nIGFkZHIKICAJICogSWYgdGhlIGZhdWx0IHdhcyBkdXJpbmcgYXRvbWljIG9wZXJhdGlvbiwgZG9uJ3QgdGFrZSB0aGUgZmF1bHQsIGp1c3QKICAJICogZmFpbC4KQEAgLTMwMiwxMCArMjYyLDggQEAKICAJCWdvdG8gb3V0X25vc2VtYXBob3JlOwogIAogIHJldHJ5OgotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9tbS9mYXVsdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC94ODYvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9tbS9mYXVsdC5jCistLS0gYS9hcmNoL3g4Ni9tbS9mYXVsdC5jCisrKysgYi9hcmNoL3g4Ni9tbS9mYXVsdC5jCiBAQCAtMTEwNCw3ICsxMTA0LDcgQEAgX19kb19wYWdlX2ZhdWx0KHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bgogIAkgKiBJZiB3ZSdyZSBpbiBhbiBpbnRlcnJ1cHQsIGhhdmUgbm8gdXNlciBjb250ZXh0IG9yIGFyZSBydW5uaW5nCiAgCSAqIGluIGFuIGF0b21pYyByZWdpb24gdGhlbiB3ZSBtdXN0IG5vdCB0YWtlIHRoZSBmYXVsdDoKQEAgLTMxNSwxMCArMjczLDggQEAKICAJCWJhZF9hcmVhX25vc2VtYXBob3JlKHJlZ3MsIGVycm9yX2NvZGUsIGFkZHJlc3MpOwogIAkJcmV0dXJuOwogIAl9Ci1JbmRleDogbGludXgtc3RhYmxlL2FyY2gveHRlbnNhL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3h0ZW5zYS9tbS9mYXVsdC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gveHRlbnNhL21tL2ZhdWx0LmMKKy0tLSBhL2FyY2gveHRlbnNhL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gveHRlbnNhL21tL2ZhdWx0LmMKIEBAIC01Nyw3ICs1Nyw3IEBAIHZvaWQgZG9fcGFnZV9mYXVsdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKICAJLyogSWYgd2UncmUgaW4gYW4gaW50ZXJydXB0IG9yIGhhdmUgbm8gdXNlcgogIAkgKiBjb250ZXh0LCB3ZSBtdXN0IG5vdCB0YWtlIHRoZSBmYXVsdC4uCmRpZmYgLS1naXQgYS9wYXRjaGVzL2FybS1hbGxvdy1pcnEtdGhyZWFkaW5nLnBhdGNoIGIvcGF0Y2hlcy9hcm0tYWxsb3ctaXJxLXRocmVhZGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZmNiYTEzCi0tLSAvZGV2L251bGwKKysrIGIvcGF0Y2hlcy9hcm0tYWxsb3ctaXJxLXRocmVhZGluZy5wYXRjaApAQCAtMCwwICsxLDIyIEBACitTdWJqZWN0OiBhcm06IEFsbG93IGZvcmNlZCBpcnEgdGhyZWFkaW5nCitGcm9tOiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4KK0RhdGU6IFNhdCwgMTYgSnVsIDIwMTEgMTM6MTU6MjAgKzAyMDAKKworQWxsIHRpbWVyIGludGVycnVwdHMgYW5kIHRoZSBwZXJmIGludGVycnVwdCBhcmUgbWFya2VkIE5PX1RIUkVBRCwgc28KK2l0cyBzYWZlIHRvIGFsbG93IGZvcmNlZCBpbnRlcnJ1cHQgdGhyZWFkaW5nLgorCitTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4KKy0tLQorIGFyY2gvYXJtL0tjb25maWcgfCAgICAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworLS0tIGEvYXJjaC9hcm0vS2NvbmZpZworKysrIGIvYXJjaC9hcm0vS2NvbmZpZworQEAgLTE5LDYgKzE5LDcgQEAgY29uZmlnIEFSTQorIAlzZWxlY3QgR0VORVJJQ19TVFJOQ1BZX0ZST01fVVNFUgorIAlzZWxlY3QgR0VORVJJQ19TVFJOTEVOX1VTRVIKKyAJc2VsZWN0IEhBUkRJUlFTX1NXX1JFU0VORAorKwlzZWxlY3QgSVJRX0ZPUkNFRF9USFJFQURJTkcKKyAJc2VsZWN0IEhBVkVfQVJDSF9KVU1QX0xBQkVMIGlmICFYSVBfS0VSTkVMCisgCXNlbGVjdCBIQVZFX0FSQ0hfS0dEQgorIAlzZWxlY3QgSEFWRV9BUkNIX1NFQ0NPTVBfRklMVEVSCmRpZmYgLS1naXQgYS9wYXRjaGVzL2FybS1hdDkxLXBpdC1yZW1vdmUtaXJxLWhhbmRsZXItd2hlbi1jbG9jay1pcy11bnVzZWQucGF0Y2ggYi9wYXRjaGVzL2FybS1hdDkxLXBpdC1yZW1vdmUtaXJxLWhhbmRsZXItd2hlbi1jbG9jay1pcy11bnVzZWQucGF0Y2gKaW5kZXggMDJjMTU2Ni4uMzhmMDU5ZSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9hcm0tYXQ5MS1waXQtcmVtb3ZlLWlycS1oYW5kbGVyLXdoZW4tY2xvY2staXMtdW51c2VkLnBhdGNoCisrKyBiL3BhdGNoZXMvYXJtLWF0OTEtcGl0LXJlbW92ZS1pcnEtaGFuZGxlci13aGVuLWNsb2NrLWlzLXVudXNlZC5wYXRjaApAQCAtMTQsMTAgKzE0LDggQEAKICBhcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNnhfdGltZS5jIHwgICAgNSArKysrLQogIDIgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFybTkyMDBfdGltZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFybTkyMDBfdGltZS5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxcm05MjAwX3RpbWUuYworLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFybTkyMDBfdGltZS5jCisrKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXJtOTIwMF90aW1lLmMKIEBAIC0xMzQsNiArMTM0LDcgQEAgY2xrZXZ0MzJrX21vZGUoZW51bSBjbG9ja19ldmVudF9tb2RlIG1vZAogIAkJYnJlYWs7CiAgCWNhc2UgQ0xPQ0tfRVZUX01PREVfU0hVVERPV046CkBAIC0yNiwxMCArMjQsOCBAQAogIAljYXNlIENMT0NLX0VWVF9NT0RFX1JFU1VNRToKICAJCWlycW1hc2sgPSAwOwogIAkJYnJlYWs7Ci1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2eF90aW1lLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNnhfdGltZS5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2eF90aW1lLmMKKy0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2eF90aW1lLmMKKysrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2eF90aW1lLmMKIEBAIC03Nyw3ICs3Nyw3IEBAIHN0YXRpYyBzdHJ1Y3QgY2xvY2tzb3VyY2UgcGl0X2NsayA9IHsKICAJLmZsYWdzCQk9IENMT0NLX1NPVVJDRV9JU19DT05USU5VT1VTLAogIH07CmRpZmYgLS1naXQgYS9wYXRjaGVzL2FybS1hdDkxLXRjbGliLWRlZmF1bHQtdG8tdGNsaWItdGltZXItZm9yLXJ0LnBhdGNoIGIvcGF0Y2hlcy9hcm0tYXQ5MS10Y2xpYi1kZWZhdWx0LXRvLXRjbGliLXRpbWVyLWZvci1ydC5wYXRjaAppbmRleCBmZTQwYWRlLi5iNjQ5Y2Q0IDEwMDY0NAotLS0gYS9wYXRjaGVzL2FybS1hdDkxLXRjbGliLWRlZmF1bHQtdG8tdGNsaWItdGltZXItZm9yLXJ0LnBhdGNoCisrKyBiL3BhdGNoZXMvYXJtLWF0OTEtdGNsaWItZGVmYXVsdC10by10Y2xpYi10aW1lci1mb3ItcnQucGF0Y2gKQEAgLTExLDEwICsxMSw4IEBACiAgZHJpdmVycy9taXNjL0tjb25maWcgfCAgICAzICsrLQogIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL21pc2MvS2NvbmZpZwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2RyaXZlcnMvbWlzYy9LY29uZmlnCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvbWlzYy9LY29uZmlnCistLS0gYS9kcml2ZXJzL21pc2MvS2NvbmZpZworKysrIGIvZHJpdmVycy9taXNjL0tjb25maWcKIEBAIC02Myw2ICs2Myw3IEBAIGNvbmZpZyBBVE1FTF9QV00KICBjb25maWcgQVRNRUxfVENMSUIKICAJYm9vbCAiQXRtZWwgQVQzMi9BVDkxIFRpbWVyL0NvdW50ZXIgTGlicmFyeSIKZGlmZiAtLWdpdCBhL3BhdGNoZXMvYXJtLWNvbnZlcnQtYm9vdC1sb2NrLXRvLXJhdy5wYXRjaCBiL3BhdGNoZXMvYXJtLWNvbnZlcnQtYm9vdC1sb2NrLXRvLXJhdy5wYXRjaAppbmRleCA1ZTEzYTcxLi4xNTAzYzQzIDEwMDY0NAotLS0gYS9wYXRjaGVzL2FybS1jb252ZXJ0LWJvb3QtbG9jay10by1yYXcucGF0Y2gKKysrIGIvcGF0Y2hlcy9hcm0tY29udmVydC1ib290LWxvY2stdG8tcmF3LnBhdGNoCkBAIC0xLDcgKzEsNiBAQAotU3ViamVjdDogcHJlZW1wdC1ydDogQ29udmVydCBhcm0gYm9vdF9sb2NrIHRvIHJhdwogRnJvbTogRnJhbmsgUm93YW5kIDxmcmFuay5yb3dhbmRAYW0uc29ueS5jb20+CiBEYXRlOiBNb24sIDE5IFNlcCAyMDExIDE0OjUxOjE0IC0wNzAwCi0KK1N1YmplY3Q6IFtQQVRDSF0gcHJlZW1wdC1ydDogQ29udmVydCBhcm0gYm9vdF9sb2NrIHRvIHJhdwogCiBUaGUgYXJtIGJvb3RfbG9jayBpcyB1c2VkIGJ5IHRoZSBzZWNvbmRhcnkgcHJvY2Vzc29yIHN0YXJ0dXAgY29kZS4gIFRoZSBsb2NraW5nCiB0YXNrIGlzIHRoZSBpZGxlIHRocmVhZCwgd2hpY2ggaGFzIGlkbGUtPnNjaGVkX2NsYXNzID09ICZpZGxlX3NjaGVkX2NsYXNzLgpAQCAtMjQsMTUgKzIzLDEzIEBACiAgYXJjaC9hcm0vbWFjaC1tc20vcGxhdHNtcC5jICAgICAgIHwgICAxMCArKysrKy0tLS0tCiAgYXJjaC9hcm0vbWFjaC1vbWFwMi9vbWFwLXNtcC5jICAgIHwgICAxMCArKysrKy0tLS0tCiAgYXJjaC9hcm0vbWFjaC1wcmltYTIvcGxhdHNtcC5jICAgIHwgICAxMCArKysrKy0tLS0tCi0gYXJjaC9hcm0vbWFjaC1zcGVhci9wbGF0c21wLmMgICAgIHwgICAgOCArKysrLS0tLQorIGFyY2gvYXJtL21hY2gtc3BlYXIvcGxhdHNtcC5jICAgICB8ICAgMTAgKysrKystLS0tLQogIGFyY2gvYXJtL21hY2gtdXg1MDAvcGxhdHNtcC5jICAgICB8ICAgMTAgKysrKystLS0tLQogIGFyY2gvYXJtL3BsYXQtdmVyc2F0aWxlL3BsYXRzbXAuYyB8ICAgMTAgKysrKystLS0tLQotIDcgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCisgNyBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL2FybS9tYWNoLWV4eW5vcy9wbGF0c21wLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL2FybS9tYWNoLWV4eW5vcy9wbGF0c21wLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9hcm0vbWFjaC1leHlub3MvcGxhdHNtcC5jCistLS0gYS9hcmNoL2FybS9tYWNoLWV4eW5vcy9wbGF0c21wLmMKKysrKyBiL2FyY2gvYXJtL21hY2gtZXh5bm9zL3BsYXRzbXAuYwogQEAgLTcxLDcgKzcxLDcgQEAgc3RhdGljIHZvaWQgX19pb21lbSAqc2N1X2Jhc2VfYWRkcih2b2lkKQogIAlyZXR1cm4gKHZvaWQgX19pb21lbSAqKShTNVBfVkFfU0NVKTsKICB9CkBAIC04MCwxMCArNzcsOCBAQAogIAogIAlyZXR1cm4gcGVuX3JlbGVhc2UgIT0gLTEgPyAtRU5PU1lTIDogMDsKICB9Ci1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvYXJtL21hY2gtbXNtL3BsYXRzbXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvYXJtL21hY2gtbXNtL3BsYXRzbXAuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL2FybS9tYWNoLW1zbS9wbGF0c21wLmMKKy0tLSBhL2FyY2gvYXJtL21hY2gtbXNtL3BsYXRzbXAuYworKysrIGIvYXJjaC9hcm0vbWFjaC1tc20vcGxhdHNtcC5jCiBAQCAtMzAsNyArMzAsNyBAQAogIAogIGV4dGVybiB2b2lkIG1zbV9zZWNvbmRhcnlfc3RhcnR1cCh2b2lkKTsKQEAgLTEyMiwxMCArMTE3LDggQEAKICAKICAJcmV0dXJuIHBlbl9yZWxlYXNlICE9IC0xID8gLUVOT1NZUyA6IDA7CiAgfQotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL2FybS9tYWNoLW9tYXAyL29tYXAtc21wLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL2FybS9tYWNoLW9tYXAyL29tYXAtc21wLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9hcm0vbWFjaC1vbWFwMi9vbWFwLXNtcC5jCistLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL29tYXAtc21wLmMKKysrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvb21hcC1zbXAuYwogQEAgLTQ0LDcgKzQ0LDcgQEAgdTE2IHBtNDR4eF9lcnJhdGE7CiAgLyogU0NVIGJhc2UgYWRkcmVzcyAqLwogIHN0YXRpYyB2b2lkIF9faW9tZW0gKnNjdV9iYXNlOwpAQCAtMTY0LDEwICsxNTcsOCBAQAogIAogIAlyZXR1cm4gMDsKICB9Ci1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvYXJtL21hY2gtcHJpbWEyL3BsYXRzbXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvYXJtL21hY2gtcHJpbWEyL3BsYXRzbXAuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL2FybS9tYWNoLXByaW1hMi9wbGF0c21wLmMKKy0tLSBhL2FyY2gvYXJtL21hY2gtcHJpbWEyL3BsYXRzbXAuYworKysrIGIvYXJjaC9hcm0vbWFjaC1wcmltYTIvcGxhdHNtcC5jCiBAQCAtMjMsNyArMjMsNyBAQAogIHN0YXRpYyB2b2lkIF9faW9tZW0gKnNjdV9iYXNlOwogIHN0YXRpYyB2b2lkIF9faW9tZW0gKnJzY19iYXNlOwpAQCAtMjA2LDEwICsxOTcsMTcgQEAKICAKICAJcmV0dXJuIHBlbl9yZWxlYXNlICE9IC0xID8gLUVOT1NZUyA6IDA7CiAgfQotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL2FybS9tYWNoLXNwZWFyL3BsYXRzbXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvYXJtL21hY2gtc3BlYXIvcGxhdHNtcC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvYXJtL21hY2gtc3BlYXIvcGxhdHNtcC5jCistLS0gYS9hcmNoL2FybS9tYWNoLXNwZWFyL3BsYXRzbXAuYworKysrIGIvYXJjaC9hcm0vbWFjaC1zcGVhci9wbGF0c21wLmMKK0BAIC0yMCw3ICsyMCw3IEBACisgI2luY2x1ZGUgPG1hY2gvc3BlYXIuaD4KKyAjaW5jbHVkZSAiZ2VuZXJpYy5oIgorIAorLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0soYm9vdF9sb2NrKTsKKytzdGF0aWMgREVGSU5FX1JBV19TUElOTE9DSyhib290X2xvY2spOworIAorIHN0YXRpYyB2b2lkIF9faW9tZW0gKnNjdV9iYXNlID0gSU9NRU0oVkFfU0NVX0JBU0UpOworIAogQEAgLTM2LDggKzM2LDggQEAgc3RhdGljIHZvaWQgX19jcHVpbml0IHNwZWFyMTN4eF9zZWNvbmRhcgogIAkvKgogIAkgKiBTeW5jaHJvbmlzZSB3aXRoIHRoZSBib290IHRocmVhZC4KQEAgLTIzOSwxMCArMjM3LDggQEAKICAKICAJcmV0dXJuIHBlbl9yZWxlYXNlICE9IC0xID8gLUVOT1NZUyA6IDA7CiAgfQotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL2FybS9tYWNoLXV4NTAwL3BsYXRzbXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvYXJtL21hY2gtdXg1MDAvcGxhdHNtcC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvYXJtL21hY2gtdXg1MDAvcGxhdHNtcC5jCistLS0gYS9hcmNoL2FybS9tYWNoLXV4NTAwL3BsYXRzbXAuYworKysrIGIvYXJjaC9hcm0vbWFjaC11eDUwMC9wbGF0c21wLmMKIEBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyB2b2lkIF9faW9tZW0gKnNjdV9iYXNlX2FkZHIodm9pZCkKICAJcmV0dXJuIE5VTEw7CiAgfQpAQCAtMjgxLDEwICsyNzcsOCBAQAogIAogIAlyZXR1cm4gcGVuX3JlbGVhc2UgIT0gLTEgPyAtRU5PU1lTIDogMDsKICB9Ci1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvYXJtL3BsYXQtdmVyc2F0aWxlL3BsYXRzbXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvYXJtL3BsYXQtdmVyc2F0aWxlL3BsYXRzbXAuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL2FybS9wbGF0LXZlcnNhdGlsZS9wbGF0c21wLmMKKy0tLSBhL2FyY2gvYXJtL3BsYXQtdmVyc2F0aWxlL3BsYXRzbXAuYworKysrIGIvYXJjaC9hcm0vcGxhdC12ZXJzYXRpbGUvcGxhdHNtcC5jCiBAQCAtMzEsNyArMzEsNyBAQCBzdGF0aWMgdm9pZCBfX2NwdWluaXQgd3JpdGVfcGVuX3JlbGVhc2UoCiAgCW91dGVyX2NsZWFuX3JhbmdlKF9fcGEoJnBlbl9yZWxlYXNlKSwgX19wYSgmcGVuX3JlbGVhc2UgKyAxKSk7CiAgfQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9hcm0tZGlzYWJsZS1oaWdobWVtLW9uLXJ0LnBhdGNoIGIvcGF0Y2hlcy9hcm0tZGlzYWJsZS1oaWdobWVtLW9uLXJ0LnBhdGNoCmluZGV4IGQ2OWUzMDcuLmNiZmQ1MTkgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvYXJtLWRpc2FibGUtaGlnaG1lbS1vbi1ydC5wYXRjaAorKysgYi9wYXRjaGVzL2FybS1kaXNhYmxlLWhpZ2htZW0tb24tcnQucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGFyY2gvYXJtL0tjb25maWcgfCAgICAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9hcm0vS2NvbmZpZwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvYXJtL0tjb25maWcKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9hcm0vS2NvbmZpZworLS0tIGEvYXJjaC9hcm0vS2NvbmZpZworKysrIGIvYXJjaC9hcm0vS2NvbmZpZwogQEAgLTE3MDQsNyArMTcwNCw3IEBAIGNvbmZpZyBIQVZFX0FSQ0hfUEZOX1ZBTElECiAgCiAgY29uZmlnIEhJR0hNRU0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvYXJtLWVuYWJsZS1oaWdobWVtLWZvci1ydC5wYXRjaCBiL3BhdGNoZXMvYXJtLWVuYWJsZS1oaWdobWVtLWZvci1ydC5wYXRjaAppbmRleCA2OGRlODFiLi5lZDk0MTcxIDEwMDY0NAotLS0gYS9wYXRjaGVzL2FybS1lbmFibGUtaGlnaG1lbS1mb3ItcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy9hcm0tZW5hYmxlLWhpZ2htZW0tZm9yLXJ0LnBhdGNoCkBAIC0xMCwxMCArMTAsOCBAQAogIGluY2x1ZGUvbGludXgvaGlnaG1lbS5oICAgICAgICAgIHwgICAgMSAKICA0IGZpbGVzIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9hcm0vS2NvbmZpZwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvYXJtL0tjb25maWcKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9hcm0vS2NvbmZpZworLS0tIGEvYXJjaC9hcm0vS2NvbmZpZworKysrIGIvYXJjaC9hcm0vS2NvbmZpZwogQEAgLTE3MDQsNyArMTcwNCw3IEBAIGNvbmZpZyBIQVZFX0FSQ0hfUEZOX1ZBTElECiAgCiAgY29uZmlnIEhJR0hNRU0KQEAgLTIzLDEwICsyMSw4IEBACiAgCWhlbHAKICAJICBUaGUgYWRkcmVzcyBzcGFjZSBvZiBBUk0gcHJvY2Vzc29ycyBpcyBvbmx5IDQgR2lnYWJ5dGVzIGxhcmdlCiAgCSAgYW5kIGl0IGhhcyB0byBhY2NvbW1vZGF0ZSB1c2VyIGFkZHJlc3Mgc3BhY2UsIGtlcm5lbCBhZGRyZXNzCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3N3aXRjaF90by5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9hcm0vaW5jbHVkZS9hc20vc3dpdGNoX3RvLmgKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9hcm0vaW5jbHVkZS9hc20vc3dpdGNoX3RvLmgKKy0tLSBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3N3aXRjaF90by5oCisrKysgYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9zd2l0Y2hfdG8uaAogQEAgLTMsNiArMywxNCBAQAogIAogICNpbmNsdWRlIDxsaW51eC90aHJlYWRfaW5mby5oPgpAQCAtNTAsMTAgKzQ2LDggQEAKICAJbGFzdCA9IF9fc3dpdGNoX3RvKHByZXYsdGFza190aHJlYWRfaW5mbyhwcmV2KSwgdGFza190aHJlYWRfaW5mbyhuZXh0KSk7CVwKICB9IHdoaWxlICgwKQogIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL2FybS9tbS9oaWdobWVtLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL2FybS9tbS9oaWdobWVtLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9hcm0vbW0vaGlnaG1lbS5jCistLS0gYS9hcmNoL2FybS9tbS9oaWdobWVtLmMKKysrKyBiL2FyY2gvYXJtL21tL2hpZ2htZW0uYwogQEAgLTM4LDYgKzM4LDcgQEAgRVhQT1JUX1NZTUJPTChrdW5tYXApOwogIAogIHZvaWQgKmttYXBfYXRvbWljKHN0cnVjdCBwYWdlICpwYWdlKQpAQCAtMTM0LDEwICsxMjgsOCBAQAogKwl9CiArfQogKyNlbmRpZgotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2hpZ2htZW0uaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvaGlnaG1lbS5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvaGlnaG1lbS5oCistLS0gYS9pbmNsdWRlL2xpbnV4L2hpZ2htZW0uaAorKysrIGIvaW5jbHVkZS9saW51eC9oaWdobWVtLmgKIEBAIC03LDYgKzcsNyBAQAogICNpbmNsdWRlIDxsaW51eC9tbS5oPgogICNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CmRpZmYgLS1naXQgYS9wYXRjaGVzL2FybS1tYXJrLXBtdS1pbnRlcnVwdC1uby10aHJlYWQucGF0Y2ggYi9wYXRjaGVzL2FybS1tYXJrLXBtdS1pbnRlcnVwdC1uby10aHJlYWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmY5N2VlMAotLS0gL2Rldi9udWxsCisrKyBiL3BhdGNoZXMvYXJtLW1hcmstcG11LWludGVydXB0LW5vLXRocmVhZC5wYXRjaApAQCAtMCwwICsxLDIzIEBACitTdWJqZWN0OiBhcm06IE1hcmsgcG11IGludGVydXB0IElSUUZfTk9fVEhSRUFECitGcm9tOiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4KK0RhdGU6IFdlZCwgMTYgTWFyIDIwMTEgMTQ6NDU6MzEgKzAxMDAKKworUE1VIGludGVycnVwdHMgbXVzdCBub3QgYmUgdGhyZWFkZWQuCisKK1NpZ25lZC1vZmYtYnk6IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPgorLS0tCisgYXJjaC9hcm0va2VybmVsL3BlcmZfZXZlbnRfY3B1LmMgfCAgICAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworLS0tIGEvYXJjaC9hcm0va2VybmVsL3BlcmZfZXZlbnRfY3B1LmMKKysrKyBiL2FyY2gvYXJtL2tlcm5lbC9wZXJmX2V2ZW50X2NwdS5jCitAQCAtMTE4LDcgKzExOCw4IEBAIHN0YXRpYyBpbnQgY3B1X3BtdV9yZXF1ZXN0X2lycShzdHJ1Y3QgYXIKKyAJCQljb250aW51ZTsKKyAJCX0KKyAKKy0JCWVyciA9IHJlcXVlc3RfaXJxKGlycSwgaGFuZGxlciwgSVJRRl9OT0JBTEFOQ0lORywgImFybS1wbXUiLAorKwkJZXJyID0gcmVxdWVzdF9pcnEoaXJxLCBoYW5kbGVyLAorKwkJCQkgIElSUUZfTk9CQUxBTkNJTkcgfCBJUlFGX05PX1RIUkVBRCwgImFybS1wbXUiLAorIAkJCQkgIGNwdV9wbXUpOworIAkJaWYgKGVycikgeworIAkJCXByX2VycigidW5hYmxlIHRvIHJlcXVlc3QgSVJRJWQgZm9yIEFSTSBQTVUgY291bnRlcnNcbiIsCmRpZmYgLS1naXQgYS9wYXRjaGVzL2FybS1wcmVlbXB0LWxhenktc3VwcG9ydC5wYXRjaCBiL3BhdGNoZXMvYXJtLXByZWVtcHQtbGF6eS1zdXBwb3J0LnBhdGNoCmluZGV4IDY0OGFjNzAuLjg2NGIzNmUgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvYXJtLXByZWVtcHQtbGF6eS1zdXBwb3J0LnBhdGNoCisrKyBiL3BhdGNoZXMvYXJtLXByZWVtcHQtbGF6eS1zdXBwb3J0LnBhdGNoCkBAIC0xMSwxMSArMTEsOSBAQAogIGFyY2gvYXJtL2tlcm5lbC9zaWduYWwuYyAgICAgICAgICAgfCAgICAzICsrLQogIDUgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL2FybS9LY29uZmlnCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9hcm0vS2NvbmZpZwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL2FybS9LY29uZmlnCi1AQCAtNDgsNiArNDgsNyBAQCBjb25maWcgQVJNCistLS0gYS9hcmNoL2FybS9LY29uZmlnCisrKysgYi9hcmNoL2FybS9LY29uZmlnCitAQCAtNDcsNiArNDcsNyBAQCBjb25maWcgQVJNCiAgCXNlbGVjdCBIQVZFX01FTUJMT0NLCiAgCXNlbGVjdCBIQVZFX09QUk9GSUxFIGlmIChIQVZFX1BFUkZfRVZFTlRTKQogIAlzZWxlY3QgSEFWRV9QRVJGX0VWRU5UUwpAQCAtMjMsMTAgKzIxLDggQEAKICAJc2VsZWN0IEhBVkVfUkVHU19BTkRfU1RBQ0tfQUNDRVNTX0FQSQogIAlzZWxlY3QgSEFWRV9TWVNDQUxMX1RSQUNFUE9JTlRTCiAgCXNlbGVjdCBIQVZFX1VJRDE2Ci1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL2FybS9pbmNsdWRlL2FzbS90aHJlYWRfaW5mby5oCi0rKysgbGludXgtc3RhYmxlL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmgKKy0tLSBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmgKKysrKyBiL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmgKIEBAIC01MCw2ICs1MCw3IEBAIHN0cnVjdCBjcHVfY29udGV4dF9zYXZlIHsKICBzdHJ1Y3QgdGhyZWFkX2luZm8gewogIAl1bnNpZ25lZCBsb25nCQlmbGFnczsJCS8qIGxvdyBsZXZlbCBmbGFncyAqLwpAQCAtNDMsNyArMzksNyBAQAogICNkZWZpbmUgVElGX1NZU0NBTExfVFJBQ0UJOAogICNkZWZpbmUgVElGX1NZU0NBTExfQVVESVQJOQogICNkZWZpbmUgVElGX1NZU0NBTExfVFJBQ0VQT0lOVAkxMAotQEAgLTE2MSw2ICsxNjMsNyBAQCBleHRlcm4gaW50IHZmcF9yZXN0b3JlX3VzZXJfaHdzdGF0ZShzdHJ1CitAQCAtMTYwLDYgKzE2Miw3IEBAIGV4dGVybiBpbnQgdmZwX3Jlc3RvcmVfdXNlcl9od3N0YXRlKHN0cnUKICAjZGVmaW5lIF9USUZfU0lHUEVORElORwkJKDEgPDwgVElGX1NJR1BFTkRJTkcpCiAgI2RlZmluZSBfVElGX05FRURfUkVTQ0hFRAkoMSA8PCBUSUZfTkVFRF9SRVNDSEVEKQogICNkZWZpbmUgX1RJRl9OT1RJRllfUkVTVU1FCSgxIDw8IFRJRl9OT1RJRllfUkVTVU1FKQpAQCAtNTEsMTAgKzQ3LDggQEAKICAjZGVmaW5lIF9USUZfU1lTQ0FMTF9UUkFDRQkoMSA8PCBUSUZfU1lTQ0FMTF9UUkFDRSkKICAjZGVmaW5lIF9USUZfU1lTQ0FMTF9BVURJVAkoMSA8PCBUSUZfU1lTQ0FMTF9BVURJVCkKICAjZGVmaW5lIF9USUZfU1lTQ0FMTF9UUkFDRVBPSU5UCSgxIDw8IFRJRl9TWVNDQUxMX1RSQUNFUE9JTlQpCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvYXJtL2tlcm5lbC9hc20tb2Zmc2V0cy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9hcm0va2VybmVsL2FzbS1vZmZzZXRzLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9hcm0va2VybmVsL2FzbS1vZmZzZXRzLmMKKy0tLSBhL2FyY2gvYXJtL2tlcm5lbC9hc20tb2Zmc2V0cy5jCisrKysgYi9hcmNoL2FybS9rZXJuZWwvYXNtLW9mZnNldHMuYwogQEAgLTUzLDYgKzUzLDcgQEAgaW50IG1haW4odm9pZCkKICAgIEJMQU5LKCk7CiAgICBERUZJTkUoVElfRkxBR1MsCQlvZmZzZXRvZihzdHJ1Y3QgdGhyZWFkX2luZm8sIGZsYWdzKSk7CkBAIC02MywxMCArNTcsOCBAQAogICAgREVGSU5FKFRJX0FERFJfTElNSVQsCQlvZmZzZXRvZihzdHJ1Y3QgdGhyZWFkX2luZm8sIGFkZHJfbGltaXQpKTsKICAgIERFRklORShUSV9UQVNLLAkJb2Zmc2V0b2Yoc3RydWN0IHRocmVhZF9pbmZvLCB0YXNrKSk7CiAgICBERUZJTkUoVElfRVhFQ19ET01BSU4sCW9mZnNldG9mKHN0cnVjdCB0aHJlYWRfaW5mbywgZXhlY19kb21haW4pKTsKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9hcm0va2VybmVsL2VudHJ5LWFybXYuUwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvYXJtL2tlcm5lbC9lbnRyeS1hcm12LlMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9hcm0va2VybmVsL2VudHJ5LWFybXYuUworLS0tIGEvYXJjaC9hcm0va2VybmVsL2VudHJ5LWFybXYuUworKysrIGIvYXJjaC9hcm0va2VybmVsL2VudHJ5LWFybXYuUwogQEAgLTIwNCwxMSArMjA0LDE4IEBAIF9faXJxX3N2YzoKICAjaWZkZWYgQ09ORklHX1BSRUVNUFQKICAJZ2V0X3RocmVhZF9pbmZvIHRzawpAQCAtOTcsMTEgKzg5LDkgQEAKICAJbW92ZXEJcGMsIHI4CQkJCUAgZ28gYWdhaW4KICAJYgkxYgogICNlbmRpZgotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL2FybS9rZXJuZWwvc2lnbmFsLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL2FybS9rZXJuZWwvc2lnbmFsLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9hcm0va2VybmVsL3NpZ25hbC5jCi1AQCAtNTc2LDcgKzU3Niw4IEBAIGFzbWxpbmthZ2UgaW50CistLS0gYS9hcmNoL2FybS9rZXJuZWwvc2lnbmFsLmMKKysrKyBiL2FyY2gvYXJtL2tlcm5lbC9zaWduYWwuYworQEAgLTU4NCw3ICs1ODQsOCBAQCBhc21saW5rYWdlIGludAogIGRvX3dvcmtfcGVuZGluZyhzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgaW50IHRocmVhZF9mbGFncywgaW50IHN5c2NhbGwpCiAgewogIAlkbyB7CmRpZmYgLS1naXQgYS9wYXRjaGVzL2F0YS1kaXNhYmxlLWludGVycnVwdHMtaWYtbm9uLXJ0LnBhdGNoIGIvcGF0Y2hlcy9hdGEtZGlzYWJsZS1pbnRlcnJ1cHRzLWlmLW5vbi1ydC5wYXRjaAppbmRleCA2NDM2ZTJjLi42MDg4Y2Q4IDEwMDY0NAotLS0gYS9wYXRjaGVzL2F0YS1kaXNhYmxlLWludGVycnVwdHMtaWYtbm9uLXJ0LnBhdGNoCisrKyBiL3BhdGNoZXMvYXRhLWRpc2FibGUtaW50ZXJydXB0cy1pZi1ub24tcnQucGF0Y2gKQEAgLTEyLDEwICsxMiw4IEBACiAgZHJpdmVycy9hdGEvbGliYXRhLXNmZi5jIHwgICAxMiArKysrKystLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2RyaXZlcnMvYXRhL2xpYmF0YS1zZmYuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2RyaXZlcnMvYXRhL2xpYmF0YS1zZmYuYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL2F0YS9saWJhdGEtc2ZmLmMKKy0tLSBhL2RyaXZlcnMvYXRhL2xpYmF0YS1zZmYuYworKysrIGIvZHJpdmVycy9hdGEvbGliYXRhLXNmZi5jCiBAQCAtNjc4LDkgKzY3OCw5IEBAIHVuc2lnbmVkIGludCBhdGFfc2ZmX2RhdGFfeGZlcl9ub2lycShzdHIKICAJdW5zaWduZWQgbG9uZyBmbGFnczsKICAJdW5zaWduZWQgaW50IGNvbnN1bWVkOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9ibG9jay1zaG9ydGVuLWludGVycnVwdC1kaXNhYmxlZC1yZWdpb25zLnBhdGNoIGIvcGF0Y2hlcy9ibG9jay1zaG9ydGVuLWludGVycnVwdC1kaXNhYmxlZC1yZWdpb25zLnBhdGNoCmluZGV4IDgzMmM0YjEuLjMzODkyN2YgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvYmxvY2stc2hvcnRlbi1pbnRlcnJ1cHQtZGlzYWJsZWQtcmVnaW9ucy5wYXRjaAorKysgYi9wYXRjaGVzL2Jsb2NrLXNob3J0ZW4taW50ZXJydXB0LWRpc2FibGVkLXJlZ2lvbnMucGF0Y2gKQEAgLTQ2LDEwICs0Niw4IEBACiAgYmxvY2svYmxrLWNvcmUuYyB8ICAgMTIgKystLS0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYmxvY2svYmxrLWNvcmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2Jsb2NrL2Jsay1jb3JlLmMKLSsrKyBsaW51eC1zdGFibGUvYmxvY2svYmxrLWNvcmUuYworLS0tIGEvYmxvY2svYmxrLWNvcmUuYworKysrIGIvYmxvY2svYmxrLWNvcmUuYwogQEAgLTI5MDcsNyArMjkwNyw3IEBAIHN0YXRpYyB2b2lkIHF1ZXVlX3VucGx1Z2dlZChzdHJ1Y3QgcmVxdWUKICAJCWJsa19ydW5fcXVldWVfYXN5bmMocSk7CiAgCWVsc2UKZGlmZiAtLWdpdCBhL3BhdGNoZXMvYmxvY2stdXNlLWNwdS1jaGlsbC5wYXRjaCBiL3BhdGNoZXMvYmxvY2stdXNlLWNwdS1jaGlsbC5wYXRjaAppbmRleCBlOTk5MzJhLi45N2QyMTczIDEwMDY0NAotLS0gYS9wYXRjaGVzL2Jsb2NrLXVzZS1jcHUtY2hpbGwucGF0Y2gKKysrIGIvcGF0Y2hlcy9ibG9jay11c2UtY3B1LWNoaWxsLnBhdGNoCkBAIC0xNSwxMCArMTUsOCBAQAogIGJsb2NrL2Jsay1pb2MuYyB8ICAgIDUgKysrLS0KICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2Jsb2NrL2Jsay1pb2MuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2Jsb2NrL2Jsay1pb2MuYwotKysrIGxpbnV4LXN0YWJsZS9ibG9jay9ibGstaW9jLmMKKy0tLSBhL2Jsb2NrL2Jsay1pb2MuYworKysrIGIvYmxvY2svYmxrLWlvYy5jCiBAQCAtOCw2ICs4LDcgQEAKICAjaW5jbHVkZSA8bGludXgvYmxrZGV2Lmg+CiAgI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4JLyogZm9yIG1heF9wZm4vbWF4X2xvd19wZm4gKi8KZGlmZiAtLWdpdCBhL3BhdGNoZXMvYnVnLXJ0LWRlcGVuZGVuZC12YXJpYW50cy5wYXRjaCBiL3BhdGNoZXMvYnVnLXJ0LWRlcGVuZGVuZC12YXJpYW50cy5wYXRjaAppbmRleCAzNWE4MGUxLi41ZjdhMWUzIDEwMDY0NAotLS0gYS9wYXRjaGVzL2J1Zy1ydC1kZXBlbmRlbmQtdmFyaWFudHMucGF0Y2gKKysrIGIvcGF0Y2hlcy9idWctcnQtZGVwZW5kZW5kLXZhcmlhbnRzLnBhdGNoCkBAIC05LDEwICs5LDggQEAKICBpbmNsdWRlL2FzbS1nZW5lcmljL2J1Zy5oIHwgICAxNCArKysrKysrKysrKysrKwogIDEgZmlsZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9hc20tZ2VuZXJpYy9idWcuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvYXNtLWdlbmVyaWMvYnVnLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9hc20tZ2VuZXJpYy9idWcuaAorLS0tIGEvaW5jbHVkZS9hc20tZ2VuZXJpYy9idWcuaAorKysrIGIvaW5jbHVkZS9hc20tZ2VuZXJpYy9idWcuaAogQEAgLTIwMiw2ICsyMDIsMjAgQEAgZXh0ZXJuIHZvaWQgd2Fybl9zbG93cGF0aF9udWxsKGNvbnN0IGNoYQogICMgZGVmaW5lIFdBUk5fT05fU01QKHgpCQkJKHswO30pCiAgI2VuZGlmCmRpZmYgLS1naXQgYS9wYXRjaGVzL2Nsb2Nrc291cmNlLXRjbGliLWFsbG93LWhpZ2hlci1jbG9ja3JhdGVzLnBhdGNoIGIvcGF0Y2hlcy9jbG9ja3NvdXJjZS10Y2xpYi1hbGxvdy1oaWdoZXItY2xvY2tyYXRlcy5wYXRjaAppbmRleCBlNTRjOGJiLi41MmRhYzIxIDEwMDY0NAotLS0gYS9wYXRjaGVzL2Nsb2Nrc291cmNlLXRjbGliLWFsbG93LWhpZ2hlci1jbG9ja3JhdGVzLnBhdGNoCisrKyBiL3BhdGNoZXMvY2xvY2tzb3VyY2UtdGNsaWItYWxsb3ctaGlnaGVyLWNsb2NrcmF0ZXMucGF0Y2gKQEAgLTEzLDEwICsxMyw4IEBACiAgZHJpdmVycy9taXNjL0tjb25maWcgICAgICAgICAgICAgfCAgIDEyICsrKysrKysrKystLQogIDIgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9jbG9ja3NvdXJjZS90Y2JfY2xrc3JjLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL2Nsb2Nrc291cmNlL3RjYl9jbGtzcmMuYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL2Nsb2Nrc291cmNlL3RjYl9jbGtzcmMuYworLS0tIGEvZHJpdmVycy9jbG9ja3NvdXJjZS90Y2JfY2xrc3JjLmMKKysrKyBiL2RyaXZlcnMvY2xvY2tzb3VyY2UvdGNiX2Nsa3NyYy5jCiBAQCAtMjMsOCArMjMsNyBAQAogICAqICAgICB0aGlzIDMyIGJpdCBmcmVlLXJ1bm5pbmcgY291bnRlci4gdGhlIHNlY29uZCBjaGFubmVsIGlzIG5vdCB1c2VkLgogICAqCkBAIC0xMTAsMTAgKzEwOCw4IEBACiAgCXJldHVybiAwOwogIH0KICBhcmNoX2luaXRjYWxsKHRjYl9jbGtzcmNfaW5pdCk7Ci1JbmRleDogbGludXgtc3RhYmxlL2RyaXZlcnMvbWlzYy9LY29uZmlnCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9taXNjL0tjb25maWcKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9taXNjL0tjb25maWcKKy0tLSBhL2RyaXZlcnMvbWlzYy9LY29uZmlnCisrKysgYi9kcml2ZXJzL21pc2MvS2NvbmZpZwogQEAgLTc4LDggKzc4LDcgQEAgY29uZmlnIEFUTUVMX1RDQl9DTEtTUkMKICAJICBhcmUgY29tYmluZWQgdG8gbWFrZSBhIHNpbmdsZSAzMi1iaXQgdGltZXIuCiAgCmRpZmYgLS1naXQgYS9wYXRjaGVzL2NvbXBsZXRpb24tdXNlLXNpbXBsZS13YWl0LXF1ZXVlcy5wYXRjaCBiL3BhdGNoZXMvY29tcGxldGlvbi11c2Utc2ltcGxlLXdhaXQtcXVldWVzLnBhdGNoCmluZGV4IDA0ZDU1ZWEuLjEzNWU5MmQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvY29tcGxldGlvbi11c2Utc2ltcGxlLXdhaXQtcXVldWVzLnBhdGNoCisrKyBiL3BhdGNoZXMvY29tcGxldGlvbi11c2Utc2ltcGxlLXdhaXQtcXVldWVzLnBhdGNoCkBAIC0xMywxMCArMTMsOCBAQAogIGtlcm5lbC9zY2hlZC9jb3JlLmMgICAgICAgIHwgICA0NCArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQogIDMgZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9jb21wbGV0aW9uLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L2NvbXBsZXRpb24uaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2NvbXBsZXRpb24uaAorLS0tIGEvaW5jbHVkZS9saW51eC9jb21wbGV0aW9uLmgKKysrKyBiL2luY2x1ZGUvbGludXgvY29tcGxldGlvbi5oCiBAQCAtOCw3ICs4LDcgQEAKICAgKiBTZWUga2VybmVsL3NjaGVkLmMgZm9yIGRldGFpbHMuCiAgICovCkBAIC00OSwxMCArNDcsOCBAQAogIH0KICAKICBleHRlcm4gdm9pZCB3YWl0X2Zvcl9jb21wbGV0aW9uKHN0cnVjdCBjb21wbGV0aW9uICopOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3Vwcm9iZXMuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvdXByb2Jlcy5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvdXByb2Jlcy5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3Vwcm9iZXMuaAorKysrIGIvaW5jbHVkZS9saW51eC91cHJvYmVzLmgKIEBAIC0yNiw2ICsyNiw3IEBACiAgCiAgI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CkBAIC02MSwxMSArNTcsOSBAQAogIAogIHN0cnVjdCB2bV9hcmVhX3N0cnVjdDsKICBzdHJ1Y3QgbW1fc3RydWN0OwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL2NvcmUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi1AQCAtMzAyOCw3ICszMDI4LDEwIEBAIHZvaWQgbWlncmF0ZV9kaXNhYmxlKHZvaWQpCistLS0gYS9rZXJuZWwvc2NoZWQvY29yZS5jCisrKysgYi9rZXJuZWwvc2NoZWQvY29yZS5jCitAQCAtMjk4OCw3ICsyOTg4LDEwIEBAIHZvaWQgbWlncmF0ZV9kaXNhYmxlKHZvaWQpCiAgCX0KICAKICAjaWZkZWYgQ09ORklHX1NDSEVEX0RFQlVHCkBAIC03Nyw3ICs3MSw3IEBACiAgI2VuZGlmCiAgCiAgCXByZWVtcHRfZGlzYWJsZSgpOwotQEAgLTMwNjAsNyArMzA2MywxMCBAQCB2b2lkIG1pZ3JhdGVfZW5hYmxlKHZvaWQpCitAQCAtMzAyMCw3ICszMDIzLDEwIEBAIHZvaWQgbWlncmF0ZV9lbmFibGUodm9pZCkKICAJfQogIAogICNpZmRlZiBDT05GSUdfU0NIRURfREVCVUcKQEAgLTg5LDcgKzgzLDcgQEAKICAjZW5kaWYKICAJV0FSTl9PTl9PTkNFKHAtPm1pZ3JhdGVfZGlzYWJsZSA8PSAwKTsKICAKLUBAIC0zNTE1LDEwICszNTIxLDEwIEBAIHZvaWQgY29tcGxldGUoc3RydWN0IGNvbXBsZXRpb24gKngpCitAQCAtMzQ3NSwxMCArMzQ4MSwxMCBAQCB2b2lkIGNvbXBsZXRlKHN0cnVjdCBjb21wbGV0aW9uICp4KQogIHsKICAJdW5zaWduZWQgbG9uZyBmbGFnczsKICAKQEAgLTEwMyw3ICs5Nyw3IEBACiAgfQogIEVYUE9SVF9TWU1CT0woY29tcGxldGUpOwogIAotQEAgLTM1MzUsMTAgKzM1NDEsMTAgQEAgdm9pZCBjb21wbGV0ZV9hbGwoc3RydWN0IGNvbXBsZXRpb24gKngpCitAQCAtMzQ5NSwxMCArMzUwMSwxMCBAQCB2b2lkIGNvbXBsZXRlX2FsbChzdHJ1Y3QgY29tcGxldGlvbiAqeCkKICB7CiAgCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgCkBAIC0xMTcsNyArMTExLDcgQEAKICB9CiAgRVhQT1JUX1NZTUJPTChjb21wbGV0ZV9hbGwpOwogIAotQEAgLTM1NDcsMjAgKzM1NTMsMjAgQEAgZG9fd2FpdF9mb3JfY29tbW9uKHN0cnVjdCBjb21wbGV0aW9uICp4LAorQEAgLTM1MDcsMjAgKzM1MTMsMjAgQEAgZG9fd2FpdF9mb3JfY29tbW9uKHN0cnVjdCBjb21wbGV0aW9uICp4LAogIAkJICAgbG9uZyAoKmFjdGlvbikobG9uZyksIGxvbmcgdGltZW91dCwgaW50IHN0YXRlKQogIHsKICAJaWYgKCF4LT5kb25lKSB7CkBAIC0xNDMsNyArMTM3LDcgQEAKICAJCWlmICgheC0+ZG9uZSkKICAJCQlyZXR1cm4gdGltZW91dDsKICAJfQotQEAgLTM1NzQsOSArMzU4MCw5IEBAIF9fd2FpdF9mb3JfY29tbW9uKHN0cnVjdCBjb21wbGV0aW9uICp4LAorQEAgLTM1MzQsOSArMzU0MCw5IEBAIF9fd2FpdF9mb3JfY29tbW9uKHN0cnVjdCBjb21wbGV0aW9uICp4LAogIHsKICAJbWlnaHRfc2xlZXAoKTsKICAKQEAgLTE1NSw3ICsxNDksNyBAQAogIAlyZXR1cm4gdGltZW91dDsKICB9CiAgCi1AQCAtMzc1MiwxMiArMzc1OCwxMiBAQCBib29sIHRyeV93YWl0X2Zvcl9jb21wbGV0aW9uKHN0cnVjdCBjb21wCitAQCAtMzcxMiwxMiArMzcxOCwxMiBAQCBib29sIHRyeV93YWl0X2Zvcl9jb21wbGV0aW9uKHN0cnVjdCBjb21wCiAgCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgCWludCByZXQgPSAxOwogIApAQCAtMTcwLDcgKzE2NCw3IEBACiAgCXJldHVybiByZXQ7CiAgfQogIEVYUE9SVF9TWU1CT0wodHJ5X3dhaXRfZm9yX2NvbXBsZXRpb24pOwotQEAgLTM3NzUsMTAgKzM3ODEsMTAgQEAgYm9vbCBjb21wbGV0aW9uX2RvbmUoc3RydWN0IGNvbXBsZXRpb24gKgorQEAgLTM3MzUsMTAgKzM3NDEsMTAgQEAgYm9vbCBjb21wbGV0aW9uX2RvbmUoc3RydWN0IGNvbXBsZXRpb24gKgogIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogIAlpbnQgcmV0ID0gMTsKICAKZGlmZiAtLWdpdCBhL3BhdGNoZXMvY29uZC1yZXNjaGVkLWxvY2stcnQtdHdlYWsucGF0Y2ggYi9wYXRjaGVzL2NvbmQtcmVzY2hlZC1sb2NrLXJ0LXR3ZWFrLnBhdGNoCmluZGV4IGE5MGU5YjYuLmJkNmExNTMgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvY29uZC1yZXNjaGVkLWxvY2stcnQtdHdlYWsucGF0Y2gKKysrIGIvcGF0Y2hlcy9jb25kLXJlc2NoZWQtbG9jay1ydC10d2Vhay5wYXRjaApAQCAtNywxMSArNyw5IEBACiAgaW5jbHVkZS9saW51eC9zY2hlZC5oIHwgICAgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvc2NoZWQuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLUBAIC0yNDgzLDcgKzI0ODMsNyBAQCBleHRlcm4gaW50IF9jb25kX3Jlc2NoZWQodm9pZCk7CistLS0gYS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKKysrKyBiL2luY2x1ZGUvbGludXgvc2NoZWQuaAorQEAgLTI0ODYsNyArMjQ4Niw3IEBAIGV4dGVybiBpbnQgX2NvbmRfcmVzY2hlZCh2b2lkKTsKICAKICBleHRlcm4gaW50IF9fY29uZF9yZXNjaGVkX2xvY2soc3BpbmxvY2tfdCAqbG9jayk7CiAgCmRpZmYgLS1naXQgYS9wYXRjaGVzL2NvbmQtcmVzY2hlZC1zb2Z0aXJxLXJ0LnBhdGNoIGIvcGF0Y2hlcy9jb25kLXJlc2NoZWQtc29mdGlycS1ydC5wYXRjaAppbmRleCA0MWVjNGU4Li5jMmI4ZjkwIDEwMDY0NAotLS0gYS9wYXRjaGVzL2NvbmQtcmVzY2hlZC1zb2Z0aXJxLXJ0LnBhdGNoCisrKyBiL3BhdGNoZXMvY29uZC1yZXNjaGVkLXNvZnRpcnEtcnQucGF0Y2gKQEAgLTgsMTEgKzgsOSBAQAogIGtlcm5lbC9zY2hlZC9jb3JlLmMgICB8ICAgIDIgKysKICAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvc2NoZWQuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLUBAIC0yNDk0LDEyICsyNDk0LDE2IEBAIGV4dGVybiBpbnQgX19jb25kX3Jlc2NoZWRfbG9jayhzcGlubG9ja18KKy0tLSBhL2luY2x1ZGUvbGludXgvc2NoZWQuaAorKysrIGIvaW5jbHVkZS9saW51eC9zY2hlZC5oCitAQCAtMjQ5NywxMiArMjQ5NywxNiBAQCBleHRlcm4gaW50IF9fY29uZF9yZXNjaGVkX2xvY2soc3BpbmxvY2tfCiAgCV9fY29uZF9yZXNjaGVkX2xvY2sobG9jayk7CQkJCVwKICB9KQogIApAQCAtMjksMTEgKzI3LDkgQEAKICAKICAvKgogICAqIERvZXMgYSBjcml0aWNhbCBzZWN0aW9uIG5lZWQgdG8gYmUgYnJva2VuIGR1ZSB0byBhbm90aGVyCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc2NoZWQvY29yZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKLUBAIC00NDQzLDYgKzQ0NDMsNyBAQCBpbnQgX19jb25kX3Jlc2NoZWRfbG9jayhzcGlubG9ja190ICpsb2NrCistLS0gYS9rZXJuZWwvc2NoZWQvY29yZS5jCisrKysgYi9rZXJuZWwvc2NoZWQvY29yZS5jCitAQCAtNDQ4NSw2ICs0NDg1LDcgQEAgaW50IF9fY29uZF9yZXNjaGVkX2xvY2soc3BpbmxvY2tfdCAqbG9jawogIH0KICBFWFBPUlRfU1lNQk9MKF9fY29uZF9yZXNjaGVkX2xvY2spOwogIApAQCAtNDEsNyArMzcsNyBAQAogIGludCBfX3NjaGVkIF9fY29uZF9yZXNjaGVkX3NvZnRpcnEodm9pZCkKICB7CiAgCUJVR19PTighaW5fc29mdGlycSgpKTsKLUBAIC00NDU2LDYgKzQ0NTcsNyBAQCBpbnQgX19zY2hlZCBfX2NvbmRfcmVzY2hlZF9zb2Z0aXJxKHZvaWQpCitAQCAtNDQ5OCw2ICs0NDk5LDcgQEAgaW50IF9fc2NoZWQgX19jb25kX3Jlc2NoZWRfc29mdGlycSh2b2lkKQogIAlyZXR1cm4gMDsKICB9CiAgRVhQT1JUX1NZTUJPTChfX2NvbmRfcmVzY2hlZF9zb2Z0aXJxKTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvY3Bzdy1uZXQtY3Bzdy1Vc2UtZmFsbGJhY2stZm9yLWFjdGl2ZV9zbGF2ZS5wYXRjaCBiL3BhdGNoZXMvY3Bzdy1uZXQtY3Bzdy1Vc2UtZmFsbGJhY2stZm9yLWFjdGl2ZV9zbGF2ZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGI2ZTlmMS4uMDAwMDAwMAotLS0gYS9wYXRjaGVzL2Nwc3ctbmV0LWNwc3ctVXNlLWZhbGxiYWNrLWZvci1hY3RpdmVfc2xhdmUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi1Gcm9tOiBTZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9yIDxiaWdlYXN5QGxpbnV0cm9uaXguZGU+Ci1EYXRlOiBUdWUsIDE2IEFwciAyMDEzIDEyOjM0OjA5ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG5ldC9jcHN3OiBVc2UgZmFsbGJhY2sgZm9yIGFjdGl2ZV9zbGF2ZQotCi1JbiBjYXNlIHRoZSAuZHRzIGhhcyBub3QgYmVlbiB5ZXQgdXBkYXRlZCB3ZSBhbHNvIHRyeSB0byBsb29rIGZvciB0aGUKLW9sZCAiY3B0c19hY3RpdmVfc2xhdmUiIHByb3BlcnR5LgotCi1TaWduZWQtb2ZmLWJ5OiBTZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9yIDxiaWdlYXN5QGxpbnV0cm9uaXguZGU+Ci0tLS0KLSBkcml2ZXJzL25ldC9ldGhlcm5ldC90aS9jcHN3LmMgfCAgICA4ICsrKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL25ldC9ldGhlcm5ldC90aS9jcHN3LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL25ldC9ldGhlcm5ldC90aS9jcHN3LmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvY3Bzdy5jCi1AQCAtMTQ2Niw4ICsxNDY2LDEyIEBAIHN0YXRpYyBpbnQgY3Bzd19wcm9iZV9kdChzdHJ1Y3QgY3Bzd19wbGEKLSAKLSAJaWYgKG9mX3Byb3BlcnR5X3JlYWRfdTMyKG5vZGUsICJhY3RpdmVfc2xhdmUiLCAmcHJvcCkpIHsKLSAJCXByX2VycigiTWlzc2luZyBhY3RpdmVfc2xhdmUgcHJvcGVydHkgaW4gdGhlIERULlxuIik7Ci0tCQlyZXQgPSAtRUlOVkFMOwotLQkJZ290byBlcnJvcl9yZXQ7Ci0rCQlpZiAob2ZfcHJvcGVydHlfcmVhZF91MzIobm9kZSwgImNwdHNfYWN0aXZlX3NsYXZlIiwgJnByb3ApKSB7Ci0rCQkJcmV0ID0gLUVJTlZBTDsKLSsJCQlnb3RvIGVycm9yX3JldDsKLSsJCX0gZWxzZSB7Ci0rCQkJcHJfZXJyKCJVc2luZyBvbGQgY3B0c19hY3RpdmVfc2xhdmUgYXMgZmFsbGJhY2suXG4iKTsKLSsJCX0KLSAJfQotIAlkYXRhLT5hY3RpdmVfc2xhdmUgPSBwcm9wOwotIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9jcHN3LW5ldC1jcHN3LXVzZS1hLWxvY2stYXJvdW5kLXNvdXJjZS10ZXN0aW5nLnBhdGNoIGIvcGF0Y2hlcy9jcHN3LW5ldC1jcHN3LXVzZS1hLWxvY2stYXJvdW5kLXNvdXJjZS10ZXN0aW5nLnBhdGNoCmluZGV4IGY5ODg2N2UuLjUzZGJhMjYgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvY3Bzdy1uZXQtY3Bzdy11c2UtYS1sb2NrLWFyb3VuZC1zb3VyY2UtdGVzdGluZy5wYXRjaAorKysgYi9wYXRjaGVzL2Nwc3ctbmV0LWNwc3ctdXNlLWEtbG9jay1hcm91bmQtc291cmNlLXRlc3RpbmcucGF0Y2gKQEAgLTEzLDEwICsxMyw4IEBACiAgZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvY3Bzdy5jIHwgICAxMSArKysrKysrKystLQogIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvY3Bzdy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvY3Bzdy5jCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvbmV0L2V0aGVybmV0L3RpL2Nwc3cuYworLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvY3Bzdy5jCisrKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC90aS9jcHN3LmMKIEBAIC00OTAsNyArNDkwLDcgQEAgdm9pZCBjcHN3X3J4X2hhbmRsZXIodm9pZCAqdG9rZW4sIGludCBsZQogIAkJc2tiX3B1dChza2IsIGxlbik7CiAgCQljcHRzX3J4X3RpbWVzdGFtcChwcml2LT5jcHRzLCBza2IpOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9jcHUtcnQtbWFrZS1ob3RwbHVnLWxvY2stYS1zbGVlcGluZy1zcGlubG9jay1vbi1ydC5wYXRjaCBiL3BhdGNoZXMvY3B1LXJ0LW1ha2UtaG90cGx1Zy1sb2NrLWEtc2xlZXBpbmctc3BpbmxvY2stb24tcnQucGF0Y2gKaW5kZXggMjU2NGYwNy4uNzNiOWRhOCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9jcHUtcnQtbWFrZS1ob3RwbHVnLWxvY2stYS1zbGVlcGluZy1zcGlubG9jay1vbi1ydC5wYXRjaAorKysgYi9wYXRjaGVzL2NwdS1ydC1tYWtlLWhvdHBsdWctbG9jay1hLXNsZWVwaW5nLXNwaW5sb2NrLW9uLXJ0LnBhdGNoCkBAIC0yMiwxMCArMjIsOCBAQAogIGtlcm5lbC9jcHUuYyB8ICAgMzUgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvY3B1LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvY3B1LmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL2NwdS5jCistLS0gYS9rZXJuZWwvY3B1LmMKKysrKyBiL2tlcm5lbC9jcHUuYwogQEAgLTUxLDcgKzUxLDEyIEBAIHN0YXRpYyBpbnQgY3B1X2hvdHBsdWdfZGlzYWJsZWQ7CiAgCiAgc3RhdGljIHN0cnVjdCB7CmRpZmYgLS1naXQgYS9wYXRjaGVzL2NwdS1ydC1yZXdvcmstY3B1LWRvd24ucGF0Y2ggYi9wYXRjaGVzL2NwdS1ydC1yZXdvcmstY3B1LWRvd24ucGF0Y2gKaW5kZXggNGJmN2YzOC4uZWZhZjFhMSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9jcHUtcnQtcmV3b3JrLWNwdS1kb3duLnBhdGNoCisrKyBiL3BhdGNoZXMvY3B1LXJ0LXJld29yay1jcHUtZG93bi5wYXRjaApAQCAtNTQsMTEgKzU0LDkgQEAKICBrZXJuZWwvc2NoZWQvY29yZS5jICAgfCAgIDgyICsrKysrKysrKysrKysrKystCiAgMyBmaWxlcyBjaGFuZ2VkLCAyODQgaW5zZXJ0aW9ucygrKSwgNDUgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zY2hlZC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9zY2hlZC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQuaAotQEAgLTE4MDgsNiArMTgwOCwxMCBAQCBleHRlcm4gdm9pZCBkb19zZXRfY3B1c19hbGxvd2VkKHN0cnVjdCB0CistLS0gYS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKKysrKyBiL2luY2x1ZGUvbGludXgvc2NoZWQuaAorQEAgLTE4MTEsNiArMTgxMSwxMCBAQCBleHRlcm4gdm9pZCBkb19zZXRfY3B1c19hbGxvd2VkKHN0cnVjdCB0CiAgCiAgZXh0ZXJuIGludCBzZXRfY3B1c19hbGxvd2VkX3B0cihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsCiAgCQkJCWNvbnN0IHN0cnVjdCBjcHVtYXNrICpuZXdfbWFzayk7CkBAIC02OSw3ICs2Nyw3IEBACiAgI2Vsc2UKICBzdGF0aWMgaW5saW5lIHZvaWQgZG9fc2V0X2NwdXNfYWxsb3dlZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsCiAgCQkJCSAgICAgIGNvbnN0IHN0cnVjdCBjcHVtYXNrICpuZXdfbWFzaykKLUBAIC0xODIwLDYgKzE4MjQsOSBAQCBzdGF0aWMgaW5saW5lIGludCBzZXRfY3B1c19hbGxvd2VkX3B0cihzCitAQCAtMTgyMyw2ICsxODI3LDkgQEAgc3RhdGljIGlubGluZSBpbnQgc2V0X2NwdXNfYWxsb3dlZF9wdHIocwogIAkJcmV0dXJuIC1FSU5WQUw7CiAgCXJldHVybiAwOwogIH0KQEAgLTc5LDEwICs3Nyw4IEBACiAgI2VuZGlmCiAgCiAgI2lmZGVmIENPTkZJR19OT19IWl9DT01NT04KLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2NwdS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2NwdS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9jcHUuYworLS0tIGEva2VybmVsL2NwdS5jCisrKysgYi9rZXJuZWwvY3B1LmMKIEBAIC01MSwxMiArNTEsNyBAQCBzdGF0aWMgaW50IGNwdV9ob3RwbHVnX2Rpc2FibGVkOwogIAogIHN0YXRpYyBzdHJ1Y3QgewpAQCAtNDQ0LDExICs0NDAsOSBAQAogIAllcnIgPSBfX3N0b3BfbWFjaGluZSh0YWtlX2NwdV9kb3duLCAmdGNkX3BhcmFtLCBjcHVtYXNrX29mKGNwdSkpOwogIAlpZiAoZXJyKSB7CiAgCQkvKiBDUFUgZGlkbid0IGRpZTogdGVsbCBldmVyeW9uZS4gIENhbid0IGNvbXBsYWluLiAqLwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL2NvcmUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi1AQCAtMjk2Myw3ICsyOTYzLDcgQEAgdm9pZCBtaWdyYXRlX2Rpc2FibGUodm9pZCkKKy0tLSBhL2tlcm5lbC9zY2hlZC9jb3JlLmMKKysrKyBiL2tlcm5lbC9zY2hlZC9jb3JlLmMKK0BAIC0yOTM1LDcgKzI5MzUsNyBAQCB2b2lkIG1pZ3JhdGVfZGlzYWJsZSh2b2lkKQogIHsKICAJc3RydWN0IHRhc2tfc3RydWN0ICpwID0gY3VycmVudDsKICAKQEAgLTQ1Nyw3ICs0NTEsNyBAQAogICNpZmRlZiBDT05GSUdfU0NIRURfREVCVUcKICAJCXAtPm1pZ3JhdGVfZGlzYWJsZV9hdG9taWMrKzsKICAjZW5kaWYKLUBAIC0yOTk0LDcgKzI5OTQsNyBAQCB2b2lkIG1pZ3JhdGVfZW5hYmxlKHZvaWQpCitAQCAtMjk2Niw3ICsyOTY2LDcgQEAgdm9pZCBtaWdyYXRlX2VuYWJsZSh2b2lkKQogIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogIAlzdHJ1Y3QgcnEgKnJxOwogIApAQCAtNDY2LDcgKzQ2MCw3IEBACiAgI2lmZGVmIENPTkZJR19TQ0hFRF9ERUJVRwogIAkJcC0+bWlncmF0ZV9kaXNhYmxlX2F0b21pYy0tOwogICNlbmRpZgotQEAgLTQ5NjYsNiArNDk2Niw4NCBAQCB2b2lkIGRvX3NldF9jcHVzX2FsbG93ZWQoc3RydWN0IHRhc2tfc3RyCitAQCAtNDk2OSw2ICs0OTY5LDg0IEBAIHZvaWQgZG9fc2V0X2NwdXNfYWxsb3dlZChzdHJ1Y3QgdGFza19zdHIKICAJY3B1bWFza19jb3B5KCZwLT5jcHVzX2FsbG93ZWQsIG5ld19tYXNrKTsKICB9CiAgCmRpZmYgLS1naXQgYS9wYXRjaGVzL2NwdS1ydC12YXJpYW50cy5wYXRjaCBiL3BhdGNoZXMvY3B1LXJ0LXZhcmlhbnRzLnBhdGNoCmluZGV4IDBkNDQ5NWQuLmVlMDBmY2QgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvY3B1LXJ0LXZhcmlhbnRzLnBhdGNoCisrKyBiL3BhdGNoZXMvY3B1LXJ0LXZhcmlhbnRzLnBhdGNoCkBAIC03LDEwICs3LDggQEAKICBpbmNsdWRlL2xpbnV4L3NtcC5oIHwgICAgOCArKysrKysrKwogIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NtcC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9zbXAuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NtcC5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3NtcC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3NtcC5oCiBAQCAtMjIzLDYgKzIyMywxNCBAQCBzdGF0aWMgaW5saW5lIHZvaWQga2lja19hbGxfY3B1c19zeW5jKHZvCiAgI2RlZmluZSBnZXRfY3B1KCkJCSh7IHByZWVtcHRfZGlzYWJsZSgpOyBzbXBfcHJvY2Vzc29yX2lkKCk7IH0pCiAgI2RlZmluZSBwdXRfY3B1KCkJCXByZWVtcHRfZW5hYmxlKCkKZGlmZiAtLWdpdCBhL3BhdGNoZXMvY3B1bWFzay1kaXNhYmxlLW9mZnN0YWNrLW9uLXJ0LnBhdGNoIGIvcGF0Y2hlcy9jcHVtYXNrLWRpc2FibGUtb2Zmc3RhY2stb24tcnQucGF0Y2gKaW5kZXggYTJkM2IxMi4uYTM3YmJmNiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9jcHVtYXNrLWRpc2FibGUtb2Zmc3RhY2stb24tcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy9jcHVtYXNrLWRpc2FibGUtb2Zmc3RhY2stb24tcnQucGF0Y2gKQEAgLTExLDEwICsxMSw4IEBACiAgbGliL0tjb25maWcgICAgICB8ICAgIDEgKwogIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC94ODYvS2NvbmZpZwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveDg2L0tjb25maWcKLSsrKyBsaW51eC1zdGFibGUvYXJjaC94ODYvS2NvbmZpZworLS0tIGEvYXJjaC94ODYvS2NvbmZpZworKysrIGIvYXJjaC94ODYvS2NvbmZpZwogQEAgLTc5OSw3ICs3OTksNyBAQCBjb25maWcgSU9NTVVfSEVMUEVSCiAgY29uZmlnIE1BWFNNUAogIAlib29sICJFbmFibGUgTWF4aW11bSBudW1iZXIgb2YgU01QIFByb2Nlc3NvcnMgYW5kIE5VTUEgTm9kZXMiCkBAIC0yNCwxMCArMjIsOCBAQAogIAktLS1oZWxwLS0tCiAgCSAgRW5hYmxlIG1heGltdW0gbnVtYmVyIG9mIENQVVMgYW5kIE5VTUEgTm9kZXMgZm9yIHRoaXMgYXJjaGl0ZWN0dXJlLgogIAkgIElmIHVuc3VyZSwgc2F5IE4uCi1JbmRleDogbGludXgtc3RhYmxlL2xpYi9LY29uZmlnCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbGliL0tjb25maWcKLSsrKyBsaW51eC1zdGFibGUvbGliL0tjb25maWcKKy0tLSBhL2xpYi9LY29uZmlnCisrKysgYi9saWIvS2NvbmZpZwogQEAgLTMxNSw2ICszMTUsNyBAQCBjb25maWcgQ0hFQ0tfU0lHTkFUVVJFCiAgCiAgY29uZmlnIENQVU1BU0tfT0ZGU1RBQ0sKZGlmZiAtLWdpdCBhL3BhdGNoZXMvZGVidWdvYmplY3RzLXJ0LnBhdGNoIGIvcGF0Y2hlcy9kZWJ1Z29iamVjdHMtcnQucGF0Y2gKaW5kZXggZTc4MWY2NC4uM2ViMWE2MiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9kZWJ1Z29iamVjdHMtcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy9kZWJ1Z29iamVjdHMtcnQucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGxpYi9kZWJ1Z29iamVjdHMuYyB8ICAgIDUgKysrKy0KICAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvbGliL2RlYnVnb2JqZWN0cy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbGliL2RlYnVnb2JqZWN0cy5jCi0rKysgbGludXgtc3RhYmxlL2xpYi9kZWJ1Z29iamVjdHMuYworLS0tIGEvbGliL2RlYnVnb2JqZWN0cy5jCisrKysgYi9saWIvZGVidWdvYmplY3RzLmMKIEBAIC0zMDgsNyArMzA4LDEwIEBAIF9fZGVidWdfb2JqZWN0X2luaXQodm9pZCAqYWRkciwgc3RydWN0IGQKICAJc3RydWN0IGRlYnVnX29iaiAqb2JqOwogIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9kbS1tYWtlLXJ0LWF3YXJlLnBhdGNoIGIvcGF0Y2hlcy9kbS1tYWtlLXJ0LWF3YXJlLnBhdGNoCmluZGV4IGQ2NzRiMDguLjRiZTUyNTMgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvZG0tbWFrZS1ydC1hd2FyZS5wYXRjaAorKysgYi9wYXRjaGVzL2RtLW1ha2UtcnQtYXdhcmUucGF0Y2gKQEAgLTEzLDExICsxMyw5IEBACiAgZHJpdmVycy9tZC9kbS5jIHwgICAgNCArKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL21kL2RtLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL21kL2RtLmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9tZC9kbS5jCi1AQCAtMTcwNiwxNCArMTcwNiwxNCBAQCBzdGF0aWMgdm9pZCBkbV9yZXF1ZXN0X2ZuKHN0cnVjdCByZXF1ZXN0CistLS0gYS9kcml2ZXJzL21kL2RtLmMKKysrKyBiL2RyaXZlcnMvbWQvZG0uYworQEAgLTE3MTMsMTQgKzE3MTMsMTQgQEAgc3RhdGljIHZvaWQgZG1fcmVxdWVzdF9mbihzdHJ1Y3QgcmVxdWVzdAogIAkJaWYgKG1hcF9yZXF1ZXN0KHRpLCBjbG9uZSwgbWQpKQogIAkJCWdvdG8gcmVxdWV1ZWQ7CiAgCmRpZmYgLS1naXQgYS9wYXRjaGVzL2RyaXZlcnMtbmV0LTgxMzktZGlzYWJsZS1pcnEtbm9zeW5jLnBhdGNoIGIvcGF0Y2hlcy9kcml2ZXJzLW5ldC04MTM5LWRpc2FibGUtaXJxLW5vc3luYy5wYXRjaAppbmRleCAzYWY0OTIzLi4xM2M0ZTJkIDEwMDY0NAotLS0gYS9wYXRjaGVzL2RyaXZlcnMtbmV0LTgxMzktZGlzYWJsZS1pcnEtbm9zeW5jLnBhdGNoCisrKyBiL3BhdGNoZXMvZHJpdmVycy1uZXQtODEzOS1kaXNhYmxlLWlycS1ub3N5bmMucGF0Y2gKQEAgLTEyLDEwICsxMiw4IEBACiAgZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay84MTM5dG9vLmMgfCAgICAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay84MTM5dG9vLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL25ldC9ldGhlcm5ldC9yZWFsdGVrLzgxMzl0b28uYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL25ldC9ldGhlcm5ldC9yZWFsdGVrLzgxMzl0b28uYworLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay84MTM5dG9vLmMKKysrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0ZWsvODEzOXRvby5jCiBAQCAtMjIxMyw3ICsyMjEzLDcgQEAgc3RhdGljIHZvaWQgcnRsODEzOV9wb2xsX2NvbnRyb2xsZXIoc3RydQogIAlzdHJ1Y3QgcnRsODEzOV9wcml2YXRlICp0cCA9IG5ldGRldl9wcml2KGRldik7CiAgCWNvbnN0IGludCBpcnEgPSB0cC0+cGNpX2Rldi0+aXJxOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9kcml2ZXJzLW5ldC1maXgtbGl2ZWxvY2staXNzdWVzLnBhdGNoIGIvcGF0Y2hlcy9kcml2ZXJzLW5ldC1maXgtbGl2ZWxvY2staXNzdWVzLnBhdGNoCmluZGV4IGQ5MWNjYjkuLjUyMzkwY2YgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvZHJpdmVycy1uZXQtZml4LWxpdmVsb2NrLWlzc3Vlcy5wYXRjaAorKysgYi9wYXRjaGVzL2RyaXZlcnMtbmV0LWZpeC1saXZlbG9jay1pc3N1ZXMucGF0Y2gKQEAgLTIxLDExICsyMSw5IEBACiAgZHJpdmVycy9uZXQvcmlvbmV0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDYgKy0tLS0tCiAgNyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2RyaXZlcnMvbmV0L2V0aGVybmV0L2F0aGVyb3MvYXRsMWMvYXRsMWNfbWFpbi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXRoZXJvcy9hdGwxYy9hdGwxY19tYWluLmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXRoZXJvcy9hdGwxYy9hdGwxY19tYWluLmMKLUBAIC0yMTY4LDExICsyMTY4LDcgQEAgc3RhdGljIG5ldGRldl90eF90IGF0bDFjX3htaXRfZnJhbWUoc3RydQorLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXRoZXJvcy9hdGwxYy9hdGwxY19tYWluLmMKKysrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2F0aGVyb3MvYXRsMWMvYXRsMWNfbWFpbi5jCitAQCAtMjIwNiwxMSArMjIwNiw3IEBAIHN0YXRpYyBuZXRkZXZfdHhfdCBhdGwxY194bWl0X2ZyYW1lKHN0cnUKICAJfQogIAogIAl0cGRfcmVxID0gYXRsMWNfY2FsX3RwZF9yZXEoc2tiKTsKQEAgLTM4LDExICszNiw5IEBACiAgCiAgCWlmIChhdGwxY190cGRfYXZhaWwoYWRhcHRlciwgdHlwZSkgPCB0cGRfcmVxKSB7CiAgCQkvKiBubyBlbm91Z2ggZGVzY3JpcHRvciwganVzdCBzdG9wIHF1ZXVlICovCi1JbmRleDogbGludXgtc3RhYmxlL2RyaXZlcnMvbmV0L2V0aGVybmV0L2F0aGVyb3MvYXRsMWUvYXRsMWVfbWFpbi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXRoZXJvcy9hdGwxZS9hdGwxZV9tYWluLmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXRoZXJvcy9hdGwxZS9hdGwxZV9tYWluLmMKLUBAIC0xNzk5LDggKzE3OTksNyBAQCBzdGF0aWMgbmV0ZGV2X3R4X3QgYXRsMWVfeG1pdF9mcmFtZShzdHJ1CistLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9hdGhlcm9zL2F0bDFlL2F0bDFlX21haW4uYworKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXRoZXJvcy9hdGwxZS9hdGwxZV9tYWluLmMKK0BAIC0xODM4LDggKzE4MzgsNyBAQCBzdGF0aWMgbmV0ZGV2X3R4X3QgYXRsMWVfeG1pdF9mcmFtZShzdHJ1CiAgCQlyZXR1cm4gTkVUREVWX1RYX09LOwogIAl9CiAgCXRwZF9yZXEgPSBhdGwxZV9jYWxfdGRwX3JlcShza2IpOwpAQCAtNTIsMTAgKzQ4LDggQEAKICAKICAJaWYgKGF0bDFlX3RwZF9hdmFpbChhZGFwdGVyKSA8IHRwZF9yZXEpIHsKICAJCS8qIG5vIGVub3VnaCBkZXNjcmlwdG9yLCBqdXN0IHN0b3AgcXVldWUgKi8KLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiL3NnZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiL3NnZS5jCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hnYi9zZ2UuYworLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2hlbHNpby9jeGdiL3NnZS5jCisrKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2Ivc2dlLmMKIEBAIC0xNjY1LDggKzE2NjUsNyBAQCBzdGF0aWMgaW50IHQxX3NnZV90eChzdHJ1Y3Qgc2tfYnVmZiAqc2tiCiAgCXN0cnVjdCBjbWRRICpxID0gJnNnZS0+Y21kUVtxaWRdOwogIAl1bnNpZ25lZCBpbnQgY3JlZGl0cywgcGlkeCwgZ2VuYml0LCBjb3VudCwgdXNlX3NjaGVkX3NrYiA9IDA7CkBAIC02NiwxMCArNjAsOCBAQAogIAogIAlyZWNsYWltX2NvbXBsZXRlZF90eChzZ2UsIHEpOwogIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL25ldC9ldGhlcm5ldC9uZXRlcmlvbi9zMmlvLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL25ldC9ldGhlcm5ldC9uZXRlcmlvbi9zMmlvLmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0ZXJpb24vczJpby5jCistLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9uZXRlcmlvbi9zMmlvLmMKKysrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L25ldGVyaW9uL3MyaW8uYwogQEAgLTQwODksMTIgKzQwODksNyBAQCBzdGF0aWMgbmV0ZGV2X3R4X3QgczJpb194bWl0KHN0cnVjdCBza19iCiAgCQkJW3NrYi0+cHJpb3JpdHkgJiAoTUFYX1RYX0ZJRk9TIC0gMSldOwogIAlmaWZvID0gJm1hY19jb250cm9sLT5maWZvc1txdWV1ZV07CkBAIC04NCwxMCArNzYsOCBAQAogIAogIAlpZiAoc3AtPmNvbmZpZy5tdWx0aXEpIHsKICAJCWlmIChfX25ldGlmX3N1YnF1ZXVlX3N0b3BwZWQoZGV2LCBmaWZvLT5maWZvX25vKSkgewotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL25ldC9ldGhlcm5ldC9va2ktc2VtaS9wY2hfZ2JlL3BjaF9nYmVfbWFpbi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9uZXQvZXRoZXJuZXQvb2tpLXNlbWkvcGNoX2diZS9wY2hfZ2JlX21haW4uYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL25ldC9ldGhlcm5ldC9va2ktc2VtaS9wY2hfZ2JlL3BjaF9nYmVfbWFpbi5jCistLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9va2ktc2VtaS9wY2hfZ2JlL3BjaF9nYmVfbWFpbi5jCisrKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9va2ktc2VtaS9wY2hfZ2JlL3BjaF9nYmVfbWFpbi5jCiBAQCAtMjEwOSwxMCArMjEwOSw4IEBAIHN0YXRpYyBpbnQgcGNoX2diZV94bWl0X2ZyYW1lKHN0cnVjdCBza18KICAJc3RydWN0IHBjaF9nYmVfdHhfcmluZyAqdHhfcmluZyA9IGFkYXB0ZXItPnR4X3Jpbmc7CiAgCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC0xMDEsMTAgKzkxLDggQEAKICAJaWYgKHVubGlrZWx5KCFQQ0hfR0JFX0RFU0NfVU5VU0VEKHR4X3JpbmcpKSkgewogIAkJbmV0aWZfc3RvcF9xdWV1ZShuZXRkZXYpOwogIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdHhfcmluZy0+dHhfbG9jaywgZmxhZ3MpOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL25ldC9ldGhlcm5ldC90ZWh1dGkvdGVodXRpLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL25ldC9ldGhlcm5ldC90ZWh1dGkvdGVodXRpLmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGVodXRpL3RlaHV0aS5jCistLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC90ZWh1dGkvdGVodXRpLmMKKysrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3RlaHV0aS90ZWh1dGkuYwogQEAgLTE2MjksMTMgKzE2MjksOCBAQCBzdGF0aWMgbmV0ZGV2X3R4X3QgYmR4X3R4X3RyYW5zbWl0KHN0cnVjCiAgCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgCkBAIC0xMjEsMTAgKzEwOSw4IEBACiAgCiAgCS8qIGJ1aWxkIHR4IGRlc2NyaXB0b3IgKi8KICAJQkRYX0FTU0VSVChmLT5tLndwdHIgPj0gZi0+bS5tZW1zeik7CS8qIHN0YXJ0ZWQgd2l0aCB2YWxpZCB3cHRyICovCi1JbmRleDogbGludXgtc3RhYmxlL2RyaXZlcnMvbmV0L3Jpb25ldC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9uZXQvcmlvbmV0LmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9uZXQvcmlvbmV0LmMKKy0tLSBhL2RyaXZlcnMvbmV0L3Jpb25ldC5jCisrKysgYi9kcml2ZXJzL25ldC9yaW9uZXQuYwogQEAgLTE3NCwxMSArMTc0LDcgQEAgc3RhdGljIGludCByaW9uZXRfc3RhcnRfeG1pdChzdHJ1Y3Qgc2tfYgogIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogIAlpbnQgYWRkX251bSA9IDE7CmRpZmYgLS1naXQgYS9wYXRjaGVzL2RyaXZlcnMtbmV0LWdpYW5mYXItbWFrZS1ydC1hd2FyZS5wYXRjaCBiL3BhdGNoZXMvZHJpdmVycy1uZXQtZ2lhbmZhci1tYWtlLXJ0LWF3YXJlLnBhdGNoCmluZGV4IDljODJlNDguLmYzN2ZhM2MgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvZHJpdmVycy1uZXQtZ2lhbmZhci1tYWtlLXJ0LWF3YXJlLnBhdGNoCisrKyBiL3BhdGNoZXMvZHJpdmVycy1uZXQtZ2lhbmZhci1tYWtlLXJ0LWF3YXJlLnBhdGNoCkBAIC0xNSwxMCArMTUsOCBAQAogIGRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9naWFuZmFyLmMgfCAgICA4ICsrKystLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZ2lhbmZhci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2dpYW5mYXIuYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZ2lhbmZhci5jCistLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZ2lhbmZhci5jCisrKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZ2lhbmZhci5jCiBAQCAtMTY3NCw3ICsxNjc0LDcgQEAgdm9pZCBzdG9wX2dmYXIoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKICAKICAKZGlmZiAtLWdpdCBhL3BhdGNoZXMvZHJpdmVycy1uZXQtdHVsaXAtYWRkLW1pc3NpbmctcGNpLWRpc2FibGUucGF0Y2ggYi9wYXRjaGVzL2RyaXZlcnMtbmV0LXR1bGlwLWFkZC1taXNzaW5nLXBjaS1kaXNhYmxlLnBhdGNoCmluZGV4IDRhZjdhMmUuLjc4YmViMmIgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvZHJpdmVycy1uZXQtdHVsaXAtYWRkLW1pc3NpbmctcGNpLWRpc2FibGUucGF0Y2gKKysrIGIvcGF0Y2hlcy9kcml2ZXJzLW5ldC10dWxpcC1hZGQtbWlzc2luZy1wY2ktZGlzYWJsZS5wYXRjaApAQCAtMTEsMTAgKzExLDggQEAKICBkcml2ZXJzL25ldC9ldGhlcm5ldC9kZWMvdHVsaXAvdHVsaXBfY29yZS5jIHwgICAgMSArCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCiAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9uZXQvZXRoZXJuZXQvZGVjL3R1bGlwL3R1bGlwX2NvcmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2RyaXZlcnMvbmV0L2V0aGVybmV0L2RlYy90dWxpcC90dWxpcF9jb3JlLmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9uZXQvZXRoZXJuZXQvZGVjL3R1bGlwL3R1bGlwX2NvcmUuYworLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvZGVjL3R1bGlwL3R1bGlwX2NvcmUuYworKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvZGVjL3R1bGlwL3R1bGlwX2NvcmUuYwogQEAgLTE5NDMsNiArMTk0Myw3IEBAIHN0YXRpYyB2b2lkIHR1bGlwX3JlbW92ZV9vbmUoc3RydWN0IHBjaV8KICAJcGNpX2lvdW5tYXAocGRldiwgdHAtPmJhc2VfYWRkcik7CiAgCWZyZWVfbmV0ZGV2IChkZXYpOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9kcml2ZXJzLW5ldC12b3J0ZXgtZml4LWxvY2tpbmctaXNzdWVzLnBhdGNoIGIvcGF0Y2hlcy9kcml2ZXJzLW5ldC12b3J0ZXgtZml4LWxvY2tpbmctaXNzdWVzLnBhdGNoCmluZGV4IDZlNzA4MWUuLjBkOWIyOGMgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvZHJpdmVycy1uZXQtdm9ydGV4LWZpeC1sb2NraW5nLWlzc3Vlcy5wYXRjaAorKysgYi9wYXRjaGVzL2RyaXZlcnMtbmV0LXZvcnRleC1maXgtbG9ja2luZy1pc3N1ZXMucGF0Y2gKQEAgLTE3LDEwICsxNyw4IEBACiAKIFNpZ25lZC1vZmYtYnk6IEluZ28gTW9sbmFyIDxtaW5nb0BlbHRlLmh1PgogCi1JbmRleDogbGludXgtc3RhYmxlL2RyaXZlcnMvbmV0L2V0aGVybmV0LzNjb20vM2M1OXguYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2RyaXZlcnMvbmV0L2V0aGVybmV0LzNjb20vM2M1OXguYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL25ldC9ldGhlcm5ldC8zY29tLzNjNTl4LmMKKy0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0LzNjb20vM2M1OXguYworKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvM2NvbS8zYzU5eC5jCiBAQCAtODQyLDkgKzg0Miw5IEBAIHN0YXRpYyB2b2lkIHBvbGxfdm9ydGV4KHN0cnVjdCBuZXRfZGV2aWMKICB7CiAgCXN0cnVjdCB2b3J0ZXhfcHJpdmF0ZSAqdnAgPSBuZXRkZXZfcHJpdihkZXYpOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9kcml2ZXJzLXJhbmRvbS1yZWR1Y2UtcHJlZW1wdC1kaXNhYmxlZC1yZWdpb24ucGF0Y2ggYi9wYXRjaGVzL2RyaXZlcnMtcmFuZG9tLXJlZHVjZS1wcmVlbXB0LWRpc2FibGVkLXJlZ2lvbi5wYXRjaAppbmRleCAxYmMyMzYwLi43Yjg1Y2VjIDEwMDY0NAotLS0gYS9wYXRjaGVzL2RyaXZlcnMtcmFuZG9tLXJlZHVjZS1wcmVlbXB0LWRpc2FibGVkLXJlZ2lvbi5wYXRjaAorKysgYi9wYXRjaGVzL2RyaXZlcnMtcmFuZG9tLXJlZHVjZS1wcmVlbXB0LWRpc2FibGVkLXJlZ2lvbi5wYXRjaApAQCAtMTEsMTAgKzExLDggQEAKICBkcml2ZXJzL2NoYXIvcmFuZG9tLmMgfCAgICA5ICsrKysrLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9jaGFyL3JhbmRvbS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9jaGFyL3JhbmRvbS5jCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvY2hhci9yYW5kb20uYworLS0tIGEvZHJpdmVycy9jaGFyL3JhbmRvbS5jCisrKysgYi9kcml2ZXJzL2NoYXIvcmFuZG9tLmMKIEBAIC02NzYsOSArNjc2LDEyIEBAIHN0YXRpYyB2b2lkIGFkZF90aW1lcl9yYW5kb21uZXNzKHN0cnVjdAogIAlwcmVlbXB0X2Rpc2FibGUoKTsKICAJLyogaWYgb3ZlciB0aGUgdHJpY2tsZSB0aHJlc2hvbGQsIHVzZSBvbmx5IDEgaW4gNDA5NiBzYW1wbGVzICovCmRpZmYgLS1naXQgYS9wYXRjaGVzL2RyaXZlcnMtc2VyaWFsLWNhbGwtZmx1c2hfdG9fbGRpc2Mtd2hlbi10aGUtaXJxLWlzLXQucGF0Y2ggYi9wYXRjaGVzL2RyaXZlcnMtc2VyaWFsLWNhbGwtZmx1c2hfdG9fbGRpc2Mtd2hlbi10aGUtaXJxLWlzLXQucGF0Y2gKaW5kZXggNTNiYzM4MC4uZjBhNDM0YiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9kcml2ZXJzLXNlcmlhbC1jYWxsLWZsdXNoX3RvX2xkaXNjLXdoZW4tdGhlLWlycS1pcy10LnBhdGNoCisrKyBiL3BhdGNoZXMvZHJpdmVycy1zZXJpYWwtY2FsbC1mbHVzaF90b19sZGlzYy13aGVuLXRoZS1pcnEtaXMtdC5wYXRjaApAQCAtOCwxMCArOCw4IEBACiAgZHJpdmVycy90dHkvdHR5X2J1ZmZlci5jIHwgICAgNiArKysrKy0KICAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy90dHkvdHR5X2J1ZmZlci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy90dHkvdHR5X2J1ZmZlci5jCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvdHR5L3R0eV9idWZmZXIuYworLS0tIGEvZHJpdmVycy90dHkvdHR5X2J1ZmZlci5jCisrKysgYi9kcml2ZXJzL3R0eS90dHlfYnVmZmVyLmMKIEBAIC01MTcsMTAgKzUxNywxNSBAQCB2b2lkIHR0eV9mbGlwX2J1ZmZlcl9wdXNoKHN0cnVjdCB0dHlfcG9yCiAgCQlidWYtPnRhaWwtPmNvbW1pdCA9IGJ1Zi0+dGFpbC0+dXNlZDsKICAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmYnVmLT5sb2NrLCBmbGFncyk7CmRpZmYgLS1naXQgYS9wYXRjaGVzL2RyaXZlcnMtc2VyaWFsLWNsZWFudXAtbG9ja2luZy1mb3ItcnQucGF0Y2ggYi9wYXRjaGVzL2RyaXZlcnMtc2VyaWFsLWNsZWFudXAtbG9ja2luZy1mb3ItcnQucGF0Y2gKaW5kZXggYzg4ZDQ5ZC4uMjhjNGFmNCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9kcml2ZXJzLXNlcmlhbC1jbGVhbnVwLWxvY2tpbmctZm9yLXJ0LnBhdGNoCisrKyBiL3BhdGNoZXMvZHJpdmVycy1zZXJpYWwtY2xlYW51cC1sb2NraW5nLWZvci1ydC5wYXRjaApAQCAtOSwxMCArOSw4IEBACiAgZHJpdmVycy90dHkvc2VyaWFsLzgyNTAvODI1MF9jb3JlLmMgfCAgIDE1ICsrKysrLS0tLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2RyaXZlcnMvdHR5L3NlcmlhbC84MjUwLzgyNTBfY29yZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy90dHkvc2VyaWFsLzgyNTAvODI1MF9jb3JlLmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy90dHkvc2VyaWFsLzgyNTAvODI1MF9jb3JlLmMKKy0tLSBhL2RyaXZlcnMvdHR5L3NlcmlhbC84MjUwLzgyNTBfY29yZS5jCisrKysgYi9kcml2ZXJzL3R0eS9zZXJpYWwvODI1MC84MjUwX2NvcmUuYwogQEAgLTI4NjAsMTQgKzI4NjAsMTAgQEAgc2VyaWFsODI1MF9jb25zb2xlX3dyaXRlKHN0cnVjdCBjb25zb2xlCiAgCiAgCXRvdWNoX25taV93YXRjaGRvZygpOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9kcml2ZXJzLXR0eS1maXgtb21hcC1sb2NrLWNyYXAucGF0Y2ggYi9wYXRjaGVzL2RyaXZlcnMtdHR5LWZpeC1vbWFwLWxvY2stY3JhcC5wYXRjaAppbmRleCA3ZGYyMzBhLi5kYTg1OWJiIDEwMDY0NAotLS0gYS9wYXRjaGVzL2RyaXZlcnMtdHR5LWZpeC1vbWFwLWxvY2stY3JhcC5wYXRjaAorKysgYi9wYXRjaGVzL2RyaXZlcnMtdHR5LWZpeC1vbWFwLWxvY2stY3JhcC5wYXRjaApAQCAtNywxMCArNyw4IEBACiAgZHJpdmVycy90dHkvc2VyaWFsL29tYXAtc2VyaWFsLmMgfCAgIDEyICsrKystLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy90dHkvc2VyaWFsL29tYXAtc2VyaWFsLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL3R0eS9zZXJpYWwvb21hcC1zZXJpYWwuYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL3R0eS9zZXJpYWwvb21hcC1zZXJpYWwuYworLS0tIGEvZHJpdmVycy90dHkvc2VyaWFsL29tYXAtc2VyaWFsLmMKKysrKyBiL2RyaXZlcnMvdHR5L3NlcmlhbC9vbWFwLXNlcmlhbC5jCiBAQCAtMTE2OSwxMyArMTE2OSwxMCBAQCBzZXJpYWxfb21hcF9jb25zb2xlX3dyaXRlKHN0cnVjdCBjb25zb2xlCiAgCiAgCXBtX3J1bnRpbWVfZ2V0X3N5bmModXAtPmRldik7CmRpZmYgLS1naXQgYS9wYXRjaGVzL2RyaXZlcnMtdHR5LXBsMDExLWlycS1kaXNhYmxlLW1hZG5lc3MucGF0Y2ggYi9wYXRjaGVzL2RyaXZlcnMtdHR5LXBsMDExLWlycS1kaXNhYmxlLW1hZG5lc3MucGF0Y2gKaW5kZXggMzhjY2UyNy4uYjk1ZTkwNiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9kcml2ZXJzLXR0eS1wbDAxMS1pcnEtZGlzYWJsZS1tYWRuZXNzLnBhdGNoCisrKyBiL3BhdGNoZXMvZHJpdmVycy10dHktcGwwMTEtaXJxLWRpc2FibGUtbWFkbmVzcy5wYXRjaApAQCAtNywxMCArNyw4IEBACiAgZHJpdmVycy90dHkvc2VyaWFsL2FtYmEtcGwwMTEuYyB8ICAgMTUgKysrKysrKysrKy0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy90dHkvc2VyaWFsL2FtYmEtcGwwMTEuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2RyaXZlcnMvdHR5L3NlcmlhbC9hbWJhLXBsMDExLmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy90dHkvc2VyaWFsL2FtYmEtcGwwMTEuYworLS0tIGEvZHJpdmVycy90dHkvc2VyaWFsL2FtYmEtcGwwMTEuYworKysrIGIvZHJpdmVycy90dHkvc2VyaWFsL2FtYmEtcGwwMTEuYwogQEAgLTE5MjMsMTMgKzE5MjMsMTkgQEAgcGwwMTFfY29uc29sZV93cml0ZShzdHJ1Y3QgY29uc29sZSAqY28sCiAgCiAgCWNsa19lbmFibGUodWFwLT5jbGspOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9kcm0taTkxNS1kcm9wLXRyYWNlX2k5MTVfZ2VtX3JpbmdfZGlzcGF0Y2gtb25ydC5wYXRjaCBiL3BhdGNoZXMvZHJtLWk5MTUtZHJvcC10cmFjZV9pOTE1X2dlbV9yaW5nX2Rpc3BhdGNoLW9ucnQucGF0Y2gKaW5kZXggMzlkZjQ3ZS4uZjE0MGU4MyAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9kcm0taTkxNS1kcm9wLXRyYWNlX2k5MTVfZ2VtX3JpbmdfZGlzcGF0Y2gtb25ydC5wYXRjaAorKysgYi9wYXRjaGVzL2RybS1pOTE1LWRyb3AtdHJhY2VfaTkxNV9nZW1fcmluZ19kaXNwYXRjaC1vbnJ0LnBhdGNoCkBAIC00NSwxMCArNDUsOCBAQAogIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyB8ICAgIDIgKysKICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCisrKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKIEBAIC0xMDcxLDcgKzEwNzEsOSBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlCiAgCQkJZ290byBlcnI7CiAgCX0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvZWFybHktcHJpbnRrLWNvbnNvbGlkYXRlLnBhdGNoIGIvcGF0Y2hlcy9lYXJseS1wcmludGstY29uc29saWRhdGUucGF0Y2gKaW5kZXggOWNlZTRkNS4uYzNjNWNkZCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9lYXJseS1wcmludGstY29uc29saWRhdGUucGF0Y2gKKysrIGIvcGF0Y2hlcy9lYXJseS1wcmludGstY29uc29saWRhdGUucGF0Y2gKQEAgLTgsMTAgKzgsOCBAQAogIGFyY2gvc3BhcmMva2VybmVsL3NldHVwXzY0LmMgfCAgICA4ICsrKysrKystCiAgMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3NwYXJjL2tlcm5lbC9zZXR1cF8zMi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9zcGFyYy9rZXJuZWwvc2V0dXBfMzIuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3NwYXJjL2tlcm5lbC9zZXR1cF8zMi5jCistLS0gYS9hcmNoL3NwYXJjL2tlcm5lbC9zZXR1cF8zMi5jCisrKysgYi9hcmNoL3NwYXJjL2tlcm5lbC9zZXR1cF8zMi5jCiBAQCAtMzA5LDYgKzMwOSw3IEBAIHZvaWQgX19pbml0IHNldHVwX2FyY2goY2hhciAqKmNtZGxpbmVfcCkKICAKICAJYm9vdF9mbGFnc19pbml0KCpjbWRsaW5lX3ApOwpAQCAtMjAsMTAgKzE4LDggQEAKICAJcmVnaXN0ZXJfY29uc29sZSgmcHJvbV9lYXJseV9jb25zb2xlKTsKICAKICAJcHJpbnRrKCJBUkNIOiAiKTsKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9zcGFyYy9rZXJuZWwvc2V0dXBfNjQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvc3BhcmMva2VybmVsL3NldHVwXzY0LmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9zcGFyYy9rZXJuZWwvc2V0dXBfNjQuYworLS0tIGEvYXJjaC9zcGFyYy9rZXJuZWwvc2V0dXBfNjQuYworKysrIGIvYXJjaC9zcGFyYy9rZXJuZWwvc2V0dXBfNjQuYwogQEAgLTU1MSw2ICs1NTEsMTIgQEAgc3RhdGljIHZvaWQgX19pbml0IGluaXRfc3BhcmM2NF9lbGZfaHdjYQogIAkJcGF1c2VfcGF0Y2goKTsKICB9CmRpZmYgLS1naXQgYS9wYXRjaGVzL2Vwb2xsLXVzZS1nZXQtY3B1LWxpZ2h0LnBhdGNoIGIvcGF0Y2hlcy9lcG9sbC11c2UtZ2V0LWNwdS1saWdodC5wYXRjaAppbmRleCA2MGUxMjg5Li5jOWEwNmJlIDEwMDY0NAotLS0gYS9wYXRjaGVzL2Vwb2xsLXVzZS1nZXQtY3B1LWxpZ2h0LnBhdGNoCisrKyBiL3BhdGNoZXMvZXBvbGwtdXNlLWdldC1jcHUtbGlnaHQucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGZzL2V2ZW50cG9sbC5jIHwgICAgNCArKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9mcy9ldmVudHBvbGwuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2ZzL2V2ZW50cG9sbC5jCi0rKysgbGludXgtc3RhYmxlL2ZzL2V2ZW50cG9sbC5jCistLS0gYS9mcy9ldmVudHBvbGwuYworKysrIGIvZnMvZXZlbnRwb2xsLmMKIEBAIC01MDAsMTIgKzUwMCwxMiBAQCBzdGF0aWMgaW50IGVwX3BvbGxfd2FrZXVwX3Byb2Modm9pZCAqcHJpCiAgICovCiAgc3RhdGljIHZvaWQgZXBfcG9sbF9zYWZld2FrZSh3YWl0X3F1ZXVlX2hlYWRfdCAqd3EpCmRpZmYgLS1naXQgYS9wYXRjaGVzL2ZpbGVtYXAtZml4LXVwLnBhdGNoIGIvcGF0Y2hlcy9maWxlbWFwLWZpeC11cC5wYXRjaAppbmRleCBhZDNkOWJmLi4zMDMzOWVjIDEwMDY0NAotLS0gYS9wYXRjaGVzL2ZpbGVtYXAtZml4LXVwLnBhdGNoCisrKyBiL3BhdGNoZXMvZmlsZW1hcC1maXgtdXAucGF0Y2gKQEAgLTksMTAgKzksOCBAQAogIG1tL2ZpbGVtYXAuYyB8ICAgIDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9tbS9maWxlbWFwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9tbS9maWxlbWFwLmMKLSsrKyBsaW51eC1zdGFibGUvbW0vZmlsZW1hcC5jCistLS0gYS9tbS9maWxlbWFwLmMKKysrKyBiL21tL2ZpbGVtYXAuYwogQEAgLTE5NzQsNyArMTk3NCw3IEBAIHNpemVfdCBpb3ZfaXRlcl9jb3B5X2Zyb21fdXNlcl9hdG9taWMoc3QKICAJY2hhciAqa2FkZHI7CiAgCXNpemVfdCBjb3BpZWQ7CmRpZmYgLS1naXQgYS9wYXRjaGVzL2ZpeC1ydC1pbnQzLXg4Nl8zMi0zLjItcnQucGF0Y2ggYi9wYXRjaGVzL2ZpeC1ydC1pbnQzLXg4Nl8zMi0zLjItcnQucGF0Y2gKaW5kZXggZjA5MmUxOS4uODFiNDZmZCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9maXgtcnQtaW50My14ODZfMzItMy4yLXJ0LnBhdGNoCisrKyBiL3BhdGNoZXMvZml4LXJ0LWludDMteDg2XzMyLTMuMi1ydC5wYXRjaApAQCAtMjIsMTAgKzIyLDggQEAKICBhcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYyB8ICAgMzIgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveDg2L2tlcm5lbC90cmFwcy5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gveDg2L2tlcm5lbC90cmFwcy5jCistLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYworKysrIGIvYXJjaC94ODYva2VybmVsL3RyYXBzLmMKIEBAIC04NSw5ICs4NSwyMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY29uZGl0aW9uYWxfc3RpKHN0cnVjCiAgCQlsb2NhbF9pcnFfZW5hYmxlKCk7CiAgfQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9mcy1ibG9jay1ydC1zdXBwb3J0LnBhdGNoIGIvcGF0Y2hlcy9mcy1ibG9jay1ydC1zdXBwb3J0LnBhdGNoCmluZGV4IDZmNGQ4ODAuLjI4NzdjYjggMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvZnMtYmxvY2stcnQtc3VwcG9ydC5wYXRjaAorKysgYi9wYXRjaGVzL2ZzLWJsb2NrLXJ0LXN1cHBvcnQucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGJsb2NrL2Jsay1jb3JlLmMgfCAgICAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYmxvY2svYmxrLWNvcmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2Jsb2NrL2Jsay1jb3JlLmMKLSsrKyBsaW51eC1zdGFibGUvYmxvY2svYmxrLWNvcmUuYworLS0tIGEvYmxvY2svYmxrLWNvcmUuYworKysrIGIvYmxvY2svYmxrLWNvcmUuYwogQEAgLTIzMiw3ICsyMzIsNyBAQCBFWFBPUlRfU1lNQk9MKGJsa19kZWxheV9xdWV1ZSk7CiAgICoqLwogIHZvaWQgYmxrX3N0YXJ0X3F1ZXVlKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxKQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9mcy1kY2FjaGUtdXNlLWNwdS1jaGlsbC1pbi10cnlsb2NrLWxvb3BzLnBhdGNoIGIvcGF0Y2hlcy9mcy1kY2FjaGUtdXNlLWNwdS1jaGlsbC1pbi10cnlsb2NrLWxvb3BzLnBhdGNoCmluZGV4IGU2MzQyNDguLmM2NDQ0OWEgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvZnMtZGNhY2hlLXVzZS1jcHUtY2hpbGwtaW4tdHJ5bG9jay1sb29wcy5wYXRjaAorKysgYi9wYXRjaGVzL2ZzLWRjYWNoZS11c2UtY3B1LWNoaWxsLWluLXRyeWxvY2stbG9vcHMucGF0Y2gKQEAgLTE1LDEwICsxNSw4IEBACiAgZnMvbmFtZXNwYWNlLmMgICAgICAgIHwgICAgNyArKysrLS0tCiAgNCBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2ZzL2F1dG9mczQvYXV0b2ZzX2kuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2ZzL2F1dG9mczQvYXV0b2ZzX2kuaAotKysrIGxpbnV4LXN0YWJsZS9mcy9hdXRvZnM0L2F1dG9mc19pLmgKKy0tLSBhL2ZzL2F1dG9mczQvYXV0b2ZzX2kuaAorKysrIGIvZnMvYXV0b2ZzNC9hdXRvZnNfaS5oCiBAQCAtMzQsNiArMzQsNyBAQAogICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogICNpbmNsdWRlIDxsaW51eC9tb3VudC5oPgpAQCAtMjcsMTAgKzI1LDggQEAKICAjaW5jbHVkZSA8YXNtL2N1cnJlbnQuaD4KICAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICAKLUluZGV4OiBsaW51eC1zdGFibGUvZnMvYXV0b2ZzNC9leHBpcmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2ZzL2F1dG9mczQvZXhwaXJlLmMKLSsrKyBsaW51eC1zdGFibGUvZnMvYXV0b2ZzNC9leHBpcmUuYworLS0tIGEvZnMvYXV0b2ZzNC9leHBpcmUuYworKysrIGIvZnMvYXV0b2ZzNC9leHBpcmUuYwogQEAgLTE1Nyw3ICsxNTcsNyBAQCBhZ2FpbjoKICAJCQlwYXJlbnQgPSBwLT5kX3BhcmVudDsKICAJCQlpZiAoIXNwaW5fdHJ5bG9jaygmcGFyZW50LT5kX2xvY2spKSB7CkBAIC00MCwxMCArMzYsOCBAQAogIAkJCQlnb3RvIHJlbG9jazsKICAJCQl9CiAgCQkJc3Bpbl91bmxvY2soJnAtPmRfbG9jayk7Ci1JbmRleDogbGludXgtc3RhYmxlL2ZzL2RjYWNoZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZnMvZGNhY2hlLmMKLSsrKyBsaW51eC1zdGFibGUvZnMvZGNhY2hlLmMKKy0tLSBhL2ZzL2RjYWNoZS5jCisrKysgYi9mcy9kY2FjaGUuYwogQEAgLTM3LDYgKzM3LDcgQEAKICAjaW5jbHVkZSA8bGludXgvcmN1bGlzdF9ibC5oPgogICNpbmNsdWRlIDxsaW51eC9wcmVmZXRjaC5oPgpAQCAtNzksMTAgKzczLDggQEAKICAJCQlnb3RvIGFnYWluOwogIAkJfQogIAkJZGVudHJ5LT5kX2ZsYWdzICY9IH5EQ0FDSEVfQ0FOVF9NT1VOVDsKLUluZGV4OiBsaW51eC1zdGFibGUvZnMvbmFtZXNwYWNlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9mcy9uYW1lc3BhY2UuYwotKysrIGxpbnV4LXN0YWJsZS9mcy9uYW1lc3BhY2UuYworLS0tIGEvZnMvbmFtZXNwYWNlLmMKKysrKyBiL2ZzL25hbWVzcGFjZS5jCiBAQCAtMjMsNiArMjMsNyBAQAogICNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CiAgI2luY2x1ZGUgPGxpbnV4L3Byb2NfbnMuaD4KZGlmZiAtLWdpdCBhL3BhdGNoZXMvZnMtZnNjYWNoZS1yZW1vdmUtc3Bpbl9sb2NrLWZyb20tdGhlLWNvbmRpdGlvbi1pbi13aC5wYXRjaCBiL3BhdGNoZXMvZnMtZnNjYWNoZS1yZW1vdmUtc3Bpbl9sb2NrLWZyb20tdGhlLWNvbmRpdGlvbi1pbi13aC5wYXRjaAppbmRleCA3NmJjMjAwLi5lMDIwNzdiIDEwMDY0NAotLS0gYS9wYXRjaGVzL2ZzLWZzY2FjaGUtcmVtb3ZlLXNwaW5fbG9jay1mcm9tLXRoZS1jb25kaXRpb24taW4td2gucGF0Y2gKKysrIGIvcGF0Y2hlcy9mcy1mc2NhY2hlLXJlbW92ZS1zcGluX2xvY2stZnJvbS10aGUtY29uZGl0aW9uLWluLXdoLnBhdGNoCkBAIC0xMywxMCArMTMsOCBAQAogIGZzL2ZzY2FjaGUvcGFnZS5jIHwgICAxMyArKysrKysrKy0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9mcy9mc2NhY2hlL3BhZ2UuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2ZzL2ZzY2FjaGUvcGFnZS5jCi0rKysgbGludXgtc3RhYmxlL2ZzL2ZzY2FjaGUvcGFnZS5jCistLS0gYS9mcy9mc2NhY2hlL3BhZ2UuYworKysrIGIvZnMvZnNjYWNoZS9wYWdlLmMKIEBAIC03OTYsMTEgKzc5NiwxMyBAQCB2b2lkIGZzY2FjaGVfaW52YWxpZGF0ZV93cml0ZXMoc3RydWN0IGZzCiAgCiAgCV9lbnRlcigiIik7CmRpZmYgLS1naXQgYS9wYXRjaGVzL2ZzLWpiZC1wdWxsLXBsdWctd2hlbi13YWl0aW5nLWZvci1zcGFjZS5wYXRjaCBiL3BhdGNoZXMvZnMtamJkLXB1bGwtcGx1Zy13aGVuLXdhaXRpbmctZm9yLXNwYWNlLnBhdGNoCmluZGV4IGNiZDMwNzYuLjBkZDRjOTUgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvZnMtamJkLXB1bGwtcGx1Zy13aGVuLXdhaXRpbmctZm9yLXNwYWNlLnBhdGNoCisrKyBiL3BhdGNoZXMvZnMtamJkLXB1bGwtcGx1Zy13aGVuLXdhaXRpbmctZm9yLXNwYWNlLnBhdGNoCkBAIC0xNiwxMCArMTYsOCBAQAogIGZzL2piZC9jaGVja3BvaW50LmMgfCAgICAyICsrCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogbGludXgtc3RhYmxlL2ZzL2piZC9jaGVja3BvaW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9mcy9qYmQvY2hlY2twb2ludC5jCi0rKysgbGludXgtc3RhYmxlL2ZzL2piZC9jaGVja3BvaW50LmMKKy0tLSBhL2ZzL2piZC9jaGVja3BvaW50LmMKKysrKyBiL2ZzL2piZC9jaGVja3BvaW50LmMKIEBAIC0xMjksNiArMTI5LDggQEAgdm9pZCBfX2xvZ193YWl0X2Zvcl9zcGFjZShqb3VybmFsX3QgKmpvdQogIAkJaWYgKGpvdXJuYWwtPmpfZmxhZ3MgJiBKRlNfQUJPUlQpCiAgCQkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9mcy1qYmQtcmVwbGFjZS1iaF9zdGF0ZS1sb2NrLnBhdGNoIGIvcGF0Y2hlcy9mcy1qYmQtcmVwbGFjZS1iaF9zdGF0ZS1sb2NrLnBhdGNoCmluZGV4IDUxYmRlYTAuLmNlMDI4MmQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvZnMtamJkLXJlcGxhY2UtYmhfc3RhdGUtbG9jay5wYXRjaAorKysgYi9wYXRjaGVzL2ZzLWpiZC1yZXBsYWNlLWJoX3N0YXRlLWxvY2sucGF0Y2gKQEAgLTEzLDEwICsxMyw4IEBACiAgaW5jbHVkZS9saW51eC9qYmRfY29tbW9uLmggIHwgICAyNCArKysrKysrKysrKysrKysrKysrKysrKysKICAyIGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2J1ZmZlcl9oZWFkLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L2J1ZmZlcl9oZWFkLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9idWZmZXJfaGVhZC5oCistLS0gYS9pbmNsdWRlL2xpbnV4L2J1ZmZlcl9oZWFkLmgKKysrKyBiL2luY2x1ZGUvbGludXgvYnVmZmVyX2hlYWQuaAogQEAgLTc2LDYgKzc2LDExIEBAIHN0cnVjdCBidWZmZXJfaGVhZCB7CiAgCWF0b21pY190IGJfY291bnQ7CQkvKiB1c2VycyB1c2luZyB0aGlzIGJ1ZmZlcl9oZWFkICovCiAgI2lmZGVmIENPTkZJR19QUkVFTVBUX1JUX0JBU0UKQEAgLTQxLDEwICszOSw4IEBACiAgI2VuZGlmCiAgfQogIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2piZF9jb21tb24uaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvamJkX2NvbW1vbi5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvamJkX2NvbW1vbi5oCistLS0gYS9pbmNsdWRlL2xpbnV4L2piZF9jb21tb24uaAorKysrIGIvaW5jbHVkZS9saW51eC9qYmRfY29tbW9uLmgKIEBAIC0zOSwzMiArMzksNTYgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3Qgam91cm5hbF9oZWFkICpiaDJqaAogIAogIHN0YXRpYyBpbmxpbmUgdm9pZCBqYmRfbG9ja19iaF9zdGF0ZShzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9mcy1uYW1lc3BhY2UtcHJlZW1wdGlvbi1maXgucGF0Y2ggYi9wYXRjaGVzL2ZzLW5hbWVzcGFjZS1wcmVlbXB0aW9uLWZpeC5wYXRjaAppbmRleCBhZDAwMDZlLi5mNWUxMDc5IDEwMDY0NAotLS0gYS9wYXRjaGVzL2ZzLW5hbWVzcGFjZS1wcmVlbXB0aW9uLWZpeC5wYXRjaAorKysgYi9wYXRjaGVzL2ZzLW5hbWVzcGFjZS1wcmVlbXB0aW9uLWZpeC5wYXRjaApAQCAtMTMsMTAgKzEzLDggQEAKICBmcy9uYW1lc3BhY2UuYyB8ICAgIDUgKysrKy0KICAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvZnMvbmFtZXNwYWNlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9mcy9uYW1lc3BhY2UuYwotKysrIGxpbnV4LXN0YWJsZS9mcy9uYW1lc3BhY2UuYworLS0tIGEvZnMvbmFtZXNwYWNlLmMKKysrKyBiL2ZzL25hbWVzcGFjZS5jCiBAQCAtMzE1LDggKzMxNSwxMSBAQCBpbnQgX19tbnRfd2FudF93cml0ZShzdHJ1Y3QgdmZzbW91bnQgKm0pCiAgCSAqIGluY3JlbWVudGVkIGNvdW50IGFmdGVyIGl0IGhhcyBzZXQgTU5UX1dSSVRFX0hPTEQuCiAgCSAqLwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9mcy1udGZzLWRpc2FibGUtaW50ZXJydXB0LW5vbi1ydC5wYXRjaCBiL3BhdGNoZXMvZnMtbnRmcy1kaXNhYmxlLWludGVycnVwdC1ub24tcnQucGF0Y2gKaW5kZXggZjMwNTc5YS4uZjA2YWQyOSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9mcy1udGZzLWRpc2FibGUtaW50ZXJydXB0LW5vbi1ydC5wYXRjaAorKysgYi9wYXRjaGVzL2ZzLW50ZnMtZGlzYWJsZS1pbnRlcnJ1cHQtbm9uLXJ0LnBhdGNoCkBAIC0zOSwxMCArMzksOCBAQAogIGZzL250ZnMvYW9wcy5jIHwgICAgNCArKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9mcy9udGZzL2FvcHMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2ZzL250ZnMvYW9wcy5jCi0rKysgbGludXgtc3RhYmxlL2ZzL250ZnMvYW9wcy5jCistLS0gYS9mcy9udGZzL2FvcHMuYworKysrIGIvZnMvbnRmcy9hb3BzLmMKIEBAIC0xNDQsMTMgKzE0NCwxMyBAQCBzdGF0aWMgdm9pZCBudGZzX2VuZF9idWZmZXJfYXN5bmNfcmVhZChzCiAgCQlyZWNzID0gUEFHRV9DQUNIRV9TSVpFIC8gcmVjX3NpemU7CiAgCQkvKiBTaG91bGQgaGF2ZSBiZWVuIHZlcmlmaWVkIGJlZm9yZSB3ZSBnb3QgaGVyZS4uLiAqLwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9mcy1yZXBsYWNlLWJoX3VwdG9kYXRlX2xvY2stZm9yLXJ0LnBhdGNoIGIvcGF0Y2hlcy9mcy1yZXBsYWNlLWJoX3VwdG9kYXRlX2xvY2stZm9yLXJ0LnBhdGNoCmluZGV4IGU0ZDA3ZjMuLjgwZGFkZDIgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvZnMtcmVwbGFjZS1iaF91cHRvZGF0ZV9sb2NrLWZvci1ydC5wYXRjaAorKysgYi9wYXRjaGVzL2ZzLXJlcGxhY2UtYmhfdXB0b2RhdGVfbG9jay1mb3ItcnQucGF0Y2gKQEAgLTEyLDEwICsxMiw4IEBACiAgaW5jbHVkZS9saW51eC9idWZmZXJfaGVhZC5oIHwgICAzNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAgMyBmaWxlcyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9mcy9idWZmZXIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2ZzL2J1ZmZlci5jCi0rKysgbGludXgtc3RhYmxlL2ZzL2J1ZmZlci5jCistLS0gYS9mcy9idWZmZXIuYworKysrIGIvZnMvYnVmZmVyLmMKIEBAIC0yODgsOCArMjg4LDcgQEAgc3RhdGljIHZvaWQgZW5kX2J1ZmZlcl9hc3luY19yZWFkKHN0cnVjdAogIAkgKiBkZWNpZGUgdGhhdCB0aGUgcGFnZSBpcyBub3cgY29tcGxldGVseSBkb25lLgogIAkgKi8KQEAgLTgzLDEwICs4MSw4IEBACiAgCQlwcmVlbXB0X2Rpc2FibGUoKTsKICAJCV9fdGhpc19jcHVfaW5jKGJoX2FjY291bnRpbmcubnIpOwogIAkJcmVjYWxjX2JoX3N0YXRlKCk7Ci1JbmRleDogbGludXgtc3RhYmxlL2ZzL250ZnMvYW9wcy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZnMvbnRmcy9hb3BzLmMKLSsrKyBsaW51eC1zdGFibGUvZnMvbnRmcy9hb3BzLmMKKy0tLSBhL2ZzL250ZnMvYW9wcy5jCisrKysgYi9mcy9udGZzL2FvcHMuYwogQEAgLTEwOCw4ICsxMDgsNyBAQCBzdGF0aWMgdm9pZCBudGZzX2VuZF9idWZmZXJfYXN5bmNfcmVhZChzCiAgCQkJCSIweCVsbHguIiwgKHVuc2lnbmVkIGxvbmcgbG9uZyliaC0+Yl9ibG9ja25yKTsKICAJfQpAQCAtMTE4LDEwICsxMTQsOCBAQAogIH0KICAKICAvKioKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9idWZmZXJfaGVhZC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9idWZmZXJfaGVhZC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvYnVmZmVyX2hlYWQuaAorLS0tIGEvaW5jbHVkZS9saW51eC9idWZmZXJfaGVhZC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L2J1ZmZlcl9oZWFkLmgKIEBAIC03NCw4ICs3NCw0MiBAQCBzdHJ1Y3QgYnVmZmVyX2hlYWQgewogIAlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqYl9hc3NvY19tYXA7CS8qIG1hcHBpbmcgdGhpcyBidWZmZXIgaXMKICAJCQkJCQkgICBhc3NvY2lhdGVkIHdpdGggKi8KZGlmZiAtLWdpdCBhL3BhdGNoZXMvZnRyYWNlLW1pZ3JhdGUtZGlzYWJsZS10cmFjaW5nLnBhdGNoIGIvcGF0Y2hlcy9mdHJhY2UtbWlncmF0ZS1kaXNhYmxlLXRyYWNpbmcucGF0Y2gKaW5kZXggOTU4ZjdhNS4uMDFhMDFkYiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9mdHJhY2UtbWlncmF0ZS1kaXNhYmxlLXRyYWNpbmcucGF0Y2gKKysrIGIvcGF0Y2hlcy9mdHJhY2UtbWlncmF0ZS1kaXNhYmxlLXRyYWNpbmcucGF0Y2gKQEAgLTEwLDEwICsxMCw4IEBACiAga2VybmVsL3RyYWNlL3RyYWNlX291dHB1dC5jICB8ICAgIDUgKysrKysKICA0IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9mdHJhY2VfZXZlbnQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvZnRyYWNlX2V2ZW50LmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9mdHJhY2VfZXZlbnQuaAorLS0tIGEvaW5jbHVkZS9saW51eC9mdHJhY2VfZXZlbnQuaAorKysrIGIvaW5jbHVkZS9saW51eC9mdHJhY2VfZXZlbnQuaAogQEAgLTU2LDYgKzU2LDggQEAgc3RydWN0IHRyYWNlX2VudHJ5IHsKICAJdW5zaWduZWQgY2hhcgkJZmxhZ3M7CiAgCXVuc2lnbmVkIGNoYXIJCXByZWVtcHRfY291bnQ7CkBAIC0yMywxMSArMjEsOSBAQAogIH07CiAgCiAgI2RlZmluZSBGVFJBQ0VfTUFYX0VWRU5UCQkJCQkJXAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvdHJhY2UvdHJhY2UuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC90cmFjZS90cmFjZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC90cmFjZS90cmFjZS5jCi1AQCAtMzY4LDcgKzM2OCw3IEBAIGludCBfX3RyYWNlX3B1dHModW5zaWduZWQgbG9uZyBpcCwgY29uc3QKKy0tLSBhL2tlcm5lbC90cmFjZS90cmFjZS5jCisrKysgYi9rZXJuZWwvdHJhY2UvdHJhY2UuYworQEAgLTM5OSw3ICszOTksNyBAQCBpbnQgX190cmFjZV9wdXRzKHVuc2lnbmVkIGxvbmcgaXAsIGNvbnN0CiAgCiAgCWxvY2FsX3NhdmVfZmxhZ3MoaXJxX2ZsYWdzKTsKICAJYnVmZmVyID0gZ2xvYmFsX3RyYWNlLnRyYWNlX2J1ZmZlci5idWZmZXI7CkBAIC0zNiw3ICszMiw3IEBACiAgCQkJCQkgIGlycV9mbGFncywgcHJlZW1wdF9jb3VudCgpKTsKICAJaWYgKCFldmVudCkKICAJCXJldHVybiAwOwotQEAgLTE0MTksNiArMTQxOSw4IEBAIHRyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoc3RydWN0IHRyYWMKK0BAIC0xNDQ5LDYgKzE0NDksOCBAQCB0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKHN0cnVjdCB0cmFjCiAgCQkoKHBjICYgSEFSRElSUV9NQVNLKSA/IFRSQUNFX0ZMQUdfSEFSRElSUSA6IDApIHwKICAJCSgocGMgJiBTT0ZUSVJRX01BU0spID8gVFJBQ0VfRkxBR19TT0ZUSVJRIDogMCkgfAogIAkJKG5lZWRfcmVzY2hlZCgpID8gVFJBQ0VfRkxBR19ORUVEX1JFU0NIRUQgOiAwKTsKQEAgLTQ1LDcgKzQxLDcgQEAKICB9CiAgRVhQT1JUX1NZTUJPTF9HUEwodHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZSk7CiAgCi1AQCAtMjMyMiw5ICsyMzI0LDEwIEBAIHN0YXRpYyB2b2lkIHByaW50X2xhdF9oZWxwX2hlYWRlcihzdHJ1Y3QKK0BAIC0yMzUyLDkgKzIzNTQsMTAgQEAgc3RhdGljIHZvaWQgcHJpbnRfbGF0X2hlbHBfaGVhZGVyKHN0cnVjdAogIAlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQgICAgXG4iKTsKICAJc2VxX3B1dHMobSwgIiMgICAgICAgICAgICAgICAgfHwgLyBfLS0tPT4gaGFyZGlycS9zb2Z0aXJxIFxuIik7CiAgCXNlcV9wdXRzKG0sICIjICAgICAgICAgICAgICAgIHx8fCAvIF8tLT0+IHByZWVtcHQtZGVwdGggICBcbiIpOwpAQCAtNTksMTEgKzU1LDkgQEAKICB9CiAgCiAgc3RhdGljIHZvaWQgcHJpbnRfZXZlbnRfaW5mbyhzdHJ1Y3QgdHJhY2VfYnVmZmVyICpidWYsIHN0cnVjdCBzZXFfZmlsZSAqbSkKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3RyYWNlL3RyYWNlX2V2ZW50cy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3RyYWNlL3RyYWNlX2V2ZW50cy5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC90cmFjZS90cmFjZV9ldmVudHMuYwotQEAgLTE1NCw2ICsxNTQsNyBAQCBzdGF0aWMgaW50IHRyYWNlX2RlZmluZV9jb21tb25fZmllbGRzKHZvCistLS0gYS9rZXJuZWwvdHJhY2UvdHJhY2VfZXZlbnRzLmMKKysrKyBiL2tlcm5lbC90cmFjZS90cmFjZV9ldmVudHMuYworQEAgLTE3MSw2ICsxNzEsNyBAQCBzdGF0aWMgaW50IHRyYWNlX2RlZmluZV9jb21tb25fZmllbGRzKHZvCiAgCV9fY29tbW9uX2ZpZWxkKHVuc2lnbmVkIGNoYXIsIGZsYWdzKTsKICAJX19jb21tb25fZmllbGQodW5zaWduZWQgY2hhciwgcHJlZW1wdF9jb3VudCk7CiAgCV9fY29tbW9uX2ZpZWxkKGludCwgcGlkKTsKQEAgLTcxLDEwICs2NSw4IEBACiAgCiAgCXJldHVybiByZXQ7CiAgfQotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvdHJhY2UvdHJhY2Vfb3V0cHV0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvdHJhY2UvdHJhY2Vfb3V0cHV0LmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3RyYWNlL3RyYWNlX291dHB1dC5jCistLS0gYS9rZXJuZWwvdHJhY2UvdHJhY2Vfb3V0cHV0LmMKKysrKyBiL2tlcm5lbC90cmFjZS90cmFjZV9vdXRwdXQuYwogQEAgLTYzNSw2ICs2MzUsMTEgQEAgaW50IHRyYWNlX3ByaW50X2xhdF9mbXQoc3RydWN0IHRyYWNlX3NlcQogIAllbHNlCiAgCQlyZXQgPSB0cmFjZV9zZXFfcHV0YyhzLCAnLicpOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9mdXRleC1yZXF1ZXVlLXBpLWZpeC5wYXRjaCBiL3BhdGNoZXMvZnV0ZXgtcmVxdWV1ZS1waS1maXgucGF0Y2gKaW5kZXggNmRlODA5Ny4uZGI2NjcwMSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9mdXRleC1yZXF1ZXVlLXBpLWZpeC5wYXRjaAorKysgYi9wYXRjaGVzL2Z1dGV4LXJlcXVldWUtcGktZml4LnBhdGNoCkBAIC01NCwxMCArNTQsOCBAQAogIGtlcm5lbC9ydG11dGV4X2NvbW1vbi5oIHwgICAgMSArCiAgMiBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3J0bXV0ZXguYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9ydG11dGV4LmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3J0bXV0ZXguYworLS0tIGEva2VybmVsL3J0bXV0ZXguYworKysrIGIva2VybmVsL3J0bXV0ZXguYwogQEAgLTcwLDcgKzcwLDggQEAgc3RhdGljIHZvaWQgZml4dXBfcnRfbXV0ZXhfd2FpdGVycyhzdHJ1YwogIAogIHN0YXRpYyBpbnQgcnRfbXV0ZXhfcmVhbF93YWl0ZXIoc3RydWN0IHJ0X211dGV4X3dhaXRlciAqd2FpdGVyKQpAQCAtNjgsNyArNjYsNyBAQAogIH0KICAKICAvKgotQEAgLTk4Miw2ICs5ODMsMzUgQEAgaW50IHJ0X211dGV4X3N0YXJ0X3Byb3h5X2xvY2soc3RydWN0IHJ0XworQEAgLTk5NCw2ICs5OTUsMzUgQEAgaW50IHJ0X211dGV4X3N0YXJ0X3Byb3h5X2xvY2soc3RydWN0IHJ0XwogIAkJcmV0dXJuIDE7CiAgCX0KICAKQEAgLTEwNCwxMCArMTAyLDggQEAKICAJcmV0ID0gdGFza19ibG9ja3Nfb25fcnRfbXV0ZXgobG9jaywgd2FpdGVyLCB0YXNrLCBkZXRlY3RfZGVhZGxvY2spOwogIAogIAlpZiAocmV0ICYmICFydF9tdXRleF9vd25lcihsb2NrKSkgewotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvcnRtdXRleF9jb21tb24uaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9ydG11dGV4X2NvbW1vbi5oCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9ydG11dGV4X2NvbW1vbi5oCistLS0gYS9rZXJuZWwvcnRtdXRleF9jb21tb24uaAorKysrIGIva2VybmVsL3J0bXV0ZXhfY29tbW9uLmgKIEBAIC0xMDQsNiArMTA0LDcgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnJ0X211dAogICAqIFBJLWZ1dGV4IHN1cHBvcnQgKHByb3h5IGxvY2tpbmcgZnVuY3Rpb25zLCBldGMuKToKICAgKi8KZGlmZiAtLWdpdCBhL3BhdGNoZXMvZ2VuaXJxLWRpc2FibGUtaXJxcG9sbC1vbi1ydC5wYXRjaCBiL3BhdGNoZXMvZ2VuaXJxLWRpc2FibGUtaXJxcG9sbC1vbi1ydC5wYXRjaAppbmRleCA1YzNhOGFhLi5iOTA3MmVhIDEwMDY0NAotLS0gYS9wYXRjaGVzL2dlbmlycS1kaXNhYmxlLWlycXBvbGwtb24tcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy9nZW5pcnEtZGlzYWJsZS1pcnFwb2xsLW9uLXJ0LnBhdGNoCkBAIC0xMSwxMCArMTEsOCBAQAogIGtlcm5lbC9pcnEvc3B1cmlvdXMuYyB8ICAgMTAgKysrKysrKysrKwogIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2lycS9zcHVyaW91cy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2lycS9zcHVyaW91cy5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9pcnEvc3B1cmlvdXMuYworLS0tIGEva2VybmVsL2lycS9zcHVyaW91cy5jCisrKysgYi9rZXJuZWwvaXJxL3NwdXJpb3VzLmMKIEBAIC0zNDAsNiArMzQwLDExIEBAIE1PRFVMRV9QQVJNX0RFU0Mobm9pcnFkZWJ1ZywgIkRpc2FibGUgaXIKICAKICBzdGF0aWMgaW50IF9faW5pdCBpcnFmaXh1cF9zZXR1cChjaGFyICpzdHIpCmRpZmYgLS1naXQgYS9wYXRjaGVzL2dlbmlycS1mb3JjZS10aHJlYWRpbmcucGF0Y2ggYi9wYXRjaGVzL2dlbmlycS1mb3JjZS10aHJlYWRpbmcucGF0Y2gKaW5kZXggOGUwNTk3Zi4uMDQzNmE5NiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9nZW5pcnEtZm9yY2UtdGhyZWFkaW5nLnBhdGNoCisrKyBiL3BhdGNoZXMvZ2VuaXJxLWZvcmNlLXRocmVhZGluZy5wYXRjaApAQCAtOCwxMCArOCw4IEBACiAga2VybmVsL2lycS9tYW5hZ2UuYyAgICAgICB8ICAgIDIgKysKICAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oCistLS0gYS9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oCiBAQCAtMzgzLDkgKzM4MywxMyBAQCBzdGF0aWMgaW5saW5lIGludCBkaXNhYmxlX2lycV93YWtlKHVuc2lnCiAgCiAgCkBAIC0yOCwxMCArMjYsOCBAQAogICNlbmRpZgogIAogICNpZm5kZWYgX19BUkNIX1NFVF9TT0ZUSVJRX1BFTkRJTkcKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2lycS9tYW5hZ2UuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9pcnEvbWFuYWdlLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL2lycS9tYW5hZ2UuYworLS0tIGEva2VybmVsL2lycS9tYW5hZ2UuYworKysrIGIva2VybmVsL2lycS9tYW5hZ2UuYwogQEAgLTIyLDYgKzIyLDcgQEAKICAjaW5jbHVkZSAiaW50ZXJuYWxzLmgiCiAgCmRpZmYgLS1naXQgYS9wYXRjaGVzL2dlbmlycS1ub2RlYnVnLXNoaXJxLnBhdGNoIGIvcGF0Y2hlcy9nZW5pcnEtbm9kZWJ1Zy1zaGlycS5wYXRjaAppbmRleCBiMjY0N2UxLi40ODg1ZmI0IDEwMDY0NAotLS0gYS9wYXRjaGVzL2dlbmlycS1ub2RlYnVnLXNoaXJxLnBhdGNoCisrKyBiL3BhdGNoZXMvZ2VuaXJxLW5vZGVidWctc2hpcnEucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGxpYi9LY29uZmlnLmRlYnVnIHwgICAgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2xpYi9LY29uZmlnLmRlYnVnCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbGliL0tjb25maWcuZGVidWcKLSsrKyBsaW51eC1zdGFibGUvbGliL0tjb25maWcuZGVidWcKKy0tLSBhL2xpYi9LY29uZmlnLmRlYnVnCisrKysgYi9saWIvS2NvbmZpZy5kZWJ1ZwogQEAgLTE2NCw3ICsxNjQsNyBAQCBjb25maWcgREVCVUdfS0VSTkVMCiAgCiAgY29uZmlnIERFQlVHX1NISVJRCmRpZmYgLS1naXQgYS9wYXRjaGVzL2dwdS1pOTE1LWFsbG93LXRoZS11c2VyLW5vdC10by1kby10aGUtd2JpbnZkLnBhdGNoIGIvcGF0Y2hlcy9ncHUtaTkxNS1hbGxvdy10aGUtdXNlci1ub3QtdG8tZG8tdGhlLXdiaW52ZC5wYXRjaAppbmRleCBjOTAyNjhkLi43YjgzNTY1IDEwMDY0NAotLS0gYS9wYXRjaGVzL2dwdS1pOTE1LWFsbG93LXRoZS11c2VyLW5vdC10by1kby10aGUtd2JpbnZkLnBhdGNoCisrKyBiL3BhdGNoZXMvZ3B1LWk5MTUtYWxsb3ctdGhlLXVzZXItbm90LXRvLWRvLXRoZS13YmludmQucGF0Y2gKQEAgLTE3LDEwICsxNyw4IEBACiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyB8ICAgMTcgKysrKysrKysrKysrKysrLS0KICAxIGZpbGUgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCistLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCiBAQCAtMzUsNiArMzUsNyBAQAogICNpbmNsdWRlIDxsaW51eC9zd2FwLmg+CiAgI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgpAQCAtMjksNyArMjcsNyBAQAogIAogIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX29iamVjdF9mbHVzaF9ndHRfd3JpdGVfZG9tYWluKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOwogIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX29iamVjdF9mbHVzaF9jcHVfd3JpdGVfZG9tYWluKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOwotQEAgLTI2NzYsNiArMjY3NywxMCBAQCBzdGF0aWMgaW5saW5lIGludCBmZW5jZV9udW1iZXIoc3RydWN0IGRyCitAQCAtMjcxMyw2ICsyNzE0LDEwIEBAIHN0YXRpYyBpbmxpbmUgaW50IGZlbmNlX251bWJlcihzdHJ1Y3QgZHIKICAJcmV0dXJuIGZlbmNlIC0gZGV2X3ByaXYtPmZlbmNlX3JlZ3M7CiAgfQogIApAQCAtNDAsNyArMzgsNyBAQAogIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3dyaXRlX2ZlbmNlX19pcGkodm9pZCAqZGF0YSkKICB7CiAgCXdiaW52ZCgpOwotQEAgLTI2OTksOCArMjcwNCwxNiBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9vYmplY3RfdXBkYXRlX2ZlbmNlCitAQCAtMjczNiw4ICsyNzQxLDE2IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX29iamVjdF91cGRhdGVfZmVuY2UKICAJICogb24gZWFjaCBwcm9jZXNzb3IgaW4gb3JkZXIgdG8gbWFudWFsbHkgZmx1c2ggYWxsIG1lbW9yeQogIAkgKiB0cmFuc2FjdGlvbnMgYmVmb3JlIHVwZGF0aW5nIHRoZSBmZW5jZSByZWdpc3Rlci4KICAJICovCmRpZmYgLS1naXQgYS9wYXRjaGVzL2hhcmlycS1oLWRlZmluZS1zb2Z0aXJxX2NvdW50LWFzLW91bC10by1raWxsLWJ1aWxkLXdhcm5pbmcucGF0Y2ggYi9wYXRjaGVzL2hhcmlycS1oLWRlZmluZS1zb2Z0aXJxX2NvdW50LWFzLW91bC10by1raWxsLWJ1aWxkLXdhcm5pbmcucGF0Y2gKaW5kZXggZDRjNDgzNS4uOGU5NGQxNSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9oYXJpcnEtaC1kZWZpbmUtc29mdGlycV9jb3VudC1hcy1vdWwtdG8ta2lsbC1idWlsZC13YXJuaW5nLnBhdGNoCisrKyBiL3BhdGNoZXMvaGFyaXJxLWgtZGVmaW5lLXNvZnRpcnFfY291bnQtYXMtb3VsLXRvLWtpbGwtYnVpbGQtd2FybmluZy5wYXRjaApAQCAtMjIsMTAgKzIyLDggQEAKICBpbmNsdWRlL2xpbnV4L2hhcmRpcnEuaCB8ICAgIDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2hhcmRpcnEuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvaGFyZGlycS5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvaGFyZGlycS5oCistLS0gYS9pbmNsdWRlL2xpbnV4L2hhcmRpcnEuaAorKysrIGIvaW5jbHVkZS9saW51eC9oYXJkaXJxLmgKIEBAIC04NSw3ICs4NSw3IEBACiAgIyBkZWZpbmUgc29mdGlycV9jb3VudCgpCShwcmVlbXB0X2NvdW50KCkgJiBTT0ZUSVJRX01BU0spCiAgIyBkZWZpbmUgaW5fc2VydmluZ19zb2Z0aXJxKCkJKHNvZnRpcnFfY291bnQoKSAmIFNPRlRJUlFfT0ZGU0VUKQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9ob3RwbHVnLWNhbGwtY3B1X3VucGx1Z19iZWdpbi1hLWxpdHRsZS1lYXJseS5wYXRjaCBiL3BhdGNoZXMvaG90cGx1Zy1jYWxsLWNwdV91bnBsdWdfYmVnaW4tYS1saXR0bGUtZWFybHkucGF0Y2gKaW5kZXggMWM1MzkzNi4uYTk5YjczMSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9ob3RwbHVnLWNhbGwtY3B1X3VucGx1Z19iZWdpbi1hLWxpdHRsZS1lYXJseS5wYXRjaAorKysgYi9wYXRjaGVzL2hvdHBsdWctY2FsbC1jcHVfdW5wbHVnX2JlZ2luLWEtbGl0dGxlLWVhcmx5LnBhdGNoCkBAIC0yNSwxMCArMjUsOCBAQAogIGtlcm5lbC9jcHUuYyB8ICAgMTYgKysrKysrKy0tLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2NwdS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2NwdS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9jcHUuYworLS0tIGEva2VybmVsL2NwdS5jCisrKysgYi9rZXJuZWwvY3B1LmMKIEBAIC00MTEsMjIgKzQxMSwyMCBAQCBzdGF0aWMgaW50IF9fcmVmIF9jcHVfZG93bih1bnNpZ25lZCBpbnQKICAJCXJldHVybiAtRUJVU1k7CiAgCX0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvaG90cGx1Zy1saWdodC1nZXQtb25saW5lLWNwdXMucGF0Y2ggYi9wYXRjaGVzL2hvdHBsdWctbGlnaHQtZ2V0LW9ubGluZS1jcHVzLnBhdGNoCmluZGV4IGQxYjFkNDQuLmU5NmUzZGMgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvaG90cGx1Zy1saWdodC1nZXQtb25saW5lLWNwdXMucGF0Y2gKKysrIGIvcGF0Y2hlcy9ob3RwbHVnLWxpZ2h0LWdldC1vbmxpbmUtY3B1cy5wYXRjaApAQCAtMTYsMTAgKzE2LDggQEAKICBrZXJuZWwvY3B1LmMgICAgICAgIHwgIDEyNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAgMiBmaWxlcyBjaGFuZ2VkLCAxMzEgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2NwdS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9jcHUuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2NwdS5oCistLS0gYS9pbmNsdWRlL2xpbnV4L2NwdS5oCisrKysgYi9pbmNsdWRlL2xpbnV4L2NwdS5oCiBAQCAtMSwxNSArMSwxNSBAQAogIC8qCiAgICogaW5jbHVkZS9saW51eC9jcHUuaCAtIGdlbmVyaWMgY3B1IGRlZmluaXRpb24KQEAgLTU4LDEwICs1Niw4IEBACiAgI2RlZmluZSBob3RjcHVfbm90aWZpZXIoZm4sIHByaSkJZG8geyAodm9pZCkoZm4pOyB9IHdoaWxlICgwKQogIC8qIFRoZXNlIGFyZW4ndCBpbmxpbmUgZnVuY3Rpb25zIGR1ZSB0byBhIEdDQyBidWcuICovCiAgI2RlZmluZSByZWdpc3Rlcl9ob3RjcHVfbm90aWZpZXIobmIpCSh7ICh2b2lkKShuYik7IDA7IH0pCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9jcHUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9jcHUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvY3B1LmMKKy0tLSBhL2tlcm5lbC9jcHUuYworKysrIGIva2VybmVsL2NwdS5jCiBAQCAtNjMsNiArNjMsMTAxIEBAIHN0YXRpYyBzdHJ1Y3QgewogIAkucmVmY291bnQgPSAwLAogIH07CmRpZmYgLS1naXQgYS9wYXRjaGVzL2hvdHBsdWctc3luY191bnBsdWctbm8tMjctNWNuLTI3LWluLXRhc2stbmFtZS5wYXRjaCBiL3BhdGNoZXMvaG90cGx1Zy1zeW5jX3VucGx1Zy1uby0yNy01Y24tMjctaW4tdGFzay1uYW1lLnBhdGNoCmluZGV4IGZhYmNhMjEuLjA3YTAyNjIgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvaG90cGx1Zy1zeW5jX3VucGx1Zy1uby0yNy01Y24tMjctaW4tdGFzay1uYW1lLnBhdGNoCisrKyBiL3BhdGNoZXMvaG90cGx1Zy1zeW5jX3VucGx1Zy1uby0yNy01Y24tMjctaW4tdGFzay1uYW1lLnBhdGNoCkBAIC0xMSwxMCArMTEsOCBAQAogIGtlcm5lbC9jcHUuYyB8ICAgIDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvY3B1LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvY3B1LmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL2NwdS5jCistLS0gYS9rZXJuZWwvY3B1LmMKKysrKyBiL2tlcm5lbC9jcHUuYwogQEAgLTE0Miw3ICsxNDIsNyBAQCBzdGF0aWMgaW50IGNwdV91bnBsdWdfYmVnaW4odW5zaWduZWQgaW50CiAgCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrOwogIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9ob3RwbHVnLXVzZS1taWdyYXRlLWRpc2FibGUucGF0Y2ggYi9wYXRjaGVzL2hvdHBsdWctdXNlLW1pZ3JhdGUtZGlzYWJsZS5wYXRjaAppbmRleCAyZWYzOTUwLi40NmU4ZDkxIDEwMDY0NAotLS0gYS9wYXRjaGVzL2hvdHBsdWctdXNlLW1pZ3JhdGUtZGlzYWJsZS5wYXRjaAorKysgYi9wYXRjaGVzL2hvdHBsdWctdXNlLW1pZ3JhdGUtZGlzYWJsZS5wYXRjaApAQCAtNywxMCArNyw4IEBACiAga2VybmVsL2NwdS5jIHwgICAgNiArKystLS0KICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9jcHUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9jcHUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvY3B1LmMKKy0tLSBhL2tlcm5lbC9jcHUuYworKysrIGIva2VybmVsL2NwdS5jCiBAQCAtNDAzLDE0ICs0MDMsMTMgQEAgc3RhdGljIGludCBfX3JlZiBfY3B1X2Rvd24odW5zaWduZWQgaW50CiAgCWNwdW1hc2tfYW5kbm90KGNwdW1hc2ssIGNwdV9vbmxpbmVfbWFzaywgY3B1bWFza19vZihjcHUpKTsKICAJc2V0X2NwdXNfYWxsb3dlZF9wdHIoY3VycmVudCwgY3B1bWFzayk7CmRpZmYgLS1naXQgYS9wYXRjaGVzL2hwc2EtZml4LXdhcm5pbmctd2l0aC1zbXBfcHJvY2Vzc29yX2lkLWluLXByZWVtcHRpYmwucGF0Y2ggYi9wYXRjaGVzL2hwc2EtZml4LXdhcm5pbmctd2l0aC1zbXBfcHJvY2Vzc29yX2lkLWluLXByZWVtcHRpYmwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmFlNjM4NgotLS0gL2Rldi9udWxsCisrKyBiL3BhdGNoZXMvaHBzYS1maXgtd2FybmluZy13aXRoLXNtcF9wcm9jZXNzb3JfaWQtaW4tcHJlZW1wdGlibC5wYXRjaApAQCAtMCwwICsxLDc4IEBACitGcm9tOiBKb2huIEthY3VyIDxqa2FjdXJAcmVkaGF0LmNvbT4KK0RhdGU6IEZyaSwgMjYgSnVsIDIwMTMgMTY6MDY6MTggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gaHBzYTogZml4IHdhcm5pbmcgd2l0aCBzbXBfcHJvY2Vzc29yX2lkKCkgaW4gcHJlZW1wdGlibGUKKyBzZWN0aW9uCisKK09uIGEgMy42LXJ0IChyZWFsLXRpbWUgcGF0Y2gpIGtlcm5lbCB3ZSBhcmUgc2VlaW5nIHRoZSBmb2xsb3dpbmcgQlVHCitIb3dldmVyLCBpdCBhcHBlYXJzIHRvIGJlIHJlbGV2YW50IGZvciBub24tcmVhbHRpbWUgKG1haW5saW5lKSBhcyB3ZWxsLgorCit8aHBzYSAwMDAwOjAzOjAwLjA6IGhwc2EwOiA8MHgzMjNhPiBhdCBJUlEgNjcgdXNpbmcgREFDCit8c2NzaTAgOiBocHNhCit8QlVHOiB1c2luZyBzbXBfcHJvY2Vzc29yX2lkKCkgaW4gcHJlZW1wdGlibGUgWzAwMDAwMDAwMDAwMDAwMDBdIGNvZGU6IGt3b3JrZXIvdTowLzYKK3xjYWxsZXIgaXMgZW5xdWV1ZV9jbWRfYW5kX3N0YXJ0X2lvKzB4NWEvMHgxMDAgW2hwc2FdCit8UGlkOiA2LCBjb21tOiBrd29ya2VyL3U6MCBOb3QgdGFpbnRlZCAzLjYuMTEuNS1ydDM3LjUyLmVsNnJ0Lng4Nl82NC5kZWJ1ZyAjMQorfENhbGwgVHJhY2U6Cit8IFs8ZmZmZmZmZmY4MTJhYmU4Mz5dIGRlYnVnX3NtcF9wcm9jZXNzb3JfaWQrMHgxMjMvMHgxNTAKK3wgWzxmZmZmZmZmZmEwMDkwNDNhPl0gZW5xdWV1ZV9jbWRfYW5kX3N0YXJ0X2lvKzB4NWEvMHgxMDAgW2hwc2FdCit8IFs8ZmZmZmZmZmZhMDA5MDVjYj5dIGhwc2Ffc2NzaV9kb19zaW1wbGVfY21kX2NvcmUrMHhlYi8weDExMCBbaHBzYV0KK3wgWzxmZmZmZmZmZjgxMmIwOWM4Pl0gPyBzd2lvdGxiX2RtYV9tYXBwaW5nX2Vycm9yKzB4MTgvMHgzMAorfCBbPGZmZmZmZmZmODEyYjA5Yzg+XSA/IHN3aW90bGJfZG1hX21hcHBpbmdfZXJyb3IrMHgxOC8weDMwCit8IFs8ZmZmZmZmZmZhMDA5MDcwMT5dIGhwc2Ffc2NzaV9kb19zaW1wbGVfY21kX3dpdGhfcmV0cnkrMHg5MS8weDI4MCBbaHBzYV0KK3wgWzxmZmZmZmZmZmEwMDkzNTU4Pl0gaHBzYV9zY3NpX2RvX3JlcG9ydF9sdW5zLmNsb25lLjIrMHhkOC8weDEzMCBbaHBzYV0KK3wgWzxmZmZmZmZmZmEwMDkzNWVhPl0gaHBzYV9nYXRoZXJfbHVuX2luZm8uY2xvbmUuMysweDNhLzB4MWEwIFtocHNhXQorfCBbPGZmZmZmZmZmYTAwOTYzZGY+XSBocHNhX3VwZGF0ZV9zY3NpX2RldmljZXMrMHgxMWYvMHg0ZjAgW2hwc2FdCit8IFs8ZmZmZmZmZmY4MTU5MjAxOT5dID8gc3ViX3ByZWVtcHRfY291bnQrMHhhOS8weGUwCit8IFs8ZmZmZmZmZmZhMDA5NjhhZD5dIGhwc2Ffc2Nhbl9zdGFydCsweGZkLzB4MTUwIFtocHNhXQorfCBbPGZmZmZmZmZmODE1OGNiYTg+XSA/IHJ0X3NwaW5fbG9ja19zbG93dW5sb2NrKzB4NzgvMHg5MAorfCBbPGZmZmZmZmZmODEzYjA0ZDc+XSBkb19zY3NpX3NjYW5faG9zdCsweDM3LzB4YTAKK3wgWzxmZmZmZmZmZjgxM2IwNWRhPl0gZG9fc2Nhbl9hc3luYysweDFhLzB4MzAKK3wgWzxmZmZmZmZmZjgxMDdjNGFiPl0gYXN5bmNfcnVuX2VudHJ5X2ZuKzB4OWIvMHgxZDAKK3wgWzxmZmZmZmZmZjgxMDZhZTkyPl0gcHJvY2Vzc19vbmVfd29yaysweDFmMi8weDYyMAorfCBbPGZmZmZmZmZmODEwNmFlMjA+XSA/IHByb2Nlc3Nfb25lX3dvcmsrMHgxODAvMHg2MjAKK3wgWzxmZmZmZmZmZjgxMDZkNGZlPl0gPyB3b3JrZXJfdGhyZWFkKzB4NWUvMHgzYTAKK3wgWzxmZmZmZmZmZjgxMDdjNDEwPl0gPyBhc3luY19zY2hlZHVsZSsweDIwLzB4MjAKK3wgWzxmZmZmZmZmZjgxMDZkNWQzPl0gd29ya2VyX3RocmVhZCsweDEzMy8weDNhMAorfCBbPGZmZmZmZmZmODEwNmQ0YTA+XSA/IG1hbmFnZV93b3JrZXJzKzB4MTkwLzB4MTkwCit8IFs8ZmZmZmZmZmY4MTA3MzIzNj5dIGt0aHJlYWQrMHhhNi8weGIwCit8IFs8ZmZmZmZmZmY4MTU5NzBhND5dIGtlcm5lbF90aHJlYWRfaGVscGVyKzB4NC8weDEwCit8IFs8ZmZmZmZmZmY4MTA4MmE3Yz5dID8gZmluaXNoX3Rhc2tfc3dpdGNoKzB4OGMvMHgxMTAKK3wgWzxmZmZmZmZmZjgxNThlNDRiPl0gPyBfcmF3X3NwaW5fdW5sb2NrX2lycSsweDNiLzB4NzAKK3wgWzxmZmZmZmZmZjgxNThlODVkPl0gPyByZXRpbnRfcmVzdG9yZV9hcmdzKzB4ZS8weGUKK3wgWzxmZmZmZmZmZjgxMDczMTkwPl0gPyBrdGhyZWFkZCsweDFlMC8weDFlMAorfCBbPGZmZmZmZmZmODE1OTcwYTA+XSA/IGdzX2NoYW5nZSsweGIvMHhiCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhpcyBpcyBjYXVzZWQgYnkKK2VucXVldWVfY21kX2FuZF9zdGFydF9pbygpLT4KKyAgICAgICAgc2V0X3BlcmZvcm1hbnRfbW9kZSgpLT4KKyAgICAgICAgICAgICAgICBzbXBfcHJvY2Vzc29yX2lkKCkKK1doaWNoIGlmIHlvdSBoYXZlIGRlYnVnZ2luZyBlbmFibGVkIGNhbGxzIGRlYnVnX3Byb2Nlc3Nvcl9pZCgpIGFuZCB0cmlnZ2VycyB0aGUgd2FybmluZy4KKworVGhlIGNvZGUgaGVyZSBpcworIGMtPkhlYWRlci5SZXBseVF1ZXVlID0gc21wX3Byb2Nlc3Nvcl9pZCgpICUgaC0+bnJlcGx5X3F1ZXVlczsKKworU2luY2UgaXQgaXMgbm90IGNyaXRpY2FsIHRoYXQgdGhlIGNvZGUgY29tcGxldGUgb24gdGhlIHNhbWUgcHJvY2Vzc29yLAorYnV0IHRoZSBjcHUgaXMgYSBoaW50IHVzZWQgaW4gZ2VuZXJhdGluZyB0aGUgUmVwbHlRdWV1ZSBhbmQgd2lsbCBzdGlsbCB3b3JrIGlmCit0aGUgY3B1IG1pZ3JhdGVzIG9yIGlzIHByZWVtcHRlZCwgaXQgaXMgc2FmZSB0byB1c2UgdGhlIHJhd19zbXBfcHJvY2Vzc29yX2lkKCkKK3RvIHN1cnByZXNzIHRoZSBmYWxzZSBwb3NpdHZlIHdhcm5pbmcuCisKK0NjOiBzdGFibGUtcnRAdmdlci5rZXJuZWwub3JnCitTaWduZWQtb2ZmLWJ5OiBKb2huIEthY3VyIDxqa2FjdXJAcmVkaGF0LmNvbT4KK0Fja2VkLWJ5OiBTdGVwaGVuIDxzY2FtZXJvbkBiZWFyZG9nLmNjZS5ocC5jb20+CitTaWduZWQtb2ZmLWJ5OiBTZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9yIDxiaWdlYXN5QGxpbnV0cm9uaXguZGU+CistLS0KKyBkcml2ZXJzL3Njc2kvaHBzYS5jIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCistLS0gYS9kcml2ZXJzL3Njc2kvaHBzYS5jCisrKysgYi9kcml2ZXJzL3Njc2kvaHBzYS5jCitAQCAtNTgzLDcgKzU4Myw3IEBAIHN0YXRpYyB2b2lkIHNldF9wZXJmb3JtYW50X21vZGUoc3RydWN0IGMKKyAJCWMtPmJ1c2FkZHIgfD0gMSB8IChoLT5ibG9ja0ZldGNoVGFibGVbYy0+SGVhZGVyLlNHTGlzdF0gPDwgMSk7CisgCQlpZiAobGlrZWx5KGgtPm1zaXhfdmVjdG9yKSkKKyAJCQljLT5IZWFkZXIuUmVwbHlRdWV1ZSA9CistCQkJCXNtcF9wcm9jZXNzb3JfaWQoKSAlIGgtPm5yZXBseV9xdWV1ZXM7CisrCQkJCXJhd19zbXBfcHJvY2Vzc29yX2lkKCkgJSBoLT5ucmVwbHlfcXVldWVzOworIAl9CisgfQorIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9ocnRpbWVyLWZpeHVwLWhydGltZXItY2FsbGJhY2stY2hhbmdlcy1mb3ItcHJlZW1wdC1yLnBhdGNoIGIvcGF0Y2hlcy9ocnRpbWVyLWZpeHVwLWhydGltZXItY2FsbGJhY2stY2hhbmdlcy1mb3ItcHJlZW1wdC1yLnBhdGNoCmluZGV4IGU2NzIzZWQuLjA5ZjNkNWMgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvaHJ0aW1lci1maXh1cC1ocnRpbWVyLWNhbGxiYWNrLWNoYW5nZXMtZm9yLXByZWVtcHQtci5wYXRjaAorKysgYi9wYXRjaGVzL2hydGltZXItZml4dXAtaHJ0aW1lci1jYWxsYmFjay1jaGFuZ2VzLWZvci1wcmVlbXB0LXIucGF0Y2gKQEAgLTIwLDEwICsyMCw4IEBACiAga2VybmVsL3dhdGNoZG9nLmMgICAgICAgIHwgICAgMSAKICA2IGZpbGVzIGNoYW5nZWQsIDE5NSBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2hydGltZXIuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvaHJ0aW1lci5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvaHJ0aW1lci5oCistLS0gYS9pbmNsdWRlL2xpbnV4L2hydGltZXIuaAorKysrIGIvaW5jbHVkZS9saW51eC9ocnRpbWVyLmgKIEBAIC0xMTEsNiArMTExLDggQEAgc3RydWN0IGhydGltZXIgewogIAllbnVtIGhydGltZXJfcmVzdGFydAkJKCpmdW5jdGlvbikoc3RydWN0IGhydGltZXIgKik7CiAgCXN0cnVjdCBocnRpbWVyX2Nsb2NrX2Jhc2UJKmJhc2U7CkBAIC00MSwxMCArMzksOCBAQAogIAlrdGltZV90CQkJcmVzb2x1dGlvbjsKICAJa3RpbWVfdAkJCSgqZ2V0X3RpbWUpKHZvaWQpOwogIAlrdGltZV90CQkJc29mdGlycV90aW1lOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvaHJ0aW1lci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2hydGltZXIuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvaHJ0aW1lci5jCistLS0gYS9rZXJuZWwvaHJ0aW1lci5jCisrKysgYi9rZXJuZWwvaHJ0aW1lci5jCiBAQCAtNjA3LDggKzYwNyw3IEBAIHN0YXRpYyBpbnQgaHJ0aW1lcl9yZXByb2dyYW0oc3RydWN0IGhydGkKICAJICogV2hlbiB0aGUgY2FsbGJhY2sgaXMgcnVubmluZywgd2UgZG8gbm90IHJlcHJvZ3JhbSB0aGUgY2xvY2sgZXZlbnQKICAJICogZGV2aWNlLiBUaGUgdGltZXIgY2FsbGJhY2sgaXMgZWl0aGVyIHJ1bm5pbmcgb24gYSBkaWZmZXJlbnQgQ1BVIG9yCkBAIC00MTQsMTAgKzQxMCw4IEBACiAgfQogIAogIC8qKgotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL2NvcmUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCistLS0gYS9rZXJuZWwvc2NoZWQvY29yZS5jCisrKysgYi9rZXJuZWwvc2NoZWQvY29yZS5jCiBAQCAtNDg5LDYgKzQ4OSw3IEBAIHN0YXRpYyB2b2lkIGluaXRfcnFfaHJ0aWNrKHN0cnVjdCBycSAqcnEKICAKICAJaHJ0aW1lcl9pbml0KCZycS0+aHJ0aWNrX3RpbWVyLCBDTE9DS19NT05PVE9OSUMsIEhSVElNRVJfTU9ERV9SRUwpOwpAQCAtNDI2LDEwICs0MjAsOCBAQAogIH0KICAjZWxzZQkvKiBDT05GSUdfU0NIRURfSFJUSUNLICovCiAgc3RhdGljIGlubGluZSB2b2lkIGhydGlja19jbGVhcihzdHJ1Y3QgcnEgKnJxKQotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvcnQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zY2hlZC9ydC5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9ydC5jCistLS0gYS9rZXJuZWwvc2NoZWQvcnQuYworKysrIGIva2VybmVsL3NjaGVkL3J0LmMKIEBAIC00Myw2ICs0Myw3IEBAIHZvaWQgaW5pdF9ydF9iYW5kd2lkdGgoc3RydWN0IHJ0X2JhbmR3aWQKICAKICAJaHJ0aW1lcl9pbml0KCZydF9iLT5ydF9wZXJpb2RfdGltZXIsCkBAIC00MzgsMTEgKzQzMCw5IEBACiAgCXJ0X2ItPnJ0X3BlcmlvZF90aW1lci5mdW5jdGlvbiA9IHNjaGVkX3J0X3BlcmlvZF90aW1lcjsKICB9CiAgCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC90aW1lL3RpY2stc2NoZWQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC90aW1lL3RpY2stc2NoZWQuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvdGltZS90aWNrLXNjaGVkLmMKLUBAIC0xMTMzLDYgKzExMzMsNyBAQCB2b2lkIHRpY2tfc2V0dXBfc2NoZWRfdGltZXIodm9pZCkKKy0tLSBhL2tlcm5lbC90aW1lL3RpY2stc2NoZWQuYworKysrIGIva2VybmVsL3RpbWUvdGljay1zY2hlZC5jCitAQCAtMTEyOCw2ICsxMTI4LDcgQEAgdm9pZCB0aWNrX3NldHVwX3NjaGVkX3RpbWVyKHZvaWQpCiAgCSAqIEVtdWxhdGUgdGljayBwcm9jZXNzaW5nIHZpYSBwZXItQ1BVIGhydGltZXJzOgogIAkgKi8KICAJaHJ0aW1lcl9pbml0KCZ0cy0+c2NoZWRfdGltZXIsIENMT0NLX01PTk9UT05JQywgSFJUSU1FUl9NT0RFX0FCUyk7CkBAIC00NTAsMTAgKzQ0MCw4IEBACiAgCXRzLT5zY2hlZF90aW1lci5mdW5jdGlvbiA9IHRpY2tfc2NoZWRfdGltZXI7CiAgCiAgCS8qIEdldCB0aGUgbmV4dCBwZXJpb2QgKHBlciBjcHUpICovCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC93YXRjaGRvZy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3dhdGNoZG9nLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3dhdGNoZG9nLmMKKy0tLSBhL2tlcm5lbC93YXRjaGRvZy5jCisrKysgYi9rZXJuZWwvd2F0Y2hkb2cuYwogQEAgLTM1Nyw2ICszNTcsNyBAQCBzdGF0aWMgdm9pZCB3YXRjaGRvZ19lbmFibGUodW5zaWduZWQgaW50CiAgCS8qIGtpY2sgb2ZmIHRoZSB0aW1lciBmb3IgdGhlIGhhcmRsb2NrdXAgZGV0ZWN0b3IgKi8KICAJaHJ0aW1lcl9pbml0KGhydGltZXIsIENMT0NLX01PTk9UT05JQywgSFJUSU1FUl9NT0RFX1JFTCk7CmRpZmYgLS1naXQgYS9wYXRjaGVzL2hydGltZXItcmFpc2Utc29mdGlycS1pZi1ocnRpbWVyLWlycS1zdGFsbGVkLnBhdGNoIGIvcGF0Y2hlcy9ocnRpbWVyLXJhaXNlLXNvZnRpcnEtaWYtaHJ0aW1lci1pcnEtc3RhbGxlZC5wYXRjaAppbmRleCBhYjNlM2YyLi41ZjZmYTIwIDEwMDY0NAotLS0gYS9wYXRjaGVzL2hydGltZXItcmFpc2Utc29mdGlycS1pZi1ocnRpbWVyLWlycS1zdGFsbGVkLnBhdGNoCisrKyBiL3BhdGNoZXMvaHJ0aW1lci1yYWlzZS1zb2Z0aXJxLWlmLWhydGltZXItaXJxLXN0YWxsZWQucGF0Y2gKQEAgLTEwLDExICsxMCw5IEBACiAga2VybmVsL2hydGltZXIuYyB8ICAgIDkgKysrKy0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvaHJ0aW1lci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2hydGltZXIuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvaHJ0aW1lci5jCi1AQCAtMTU1MSwxMSArMTU1MSw3IEBAIHJldHJ5OgorLS0tIGEva2VybmVsL2hydGltZXIuYworKysrIGIva2VybmVsL2hydGltZXIuYworQEAgLTE1NTYsMTEgKzE1NTYsNyBAQCByZXRyeToKICAJaWYgKGV4cGlyZXNfbmV4dC50djY0ID09IEtUSU1FX01BWCB8fAogIAkgICAgIXRpY2tfcHJvZ3JhbV9ldmVudChleHBpcmVzX25leHQsIDApKSB7CiAgCQljcHVfYmFzZS0+aGFuZ19kZXRlY3RlZCA9IDA7CkBAIC0yNyw3ICsyNSw3IEBACiAgCX0KICAKICAJLyoKLUBAIC0xNTk5LDYgKzE1OTUsOSBAQCByZXRyeToKK0BAIC0xNjA0LDYgKzE2MDAsOSBAQCByZXRyeToKICAJdGlja19wcm9ncmFtX2V2ZW50KGV4cGlyZXNfbmV4dCwgMSk7CiAgCXByaW50a19vbmNlKEtFUk5fV0FSTklORyAiaHJ0aW1lcjogaW50ZXJydXB0IHRvb2sgJWxsdSBuc1xuIiwKICAJCSAgICBrdGltZV90b19ucyhkZWx0YSkpOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9ocnRpbWVycy1wcmVwYXJlLWZ1bGwtcHJlZW1wdGlvbi5wYXRjaCBiL3BhdGNoZXMvaHJ0aW1lcnMtcHJlcGFyZS1mdWxsLXByZWVtcHRpb24ucGF0Y2gKaW5kZXggZDJkNDM5Ni4uZmUxMTI0NSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9ocnRpbWVycy1wcmVwYXJlLWZ1bGwtcHJlZW1wdGlvbi5wYXRjaAorKysgYi9wYXRjaGVzL2hydGltZXJzLXByZXBhcmUtZnVsbC1wcmVlbXB0aW9uLnBhdGNoCkBAIC0xNSwxMCArMTUsOCBAQAogIGtlcm5lbC9wb3NpeC10aW1lcnMuYyAgIHwgICAzMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKICA0IGZpbGVzIGNoYW5nZWQsIDc2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2hydGltZXIuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvaHJ0aW1lci5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvaHJ0aW1lci5oCistLS0gYS9pbmNsdWRlL2xpbnV4L2hydGltZXIuaAorKysrIGIvaW5jbHVkZS9saW51eC9ocnRpbWVyLmgKIEBAIC0xOTMsNiArMTkzLDkgQEAgc3RydWN0IGhydGltZXJfY3B1X2Jhc2UgewogIAl1bnNpZ25lZCBsb25nCQkJbnJfaGFuZ3M7CiAgCWt0aW1lX3QJCQkJbWF4X2hhbmdfdGltZTsKQEAgLTQzLDExICs0MSw5IEBACiAgLyogUXVlcnkgdGltZXJzOiAqLwogIGV4dGVybiBrdGltZV90IGhydGltZXJfZ2V0X3JlbWFpbmluZyhjb25zdCBzdHJ1Y3QgaHJ0aW1lciAqdGltZXIpOwogIGV4dGVybiBpbnQgaHJ0aW1lcl9nZXRfcmVzKGNvbnN0IGNsb2NraWRfdCB3aGljaF9jbG9jaywgc3RydWN0IHRpbWVzcGVjICp0cCk7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9ocnRpbWVyLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvaHJ0aW1lci5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9ocnRpbWVyLmMKLUBAIC04NjMsNiArODYzLDMyIEBAIHU2NCBocnRpbWVyX2ZvcndhcmQoc3RydWN0IGhydGltZXIgKnRpbWUKKy0tLSBhL2tlcm5lbC9ocnRpbWVyLmMKKysrKyBiL2tlcm5lbC9ocnRpbWVyLmMKK0BAIC04NjgsNiArODY4LDMyIEBAIHU2NCBocnRpbWVyX2ZvcndhcmQoc3RydWN0IGhydGltZXIgKnRpbWUKICB9CiAgRVhQT1JUX1NZTUJPTF9HUEwoaHJ0aW1lcl9mb3J3YXJkKTsKICAKQEAgLTgwLDcgKzc2LDcgQEAKICAvKgogICAqIGVucXVldWVfaHJ0aW1lciAtIGludGVybmFsIGZ1bmN0aW9uIHRvIChyZSlzdGFydCBhIHRpbWVyCiAgICoKLUBAIC0xMTE1LDcgKzExNDEsNyBAQCBpbnQgaHJ0aW1lcl9jYW5jZWwoc3RydWN0IGhydGltZXIgKnRpbWVyCitAQCAtMTEyMCw3ICsxMTQ2LDcgQEAgaW50IGhydGltZXJfY2FuY2VsKHN0cnVjdCBocnRpbWVyICp0aW1lcgogIAogIAkJaWYgKHJldCA+PSAwKQogIAkJCXJldHVybiByZXQ7CkBAIC04OSw3ICs4NSw3IEBACiAgCX0KICB9CiAgRVhQT1JUX1NZTUJPTF9HUEwoaHJ0aW1lcl9jYW5jZWwpOwotQEAgLTE1MzIsNiArMTU1OCw4IEBAIHZvaWQgaHJ0aW1lcl9ydW5fcXVldWVzKHZvaWQpCitAQCAtMTUzMCw2ICsxNTU2LDggQEAgdm9pZCBocnRpbWVyX3J1bl9xdWV1ZXModm9pZCkKICAJCX0KICAJCXJhd19zcGluX3VubG9jaygmY3B1X2Jhc2UtPmxvY2spOwogIAl9CkBAIC05OCw3ICs5NCw3IEBACiAgfQogIAogIC8qCi1AQCAtMTY5Miw2ICsxNzIwLDkgQEAgc3RhdGljIHZvaWQgX19jcHVpbml0IGluaXRfaHJ0aW1lcnNfY3B1KAorQEAgLTE2OTAsNiArMTcxOCw5IEBAIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCBpbml0X2hydGltZXJzX2NwdSgKICAJfQogIAogIAlocnRpbWVyX2luaXRfaHJlcyhjcHVfYmFzZSk7CkBAIC0xMDgsMTAgKzEwNCw4IEBACiAgfQogIAogICNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2l0aW1lci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2l0aW1lci5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9pdGltZXIuYworLS0tIGEva2VybmVsL2l0aW1lci5jCisrKysgYi9rZXJuZWwvaXRpbWVyLmMKIEBAIC0yMTMsNiArMjEzLDcgQEAgYWdhaW46CiAgCQkvKiBXZSBhcmUgc2hhcmluZyAtPnNpZ2xvY2sgd2l0aCBpdF9yZWFsX2ZuKCkgKi8KICAJCWlmIChocnRpbWVyX3RyeV90b19jYW5jZWwodGltZXIpIDwgMCkgewpAQCAtMTIwLDEwICsxMTQsOCBAQAogIAkJCWdvdG8gYWdhaW47CiAgCQl9CiAgCQlleHBpcmVzID0gdGltZXZhbF90b19rdGltZSh2YWx1ZS0+aXRfdmFsdWUpOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvcG9zaXgtdGltZXJzLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvcG9zaXgtdGltZXJzLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3Bvc2l4LXRpbWVycy5jCistLS0gYS9rZXJuZWwvcG9zaXgtdGltZXJzLmMKKysrKyBiL2tlcm5lbC9wb3NpeC10aW1lcnMuYwogQEAgLTgxOCw2ICs4MTgsMjAgQEAgU1lTQ0FMTF9ERUZJTkUxKHRpbWVyX2dldG92ZXJydW4sIHRpbWVyXwogIAlyZXR1cm4gb3ZlcnJ1bjsKICB9CmRpZmYgLS1naXQgYS9wYXRjaGVzL2h3bGF0ZGV0ZWN0LnBhdGNoIGIvcGF0Y2hlcy9od2xhdGRldGVjdC5wYXRjaAppbmRleCBkMjkxNjY3Li5mMmY5OGUwIDEwMDY0NAotLS0gYS9wYXRjaGVzL2h3bGF0ZGV0ZWN0LnBhdGNoCisrKyBiL3BhdGNoZXMvaHdsYXRkZXRlY3QucGF0Y2gKQEAgLTE1LDEwICsxNSw4IEBACiAgZHJpdmVycy9taXNjL2h3bGF0X2RldGVjdG9yLmMgICAgfCAxMjEyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogIDQgZmlsZXMgY2hhbmdlZCwgMTMwNiBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBsaW51eC1zdGFibGUvRG9jdW1lbnRhdGlvbi9od2xhdF9kZXRlY3Rvci50eHQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwKLSsrKyBsaW51eC1zdGFibGUvRG9jdW1lbnRhdGlvbi9od2xhdF9kZXRlY3Rvci50eHQKKysrKyBiL0RvY3VtZW50YXRpb24vaHdsYXRfZGV0ZWN0b3IudHh0CiBAQCAtMCwwICsxLDY0IEBACiArSW50cm9kdWN0aW9uOgogKy0tLS0tLS0tLS0tLS0KQEAgLTg0LDEwICs4Miw4IEBACiArb2JzZXJ2ZSBhbnkgbGF0ZW5jaWVzIHRoYXQgZXhjZWVkIHRoZSB0aHJlc2hvbGQgKGluaXRpYWxseSAxMDAgdXNlY3MpLAogK3RoZW4gd2Ugd3JpdGUgdG8gYSBnbG9iYWwgc2FtcGxlIHJpbmcgYnVmZmVyIG9mIDhLIHNhbXBsZXMsIHdoaWNoIGlzCiArY29uc3VtZWQgYnkgcmVhZGluZyBmcm9tIHRoZSAic2FtcGxlIiAocGlwZSkgZGVidWdmcyBmaWxlIGludGVyZmFjZS4KLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9taXNjL0tjb25maWcKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL21pc2MvS2NvbmZpZwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL21pc2MvS2NvbmZpZworLS0tIGEvZHJpdmVycy9taXNjL0tjb25maWcKKysrKyBiL2RyaXZlcnMvbWlzYy9LY29uZmlnCiBAQCAtMTMwLDYgKzEzMCwzNSBAQCBjb25maWcgSUJNX0FTTQogIAkgIGZvciBpbmZvcm1hdGlvbiBvbiB0aGUgc3BlY2lmaWMgZHJpdmVyIGxldmVsIGFuZCBzdXBwb3J0IHN0YXRlbWVudAogIAkgIGZvciB5b3VyIElCTSBzZXJ2ZXIuCkBAIC0xMjQsMTkgKzEyMCwxNSBAQAogIGNvbmZpZyBQSEFOVE9NCiAgCXRyaXN0YXRlICJTZW5zYWJsZSBQSEFOVG9NIChQQ0kpIgogIAlkZXBlbmRzIG9uIFBDSQotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL21pc2MvTWFrZWZpbGUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL21pc2MvTWFrZWZpbGUKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9taXNjL01ha2VmaWxlCistLS0gYS9kcml2ZXJzL21pc2MvTWFrZWZpbGUKKysrKyBiL2RyaXZlcnMvbWlzYy9NYWtlZmlsZQogQEAgLTUzLDMgKzUzLDQgQEAgb2JqLSQoQ09ORklHX0lOVEVMX01FSSkJCSs9IG1laS8KICBvYmotJChDT05GSUdfVk1XQVJFX1ZNQ0kpCSs9IHZtd192bWNpLwogIG9iai0kKENPTkZJR19MQVRUSUNFX0VDUDNfQ09ORklHKQkrPSBsYXR0aWNlLWVjcDMtY29uZmlnLm8KICBvYmotJChDT05GSUdfU1JBTSkJCSs9IHNyYW0ubwogK29iai0kKENPTkZJR19IV0xBVF9ERVRFQ1RPUikJKz0gaHdsYXRfZGV0ZWN0b3IubwotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL21pc2MvaHdsYXRfZGV0ZWN0b3IuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL21pc2MvaHdsYXRfZGV0ZWN0b3IuYworKysrIGIvZHJpdmVycy9taXNjL2h3bGF0X2RldGVjdG9yLmMKIEBAIC0wLDAgKzEsMTIxMiBAQAogKy8qCiArICogaHdsYXRfZGV0ZWN0b3IuYyAtIEEgc2ltcGxlIEhhcmR3YXJlIExhdGVuY3kgZGV0ZWN0b3IuCmRpZmYgLS1naXQgYS9wYXRjaGVzL2kyYy1vbWFwLWRyb3AtdGhlLWxvY2staGFyZC1pcnEtY29udGV4dC5wYXRjaCBiL3BhdGNoZXMvaTJjLW9tYXAtZHJvcC10aGUtbG9jay1oYXJkLWlycS1jb250ZXh0LnBhdGNoCmluZGV4IDVjMThjYTQuLmZlMzVjMGEgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvaTJjLW9tYXAtZHJvcC10aGUtbG9jay1oYXJkLWlycS1jb250ZXh0LnBhdGNoCisrKyBiL3BhdGNoZXMvaTJjLW9tYXAtZHJvcC10aGUtbG9jay1oYXJkLWlycS1jb250ZXh0LnBhdGNoCkBAIC0xMywxMCArMTMsOCBAQAogIGRyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb21hcC5jIHwgICAgNSArLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW9tYXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb21hcC5jCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb21hcC5jCistLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW9tYXAuYworKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1vbWFwLmMKIEBAIC04ODEsMTUgKzg4MSwxMiBAQCBvbWFwX2kyY19pc3IoaW50IGlycSwgdm9pZCAqZGV2X2lkKQogIAl1MTYgbWFzazsKICAJdTE2IHN0YXQ7CmRpZmYgLS1naXQgYS9wYXRjaGVzL2k5MTVfY29tcGlsZV9maXgucGF0Y2ggYi9wYXRjaGVzL2k5MTVfY29tcGlsZV9maXgucGF0Y2gKaW5kZXggNGEyOTM1Mi4uMWI4YTc0MCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9pOTE1X2NvbXBpbGVfZml4LnBhdGNoCisrKyBiL3BhdGNoZXMvaTkxNV9jb21waWxlX2ZpeC5wYXRjaApAQCAtOSwxMSArOSw5IEBACiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyB8ICAgIDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCi1AQCAtNDQxMiw3ICs0NDEyLDcgQEAgc3RhdGljIGJvb2wgbXV0ZXhfaXNfbG9ja2VkX2J5KHN0cnVjdCBtdQorLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworQEAgLTQ0NDksNyArNDQ0OSw3IEBAIHN0YXRpYyBib29sIG11dGV4X2lzX2xvY2tlZF9ieShzdHJ1Y3QgbXUKICAJaWYgKCFtdXRleF9pc19sb2NrZWQobXV0ZXgpKQogIAkJcmV0dXJuIGZhbHNlOwogIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9pZGUtdXNlLW5vcnQtbG9jYWwtaXJxLXZhcmlhbnRzLnBhdGNoIGIvcGF0Y2hlcy9pZGUtdXNlLW5vcnQtbG9jYWwtaXJxLXZhcmlhbnRzLnBhdGNoCmluZGV4IGFiZThkNWEuLjIxZDQyOTkgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvaWRlLXVzZS1ub3J0LWxvY2FsLWlycS12YXJpYW50cy5wYXRjaAorKysgYi9wYXRjaGVzL2lkZS11c2Utbm9ydC1sb2NhbC1pcnEtdmFyaWFudHMucGF0Y2gKQEAgLTE3LDEwICsxNyw4IEBACiAgZHJpdmVycy9pZGUvaWRlLXRhc2tmaWxlLmMgfCAgICA2ICsrKy0tLQogIDcgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9pZGUvYWxpbTE1eDMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2RyaXZlcnMvaWRlL2FsaW0xNXgzLmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9pZGUvYWxpbTE1eDMuYworLS0tIGEvZHJpdmVycy9pZGUvYWxpbTE1eDMuYworKysrIGIvZHJpdmVycy9pZGUvYWxpbTE1eDMuYwogQEAgLTIzNCw3ICsyMzQsNyBAQCBzdGF0aWMgaW50IGluaXRfY2hpcHNldF9hbGkxNXgzKHN0cnVjdCBwCiAgCiAgCWlzYV9kZXYgPSBwY2lfZ2V0X2RldmljZShQQ0lfVkVORE9SX0lEX0FMLCBQQ0lfREVWSUNFX0lEX0FMX00xNTMzLCBOVUxMKTsKQEAgLTM5LDEwICszNyw4IEBACiAgCXJldHVybiAwOwogIH0KICAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9pZGUvaHB0MzY2LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL2lkZS9ocHQzNjYuYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL2lkZS9ocHQzNjYuYworLS0tIGEvZHJpdmVycy9pZGUvaHB0MzY2LmMKKysrKyBiL2RyaXZlcnMvaWRlL2hwdDM2Ni5jCiBAQCAtMTI0MSw3ICsxMjQxLDcgQEAgc3RhdGljIGludCBpbml0X2RtYV9ocHQzNjYoaWRlX2h3aWZfdCAqaAogIAogIAlkbWFfb2xkID0gaW5iKGJhc2UgKyAyKTsKQEAgLTYxLDEwICs1Nyw4IEBACiAgCiAgCXByaW50ayhLRVJOX0lORk8gIiAgICAlczogQk0tRE1BIGF0IDB4JTA0bHgtMHglMDRseFxuIiwKICAJCQkgaHdpZi0+bmFtZSwgYmFzZSwgYmFzZSArIDcpOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL2lkZS9pZGUtaW8tc3RkLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL2lkZS9pZGUtaW8tc3RkLmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9pZGUvaWRlLWlvLXN0ZC5jCistLS0gYS9kcml2ZXJzL2lkZS9pZGUtaW8tc3RkLmMKKysrKyBiL2RyaXZlcnMvaWRlL2lkZS1pby1zdGQuYwogQEAgLTE3NSw3ICsxNzUsNyBAQCB2b2lkIGlkZV9pbnB1dF9kYXRhKGlkZV9kcml2ZV90ICpkcml2ZSwKICAJCXVuc2lnbmVkIGxvbmcgdW5pbml0aWFsaXplZF92YXIoZmxhZ3MpOwogIApAQCAtMTAxLDEwICs5NSw4IEBACiAgCiAgCQlpZiAoKChsZW4gKyAxKSAmIDMpIDwgMikKICAJCQlyZXR1cm47Ci1JbmRleDogbGludXgtc3RhYmxlL2RyaXZlcnMvaWRlL2lkZS1pby5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9pZGUvaWRlLWlvLmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9pZGUvaWRlLWlvLmMKKy0tLSBhL2RyaXZlcnMvaWRlL2lkZS1pby5jCisrKysgYi9kcml2ZXJzL2lkZS9pZGUtaW8uYwogQEAgLTY1OSw3ICs2NTksNyBAQCB2b2lkIGlkZV90aW1lcl9leHBpcnkgKHVuc2lnbmVkIGxvbmcgZGF0CiAgCQkvKiBkaXNhYmxlX2lycV9ub3N5bmMgPz8gKi8KICAJCWRpc2FibGVfaXJxKGh3aWYtPmlycSk7CkBAIC0xMTQsMTAgKzEwNiw4IEBACiAgCQlpZiAoaHdpZi0+cG9sbGluZykgewogIAkJCXN0YXJ0c3RvcCA9IGhhbmRsZXIoZHJpdmUpOwogIAkJfSBlbHNlIGlmIChkcml2ZV9pc19yZWFkeShkcml2ZSkpIHsKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9pZGUvaWRlLWlvcHMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2RyaXZlcnMvaWRlL2lkZS1pb3BzLmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9pZGUvaWRlLWlvcHMuYworLS0tIGEvZHJpdmVycy9pZGUvaWRlLWlvcHMuYworKysrIGIvZHJpdmVycy9pZGUvaWRlLWlvcHMuYwogQEAgLTEyOSwxMiArMTI5LDEyIEBAIGludCBfX2lkZV93YWl0X3N0YXQoaWRlX2RyaXZlX3QgKmRyaXZlLAogIAkJCQlpZiAoKHN0YXQgJiBBVEFfQlVTWSkgPT0gMCkKICAJCQkJCWJyZWFrOwpAQCAtMTMzLDEwICsxMjMsOCBAQAogIAl9CiAgCS8qCiAgCSAqIEFsbG93IHN0YXR1cyB0byBzZXR0bGUsIHRoZW4gcmVhZCBpdCBhZ2Fpbi4KLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9pZGUvaWRlLXByb2JlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL2lkZS9pZGUtcHJvYmUuYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL2lkZS9pZGUtcHJvYmUuYworLS0tIGEvZHJpdmVycy9pZGUvaWRlLXByb2JlLmMKKysrKyBiL2RyaXZlcnMvaWRlL2lkZS1wcm9iZS5jCiBAQCAtMTk2LDEwICsxOTYsMTAgQEAgc3RhdGljIHZvaWQgZG9faWRlbnRpZnkoaWRlX2RyaXZlX3QgKmRyaQogIAlpbnQgYnN3YXAgPSAxOwogIApAQCAtMTUwLDEwICsxMzgsOCBAQAogIAogIAlkcml2ZS0+ZGV2X2ZsYWdzIHw9IElERV9ERkxBR19JRF9SRUFEOwogICNpZmRlZiBERUJVRwotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL2lkZS9pZGUtdGFza2ZpbGUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2RyaXZlcnMvaWRlL2lkZS10YXNrZmlsZS5jCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvaWRlL2lkZS10YXNrZmlsZS5jCistLS0gYS9kcml2ZXJzL2lkZS9pZGUtdGFza2ZpbGUuYworKysrIGIvZHJpdmVycy9pZGUvaWRlLXRhc2tmaWxlLmMKIEBAIC0yNTEsNyArMjUxLDcgQEAgdm9pZCBpZGVfcGlvX2J5dGVzKGlkZV9kcml2ZV90ICpkcml2ZSwgcwogIAogIAkJcGFnZV9pc19oaWdoID0gUGFnZUhpZ2hNZW0ocGFnZSk7CmRpZmYgLS1naXQgYS9wYXRjaGVzL2lkbGUtc3RhdGUucGF0Y2ggYi9wYXRjaGVzL2lkbGUtc3RhdGUucGF0Y2gKaW5kZXggMWI1NWQ5Zi4uNmFlNzNjNiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9pZGxlLXN0YXRlLnBhdGNoCisrKyBiL3BhdGNoZXMvaWRsZS1zdGF0ZS5wYXRjaApAQCAtNywxMSArNyw5IEBACiAga2VybmVsL3NjaGVkL2NvcmUuYyB8ICAgIDEgKwogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc2NoZWQvY29yZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKLUBAIC01MDM0LDYgKzUwMzQsNyBAQCB2b2lkIF9fY3B1aW5pdCBpbml0X2lkbGUoc3RydWN0IHRhc2tfc3RyCistLS0gYS9rZXJuZWwvc2NoZWQvY29yZS5jCisrKysgYi9rZXJuZWwvc2NoZWQvY29yZS5jCitAQCAtNDc0NSw2ICs0NzQ1LDcgQEAgdm9pZCBfX2NwdWluaXQgaW5pdF9pZGxlKHN0cnVjdCB0YXNrX3N0cgogIAlyY3VfcmVhZF91bmxvY2soKTsKICAKICAJcnEtPmN1cnIgPSBycS0+aWRsZSA9IGlkbGU7CmRpZmYgLS1naXQgYS9wYXRjaGVzL2lkci11c2UtbG9jYWwtbG9jay1mb3ItcHJvdGVjdGlvbi5wYXRjaCBiL3BhdGNoZXMvaWRyLXVzZS1sb2NhbC1sb2NrLWZvci1wcm90ZWN0aW9uLnBhdGNoCmluZGV4IGFmZDM1ZjEuLjAzYTRiYTkgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvaWRyLXVzZS1sb2NhbC1sb2NrLWZvci1wcm90ZWN0aW9uLnBhdGNoCisrKyBiL3BhdGNoZXMvaWRyLXVzZS1sb2NhbC1sb2NrLWZvci1wcm90ZWN0aW9uLnBhdGNoCkBAIC05LDEwICs5LDggQEAKICBsaWIvaWRyLmMgICAgICAgICAgIHwgICAzNyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiAgMiBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvaWRyLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L2lkci5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvaWRyLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvaWRyLmgKKysrKyBiL2luY2x1ZGUvbGludXgvaWRyLmgKIEBAIC05MiwxMCArOTIsMTQgQEAgdm9pZCBpZHJfaW5pdChzdHJ1Y3QgaWRyICppZHApOwogICAqIEVhY2ggaWRyX3ByZWxvYWQoKSBzaG91bGQgYmUgbWF0Y2hlZCB3aXRoIGFuIGludm9jYXRpb24gb2YgdGhpcwogICAqIGZ1bmN0aW9uLiAgU2VlIGlkcl9wcmVsb2FkKCkgZm9yIGRldGFpbHMuCkBAIC0yOCwxMCArMjYsOCBAQAogIAogIC8qKgogICAqIGlkcl9maW5kIC0gcmV0dXJuIHBvaW50ZXIgZm9yIGdpdmVuIGlkCi1JbmRleDogbGludXgtc3RhYmxlL2xpYi9pZHIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2xpYi9pZHIuYwotKysrIGxpbnV4LXN0YWJsZS9saWIvaWRyLmMKKy0tLSBhL2xpYi9pZHIuYworKysrIGIvbGliL2lkci5jCiBAQCAtMzcsNiArMzcsNyBAQAogICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogICNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KZGlmZiAtLWdpdCBhL3BhdGNoZXMvaW5maW5pYmFuZC1tZWxsYW5veC1pYi11c2Utbm9ydC1pcnEucGF0Y2ggYi9wYXRjaGVzL2luZmluaWJhbmQtbWVsbGFub3gtaWItdXNlLW5vcnQtaXJxLnBhdGNoCmluZGV4IDY4Mzk4MjcuLjhiMmM3ZmQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvaW5maW5pYmFuZC1tZWxsYW5veC1pYi11c2Utbm9ydC1pcnEucGF0Y2gKKysrIGIvcGF0Y2hlcy9pbmZpbmliYW5kLW1lbGxhbm94LWliLXVzZS1ub3J0LWlycS5wYXRjaApAQCAtMTgsMTAgKzE4LDggQEAKICBkcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX211bHRpY2FzdC5jIHwgICAgNCArKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX211bHRpY2FzdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9tdWx0aWNhc3QuYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX211bHRpY2FzdC5jCistLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX211bHRpY2FzdC5jCisrKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX211bHRpY2FzdC5jCiBAQCAtNzgzLDcgKzc4Myw3IEBAIHZvaWQgaXBvaWJfbWNhc3RfcmVzdGFydF90YXNrKHN0cnVjdCB3b3IKICAKICAJaXBvaWJfbWNhc3Rfc3RvcF90aHJlYWQoZGV2LCAwKTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvaW5wdC1nYW1lcG9ydC11c2UtbG9jYWwtaXJxLW5vcnQucGF0Y2ggYi9wYXRjaGVzL2lucHQtZ2FtZXBvcnQtdXNlLWxvY2FsLWlycS1ub3J0LnBhdGNoCmluZGV4IDg2MWE5OGQuLmZjMTFkZTIgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvaW5wdC1nYW1lcG9ydC11c2UtbG9jYWwtaXJxLW5vcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy9pbnB0LWdhbWVwb3J0LXVzZS1sb2NhbC1pcnEtbm9ydC5wYXRjaApAQCAtMTEsMTAgKzExLDggQEAKICBkcml2ZXJzL2lucHV0L2dhbWVwb3J0L2dhbWVwb3J0LmMgfCAgICA4ICsrKystLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL2lucHV0L2dhbWVwb3J0L2dhbWVwb3J0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL2lucHV0L2dhbWVwb3J0L2dhbWVwb3J0LmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9pbnB1dC9nYW1lcG9ydC9nYW1lcG9ydC5jCistLS0gYS9kcml2ZXJzL2lucHV0L2dhbWVwb3J0L2dhbWVwb3J0LmMKKysrKyBiL2RyaXZlcnMvaW5wdXQvZ2FtZXBvcnQvZ2FtZXBvcnQuYwogQEAgLTg3LDEyICs4NywxMiBAQCBzdGF0aWMgaW50IGdhbWVwb3J0X21lYXN1cmVfc3BlZWQoc3RydWN0CiAgCXR4ID0gMSA8PCAzMDsKICAKZGlmZiAtLWdpdCBhL3BhdGNoZXMvaXBjLW1ha2UtcnQtYXdhcmUucGF0Y2ggYi9wYXRjaGVzL2lwYy1tYWtlLXJ0LWF3YXJlLnBhdGNoCmluZGV4IDE3MDExOTguLmE0Nzg4YTEgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvaXBjLW1ha2UtcnQtYXdhcmUucGF0Y2gKKysrIGIvcGF0Y2hlcy9pcGMtbWFrZS1ydC1hd2FyZS5wYXRjaApAQCAtMTUsMTAgKzE1LDggQEAKICBpcGMvbXNnLmMgICAgfCAgIDE2ICsrKysrKysrKysrKysrKysKICAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pcGMvbXF1ZXVlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pcGMvbXF1ZXVlLmMKLSsrKyBsaW51eC1zdGFibGUvaXBjL21xdWV1ZS5jCistLS0gYS9pcGMvbXF1ZXVlLmMKKysrKyBiL2lwYy9tcXVldWUuYwogQEAgLTkyMSwxMiArOTIxLDE3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBwaXBlbGluZWRfc2VuZChzdHJ1Y3QKICAJCQkJICBzdHJ1Y3QgbXNnX21zZyAqbWVzc2FnZSwKICAJCQkJICBzdHJ1Y3QgZXh0X3dhaXRfcXVldWUgKnJlY2VpdmVyKQpAQCAtMzcsMTAgKzM1LDggQEAKICB9CiAgCiAgLyogcGlwZWxpbmVkX3JlY2VpdmUoKSAtIGlmIHRoZXJlIGlzIHRhc2sgd2FpdGluZyBpbiBzeXNfbXFfdGltZWRzZW5kKCkKLUluZGV4OiBsaW51eC1zdGFibGUvaXBjL21zZy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaXBjL21zZy5jCi0rKysgbGludXgtc3RhYmxlL2lwYy9tc2cuYworLS0tIGEvaXBjL21zZy5jCisrKysgYi9pcGMvbXNnLmMKIEBAIC0yNTIsMTAgKzI1MiwxOCBAQCBzdGF0aWMgdm9pZCBleHB1bmdlX2FsbChzdHJ1Y3QgbXNnX3F1ZXVlCiAgCXN0cnVjdCBtc2dfcmVjZWl2ZXIgKm1zciwgKnQ7CiAgCmRpZmYgLS1naXQgYS9wYXRjaGVzL2lwYy1tcXVldWUtYWRkLWEtY3JpdGljYWwtc2VjdGlvbi10by1hdm9pZC1hLWRlYWRsb2NrLnBhdGNoIGIvcGF0Y2hlcy9pcGMtbXF1ZXVlLWFkZC1hLWNyaXRpY2FsLXNlY3Rpb24tdG8tYXZvaWQtYS1kZWFkbG9jay5wYXRjaAppbmRleCA0NWIzNjJlLi5hNGY4ZmQ0IDEwMDY0NAotLS0gYS9wYXRjaGVzL2lwYy1tcXVldWUtYWRkLWEtY3JpdGljYWwtc2VjdGlvbi10by1hdm9pZC1hLWRlYWRsb2NrLnBhdGNoCisrKyBiL3BhdGNoZXMvaXBjLW1xdWV1ZS1hZGQtYS1jcml0aWNhbC1zZWN0aW9uLXRvLWF2b2lkLWEtZGVhZGxvY2sucGF0Y2gKQEAgLTM0LDEwICszNCw4IEBACiAgaXBjL21xdWV1ZS5jIHwgICAxOSArKysrKysrKysrKystLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaXBjL21xdWV1ZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaXBjL21xdWV1ZS5jCi0rKysgbGludXgtc3RhYmxlL2lwYy9tcXVldWUuYworLS0tIGEvaXBjL21xdWV1ZS5jCisrKysgYi9pcGMvbXF1ZXVlLmMKIEBAIC05NDUsMTMgKzk0NSwxOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcGlwZWxpbmVkX3JlY2VpdmUoc3RyCiAgCQl3YWtlX3VwX2ludGVycnVwdGlibGUoJmluZm8tPndhaXRfcSk7CiAgCQlyZXR1cm47CmRpZmYgLS1naXQgYS9wYXRjaGVzL2lwYy1zZW0tcmV3b3JrLXNlbWFwaG9yZS13YWtldXBzLnBhdGNoIGIvcGF0Y2hlcy9pcGMtc2VtLXJld29yay1zZW1hcGhvcmUtd2FrZXVwcy5wYXRjaAppbmRleCA5MzJjNjkxLi5mYzUxZGIxIDEwMDY0NAotLS0gYS9wYXRjaGVzL2lwYy1zZW0tcmV3b3JrLXNlbWFwaG9yZS13YWtldXBzLnBhdGNoCisrKyBiL3BhdGNoZXMvaXBjLXNlbS1yZXdvcmstc2VtYXBob3JlLXdha2V1cHMucGF0Y2gKQEAgLTMxLDEwICszMSw4IEBACiAgaXBjL3NlbS5jIHwgICAyNCArKysrKysrKysrKysrKysrKy0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pcGMvc2VtLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pcGMvc2VtLmMKLSsrKyBsaW51eC1zdGFibGUvaXBjL3NlbS5jCistLS0gYS9pcGMvc2VtLmMKKysrKyBiL2lwYy9zZW0uYwogQEAgLTE1NSw3ICsxNTUsNyBAQCBzdGF0aWMgaW50IHN5c3ZpcGNfc2VtX3Byb2Nfc2hvdyhzdHJ1Y3QKICAgKglzZW1fYXJyYXkuc2VtX3BlbmRpbmd7LGxhc3R9LAogICAqCXNlbV9hcnJheS5zZW1fdW5kbzogc2VtX2xvY2soKSBmb3IgcmVhZC93cml0ZQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9pcnEtYWxsb3ctZGlzYWJsaW5nLW9mLXNvZnRpcnEtcHJvY2Vzc2luZy1pbi1pcnEtdGhyZWFkLWNvbnRleHQucGF0Y2ggYi9wYXRjaGVzL2lycS1hbGxvdy1kaXNhYmxpbmctb2Ytc29mdGlycS1wcm9jZXNzaW5nLWluLWlycS10aHJlYWQtY29udGV4dC5wYXRjaAppbmRleCAzYTI2ZjM2Li4yZDZmMDM5IDEwMDY0NAotLS0gYS9wYXRjaGVzL2lycS1hbGxvdy1kaXNhYmxpbmctb2Ytc29mdGlycS1wcm9jZXNzaW5nLWluLWlycS10aHJlYWQtY29udGV4dC5wYXRjaAorKysgYi9wYXRjaGVzL2lycS1hbGxvdy1kaXNhYmxpbmctb2Ytc29mdGlycS1wcm9jZXNzaW5nLWluLWlycS10aHJlYWQtY29udGV4dC5wYXRjaApAQCAtMTgsMTAgKzE4LDggQEAKICBrZXJuZWwvc29mdGlycS5jICAgICAgICAgIHwgICAgNyArKysrKysrCiAgNSBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKKy0tLSBhL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKKysrKyBiL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKIEBAIC01OCw2ICs1OCw3IEBACiAgICogSVJRRl9OT19USFJFQUQgLSBJbnRlcnJ1cHQgY2Fubm90IGJlIHRocmVhZGVkCiAgICogSVJRRl9FQVJMWV9SRVNVTUUgLSBSZXN1bWUgSVJRIGVhcmx5IGR1cmluZyBzeXNjb3JlIGluc3RlYWQgb2YgYXQgZGV2aWNlCkBAIC0zOCwxMCArMzYsOCBAQAogIAogICNkZWZpbmUgSVJRRl9USU1FUgkJKF9fSVJRRl9USU1FUiB8IElSUUZfTk9fU1VTUEVORCB8IElSUUZfTk9fVEhSRUFEKQogIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2lycS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9pcnEuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2lycS5oCistLS0gYS9pbmNsdWRlL2xpbnV4L2lycS5oCisrKysgYi9pbmNsdWRlL2xpbnV4L2lycS5oCiBAQCAtNzAsNiArNzAsNyBAQCB0eXBlZGVmCXZvaWQgKCppcnFfcHJlZmxvd19oYW5kbGVyX3QpKHN0CiAgICogSVJRX01PVkVfUENOVFhUCQktIEludGVycnVwdCBjYW4gYmUgbWlncmF0ZWQgZnJvbSBwcm9jZXNzIGNvbnRleHQKICAgKiBJUlFfTkVTVEVEX1RSSEVBRAkJLSBJbnRlcnJ1cHQgbmVzdHMgaW50byBhbm90aGVyIHRocmVhZApAQCAtNjYsMTAgKzYyLDggQEAKICAKICAjZGVmaW5lIElSUV9OT19CQUxBTkNJTkdfTUFTSwkoSVJRX1BFUl9DUFUgfCBJUlFfTk9fQkFMQU5DSU5HKQogIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvaXJxL21hbmFnZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2lycS9tYW5hZ2UuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvaXJxL21hbmFnZS5jCistLS0gYS9rZXJuZWwvaXJxL21hbmFnZS5jCisrKysgYi9rZXJuZWwvaXJxL21hbmFnZS5jCiBAQCAtNzgzLDcgKzc4MywxNSBAQCBpcnFfZm9yY2VkX3RocmVhZF9mbihzdHJ1Y3QgaXJxX2Rlc2MgKmRlCiAgCWxvY2FsX2JoX2Rpc2FibGUoKTsKICAJcmV0ID0gYWN0aW9uLT50aHJlYWRfZm4oYWN0aW9uLT5pcnEsIGFjdGlvbi0+ZGV2X2lkKTsKQEAgLTk3LDEwICs5MSw4IEBACiAgCQkvKiBTZXQgZGVmYXVsdCBhZmZpbml0eSBtYXNrIG9uY2UgZXZlcnl0aGluZyBpcyBzZXR1cCAqLwogIAkJc2V0dXBfYWZmaW5pdHkoaXJxLCBkZXNjLCBtYXNrKTsKICAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2lycS9zZXR0aW5ncy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2lycS9zZXR0aW5ncy5oCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9pcnEvc2V0dGluZ3MuaAorLS0tIGEva2VybmVsL2lycS9zZXR0aW5ncy5oCisrKysgYi9rZXJuZWwvaXJxL3NldHRpbmdzLmgKIEBAIC0xNCw2ICsxNCw3IEBAIGVudW0gewogIAlfSVJRX05PX0JBTEFOQ0lORwk9IElSUV9OT19CQUxBTkNJTkcsCiAgCV9JUlFfTkVTVEVEX1RIUkVBRAk9IElSUV9ORVNURURfVEhSRUFELApAQCAtMTM0LDEwICsxMjYsOCBAQAogIHN0YXRpYyBpbmxpbmUgYm9vbCBpcnFfc2V0dGluZ3NfaXNfcGVyX2NwdShzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MpCiAgewogIAlyZXR1cm4gZGVzYy0+c3RhdHVzX3VzZV9hY2Nlc3NvcnMgJiBfSVJRX1BFUl9DUFU7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zb2Z0aXJxLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc29mdGlycS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zb2Z0aXJxLmMKKy0tLSBhL2tlcm5lbC9zb2Z0aXJxLmMKKysrKyBiL2tlcm5lbC9zb2Z0aXJxLmMKIEBAIC00MjUsNiArNDI1LDEzIEBAIHZvaWQgbG9jYWxfYmhfZW5hYmxlX2lwKHVuc2lnbmVkIGxvbmcgaXAKICB9CiAgRVhQT1JUX1NZTUJPTChsb2NhbF9iaF9lbmFibGVfaXApOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9qdW1wLWxhYmVsLXJ0LnBhdGNoIGIvcGF0Y2hlcy9qdW1wLWxhYmVsLXJ0LnBhdGNoCmluZGV4IGExYzY0MzguLmIzYzFlYWQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvanVtcC1sYWJlbC1ydC5wYXRjaAorKysgYi9wYXRjaGVzL2p1bXAtbGFiZWwtcnQucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGluY2x1ZGUvbGludXgvanVtcF9sYWJlbC5oIHwgICAgMyArKy0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9qdW1wX2xhYmVsLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L2p1bXBfbGFiZWwuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2p1bXBfbGFiZWwuaAorLS0tIGEvaW5jbHVkZS9saW51eC9qdW1wX2xhYmVsLmgKKysrKyBiL2luY2x1ZGUvbGludXgvanVtcF9sYWJlbC5oCiBAQCAtNTAsNyArNTAsOCBAQAogICNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgogICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KZGlmZiAtLWdpdCBhL3BhdGNoZXMva2NvbmZpZy1kaXNhYmxlLWEtZmV3LW9wdGlvbnMtcnQucGF0Y2ggYi9wYXRjaGVzL2tjb25maWctZGlzYWJsZS1hLWZldy1vcHRpb25zLXJ0LnBhdGNoCmluZGV4IDg4NWM1YmMuLjJlY2EzZmQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMva2NvbmZpZy1kaXNhYmxlLWEtZmV3LW9wdGlvbnMtcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy9rY29uZmlnLWRpc2FibGUtYS1mZXctb3B0aW9ucy1ydC5wYXRjaApAQCAtMTEsMTAgKzExLDggQEAKICBtbS9LY29uZmlnICAgICAgICAgIHwgICAgMiArLQogIDMgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9LY29uZmlnCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9LY29uZmlnCi0rKysgbGludXgtc3RhYmxlL2FyY2gvS2NvbmZpZworLS0tIGEvYXJjaC9LY29uZmlnCisrKysgYi9hcmNoL0tjb25maWcKIEBAIC02LDYgKzYsNyBAQCBjb25maWcgT1BST0ZJTEUKICAJdHJpc3RhdGUgIk9Qcm9maWxlIHN5c3RlbSBwcm9maWxpbmciCiAgCWRlcGVuZHMgb24gUFJPRklMSU5HCkBAIC0yMywxMCArMjEsOCBAQAogIAlzZWxlY3QgUklOR19CVUZGRVIKICAJc2VsZWN0IFJJTkdfQlVGRkVSX0FMTE9XX1NXQVAKICAJaGVscAotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL25ldC9LY29uZmlnCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9uZXQvS2NvbmZpZwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL25ldC9LY29uZmlnCistLS0gYS9kcml2ZXJzL25ldC9LY29uZmlnCisrKysgYi9kcml2ZXJzL25ldC9LY29uZmlnCiBAQCAtMTY0LDYgKzE2NCw3IEBAIGNvbmZpZyBWWExBTgogIAogIGNvbmZpZyBORVRDT05TT0xFCkBAIC0zNSwxMCArMzEsOCBAQAogIAktLS1oZWxwLS0tCiAgCUlmIHlvdSB3YW50IHRvIGxvZyBrZXJuZWwgbWVzc2FnZXMgb3ZlciB0aGUgbmV0d29yaywgZW5hYmxlIHRoaXMuCiAgCVNlZSA8ZmlsZTpEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvbmV0Y29uc29sZS50eHQ+IGZvciBkZXRhaWxzLgotSW5kZXg6IGxpbnV4LXN0YWJsZS9tbS9LY29uZmlnCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbW0vS2NvbmZpZwotKysrIGxpbnV4LXN0YWJsZS9tbS9LY29uZmlnCistLS0gYS9tbS9LY29uZmlnCisrKysgYi9tbS9LY29uZmlnCiBAQCAtMzg0LDcgKzM4NCw3IEBAIGNvbmZpZyBOT01NVV9JTklUSUFMX1RSSU1fRVhDRVNTCiAgCiAgY29uZmlnIFRSQU5TUEFSRU5UX0hVR0VQQUdFCmRpZmYgLS1naXQgYS9wYXRjaGVzL2tjb25maWctcHJlZW1wdC1ydC1mdWxsLnBhdGNoIGIvcGF0Y2hlcy9rY29uZmlnLXByZWVtcHQtcnQtZnVsbC5wYXRjaAppbmRleCBjYjg5MzE3Li42NDM1NDljIDEwMDY0NAotLS0gYS9wYXRjaGVzL2tjb25maWctcHJlZW1wdC1ydC1mdWxsLnBhdGNoCisrKyBiL3BhdGNoZXMva2NvbmZpZy1wcmVlbXB0LXJ0LWZ1bGwucGF0Y2gKQEAgLTksMjIgKzksMTggQEAKICBzY3JpcHRzL21rY29tcGlsZV9oICAgIHwgICAgNCArKystCiAgMyBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luaXQvTWFrZWZpbGUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbml0L01ha2VmaWxlCi0rKysgbGludXgtc3RhYmxlL2luaXQvTWFrZWZpbGUKKy0tLSBhL2luaXQvTWFrZWZpbGUKKysrKyBiL2luaXQvTWFrZWZpbGUKIEBAIC0zMyw0ICszMyw0IEBAIHNpbGVudF9jaGtfY29tcGlsZS5oID0gOgogIGluY2x1ZGUvZ2VuZXJhdGVkL2NvbXBpbGUuaDogRk9SQ0UKICAJQCQoJChxdWlldCljaGtfY29tcGlsZS5oKQogIAkkKFEpJChDT05GSUdfU0hFTEwpICQoc3JjdHJlZSkvc2NyaXB0cy9ta2NvbXBpbGVfaCAkQCBcCiAtCSIkKFVUU19NQUNISU5FKSIgIiQoQ09ORklHX1NNUCkiICIkKENPTkZJR19QUkVFTVBUKSIgIiQoQ0MpICQoS0JVSUxEX0NGTEFHUykiCiArCSIkKFVUU19NQUNISU5FKSIgIiQoQ09ORklHX1NNUCkiICIkKENPTkZJR19QUkVFTVBUKSIgIiQoQ09ORklHX1BSRUVNUFRfUlRfRlVMTCkiICIkKENDKSAkKEtCVUlMRF9DRkxBR1MpIgotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvS2NvbmZpZy5wcmVlbXB0Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL0tjb25maWcucHJlZW1wdAotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvS2NvbmZpZy5wcmVlbXB0CistLS0gYS9rZXJuZWwvS2NvbmZpZy5wcmVlbXB0CisrKysgYi9rZXJuZWwvS2NvbmZpZy5wcmVlbXB0CiBAQCAtNzMsNiArNzMsMTQgQEAgY29uZmlnIFBSRUVNUFRfUlRCCi0gCSAgZW5hYmxlcyBjaGFuZ2VzIHdoaWNoIGFyZSBwcmVsaW1pbmFyeSBmb3IgdGhlIGZ1bGwgcHJlZW1wdGlwbGUKKyAJICBlbmFibGVzIGNoYW5nZXMgd2hpY2ggYXJlIHByZWxpbWluYXJ5IGZvciB0aGUgZnVsbCBwcmVlbXB0aWJsZQogIAkgIFJUIGtlcm5lbC4KICAKICtjb25maWcgUFJFRU1QVF9SVF9GVUxMCkBAIC0zOCwxMCArMzQsOCBAQAogIGVuZGNob2ljZQogIAogIGNvbmZpZyBQUkVFTVBUX0NPVU5UCi1JbmRleDogbGludXgtc3RhYmxlL3NjcmlwdHMvbWtjb21waWxlX2gKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9zY3JpcHRzL21rY29tcGlsZV9oCi0rKysgbGludXgtc3RhYmxlL3NjcmlwdHMvbWtjb21waWxlX2gKKy0tLSBhL3NjcmlwdHMvbWtjb21waWxlX2gKKysrKyBiL3NjcmlwdHMvbWtjb21waWxlX2gKIEBAIC00LDcgKzQsOCBAQCBUQVJHRVQ9JDEKICBBUkNIPSQyCiAgU01QPSQzCmRpZmYgLS1naXQgYS9wYXRjaGVzL2tlcm5lbC1jcHUtZml4LWNwdS1kb3duLXByb2JsZW0taWYta3RocmVhZC1zLWNwdS1pcy0ucGF0Y2ggYi9wYXRjaGVzL2tlcm5lbC1jcHUtZml4LWNwdS1kb3duLXByb2JsZW0taWYta3RocmVhZC1zLWNwdS1pcy0ucGF0Y2gKaW5kZXggOWJlOTQ3YS4uZDE5ZDYxZSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9rZXJuZWwtY3B1LWZpeC1jcHUtZG93bi1wcm9ibGVtLWlmLWt0aHJlYWQtcy1jcHUtaXMtLnBhdGNoCisrKyBiL3BhdGNoZXMva2VybmVsLWNwdS1maXgtY3B1LWRvd24tcHJvYmxlbS1pZi1rdGhyZWFkLXMtY3B1LWlzLS5wYXRjaApAQCAtMjYsMTAgKzI2LDggQEAKICBrZXJuZWwvY3B1LmMgfCAgIDE2ICsrKysrKysrKysrKysrLS0KICAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvY3B1LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvY3B1LmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL2NwdS5jCistLS0gYS9rZXJuZWwvY3B1LmMKKysrKyBiL2tlcm5lbC9jcHUuYwogQEAgLTgzLDYgKzgzLDcgQEAgc3RydWN0IGhvdHBsdWdfcGNwIHsKICAJaW50IHJlZmNvdW50OwogIAlpbnQgZ3JhYl9sb2NrOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9rZXJuZWwtaG90cGx1Zy1yZXN0b3JlLW9yaWdpbmFsLWNwdS1tYXNrLW9uY3B1LWRvd24ucGF0Y2ggYi9wYXRjaGVzL2tlcm5lbC1ob3RwbHVnLXJlc3RvcmUtb3JpZ2luYWwtY3B1LW1hc2stb25jcHUtZG93bi5wYXRjaAppbmRleCA5ZjYzODM1Li45NjI4YjI1IDEwMDY0NAotLS0gYS9wYXRjaGVzL2tlcm5lbC1ob3RwbHVnLXJlc3RvcmUtb3JpZ2luYWwtY3B1LW1hc2stb25jcHUtZG93bi5wYXRjaAorKysgYi9wYXRjaGVzL2tlcm5lbC1ob3RwbHVnLXJlc3RvcmUtb3JpZ2luYWwtY3B1LW1hc2stb25jcHUtZG93bi5wYXRjaApAQCAtMTQsMTAgKzE0LDggQEAKICBrZXJuZWwvY3B1LmMgfCAgIDEzICsrKysrKysrKysrKy0KICAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9jcHUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9jcHUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvY3B1LmMKKy0tLSBhL2tlcm5lbC9jcHUuYworKysrIGIva2VybmVsL2NwdS5jCiBAQCAtNTY4LDYgKzU2OCw3IEBAIHN0YXRpYyBpbnQgX19yZWYgX2NwdV9kb3duKHVuc2lnbmVkIGludAogIAkJLmhjcHUgPSBoY3B1LAogIAl9OwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9rZ2Itc2VyaWFsLWhhY2thcm91bmQucGF0Y2ggYi9wYXRjaGVzL2tnYi1zZXJpYWwtaGFja2Fyb3VuZC5wYXRjaAppbmRleCBjZjc2MGQwLi41NzlhZGM5IDEwMDY0NAotLS0gYS9wYXRjaGVzL2tnYi1zZXJpYWwtaGFja2Fyb3VuZC5wYXRjaAorKysgYi9wYXRjaGVzL2tnYi1zZXJpYWwtaGFja2Fyb3VuZC5wYXRjaApAQCAtMjMsMTAgKzIzLDggQEAKICBrZXJuZWwvZGVidWcva2RiL2tkYl9pby5jICAgICAgICAgICB8ICAgIDYgKystLS0tCiAgMyBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy90dHkvc2VyaWFsLzgyNTAvODI1MF9jb3JlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL3R0eS9zZXJpYWwvODI1MC84MjUwX2NvcmUuYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL3R0eS9zZXJpYWwvODI1MC84MjUwX2NvcmUuYworLS0tIGEvZHJpdmVycy90dHkvc2VyaWFsLzgyNTAvODI1MF9jb3JlLmMKKysrKyBiL2RyaXZlcnMvdHR5L3NlcmlhbC84MjUwLzgyNTBfY29yZS5jCiBAQCAtMzgsNiArMzgsNyBAQAogICNpbmNsdWRlIDxsaW51eC9ubWkuaD4KICAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KQEAgLTQ0LDEwICs0Miw4IEBACiAgCQlsb2NrZWQgPSBzcGluX3RyeWxvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwogIAllbHNlCiAgCQlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2tkYi5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9rZGIuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2tkYi5oCistLS0gYS9pbmNsdWRlL2xpbnV4L2tkYi5oCisrKysgYi9pbmNsdWRlL2xpbnV4L2tkYi5oCiBAQCAtMTE1LDcgKzExNSw3IEBAIGV4dGVybiBpbnQga2RiX3RyYXBfcHJpbnRrOwogIGV4dGVybiBfX3ByaW50ZigxLCAwKSBpbnQgdmtkYl9wcmludGYoY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFyZ3MpOwogIGV4dGVybiBfX3ByaW50ZigxLCAyKSBpbnQga2RiX3ByaW50Zihjb25zdCBjaGFyICosIC4uLik7CkBAIC02NSwxMCArNjEsOCBAQAogIHN0YXRpYyBpbmxpbmUgdm9pZCBrZGJfaW5pdChpbnQgbGV2ZWwpIHt9CiAgc3RhdGljIGlubGluZSBpbnQga2RiX3JlZ2lzdGVyKGNoYXIgKmNtZCwga2RiX2Z1bmNfdCBmdW5jLCBjaGFyICp1c2FnZSwKICAJCQkgICAgICAgY2hhciAqaGVscCwgc2hvcnQgbWlubGVuKSB7IHJldHVybiAwOyB9Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9kZWJ1Zy9rZGIva2RiX2lvLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvZGVidWcva2RiL2tkYl9pby5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9kZWJ1Zy9rZGIva2RiX2lvLmMKKy0tLSBhL2tlcm5lbC9kZWJ1Zy9rZGIva2RiX2lvLmMKKysrKyBiL2tlcm5lbC9kZWJ1Zy9rZGIva2RiX2lvLmMKIEBAIC01NTQsNyArNTU0LDYgQEAgaW50IHZrZGJfcHJpbnRmKGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdAogIAlpbnQgbGluZWNvdW50OwogIAlpbnQgY29sY291bnQ7CmRpZmYgLS1naXQgYS9wYXRjaGVzL2xhdGVuY3ktaGlzdC5wYXRjaCBiL3BhdGNoZXMvbGF0ZW5jeS1oaXN0LnBhdGNoCmluZGV4IDEzMjQ0YTMuLjJjYzU2ZmMgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbGF0ZW5jeS1oaXN0LnBhdGNoCisrKyBiL3BhdGNoZXMvbGF0ZW5jeS1oaXN0LnBhdGNoCkBAIC0yNSwxMCArMjUsOCBAQAogIGtlcm5lbC90cmFjZS90cmFjZV9pcnFzb2ZmLmMgICAgICAgIHwgICAxMSAKICAxMCBmaWxlcyBjaGFuZ2VkLCAxNjEyIGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9Eb2N1bWVudGF0aW9uL3RyYWNlL2hpc3RvZ3JhbXMudHh0Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgbGludXgtc3RhYmxlL0RvY3VtZW50YXRpb24vdHJhY2UvaGlzdG9ncmFtcy50eHQKKysrKyBiL0RvY3VtZW50YXRpb24vdHJhY2UvaGlzdG9ncmFtcy50eHQKIEBAIC0wLDAgKzEsMTg2IEBACiArCQlVc2luZyB0aGUgTGludXggS2VybmVsIExhdGVuY3kgSGlzdG9ncmFtcwogKwpAQCAtMjE2LDEwICsyMTQsOCBAQAogK2lzIHByb3ZpZGVkLgogKwogK1RoZXNlIGRhdGEgYXJlIGFsc28gcmVzZXQgd2hlbiB0aGUgd2FrZXVwIGhpc3RvZ3JhbSBpcyByZXNldC4KLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9ocnRpbWVyLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L2hydGltZXIuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2hydGltZXIuaAorLS0tIGEvaW5jbHVkZS9saW51eC9ocnRpbWVyLmgKKysrKyBiL2luY2x1ZGUvbGludXgvaHJ0aW1lci5oCiBAQCAtMTExLDYgKzExMSw5IEBAIHN0cnVjdCBocnRpbWVyIHsKICAJZW51bSBocnRpbWVyX3Jlc3RhcnQJCSgqZnVuY3Rpb24pKHN0cnVjdCBocnRpbWVyICopOwogIAlzdHJ1Y3QgaHJ0aW1lcl9jbG9ja19iYXNlCSpiYXNlOwpAQCAtMjMwLDExICsyMjYsOSBAQAogICNpZmRlZiBDT05GSUdfVElNRVJfU1RBVFMKICAJaW50CQkJCXN0YXJ0X3BpZDsKICAJdm9pZAkJCQkqc3RhcnRfc2l0ZTsKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zY2hlZC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9zY2hlZC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQuaAotQEAgLTE0MDYsNiArMTQwNiwxMiBAQCBzdHJ1Y3QgdGFza19zdHJ1Y3QgeworLS0tIGEvaW5jbHVkZS9saW51eC9zY2hlZC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKK0BAIC0xNDA5LDYgKzE0MDksMTIgQEAgc3RydWN0IHRhc2tfc3RydWN0IHsKICAJdW5zaWduZWQgbG9uZyB0cmFjZTsKICAJLyogYml0bWFzayBhbmQgY291bnRlciBvZiB0cmFjZSByZWN1cnNpb24gKi8KICAJdW5zaWduZWQgbG9uZyB0cmFjZV9yZWN1cnNpb247CkBAIC0yNDcsMTAgKzI0MSw4IEBACiAgI2VuZGlmIC8qIENPTkZJR19UUkFDSU5HICovCiAgI2lmZGVmIENPTkZJR19NRU1DRyAvKiBtZW1jZyB1c2VzIHRoaXMgdG8gZG8gYmF0Y2ggam9iICovCiAgCXN0cnVjdCBtZW1jZ19iYXRjaF9pbmZvIHsKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS90cmFjZS9ldmVudHMvaGlzdC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvdHJhY2UvZXZlbnRzL2hpc3QuaAorKysrIGIvaW5jbHVkZS90cmFjZS9ldmVudHMvaGlzdC5oCiBAQCAtMCwwICsxLDY5IEBACiArI3VuZGVmIFRSQUNFX1NZU1RFTQogKyNkZWZpbmUgVFJBQ0VfU1lTVEVNIGhpc3QKQEAgLTMyMSwxMCArMzEzLDggQEAKICsKICsvKiBUaGlzIHBhcnQgbXVzdCBiZSBvdXRzaWRlIHByb3RlY3Rpb24gKi8KICsjaW5jbHVkZSA8dHJhY2UvZGVmaW5lX3RyYWNlLmg+Ci1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvdHJhY2UvZXZlbnRzL2xhdGVuY3lfaGlzdC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvdHJhY2UvZXZlbnRzL2xhdGVuY3lfaGlzdC5oCisrKysgYi9pbmNsdWRlL3RyYWNlL2V2ZW50cy9sYXRlbmN5X2hpc3QuaAogQEAgLTAsMCArMSwyOSBAQAogKyNpZm5kZWYgX0xBVEVOQ1lfSElTVF9ICiArI2RlZmluZSBfTEFURU5DWV9ISVNUX0gKQEAgLTM1NSwxMCArMzQ1LDggQEAKICt9CiArCiArI2VuZGlmIC8qIF9MQVRFTkNZX0hJU1RfSCAqLwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvaHJ0aW1lci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2hydGltZXIuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvaHJ0aW1lci5jCistLS0gYS9rZXJuZWwvaHJ0aW1lci5jCisrKysgYi9rZXJuZWwvaHJ0aW1lci5jCiBAQCAtNTEsNiArNTEsNyBAQAogICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogIApAQCAtMzY3LDcgKzM1NSw3IEBACiAgCiAgLyoKICAgKiBUaGUgdGltZXIgYmFzZXM6Ci1AQCAtOTg5LDYgKzk5MCwxNyBAQCBpbnQgX19ocnRpbWVyX3N0YXJ0X3JhbmdlX25zKHN0cnVjdCBocnRpCitAQCAtOTk0LDYgKzk5NSwxNyBAQCBpbnQgX19ocnRpbWVyX3N0YXJ0X3JhbmdlX25zKHN0cnVjdCBocnRpCiAgI2VuZGlmCiAgCX0KICAKQEAgLTM4NSw3ICszNzMsNyBAQAogIAlocnRpbWVyX3NldF9leHBpcmVzX3JhbmdlX25zKHRpbWVyLCB0aW0sIGRlbHRhX25zKTsKICAKICAJdGltZXJfc3RhdHNfaHJ0aW1lcl9zZXRfc3RhcnRfaW5mbyh0aW1lcik7Ci1AQCAtMTI2Nyw2ICsxMjc5LDggQEAgc3RhdGljIHZvaWQgX19ydW5faHJ0aW1lcihzdHJ1Y3QgaHJ0aW1lcgorQEAgLTEyNzIsNiArMTI4NCw4IEBAIHN0YXRpYyB2b2lkIF9fcnVuX2hydGltZXIoc3RydWN0IGhydGltZXIKICAKICAjaWZkZWYgQ09ORklHX0hJR0hfUkVTX1RJTUVSUwogIApAQCAtMzk0LDcgKzM4Miw3IEBACiAgLyoKICAgKiBIaWdoIHJlc29sdXRpb24gdGltZXIgaW50ZXJydXB0CiAgICogQ2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZAotQEAgLTEzMTAsNiArMTMyNCwxNSBAQCByZXRyeToKK0BAIC0xMzE1LDYgKzEzMjksMTUgQEAgcmV0cnk6CiAgCiAgCQkJdGltZXIgPSBjb250YWluZXJfb2Yobm9kZSwgc3RydWN0IGhydGltZXIsIG5vZGUpOwogIApAQCAtNDEwLDEwICszOTgsOCBAQAogIAkJCS8qCiAgCQkJICogVGhlIGltbWVkaWF0ZSBnb2FsIGZvciB1c2luZyB0aGUgc29mdGV4cGlyZXMgaXMKICAJCQkgKiBtaW5pbWl6aW5nIHdha2V1cHMsIG5vdCBydW5uaW5nIHRpbWVycyBhdCB0aGUKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3RyYWNlL0tjb25maWcKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvdHJhY2UvS2NvbmZpZwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvdHJhY2UvS2NvbmZpZworLS0tIGEva2VybmVsL3RyYWNlL0tjb25maWcKKysrKyBiL2tlcm5lbC90cmFjZS9LY29uZmlnCiBAQCAtMTkyLDYgKzE5MiwyNCBAQCBjb25maWcgSVJRU09GRl9UUkFDRVIKICAJICBlbmFibGVkLiBUaGlzIG9wdGlvbiBhbmQgdGhlIHByZWVtcHQtb2ZmIHRpbWluZyBvcHRpb24gY2FuIGJlCiAgCSAgdXNlZCB0b2dldGhlciBvciBzZXBhcmF0ZWx5LikKQEAgLTUzOSwxMCArNTI1LDggQEAKICBjb25maWcgRU5BQkxFX0RFRkFVTFRfVFJBQ0VSUwogIAlib29sICJUcmFjZSBwcm9jZXNzIGNvbnRleHQgc3dpdGNoZXMgYW5kIGV2ZW50cyIKICAJZGVwZW5kcyBvbiAhR0VORVJJQ19UUkFDRVIKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3RyYWNlL01ha2VmaWxlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3RyYWNlL01ha2VmaWxlCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC90cmFjZS9NYWtlZmlsZQorLS0tIGEva2VybmVsL3RyYWNlL01ha2VmaWxlCisrKysgYi9rZXJuZWwvdHJhY2UvTWFrZWZpbGUKIEBAIC0zNCw2ICszNCwxMCBAQCBvYmotJChDT05GSUdfRlVOQ1RJT05fVFJBQ0VSKSArPSB0cmFjZV9mCiAgb2JqLSQoQ09ORklHX0lSUVNPRkZfVFJBQ0VSKSArPSB0cmFjZV9pcnFzb2ZmLm8KICBvYmotJChDT05GSUdfUFJFRU1QVF9UUkFDRVIpICs9IHRyYWNlX2lycXNvZmYubwpAQCAtNTU0LDEwICs1MzgsOCBAQAogIG9iai0kKENPTkZJR19OT1BfVFJBQ0VSKSArPSB0cmFjZV9ub3AubwogIG9iai0kKENPTkZJR19TVEFDS19UUkFDRVIpICs9IHRyYWNlX3N0YWNrLm8KICBvYmotJChDT05GSUdfTU1JT1RSQUNFKSArPSB0cmFjZV9tbWlvdHJhY2UubwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvdHJhY2UvbGF0ZW5jeV9oaXN0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3RyYWNlL2xhdGVuY3lfaGlzdC5jCisrKysgYi9rZXJuZWwvdHJhY2UvbGF0ZW5jeV9oaXN0LmMKIEBAIC0wLDAgKzEsMTE3NyBAQAogKy8qCiArICoga2VybmVsL3RyYWNlL2xhdGVuY3lfaGlzdC5jCkBAIC0xNzM2LDEwICsxNzE4LDggQEAKICt9CiArCiArX19pbml0Y2FsbChsYXRlbmN5X2hpc3RfaW5pdCk7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC90cmFjZS90cmFjZV9pcnFzb2ZmLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvdHJhY2UvdHJhY2VfaXJxc29mZi5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC90cmFjZS90cmFjZV9pcnFzb2ZmLmMKKy0tLSBhL2tlcm5lbC90cmFjZS90cmFjZV9pcnFzb2ZmLmMKKysrKyBiL2tlcm5lbC90cmFjZS90cmFjZV9pcnFzb2ZmLmMKIEBAIC0xNyw2ICsxNyw3IEBACiAgI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAgCmRpZmYgLS1naXQgYS9wYXRjaGVzL2xnbG9ja3MtcnQucGF0Y2ggYi9wYXRjaGVzL2xnbG9ja3MtcnQucGF0Y2gKaW5kZXggNjBkYzM0MC4uZjg3MGZmYyAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9sZ2xvY2tzLXJ0LnBhdGNoCisrKyBiL3BhdGNoZXMvbGdsb2Nrcy1ydC5wYXRjaApAQCAtOCwxMCArOCw4IEBACiAga2VybmVsL2xnbG9jay5jICAgICAgICB8ICAgNTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogIDIgZmlsZXMgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9sZ2xvY2suaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvbGdsb2NrLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9sZ2xvY2suaAorLS0tIGEvaW5jbHVkZS9saW51eC9sZ2xvY2suaAorKysrIGIvaW5jbHVkZS9saW51eC9sZ2xvY2suaAogQEAgLTQyLDIyICs0MiwzNyBAQAogICNlbmRpZgogIApAQCAtNTIsMTAgKzUwLDggQEAKICAKICB2b2lkIGxnX2xvY2tfaW5pdChzdHJ1Y3QgbGdsb2NrICpsZywgY2hhciAqbmFtZSk7CiAgdm9pZCBsZ19sb2NhbF9sb2NrKHN0cnVjdCBsZ2xvY2sgKmxnKTsKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2xnbG9jay5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2xnbG9jay5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9sZ2xvY2suYworLS0tIGEva2VybmVsL2xnbG9jay5jCisrKysgYi9rZXJuZWwvbGdsb2NrLmMKIEBAIC00LDYgKzQsMTUgQEAKICAjaW5jbHVkZSA8bGludXgvY3B1Lmg+CiAgI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9saXN0LWFkZC1saXN0LWxhc3QtZW50cnkucGF0Y2ggYi9wYXRjaGVzL2xpc3QtYWRkLWxpc3QtbGFzdC1lbnRyeS5wYXRjaAppbmRleCBkYTVhMGMyLi44ZWIyMTRjIDEwMDY0NAotLS0gYS9wYXRjaGVzL2xpc3QtYWRkLWxpc3QtbGFzdC1lbnRyeS5wYXRjaAorKysgYi9wYXRjaGVzL2xpc3QtYWRkLWxpc3QtbGFzdC1lbnRyeS5wYXRjaApAQCAtNywxMCArNyw4IEBACiAgaW5jbHVkZS9saW51eC9saXN0LmggfCAgIDExICsrKysrKysrKysrCiAgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2xpc3QuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvbGlzdC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvbGlzdC5oCistLS0gYS9pbmNsdWRlL2xpbnV4L2xpc3QuaAorKysrIGIvaW5jbHVkZS9saW51eC9saXN0LmgKIEBAIC0zNzMsNiArMzczLDE3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X3NwbGljZV90YWlsX2luaXQKICAJKCFsaXN0X2VtcHR5KHB0cikgPyBsaXN0X2ZpcnN0X2VudHJ5KHB0ciwgdHlwZSwgbWVtYmVyKSA6IE5VTEwpCiAgCmRpZmYgLS1naXQgYS9wYXRjaGVzL2xpc3RfYmwuaC1tYWtlLWxpc3QtaGVhZC1sb2NraW5nLVJULXNhZmUucGF0Y2ggYi9wYXRjaGVzL2xpc3RfYmwuaC1tYWtlLWxpc3QtaGVhZC1sb2NraW5nLVJULXNhZmUucGF0Y2gKaW5kZXggZGUzY2E1My4uZmVjZTExOSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9saXN0X2JsLmgtbWFrZS1saXN0LWhlYWQtbG9ja2luZy1SVC1zYWZlLnBhdGNoCisrKyBiL3BhdGNoZXMvbGlzdF9ibC5oLW1ha2UtbGlzdC1oZWFkLWxvY2tpbmctUlQtc2FmZS5wYXRjaApAQCAtNDcsMTMgKzQ3LDExIEBACiBTaWduZWQtb2ZmLWJ5OiBQYXVsIEdvcnRtYWtlciA8cGF1bC5nb3J0bWFrZXJAd2luZHJpdmVyLmNvbT4KIFNpZ25lZC1vZmYtYnk6IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPGJpZ2Vhc3lAbGludXRyb25peC5kZT4KIC0tLQotIGluY2x1ZGUvbGludXgvbGlzdF9ibC5oIHwgICAyNCArKysrKysrKysrKysrKysrKysrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKyBpbmNsdWRlL2xpbnV4L2xpc3RfYmwuaCB8ICAgMjggKysrKysrKysrKysrKysrKysrKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvbGlzdF9ibC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9saXN0X2JsLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9saXN0X2JsLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvbGlzdF9ibC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L2xpc3RfYmwuaAogQEAgLTIsNiArMiw3IEBACiAgI2RlZmluZSBfTElOVVhfTElTVF9CTF9ICiAgCkBAIC04Nyw3ICs4NSw3IEBACiAgCiAgc3RhdGljIGlubGluZSB2b2lkIElOSVRfSExJU1RfQkxfTk9ERShzdHJ1Y3QgaGxpc3RfYmxfbm9kZSAqaCkKICB7Ci1AQCAtMTE3LDEyICsxMjcsMjIgQEAgc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X2JsX2RlbF9pbml0KHN0cgorQEAgLTExNywxMiArMTI3LDI2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBobGlzdF9ibF9kZWxfaW5pdChzdHIKICAKICBzdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfYmxfbG9jayhzdHJ1Y3QgaGxpc3RfYmxfaGVhZCAqYikKICB7CkBAIC05NSw4ICs5MywxMCBAQAogIAliaXRfc3Bpbl9sb2NrKDAsICh1bnNpZ25lZCBsb25nICopYik7CiArI2Vsc2UKICsJcmF3X3NwaW5fbG9jaygmYi0+bG9jayk7CisrI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgfHwgZGVmaW5lZChDT05GSUdfREVCVUdfU1BJTkxPQ0spCiArCV9fc2V0X2JpdCgwLCAodW5zaWduZWQgbG9uZyAqKWIpOwogKyNlbmRpZgorKyNlbmRpZgogIH0KICAKICBzdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfYmxfdW5sb2NrKHN0cnVjdCBobGlzdF9ibF9oZWFkICpiKQpAQCAtMTA0LDcgKzEwNCw5IEBACiArI2lmbmRlZiBDT05GSUdfUFJFRU1QVF9SVF9CQVNFCiAgCV9fYml0X3NwaW5fdW5sb2NrKDAsICh1bnNpZ25lZCBsb25nICopYik7CiArI2Vsc2UKKysjaWYgZGVmaW5lZChDT05GSUdfU01QKSB8fCBkZWZpbmVkKENPTkZJR19ERUJVR19TUElOTE9DSykKICsJX19jbGVhcl9iaXQoMCwgKHVuc2lnbmVkIGxvbmcgKiliKTsKKysjZW5kaWYKICsJcmF3X3NwaW5fdW5sb2NrKCZiLT5sb2NrKTsKICsjZW5kaWYKICB9CmRpZmYgLS1naXQgYS9wYXRjaGVzL2xvY2FsLWlycS1ydC1kZXBlbmRpbmctdmFyaWFudHMucGF0Y2ggYi9wYXRjaGVzL2xvY2FsLWlycS1ydC1kZXBlbmRpbmctdmFyaWFudHMucGF0Y2gKaW5kZXggOWZiNDlkOS4uZTUzZTBiNCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9sb2NhbC1pcnEtcnQtZGVwZW5kaW5nLXZhcmlhbnRzLnBhdGNoCisrKyBiL3BhdGNoZXMvbG9jYWwtaXJxLXJ0LWRlcGVuZGluZy12YXJpYW50cy5wYXRjaApAQCAtMTMsMTAgKzEzLDggQEAKICBpbmNsdWRlL2xpbnV4L2lycWZsYWdzLmggIHwgICAxOSArKysrKysrKysrKysrKysrKysrCiAgMiBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAorLS0tIGEvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAorKysrIGIvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAogQEAgLTIxMSw3ICsyMTEsNyBAQCBleHRlcm4gdm9pZCBkZXZtX2ZyZWVfaXJxKHN0cnVjdCBkZXZpY2UKICAjaWZkZWYgQ09ORklHX0xPQ0tERVAKICAjIGRlZmluZSBsb2NhbF9pcnFfZW5hYmxlX2luX2hhcmRpcnEoKQlkbyB7IH0gd2hpbGUgKDApCkBAIC0yNiwxMCArMjQsOCBAQAogICNlbmRpZgogIAogIGV4dGVybiB2b2lkIGRpc2FibGVfaXJxX25vc3luYyh1bnNpZ25lZCBpbnQgaXJxKTsKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9pcnFmbGFncy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9pcnFmbGFncy5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvaXJxZmxhZ3MuaAorLS0tIGEvaW5jbHVkZS9saW51eC9pcnFmbGFncy5oCisrKysgYi9pbmNsdWRlL2xpbnV4L2lycWZsYWdzLmgKIEBAIC0xNDcsNCArMTQ3LDIzIEBACiAgCiAgI2VuZGlmIC8qIENPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUICovCmRpZmYgLS1naXQgYS9wYXRjaGVzL2xvY2FsLXZhci5wYXRjaCBiL3BhdGNoZXMvbG9jYWwtdmFyLnBhdGNoCmluZGV4IGY0NDk2ZGIuLmUzOWEzMTIgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbG9jYWwtdmFyLnBhdGNoCisrKyBiL3BhdGNoZXMvbG9jYWwtdmFyLnBhdGNoCkBAIC03LDEwICs3LDggQEAKICBpbmNsdWRlL2xpbnV4L3BlcmNwdS5oIHwgICAgNSArKysrKwogIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3BlcmNwdS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9wZXJjcHUuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3BlcmNwdS5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3BlcmNwdS5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3BlcmNwdS5oCiBAQCAtNDgsNiArNDgsMTEgQEAKICAJcHJlZW1wdF9lbmFibGUoKTsJCQkJXAogIH0gd2hpbGUgKDApCmRpZmYgLS1naXQgYS9wYXRjaGVzL2xvY2FsLXZhcnMtbWlncmF0ZS1kaXNhYmxlLnBhdGNoIGIvcGF0Y2hlcy9sb2NhbC12YXJzLW1pZ3JhdGUtZGlzYWJsZS5wYXRjaAppbmRleCA5OWY2ODI3Li5lYmQ2NTU3IDEwMDY0NAotLS0gYS9wYXRjaGVzL2xvY2FsLXZhcnMtbWlncmF0ZS1kaXNhYmxlLnBhdGNoCisrKyBiL3BhdGNoZXMvbG9jYWwtdmFycy1taWdyYXRlLWRpc2FibGUucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGluY2x1ZGUvbGludXgvcGVyY3B1LmggfCAgIDI4ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KICAxIGZpbGUgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3BlcmNwdS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9wZXJjcHUuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3BlcmNwdS5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3BlcmNwdS5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3BlcmNwdS5oCiBAQCAtNDgsMTAgKzQ4LDMwIEBACiAgCXByZWVtcHRfZW5hYmxlKCk7CQkJCVwKICB9IHdoaWxlICgwKQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sb2NhbHZlcnNpb24ucGF0Y2ggYi9wYXRjaGVzL2xvY2FsdmVyc2lvbi5wYXRjaAppbmRleCA1ZjhkYTM2Li40NWRkOGRkIDEwMDY0NAotLS0gYS9wYXRjaGVzL2xvY2FsdmVyc2lvbi5wYXRjaAorKysgYi9wYXRjaGVzL2xvY2FsdmVyc2lvbi5wYXRjaApAQCAtOSw5ICs5LDcgQEAKICBsb2NhbHZlcnNpb24tcnQgfCAgICAxICsKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9sb2NhbHZlcnNpb24tcnQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwKLSsrKyBsaW51eC1zdGFibGUvbG9jYWx2ZXJzaW9uLXJ0CisrKysgYi9sb2NhbHZlcnNpb24tcnQKIEBAIC0wLDAgKzEgQEAKLSstcnQyCisrLXJ0MwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sb2NrZGVwLW5vLXNvZnRpcnEtYWNjb3VudGluZy1vbi1ydC5wYXRjaCBiL3BhdGNoZXMvbG9ja2RlcC1uby1zb2Z0aXJxLWFjY291bnRpbmctb24tcnQucGF0Y2gKaW5kZXggMGJjYmNlMC4uZDU1YjA2ZSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9sb2NrZGVwLW5vLXNvZnRpcnEtYWNjb3VudGluZy1vbi1ydC5wYXRjaAorKysgYi9wYXRjaGVzL2xvY2tkZXAtbm8tc29mdGlycS1hY2NvdW50aW5nLW9uLXJ0LnBhdGNoCkBAIC04LDEwICs4LDggQEAKICBrZXJuZWwvbG9ja2RlcC5jICAgICAgICAgfCAgICAyICsrCiAgMiBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9pcnFmbGFncy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9pcnFmbGFncy5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvaXJxZmxhZ3MuaAorLS0tIGEvaW5jbHVkZS9saW51eC9pcnFmbGFncy5oCisrKysgYi9pbmNsdWRlL2xpbnV4L2lycWZsYWdzLmgKIEBAIC0yNSw4ICsyNSw2IEBACiAgIyBkZWZpbmUgdHJhY2Vfc29mdGlycXNfZW5hYmxlZChwKQkoKHApLT5zb2Z0aXJxc19lbmFibGVkKQogICMgZGVmaW5lIHRyYWNlX2hhcmRpcnFfZW50ZXIoKQlkbyB7IGN1cnJlbnQtPmhhcmRpcnFfY29udGV4dCsrOyB9IHdoaWxlICgwKQpAQCAtMzgsMTAgKzM2LDggQEAKICAjZW5kaWYKICAKICAjaWYgZGVmaW5lZChDT05GSUdfSVJRU09GRl9UUkFDRVIpIHx8IFwKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2xvY2tkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9sb2NrZGVwLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL2xvY2tkZXAuYworLS0tIGEva2VybmVsL2xvY2tkZXAuYworKysrIGIva2VybmVsL2xvY2tkZXAuYwogQEAgLTM1NDEsNiArMzU0MSw3IEBAIHN0YXRpYyB2b2lkIGNoZWNrX2ZsYWdzKHVuc2lnbmVkIGxvbmcgZmwKICAJCX0KICAJfQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sb2NrZGVwLXNlbGZ0ZXN0LW9ubHktZG8taGFyZGlycS1jb250ZXh0LXRlc3QtZm9yLXJhdy1zcGlubG9jay5wYXRjaCBiL3BhdGNoZXMvbG9ja2RlcC1zZWxmdGVzdC1vbmx5LWRvLWhhcmRpcnEtY29udGV4dC10ZXN0LWZvci1yYXctc3BpbmxvY2sucGF0Y2gKaW5kZXggZmVjZTNkNC4uZjQ3NmI1NiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9sb2NrZGVwLXNlbGZ0ZXN0LW9ubHktZG8taGFyZGlycS1jb250ZXh0LXRlc3QtZm9yLXJhdy1zcGlubG9jay5wYXRjaAorKysgYi9wYXRjaGVzL2xvY2tkZXAtc2VsZnRlc3Qtb25seS1kby1oYXJkaXJxLWNvbnRleHQtdGVzdC1mb3ItcmF3LXNwaW5sb2NrLnBhdGNoCkBAIC0xNSwxMCArMTUsOCBAQAogIGxpYi9sb2NraW5nLXNlbGZ0ZXN0LmMgfCAgIDIzICsrKysrKysrKysrKysrKysrKysrKysrCiAgMSBmaWxlIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9saWIvbG9ja2luZy1zZWxmdGVzdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbGliL2xvY2tpbmctc2VsZnRlc3QuYwotKysrIGxpbnV4LXN0YWJsZS9saWIvbG9ja2luZy1zZWxmdGVzdC5jCistLS0gYS9saWIvbG9ja2luZy1zZWxmdGVzdC5jCisrKysgYi9saWIvbG9ja2luZy1zZWxmdGVzdC5jCiBAQCAtMTE3NSw2ICsxMTc1LDcgQEAgdm9pZCBsb2NraW5nX3NlbGZ0ZXN0KHZvaWQpCiAgCiAgCXByaW50aygiICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CmRpZmYgLS1naXQgYS9wYXRjaGVzL21kLXJhaWQ1LXBlcmNwdS1oYW5kbGluZy1ydC1hd2FyZS5wYXRjaCBiL3BhdGNoZXMvbWQtcmFpZDUtcGVyY3B1LWhhbmRsaW5nLXJ0LWF3YXJlLnBhdGNoCmluZGV4IDJhYzBmODYuLjQyY2YwOGIgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbWQtcmFpZDUtcGVyY3B1LWhhbmRsaW5nLXJ0LWF3YXJlLnBhdGNoCisrKyBiL3BhdGNoZXMvbWQtcmFpZDUtcGVyY3B1LWhhbmRsaW5nLXJ0LWF3YXJlLnBhdGNoCkBAIC0xOCwxMCArMTgsOCBAQAogIGRyaXZlcnMvbWQvcmFpZDUuaCB8ICAgIDEgKwogIDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2RyaXZlcnMvbWQvcmFpZDUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2RyaXZlcnMvbWQvcmFpZDUuYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL21kL3JhaWQ1LmMKKy0tLSBhL2RyaXZlcnMvbWQvcmFpZDUuYworKysrIGIvZHJpdmVycy9tZC9yYWlkNS5jCiBAQCAtMTQxOCw4ICsxNDE4LDkgQEAgc3RhdGljIHZvaWQgcmFpZF9ydW5fb3BzKHN0cnVjdCBzdHJpcGVfaAogIAlzdHJ1Y3QgcmFpZDVfcGVyY3B1ICpwZXJjcHU7CiAgCXVuc2lnbmVkIGxvbmcgY3B1OwpAQCAtNTIsNyArNTAsNyBAQAogIHN0YXRpYyB2b2lkIHJhaWQ1X2J1aWxkX2Jsb2NrKHN0cnVjdCBzdHJpcGVfaGVhZCAqc2gsIGludCBpLCBpbnQgcHJldmlvdXMpCiAgewogIAlzdHJ1Y3QgcjVkZXYgKmRldiA9ICZzaC0+ZGV2W2ldOwotQEAgLTQzMTUsNyArNDMxNyw3IEBAIHN0YXRpYyB2b2lkIG1ha2VfcmVxdWVzdChzdHJ1Y3QgbWRkZXYgKm0KK0BAIC00MzIwLDcgKzQzMjIsNyBAQCBzdGF0aWMgdm9pZCBtYWtlX3JlcXVlc3Qoc3RydWN0IG1kZGV2ICptCiAgCQkJCQkJICBwcmV2aW91cywKICAJCQkJCQkgICZkZF9pZHgsIE5VTEwpOwogIAkJcHJfZGVidWcoInJhaWQ0NTY6IG1ha2VfcmVxdWVzdCwgc2VjdG9yICVsbHUgbG9naWNhbCAlbGx1XG4iLApAQCAtNjEsNyArNTksNyBAQAogIAkJCSh1bnNpZ25lZCBsb25nIGxvbmcpbG9naWNhbF9zZWN0b3IpOwogIAogIAkJc2ggPSBnZXRfYWN0aXZlX3N0cmlwZShjb25mLCBuZXdfc2VjdG9yLCBwcmV2aW91cywKLUBAIC01MTExLDYgKzUxMTMsNyBAQCBzdGF0aWMgaW50IHJhaWQ1X2FsbG9jX3BlcmNwdShzdHJ1Y3QgcjVjCitAQCAtNTExNiw2ICs1MTE4LDcgQEAgc3RhdGljIGludCByYWlkNV9hbGxvY19wZXJjcHUoc3RydWN0IHI1YwogIAkJCWJyZWFrOwogIAkJfQogIAkJcGVyX2NwdV9wdHIoY29uZi0+cGVyY3B1LCBjcHUpLT5zY3JpYmJsZSA9IHNjcmliYmxlOwpAQCAtNjksNyArNjcsNyBAQAogIAl9CiAgI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQogIAljb25mLT5jcHVfbm90aWZ5Lm5vdGlmaWVyX2NhbGwgPSByYWlkNDU2X2NwdV9ub3RpZnk7Ci1AQCAtNTI4NSw3ICs1Mjg4LDcgQEAgc3RhdGljIGludCBvbmx5X3Bhcml0eShpbnQgcmFpZF9kaXNrLCBpbgorQEAgLTUyOTAsNyArNTI5Myw3IEBAIHN0YXRpYyBpbnQgb25seV9wYXJpdHkoaW50IHJhaWRfZGlzaywgaW4KICAJCQlyZXR1cm4gMTsKICAJCWJyZWFrOwogIAljYXNlIEFMR09SSVRITV9QQVJJVFlfMF82OgpAQCAtNzgsMTEgKzc2LDkgQEAKICAJCSAgICByYWlkX2Rpc2sgPT0gcmFpZF9kaXNrcyAtIDEpCiAgCQkJcmV0dXJuIDE7CiAgCQlicmVhazsKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9tZC9yYWlkNS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9tZC9yYWlkNS5oCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvbWQvcmFpZDUuaAotQEAgLTQyNSw2ICs0MjUsNyBAQCBzdHJ1Y3QgcjVjb25mIHsKKy0tLSBhL2RyaXZlcnMvbWQvcmFpZDUuaAorKysrIGIvZHJpdmVycy9tZC9yYWlkNS5oCitAQCAtNDI2LDYgKzQyNiw3IEBAIHN0cnVjdCByNWNvbmYgewogIAlpbnQJCQlyZWNvdmVyeV9kaXNhYmxlZDsKICAJLyogcGVyIGNwdSB2YXJpYWJsZXMgKi8KICAJc3RydWN0IHJhaWQ1X3BlcmNwdSB7CmRpZmYgLS1naXQgYS9wYXRjaGVzL21pZ2h0LXNsZWVwLWNoZWNrLWZvci1pZGxlLnBhdGNoIGIvcGF0Y2hlcy9taWdodC1zbGVlcC1jaGVjay1mb3ItaWRsZS5wYXRjaAppbmRleCA2ZDFiYjRjLi4yZTNjODZhIDEwMDY0NAotLS0gYS9wYXRjaGVzL21pZ2h0LXNsZWVwLWNoZWNrLWZvci1pZGxlLnBhdGNoCisrKyBiL3BhdGNoZXMvbWlnaHQtc2xlZXAtY2hlY2stZm9yLWlkbGUucGF0Y2gKQEAgLTksMTEgKzksOSBAQAogIGtlcm5lbC9zY2hlZC9jb3JlLmMgfCAgICAzICsrLQogIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL2NvcmUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi1AQCAtNzQ4MSw3ICs3NDgxLDggQEAgdm9pZCBfX21pZ2h0X3NsZWVwKGNvbnN0IGNoYXIgKmZpbGUsIGludAorLS0tIGEva2VybmVsL3NjaGVkL2NvcmUuYworKysrIGIva2VybmVsL3NjaGVkL2NvcmUuYworQEAgLTcwOTksNyArNzA5OSw4IEBAIHZvaWQgX19taWdodF9zbGVlcChjb25zdCBjaGFyICpmaWxlLCBpbnQKICAJc3RhdGljIHVuc2lnbmVkIGxvbmcgcHJldl9qaWZmeTsJLyogcmF0ZWxpbWl0aW5nICovCiAgCiAgCXJjdV9zbGVlcF9jaGVjaygpOyAvKiBXQVJOX09OX09OQ0UoKSBieSBkZWZhdWx0LCBubyByYXRlIGxpbWl0IHJlcWQuICovCmRpZmYgLS1naXQgYS9wYXRjaGVzL21pZ3JhdGUtZGlzYWJsZS1ydC12YXJpYW50LnBhdGNoIGIvcGF0Y2hlcy9taWdyYXRlLWRpc2FibGUtcnQtdmFyaWFudC5wYXRjaAppbmRleCBiZTY5MDFjLi4wNjcwMDhlIDEwMDY0NAotLS0gYS9wYXRjaGVzL21pZ3JhdGUtZGlzYWJsZS1ydC12YXJpYW50LnBhdGNoCisrKyBiL3BhdGNoZXMvbWlncmF0ZS1kaXNhYmxlLXJ0LXZhcmlhbnQucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGluY2x1ZGUvbGludXgvcHJlZW1wdC5oIHwgICAgNCArKysrCiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKKy0tLSBhL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3ByZWVtcHQuaAogQEAgLTE0MywxMSArMTQzLDE1IEBAIGV4dGVybiB2b2lkIG1pZ3JhdGVfZW5hYmxlKHZvaWQpOwogICMgZGVmaW5lIHByZWVtcHRfZW5hYmxlX3J0KCkJCXByZWVtcHRfZW5hYmxlKCkKICAjIGRlZmluZSBwcmVlbXB0X2Rpc2FibGVfbm9ydCgpCQliYXJyaWVyKCkKZGlmZiAtLWdpdCBhL3BhdGNoZXMvbWlwcy1kaXNhYmxlLWhpZ2htZW0tb24tcnQucGF0Y2ggYi9wYXRjaGVzL21pcHMtZGlzYWJsZS1oaWdobWVtLW9uLXJ0LnBhdGNoCmluZGV4IDc1Y2NiNmEuLjQ1MTFhZGUgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbWlwcy1kaXNhYmxlLWhpZ2htZW0tb24tcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy9taXBzLWRpc2FibGUtaGlnaG1lbS1vbi1ydC5wYXRjaApAQCAtNywxMCArNyw4IEBACiAgYXJjaC9taXBzL0tjb25maWcgfCAgICAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9taXBzL0tjb25maWcKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL21pcHMvS2NvbmZpZwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL21pcHMvS2NvbmZpZworLS0tIGEvYXJjaC9taXBzL0tjb25maWcKKysrKyBiL2FyY2gvbWlwcy9LY29uZmlnCiBAQCAtMjExNCw3ICsyMTE0LDcgQEAgY29uZmlnIENQVV9SNDQwMF9XT1JLQVJPVU5EUwogICMKICBjb25maWcgSElHSE1FTQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9taXBzLWVuYWJsZS1pbnRlcnJ1cHRzLWluLXNpZ25hbC5wYXRjaCBiL3BhdGNoZXMvbWlwcy1lbmFibGUtaW50ZXJydXB0cy1pbi1zaWduYWwucGF0Y2gKaW5kZXggOTY5OGY0OC4uNDI2MTZhMyAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9taXBzLWVuYWJsZS1pbnRlcnJ1cHRzLWluLXNpZ25hbC5wYXRjaAorKysgYi9wYXRjaGVzL21pcHMtZW5hYmxlLWludGVycnVwdHMtaW4tc2lnbmFsLnBhdGNoCkBAIC03LDEwICs3LDggQEAKICBhcmNoL21pcHMva2VybmVsL3NpZ25hbC5jIHwgICAgMSArCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9taXBzL2tlcm5lbC9zaWduYWwuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvbWlwcy9rZXJuZWwvc2lnbmFsLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9taXBzL2tlcm5lbC9zaWduYWwuYworLS0tIGEvYXJjaC9taXBzL2tlcm5lbC9zaWduYWwuYworKysrIGIvYXJjaC9taXBzL2tlcm5lbC9zaWduYWwuYwogQEAgLTU3Miw2ICs1NzIsNyBAQCBhc21saW5rYWdlIHZvaWQgZG9fbm90aWZ5X3Jlc3VtZShzdHJ1Y3QKICAJX191MzIgdGhyZWFkX2luZm9fZmxhZ3MpCiAgewpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9tbS1hbGxvdy1zbGFiLXJ0LnBhdGNoIGIvcGF0Y2hlcy9tbS1hbGxvdy1zbGFiLXJ0LnBhdGNoCmluZGV4IGMyNWFhMzAuLjZhMzU5NTkgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbW0tYWxsb3ctc2xhYi1ydC5wYXRjaAorKysgYi9wYXRjaGVzL21tLWFsbG93LXNsYWItcnQucGF0Y2gKQEAgLTksMTAgKzksOCBAQAogIGluaXQvS2NvbmZpZyB8ICAgIDIgKysKICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5pdC9LY29uZmlnCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5pdC9LY29uZmlnCi0rKysgbGludXgtc3RhYmxlL2luaXQvS2NvbmZpZworLS0tIGEvaW5pdC9LY29uZmlnCisrKysgYi9pbml0L0tjb25maWcKIEBAIC0xNTQxLDYgKzE1NDEsNyBAQCBjb25maWcgU0xBQgogIAogIGNvbmZpZyBTTFVCCmRpZmYgLS1naXQgYS9wYXRjaGVzL21tLWJvdW5jZS1sb2NhbC1pcnEtc2F2ZS1ub3J0LnBhdGNoIGIvcGF0Y2hlcy9tbS1ib3VuY2UtbG9jYWwtaXJxLXNhdmUtbm9ydC5wYXRjaAppbmRleCBlZDMxYzA0Li43YTAyMTlkIDEwMDY0NAotLS0gYS9wYXRjaGVzL21tLWJvdW5jZS1sb2NhbC1pcnEtc2F2ZS1ub3J0LnBhdGNoCisrKyBiL3BhdGNoZXMvbW0tYm91bmNlLWxvY2FsLWlycS1zYXZlLW5vcnQucGF0Y2gKQEAgLTksMTAgKzksOCBAQAogIG1tL2JvdW5jZS5jIHwgICAgNCArKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9tbS9ib3VuY2UuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL21tL2JvdW5jZS5jCi0rKysgbGludXgtc3RhYmxlL21tL2JvdW5jZS5jCistLS0gYS9tbS9ib3VuY2UuYworKysrIGIvbW0vYm91bmNlLmMKIEBAIC01MSwxMSArNTEsMTEgQEAgc3RhdGljIHZvaWQgYm91bmNlX2NvcHlfdmVjKHN0cnVjdCBiaW9fdgogIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogIAl1bnNpZ25lZCBjaGFyICp2dG87CmRpZmYgLS1naXQgYS9wYXRjaGVzL21tLWNncm91cC1wYWdlLWJpdC1zcGlubG9jay5wYXRjaCBiL3BhdGNoZXMvbW0tY2dyb3VwLXBhZ2UtYml0LXNwaW5sb2NrLnBhdGNoCmluZGV4IGU4MTRkODQuLjNiM2IzYTcgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbW0tY2dyb3VwLXBhZ2UtYml0LXNwaW5sb2NrLnBhdGNoCisrKyBiL3BhdGNoZXMvbW0tY2dyb3VwLXBhZ2UtYml0LXNwaW5sb2NrLnBhdGNoCkBAIC0xMSwxMCArMTEsOCBAQAogIG1tL3BhZ2VfY2dyb3VwLmMgICAgICAgICAgICB8ICAgMTEgKysrKysrKysrKysKICAyIGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3BhZ2VfY2dyb3VwLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3BhZ2VfY2dyb3VwLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9wYWdlX2Nncm91cC5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3BhZ2VfY2dyb3VwLmgKKysrKyBiL2luY2x1ZGUvbGludXgvcGFnZV9jZ3JvdXAuaAogQEAgLTI0LDYgKzI0LDkgQEAgZW51bSB7CiAgICovCiAgc3RydWN0IHBhZ2VfY2dyb3VwIHsKQEAgLTU3LDEwICs1NSw4IEBACiAgI2VuZGlmIC8qIENPTkZJR19NRU1DRyAqLwogIAogICNpbmNsdWRlIDxsaW51eC9zd2FwLmg+Ci1JbmRleDogbGludXgtc3RhYmxlL21tL3BhZ2VfY2dyb3VwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9tbS9wYWdlX2Nncm91cC5jCi0rKysgbGludXgtc3RhYmxlL21tL3BhZ2VfY2dyb3VwLmMKKy0tLSBhL21tL3BhZ2VfY2dyb3VwLmMKKysrKyBiL21tL3BhZ2VfY2dyb3VwLmMKIEBAIC0xMyw2ICsxMywxNCBAQAogIAogIHN0YXRpYyB1bnNpZ25lZCBsb25nIHRvdGFsX3VzYWdlOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9tbS1jb252ZXJ0LXN3YXAtdG8tcGVyY3B1LWxvY2tlZC5wYXRjaCBiL3BhdGNoZXMvbW0tY29udmVydC1zd2FwLXRvLXBlcmNwdS1sb2NrZWQucGF0Y2gKaW5kZXggODc5YmJkYS4uNDY4ZDc0YiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9tbS1jb252ZXJ0LXN3YXAtdG8tcGVyY3B1LWxvY2tlZC5wYXRjaAorKysgYi9wYXRjaGVzL21tLWNvbnZlcnQtc3dhcC10by1wZXJjcHUtbG9ja2VkLnBhdGNoCkBAIC05LDEwICs5LDggQEAKICBtbS9zd2FwLmMgfCAgIDMwICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9tbS9zd2FwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9tbS9zd2FwLmMKLSsrKyBsaW51eC1zdGFibGUvbW0vc3dhcC5jCistLS0gYS9tbS9zd2FwLmMKKysrKyBiL21tL3N3YXAuYwogQEAgLTMxLDYgKzMxLDcgQEAKICAjaW5jbHVkZSA8bGludXgvbWVtY29udHJvbC5oPgogICNpbmNsdWRlIDxsaW51eC9nZnAuaD4KZGlmZiAtLWdpdCBhL3BhdGNoZXMvbW0tZGlzYWJsZS1zbGFiLW9uLXJ0LnBhdGNoIGIvcGF0Y2hlcy9tbS1kaXNhYmxlLXNsYWItb24tcnQucGF0Y2gKaW5kZXggMGE4NWJmNC4uMjA1MzBjYSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9tbS1kaXNhYmxlLXNsYWItb24tcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy9tbS1kaXNhYmxlLXNsYWItb24tcnQucGF0Y2gKQEAgLTEsMTMgKzEsMTUgQEAKK0Zyb206IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPgorRGF0ZTogTW9uLCAxMiBBdWcgMjAxMyAwOToxNjowOSArMDIwMAorU3ViamVjdDogbW06IGRpc2FibGUgc2xhYiBvbiBydAorCiAtLS0KICBpbml0L0tjb25maWcgfCAgICAxICsKICBtbS9zbGFiLmggICAgfCAgICAyICstCiAgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbml0L0tjb25maWcKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbml0L0tjb25maWcKLSsrKyBsaW51eC1zdGFibGUvaW5pdC9LY29uZmlnCi1AQCAtMTUzNSw2ICsxNTM1LDcgQEAgY2hvaWNlCistLS0gYS9pbml0L0tjb25maWcKKysrKyBiL2luaXQvS2NvbmZpZworQEAgLTE1MzQsNiArMTUzNCw3IEBAIGNob2ljZQogIAogIGNvbmZpZyBTTEFCCiAgCWJvb2wgIlNMQUIiCkBAIC0xNSwxMCArMTcsOCBAQAogIAloZWxwCiAgCSAgVGhlIHJlZ3VsYXIgc2xhYiBhbGxvY2F0b3IgdGhhdCBpcyBlc3RhYmxpc2hlZCBhbmQga25vd24gdG8gd29yawogIAkgIHdlbGwgaW4gYWxsIGVudmlyb25tZW50cy4gSXQgb3JnYW5pemVzIGNhY2hlIGhvdCBvYmplY3RzIGluCi1JbmRleDogbGludXgtc3RhYmxlL21tL3NsYWIuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL21tL3NsYWIuaAotKysrIGxpbnV4LXN0YWJsZS9tbS9zbGFiLmgKKy0tLSBhL21tL3NsYWIuaAorKysrIGIvbW0vc2xhYi5oCiBAQCAtMjQ1LDcgKzI0NSw3IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlX2YKICAgKiBUaGUgc2xhYiBsaXN0cyBmb3IgYWxsIG9iamVjdHMuCiAgICovCmRpZmYgLS1naXQgYS9wYXRjaGVzL21tLWVuYWJsZS1zbHViLnBhdGNoIGIvcGF0Y2hlcy9tbS1lbmFibGUtc2x1Yi5wYXRjaAppbmRleCAzOThjYTcwLi4zNTE0ZGRhIDEwMDY0NAotLS0gYS9wYXRjaGVzL21tLWVuYWJsZS1zbHViLnBhdGNoCisrKyBiL3BhdGNoZXMvbW0tZW5hYmxlLXNsdWIucGF0Y2gKQEAgLTEwLDExICsxMCw5IEBACiAgbW0vc2x1Yi5jICAgIHwgIDExOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogIDIgZmlsZXMgY2hhbmdlZCwgOTEgaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5pdC9LY29uZmlnCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5pdC9LY29uZmlnCi0rKysgbGludXgtc3RhYmxlL2luaXQvS2NvbmZpZwotQEAgLTE1NDIsNyArMTU0Miw2IEBAIGNvbmZpZyBTTEFCCistLS0gYS9pbml0L0tjb25maWcKKysrKyBiL2luaXQvS2NvbmZpZworQEAgLTE1NDEsNyArMTU0MSw2IEBAIGNvbmZpZyBTTEFCCiAgCiAgY29uZmlnIFNMVUIKICAJYm9vbCAiU0xVQiAoVW5xdWV1ZWQgQWxsb2NhdG9yKSIKQEAgLTIyLDEwICsyMCw4IEBACiAgCWhlbHAKICAJICAgU0xVQiBpcyBhIHNsYWIgYWxsb2NhdG9yIHRoYXQgbWluaW1pemVzIGNhY2hlIGxpbmUgdXNhZ2UKICAJICAgaW5zdGVhZCBvZiBtYW5hZ2luZyBxdWV1ZXMgb2YgY2FjaGVkIG9iamVjdHMgKFNMQUIgYXBwcm9hY2gpLgotSW5kZXg6IGxpbnV4LXN0YWJsZS9tbS9zbHViLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9tbS9zbHViLmMKLSsrKyBsaW51eC1zdGFibGUvbW0vc2x1Yi5jCistLS0gYS9tbS9zbHViLmMKKysrKyBiL21tL3NsdWIuYwogQEAgLTEwNzEsNyArMTA3MSw3IEBAIHN0YXRpYyBub2lubGluZSBzdHJ1Y3Qga21lbV9jYWNoZV9ub2RlICoKICB7CiAgCXN0cnVjdCBrbWVtX2NhY2hlX25vZGUgKm4gPSBnZXRfbm9kZShzLCBwYWdlX3RvX25pZChwYWdlKSk7CmRpZmYgLS1naXQgYS9wYXRjaGVzL21tLW1ha2Utdm1zdGF0LXJ0LWF3YXJlLnBhdGNoIGIvcGF0Y2hlcy9tbS1tYWtlLXZtc3RhdC1ydC1hd2FyZS5wYXRjaAppbmRleCBhNjkwOWYwLi5lMmI1YjAxIDEwMDY0NAotLS0gYS9wYXRjaGVzL21tLW1ha2Utdm1zdGF0LXJ0LWF3YXJlLnBhdGNoCisrKyBiL3BhdGNoZXMvbW0tbWFrZS12bXN0YXQtcnQtYXdhcmUucGF0Y2gKQEAgLTEwLDEwICsxMCw4IEBACiAgbW0vdm1zdGF0LmMgICAgICAgICAgICB8ICAgIDYgKysrKysrCiAgMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC92bXN0YXQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvdm1zdGF0LmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC92bXN0YXQuaAorLS0tIGEvaW5jbHVkZS9saW51eC92bXN0YXQuaAorKysrIGIvaW5jbHVkZS9saW51eC92bXN0YXQuaAogQEAgLTI5LDcgKzI5LDkgQEAgREVDTEFSRV9QRVJfQ1BVKHN0cnVjdCB2bV9ldmVudF9zdGF0ZSwgdgogIAogIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2NvdW50X3ZtX2V2ZW50KGVudW0gdm1fZXZlbnRfaXRlbSBpdGVtKQpAQCAtMzQsMTAgKzMyLDggQEAKICB9CiAgCiAgc3RhdGljIGlubGluZSB2b2lkIGNvdW50X3ZtX2V2ZW50cyhlbnVtIHZtX2V2ZW50X2l0ZW0gaXRlbSwgbG9uZyBkZWx0YSkKLUluZGV4OiBsaW51eC1zdGFibGUvbW0vdm1zdGF0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9tbS92bXN0YXQuYwotKysrIGxpbnV4LXN0YWJsZS9tbS92bXN0YXQuYworLS0tIGEvbW0vdm1zdGF0LmMKKysrKyBiL21tL3Ztc3RhdC5jCiBAQCAtMjE0LDYgKzIxNCw3IEBAIHZvaWQgX19tb2Rfem9uZV9wYWdlX3N0YXRlKHN0cnVjdCB6b25lICoKICAJbG9uZyB4OwogIAlsb25nIHQ7CmRpZmYgLS1naXQgYS9wYXRjaGVzL21tLXBhZ2UtYWxsb2MtZml4LnBhdGNoIGIvcGF0Y2hlcy9tbS1wYWdlLWFsbG9jLWZpeC5wYXRjaAppbmRleCA4NTg4ZTkzLi43ZGI5NWRhIDEwMDY0NAotLS0gYS9wYXRjaGVzL21tLXBhZ2UtYWxsb2MtZml4LnBhdGNoCisrKyBiL3BhdGNoZXMvbW0tcGFnZS1hbGxvYy1maXgucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIG1tL3BhZ2VfYWxsb2MuYyB8ICAgIDQgKystLQogIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvbW0vcGFnZV9hbGxvYy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbW0vcGFnZV9hbGxvYy5jCi0rKysgbGludXgtc3RhYmxlL21tL3BhZ2VfYWxsb2MuYworLS0tIGEvbW0vcGFnZV9hbGxvYy5jCisrKysgYi9tbS9wYWdlX2FsbG9jLmMKIEBAIC0yMjQwLDggKzIyNDAsOCBAQCBfX2FsbG9jX3BhZ2VzX2RpcmVjdF9jb21wYWN0KGdmcF90IGdmcF9tCiAgCQlzdHJ1Y3QgcGFnZSAqcGFnZTsKICAKZGlmZiAtLWdpdCBhL3BhdGNoZXMvbW0tcGFnZS1hbGxvYy11c2UtbGlzdC1sYXN0LWVudHJ5LnBhdGNoIGIvcGF0Y2hlcy9tbS1wYWdlLWFsbG9jLXVzZS1saXN0LWxhc3QtZW50cnkucGF0Y2gKaW5kZXggMDI0MjE3OC4uNGQ1ZjMxMiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9tbS1wYWdlLWFsbG9jLXVzZS1saXN0LWxhc3QtZW50cnkucGF0Y2gKKysrIGIvcGF0Y2hlcy9tbS1wYWdlLWFsbG9jLXVzZS1saXN0LWxhc3QtZW50cnkucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIG1tL3BhZ2VfYWxsb2MuYyB8ICAgIDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9tbS9wYWdlX2FsbG9jLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9tbS9wYWdlX2FsbG9jLmMKLSsrKyBsaW51eC1zdGFibGUvbW0vcGFnZV9hbGxvYy5jCistLS0gYS9tbS9wYWdlX2FsbG9jLmMKKysrKyBiL21tL3BhZ2VfYWxsb2MuYwogQEAgLTY2Nyw3ICs2NjcsNyBAQCBzdGF0aWMgdm9pZCBmcmVlX3BjcHBhZ2VzX2J1bGsoc3RydWN0IHpvCiAgCQlkbyB7CiAgCQkJaW50IG10OwkvKiBtaWdyYXRldHlwZSBvZiB0aGUgdG8tYmUtZnJlZWQgcGFnZSAqLwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9tbS1wYWdlLWFsbG9jLXVzZS1sb2NhbC1sb2NrLW9uLXRhcmdldC1jcHUucGF0Y2ggYi9wYXRjaGVzL21tLXBhZ2UtYWxsb2MtdXNlLWxvY2FsLWxvY2stb24tdGFyZ2V0LWNwdS5wYXRjaAppbmRleCAzZjRhYjQ4Li42MzBmNGVlIDEwMDY0NAotLS0gYS9wYXRjaGVzL21tLXBhZ2UtYWxsb2MtdXNlLWxvY2FsLWxvY2stb24tdGFyZ2V0LWNwdS5wYXRjaAorKysgYi9wYXRjaGVzL21tLXBhZ2UtYWxsb2MtdXNlLWxvY2FsLWxvY2stb24tdGFyZ2V0LWNwdS5wYXRjaApAQCAtMTEsMTAgKzExLDggQEAKICBtbS9wYWdlX2FsbG9jLmMgfCAgICA0ICsrLS0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL21tL3BhZ2VfYWxsb2MuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL21tL3BhZ2VfYWxsb2MuYwotKysrIGxpbnV4LXN0YWJsZS9tbS9wYWdlX2FsbG9jLmMKKy0tLSBhL21tL3BhZ2VfYWxsb2MuYworKysrIGIvbW0vcGFnZV9hbGxvYy5jCiBAQCAtMjI2LDkgKzIyNiw5IEBAIHN0YXRpYyBERUZJTkVfTE9DQUxfSVJRX0xPQ0socGFfbG9jayk7CiAgCiAgI2lmZGVmIENPTkZJR19QUkVFTVBUX1JUX0JBU0UKZGlmZiAtLWdpdCBhL3BhdGNoZXMvbW0tcGFnZV9hbGxvYy1yZWR1Y2UtbG9jay1zZWN0aW9ucy1mdXJ0aGVyLnBhdGNoIGIvcGF0Y2hlcy9tbS1wYWdlX2FsbG9jLXJlZHVjZS1sb2NrLXNlY3Rpb25zLWZ1cnRoZXIucGF0Y2gKaW5kZXggYjVmMWNjMC4uZjcyMjZhNSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9tbS1wYWdlX2FsbG9jLXJlZHVjZS1sb2NrLXNlY3Rpb25zLWZ1cnRoZXIucGF0Y2gKKysrIGIvcGF0Y2hlcy9tbS1wYWdlX2FsbG9jLXJlZHVjZS1sb2NrLXNlY3Rpb25zLWZ1cnRoZXIucGF0Y2gKQEAgLTExLDEwICsxMSw4IEBACiAgbW0vcGFnZV9hbGxvYy5jIHwgICA5OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA2OSBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9tbS9wYWdlX2FsbG9jLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9tbS9wYWdlX2FsbG9jLmMKLSsrKyBsaW51eC1zdGFibGUvbW0vcGFnZV9hbGxvYy5jCistLS0gYS9tbS9wYWdlX2FsbG9jLmMKKysrKyBiL21tL3BhZ2VfYWxsb2MuYwogQEAgLTYzNCw3ICs2MzQsNyBAQCBzdGF0aWMgaW5saW5lIGludCBmcmVlX3BhZ2VzX2NoZWNrKHN0cnVjCiAgfQogIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9tbS1wYWdlX2FsbG9jLXJ0LWZyaWVuZGx5LXBlci1jcHUtcGFnZXMucGF0Y2ggYi9wYXRjaGVzL21tLXBhZ2VfYWxsb2MtcnQtZnJpZW5kbHktcGVyLWNwdS1wYWdlcy5wYXRjaAppbmRleCA1Njg5MzBkLi40ZmY3NmYwIDEwMDY0NAotLS0gYS9wYXRjaGVzL21tLXBhZ2VfYWxsb2MtcnQtZnJpZW5kbHktcGVyLWNwdS1wYWdlcy5wYXRjaAorKysgYi9wYXRjaGVzL21tLXBhZ2VfYWxsb2MtcnQtZnJpZW5kbHktcGVyLWNwdS1wYWdlcy5wYXRjaApAQCAtMTYsMTAgKzE2LDggQEAKICBtbS9wYWdlX2FsbG9jLmMgfCAgIDYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL21tL3BhZ2VfYWxsb2MuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL21tL3BhZ2VfYWxsb2MuYwotKysrIGxpbnV4LXN0YWJsZS9tbS9wYWdlX2FsbG9jLmMKKy0tLSBhL21tL3BhZ2VfYWxsb2MuYworKysrIGIvbW0vcGFnZV9hbGxvYy5jCiBAQCAtNjAsNiArNjAsNyBAQAogICNpbmNsdWRlIDxsaW51eC9wYWdlLWRlYnVnLWZsYWdzLmg+CiAgI2luY2x1ZGUgPGxpbnV4L2h1Z2V0bGIuaD4KZGlmZiAtLWdpdCBhL3BhdGNoZXMvbW0tcHJlcGFyZS1wZi1kaXNhYmxlLWRpc2NvdXBsaW5nLnBhdGNoIGIvcGF0Y2hlcy9tbS1wcmVwYXJlLXBmLWRpc2FibGUtZGlzY291cGxpbmcucGF0Y2gKaW5kZXggYTQ1YTJkMS4uZjRjOThiOSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9tbS1wcmVwYXJlLXBmLWRpc2FibGUtZGlzY291cGxpbmcucGF0Y2gKKysrIGIvcGF0Y2hlcy9tbS1wcmVwYXJlLXBmLWRpc2FibGUtZGlzY291cGxpbmcucGF0Y2gKQEAgLTE1LDEwICsxNSw4IEBACiAgbW0vbWVtb3J5LmMgICAgICAgICAgICAgfCAgIDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAgNCBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zY2hlZC5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKKysrKyBiL2luY2x1ZGUvbGludXgvc2NoZWQuaAogQEAgLTEyNjAsNiArMTI2MCw3IEBAIHN0cnVjdCB0YXNrX3N0cnVjdCB7CiAgCS8qIG11dGV4IGRlYWRsb2NrIGRldGVjdGlvbiAqLwogIAlzdHJ1Y3QgbXV0ZXhfd2FpdGVyICpibG9ja2VkX29uOwpAQCAtMjcsMTAgKzI1LDggQEAKICAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCiAgCXVuc2lnbmVkIGludCBpcnFfZXZlbnRzOwogIAl1bnNpZ25lZCBsb25nIGhhcmRpcnFfZW5hYmxlX2lwOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3VhY2Nlc3MuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvdWFjY2Vzcy5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvdWFjY2Vzcy5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3VhY2Nlc3MuaAorKysrIGIvaW5jbHVkZS9saW51eC91YWNjZXNzLmgKIEBAIC02LDM3ICs2LDEwIEBACiAgCiAgLyoKQEAgLTcyLDEwICs2OCw4IEBACiAgCiAgI2lmbmRlZiBBUkNIX0hBU19OT0NBQ0hFX1VBQ0NFU1MKICAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2ZvcmsuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9mb3JrLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL2ZvcmsuYworLS0tIGEva2VybmVsL2ZvcmsuYworKysrIGIva2VybmVsL2ZvcmsuYwogQEAgLTEyOTMsNiArMTI5Myw3IEBAIHN0YXRpYyBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNvcHlfcHJvY2VzcygKICAJcC0+aGFyZGlycV9jb250ZXh0ID0gMDsKICAJcC0+c29mdGlycV9jb250ZXh0ID0gMDsKQEAgLTg0LDExICs3OCw5IEBACiAgI2lmZGVmIENPTkZJR19MT0NLREVQCiAgCXAtPmxvY2tkZXBfZGVwdGggPSAwOyAvKiBubyBsb2NrcyBoZWxkIHlldCAqLwogIAlwLT5jdXJyX2NoYWluX2tleSA9IDA7Ci1JbmRleDogbGludXgtc3RhYmxlL21tL21lbW9yeS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbW0vbWVtb3J5LmMKLSsrKyBsaW51eC1zdGFibGUvbW0vbWVtb3J5LmMKLUBAIC0zNzQ4LDYgKzM3NDgsMzUgQEAgdW5sb2NrOgorLS0tIGEvbW0vbWVtb3J5LmMKKysrKyBiL21tL21lbW9yeS5jCitAQCAtMzc1MSw2ICszNzUxLDM1IEBAIHVubG9jazoKICAJcmV0dXJuIDA7CiAgfQogIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9tbS1wcm90ZWN0LWFjdGl2YXRlLXN3aXRjaC1tbS5wYXRjaCBiL3BhdGNoZXMvbW0tcHJvdGVjdC1hY3RpdmF0ZS1zd2l0Y2gtbW0ucGF0Y2gKaW5kZXggOGQ1ZWQ3Mi4uYjI3OGQyNyAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9tbS1wcm90ZWN0LWFjdGl2YXRlLXN3aXRjaC1tbS5wYXRjaAorKysgYi9wYXRjaGVzL21tLXByb3RlY3QtYWN0aXZhdGUtc3dpdGNoLW1tLnBhdGNoCkBAIC0zNCwxMCArMzQsOCBAQAogIG1tL21tdV9jb250ZXh0LmMgfCAgICAyICsrCiAgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9mcy9leGVjLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9mcy9leGVjLmMKLSsrKyBsaW51eC1zdGFibGUvZnMvZXhlYy5jCistLS0gYS9mcy9leGVjLmMKKysrKyBiL2ZzL2V4ZWMuYwogQEAgLTgzNiwxMCArODM2LDEyIEBAIHN0YXRpYyBpbnQgZXhlY19tbWFwKHN0cnVjdCBtbV9zdHJ1Y3QgKm0KICAJCX0KICAJfQpAQCAtNTEsMTAgKzQ5LDggQEAKICAJdGFza191bmxvY2sodHNrKTsKICAJYXJjaF9waWNrX21tYXBfbGF5b3V0KG1tKTsKICAJaWYgKG9sZF9tbSkgewotSW5kZXg6IGxpbnV4LXN0YWJsZS9tbS9tbXVfY29udGV4dC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbW0vbW11X2NvbnRleHQuYwotKysrIGxpbnV4LXN0YWJsZS9tbS9tbXVfY29udGV4dC5jCistLS0gYS9tbS9tbXVfY29udGV4dC5jCisrKysgYi9tbS9tbXVfY29udGV4dC5jCiBAQCAtMjMsNiArMjMsNyBAQCB2b2lkIHVzZV9tbShzdHJ1Y3QgbW1fc3RydWN0ICptbSkKICAJc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBjdXJyZW50OwogIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9tbS1yZW1vdmUtcHJlZW1wdC1jb3VudC1mcm9tLXBmLnBhdGNoIGIvcGF0Y2hlcy9tbS1yZW1vdmUtcHJlZW1wdC1jb3VudC1mcm9tLXBmLnBhdGNoCmluZGV4IGI4ZjI5ZTEuLmI3YmVhZjcgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbW0tcmVtb3ZlLXByZWVtcHQtY291bnQtZnJvbS1wZi5wYXRjaAorKysgYi9wYXRjaGVzL21tLXJlbW92ZS1wcmVlbXB0LWNvdW50LWZyb20tcGYucGF0Y2gKQEAgLTksMTEgKzksOSBAQAogIG1tL21lbW9yeS5jIHwgICAgNyAtLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDcgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvbW0vbWVtb3J5LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9tbS9tZW1vcnkuYwotKysrIGxpbnV4LXN0YWJsZS9tbS9tZW1vcnkuYwotQEAgLTM3NTEsNyArMzc1MSw2IEBAIHVubG9jazoKKy0tLSBhL21tL21lbW9yeS5jCisrKysgYi9tbS9tZW1vcnkuYworQEAgLTM3NTQsNyArMzc1NCw2IEBAIHVubG9jazoKICAjaWZkZWYgQ09ORklHX1BSRUVNUFRfUlRfRlVMTAogIHZvaWQgcGFnZWZhdWx0X2Rpc2FibGUodm9pZCkKICB7CkBAIC0yMSw3ICsxOSw3IEBACiAgCWN1cnJlbnQtPnBhZ2VmYXVsdF9kaXNhYmxlZCsrOwogIAkvKgogIAkgKiBtYWtlIHN1cmUgdG8gaGF2ZSBpc3N1ZWQgdGhlIHN0b3JlIGJlZm9yZSBhIHBhZ2VmYXVsdAotQEAgLTM3NjksMTIgKzM3NjgsNiBAQCB2b2lkIHBhZ2VmYXVsdF9lbmFibGUodm9pZCkKK0BAIC0zNzcyLDEyICszNzcxLDYgQEAgdm9pZCBwYWdlZmF1bHRfZW5hYmxlKHZvaWQpCiAgCSAqLwogIAliYXJyaWVyKCk7CiAgCWN1cnJlbnQtPnBhZ2VmYXVsdF9kaXNhYmxlZC0tOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9tbS1ydC1rbWFwLWF0b21pYy1zY2hlZHVsaW5nLnBhdGNoIGIvcGF0Y2hlcy9tbS1ydC1rbWFwLWF0b21pYy1zY2hlZHVsaW5nLnBhdGNoCmluZGV4IDdhZGI0ZTQuLjVjNDY3ZjAgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbW0tcnQta21hcC1hdG9taWMtc2NoZWR1bGluZy5wYXRjaAorKysgYi9wYXRjaGVzL21tLXJ0LWttYXAtYXRvbWljLXNjaGVkdWxpbmcucGF0Y2gKQEAgLTI4LDEwICsyOCw4IEBACiAgbW0vbWVtb3J5LmMgICAgICAgICAgICAgICAgICB8ICAgIDIgKysKICA3IGZpbGVzIGNoYW5nZWQsIDg0IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfMzIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzMyLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfMzIuYworLS0tIGEvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfMzIuYworKysrIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfMzIuYwogQEAgLTM2LDYgKzM2LDcgQEAKICAjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgogICNpbmNsdWRlIDxsaW51eC9pby5oPgpAQCAtODUsMTAgKzgzLDggQEAKICAJLyoKICAJICogTGVhdmUgbGF6eSBtb2RlLCBmbHVzaGluZyBhbnkgaHlwZXJjYWxscyBtYWRlIGhlcmUuCiAgCSAqIFRoaXMgbXVzdCBiZSBkb25lIGJlZm9yZSByZXN0b3JpbmcgVExTIHNlZ21lbnRzIHNvCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gveDg2L21tL2hpZ2htZW1fMzIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveDg2L21tL2hpZ2htZW1fMzIuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9tbS9oaWdobWVtXzMyLmMKKy0tLSBhL2FyY2gveDg2L21tL2hpZ2htZW1fMzIuYworKysrIGIvYXJjaC94ODYvbW0vaGlnaG1lbV8zMi5jCiBAQCAtMzEsNiArMzEsNyBAQCBFWFBPUlRfU1lNQk9MKGt1bm1hcCk7CiAgICovCiAgdm9pZCAqa21hcF9hdG9taWNfcHJvdChzdHJ1Y3QgcGFnZSAqcGFnZSwgcGdwcm90X3QgcHJvdCkKQEAgLTExOSwxMCArMTE1LDggQEAKICAJCWtwdGVfY2xlYXJfZmx1c2goa21hcF9wdGUtaWR4LCB2YWRkcik7CiAgCQlrbWFwX2F0b21pY19pZHhfcG9wKCk7CiAgCQlhcmNoX2ZsdXNoX2xhenlfbW11X21vZGUoKTsKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC94ODYvbW0vaW9tYXBfMzIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveDg2L21tL2lvbWFwXzMyLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC94ODYvbW0vaW9tYXBfMzIuYworLS0tIGEvYXJjaC94ODYvbW0vaW9tYXBfMzIuYworKysrIGIvYXJjaC94ODYvbW0vaW9tYXBfMzIuYwogQEAgLTU2LDYgKzU2LDcgQEAgRVhQT1JUX1NZTUJPTF9HUEwoaW9tYXBfZnJlZSk7CiAgCiAgdm9pZCAqa21hcF9hdG9taWNfcHJvdF9wZm4odW5zaWduZWQgbG9uZyBwZm4sIHBncHJvdF90IHByb3QpCkBAIC0xNTMsMTAgKzE0Nyw4IEBACiAgCQlrcHRlX2NsZWFyX2ZsdXNoKGttYXBfcHRlLWlkeCwgdmFkZHIpOwogIAkJa21hcF9hdG9taWNfaWR4X3BvcCgpOwogIAl9Ci1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvaGlnaG1lbS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9oaWdobWVtLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9oaWdobWVtLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvaGlnaG1lbS5oCisrKysgYi9pbmNsdWRlL2xpbnV4L2hpZ2htZW0uaAogQEAgLTg1LDMyICs4NSw1MSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX19rdW5tYXBfYXRvbWljKHZvaWQKICAKICAjaWYgZGVmaW5lZChDT05GSUdfSElHSE1FTSkgfHwgZGVmaW5lZChDT05GSUdfWDg2XzMyKQpAQCAtMjEzLDEwICsyMDUsOCBAQAogICNlbmRpZgogIH0KICAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zY2hlZC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9zY2hlZC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQuaAorLS0tIGEvaW5jbHVkZS9saW51eC9zY2hlZC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKIEBAIC0yMyw2ICsyMyw3IEBAIHN0cnVjdCBzY2hlZF9wYXJhbSB7CiAgI2luY2x1ZGUgPGxpbnV4L25vZGVtYXNrLmg+CiAgI2luY2x1ZGUgPGxpbnV4L21tX3R5cGVzLmg+CkBAIC0yMjUsNyArMjE1LDcgQEAKICAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KICAjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgogICNpbmNsdWRlIDxhc20vY3B1dGltZS5oPgotQEAgLTE0NDYsNiArMTQ0NywxMiBAQCBzdHJ1Y3QgdGFza19zdHJ1Y3QgeworQEAgLTE0NDksNiArMTQ1MCwxMiBAQCBzdHJ1Y3QgdGFza19zdHJ1Y3QgewogIAlzdHJ1Y3QgcmN1X2hlYWQgcHV0X3JjdTsKICAJaW50IHNvZnRpcnFfbmVzdGNudDsKICAjZW5kaWYKQEAgLTIzOCwxMCArMjI4LDggQEAKICB9OwogIAogICNpZmRlZiBDT05GSUdfTlVNQV9CQUxBTkNJTkcKLUluZGV4OiBsaW51eC1zdGFibGUvbW0vaGlnaG1lbS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbW0vaGlnaG1lbS5jCi0rKysgbGludXgtc3RhYmxlL21tL2hpZ2htZW0uYworLS0tIGEvbW0vaGlnaG1lbS5jCisrKysgYi9tbS9oaWdobWVtLmMKIEBAIC0yOSwxMCArMjksMTEgQEAKICAjaW5jbHVkZSA8bGludXgva2dkYi5oPgogICNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KQEAgLTI2NiwxMSArMjU0LDkgQEAKICAKICB1bnNpZ25lZCBpbnQgbnJfZnJlZV9oaWdocGFnZXMgKHZvaWQpCiAgewotSW5kZXg6IGxpbnV4LXN0YWJsZS9tbS9tZW1vcnkuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL21tL21lbW9yeS5jCi0rKysgbGludXgtc3RhYmxlL21tL21lbW9yeS5jCi1AQCAtMzc1MSw2ICszNzUxLDcgQEAgdW5sb2NrOgorLS0tIGEvbW0vbWVtb3J5LmMKKysrKyBiL21tL21lbW9yeS5jCitAQCAtMzc1NCw2ICszNzU0LDcgQEAgdW5sb2NrOgogICNpZmRlZiBDT05GSUdfUFJFRU1QVF9SVF9GVUxMCiAgdm9pZCBwYWdlZmF1bHRfZGlzYWJsZSh2b2lkKQogIHsKQEAgLTI3OCw3ICsyNjQsNyBAQAogIAljdXJyZW50LT5wYWdlZmF1bHRfZGlzYWJsZWQrKzsKICAJLyoKICAJICogbWFrZSBzdXJlIHRvIGhhdmUgaXNzdWVkIHRoZSBzdG9yZSBiZWZvcmUgYSBwYWdlZmF1bHQKLUBAIC0zNzY4LDYgKzM3NjksNyBAQCB2b2lkIHBhZ2VmYXVsdF9lbmFibGUodm9pZCkKK0BAIC0zNzcxLDYgKzM3NzIsNyBAQCB2b2lkIHBhZ2VmYXVsdF9lbmFibGUodm9pZCkKICAJICovCiAgCWJhcnJpZXIoKTsKICAJY3VycmVudC0+cGFnZWZhdWx0X2Rpc2FibGVkLS07CmRpZmYgLS1naXQgYS9wYXRjaGVzL21tLXNjYXR0ZXJsaXN0LWRvbnQtZGlzYWJsZS1pcnFzLW9uLVJULnBhdGNoIGIvcGF0Y2hlcy9tbS1zY2F0dGVybGlzdC1kb250LWRpc2FibGUtaXJxcy1vbi1SVC5wYXRjaAppbmRleCBiMDliOGU0Li5jMjAwMjY1IDEwMDY0NAotLS0gYS9wYXRjaGVzL21tLXNjYXR0ZXJsaXN0LWRvbnQtZGlzYWJsZS1pcnFzLW9uLVJULnBhdGNoCisrKyBiL3BhdGNoZXMvbW0tc2NhdHRlcmxpc3QtZG9udC1kaXNhYmxlLWlycXMtb24tUlQucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGxpYi9zY2F0dGVybGlzdC5jIHwgICAgNiArKystLS0KICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2xpYi9zY2F0dGVybGlzdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbGliL3NjYXR0ZXJsaXN0LmMKLSsrKyBsaW51eC1zdGFibGUvbGliL3NjYXR0ZXJsaXN0LmMKKy0tLSBhL2xpYi9zY2F0dGVybGlzdC5jCisrKysgYi9saWIvc2NhdHRlcmxpc3QuYwogQEAgLTUzMyw3ICs1MzMsNyBAQCB2b2lkIHNnX21pdGVyX3N0b3Aoc3RydWN0IHNnX21hcHBpbmdfaXRlCiAgCQkJZmx1c2hfa2VybmVsX2RjYWNoZV9wYWdlKG1pdGVyLT5wYWdlKTsKICAKZGlmZiAtLWdpdCBhL3BhdGNoZXMvbW0tc2hyaW5rLXRoZS1wYWdlLWZyYW1lLXRvLXJ0LXNpemUucGF0Y2ggYi9wYXRjaGVzL21tLXNocmluay10aGUtcGFnZS1mcmFtZS10by1ydC1zaXplLnBhdGNoCmluZGV4IDI3NGUyNDcuLjc2NTRmOTQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbW0tc2hyaW5rLXRoZS1wYWdlLWZyYW1lLXRvLXJ0LXNpemUucGF0Y2gKKysrIGIvcGF0Y2hlcy9tbS1zaHJpbmstdGhlLXBhZ2UtZnJhbWUtdG8tcnQtc2l6ZS5wYXRjaApAQCAtMTcsMTAgKzE3LDggQEAKICBtbS9tZW1vcnkuYyAgICAgICAgICAgICAgfCAgIDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAgMyBmaWxlcyBjaGFuZ2VkLCA3NSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvbW0uaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvbW0uaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L21tLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvbW0uaAorKysrIGIvaW5jbHVkZS9saW51eC9tbS5oCiBAQCAtMTI0MSwyNyArMTI0MSw1OSBAQCBzdGF0aWMgaW5saW5lIHBtZF90ICpwbWRfYWxsb2Moc3RydWN0IG1tCiAgICogb3ZlcmZsb3cgaW50byB0aGUgbmV4dCBzdHJ1Y3QgcGFnZSAoYXMgaXQgbWlnaHQgd2l0aCBERUJVR19TUElOTE9DSykuCiAgICogV2hlbiBmcmVlaW5nLCByZXNldCBwYWdlLT5tYXBwaW5nIHNvIGZyZWVfcGFnZXNfY2hlY2sgd29uJ3QgY29tcGxhaW4uCkBAIC04OCwxMCArODYsOCBAQAogIHN0YXRpYyBpbmxpbmUgdm9pZCBwZ3RhYmxlX3BhZ2VfZHRvcihzdHJ1Y3QgcGFnZSAqcGFnZSkKICB7CiAgCXB0ZV9sb2NrX2RlaW5pdChwYWdlKTsKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9tbV90eXBlcy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9tbV90eXBlcy5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvbW1fdHlwZXMuaAorLS0tIGEvaW5jbHVkZS9saW51eC9tbV90eXBlcy5oCisrKysgYi9pbmNsdWRlL2xpbnV4L21tX3R5cGVzLmgKIEBAIC0xNDIsNyArMTQyLDExIEBAIHN0cnVjdCBwYWdlIHsKICAJCQkJCQkgKiBzeXN0ZW0gaWYgUEdfYnVkZHkgaXMgc2V0LgogIAkJCQkJCSAqLwpAQCAtMTA0LDExICsxMDAsOSBAQAogICNlbmRpZgogIAkJc3RydWN0IGttZW1fY2FjaGUgKnNsYWJfY2FjaGU7CS8qIFNMW0FVXUI6IFBvaW50ZXIgdG8gc2xhYiAqLwogIAkJc3RydWN0IHBhZ2UgKmZpcnN0X3BhZ2U7CS8qIENvbXBvdW5kIHRhaWwgcGFnZXMgKi8KLUluZGV4OiBsaW51eC1zdGFibGUvbW0vbWVtb3J5LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9tbS9tZW1vcnkuYwotKysrIGxpbnV4LXN0YWJsZS9tbS9tZW1vcnkuYwotQEAgLTQzMTksMyArNDMxOSwzNSBAQCB2b2lkIGNvcHlfdXNlcl9odWdlX3BhZ2Uoc3RydWN0IHBhZ2UgKmRzCistLS0gYS9tbS9tZW1vcnkuYworKysrIGIvbW0vbWVtb3J5LmMKK0BAIC00MzIyLDMgKzQzMjIsMzUgQEAgdm9pZCBjb3B5X3VzZXJfaHVnZV9wYWdlKHN0cnVjdCBwYWdlICpkcwogIAl9CiAgfQogICNlbmRpZiAvKiBDT05GSUdfVFJBTlNQQVJFTlRfSFVHRVBBR0UgfHwgQ09ORklHX0hVR0VUTEJGUyAqLwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9tbS1zbGFiLW1vcmUtbG9jay1icmVha3MucGF0Y2ggYi9wYXRjaGVzL21tLXNsYWItbW9yZS1sb2NrLWJyZWFrcy5wYXRjaAppbmRleCA5YTg0YmNjLi40YWNlYWZhIDEwMDY0NAotLS0gYS9wYXRjaGVzL21tLXNsYWItbW9yZS1sb2NrLWJyZWFrcy5wYXRjaAorKysgYi9wYXRjaGVzL21tLXNsYWItbW9yZS1sb2NrLWJyZWFrcy5wYXRjaApAQCAtMTIsMTAgKzEyLDggQEAKICBtbS9zbGFiLmMgfCAgIDgwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL21tL3NsYWIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL21tL3NsYWIuYwotKysrIGxpbnV4LXN0YWJsZS9tbS9zbGFiLmMKKy0tLSBhL21tL3NsYWIuYworKysrIGIvbW0vc2xhYi5jCiBAQCAtNjM0LDYgKzYzNCw3IEBAIHN0YXRpYyB2b2lkIHNsYWJfc2V0X2RlYnVnb2JqX2xvY2tfY2xhc3MKICAjZW5kaWYKICAKZGlmZiAtLWdpdCBhL3BhdGNoZXMvbW0tc2xhYi1tb3ZlLWRlYnVnLW91dC5wYXRjaCBiL3BhdGNoZXMvbW0tc2xhYi1tb3ZlLWRlYnVnLW91dC5wYXRjaAppbmRleCA2ZDk0OWIxLi41NzY5NjIxIDEwMDY0NAotLS0gYS9wYXRjaGVzL21tLXNsYWItbW92ZS1kZWJ1Zy1vdXQucGF0Y2gKKysrIGIvcGF0Y2hlcy9tbS1zbGFiLW1vdmUtZGVidWctb3V0LnBhdGNoCkBAIC03LDEwICs3LDggQEAKICBtbS9zbGFiLmMgfCAgICA0ICsrLS0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL21tL3NsYWIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL21tL3NsYWIuYwotKysrIGxpbnV4LXN0YWJsZS9tbS9zbGFiLmMKKy0tLSBhL21tL3NsYWIuYworKysrIGIvbW0vc2xhYi5jCiBAQCAtMzc3MSwxMCArMzc3MSwxMCBAQCB2b2lkIGttZW1fY2FjaGVfZnJlZShzdHJ1Y3Qga21lbV9jYWNoZSAqCiAgCWlmICghY2FjaGVwKQogIAkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9tbS1zbGFiLXdyYXAtZnVuY3Rpb25zLnBhdGNoIGIvcGF0Y2hlcy9tbS1zbGFiLXdyYXAtZnVuY3Rpb25zLnBhdGNoCmluZGV4IGZiYjg3NzkuLmM4ODMwZjMgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbW0tc2xhYi13cmFwLWZ1bmN0aW9ucy5wYXRjaAorKysgYi9wYXRjaGVzL21tLXNsYWItd3JhcC1mdW5jdGlvbnMucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIG1tL3NsYWIuYyB8ICAxNTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgMTA4IGluc2VydGlvbnMoKyksIDQ5IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL21tL3NsYWIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL21tL3NsYWIuYwotKysrIGxpbnV4LXN0YWJsZS9tbS9zbGFiLmMKKy0tLSBhL21tL3NsYWIuYworKysrIGIvbW0vc2xhYi5jCiBAQCAtMTE2LDYgKzExNiw3IEBACiAgI2luY2x1ZGUJPGxpbnV4L2ttZW1jaGVjay5oPgogICNpbmNsdWRlCTxsaW51eC9tZW1vcnkuaD4KZGlmZiAtLWdpdCBhL3BhdGNoZXMvbW0tdm1hbGxvYy11c2UtZ2V0LWNwdS1saWdodC5wYXRjaCBiL3BhdGNoZXMvbW0tdm1hbGxvYy11c2UtZ2V0LWNwdS1saWdodC5wYXRjaAppbmRleCAzZDBlM2EzLi4wNGIyOGVjIDEwMDY0NAotLS0gYS9wYXRjaGVzL21tLXZtYWxsb2MtdXNlLWdldC1jcHUtbGlnaHQucGF0Y2gKKysrIGIvcGF0Y2hlcy9tbS12bWFsbG9jLXVzZS1nZXQtY3B1LWxpZ2h0LnBhdGNoCkBAIC03LDEwICs3LDggQEAKICBtbS92bWFsbG9jLmMgfCAgIDE0ICsrKysrKysrLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9tbS92bWFsbG9jLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9tbS92bWFsbG9jLmMKLSsrKyBsaW51eC1zdGFibGUvbW0vdm1hbGxvYy5jCistLS0gYS9tbS92bWFsbG9jLmMKKysrKyBiL21tL3ZtYWxsb2MuYwogQEAgLTc5Miw3ICs3OTIsNyBAQCBzdGF0aWMgc3RydWN0IHZtYXBfYmxvY2sgKm5ld192bWFwX2Jsb2NrCiAgCXN0cnVjdCB2bWFwX2Jsb2NrICp2YjsKICAJc3RydWN0IHZtYXBfYXJlYSAqdmE7CmRpZmYgLS1naXQgYS9wYXRjaGVzL21tY2ktcmVtb3ZlLWJvZ3VzLWlycS1zYXZlLnBhdGNoIGIvcGF0Y2hlcy9tbWNpLXJlbW92ZS1ib2d1cy1pcnEtc2F2ZS5wYXRjaAppbmRleCAyYzg0YmViLi5jNTA3ZmNmIDEwMDY0NAotLS0gYS9wYXRjaGVzL21tY2ktcmVtb3ZlLWJvZ3VzLWlycS1zYXZlLnBhdGNoCisrKyBiL3BhdGNoZXMvbW1jaS1yZW1vdmUtYm9ndXMtaXJxLXNhdmUucGF0Y2gKQEAgLTEwLDEwICsxMCw4IEBACiAgZHJpdmVycy9tbWMvaG9zdC9tbWNpLmMgfCAgICA1IC0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDUgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9tbWMvaG9zdC9tbWNpLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL21tYy9ob3N0L21tY2kuYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL21tYy9ob3N0L21tY2kuYworLS0tIGEvZHJpdmVycy9tbWMvaG9zdC9tbWNpLmMKKysrKyBiL2RyaXZlcnMvbW1jL2hvc3QvbW1jaS5jCiBAQCAtOTc2LDE1ICs5NzYsMTIgQEAgc3RhdGljIGlycXJldHVybl90IG1tY2lfcGlvX2lycShpbnQgaXJxLAogIAlzdHJ1Y3Qgc2dfbWFwcGluZ19pdGVyICpzZ19taXRlciA9ICZob3N0LT5zZ19taXRlcjsKICAJc3RydWN0IHZhcmlhbnRfZGF0YSAqdmFyaWFudCA9IGhvc3QtPnZhcmlhbnQ7CmRpZmYgLS1naXQgYS9wYXRjaGVzL21vdmVfc2NoZWRfZGVsYXllZF93b3JrX3RvX2hlbHBlci5wYXRjaCBiL3BhdGNoZXMvbW92ZV9zY2hlZF9kZWxheWVkX3dvcmtfdG9faGVscGVyLnBhdGNoCmluZGV4IDAxYWQ4ZTUuLmNlYjllYjggMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbW92ZV9zY2hlZF9kZWxheWVkX3dvcmtfdG9faGVscGVyLnBhdGNoCisrKyBiL3BhdGNoZXMvbW92ZV9zY2hlZF9kZWxheWVkX3dvcmtfdG9faGVscGVyLnBhdGNoCkBAIC0zMiwxMCArMzIsOCBAQAogIGtlcm5lbC90aW1lL250cC5jIHwgICA0MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAgMSBmaWxlIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvdGltZS9udHAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC90aW1lL250cC5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC90aW1lL250cC5jCistLS0gYS9rZXJuZWwvdGltZS9udHAuYworKysrIGIva2VybmVsL3RpbWUvbnRwLmMKIEBAIC0xMCw2ICsxMCw3IEBACiAgI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgogICNpbmNsdWRlIDxsaW51eC9ocnRpbWVyLmg+CmRpZmYgLS1naXQgYS9wYXRjaGVzL211dGV4LW5vLXNwaW4tb24tcnQucGF0Y2ggYi9wYXRjaGVzL211dGV4LW5vLXNwaW4tb24tcnQucGF0Y2gKaW5kZXggMzBiYTVhZC4uMjNiNzcxZCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9tdXRleC1uby1zcGluLW9uLXJ0LnBhdGNoCisrKyBiL3BhdGNoZXMvbXV0ZXgtbm8tc3Bpbi1vbi1ydC5wYXRjaApAQCAtNywxMCArNyw4IEBACiAga2VybmVsL0tjb25maWcubG9ja3MgfCAgICAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL0tjb25maWcubG9ja3MKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvS2NvbmZpZy5sb2NrcwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvS2NvbmZpZy5sb2NrcworLS0tIGEva2VybmVsL0tjb25maWcubG9ja3MKKysrKyBiL2tlcm5lbC9LY29uZmlnLmxvY2tzCiBAQCAtMjIyLDQgKzIyMiw0IEBAIGVuZGlmCiAgCiAgY29uZmlnIE1VVEVYX1NQSU5fT05fT1dORVIKZGlmZiAtLWdpdCBhL3BhdGNoZXMvbmV0LWFub3RoZXItbG9jYWwtaXJxLWRpc2FibGUtYWxsb2MtYXRvbWljLWhlYWRhY2hlLnBhdGNoIGIvcGF0Y2hlcy9uZXQtYW5vdGhlci1sb2NhbC1pcnEtZGlzYWJsZS1hbGxvYy1hdG9taWMtaGVhZGFjaGUucGF0Y2gKaW5kZXggNGY3ODQxYy4uMGQ5NTIzYiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9uZXQtYW5vdGhlci1sb2NhbC1pcnEtZGlzYWJsZS1hbGxvYy1hdG9taWMtaGVhZGFjaGUucGF0Y2gKKysrIGIvcGF0Y2hlcy9uZXQtYW5vdGhlci1sb2NhbC1pcnEtZGlzYWJsZS1hbGxvYy1hdG9taWMtaGVhZGFjaGUucGF0Y2gKQEAgLTksMTAgKzksOCBAQAogIG5ldC9jb3JlL3NrYnVmZi5jIHwgICAgNiArKysrLS0KICAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL25ldC9jb3JlL3NrYnVmZi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbmV0L2NvcmUvc2tidWZmLmMKLSsrKyBsaW51eC1zdGFibGUvbmV0L2NvcmUvc2tidWZmLmMKKy0tLSBhL25ldC9jb3JlL3NrYnVmZi5jCisrKysgYi9uZXQvY29yZS9za2J1ZmYuYwogQEAgLTYwLDYgKzYwLDcgQEAKICAjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KICAjaW5jbHVkZSA8bGludXgvZXJycXVldWUuaD4KZGlmZiAtLWdpdCBhL3BhdGNoZXMvbmV0LWRldi1tYWtlLWRldm5ldC1yZW5hbWUtc2VxLXN0YXRpYy5wYXRjaCBiL3BhdGNoZXMvbmV0LWRldi1tYWtlLWRldm5ldC1yZW5hbWUtc2VxLXN0YXRpYy5wYXRjaAppbmRleCBhMDhiNDUxLi5lNTk1NTZiIDEwMDY0NAotLS0gYS9wYXRjaGVzL25ldC1kZXYtbWFrZS1kZXZuZXQtcmVuYW1lLXNlcS1zdGF0aWMucGF0Y2gKKysrIGIvcGF0Y2hlcy9uZXQtZGV2LW1ha2UtZGV2bmV0LXJlbmFtZS1zZXEtc3RhdGljLnBhdGNoCkBAIC04LDEwICs4LDggQEAKICBuZXQvY29yZS9kZXYuYyAgICAgICAgICAgIHwgICAgMiArLQogIDIgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDQgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvbmV0ZGV2aWNlLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaAorLS0tIGEvaW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaAorKysrIGIvaW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaAogQEAgLTE2MDEsOSArMTYwMSw2IEBAIGV4dGVybiBpbnQgY2FsbF9uZXRkZXZpY2Vfbm90aWZpZXJzKHVuc2kKICAKICBleHRlcm4gcndsb2NrX3QJCQkJZGV2X2Jhc2VfbG9jazsJCS8qIERldmljZSBsaXN0IGxvY2sgKi8KQEAgLTIyLDEwICsyMCw4IEBACiAgI2RlZmluZSBmb3JfZWFjaF9uZXRkZXYobmV0LCBkKQkJXAogIAkJbGlzdF9mb3JfZWFjaF9lbnRyeShkLCAmKG5ldCktPmRldl9iYXNlX2hlYWQsIGRldl9saXN0KQogICNkZWZpbmUgZm9yX2VhY2hfbmV0ZGV2X3JldmVyc2UobmV0LCBkKQlcCi1JbmRleDogbGludXgtc3RhYmxlL25ldC9jb3JlL2Rldi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbmV0L2NvcmUvZGV2LmMKLSsrKyBsaW51eC1zdGFibGUvbmV0L2NvcmUvZGV2LmMKKy0tLSBhL25ldC9jb3JlL2Rldi5jCisrKysgYi9uZXQvY29yZS9kZXYuYwogQEAgLTE2Niw3ICsxNjYsNyBAQCBzdGF0aWMgc3RydWN0IGxpc3RfaGVhZCBvZmZsb2FkX2Jhc2UgX19yCiAgREVGSU5FX1JXTE9DSyhkZXZfYmFzZV9sb2NrKTsKICBFWFBPUlRfU1lNQk9MKGRldl9iYXNlX2xvY2spOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9uZXQtZml4LWlwdGFibGUteHQtd3JpdGUtcmVjc2VxLWJlZ2luLXJ0LWZhbGxvdXQucGF0Y2ggYi9wYXRjaGVzL25ldC1maXgtaXB0YWJsZS14dC13cml0ZS1yZWNzZXEtYmVnaW4tcnQtZmFsbG91dC5wYXRjaAppbmRleCAxZTdlNDQ1Li5iODA1YTI0IDEwMDY0NAotLS0gYS9wYXRjaGVzL25ldC1maXgtaXB0YWJsZS14dC13cml0ZS1yZWNzZXEtYmVnaW4tcnQtZmFsbG91dC5wYXRjaAorKysgYi9wYXRjaGVzL25ldC1maXgtaXB0YWJsZS14dC13cml0ZS1yZWNzZXEtYmVnaW4tcnQtZmFsbG91dC5wYXRjaApAQCAtMTQsMTAgKzE0LDggQEAKICBuZXQvbmV0ZmlsdGVyL2NvcmUuYyAgICAgICAgICAgICAgIHwgICAgNiArKysrKysKICAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L25ldGZpbHRlci94X3RhYmxlcy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9uZXRmaWx0ZXIveF90YWJsZXMuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L25ldGZpbHRlci94X3RhYmxlcy5oCistLS0gYS9pbmNsdWRlL2xpbnV4L25ldGZpbHRlci94X3RhYmxlcy5oCisrKysgYi9pbmNsdWRlL2xpbnV4L25ldGZpbHRlci94X3RhYmxlcy5oCiBAQCAtMyw2ICszLDcgQEAKICAKICAKQEAgLTUzLDEwICs1MSw4IEBACiAgfQogIAogIC8qCi1JbmRleDogbGludXgtc3RhYmxlL25ldC9uZXRmaWx0ZXIvY29yZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbmV0L25ldGZpbHRlci9jb3JlLmMKLSsrKyBsaW51eC1zdGFibGUvbmV0L25ldGZpbHRlci9jb3JlLmMKKy0tLSBhL25ldC9uZXRmaWx0ZXIvY29yZS5jCisrKysgYi9uZXQvbmV0ZmlsdGVyL2NvcmUuYwogQEAgLTIxLDExICsyMSwxNyBAQAogICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAgI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CmRpZmYgLS1naXQgYS9wYXRjaGVzL25ldC1mbGlwLWxvY2stZGVwLXRoaW5neS5wYXRjaCBiL3BhdGNoZXMvbmV0LWZsaXAtbG9jay1kZXAtdGhpbmd5LnBhdGNoCmluZGV4IGFkYTQ4ODIuLmFlOTFjNGQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbmV0LWZsaXAtbG9jay1kZXAtdGhpbmd5LnBhdGNoCisrKyBiL3BhdGNoZXMvbmV0LWZsaXAtbG9jay1kZXAtdGhpbmd5LnBhdGNoCkBAIC05MywxMCArOTMsOCBAQAogIG5ldC9jb3JlL3NvY2suYyB8ICAgIDMgKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL25ldC9jb3JlL3NvY2suYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL25ldC9jb3JlL3NvY2suYwotKysrIGxpbnV4LXN0YWJsZS9uZXQvY29yZS9zb2NrLmMKKy0tLSBhL25ldC9jb3JlL3NvY2suYworKysrIGIvbmV0L2NvcmUvc29jay5jCiBAQCAtMjI4OCwxMiArMjI4OCwxMSBAQCB2b2lkIGxvY2tfc29ja19uZXN0ZWQoc3RydWN0IHNvY2sgKnNrLCBpCiAgCWlmIChzay0+c2tfbG9jay5vd25lZCkKICAJCV9fbG9ja19zb2NrKHNrKTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvbmV0LW1ha2UtZGV2bmV0X3JlbmFtZV9zZXEtYS1tdXRleC5wYXRjaCBiL3BhdGNoZXMvbmV0LW1ha2UtZGV2bmV0X3JlbmFtZV9zZXEtYS1tdXRleC5wYXRjaAppbmRleCBlNzczZjdiLi5hNDlmMWVjIDEwMDY0NAotLS0gYS9wYXRjaGVzL25ldC1tYWtlLWRldm5ldF9yZW5hbWVfc2VxLWEtbXV0ZXgucGF0Y2gKKysrIGIvcGF0Y2hlcy9uZXQtbWFrZS1kZXZuZXRfcmVuYW1lX3NlcS1hLW11dGV4LnBhdGNoCkBAIC0xOSwxMCArMTksOCBAQAogIG5ldC9jb3JlL2Rldi5jIHwgICAzNCArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL25ldC9jb3JlL2Rldi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbmV0L2NvcmUvZGV2LmMKLSsrKyBsaW51eC1zdGFibGUvbmV0L2NvcmUvZGV2LmMKKy0tLSBhL25ldC9jb3JlL2Rldi5jCisrKysgYi9uZXQvY29yZS9kZXYuYwogQEAgLTE2Nyw2ICsxNjcsNyBAQCBERUZJTkVfUldMT0NLKGRldl9iYXNlX2xvY2spOwogIEVYUE9SVF9TWU1CT0woZGV2X2Jhc2VfbG9jayk7CiAgCmRpZmYgLS1naXQgYS9wYXRjaGVzL25ldC1uZXRpZi1yeC1uaS11c2UtbG9jYWwtYmgtZGlzYWJsZS5wYXRjaCBiL3BhdGNoZXMvbmV0LW5ldGlmLXJ4LW5pLXVzZS1sb2NhbC1iaC1kaXNhYmxlLnBhdGNoCmluZGV4IDIzYWVmMzYuLmEzYzk0NWEgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbmV0LW5ldGlmLXJ4LW5pLXVzZS1sb2NhbC1iaC1kaXNhYmxlLnBhdGNoCisrKyBiL3BhdGNoZXMvbmV0LW5ldGlmLXJ4LW5pLXVzZS1sb2NhbC1iaC1kaXNhYmxlLnBhdGNoCkBAIC0xMywxMSArMTMsOSBAQAogIG5ldC9jb3JlL2Rldi5jIHwgICAgNiArKy0tLS0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL25ldC9jb3JlL2Rldi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbmV0L2NvcmUvZGV2LmMKLSsrKyBsaW51eC1zdGFibGUvbmV0L2NvcmUvZGV2LmMKLUBAIC0zMjA0LDExICszMjA0LDkgQEAgaW50IG5ldGlmX3J4X25pKHN0cnVjdCBza19idWZmICpza2IpCistLS0gYS9uZXQvY29yZS9kZXYuYworKysrIGIvbmV0L2NvcmUvZGV2LmMKK0BAIC0zMjAxLDExICszMjAxLDkgQEAgaW50IG5ldGlmX3J4X25pKHN0cnVjdCBza19idWZmICpza2IpCiAgewogIAlpbnQgZXJyOwogIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9uZXQtbmV0aWZfcnhfbmktbWlncmF0ZS1kaXNhYmxlLnBhdGNoIGIvcGF0Y2hlcy9uZXQtbmV0aWZfcnhfbmktbWlncmF0ZS1kaXNhYmxlLnBhdGNoCmluZGV4IDkyNWFjM2UuLjE0NjBjNWQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbmV0LW5ldGlmX3J4X25pLW1pZ3JhdGUtZGlzYWJsZS5wYXRjaAorKysgYi9wYXRjaGVzL25ldC1uZXRpZl9yeF9uaS1taWdyYXRlLWRpc2FibGUucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIG5ldC9jb3JlL2Rldi5jIHwgICAgNCArKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9uZXQvY29yZS9kZXYuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL25ldC9jb3JlL2Rldi5jCi0rKysgbGludXgtc3RhYmxlL25ldC9jb3JlL2Rldi5jCistLS0gYS9uZXQvY29yZS9kZXYuYworKysrIGIvbmV0L2NvcmUvZGV2LmMKIEBAIC0zMjAxLDExICszMjAxLDExIEBAIGludCBuZXRpZl9yeF9uaShzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogIHsKICAJaW50IGVycjsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvbmV0LXR4LWFjdGlvbi1hdm9pZC1saXZlbG9jay1vbi1ydC5wYXRjaCBiL3BhdGNoZXMvbmV0LXR4LWFjdGlvbi1hdm9pZC1saXZlbG9jay1vbi1ydC5wYXRjaAppbmRleCAwMmE2NGY4Li5iNTU3NDk1IDEwMDY0NAotLS0gYS9wYXRjaGVzL25ldC10eC1hY3Rpb24tYXZvaWQtbGl2ZWxvY2stb24tcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy9uZXQtdHgtYWN0aW9uLWF2b2lkLWxpdmVsb2NrLW9uLXJ0LnBhdGNoCkBAIC00MiwxMCArNDIsOCBAQAogIG5ldC9jb3JlL2Rldi5jIHwgICAzMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogIDEgZmlsZSBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvbmV0L2NvcmUvZGV2LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9uZXQvY29yZS9kZXYuYwotKysrIGxpbnV4LXN0YWJsZS9uZXQvY29yZS9kZXYuYworLS0tIGEvbmV0L2NvcmUvZGV2LmMKKysrKyBiL25ldC9jb3JlL2Rldi5jCiBAQCAtMzIxMSw2ICszMjExLDM2IEBAIGludCBuZXRpZl9yeF9uaShzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogIH0KICBFWFBPUlRfU1lNQk9MKG5ldGlmX3J4X25pKTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvbmV0LXVzZS1jcHUtY2hpbGwucGF0Y2ggYi9wYXRjaGVzL25ldC11c2UtY3B1LWNoaWxsLnBhdGNoCmluZGV4IGYyYjM1NGMuLmNhODdmZmMgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbmV0LXVzZS1jcHUtY2hpbGwucGF0Y2gKKysrIGIvcGF0Y2hlcy9uZXQtdXNlLWNwdS1jaGlsbC5wYXRjaApAQCAtMTMsMTAgKzEzLDggQEAKICBuZXQvcmRzL2liX3JkbWEuYyAgICAgIHwgICAgMyArKy0KICAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9uZXQvcGFja2V0L2FmX3BhY2tldC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbmV0L3BhY2tldC9hZl9wYWNrZXQuYwotKysrIGxpbnV4LXN0YWJsZS9uZXQvcGFja2V0L2FmX3BhY2tldC5jCistLS0gYS9uZXQvcGFja2V0L2FmX3BhY2tldC5jCisrKysgYi9uZXQvcGFja2V0L2FmX3BhY2tldC5jCiBAQCAtODgsNiArODgsNyBAQAogICNpbmNsdWRlIDxsaW51eC92aXJ0aW9fbmV0Lmg+CiAgI2luY2x1ZGUgPGxpbnV4L2VycnF1ZXVlLmg+CkBAIC00MywxMCArNDEsOCBAQAogIAkJCX0KICAJCX0KICAJCXByYl9jbG9zZV9ibG9jayhwa2MsIHBiZCwgcG8sIHN0YXR1cyk7Ci1JbmRleDogbGludXgtc3RhYmxlL25ldC9yZHMvaWJfcmRtYS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbmV0L3Jkcy9pYl9yZG1hLmMKLSsrKyBsaW51eC1zdGFibGUvbmV0L3Jkcy9pYl9yZG1hLmMKKy0tLSBhL25ldC9yZHMvaWJfcmRtYS5jCisrKysgYi9uZXQvcmRzL2liX3JkbWEuYwogQEAgLTM0LDYgKzM0LDcgQEAKICAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogICNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CmRpZmYgLS1naXQgYS9wYXRjaGVzL25ldC11c2UtY3B1LWxpZ2h0LWluLWlwLXNlbmQtdW5pY2FzdC1yZXBseS5wYXRjaCBiL3BhdGNoZXMvbmV0LXVzZS1jcHUtbGlnaHQtaW4taXAtc2VuZC11bmljYXN0LXJlcGx5LnBhdGNoCmluZGV4IDVhY2ZmNmMuLmM5MzQ5MDQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbmV0LXVzZS1jcHUtbGlnaHQtaW4taXAtc2VuZC11bmljYXN0LXJlcGx5LnBhdGNoCisrKyBiL3BhdGNoZXMvbmV0LXVzZS1jcHUtbGlnaHQtaW4taXAtc2VuZC11bmljYXN0LXJlcGx5LnBhdGNoCkBAIC03LDEwICs3LDggQEAKICBuZXQvaXB2NC9pcF9vdXRwdXQuYyB8ICAgIDUgKysrLS0KICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL25ldC9pcHY0L2lwX291dHB1dC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbmV0L2lwdjQvaXBfb3V0cHV0LmMKLSsrKyBsaW51eC1zdGFibGUvbmV0L2lwdjQvaXBfb3V0cHV0LmMKKy0tLSBhL25ldC9pcHY0L2lwX291dHB1dC5jCisrKysgYi9uZXQvaXB2NC9pcF9vdXRwdXQuYwogQEAgLTE1MDgsNyArMTUwOCw4IEBAIHZvaWQgaXBfc2VuZF91bmljYXN0X3JlcGx5KHN0cnVjdCBuZXQgKm4KICAJaWYgKElTX0VSUihydCkpCiAgCQlyZXR1cm47CmRpZmYgLS1naXQgYS9wYXRjaGVzL25ldC13aXJlbGVzcy13YXJuLW5vcnQucGF0Y2ggYi9wYXRjaGVzL25ldC13aXJlbGVzcy13YXJuLW5vcnQucGF0Y2gKaW5kZXggZTg0YmZkZC4uMWI0ZTM4ZSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9uZXQtd2lyZWxlc3Mtd2Fybi1ub3J0LnBhdGNoCisrKyBiL3BhdGNoZXMvbmV0LXdpcmVsZXNzLXdhcm4tbm9ydC5wYXRjaApAQCAtNywxMSArNyw5IEBACiAgbmV0L21hYzgwMjExL3J4LmMgfCAgICAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvbmV0L21hYzgwMjExL3J4LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9uZXQvbWFjODAyMTEvcnguYwotKysrIGxpbnV4LXN0YWJsZS9uZXQvbWFjODAyMTEvcnguYwotQEAgLTMyMzQsNyArMzIzNCw3IEBAIHZvaWQgaWVlZTgwMjExX3J4KHN0cnVjdCBpZWVlODAyMTFfaHcgKmgKKy0tLSBhL25ldC9tYWM4MDIxMS9yeC5jCisrKysgYi9uZXQvbWFjODAyMTEvcnguYworQEAgLTMyNDAsNyArMzI0MCw3IEBAIHZvaWQgaWVlZTgwMjExX3J4KHN0cnVjdCBpZWVlODAyMTFfaHcgKmgKICAJc3RydWN0IGllZWU4MDIxMV9zdXBwb3J0ZWRfYmFuZCAqc2JhbmQ7CiAgCXN0cnVjdCBpZWVlODAyMTFfcnhfc3RhdHVzICpzdGF0dXMgPSBJRUVFODAyMTFfU0tCX1JYQ0Ioc2tiKTsKICAKZGlmZiAtLWdpdCBhL3BhdGNoZXMvb2xlZy1zaWduYWwtcnQtZml4LnBhdGNoIGIvcGF0Y2hlcy9vbGVnLXNpZ25hbC1ydC1maXgucGF0Y2gKaW5kZXggOGMwMzNhNC4uMjcxYzUxNiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9vbGVnLXNpZ25hbC1ydC1maXgucGF0Y2gKKysrIGIvcGF0Y2hlcy9vbGVnLXNpZ25hbC1ydC1maXgucGF0Y2gKQEAgLTM1LDEwICszNSw4IEBACiAga2VybmVsL3NpZ25hbC5jICAgICAgICAgICAgICAgfCAgIDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KICA0IGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC94ODYvaW5jbHVkZS9hc20vc2lnbmFsLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9zaWduYWwuaAotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9zaWduYWwuaAorLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vc2lnbmFsLmgKKysrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3NpZ25hbC5oCiBAQCAtMjMsNiArMjMsMTkgQEAgdHlwZWRlZiBzdHJ1Y3QgewogIAl1bnNpZ25lZCBsb25nIHNpZ1tfTlNJR19XT1JEU107CiAgfSBzaWdzZXRfdDsKQEAgLTU5LDEwICs1Nyw4IEBACiAgI2lmbmRlZiBDT05GSUdfQ09NUEFUCiAgdHlwZWRlZiBzaWdzZXRfdCBjb21wYXRfc2lnc2V0X3Q7CiAgI2VuZGlmCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gveDg2L2tlcm5lbC9zaWduYWwuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveDg2L2tlcm5lbC9zaWduYWwuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9rZXJuZWwvc2lnbmFsLmMKKy0tLSBhL2FyY2gveDg2L2tlcm5lbC9zaWduYWwuYworKysrIGIvYXJjaC94ODYva2VybmVsL3NpZ25hbC5jCiBAQCAtNzQzLDYgKzc0MywxNCBAQCBkb19ub3RpZnlfcmVzdW1lKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB2CiAgCQltY2Vfbm90aWZ5X3Byb2Nlc3MoKTsKICAjZW5kaWYgLyogQ09ORklHX1g4Nl82NCAmJiBDT05GSUdfWDg2X01DRSAqLwpAQCAtNzgsMTAgKzc0LDggQEAKICAJaWYgKHRocmVhZF9pbmZvX2ZsYWdzICYgX1RJRl9VUFJPQkUpCiAgCQl1cHJvYmVfbm90aWZ5X3Jlc3VtZShyZWdzKTsKICAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zY2hlZC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9zY2hlZC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQuaAorLS0tIGEvaW5jbHVkZS9saW51eC9zY2hlZC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKIEBAIC0xMjIwLDYgKzEyMjAsMTAgQEAgc3RydWN0IHRhc2tfc3RydWN0IHsKICAJc2lnc2V0X3QgYmxvY2tlZCwgcmVhbF9ibG9ja2VkOwogIAlzaWdzZXRfdCBzYXZlZF9zaWdtYXNrOwkvKiByZXN0b3JlZCBpZiBzZXRfcmVzdG9yZV9zaWdtYXNrKCkgd2FzIHVzZWQgKi8KQEAgLTkzLDEwICs4Nyw4IEBACiAgCiAgCXVuc2lnbmVkIGxvbmcgc2FzX3NzX3NwOwogIAlzaXplX3Qgc2FzX3NzX3NpemU7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zaWduYWwuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zaWduYWwuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2lnbmFsLmMKKy0tLSBhL2tlcm5lbC9zaWduYWwuYworKysrIGIva2VybmVsL3NpZ25hbC5jCiBAQCAtMTMwNSw4ICsxMzA1LDggQEAgaW50IGRvX3NlbmRfc2lnX2luZm8oaW50IHNpZywgc3RydWN0IHNpZwogICAqIFdlIGRvbid0IHdhbnQgdG8gaGF2ZSByZWN1cnNpdmUgU0lHU0VHVidzIGV0YywgZm9yIGV4YW1wbGUsCiAgICogdGhhdCBpcyB3aHkgd2UgYWxzbyBjbGVhciBTSUdOQUxfVU5LSUxMQUJMRS4KZGlmZiAtLWdpdCBhL3BhdGNoZXMvcGFuaWMtZGlzYWJsZS1yYW5kb20tb24tcnQucGF0Y2ggYi9wYXRjaGVzL3BhbmljLWRpc2FibGUtcmFuZG9tLW9uLXJ0LnBhdGNoCmluZGV4IDFkYzJmZTMuLmU0YTViZjggMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcGFuaWMtZGlzYWJsZS1yYW5kb20tb24tcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy9wYW5pYy1kaXNhYmxlLXJhbmRvbS1vbi1ydC5wYXRjaApAQCAtNSwxMCArNSw4IEBACiAga2VybmVsL3BhbmljLmMgfCAgICAyICsrCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9wYW5pYy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3BhbmljLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3BhbmljLmMKKy0tLSBhL2tlcm5lbC9wYW5pYy5jCisrKysgYi9rZXJuZWwvcGFuaWMuYwogQEAgLTM2Myw5ICszNjMsMTEgQEAgc3RhdGljIHU2NCBvb3BzX2lkOwogIAogIHN0YXRpYyBpbnQgaW5pdF9vb3BzX2lkKHZvaWQpCmRpZmYgLS1naXQgYS9wYXRjaGVzL3BhdGNoLXRvLWludHJvZHVjZS1yY3UtYmgtcXMtd2hlcmUtc2FmZS1mcm9tLXNvZnRpcnEucGF0Y2ggYi9wYXRjaGVzL3BhdGNoLXRvLWludHJvZHVjZS1yY3UtYmgtcXMtd2hlcmUtc2FmZS1mcm9tLXNvZnRpcnEucGF0Y2gKaW5kZXggMTQwMGIwMC4uZjZjNGM2NiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9wYXRjaC10by1pbnRyb2R1Y2UtcmN1LWJoLXFzLXdoZXJlLXNhZmUtZnJvbS1zb2Z0aXJxLnBhdGNoCisrKyBiL3BhdGNoZXMvcGF0Y2gtdG8taW50cm9kdWNlLXJjdS1iaC1xcy13aGVyZS1zYWZlLWZyb20tc29mdGlycS5wYXRjaApAQCAtMjksMTAgKzI5LDggQEAKICBrZXJuZWwvc29mdGlycS5jICAgICAgICAgfCAgIDIwICsrKysrKysrKysrKystLS0tLS0tCiAgNCBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3JjdXBkYXRlLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3JjdXBkYXRlLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9yY3VwZGF0ZS5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3JjdXBkYXRlLmgKKysrKyBiL2luY2x1ZGUvbGludXgvcmN1cGRhdGUuaAogQEAgLTIyOCwxMyArMjI4LDcgQEAgc3RhdGljIGlubGluZSBpbnQgcmN1X3ByZWVtcHRfZGVwdGgodm9pZAogIAogIC8qIEludGVybmFsIHRvIGtlcm5lbCAqLwpAQCAtNDcsMTAgKzQ1LDggQEAKICBleHRlcm4gdm9pZCByY3VfY2hlY2tfY2FsbGJhY2tzKGludCBjcHUsIGludCB1c2VyKTsKICBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2s7CiAgZXh0ZXJuIHZvaWQgcmN1X2lkbGVfZW50ZXIodm9pZCk7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9yY3V0cmVlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvcmN1dHJlZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9yY3V0cmVlLmMKKy0tLSBhL2tlcm5lbC9yY3V0cmVlLmMKKysrKyBiL2tlcm5lbC9yY3V0cmVlLmMKIEBAIC0xODIsNyArMTgyLDE0IEBAIHZvaWQgcmN1X3NjaGVkX3FzKGludCBjcHUpCiAgCXJkcC0+cGFzc2VkX3F1aWVzY2UgPSAxOwogIH0KQEAgLTY3LDEwICs2Myw4IEBACiAgdm9pZCByY3VfYmhfcXMoaW50IGNwdSkKICB7CiAgCXN0cnVjdCByY3VfZGF0YSAqcmRwID0gJnBlcl9jcHUocmN1X2JoX2RhdGEsIGNwdSk7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9yY3V0cmVlX3BsdWdpbi5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3JjdXRyZWVfcGx1Z2luLmgKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3JjdXRyZWVfcGx1Z2luLmgKKy0tLSBhL2tlcm5lbC9yY3V0cmVlX3BsdWdpbi5oCisrKysgYi9rZXJuZWwvcmN1dHJlZV9wbHVnaW4uaAogQEAgLTE1MzAsNyArMTUzMCw3IEBAIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCByY3VfcHJlcGFyZV9rdGhyZWEKICAKICAjZW5kaWYgLyogI2Vsc2UgI2lmZGVmIENPTkZJR19SQ1VfQk9PU1QgKi8KQEAgLTEwNywxMCArMTAxLDggQEAKICAKICAvKgogICAqIFByZXBhcmUgYSBDUFUgZm9yIGlkbGUgZnJvbSBhbiBSQ1UgcGVyc3BlY3RpdmUuICBUaGUgZmlyc3QgbWFqb3IgdGFzawotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc29mdGlycS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NvZnRpcnEuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc29mdGlycS5jCistLS0gYS9rZXJuZWwvc29mdGlycS5jCisrKysgYi9rZXJuZWwvc29mdGlycS5jCiBAQCAtMTQyLDcgKzE0Miw3IEBAIHN0YXRpYyB2b2lkIHdha2V1cF9zb2Z0aXJxZCh2b2lkKQogIAkJd2FrZV91cF9wcm9jZXNzKHRzayk7CiAgfQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wY2ktYWNjZXNzLXVzZS1fX3dha2VfdXBfYWxsX2xvY2tlZC5wYXRjaCBiL3BhdGNoZXMvcGNpLWFjY2Vzcy11c2UtX193YWtlX3VwX2FsbF9sb2NrZWQucGF0Y2gKaW5kZXggODQ0Y2E0YS4uNmVmZjY4YSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9wY2ktYWNjZXNzLXVzZS1fX3dha2VfdXBfYWxsX2xvY2tlZC5wYXRjaAorKysgYi9wYXRjaGVzL3BjaS1hY2Nlc3MtdXNlLV9fd2FrZV91cF9hbGxfbG9ja2VkLnBhdGNoCkBAIC0xMiwxMCArMTIsOCBAQAogIGRyaXZlcnMvcGNpL2FjY2Vzcy5jIHwgICAgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2RyaXZlcnMvcGNpL2FjY2Vzcy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9wY2kvYWNjZXNzLmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9wY2kvYWNjZXNzLmMKKy0tLSBhL2RyaXZlcnMvcGNpL2FjY2Vzcy5jCisrKysgYi9kcml2ZXJzL3BjaS9hY2Nlc3MuYwogQEAgLTQ2NSw3ICs0NjUsNyBAQCB2b2lkIHBjaV9jZmdfYWNjZXNzX3VubG9jayhzdHJ1Y3QgcGNpX2RlCiAgCVdBUk5fT04oIWRldi0+YmxvY2tfY2ZnX2FjY2Vzcyk7CiAgCmRpZmYgLS1naXQgYS9wYXRjaGVzL3BlcmNwdS1yd3NlbS1jb21waWxlZml4LnBhdGNoIGIvcGF0Y2hlcy9wZXJjcHUtcndzZW0tY29tcGlsZWZpeC5wYXRjaAppbmRleCAyYzE5MGViLi5hMDQ0YzhiIDEwMDY0NAotLS0gYS9wYXRjaGVzL3BlcmNwdS1yd3NlbS1jb21waWxlZml4LnBhdGNoCisrKyBiL3BhdGNoZXMvcGVyY3B1LXJ3c2VtLWNvbXBpbGVmaXgucGF0Y2gKQEAgLTEwLDEwICsxMCw4IEBACiAgbGliL3BlcmNwdS1yd3NlbS5jIHwgICAgNCArKysrCiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogbGludXgtc3RhYmxlL2xpYi9wZXJjcHUtcndzZW0uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2xpYi9wZXJjcHUtcndzZW0uYwotKysrIGxpbnV4LXN0YWJsZS9saWIvcGVyY3B1LXJ3c2VtLmMKKy0tLSBhL2xpYi9wZXJjcHUtcndzZW0uYworKysrIGIvbGliL3BlcmNwdS1yd3NlbS5jCiBAQCAtODQsOCArODQsMTIgQEAgdm9pZCBwZXJjcHVfZG93bl9yZWFkKHN0cnVjdCBwZXJjcHVfcndfcwogIAogIAlkb3duX3JlYWQoJmJydy0+cndfc2VtKTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvcGVyZi1tYWtlLXN3ZXZlbnQtaHJ0aW1lci1pcnFzYWZlLnBhdGNoIGIvcGF0Y2hlcy9wZXJmLW1ha2Utc3dldmVudC1ocnRpbWVyLWlycXNhZmUucGF0Y2gKaW5kZXggZGYyZmQ4OC4uMzFiOGEyNCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9wZXJmLW1ha2Utc3dldmVudC1ocnRpbWVyLWlycXNhZmUucGF0Y2gKKysrIGIvcGF0Y2hlcy9wZXJmLW1ha2Utc3dldmVudC1ocnRpbWVyLWlycXNhZmUucGF0Y2gKQEAgLTU2LDExICs1Niw5IEBACiAga2VybmVsL2V2ZW50cy9jb3JlLmMgfCAgICAxICsKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvZXZlbnRzL2NvcmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9ldmVudHMvY29yZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9ldmVudHMvY29yZS5jCi1AQCAtNTcxNSw2ICs1NzE1LDcgQEAgc3RhdGljIHZvaWQgcGVyZl9zd2V2ZW50X2luaXRfaHJ0aW1lcihzdAorLS0tIGEva2VybmVsL2V2ZW50cy9jb3JlLmMKKysrKyBiL2tlcm5lbC9ldmVudHMvY29yZS5jCitAQCAtNTczNyw2ICs1NzM3LDcgQEAgc3RhdGljIHZvaWQgcGVyZl9zd2V2ZW50X2luaXRfaHJ0aW1lcihzdAogIAogIAlocnRpbWVyX2luaXQoJmh3Yy0+aHJ0aW1lciwgQ0xPQ0tfTU9OT1RPTklDLCBIUlRJTUVSX01PREVfUkVMKTsKICAJaHdjLT5ocnRpbWVyLmZ1bmN0aW9uID0gcGVyZl9zd2V2ZW50X2hydGltZXI7CmRpZmYgLS1naXQgYS9wYXRjaGVzL3BlcmYtbW92ZS1pcnEtd29yay10by1zb2Z0aXJxLWluLXJ0LnBhdGNoIGIvcGF0Y2hlcy9wZXJmLW1vdmUtaXJxLXdvcmstdG8tc29mdGlycS1pbi1ydC5wYXRjaAppbmRleCA1YThlZTNlLi4wOGI5NGMzIDEwMDY0NAotLS0gYS9wYXRjaGVzL3BlcmYtbW92ZS1pcnEtd29yay10by1zb2Z0aXJxLWluLXJ0LnBhdGNoCisrKyBiL3BhdGNoZXMvcGVyZi1tb3ZlLWlycS13b3JrLXRvLXNvZnRpcnEtaW4tcnQucGF0Y2gKQEAgLTksMTAgKzksOCBAQAogIGtlcm5lbC90aW1lci5jICAgICAgICAgICAgIHwgICAgNiArKysrKy0KICAzIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC94ODYva2VybmVsL2lycV93b3JrLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3g4Ni9rZXJuZWwvaXJxX3dvcmsuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9rZXJuZWwvaXJxX3dvcmsuYworLS0tIGEvYXJjaC94ODYva2VybmVsL2lycV93b3JrLmMKKysrKyBiL2FyY2gveDg2L2tlcm5lbC9pcnFfd29yay5jCiBAQCAtMTgsNiArMTgsNyBAQCB2b2lkIHNtcF9pcnFfd29ya19pbnRlcnJ1cHQoc3RydWN0IHB0X3JlCiAgCWlycV9leGl0KCk7CiAgfQpAQCAtMjYsMTAgKzI0LDggQEAKICAjZW5kaWYKICB9CiArI2VuZGlmCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9pcnFfd29yay5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2lycV93b3JrLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL2lycV93b3JrLmMKKy0tLSBhL2tlcm5lbC9pcnFfd29yay5jCisrKysgYi9rZXJuZWwvaXJxX3dvcmsuYwogQEAgLTExOSw4ICsxMTksOSBAQCBzdGF0aWMgdm9pZCBfX2lycV93b3JrX3J1bih2b2lkKQogIAlpZiAobGxpc3RfZW1wdHkodGhpc19saXN0KSkKICAJCXJldHVybjsKQEAgLTUxLDEwICs0Nyw4IEBACiAgCV9faXJxX3dvcmtfcnVuKCk7CiAgfQogIEVYUE9SVF9TWU1CT0xfR1BMKGlycV93b3JrX3J1bik7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC90aW1lci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3RpbWVyLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3RpbWVyLmMKKy0tLSBhL2tlcm5lbC90aW1lci5jCisrKysgYi9rZXJuZWwvdGltZXIuYwogQEAgLTE0MjUsNyArMTQyNSw3IEBAIHZvaWQgdXBkYXRlX3Byb2Nlc3NfdGltZXMoaW50IHVzZXJfdGljaykKICAJc2NoZWR1bGVyX3RpY2soKTsKICAJcnVuX2xvY2FsX3RpbWVycygpOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wZXRlcl96aWpsc3RyYS1mcm9iLW1pZ3JhdGVfZGlzYWJsZS0yLnBhdGNoIGIvcGF0Y2hlcy9wZXRlcl96aWpsc3RyYS1mcm9iLW1pZ3JhdGVfZGlzYWJsZS0yLnBhdGNoCmluZGV4IGFlZDNkN2QuLjE1N2E0ZmEgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcGV0ZXJfemlqbHN0cmEtZnJvYi1taWdyYXRlX2Rpc2FibGUtMi5wYXRjaAorKysgYi9wYXRjaGVzL3BldGVyX3ppamxzdHJhLWZyb2ItbWlncmF0ZV9kaXNhYmxlLTIucGF0Y2gKQEAgLTIxLDEwICsyMSw4IEBACiAgbGliL3NtcF9wcm9jZXNzb3JfaWQuYyAgfCAgICAyICstCiAgNiBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3ByZWVtcHQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3ByZWVtcHQuaAorKysrIGIvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKIEBAIC0xMzAsMjggKzEzMCwyNSBAQCBkbyB7IFwKICAKICAjZW5kaWYgLyogQ09ORklHX1BSRUVNUFRfQ09VTlQgKi8KQEAgLTYzLDEwICs2MSw4IEBACiAgI2VuZGlmCiAgCiAgI2lmZGVmIENPTkZJR19QUkVFTVBUX05PVElGSUVSUwotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zY2hlZC5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKKysrKyBiL2luY2x1ZGUvbGludXgvc2NoZWQuaAogQEAgLTEwNzQsNyArMTA3NCw5IEBAIHN0cnVjdCB0YXNrX3N0cnVjdCB7CiAgI2VuZGlmCiAgCkBAIC03Nyw3ICs3Myw3IEBACiAgCWludCBucl9jcHVzX2FsbG93ZWQ7CiAgCWNwdW1hc2tfdCBjcHVzX2FsbG93ZWQ7CiAgCi1AQCAtMjYxNCwxMSArMjYxNiwyMiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc2V0X3Rhc2tfY3B1KHN0cnVjdCB0CitAQCAtMjYxNywxMSArMjYxOSwyMiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc2V0X3Rhc2tfY3B1KHN0cnVjdCB0CiAgCiAgI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KICAKQEAgLTEwMCwxMCArOTYsOCBAQAogIAogIAlyZXR1cm4gJnAtPmNwdXNfYWxsb3dlZDsKICB9Ci1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc21wLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3NtcC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc21wLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvc21wLmgKKysrKyBiL2luY2x1ZGUvbGludXgvc21wLmgKIEBAIC0yMjMsMTMgKzIyMyw4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBraWNrX2FsbF9jcHVzX3N5bmModm8KICAjZGVmaW5lIGdldF9jcHUoKQkJKHsgcHJlZW1wdF9kaXNhYmxlKCk7IHNtcF9wcm9jZXNzb3JfaWQoKTsgfSkKICAjZGVmaW5lIHB1dF9jcHUoKQkJcHJlZW1wdF9lbmFibGUoKQpAQCAtMTIwLDExICsxMTQsOSBAQAogIAogIC8qCiAgICogQ2FsbGJhY2sgdG8gYXJjaCBjb2RlIGlmIHRoZXJlJ3Mgbm9zbXAgb3IgbWF4Y3B1cz0wIG9uIHRoZQotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL2NvcmUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi1AQCAtNDgyOCw3ICs0ODI4LDcgQEAgdm9pZCBfX2NwdWluaXQgaW5pdF9pZGxlKHN0cnVjdCB0YXNrX3N0cgorLS0tIGEva2VybmVsL3NjaGVkL2NvcmUuYworKysrIGIva2VybmVsL3NjaGVkL2NvcmUuYworQEAgLTQ4NzEsNyArNDg3MSw3IEBAIHZvaWQgX19jcHVpbml0IGluaXRfaWRsZShzdHJ1Y3QgdGFza19zdHIKICAjaWZkZWYgQ09ORklHX1NNUAogIHZvaWQgZG9fc2V0X2NwdXNfYWxsb3dlZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGNvbnN0IHN0cnVjdCBjcHVtYXNrICpuZXdfbWFzaykKICB7CkBAIC0xMzMsNyArMTI1LDcgQEAKICAJCWlmIChwLT5zY2hlZF9jbGFzcyAmJiBwLT5zY2hlZF9jbGFzcy0+c2V0X2NwdXNfYWxsb3dlZCkKICAJCQlwLT5zY2hlZF9jbGFzcy0+c2V0X2NwdXNfYWxsb3dlZChwLCBuZXdfbWFzayk7CiAgCQlwLT5ucl9jcHVzX2FsbG93ZWQgPSBjcHVtYXNrX3dlaWdodChuZXdfbWFzayk7Ci1AQCAtNDg3OSw3ICs0ODc5LDcgQEAgaW50IHNldF9jcHVzX2FsbG93ZWRfcHRyKHN0cnVjdCB0YXNrX3N0cgorQEAgLTQ5MjIsNyArNDkyMiw3IEBAIGludCBzZXRfY3B1c19hbGxvd2VkX3B0cihzdHJ1Y3QgdGFza19zdHIKICAJZG9fc2V0X2NwdXNfYWxsb3dlZChwLCBuZXdfbWFzayk7CiAgCiAgCS8qIENhbiB0aGUgdGFzayBydW4gb24gdGhlIHRhc2sncyBjdXJyZW50IENQVT8gSWYgc28sIHdlJ3JlIGRvbmUgKi8KQEAgLTE0Miw3ICsxMzQsNyBAQAogIAkJZ290byBvdXQ7CiAgCiAgCWRlc3RfY3B1ID0gY3B1bWFza19hbnlfYW5kKGNwdV9hY3RpdmVfbWFzaywgbmV3X21hc2spOwotQEAgLTQ4OTgsNiArNDg5OCw3IEBAIG91dDoKK0BAIC00OTQxLDYgKzQ5NDEsNyBAQCBvdXQ6CiAgfQogIEVYUE9SVF9TWU1CT0xfR1BMKHNldF9jcHVzX2FsbG93ZWRfcHRyKTsKICAKQEAgLTE1MCw3ICsxNDIsNyBAQAogIHZvaWQgbWlncmF0ZV9kaXNhYmxlKHZvaWQpCiAgewogIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAgPSBjdXJyZW50OwotQEAgLTQ5OTAsNiArNDk5MSw3IEBAIHZvaWQgbWlncmF0ZV9lbmFibGUodm9pZCkKK0BAIC01MDMzLDYgKzUwMzQsNyBAQCB2b2lkIG1pZ3JhdGVfZW5hYmxlKHZvaWQpCiAgCXByZWVtcHRfZW5hYmxlKCk7CiAgfQogIEVYUE9SVF9TWU1CT0wobWlncmF0ZV9lbmFibGUpOwpAQCAtMTU4LDExICsxNTAsOSBAQAogIAogIC8qCiAgICogTW92ZSAobm90IGN1cnJlbnQpIHRhc2sgb2ZmIHRoaXMgY3B1LCBvbnRvIGRlc3QgY3B1LiBXZSdyZSBkb2luZwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvdHJhY2UvdHJhY2UuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC90cmFjZS90cmFjZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC90cmFjZS90cmFjZS5jCi1AQCAtMTQyMCw3ICsxNDIwLDcgQEAgdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShzdHJ1Y3QgdHJhYworLS0tIGEva2VybmVsL3RyYWNlL3RyYWNlLmMKKysrKyBiL2tlcm5lbC90cmFjZS90cmFjZS5jCitAQCAtMTQ1MCw3ICsxNDUwLDcgQEAgdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShzdHJ1Y3QgdHJhYwogIAkJKChwYyAmIFNPRlRJUlFfTUFTSykgPyBUUkFDRV9GTEFHX1NPRlRJUlEgOiAwKSB8CiAgCQkobmVlZF9yZXNjaGVkKCkgPyBUUkFDRV9GTEFHX05FRURfUkVTQ0hFRCA6IDApOwogIApAQCAtMTcxLDEwICsxNjEsOCBAQAogIH0KICBFWFBPUlRfU1lNQk9MX0dQTCh0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKTsKICAKLUluZGV4OiBsaW51eC1zdGFibGUvbGliL3NtcF9wcm9jZXNzb3JfaWQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2xpYi9zbXBfcHJvY2Vzc29yX2lkLmMKLSsrKyBsaW51eC1zdGFibGUvbGliL3NtcF9wcm9jZXNzb3JfaWQuYworLS0tIGEvbGliL3NtcF9wcm9jZXNzb3JfaWQuYworKysrIGIvbGliL3NtcF9wcm9jZXNzb3JfaWQuYwogQEAgLTQxLDcgKzQxLDcgQEAgbm90cmFjZSB1bnNpZ25lZCBpbnQgZGVidWdfc21wX3Byb2Nlc3NvcgogIAogIAlwcmludGsoS0VSTl9FUlIgIkJVRzogdXNpbmcgc21wX3Byb2Nlc3Nvcl9pZCgpIGluIHByZWVtcHRpYmxlIFslMDh4ICUwOHhdICIKZGlmZiAtLWdpdCBhL3BhdGNoZXMvcGV0ZXJfemlqbHN0cmEtZnJvYi1taWdyYXRlX2Rpc2FibGUucGF0Y2ggYi9wYXRjaGVzL3BldGVyX3ppamxzdHJhLWZyb2ItbWlncmF0ZV9kaXNhYmxlLnBhdGNoCmluZGV4IDY1OTEwOTkuLjdjOTU4MTcgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcGV0ZXJfemlqbHN0cmEtZnJvYi1taWdyYXRlX2Rpc2FibGUucGF0Y2gKKysrIGIvcGF0Y2hlcy9wZXRlcl96aWpsc3RyYS1mcm9iLW1pZ3JhdGVfZGlzYWJsZS5wYXRjaApAQCAtMTEsMTEgKzExLDkgQEAKICBrZXJuZWwvc2NoZWQvY29yZS5jIHwgICAyNCArKysrKysrKysrKysrKysrKysrKy0tLS0KICAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL2NvcmUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi1AQCAtNDkxOCw3ICs0OTE4LDE5IEBAIHZvaWQgbWlncmF0ZV9kaXNhYmxlKHZvaWQpCistLS0gYS9rZXJuZWwvc2NoZWQvY29yZS5jCisrKysgYi9rZXJuZWwvc2NoZWQvY29yZS5jCitAQCAtNDk2MSw3ICs0OTYxLDE5IEBAIHZvaWQgbWlncmF0ZV9kaXNhYmxlKHZvaWQpCiAgCQlwcmVlbXB0X2VuYWJsZSgpOwogIAkJcmV0dXJuOwogIAl9CkBAIC0zNiw3ICszNCw3IEBACiAgCXAtPm1pZ3JhdGVfZGlzYWJsZSA9IDE7CiAgCW1hc2sgPSB0c2tfY3B1c19hbGxvd2VkKHApOwogIAotQEAgLTQ5MjksNyArNDk0MSw3IEBAIHZvaWQgbWlncmF0ZV9kaXNhYmxlKHZvaWQpCitAQCAtNDk3Miw3ICs0OTg0LDcgQEAgdm9pZCBtaWdyYXRlX2Rpc2FibGUodm9pZCkKICAJCQlwLT5zY2hlZF9jbGFzcy0+c2V0X2NwdXNfYWxsb3dlZChwLCBtYXNrKTsKICAJCXAtPm5yX2NwdXNfYWxsb3dlZCA9IGNwdW1hc2tfd2VpZ2h0KG1hc2spOwogIAl9CkBAIC00NSw3ICs0Myw3IEBACiAgCXByZWVtcHRfZW5hYmxlKCk7CiAgfQogIEVYUE9SVF9TWU1CT0wobWlncmF0ZV9kaXNhYmxlKTsKLUBAIC00OTU3LDcgKzQ5NjksMTEgQEAgdm9pZCBtaWdyYXRlX2VuYWJsZSh2b2lkKQorQEAgLTUwMDAsNyArNTAxMiwxMSBAQCB2b2lkIG1pZ3JhdGVfZW5hYmxlKHZvaWQpCiAgCQlyZXR1cm47CiAgCX0KICAKQEAgLTU4LDcgKzU2LDcgQEAKICAJcC0+bWlncmF0ZV9kaXNhYmxlID0gMDsKICAJbWFzayA9IHRza19jcHVzX2FsbG93ZWQocCk7CiAgCi1AQCAtNDk2OSw3ICs0OTg1LDcgQEAgdm9pZCBtaWdyYXRlX2VuYWJsZSh2b2lkKQorQEAgLTUwMTIsNyArNTAyOCw3IEBAIHZvaWQgbWlncmF0ZV9lbmFibGUodm9pZCkKICAJCXAtPm5yX2NwdXNfYWxsb3dlZCA9IGNwdW1hc2tfd2VpZ2h0KG1hc2spOwogIAl9CiAgCmRpZmYgLS1naXQgYS9wYXRjaGVzL3BldGVyX3ppamxzdHJhLWZyb2ItcGFnZWZhdWx0X2Rpc2FibGUucGF0Y2ggYi9wYXRjaGVzL3BldGVyX3ppamxzdHJhLWZyb2ItcGFnZWZhdWx0X2Rpc2FibGUucGF0Y2gKaW5kZXggNzA2MWRlOS4uZDEwNzBhMSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9wZXRlcl96aWpsc3RyYS1mcm9iLXBhZ2VmYXVsdF9kaXNhYmxlLnBhdGNoCisrKyBiL3BhdGNoZXMvcGV0ZXJfemlqbHN0cmEtZnJvYi1wYWdlZmF1bHRfZGlzYWJsZS5wYXRjaApAQCAtMzMsMTAgKzMzLDggQEAKICBrZXJuZWwvZm9yay5jICAgICAgICAgICAgICB8ICAgIDIgKysKICAyMyBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL2FscGhhL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL2FscGhhL21tL2ZhdWx0LmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9hbHBoYS9tbS9mYXVsdC5jCistLS0gYS9hcmNoL2FscGhhL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvYWxwaGEvbW0vZmF1bHQuYwogQEAgLTEwOCw3ICsxMDgsNyBAQCBkb19wYWdlX2ZhdWx0KHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgdW5zCiAgCiAgCS8qIElmIHdlJ3JlIGluIGFuIGludGVycnVwdCBjb250ZXh0LCBvciBoYXZlIG5vIHVzZXIgY29udGV4dCwKQEAgLTQ2LDEwICs0NCw4IEBACiAgCQlnb3RvIG5vX2NvbnRleHQ7CiAgCiAgI2lmZGVmIENPTkZJR19BTFBIQV9MQVJHRV9WTUFMTE9DCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvYXJtL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL2FybS9tbS9mYXVsdC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvYXJtL21tL2ZhdWx0LmMKKy0tLSBhL2FyY2gvYXJtL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvYXJtL21tL2ZhdWx0LmMKIEBAIC0yNzksNyArMjc5LDcgQEAgZG9fcGFnZV9mYXVsdCh1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbgogIAkgKiBJZiB3ZSdyZSBpbiBhbiBpbnRlcnJ1cHQgb3IgaGF2ZSBubyB1c2VyCiAgCSAqIGNvbnRleHQsIHdlIG11c3Qgbm90IHRha2UgdGhlIGZhdWx0Li4KQEAgLTU5LDEwICs1NSw4IEBACiAgCQlnb3RvIG5vX2NvbnRleHQ7CiAgCiAgCS8qCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvYXZyMzIvbW0vZmF1bHQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvYXZyMzIvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL2F2cjMyL21tL2ZhdWx0LmMKKy0tLSBhL2FyY2gvYXZyMzIvbW0vZmF1bHQuYworKysrIGIvYXJjaC9hdnIzMi9tbS9mYXVsdC5jCiBAQCAtODEsOCArODEsNyBAQCBhc21saW5rYWdlIHZvaWQgZG9fcGFnZV9mYXVsdCh1bnNpZ25lZCBsCiAgCSAqIElmIHdlJ3JlIGluIGFuIGludGVycnVwdCBvciBoYXZlIG5vIHVzZXIgY29udGV4dCwgd2UgbXVzdAogIAkgKiBub3QgdGFrZSB0aGUgZmF1bHQuLi4KQEAgLTczLDEwICs2Nyw4IEBACiAgCQlnb3RvIG5vX2NvbnRleHQ7CiAgCiAgCWxvY2FsX2lycV9lbmFibGUoKTsKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9jcmlzL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL2NyaXMvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL2NyaXMvbW0vZmF1bHQuYworLS0tIGEvYXJjaC9jcmlzL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvY3Jpcy9tbS9mYXVsdC5jCiBAQCAtMTE0LDcgKzExNCw3IEBAIGRvX3BhZ2VfZmF1bHQodW5zaWduZWQgbG9uZyBhZGRyZXNzLCBzdHIKICAJICogdXNlciBjb250ZXh0LCB3ZSBtdXN0IG5vdCB0YWtlIHRoZSBmYXVsdC4KICAJICovCkBAIC04NiwxMCArNzgsOCBAQAogIAkJZ290byBub19jb250ZXh0OwogIAogIHJldHJ5OgotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL2Zydi9tbS9mYXVsdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9mcnYvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL2Zydi9tbS9mYXVsdC5jCistLS0gYS9hcmNoL2Zydi9tbS9mYXVsdC5jCisrKysgYi9hcmNoL2Zydi9tbS9mYXVsdC5jCiBAQCAtNzgsNyArNzgsNyBAQCBhc21saW5rYWdlIHZvaWQgZG9fcGFnZV9mYXVsdChpbnQgZGF0YW1tCiAgCSAqIElmIHdlJ3JlIGluIGFuIGludGVycnVwdCBvciBoYXZlIG5vIHVzZXIKICAJICogY29udGV4dCwgd2UgbXVzdCBub3QgdGFrZSB0aGUgZmF1bHQuLgpAQCAtOTksMTAgKzg5LDggQEAKICAJCWdvdG8gbm9fY29udGV4dDsKICAKICAJZG93bl9yZWFkKCZtbS0+bW1hcF9zZW0pOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL2lhNjQvbW0vZmF1bHQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvaWE2NC9tbS9mYXVsdC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvaWE2NC9tbS9mYXVsdC5jCistLS0gYS9hcmNoL2lhNjQvbW0vZmF1bHQuYworKysrIGIvYXJjaC9pYTY0L21tL2ZhdWx0LmMKIEBAIC05OCw3ICs5OCw3IEBAIGlhNjRfZG9fcGFnZV9mYXVsdCAodW5zaWduZWQgbG9uZyBhZGRyZXMKICAJLyoKICAJICogSWYgd2UncmUgaW4gYW4gaW50ZXJydXB0IG9yIGhhdmUgbm8gdXNlciBjb250ZXh0LCB3ZSBtdXN0IG5vdCB0YWtlIHRoZSBmYXVsdC4uCkBAIC0xMTIsMTAgKzEwMCw4IEBACiAgCQlnb3RvIG5vX2NvbnRleHQ7CiAgCiAgI2lmZGVmIENPTkZJR19WSVJUVUFMX01FTV9NQVAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9tMzJyL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL20zMnIvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL20zMnIvbW0vZmF1bHQuYworLS0tIGEvYXJjaC9tMzJyL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvbTMyci9tbS9mYXVsdC5jCiBAQCAtMTE0LDcgKzExNCw3IEBAIGFzbWxpbmthZ2Ugdm9pZCBkb19wYWdlX2ZhdWx0KHN0cnVjdCBwdF8KICAJICogSWYgd2UncmUgaW4gYW4gaW50ZXJydXB0IG9yIGhhdmUgbm8gdXNlciBjb250ZXh0IG9yIGFyZSBydW5uaW5nIGluIGFuCiAgCSAqIGF0b21pYyByZWdpb24gdGhlbiB3ZSBtdXN0IG5vdCB0YWtlIHRoZSBmYXVsdC4uCkBAIC0xMjUsMTAgKzExMSw4IEBACiAgCQlnb3RvIGJhZF9hcmVhX25vc2VtYXBob3JlOwogIAogIAkvKiBXaGVuIHJ1bm5pbmcgaW4gdGhlIGtlcm5lbCB3ZSBleHBlY3QgZmF1bHRzIHRvIG9jY3VyIG9ubHkgdG8KLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9tNjhrL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL202OGsvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL202OGsvbW0vZmF1bHQuYworLS0tIGEvYXJjaC9tNjhrL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvbTY4ay9tbS9mYXVsdC5jCiBAQCAtODUsNyArODUsNyBAQCBpbnQgZG9fcGFnZV9mYXVsdChzdHJ1Y3QgcHRfcmVncyAqcmVncywKICAJICogSWYgd2UncmUgaW4gYW4gaW50ZXJydXB0IG9yIGhhdmUgbm8gdXNlcgogIAkgKiBjb250ZXh0LCB3ZSBtdXN0IG5vdCB0YWtlIHRoZSBmYXVsdC4uCkBAIC0xMzgsMTAgKzEyMiw4IEBACiAgCQlnb3RvIG5vX2NvbnRleHQ7CiAgCiAgcmV0cnk6Ci1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvbWljcm9ibGF6ZS9tbS9mYXVsdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9taWNyb2JsYXplL21tL2ZhdWx0LmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9taWNyb2JsYXplL21tL2ZhdWx0LmMKKy0tLSBhL2FyY2gvbWljcm9ibGF6ZS9tbS9mYXVsdC5jCisrKysgYi9hcmNoL21pY3JvYmxhemUvbW0vZmF1bHQuYwogQEAgLTEwOCw3ICsxMDgsNyBAQCB2b2lkIGRvX3BhZ2VfZmF1bHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsCiAgCWlmICgoZXJyb3JfY29kZSAmIDB4MTMpID09IDB4MTMgfHwgKGVycm9yX2NvZGUgJiAweDExKSA9PSAweDExKQogIAkJaXNfd3JpdGUgPSAwOwpAQCAtMTUxLDEwICsxMzMsOCBAQAogIAkJaWYgKGtlcm5lbF9tb2RlKHJlZ3MpKQogIAkJCWdvdG8gYmFkX2FyZWFfbm9zZW1hcGhvcmU7CiAgCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvbWlwcy9tbS9mYXVsdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9taXBzL21tL2ZhdWx0LmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9taXBzL21tL2ZhdWx0LmMKKy0tLSBhL2FyY2gvbWlwcy9tbS9mYXVsdC5jCisrKysgYi9hcmNoL21pcHMvbW0vZmF1bHQuYwogQEAgLTg5LDcgKzg5LDcgQEAgYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcyBkb19wYWdlX2ZhdWx0KAogIAkgKiBJZiB3ZSdyZSBpbiBhbiBpbnRlcnJ1cHQgb3IgaGF2ZSBubyB1c2VyCiAgCSAqIGNvbnRleHQsIHdlIG11c3Qgbm90IHRha2UgdGhlIGZhdWx0Li4KQEAgLTE2NCwxMCArMTQ0LDggQEAKICAJCWdvdG8gYmFkX2FyZWFfbm9zZW1hcGhvcmU7CiAgCiAgcmV0cnk6Ci1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvbW4xMDMwMC9tbS9mYXVsdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9tbjEwMzAwL21tL2ZhdWx0LmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9tbjEwMzAwL21tL2ZhdWx0LmMKKy0tLSBhL2FyY2gvbW4xMDMwMC9tbS9mYXVsdC5jCisrKysgYi9hcmNoL21uMTAzMDAvbW0vZmF1bHQuYwogQEAgLTE2OCw3ICsxNjgsNyBAQCBhc21saW5rYWdlIHZvaWQgZG9fcGFnZV9mYXVsdChzdHJ1Y3QgcHRfCiAgCSAqIElmIHdlJ3JlIGluIGFuIGludGVycnVwdCBvciBoYXZlIG5vIHVzZXIKICAJICogY29udGV4dCwgd2UgbXVzdCBub3QgdGFrZSB0aGUgZmF1bHQuLgpAQCAtMTc3LDEwICsxNTUsOCBAQAogIAkJZ290byBub19jb250ZXh0OwogIAogIHJldHJ5OgotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3BhcmlzYy9tbS9mYXVsdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9wYXJpc2MvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3BhcmlzYy9tbS9mYXVsdC5jCistLS0gYS9hcmNoL3BhcmlzYy9tbS9mYXVsdC5jCisrKysgYi9hcmNoL3BhcmlzYy9tbS9mYXVsdC5jCiBAQCAtMTc3LDcgKzE3Nyw3IEBAIHZvaWQgZG9fcGFnZV9mYXVsdChzdHJ1Y3QgcHRfcmVncyAqcmVncywKICAJaW50IGZhdWx0OwogIAl1bnNpZ25lZCBpbnQgZmxhZ3MgPSBGQVVMVF9GTEFHX0FMTE9XX1JFVFJZIHwgRkFVTFRfRkxBR19LSUxMQUJMRTsKQEAgLTE5MCwxMCArMTY2LDggQEAKICAJCWdvdG8gbm9fY29udGV4dDsKICAKICByZXRyeToKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9zMzkwL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3MzOTAvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3MzOTAvbW0vZmF1bHQuYworLS0tIGEvYXJjaC9zMzkwL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvczM5MC9tbS9mYXVsdC5jCiBAQCAtMjk2LDggKzI5Niw4IEBAIHN0YXRpYyBpbmxpbmUgaW50IGRvX2V4Y2VwdGlvbihzdHJ1Y3QgcHQKICAJICogdXNlciBjb250ZXh0LgogIAkgKi8KQEAgLTIxNiwxMCArMTkwLDggQEAKICAJCWdvdG8gbm9fY29udGV4dDsKICAKICAJZG93bl9yZWFkKCZtbS0+bW1hcF9zZW0pOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3Njb3JlL21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3Njb3JlL21tL2ZhdWx0LmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9zY29yZS9tbS9mYXVsdC5jCistLS0gYS9hcmNoL3Njb3JlL21tL2ZhdWx0LmMKKysrKyBiL2FyY2gvc2NvcmUvbW0vZmF1bHQuYwogQEAgLTcyLDcgKzcyLDcgQEAgYXNtbGlua2FnZSB2b2lkIGRvX3BhZ2VfZmF1bHQoc3RydWN0IHB0XwogIAkqIElmIHdlJ3JlIGluIGFuIGludGVycnVwdCBvciBoYXZlIG5vIHVzZXIKICAJKiBjb250ZXh0LCB3ZSBtdXN0IG5vdCB0YWtlIHRoZSBmYXVsdC4uCkBAIC0yMjksMTAgKzIwMSw4IEBACiAgCQlnb3RvIGJhZF9hcmVhX25vc2VtYXBob3JlOwogIAogIAlkb3duX3JlYWQoJm1tLT5tbWFwX3NlbSk7Ci1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvc2gvbW0vZmF1bHQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvc2gvbW0vZmF1bHQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3NoL21tL2ZhdWx0LmMKKy0tLSBhL2FyY2gvc2gvbW0vZmF1bHQuYworKysrIGIvYXJjaC9zaC9tbS9mYXVsdC5jCiBAQCAtNDQwLDcgKzQ0MCw3IEBAIGFzbWxpbmthZ2Ugdm9pZCBfX2twcm9iZXMgZG9fcGFnZV9mYXVsdCgKICAJICogSWYgd2UncmUgaW4gYW4gaW50ZXJydXB0LCBoYXZlIG5vIHVzZXIgY29udGV4dCBvciBhcmUgcnVubmluZwogIAkgKiBpbiBhbiBhdG9taWMgcmVnaW9uIHRoZW4gd2UgbXVzdCBub3QgdGFrZSB0aGUgZmF1bHQ6CkBAIC0yNDIsMTAgKzIxMiw4IEBACiAgCQliYWRfYXJlYV9ub3NlbWFwaG9yZShyZWdzLCBlcnJvcl9jb2RlLCBhZGRyZXNzKTsKICAJCXJldHVybjsKICAJfQotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3NwYXJjL21tL2ZhdWx0XzMyLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3NwYXJjL21tL2ZhdWx0XzMyLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9zcGFyYy9tbS9mYXVsdF8zMi5jCistLS0gYS9hcmNoL3NwYXJjL21tL2ZhdWx0XzMyLmMKKysrKyBiL2FyY2gvc3BhcmMvbW0vZmF1bHRfMzIuYwogQEAgLTIwMCw3ICsyMDAsNyBAQCBhc21saW5rYWdlIHZvaWQgZG9fc3BhcmNfZmF1bHQoc3RydWN0IHB0CiAgCSAqIElmIHdlJ3JlIGluIGFuIGludGVycnVwdCBvciBoYXZlIG5vIHVzZXIKICAJICogY29udGV4dCwgd2UgbXVzdCBub3QgdGFrZSB0aGUgZmF1bHQuLgpAQCAtMjU1LDEwICsyMjMsOCBAQAogIAkJZ290byBub19jb250ZXh0OwogIAogIAlwZXJmX3N3X2V2ZW50KFBFUkZfQ09VTlRfU1dfUEFHRV9GQVVMVFMsIDEsIHJlZ3MsIGFkZHJlc3MpOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3NwYXJjL21tL2ZhdWx0XzY0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3NwYXJjL21tL2ZhdWx0XzY0LmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9zcGFyYy9tbS9mYXVsdF82NC5jCistLS0gYS9hcmNoL3NwYXJjL21tL2ZhdWx0XzY0LmMKKysrKyBiL2FyY2gvc3BhcmMvbW0vZmF1bHRfNjQuYwogQEAgLTMyMSw3ICszMjEsNyBAQCBhc21saW5rYWdlIHZvaWQgX19rcHJvYmVzIGRvX3NwYXJjNjRfZmF1CiAgCSAqIElmIHdlJ3JlIGluIGFuIGludGVycnVwdCBvciBoYXZlIG5vIHVzZXIKICAJICogY29udGV4dCwgd2UgbXVzdCBub3QgdGFrZSB0aGUgZmF1bHQuLgpAQCAtMjY4LDEwICsyMzQsOCBAQAogIAkJZ290byBpbnRyX29yX25vX21tOwogIAogIAlwZXJmX3N3X2V2ZW50KFBFUkZfQ09VTlRfU1dfUEFHRV9GQVVMVFMsIDEsIHJlZ3MsIGFkZHJlc3MpOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3RpbGUvbW0vZmF1bHQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvdGlsZS9tbS9mYXVsdC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvdGlsZS9tbS9mYXVsdC5jCistLS0gYS9hcmNoL3RpbGUvbW0vZmF1bHQuYworKysrIGIvYXJjaC90aWxlL21tL2ZhdWx0LmMKIEBAIC0zNjAsNyArMzYwLDcgQEAgc3RhdGljIGludCBoYW5kbGVfcGFnZV9mYXVsdChzdHJ1Y3QgcHRfcgogIAkgKiBJZiB3ZSdyZSBpbiBhbiBpbnRlcnJ1cHQsIGhhdmUgbm8gdXNlciBjb250ZXh0IG9yIGFyZSBydW5uaW5nIGluIGFuCiAgCSAqIGF0b21pYyByZWdpb24gdGhlbiB3ZSBtdXN0IG5vdCB0YWtlIHRoZSBmYXVsdC4KQEAgLTI4MSwxMCArMjQ1LDggQEAKICAJCXZtYSA9IE5VTEw7ICAvKiBoYXBweSBjb21waWxlciAqLwogIAkJZ290byBiYWRfYXJlYV9ub3NlbWFwaG9yZTsKICAJfQotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3VtL2tlcm5lbC90cmFwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3VtL2tlcm5lbC90cmFwLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC91bS9rZXJuZWwvdHJhcC5jCistLS0gYS9hcmNoL3VtL2tlcm5lbC90cmFwLmMKKysrKyBiL2FyY2gvdW0va2VybmVsL3RyYXAuYwogQEAgLTM5LDcgKzM5LDcgQEAgaW50IGhhbmRsZV9wYWdlX2ZhdWx0KHVuc2lnbmVkIGxvbmcgYWRkcgogIAkgKiBJZiB0aGUgZmF1bHQgd2FzIGR1cmluZyBhdG9taWMgb3BlcmF0aW9uLCBkb24ndCB0YWtlIHRoZSBmYXVsdCwganVzdAogIAkgKiBmYWlsLgpAQCAtMjk0LDEwICsyNTYsOCBAQAogIAkJZ290byBvdXRfbm9zZW1hcGhvcmU7CiAgCiAgcmV0cnk6Ci1JbmRleDogbGludXgtc3RhYmxlL2FyY2gveDg2L21tL2ZhdWx0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3g4Ni9tbS9mYXVsdC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gveDg2L21tL2ZhdWx0LmMKKy0tLSBhL2FyY2gveDg2L21tL2ZhdWx0LmMKKysrKyBiL2FyY2gveDg2L21tL2ZhdWx0LmMKIEBAIC0xMTA0LDcgKzExMDQsNyBAQCBfX2RvX3BhZ2VfZmF1bHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuCiAgCSAqIElmIHdlJ3JlIGluIGFuIGludGVycnVwdCwgaGF2ZSBubyB1c2VyIGNvbnRleHQgb3IgYXJlIHJ1bm5pbmcKICAJICogaW4gYW4gYXRvbWljIHJlZ2lvbiB0aGVuIHdlIG11c3Qgbm90IHRha2UgdGhlIGZhdWx0OgpAQCAtMzA3LDEwICsyNjcsOCBAQAogIAkJYmFkX2FyZWFfbm9zZW1hcGhvcmUocmVncywgZXJyb3JfY29kZSwgYWRkcmVzcyk7CiAgCQlyZXR1cm47CiAgCX0KLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC94dGVuc2EvbW0vZmF1bHQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveHRlbnNhL21tL2ZhdWx0LmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC94dGVuc2EvbW0vZmF1bHQuYworLS0tIGEvYXJjaC94dGVuc2EvbW0vZmF1bHQuYworKysrIGIvYXJjaC94dGVuc2EvbW0vZmF1bHQuYwogQEAgLTU3LDcgKzU3LDcgQEAgdm9pZCBkb19wYWdlX2ZhdWx0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQogIAkvKiBJZiB3ZSdyZSBpbiBhbiBpbnRlcnJ1cHQgb3IgaGF2ZSBubyB1c2VyCiAgCSAqIGNvbnRleHQsIHdlIG11c3Qgbm90IHRha2UgdGhlIGZhdWx0Li4KQEAgLTMyMCwxMCArMjc4LDggQEAKICAJCWJhZF9wYWdlX2ZhdWx0KHJlZ3MsIGFkZHJlc3MsIFNJR1NFR1YpOwogIAkJcmV0dXJuOwogIAl9Ci1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvc2NoZWQuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvc2NoZWQuaAorKysrIGIvaW5jbHVkZS9saW51eC9zY2hlZC5oCiBAQCAtNTIsNiArNTIsNyBAQCBzdHJ1Y3Qgc2NoZWRfcGFyYW0gewogICNpbmNsdWRlIDxsaW51eC9sbGlzdC5oPgogICNpbmNsdWRlIDxsaW51eC91aWRnaWQuaD4KQEAgLTM0Miw3ICsyOTgsNyBAQAogICNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKICAJdW5zaWduZWQgaW50IGlycV9ldmVudHM7CiAgCXVuc2lnbmVkIGxvbmcgaGFyZGlycV9lbmFibGVfaXA7Ci1AQCAtMTQ0MCw2ICsxNDQzLDE3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfbnVtYWJhbGFuY2luZ19zdGEKK0BAIC0xNDQzLDYgKzE0NDYsMTcgQEAgc3RhdGljIGlubGluZSB2b2lkIHNldF9udW1hYmFsYW5jaW5nX3N0YQogIH0KICAjZW5kaWYKICAKQEAgLTM2MCwxMCArMzE2LDggQEAKICBzdGF0aWMgaW5saW5lIHN0cnVjdCBwaWQgKnRhc2tfcGlkKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaykKICB7CiAgCXJldHVybiB0YXNrLT5waWRzW1BJRFRZUEVfUElEXS5waWQ7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9mb3JrLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvZm9yay5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9mb3JrLmMKKy0tLSBhL2tlcm5lbC9mb3JrLmMKKysrKyBiL2tlcm5lbC9mb3JrLmMKIEBAIC0xMjkzLDcgKzEyOTMsOSBAQCBzdGF0aWMgc3RydWN0IHRhc2tfc3RydWN0ICpjb3B5X3Byb2Nlc3MoCiAgCXAtPmhhcmRpcnFfY29udGV4dCA9IDA7CiAgCXAtPnNvZnRpcnFfY29udGV4dCA9IDA7CmRpZmYgLS1naXQgYS9wYXRjaGVzL3BldGVyX3ppamxzdHJhLWZyb2ItcmN1LnBhdGNoIGIvcGF0Y2hlcy9wZXRlcl96aWpsc3RyYS1mcm9iLXJjdS5wYXRjaAppbmRleCA2MzFmZTU0Li5iMDAxNTZiIDEwMDY0NAotLS0gYS9wYXRjaGVzL3BldGVyX3ppamxzdHJhLWZyb2ItcmN1LnBhdGNoCisrKyBiL3BhdGNoZXMvcGV0ZXJfemlqbHN0cmEtZnJvYi1yY3UucGF0Y2gKQEAgLTE1MywxMCArMTUzLDggQEAKICBrZXJuZWwvcmN1dHJlZV9wbHVnaW4uaCB8ICAgIDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvcmN1dHJlZV9wbHVnaW4uaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9yY3V0cmVlX3BsdWdpbi5oCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9yY3V0cmVlX3BsdWdpbi5oCistLS0gYS9rZXJuZWwvcmN1dHJlZV9wbHVnaW4uaAorKysrIGIva2VybmVsL3JjdXRyZWVfcGx1Z2luLmgKIEBAIC0zNjIsNyArMzYyLDcgQEAgdm9pZCByY3VfcmVhZF91bmxvY2tfc3BlY2lhbChzdHJ1Y3QgdGFzawogIAl9CiAgCmRpZmYgLS1naXQgYS9wYXRjaGVzL3BldGVyei1yYXdfcGFnZWZhdWx0X2Rpc2FibGUucGF0Y2ggYi9wYXRjaGVzL3BldGVyei1yYXdfcGFnZWZhdWx0X2Rpc2FibGUucGF0Y2gKaW5kZXggNWM5M2Y0Yy4uMGJkYTJkYSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9wZXRlcnotcmF3X3BhZ2VmYXVsdF9kaXNhYmxlLnBhdGNoCisrKyBiL3BhdGNoZXMvcGV0ZXJ6LXJhd19wYWdlZmF1bHRfZGlzYWJsZS5wYXRjaApAQCAtNzgsMTAgKzc4LDggQEAKICBtbS9tZW1vcnkuYyAgICAgICAgICAgICB8ICAgIDIgKysKICAyIGZpbGVzIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC91YWNjZXNzLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3VhY2Nlc3MuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3VhY2Nlc3MuaAorLS0tIGEvaW5jbHVkZS9saW51eC91YWNjZXNzLmgKKysrKyBiL2luY2x1ZGUvbGludXgvdWFjY2Vzcy5oCiBAQCAtOCw4ICs4LDM0IEBACiAgICogVGhlc2Ugcm91dGluZXMgZW5hYmxlL2Rpc2FibGUgdGhlIHBhZ2VmYXVsdCBoYW5kbGVyIGluIHRoYXQKICAgKiBpdCB3aWxsIG5vdCB0YWtlIGFueSBNTSBsb2NrcyBhbmQgZ28gc3RyYWlnaHQgdG8gdGhlIGZpeHVwIHRhYmxlLgpAQCAtMTI5LDExICsxMjcsOSBAQAogIAkJc2V0X2ZzKG9sZF9mcyk7CQkJCVwKICAJCXJldDsJCQkJCVwKICAJfSkKLUluZGV4OiBsaW51eC1zdGFibGUvbW0vbWVtb3J5LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9tbS9tZW1vcnkuYwotKysrIGxpbnV4LXN0YWJsZS9tbS9tZW1vcnkuYwotQEAgLTM3NDgsNiArMzc0OCw3IEBAIHVubG9jazoKKy0tLSBhL21tL21lbW9yeS5jCisrKysgYi9tbS9tZW1vcnkuYworQEAgLTM3NTEsNiArMzc1MSw3IEBAIHVubG9jazoKICAJcmV0dXJuIDA7CiAgfQogIApAQCAtMTQxLDcgKzEzNyw3IEBACiAgdm9pZCBwYWdlZmF1bHRfZGlzYWJsZSh2b2lkKQogIHsKICAJaW5jX3ByZWVtcHRfY291bnQoKTsKLUBAIC0zNzc2LDYgKzM3NzcsNyBAQCB2b2lkIHBhZ2VmYXVsdF9lbmFibGUodm9pZCkKK0BAIC0zNzc5LDYgKzM3ODAsNyBAQCB2b2lkIHBhZ2VmYXVsdF9lbmFibGUodm9pZCkKICAJcHJlZW1wdF9jaGVja19yZXNjaGVkKCk7CiAgfQogIEVYUE9SVF9TWU1CT0wocGFnZWZhdWx0X2VuYWJsZSk7CmRpZmYgLS1naXQgYS9wYXRjaGVzL3BldGVyei1zcmN1LWNyeXB0by1jaGFpbi5wYXRjaCBiL3BhdGNoZXMvcGV0ZXJ6LXNyY3UtY3J5cHRvLWNoYWluLnBhdGNoCmluZGV4IGIwMzY0MmUuLmYzODYxMDQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcGV0ZXJ6LXNyY3UtY3J5cHRvLWNoYWluLnBhdGNoCisrKyBiL3BhdGNoZXMvcGV0ZXJ6LXNyY3UtY3J5cHRvLWNoYWluLnBhdGNoCkBAIC0xMTgsMTAgKzExOCw4IEBACiAgY3J5cHRvL2ludGVybmFsLmggfCAgICA0ICsrLS0KICAzIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9jcnlwdG8vYWxnYXBpLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9jcnlwdG8vYWxnYXBpLmMKLSsrKyBsaW51eC1zdGFibGUvY3J5cHRvL2FsZ2FwaS5jCistLS0gYS9jcnlwdG8vYWxnYXBpLmMKKysrKyBiL2NyeXB0by9hbGdhcGkuYwogQEAgLTY4NCwxMyArNjg0LDEzIEBAIEVYUE9SVF9TWU1CT0xfR1BMKGNyeXB0b19zcGF3bl90Zm0yKTsKICAKICBpbnQgY3J5cHRvX3JlZ2lzdGVyX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIpCkBAIC0xMzgsMTAgKzEzNiw4IEBACiAgfQogIEVYUE9SVF9TWU1CT0xfR1BMKGNyeXB0b191bnJlZ2lzdGVyX25vdGlmaWVyKTsKICAKLUluZGV4OiBsaW51eC1zdGFibGUvY3J5cHRvL2FwaS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvY3J5cHRvL2FwaS5jCi0rKysgbGludXgtc3RhYmxlL2NyeXB0by9hcGkuYworLS0tIGEvY3J5cHRvL2FwaS5jCisrKysgYi9jcnlwdG8vYXBpLmMKIEBAIC0zMSw3ICszMSw3IEBAIEVYUE9SVF9TWU1CT0xfR1BMKGNyeXB0b19hbGdfbGlzdCk7CiAgREVDTEFSRV9SV1NFTShjcnlwdG9fYWxnX3NlbSk7CiAgRVhQT1JUX1NZTUJPTF9HUEwoY3J5cHRvX2FsZ19zZW0pOwpAQCAtMTY0LDEwICsxNjAsOCBAQAogIAl9CiAgCiAgCXJldHVybiBvazsKLUluZGV4OiBsaW51eC1zdGFibGUvY3J5cHRvL2ludGVybmFsLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9jcnlwdG8vaW50ZXJuYWwuaAotKysrIGxpbnV4LXN0YWJsZS9jcnlwdG8vaW50ZXJuYWwuaAorLS0tIGEvY3J5cHRvL2ludGVybmFsLmgKKysrKyBiL2NyeXB0by9pbnRlcm5hbC5oCiBAQCAtNDgsNyArNDgsNyBAQCBzdHJ1Y3QgY3J5cHRvX2xhcnZhbCB7CiAgCiAgZXh0ZXJuIHN0cnVjdCBsaXN0X2hlYWQgY3J5cHRvX2FsZ19saXN0OwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9waWQtaC1pbmNsdWRlLWF0b21pYy1oLnBhdGNoIGIvcGF0Y2hlcy9waWQtaC1pbmNsdWRlLWF0b21pYy1oLnBhdGNoCmluZGV4IDZiZTk4OTIuLjYxZGNiYWUgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcGlkLWgtaW5jbHVkZS1hdG9taWMtaC5wYXRjaAorKysgYi9wYXRjaGVzL3BpZC1oLWluY2x1ZGUtYXRvbWljLWgucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGluY2x1ZGUvbGludXgvcGlkLmggfCAgICAxICsKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3BpZC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9waWQuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3BpZC5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3BpZC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3BpZC5oCiBAQCAtMiw2ICsyLDcgQEAKICAjZGVmaW5lIF9MSU5VWF9QSURfSAogIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9waW5nLXN5c3JxLnBhdGNoIGIvcGF0Y2hlcy9waW5nLXN5c3JxLnBhdGNoCmluZGV4IDNiOTY4MTAuLjkwOGFmNzUgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcGluZy1zeXNycS5wYXRjaAorKysgYi9wYXRjaGVzL3Bpbmctc3lzcnEucGF0Y2gKQEAgLTE4LDEwICsxOCw4IEBACiAgbmV0L2lwdjQvc3lzY3RsX25ldF9pcHY0LmMgfCAgICA3ICsrKysrKysKICA0IGZpbGVzIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvRG9jdW1lbnRhdGlvbi9zeXNycS50eHQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9Eb2N1bWVudGF0aW9uL3N5c3JxLnR4dAotKysrIGxpbnV4LXN0YWJsZS9Eb2N1bWVudGF0aW9uL3N5c3JxLnR4dAorLS0tIGEvRG9jdW1lbnRhdGlvbi9zeXNycS50eHQKKysrKyBiL0RvY3VtZW50YXRpb24vc3lzcnEudHh0CiBAQCAtNTcsMTAgKzU3LDE3IEBAIE9uIFBvd2VyUEMgLSBQcmVzcyAnQUxUIC0gUHJpbnQgU2NyZWVuICgKICBPbiBvdGhlciAtIElmIHlvdSBrbm93IG9mIHRoZSBrZXkgY29tYm9zIGZvciBvdGhlciBhcmNoaXRlY3R1cmVzLCBwbGVhc2UKICAgICAgICAgICAgIGxldCBtZSBrbm93IHNvIEkgY2FuIGFkZCB0aGVtIHRvIHRoaXMgc2VjdGlvbi4KQEAgLTQyLDEwICs0MCw4IEBACiAgKiAgV2hhdCBhcmUgdGhlICdjb21tYW5kJyBrZXlzPwogIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAnYicgICAgIC0gV2lsbCBpbW1lZGlhdGVseSByZWJvb3QgdGhlIHN5c3RlbSB3aXRob3V0IHN5bmNpbmcgb3IgdW5tb3VudGluZwotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL25ldC9uZXRucy9pcHY0LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL25ldC9uZXRucy9pcHY0LmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9uZXQvbmV0bnMvaXB2NC5oCistLS0gYS9pbmNsdWRlL25ldC9uZXRucy9pcHY0LmgKKysrKyBiL2luY2x1ZGUvbmV0L25ldG5zL2lwdjQuaAogQEAgLTU3LDYgKzU3LDcgQEAgc3RydWN0IG5ldG5zX2lwdjQgewogIAogIAlpbnQgc3lzY3RsX2ljbXBfZWNob19pZ25vcmVfYWxsOwpAQCAtNTQsMTAgKzUwLDggQEAKICAJaW50IHN5c2N0bF9pY21wX2lnbm9yZV9ib2d1c19lcnJvcl9yZXNwb25zZXM7CiAgCWludCBzeXNjdGxfaWNtcF9yYXRlbGltaXQ7CiAgCWludCBzeXNjdGxfaWNtcF9yYXRlbWFzazsKLUluZGV4OiBsaW51eC1zdGFibGUvbmV0L2lwdjQvaWNtcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbmV0L2lwdjQvaWNtcC5jCi0rKysgbGludXgtc3RhYmxlL25ldC9pcHY0L2ljbXAuYworLS0tIGEvbmV0L2lwdjQvaWNtcC5jCisrKysgYi9uZXQvaXB2NC9pY21wLmMKIEBAIC02OSw2ICs2OSw3IEBACiAgI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KICAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CkBAIC0xMDksMTEgKzEwMyw5IEBACiAgCX0KICB9CiAgCi1JbmRleDogbGludXgtc3RhYmxlL25ldC9pcHY0L3N5c2N0bF9uZXRfaXB2NC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbmV0L2lwdjQvc3lzY3RsX25ldF9pcHY0LmMKLSsrKyBsaW51eC1zdGFibGUvbmV0L2lwdjQvc3lzY3RsX25ldF9pcHY0LmMKLUBAIC03OTAsNiArNzkwLDEzIEBAIHN0YXRpYyBzdHJ1Y3QgY3RsX3RhYmxlIGlwdjRfbmV0X3RhYmxlW10KKy0tLSBhL25ldC9pcHY0L3N5c2N0bF9uZXRfaXB2NC5jCisrKysgYi9uZXQvaXB2NC9zeXNjdGxfbmV0X2lwdjQuYworQEAgLTc5NCw2ICs3OTQsMTMgQEAgc3RhdGljIHN0cnVjdCBjdGxfdGFibGUgaXB2NF9uZXRfdGFibGVbXQogIAkJLnByb2NfaGFuZGxlcgk9IHByb2NfZG9pbnR2ZWMKICAJfSwKICAJewpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb3NpeC10aW1lcnMtYXZvaWQtd2FrZXVwcy13aGVuLW5vLXRpbWVycy1hcmUtYWN0aXZlLnBhdGNoIGIvcGF0Y2hlcy9wb3NpeC10aW1lcnMtYXZvaWQtd2FrZXVwcy13aGVuLW5vLXRpbWVycy1hcmUtYWN0aXZlLnBhdGNoCmluZGV4IDlmZTdlY2EuLjhjYjdlNmMgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcG9zaXgtdGltZXJzLWF2b2lkLXdha2V1cHMtd2hlbi1uby10aW1lcnMtYXJlLWFjdGl2ZS5wYXRjaAorKysgYi9wYXRjaGVzL3Bvc2l4LXRpbWVycy1hdm9pZC13YWtldXBzLXdoZW4tbm8tdGltZXJzLWFyZS1hY3RpdmUucGF0Y2gKQEAgLTEwLDEwICsxMCw4IEBACiAga2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYyB8ICAgMjEgKysrKysrKysrKysrKysrKysrLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9wb3NpeC1jcHUtdGltZXJzLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYworLS0tIGEva2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYworKysrIGIva2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYwogQEAgLTE0NDYsNiArMTQ0NiwyMSBAQCB3YWl0X3RvX2RpZToKICAJcmV0dXJuIDA7CiAgfQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb3NpeC10aW1lcnMtbm8tYnJvYWRjYXN0LnBhdGNoIGIvcGF0Y2hlcy9wb3NpeC10aW1lcnMtbm8tYnJvYWRjYXN0LnBhdGNoCmluZGV4IGRmN2MwODguLjAxYjcwZGIgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcG9zaXgtdGltZXJzLW5vLWJyb2FkY2FzdC5wYXRjaAorKysgYi9wYXRjaGVzL3Bvc2l4LXRpbWVycy1uby1icm9hZGNhc3QucGF0Y2gKQEAgLTExLDEwICsxMSw4IEBACiAga2VybmVsL3Bvc2l4LXRpbWVycy5jIHwgICAgNCArKystCiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9wb3NpeC10aW1lcnMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9wb3NpeC10aW1lcnMuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvcG9zaXgtdGltZXJzLmMKKy0tLSBhL2tlcm5lbC9wb3NpeC10aW1lcnMuYworKysrIGIva2VybmVsL3Bvc2l4LXRpbWVycy5jCiBAQCAtNDk3LDYgKzQ5Nyw3IEBAIHN0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCBwb3NpeF90aW1lcl8KICBzdGF0aWMgc3RydWN0IHBpZCAqZ29vZF9zaWdldmVudChzaWdldmVudF90ICogZXZlbnQpCiAgewpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb3NpeC10aW1lcnMtc2hvcnRlbi1jcHUtdGltZXJzLXRocmVhZC5wYXRjaCBiL3BhdGNoZXMvcG9zaXgtdGltZXJzLXNob3J0ZW4tY3B1LXRpbWVycy10aHJlYWQucGF0Y2gKaW5kZXggYmEyZDA3Yi4uNTI0MTY5MSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9wb3NpeC10aW1lcnMtc2hvcnRlbi1jcHUtdGltZXJzLXRocmVhZC5wYXRjaAorKysgYi9wYXRjaGVzL3Bvc2l4LXRpbWVycy1zaG9ydGVuLWNwdS10aW1lcnMtdGhyZWFkLnBhdGNoCkBAIC0xMywxMCArMTMsOCBAQAogIGtlcm5lbC9wb3NpeC1jcHUtdGltZXJzLmMgfCAgICAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9wb3NpeC1jcHUtdGltZXJzLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYworLS0tIGEva2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYworKysrIGIva2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYwogQEAgLTE0ODksNyArMTQ4OSw3IEBAIHN0YXRpYyBpbnQgcG9zaXhfY3B1X3RocmVhZF9jYWxsKHN0cnVjdAogIAlzd2l0Y2ggKGFjdGlvbikgewogIAljYXNlIENQVV9VUF9QUkVQQVJFOgpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb3NpeC10aW1lcnMtdGhyZWFkLXBvc2l4LWNwdS10aW1lcnMtb24tcnQucGF0Y2ggYi9wYXRjaGVzL3Bvc2l4LXRpbWVycy10aHJlYWQtcG9zaXgtY3B1LXRpbWVycy1vbi1ydC5wYXRjaAppbmRleCBmOTlhZTBmLi5lNmRjNTZhIDEwMDY0NAotLS0gYS9wYXRjaGVzL3Bvc2l4LXRpbWVycy10aHJlYWQtcG9zaXgtY3B1LXRpbWVycy1vbi1ydC5wYXRjaAorKysgYi9wYXRjaGVzL3Bvc2l4LXRpbWVycy10aHJlYWQtcG9zaXgtY3B1LXRpbWVycy1vbi1ydC5wYXRjaApAQCAtMTgsMTAgKzE4LDggQEAKICBrZXJuZWwvcG9zaXgtY3B1LXRpbWVycy5jIHwgIDE4MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAgNSBmaWxlcyBjaGFuZ2VkLCAxOTIgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2luaXRfdGFzay5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9pbml0X3Rhc2suaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2luaXRfdGFzay5oCistLS0gYS9pbmNsdWRlL2xpbnV4L2luaXRfdGFzay5oCisrKysgYi9pbmNsdWRlL2xpbnV4L2luaXRfdGFzay5oCiBAQCAtMTQzLDYgKzE0MywxMiBAQCBleHRlcm4gc3RydWN0IHRhc2tfZ3JvdXAgcm9vdF90YXNrX2dyb3VwCiAgIyBkZWZpbmUgSU5JVF9QRVJGX0VWRU5UUyh0c2spCiAgI2VuZGlmCkBAIC00MywxMCArNDEsOCBAQAogIAkucGlkcyA9IHsJCQkJCQkJXAogIAkJW1BJRFRZUEVfUElEXSAgPSBJTklUX1BJRF9MSU5LKFBJRFRZUEVfUElEKSwJCVwKICAJCVtQSURUWVBFX1BHSURdID0gSU5JVF9QSURfTElOSyhQSURUWVBFX1BHSUQpLAkJXAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zY2hlZC5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKKysrKyBiL2luY2x1ZGUvbGludXgvc2NoZWQuaAogQEAgLTExODUsNiArMTE4NSw5IEBAIHN0cnVjdCB0YXNrX3N0cnVjdCB7CiAgCiAgCXN0cnVjdCB0YXNrX2NwdXRpbWUgY3B1dGltZV9leHBpcmVzOwpAQCAtNTcsMTAgKzUzLDggQEAKICAKICAvKiBwcm9jZXNzIGNyZWRlbnRpYWxzICovCiAgCWNvbnN0IHN0cnVjdCBjcmVkIF9fcmN1ICpyZWFsX2NyZWQ7IC8qIG9iamVjdGl2ZSBhbmQgcmVhbCBzdWJqZWN0aXZlIHRhc2sKLUluZGV4OiBsaW51eC1zdGFibGUvaW5pdC9tYWluLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbml0L21haW4uYwotKysrIGxpbnV4LXN0YWJsZS9pbml0L21haW4uYworLS0tIGEvaW5pdC9tYWluLmMKKysrKyBiL2luaXQvbWFpbi5jCiBAQCAtNiw3ICs2LDcgQEAKICAgKiAgR0sgMi81Lzk1ICAtICBDaGFuZ2VkIHRvIHN1cHBvcnQgbW91bnRpbmcgcm9vdCBmcyB2aWEgTkZTCiAgICogIEFkZGVkIGluaXRyZCAmIGNoYW5nZV9yb290OiBXZXJuZXIgQWxtZXNiZXJnZXIgJiBIYW5zIExlcm1lbiwgRmViICc5NgpAQCAtNzgsMTAgKzcyLDggQEAKICAKICAjaW5jbHVkZSA8YXNtL2lvLmg+CiAgI2luY2x1ZGUgPGFzbS9idWdzLmg+Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9mb3JrLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvZm9yay5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9mb3JrLmMKKy0tLSBhL2tlcm5lbC9mb3JrLmMKKysrKyBiL2tlcm5lbC9mb3JrLmMKIEBAIC0xMTEzLDYgKzExMTMsOSBAQCB2b2lkIG1tX2luaXRfb3duZXIoc3RydWN0IG1tX3N0cnVjdCAqbW0sCiAgICovCiAgc3RhdGljIHZvaWQgcG9zaXhfY3B1X3RpbWVyc19pbml0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKQpAQCAtOTIsMTAgKzg0LDggQEAKICAJdHNrLT5jcHV0aW1lX2V4cGlyZXMucHJvZl9leHAgPSAwOwogIAl0c2stPmNwdXRpbWVfZXhwaXJlcy52aXJ0X2V4cCA9IDA7CiAgCXRzay0+Y3B1dGltZV9leHBpcmVzLnNjaGVkX2V4cCA9IDA7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9wb3NpeC1jcHUtdGltZXJzLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvcG9zaXgtY3B1LXRpbWVycy5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9wb3NpeC1jcHUtdGltZXJzLmMKKy0tLSBhL2tlcm5lbC9wb3NpeC1jcHUtdGltZXJzLmMKKysrKyBiL2tlcm5lbC9wb3NpeC1jcHUtdGltZXJzLmMKIEBAIC0zLDYgKzMsNyBAQAogICAqLwogIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb3dlci1kaXNhYmxlLWhpZ2htZW0tb24tcnQucGF0Y2ggYi9wYXRjaGVzL3Bvd2VyLWRpc2FibGUtaGlnaG1lbS1vbi1ydC5wYXRjaAppbmRleCAwNzBhOGY3Li44ZTc3ODJjIDEwMDY0NAotLS0gYS9wYXRjaGVzL3Bvd2VyLWRpc2FibGUtaGlnaG1lbS1vbi1ydC5wYXRjaAorKysgYi9wYXRjaGVzL3Bvd2VyLWRpc2FibGUtaGlnaG1lbS1vbi1ydC5wYXRjaApAQCAtNywxMCArNyw4IEBACiAgYXJjaC9wb3dlcnBjL0tjb25maWcgfCAgICAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9wb3dlcnBjL0tjb25maWcKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3Bvd2VycGMvS2NvbmZpZwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3Bvd2VycGMvS2NvbmZpZworLS0tIGEvYXJjaC9wb3dlcnBjL0tjb25maWcKKysrKyBiL2FyY2gvcG93ZXJwYy9LY29uZmlnCiBAQCAtMjg2LDcgKzI4Niw3IEBAIG1lbnUgIktlcm5lbCBvcHRpb25zIgogIAogIGNvbmZpZyBISUdITUVNCmRpZmYgLS1naXQgYS9wYXRjaGVzL3Bvd2VyLXVzZS1nZW5lcmljLXJ3c2VtLW9uLXJ0LnBhdGNoIGIvcGF0Y2hlcy9wb3dlci11c2UtZ2VuZXJpYy1yd3NlbS1vbi1ydC5wYXRjaAppbmRleCBjNjg4NjBkLi5iYjYwZTU4IDEwMDY0NAotLS0gYS9wYXRjaGVzL3Bvd2VyLXVzZS1nZW5lcmljLXJ3c2VtLW9uLXJ0LnBhdGNoCisrKyBiL3BhdGNoZXMvcG93ZXItdXNlLWdlbmVyaWMtcndzZW0tb24tcnQucGF0Y2gKQEAgLTYsMTAgKzYsOCBAQAogIGFyY2gvcG93ZXJwYy9LY29uZmlnIHwgICAgMyArKy0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9wb3dlcnBjL0tjb25maWcKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3Bvd2VycGMvS2NvbmZpZwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3Bvd2VycGMvS2NvbmZpZworLS0tIGEvYXJjaC9wb3dlcnBjL0tjb25maWcKKysrKyBiL2FyY2gvcG93ZXJwYy9LY29uZmlnCiBAQCAtNjAsMTAgKzYwLDExIEBAIGNvbmZpZyBMT0NLREVQX1NVUFBPUlQKICAKICBjb25maWcgUldTRU1fR0VORVJJQ19TUElOTE9DSwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb3dlcnBjLTUyeHgtcHJvdmlkZS1hLWRlZmF1bHQtaW4tbXBjNTJ4eF9pcnFob3N0X21hLnBhdGNoIGIvcGF0Y2hlcy9wb3dlcnBjLTUyeHgtcHJvdmlkZS1hLWRlZmF1bHQtaW4tbXBjNTJ4eF9pcnFob3N0X21hLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzMjQ5NGMKLS0tIC9kZXYvbnVsbAorKysgYi9wYXRjaGVzL3Bvd2VycGMtNTJ4eC1wcm92aWRlLWEtZGVmYXVsdC1pbi1tcGM1Mnh4X2lycWhvc3RfbWEucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorRnJvbSAyZTAyOThhMTc4NmQ4OGFkMGNlY2FiMTY3NjY2ZDJlMjIwZWQwNDk5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8YmlnZWFzeUBsaW51dHJvbml4LmRlPgorRGF0ZTogTW9uLCAxMiBBdWcgMjAxMyAxNjoxMTo1MSArMDIwMAorU3ViamVjdDogW1BBVENIXSBwb3dlcnBjOiA1Mnh4OiBwcm92aWRlIGEgZGVmYXVsdCBpbiBtcGM1Mnh4X2lycWhvc3RfbWFwKCkKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworTXkgZ2NjLTQuMy41IGZhaWxzIHRvIGNvbXBpbGUgZHVlIHRvOgorCit8Y2MxOiB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycworfGFyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNTJ4eC9tcGM1Mnh4X3BpYy5jOiBJbiBmdW5jdGlvbiDigJhtcGM1Mnh4X2lycWhvc3RfbWFw4oCZOgorfGFyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNTJ4eC9tcGM1Mnh4X3BpYy5jOjM0MzogZXJyb3I6IOKAmGlycWNoaXDigJkgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCisKK3NpbmNlIGNvbW1pdCBlMzQyOThjICgicG93ZXJwYzogNTJ4eDogbm9wIG91dCB1bnN1cHBvcnRlZCBjcml0aWNhbAorSVJRcyIpLiBUaGlzIHdhcm5pbmcgaXMgY29tcGxldGUgY3JhcCBzaW5jZSBvbmx5IHZhbHVlcyAw4oCmMyBhcmUgcG9zc2libGUKK3doaWNoIGFyZSBjaGVja2VkIGJ1dCBnY2MgZmFpbHMgdG8gdW5kZXJzdGFuZCB0aGF0LiBJIHdvdWxkbid0IGNhcmUgbXVjaAorYnV0IHNpbmNlIHRoaXMgaXMgY29tcGlsZWQgd2l0aCAtV2Vycm9yIEkgbWFkZSB0aGlzIHBhdGNoLgorV2hpbGUgYWRkIGl0LCBJIHJlcGxhY2VkIHRoZSB3YXJuaW5nIGZyb20gbDJpcnEgdG8gbDFpcnEgc2luY2UgdGhpcyBpcwordGhlIG51bWJlciB0aGF0IGlzIGV2YWx1YXRlZC4KKworU2lnbmVkLW9mZi1ieTogU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8YmlnZWFzeUBsaW51dHJvbml4LmRlPgorLS0tCisgYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy81Mnh4L21wYzUyeHhfcGljLmMgfCAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNTJ4eC9tcGM1Mnh4X3BpYy5jIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy81Mnh4L21wYzUyeHhfcGljLmMKK2luZGV4IGI4OWVmNjUuLmI2OTIyMWIgMTAwNjQ0CistLS0gYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zLzUyeHgvbXBjNTJ4eF9waWMuYworKysrIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy81Mnh4L21wYzUyeHhfcGljLmMKK0BAIC0zNzMsOCArMzczLDkgQEAgc3RhdGljIGludCBtcGM1Mnh4X2lycWhvc3RfbWFwKHN0cnVjdCBpcnFfZG9tYWluICpoLCB1bnNpZ25lZCBpbnQgdmlycSwKKyAJY2FzZSBNUEM1Mnh4X0lSUV9MMV9QRVJQOiBpcnFjaGlwID0gJm1wYzUyeHhfcGVyaXBoX2lycWNoaXA7IGJyZWFrOworIAljYXNlIE1QQzUyeHhfSVJRX0wxX1NETUE6IGlycWNoaXAgPSAmbXBjNTJ4eF9zZG1hX2lycWNoaXA7IGJyZWFrOworIAljYXNlIE1QQzUyeHhfSVJRX0wxX0NSSVQ6CisrCWRlZmF1bHQ6CisgCQlwcl93YXJuKCIlczogQ3JpdGljYWwgSVJRICMlZCBpcyB1bnN1cHBvcnRlZCEgTm9wcGluZyBpdC5cbiIsCistCQkJX19mdW5jX18sIGwyaXJxKTsKKysJCQlfX2Z1bmNfXywgbDFpcnEpOworIAkJaXJxX3NldF9jaGlwKHZpcnEsICZub19pcnFfY2hpcCk7CisgCQlyZXR1cm4gMDsKKyAJfQorLS0gCisxLjguNC5yYzEKKwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb3dlcnBjLXByZWVtcHQtbGF6eS1zdXBwb3J0LnBhdGNoIGIvcGF0Y2hlcy9wb3dlcnBjLXByZWVtcHQtbGF6eS1zdXBwb3J0LnBhdGNoCmluZGV4IDdjMTZiZjYuLjMyZjlhOGQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcG93ZXJwYy1wcmVlbXB0LWxhenktc3VwcG9ydC5wYXRjaAorKysgYi9wYXRjaGVzL3Bvd2VycGMtcHJlZW1wdC1sYXp5LXN1cHBvcnQucGF0Y2gKQEAgLTEsMjAgKzEsMTggQEAKLVN1YmplY3Q6IHBvd2VycGMtcHJlZW1wdC1sYXp5LXN1cHBvcnQucGF0Y2gKIEZyb206IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPgotRGF0ZTogVGh1LCAwMSBOb3YgMjAxMiAxMDoxNDoxMSArMDEwMAorRGF0ZTogVGh1LCAxIE5vdiAyMDEyIDEwOjE0OjExICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHBvd2VycGMtcHJlZW1wdC1sYXp5LXN1cHBvcnQucGF0Y2gKIAogU2lnbmVkLW9mZi1ieTogVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+CiAtLS0KICBhcmNoL3Bvd2VycGMvS2NvbmZpZyAgICAgICAgICAgICAgICAgICB8ICAgIDEgCi0gYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmggfCAgICA4ICsrKystCisgYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmggfCAgIDEyICsrKysrKy0tCiAgYXJjaC9wb3dlcnBjL2tlcm5lbC9hc20tb2Zmc2V0cy5jICAgICAgfCAgICAxIAogIGFyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfMzIuUyAgICAgICAgIHwgICAxNyArKysrKysrKy0tLQogIGFyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfNjQuUyAgICAgICAgIHwgICA0OCArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KLSA1IGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQorIDUgZmlsZXMgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9wb3dlcnBjL0tjb25maWcKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3Bvd2VycGMvS2NvbmZpZwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3Bvd2VycGMvS2NvbmZpZworLS0tIGEvYXJjaC9wb3dlcnBjL0tjb25maWcKKysrKyBiL2FyY2gvcG93ZXJwYy9LY29uZmlnCiBAQCAtMTMzLDYgKzEzMyw3IEBAIGNvbmZpZyBQUEMKICAJc2VsZWN0IEdFTkVSSUNfQ0xPQ0tFVkVOVFMKICAJc2VsZWN0IEdFTkVSSUNfU1RSTkNQWV9GUk9NX1VTRVIKQEAgLTIzLDEwICsyMSw4IEBACiAgCXNlbGVjdCBIQVZFX01PRF9BUkNIX1NQRUNJRklDCiAgCXNlbGVjdCBNT0RVTEVTX1VTRV9FTEZfUkVMQQogIAlzZWxlY3QgQ0xPTkVfQkFDS1dBUkRTCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS90aHJlYWRfaW5mby5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmgKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmgKKy0tLSBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS90aHJlYWRfaW5mby5oCisrKysgYi9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vdGhyZWFkX2luZm8uaAogQEAgLTQzLDYgKzQzLDggQEAgc3RydWN0IHRocmVhZF9pbmZvIHsKICAJaW50CQljcHU7CQkJLyogY3B1IHdlJ3JlIG9uICovCiAgCWludAkJcHJlZW1wdF9jb3VudDsJCS8qIDAgPT4gcHJlZW1wdGFibGUsCkBAIC0zNiwxMSArMzIsMjIgQEAKICAJc3RydWN0IHJlc3RhcnRfYmxvY2sgcmVzdGFydF9ibG9jazsKICAJdW5zaWduZWQgbG9uZwlsb2NhbF9mbGFnczsJCS8qIHByaXZhdGUgZmxhZ3MgZm9yIHRocmVhZCAqLwogIAotQEAgLTEwNyw2ICsxMDksNyBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCB0aHJlYWRfaW5mbyAqY3VycmVuCitAQCAtOTAsOCArOTIsNyBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCB0aHJlYWRfaW5mbyAqY3VycmVuCisgI2RlZmluZSBUSUZfU1lTQ0FMTF9UUkFDRQkwCS8qIHN5c2NhbGwgdHJhY2UgYWN0aXZlICovCisgI2RlZmluZSBUSUZfU0lHUEVORElORwkJMQkvKiBzaWduYWwgcGVuZGluZyAqLworICNkZWZpbmUgVElGX05FRURfUkVTQ0hFRAkyCS8qIHJlc2NoZWR1bGluZyBuZWNlc3NhcnkgKi8KKy0jZGVmaW5lIFRJRl9QT0xMSU5HX05SRkxBRwkzCS8qIHRydWUgaWYgcG9sbF9pZGxlKCkgaXMgcG9sbGluZworLQkJCQkJICAgVElGX05FRURfUkVTQ0hFRCAqLworKyNkZWZpbmUgVElGX05FRURfUkVTQ0hFRF9MQVpZCTMJLyogbGF6eSByZXNjaGVkdWxpbmcgbmVjZXNzYXJ5ICovCisgI2RlZmluZSBUSUZfMzJCSVQJCTQJLyogMzIgYml0IGJpbmFyeSAqLworICNkZWZpbmUgVElGX1BFUkZNT05fV09SSwk1CS8qIHdvcmsgZm9yIHBmbV9oYW5kbGVfd29yaygpICovCisgI2RlZmluZSBUSUZfUEVSRk1PTl9DVFhTVwk2CS8qIHBlcmZtb24gbmVlZHMgY3R4c3cgY2FsbHMgKi8KK0BAIC0xMDcsNiArMTA4LDggQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgdGhyZWFkX2luZm8gKmN1cnJlbgogICNkZWZpbmUgVElGX0VNVUxBVEVfU1RBQ0tfU1RPUkUJMTYJLyogSXMgYW4gaW5zdHJ1Y3Rpb24gZW11bGF0aW9uCiAgCQkJCQkJZm9yIHN0YWNrIHN0b3JlPyAqLwogICNkZWZpbmUgVElGX01FTURJRQkJMTcJLyogaXMgdGVybWluYXRpbmcgZHVlIHRvIE9PTSBraWxsZXIgKi8KLSsjZGVmaW5lIFRJRl9ORUVEX1JFU0NIRURfTEFaWQkxOAkvKiBsYXp5IHJlc2NoZWR1bGluZyBuZWNlc3NhcnkgKi8KKysjZGVmaW5lIFRJRl9QT0xMSU5HX05SRkxBRwkxOAkvKiB0cnVlIGlmIHBvbGxfaWRsZSgpIGlzIHBvbGxpbmcKKysJCQkJCSAgIFRJRl9ORUVEX1JFU0NIRUQgKi8KICAKICAvKiBhcyBhYm92ZSwgYnV0IGFzIGJpdCB2YWx1ZXMgKi8KICAjZGVmaW5lIF9USUZfU1lTQ0FMTF9UUkFDRQkoMTw8VElGX1NZU0NBTExfVFJBQ0UpCkBAIC02MiwxMCArNjksOCBAQAogIAogIC8qIEJpdHMgaW4gbG9jYWxfZmxhZ3MgKi8KICAvKiBEb24ndCBtb3ZlIFRMRl9OQVBQSU5HIHdpdGhvdXQgYWRqdXN0aW5nIHRoZSBjb2RlIGluIGVudHJ5XzMyLlMgKi8KLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC9wb3dlcnBjL2tlcm5lbC9hc20tb2Zmc2V0cy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9wb3dlcnBjL2tlcm5lbC9hc20tb2Zmc2V0cy5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvcG93ZXJwYy9rZXJuZWwvYXNtLW9mZnNldHMuYworLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9hc20tb2Zmc2V0cy5jCisrKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL2FzbS1vZmZzZXRzLmMKIEBAIC0xNjIsNiArMTYyLDcgQEAgaW50IG1haW4odm9pZCkKICAJREVGSU5FKFRJX0ZMQUdTLCBvZmZzZXRvZihzdHJ1Y3QgdGhyZWFkX2luZm8sIGZsYWdzKSk7CiAgCURFRklORShUSV9MT0NBTF9GTEFHUywgb2Zmc2V0b2Yoc3RydWN0IHRocmVhZF9pbmZvLCBsb2NhbF9mbGFncykpOwpAQCAtNzQsMTAgKzc5LDggQEAKICAJREVGSU5FKFRJX1RBU0ssIG9mZnNldG9mKHN0cnVjdCB0aHJlYWRfaW5mbywgdGFzaykpOwogIAlERUZJTkUoVElfQ1BVLCBvZmZzZXRvZihzdHJ1Y3QgdGhyZWFkX2luZm8sIGNwdSkpOwogIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzMyLlMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzMyLlMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV8zMi5TCistLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzMyLlMKKysrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfMzIuUwogQEAgLTg5MCw3ICs4OTAsMTQgQEAgcmVzdW1lX2tlcm5lbDoKICAJY21wd2kJMCxyMCwwCQkvKiBpZiBub24temVybywganVzdCByZXN0b3JlIHJlZ3MgYW5kIHJldHVybiAqLwogIAlibmUJcmVzdG9yZQpAQCAtMTI2LDEwICsxMjksOCBAQAogIAlibmUtCWRvX3Jlc2NoZWQKICAJYW5kaS4JcjAscjksX1RJRl9VU0VSX1dPUktfTUFTSwogIAliZXEJcmVzdG9yZV91c2VyCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfNjQuUwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfNjQuUwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzY0LlMKKy0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfNjQuUworKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV82NC5TCiBAQCAtMSw1ICsxLDUgQEAKICAvKgogLSAqICBQb3dlclBDIHZlcnNpb24gCmRpZmYgLS1naXQgYS9wYXRjaGVzL3BwYy1tYXJrLWxvdy1sZXZlbC1oYW5kbGVycy1uby10aHJlYWQucGF0Y2ggYi9wYXRjaGVzL3BwYy1tYXJrLWxvdy1sZXZlbC1oYW5kbGVycy1uby10aHJlYWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ0NzFhNgotLS0gL2Rldi9udWxsCisrKyBiL3BhdGNoZXMvcHBjLW1hcmstbG93LWxldmVsLWhhbmRsZXJzLW5vLXRocmVhZC5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tOiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4KK0RhdGU6IE1vbiwgMTggSnVuIDIwMTIgMTk6NTM6MTcgKzAyMDAKK1N1YmplY3Q6IHBvd2VycGM6IE1hcmsgbG93IGxldmVsIGlycSBoYW5kbGVycyBOT19USFJFQUQKKworVGhlc2UgbG93IGxldmVsIGhhbmRsZXJzIGNhbm5vdCBiZSB0aHJlYWRlZC4gTWFyayB0aGVtIE5PX1RIUkVBRAorCitSZXBvcnRlZC1ieTogbGVyb3kgY2hyaXN0b3BoZSA8Y2hyaXN0b3BoZS5sZXJveUBjLXMuZnI+CitUZXN0ZWQtYnk6IGxlcm95IGNocmlzdG9waGUgPGNocmlzdG9waGUubGVyb3lAYy1zLmZyPgorU2lnbmVkLW9mZi1ieTogVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+CisKKy0tLQorIGFyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvOHh4L204eHhfc2V0dXAuYyB8ICAgIDEgKworIGFyY2gvcG93ZXJwYy9zeXNkZXYvY3BtMS5jICAgICAgICAgICAgICB8ICAgIDEgKworIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKKy0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvOHh4L204eHhfc2V0dXAuYworKysrIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy84eHgvbTh4eF9zZXR1cC5jCitAQCAtNDMsNiArNDMsNyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgdGltZWJhc2VfaW50ZXJydXB0KGluCisgCisgc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gdGJpbnRfaXJxYWN0aW9uID0geworIAkuaGFuZGxlciA9IHRpbWViYXNlX2ludGVycnVwdCwKKysJLmZsYWdzID0gSVJRRl9OT19USFJFQUQsCisgCS5uYW1lID0gInRiaW50IiwKKyB9OworIAorLS0tIGEvYXJjaC9wb3dlcnBjL3N5c2Rldi9jcG0xLmMKKysrKyBiL2FyY2gvcG93ZXJwYy9zeXNkZXYvY3BtMS5jCitAQCAtMTIwLDYgKzEyMCw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBjcG1fZXJyb3JfaW50ZXJydXB0KGkKKyAKKyBzdGF0aWMgc3RydWN0IGlycWFjdGlvbiBjcG1fZXJyb3JfaXJxYWN0aW9uID0geworIAkuaGFuZGxlciA9IGNwbV9lcnJvcl9pbnRlcnJ1cHQsCisrCS5mbGFncyA9IElSUUZfTk9fVEhSRUFELAorIAkubmFtZSA9ICJlcnJvciIsCisgfTsKKyAKZGlmZiAtLWdpdCBhL3BhdGNoZXMvcHJlZW1wdC1sYXp5LXN1cHBvcnQucGF0Y2ggYi9wYXRjaGVzL3ByZWVtcHQtbGF6eS1zdXBwb3J0LnBhdGNoCmluZGV4IDJkOWEwZjQuLjg5NmU4MGQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcHJlZW1wdC1sYXp5LXN1cHBvcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy9wcmVlbXB0LWxhenktc3VwcG9ydC5wYXRjaApAQCAtNjUsMTAgKzY1LDggQEAKICBrZXJuZWwvdHJhY2UvdHJhY2Vfb3V0cHV0LmMgIHwgICAxMyArKysrKysrLS0KICAxMSBmaWxlcyBjaGFuZ2VkLCAyMDYgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9mdHJhY2VfZXZlbnQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvZnRyYWNlX2V2ZW50LmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9mdHJhY2VfZXZlbnQuaAorLS0tIGEvaW5jbHVkZS9saW51eC9mdHJhY2VfZXZlbnQuaAorKysrIGIvaW5jbHVkZS9saW51eC9mdHJhY2VfZXZlbnQuaAogQEAgLTU4LDYgKzU4LDcgQEAgc3RydWN0IHRyYWNlX2VudHJ5IHsKICAJaW50CQkJcGlkOwogIAl1bnNpZ25lZCBzaG9ydAkJbWlncmF0ZV9kaXNhYmxlOwpAQCAtNzcsMTAgKzc1LDggQEAKICB9OwogIAogICNkZWZpbmUgRlRSQUNFX01BWF9FVkVOVAkJCQkJCVwKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3ByZWVtcHQuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3ByZWVtcHQuaAorLS0tIGEvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKKysrKyBiL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCiBAQCAtMjMsMTUgKzIzLDM4IEBACiAgCiAgI2RlZmluZSBwcmVlbXB0X2NvdW50KCkJKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+cHJlZW1wdF9jb3VudCkKQEAgLTE0OCwxMCArMTQ0LDggQEAKICAKICAvKiBGb3IgZGVidWdnaW5nIGFuZCB0cmFjZXIgaW50ZXJuYWxzIG9ubHkhICovCiAgI2RlZmluZSBhZGRfcHJlZW1wdF9jb3VudF9ub3RyYWNlKHZhbCkJCQlcCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvc2NoZWQuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvc2NoZWQuaAorKysrIGIvaW5jbHVkZS9saW51eC9zY2hlZC5oCiBAQCAtMjQ1NCw2ICsyNDU0LDUyIEBAIHN0YXRpYyBpbmxpbmUgaW50IHRlc3RfdHNrX25lZWRfcmVzY2hlZCgKICAJcmV0dXJuIHVubGlrZWx5KHRlc3RfdHNrX3RocmVhZF9mbGFnKHRzayxUSUZfTkVFRF9SRVNDSEVEKSk7CiAgfQpAQCAtMjE3LDEwICsyMTEsOCBAQAogIC8qCiAgICogY29uZF9yZXNjaGVkKCkgYW5kIGNvbmRfcmVzY2hlZF9sb2NrKCk6IGxhdGVuY3kgcmVkdWN0aW9uIHZpYQogICAqIGV4cGxpY2l0IHJlc2NoZWR1bGluZyBpbiBwbGFjZXMgdGhhdCBhcmUgc2FmZS4gVGhlIHJldHVybgotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvS2NvbmZpZy5wcmVlbXB0Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL0tjb25maWcucHJlZW1wdAotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvS2NvbmZpZy5wcmVlbXB0CistLS0gYS9rZXJuZWwvS2NvbmZpZy5wcmVlbXB0CisrKysgYi9rZXJuZWwvS2NvbmZpZy5wcmVlbXB0CiBAQCAtNiw2ICs2LDEyIEBAIGNvbmZpZyBQUkVFTVBUX1JUX0JBU0UKICAJYm9vbAogIAlzZWxlY3QgUFJFRU1QVApAQCAtMjM0LDEwICsyMjYsOCBAQAogIGNob2ljZQogIAlwcm9tcHQgIlByZWVtcHRpb24gTW9kZWwiCiAgCWRlZmF1bHQgUFJFRU1QVF9OT05FCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc2NoZWQvY29yZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKKy0tLSBhL2tlcm5lbC9zY2hlZC9jb3JlLmMKKysrKyBiL2tlcm5lbC9zY2hlZC9jb3JlLmMKIEBAIC01MzgsNiArNTM4LDM3IEBAIHZvaWQgcmVzY2hlZF90YXNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKICAJCXNtcF9zZW5kX3Jlc2NoZWR1bGUoY3B1KTsKICB9CkBAIC0yOTQsNyArMjg0LDcgQEAKICAjZW5kaWYgLyogQ09ORklHX1NNUCAqLwogIAogICNpZiBkZWZpbmVkKENPTkZJR19SVF9HUk9VUF9TQ0hFRCkgfHwgKGRlZmluZWQoQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQpICYmIFwKLUBAIC0xNzc2LDYgKzE4MTgsOSBAQCB2b2lkIHNjaGVkX2Zvcmsoc3RydWN0IHRhc2tfc3RydWN0ICpwKQorQEAgLTE3MzYsNiArMTc3OCw5IEBAIHZvaWQgc2NoZWRfZm9yayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCiAgCS8qIFdhbnQgdG8gc3RhcnQgd2l0aCBrZXJuZWwgcHJlZW1wdGlvbiBkaXNhYmxlZC4gKi8KICAJdGFza190aHJlYWRfaW5mbyhwKS0+cHJlZW1wdF9jb3VudCA9IDE7CiAgI2VuZGlmCkBAIC0zMDQsNyArMjk0LDcgQEAKICAjaWZkZWYgQ09ORklHX1NNUAogIAlwbGlzdF9ub2RlX2luaXQoJnAtPnB1c2hhYmxlX3Rhc2tzLCBNQVhfUFJJTyk7CiAgI2VuZGlmCi1AQCAtMjk5Myw2ICszMDM4LDcgQEAgdm9pZCBtaWdyYXRlX2Rpc2FibGUodm9pZCkKK0BAIC0yOTUzLDYgKzI5OTgsNyBAQCB2b2lkIG1pZ3JhdGVfZGlzYWJsZSh2b2lkKQogIAkJcmV0dXJuOwogIAl9CiAgCkBAIC0zMTIsNyArMzAyLDcgQEAKICAJcGluX2N1cnJlbnRfY3B1KCk7CiAgCXAtPm1pZ3JhdGVfZGlzYWJsZSA9IDE7CiAgCXByZWVtcHRfZW5hYmxlKCk7Ci1AQCAtMzA0OCw2ICszMDk0LDcgQEAgdm9pZCBtaWdyYXRlX2VuYWJsZSh2b2lkKQorQEAgLTMwMDgsNiArMzA1NCw3IEBAIHZvaWQgbWlncmF0ZV9lbmFibGUodm9pZCkKICAKICAJdW5waW5fY3VycmVudF9jcHUoKTsKICAJcHJlZW1wdF9lbmFibGUoKTsKQEAgLTMyMCw3ICszMTAsNyBAQAogIH0KICBFWFBPUlRfU1lNQk9MKG1pZ3JhdGVfZW5hYmxlKTsKICAjZWxzZQotQEAgLTMxODQsNiArMzIzMSw3IEBAIG5lZWRfcmVzY2hlZDoKK0BAIC0zMTI5LDYgKzMxNzYsNyBAQCBuZWVkX3Jlc2NoZWQ6CiAgCXB1dF9wcmV2X3Rhc2socnEsIHByZXYpOwogIAluZXh0ID0gcGlja19uZXh0X3Rhc2socnEpOwogIAljbGVhcl90c2tfbmVlZF9yZXNjaGVkKHByZXYpOwpAQCAtMzI4LDcgKzMxOCw3IEBACiAgCXJxLT5za2lwX2Nsb2NrX3VwZGF0ZSA9IDA7CiAgCiAgCWlmIChsaWtlbHkocHJldiAhPSBuZXh0KSkgewotQEAgLTMyNzUsNiArMzMyMywxNCBAQCBhc21saW5rYWdlIHZvaWQgX19zY2hlZCBub3RyYWNlIHByZWVtcHRfCitAQCAtMzIzNSw2ICszMjgzLDE0IEBAIGFzbWxpbmthZ2Ugdm9pZCBfX3NjaGVkIG5vdHJhY2UgcHJlZW1wdF8KICAJaWYgKGxpa2VseSh0aS0+cHJlZW1wdF9jb3VudCB8fCBpcnFzX2Rpc2FibGVkKCkpKQogIAkJcmV0dXJuOwogIApAQCAtMzQzLDcgKzMzMyw3IEBACiAgCWRvIHsKICAJCWFkZF9wcmVlbXB0X2NvdW50X25vdHJhY2UoUFJFRU1QVF9BQ1RJVkUpOwogIAkJLyoKLUBAIC00OTU1LDcgKzUwMTEsOSBAQCB2b2lkIF9fY3B1aW5pdCBpbml0X2lkbGUoc3RydWN0IHRhc2tfc3RyCitAQCAtNDk0Niw3ICs1MDAyLDkgQEAgdm9pZCBfX2NwdWluaXQgaW5pdF9pZGxlKHN0cnVjdCB0YXNrX3N0cgogIAogIAkvKiBTZXQgdGhlIHByZWVtcHQgY291bnQgX291dHNpZGVfIHRoZSBzcGlubG9ja3MhICovCiAgCXRhc2tfdGhyZWFkX2luZm8oaWRsZSktPnByZWVtcHRfY291bnQgPSAwOwpAQCAtMzU0LDEwICszNDQsOCBAQAogIAkvKgogIAkgKiBUaGUgaWRsZSB0YXNrcyBoYXZlIHRoZWlyIG93biwgc2ltcGxlIHNjaGVkdWxpbmcgY2xhc3M6CiAgCSAqLwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvZmFpci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL2ZhaXIuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvZmFpci5jCistLS0gYS9rZXJuZWwvc2NoZWQvZmFpci5jCisrKysgYi9rZXJuZWwvc2NoZWQvZmFpci5jCiBAQCAtMTg0Nyw3ICsxODQ3LDcgQEAgY2hlY2tfcHJlZW1wdF90aWNrKHN0cnVjdCBjZnNfcnEgKmNmc19ycQogIAlpZGVhbF9ydW50aW1lID0gc2NoZWRfc2xpY2UoY2ZzX3JxLCBjdXJyKTsKICAJZGVsdGFfZXhlYyA9IGN1cnItPnN1bV9leGVjX3J1bnRpbWUgLSBjdXJyLT5wcmV2X3N1bV9leGVjX3J1bnRpbWU7CkBAIC00MzAsMTAgKzQxOCw4IEBACiAgCX0gZWxzZQogIAkJY2hlY2tfcHJlZW1wdF9jdXJyKHJxLCBwLCAwKTsKICB9Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9mZWF0dXJlcy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL2ZlYXR1cmVzLmgKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2ZlYXR1cmVzLmgKKy0tLSBhL2tlcm5lbC9zY2hlZC9mZWF0dXJlcy5oCisrKysgYi9rZXJuZWwvc2NoZWQvZmVhdHVyZXMuaAogQEAgLTU4LDYgKzU4LDkgQEAgU0NIRURfRkVBVChOT05UQVNLX1BPV0VSLCB0cnVlKQogIFNDSEVEX0ZFQVQoVFRXVV9RVUVVRSwgdHJ1ZSkKICAjZWxzZQpAQCAtNDQ0LDEwICs0MzAsOCBAQAogICNlbmRpZgogIAogIFNDSEVEX0ZFQVQoRk9SQ0VfU0RfT1ZFUkxBUCwgZmFsc2UpCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9zY2hlZC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL3NjaGVkLmgKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL3NjaGVkLmgKKy0tLSBhL2tlcm5lbC9zY2hlZC9zY2hlZC5oCisrKysgYi9rZXJuZWwvc2NoZWQvc2NoZWQuaAogQEAgLTEwNTksNiArMTA1OSwxNSBAQCBleHRlcm4gdm9pZCBpbml0X3NjaGVkX2ZhaXJfY2xhc3Modm9pZCk7CiAgZXh0ZXJuIHZvaWQgcmVzY2hlZF90YXNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCk7CiAgZXh0ZXJuIHZvaWQgcmVzY2hlZF9jcHUoaW50IGNwdSk7CkBAIC00NjQsMTEgKzQ0OCw5IEBACiAgZXh0ZXJuIHN0cnVjdCBydF9iYW5kd2lkdGggZGVmX3J0X2JhbmR3aWR0aDsKICBleHRlcm4gdm9pZCBpbml0X3J0X2JhbmR3aWR0aChzdHJ1Y3QgcnRfYmFuZHdpZHRoICpydF9iLCB1NjQgcGVyaW9kLCB1NjQgcnVudGltZSk7CiAgCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC90cmFjZS90cmFjZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3RyYWNlL3RyYWNlLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3RyYWNlL3RyYWNlLmMKLUBAIC0xNDA5LDYgKzE0MDksNyBAQCB0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKHN0cnVjdCB0cmFjCistLS0gYS9rZXJuZWwvdHJhY2UvdHJhY2UuYworKysrIGIva2VybmVsL3RyYWNlL3RyYWNlLmMKK0BAIC0xNDM5LDYgKzE0MzksNyBAQCB0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKHN0cnVjdCB0cmFjCiAgCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrID0gY3VycmVudDsKICAKICAJZW50cnktPnByZWVtcHRfY291bnQJCT0gcGMgJiAweGZmOwpAQCAtNDc2LDcgKzQ1OCw3IEBACiAgCWVudHJ5LT5waWQJCQk9ICh0c2spID8gdHNrLT5waWQgOiAwOwogIAllbnRyeS0+ZmxhZ3MgPQogICNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVAotQEAgLTE0MTgsNyArMTQxOSw4IEBAIHRyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoc3RydWN0IHRyYWMKK0BAIC0xNDQ4LDcgKzE0NDksOCBAQCB0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKHN0cnVjdCB0cmFjCiAgI2VuZGlmCiAgCQkoKHBjICYgSEFSRElSUV9NQVNLKSA/IFRSQUNFX0ZMQUdfSEFSRElSUSA6IDApIHwKICAJCSgocGMgJiBTT0ZUSVJRX01BU0spID8gVFJBQ0VfRkxBR19TT0ZUSVJRIDogMCkgfApAQCAtNDg2LDcgKzQ2OCw3IEBACiAgCiAgCWVudHJ5LT5taWdyYXRlX2Rpc2FibGUJPSAodHNrKSA/IF9fbWlncmF0ZV9kaXNhYmxlZCh0c2spICYgMHhGRiA6IDA7CiAgfQotQEAgLTIzMTksMTUgKzIzMjEsMTcgQEAgZ2V0X3RvdGFsX2VudHJpZXMoc3RydWN0IHRyYWNlX2J1ZmZlciAqYgorQEAgLTIzNDksMTUgKzIzNTEsMTcgQEAgZ2V0X3RvdGFsX2VudHJpZXMoc3RydWN0IHRyYWNlX2J1ZmZlciAqYgogIAogIHN0YXRpYyB2b2lkIHByaW50X2xhdF9oZWxwX2hlYWRlcihzdHJ1Y3Qgc2VxX2ZpbGUgKm0pCiAgewpAQCAtNTEzLDcgKzQ5NSw3IEBACiAgfQogIAogIHN0YXRpYyB2b2lkIHByaW50X2V2ZW50X2luZm8oc3RydWN0IHRyYWNlX2J1ZmZlciAqYnVmLCBzdHJ1Y3Qgc2VxX2ZpbGUgKm0pCi1AQCAtMjM1MSwxMyArMjM1NSwxNiBAQCBzdGF0aWMgdm9pZCBwcmludF9mdW5jX2hlbHBfaGVhZGVyKHN0cnVjCitAQCAtMjM4MSwxMyArMjM4NSwxNiBAQCBzdGF0aWMgdm9pZCBwcmludF9mdW5jX2hlbHBfaGVhZGVyKHN0cnVjCiAgc3RhdGljIHZvaWQgcHJpbnRfZnVuY19oZWxwX2hlYWRlcl9pcnEoc3RydWN0IHRyYWNlX2J1ZmZlciAqYnVmLCBzdHJ1Y3Qgc2VxX2ZpbGUgKm0pCiAgewogIAlwcmludF9ldmVudF9pbmZvKGJ1ZiwgbSk7CkBAIC01MzcsMTAgKzUxOSw4IEBACiAgfQogIAogIHZvaWQKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3RyYWNlL3RyYWNlLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvdHJhY2UvdHJhY2UuaAotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvdHJhY2UvdHJhY2UuaAorLS0tIGEva2VybmVsL3RyYWNlL3RyYWNlLmgKKysrKyBiL2tlcm5lbC90cmFjZS90cmFjZS5oCiBAQCAtMTE3LDYgKzExNyw3IEBAIHN0cnVjdCBrcmV0cHJvYmVfdHJhY2VfZW50cnlfaGVhZCB7CiAgICogIE5FRURfUkVTQ0hFRAktIHJlc2NoZWR1bGUgaXMgcmVxdWVzdGVkCiAgICogIEhBUkRJUlEJCS0gaW5zaWRlIGFuIGludGVycnVwdCBoYW5kbGVyCkBAIC01NTcsMTAgKzUzNyw4IEBACiAgfTsKICAKICAjZGVmaW5lIFRSQUNFX0JVRl9TSVpFCQkxMDI0Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC90cmFjZS90cmFjZV9vdXRwdXQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC90cmFjZS90cmFjZV9vdXRwdXQuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvdHJhY2UvdHJhY2Vfb3V0cHV0LmMKKy0tLSBhL2tlcm5lbC90cmFjZS90cmFjZV9vdXRwdXQuYworKysrIGIva2VybmVsL3RyYWNlL3RyYWNlX291dHB1dC5jCiBAQCAtNjA2LDYgKzYwNiw3IEBAIGludCB0cmFjZV9wcmludF9sYXRfZm10KHN0cnVjdCB0cmFjZV9zZXEKICB7CiAgCWNoYXIgaGFyZHNvZnRfaXJxOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wcmVlbXB0LW5vcnQtcnQtdmFyaWFudHMucGF0Y2ggYi9wYXRjaGVzL3ByZWVtcHQtbm9ydC1ydC12YXJpYW50cy5wYXRjaAppbmRleCBkNzE5MWViLi4yYzkxMDZhIDEwMDY0NAotLS0gYS9wYXRjaGVzL3ByZWVtcHQtbm9ydC1ydC12YXJpYW50cy5wYXRjaAorKysgYi9wYXRjaGVzL3ByZWVtcHQtbm9ydC1ydC12YXJpYW50cy5wYXRjaApAQCAtMTEsMTAgKzExLDggQEAKICBpbmNsdWRlL2xpbnV4L3ByZWVtcHQuaCB8ICAgMjAgKysrKysrKysrKysrKysrKysrLS0KICAxIGZpbGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3ByZWVtcHQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3ByZWVtcHQuaAorKysrIGIvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKIEBAIC03MCwxMSArNzAsMTUgQEAgZG8geyBcCiAgCWRlY19wcmVlbXB0X2NvdW50KCk7IFwKICB9IHdoaWxlICgwKQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wcmludGstMjdmb3JjZV9lYXJseV9wcmludGstMjctYm9vdC1wYXJhbS10by1oZWxwLXdpdGgtZGVidWdnaW5nLnBhdGNoIGIvcGF0Y2hlcy9wcmludGstMjdmb3JjZV9lYXJseV9wcmludGstMjctYm9vdC1wYXJhbS10by1oZWxwLXdpdGgtZGVidWdnaW5nLnBhdGNoCmluZGV4IDQzMGI5OTQuLmMzODdiZGYgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcHJpbnRrLTI3Zm9yY2VfZWFybHlfcHJpbnRrLTI3LWJvb3QtcGFyYW0tdG8taGVscC13aXRoLWRlYnVnZ2luZy5wYXRjaAorKysgYi9wYXRjaGVzL3ByaW50ay0yN2ZvcmNlX2Vhcmx5X3ByaW50ay0yNy1ib290LXBhcmFtLXRvLWhlbHAtd2l0aC1kZWJ1Z2dpbmcucGF0Y2gKQEAgLTE3LDEwICsxNyw4IEBACiAga2VybmVsL3ByaW50ay5jIHwgICAgNyArKysrKysrCiAgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9wcmludGsuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9wcmludGsuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvcHJpbnRrLmMKKy0tLSBhL2tlcm5lbC9wcmludGsuYworKysrIGIva2VybmVsL3ByaW50ay5jCiBAQCAtMTUyMyw2ICsxNTIzLDEzIEBAIGFzbWxpbmthZ2Ugdm9pZCBlYXJseV9wcmludGsoY29uc3QgY2hhcgogICAqLwogIHN0YXRpYyBib29sIF9fcmVhZF9tb3N0bHkgcHJpbnRrX2tpbGxzd2l0Y2g7CmRpZmYgLS1naXQgYS9wYXRjaGVzL3ByaW50ay1raWxsLnBhdGNoIGIvcGF0Y2hlcy9wcmludGsta2lsbC5wYXRjaAppbmRleCBhMDdiNTNjLi5mZjJhYjJjIDEwMDY0NAotLS0gYS9wYXRjaGVzL3ByaW50ay1raWxsLnBhdGNoCisrKyBiL3BhdGNoZXMvcHJpbnRrLWtpbGwucGF0Y2gKQEAgLTksMTAgKzksOCBAQAogIGtlcm5lbC93YXRjaGRvZy5jICAgICAgfCAgIDE1ICsrKysrKysrLQogIDMgZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9wcmludGsuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvcHJpbnRrLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9wcmludGsuaAorLS0tIGEvaW5jbHVkZS9saW51eC9wcmludGsuaAorKysrIGIvaW5jbHVkZS9saW51eC9wcmludGsuaAogQEAgLTEwMSw5ICsxMDEsMTEgQEAgaW50IG5vX3ByaW50ayhjb25zdCBjaGFyICpmbXQsIC4uLikKICBleHRlcm4gYXNtbGlua2FnZSBfX3ByaW50ZigxLCAyKQogIHZvaWQgZWFybHlfcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKQEAgLTMzLDEwICszMSw4IEBACiAgZXh0ZXJuIGludCBwcmludGtfZGVsYXlfbXNlYzsKICBleHRlcm4gaW50IGRtZXNnX3Jlc3RyaWN0OwogIGV4dGVybiBpbnQga3B0cl9yZXN0cmljdDsKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3ByaW50ay5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3ByaW50ay5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9wcmludGsuYworLS0tIGEva2VybmVsL3ByaW50ay5jCisrKysgYi9rZXJuZWwvcHJpbnRrLmMKIEBAIC0xNDkzLDYgKzE0OTMsNTUgQEAgc3RhdGljIHNpemVfdCBjb250X3ByaW50X3RleHQoY2hhciAqdGV4dAogIAlyZXR1cm4gdGV4dGxlbjsKICB9CkBAIC0xMzcsMTAgKzEzMyw4IEBACiAgc3RhdGljIGludCBfX2FkZF9wcmVmZXJyZWRfY29uc29sZShjaGFyICpuYW1lLCBpbnQgaWR4LCBjaGFyICpvcHRpb25zLAogIAkJCQkgICBjaGFyICpicmxfb3B0aW9ucykKICB7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC93YXRjaGRvZy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3dhdGNoZG9nLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3dhdGNoZG9nLmMKKy0tLSBhL2tlcm5lbC93YXRjaGRvZy5jCisrKysgYi9rZXJuZWwvd2F0Y2hkb2cuYwogQEAgLTIwNSw2ICsyMDUsOCBAQCBzdGF0aWMgaW50IGlzX3NvZnRsb2NrdXAodW5zaWduZWQgbG9uZyB0CiAgCiAgI2lmZGVmIENPTkZJR19IQVJETE9DS1VQX0RFVEVDVE9SCmRpZmYgLS1naXQgYS9wYXRjaGVzL3ByaW50ay1ydC1hd2FyZS5wYXRjaCBiL3BhdGNoZXMvcHJpbnRrLXJ0LWF3YXJlLnBhdGNoCmluZGV4IDA2YTI5MzAuLjFjOTgyODEgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcHJpbnRrLXJ0LWF3YXJlLnBhdGNoCisrKyBiL3BhdGNoZXMvcHJpbnRrLXJ0LWF3YXJlLnBhdGNoCkBAIC03LDEwICs3LDggQEAKICBrZXJuZWwvcHJpbnRrLmMgfCAgIDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9wcmludGsuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9wcmludGsuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvcHJpbnRrLmMKKy0tLSBhL2tlcm5lbC9wcmludGsuYworKysrIGIva2VybmVsL3ByaW50ay5jCiBAQCAtMTI3Nyw2ICsxMjc3LDcgQEAgc3RhdGljIHZvaWQgY2FsbF9jb25zb2xlX2RyaXZlcnMoaW50IGxldgogIAlpZiAoIWNvbnNvbGVfZHJpdmVycykKICAJCXJldHVybjsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvcmFkaXgtdHJlZS1ydC1hd2FyZS5wYXRjaCBiL3BhdGNoZXMvcmFkaXgtdHJlZS1ydC1hd2FyZS5wYXRjaAppbmRleCAxMDJmMGI2Li5mOTJhOWVlIDEwMDY0NAotLS0gYS9wYXRjaGVzL3JhZGl4LXRyZWUtcnQtYXdhcmUucGF0Y2gKKysrIGIvcGF0Y2hlcy9yYWRpeC10cmVlLXJ0LWF3YXJlLnBhdGNoCkBAIC04LDEwICs4LDggQEAKICBsaWIvcmFkaXgtdHJlZS5jICAgICAgICAgICB8ICAgIDUgKysrKy0KICAyIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9yYWRpeC10cmVlLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3JhZGl4LXRyZWUuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3JhZGl4LXRyZWUuaAorLS0tIGEvaW5jbHVkZS9saW51eC9yYWRpeC10cmVlLmgKKysrKyBiL2luY2x1ZGUvbGludXgvcmFkaXgtdHJlZS5oCiBAQCAtMjMwLDcgKzIzMCwxMyBAQCB1bnNpZ25lZCBsb25nIHJhZGl4X3RyZWVfbmV4dF9ob2xlKHN0cnVjCiAgCQkJCXVuc2lnbmVkIGxvbmcgaW5kZXgsIHVuc2lnbmVkIGxvbmcgbWF4X3NjYW4pOwogIHVuc2lnbmVkIGxvbmcgcmFkaXhfdHJlZV9wcmV2X2hvbGUoc3RydWN0IHJhZGl4X3RyZWVfcm9vdCAqcm9vdCwKQEAgLTM1LDEwICszMyw4IEBACiAgfQogIAogIC8qKgotSW5kZXg6IGxpbnV4LXN0YWJsZS9saWIvcmFkaXgtdHJlZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbGliL3JhZGl4LXRyZWUuYwotKysrIGxpbnV4LXN0YWJsZS9saWIvcmFkaXgtdHJlZS5jCistLS0gYS9saWIvcmFkaXgtdHJlZS5jCisrKysgYi9saWIvcmFkaXgtdHJlZS5jCiBAQCAtMjE1LDEyICsyMTUsMTMgQEAgcmFkaXhfdHJlZV9ub2RlX2FsbG9jKHN0cnVjdCByYWRpeF90cmVlXwogIAkJICogc3VjY2VlZCBpbiBnZXR0aW5nIGEgbm9kZSBoZXJlIChhbmQgbmV2ZXIgcmVhY2gKICAJCSAqIGttZW1fY2FjaGVfYWxsb2MpCmRpZmYgLS1naXQgYS9wYXRjaGVzL3JhbmRvbS1tYWtlLWl0LXdvcmstb24tcnQucGF0Y2ggYi9wYXRjaGVzL3JhbmRvbS1tYWtlLWl0LXdvcmstb24tcnQucGF0Y2gKaW5kZXggMjJiNGJkNS4uMmNmNzBhYiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9yYW5kb20tbWFrZS1pdC13b3JrLW9uLXJ0LnBhdGNoCisrKyBiL3BhdGNoZXMvcmFuZG9tLW1ha2UtaXQtd29yay1vbi1ydC5wYXRjaApAQCAtMTcsMTAgKzE3LDggQEAKICBrZXJuZWwvaXJxL21hbmFnZS5jICAgICB8ICAgIDYgKysrKysrCiAgNSBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2RyaXZlcnMvY2hhci9yYW5kb20uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2RyaXZlcnMvY2hhci9yYW5kb20uYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL2NoYXIvcmFuZG9tLmMKKy0tLSBhL2RyaXZlcnMvY2hhci9yYW5kb20uYworKysrIGIvZHJpdmVycy9jaGFyL3JhbmRvbS5jCiBAQCAtNzQyLDE4ICs3NDIsMTYgQEAgRVhQT1JUX1NZTUJPTF9HUEwoYWRkX2lucHV0X3JhbmRvbW5lc3MpOwogIAogIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgZmFzdF9wb29sLCBpcnFfcmFuZG9tbmVzcyk7CkBAIC01NCwxMCArNTIsOCBAQAogIAkvKgogIAkgKiBJZiB3ZSBkb24ndCBoYXZlIGEgdmFsaWQgY3ljbGUgY291bnRlciwgYW5kIHdlIHNlZQogIAkgKiBiYWNrLXRvLWJhY2sgdGltZXIgaW50ZXJydXB0cywgdGhlbiBza2lwIGdpdmluZyBjcmVkaXQgZm9yCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvaXJxZGVzYy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9pcnFkZXNjLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9pcnFkZXNjLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvaXJxZGVzYy5oCisrKysgYi9pbmNsdWRlL2xpbnV4L2lycWRlc2MuaAogQEAgLTUyLDYgKzUyLDcgQEAgc3RydWN0IGlycV9kZXNjIHsKICAJdW5zaWduZWQgaW50CQlpcnFfY291bnQ7CS8qIEZvciBkZXRlY3RpbmcgYnJva2VuIElSUXMgKi8KICAJdW5zaWduZWQgbG9uZwkJbGFzdF91bmhhbmRsZWQ7CS8qIEFnaW5nIHRpbWVyIGZvciB1bmhhbmRsZWQgY291bnQgKi8KQEAgLTY2LDEwICs2Miw4IEBACiAgCXJhd19zcGlubG9ja190CQlsb2NrOwogIAlzdHJ1Y3QgY3B1bWFzawkJKnBlcmNwdV9lbmFibGVkOwogICNpZmRlZiBDT05GSUdfU01QCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvcmFuZG9tLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3JhbmRvbS5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvcmFuZG9tLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvcmFuZG9tLmgKKysrKyBiL2luY2x1ZGUvbGludXgvcmFuZG9tLmgKIEBAIC0xMiw3ICsxMiw3IEBACiAgZXh0ZXJuIHZvaWQgYWRkX2RldmljZV9yYW5kb21uZXNzKGNvbnN0IHZvaWQgKiwgdW5zaWduZWQgaW50KTsKICBleHRlcm4gdm9pZCBhZGRfaW5wdXRfcmFuZG9tbmVzcyh1bnNpZ25lZCBpbnQgdHlwZSwgdW5zaWduZWQgaW50IGNvZGUsCkBAIC03OSwxMCArNzMsOCBAQAogIAogIGV4dGVybiB2b2lkIGdldF9yYW5kb21fYnl0ZXModm9pZCAqYnVmLCBpbnQgbmJ5dGVzKTsKICBleHRlcm4gdm9pZCBnZXRfcmFuZG9tX2J5dGVzX2FyY2godm9pZCAqYnVmLCBpbnQgbmJ5dGVzKTsKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2lycS9oYW5kbGUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9pcnEvaGFuZGxlLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL2lycS9oYW5kbGUuYworLS0tIGEva2VybmVsL2lycS9oYW5kbGUuYworKysrIGIva2VybmVsL2lycS9oYW5kbGUuYwogQEAgLTEzMiw2ICsxMzIsOCBAQCBzdGF0aWMgdm9pZCBpcnFfd2FrZV90aHJlYWQoc3RydWN0IGlycV9kCiAgaXJxcmV0dXJuX3QKICBoYW5kbGVfaXJxX2V2ZW50X3BlcmNwdShzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MsIHN0cnVjdCBpcnFhY3Rpb24gKmFjdGlvbikKQEAgLTEwNSwxMCArOTcsOCBAQAogIAogIAlpZiAoIW5vaXJxZGVidWcpCiAgCQlub3RlX2ludGVycnVwdChpcnEsIGRlc2MsIHJldHZhbCk7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9pcnEvbWFuYWdlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvaXJxL21hbmFnZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9pcnEvbWFuYWdlLmMKKy0tLSBhL2tlcm5lbC9pcnEvbWFuYWdlLmMKKysrKyBiL2tlcm5lbC9pcnEvbWFuYWdlLmMKIEBAIC04ODAsNiArODgwLDEyIEBAIHN0YXRpYyBpbnQgaXJxX3RocmVhZCh2b2lkICpkYXRhKQogIAkJaWYgKCFub2lycWRlYnVnKQogIAkJCW5vdGVfaW50ZXJydXB0KGFjdGlvbi0+aXJxLCBkZXNjLCBhY3Rpb25fcmV0KTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvcmN1LWRpc2FibGUtcmN1LWZhc3Qtbm8taHotb24tcnQucGF0Y2ggYi9wYXRjaGVzL3JjdS1kaXNhYmxlLXJjdS1mYXN0LW5vLWh6LW9uLXJ0LnBhdGNoCmluZGV4IDBkNmNkZDUuLjgwZWI3NmQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcmN1LWRpc2FibGUtcmN1LWZhc3Qtbm8taHotb24tcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy9yY3UtZGlzYWJsZS1yY3UtZmFzdC1uby1oei1vbi1ydC5wYXRjaApAQCAtMTEsMTAgKzExLDggQEAKICBpbml0L0tjb25maWcgfCAgICAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5pdC9LY29uZmlnCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5pdC9LY29uZmlnCi0rKysgbGludXgtc3RhYmxlL2luaXQvS2NvbmZpZworLS0tIGEvaW5pdC9LY29uZmlnCisrKysgYi9pbml0L0tjb25maWcKIEBAIC01NzcsNyArNTc3LDcgQEAgY29uZmlnIFJDVV9GQU5PVVRfRVhBQ1QKICAKICBjb25maWcgUkNVX0ZBU1RfTk9fSFoKZGlmZiAtLWdpdCBhL3BhdGNoZXMvcmN1LW1lcmdlLXJjdS1iaC1pbnRvLXJjdS1wcmVlbXB0LWZvci1ydC5wYXRjaCBiL3BhdGNoZXMvcmN1LW1lcmdlLXJjdS1iaC1pbnRvLXJjdS1wcmVlbXB0LWZvci1ydC5wYXRjaAppbmRleCBhM2EzNTA2Li40NWY2NjhhIDEwMDY0NAotLS0gYS9wYXRjaGVzL3JjdS1tZXJnZS1yY3UtYmgtaW50by1yY3UtcHJlZW1wdC1mb3ItcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy9yY3UtbWVyZ2UtcmN1LWJoLWludG8tcmN1LXByZWVtcHQtZm9yLXJ0LnBhdGNoCkBAIC0zMCwxMCArMzAsOCBAQAogIGtlcm5lbC9yY3V0cmVlLmMgICAgICAgICB8ICAgMTAgKysrKysrKysrKwogIDQgZmlsZXMgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3JjdXBkYXRlLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3JjdXBkYXRlLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9yY3VwZGF0ZS5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3JjdXBkYXRlLmgKKysrKyBiL2luY2x1ZGUvbGludXgvcmN1cGRhdGUuaAogQEAgLTEyOCw2ICsxMjgsOSBAQCBleHRlcm4gdm9pZCBjYWxsX3JjdShzdHJ1Y3QgcmN1X2hlYWQgKmhlCiAgCiAgI2VuZGlmIC8qICNlbHNlICNpZmRlZiBDT05GSUdfUFJFRU1QVF9SQ1UgKi8KQEAgLTExMSwxMCArMTA5LDggQEAKICAJbG9jYWxfYmhfZW5hYmxlKCk7CiAgfQogIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3JjdXRyZWUuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvcmN1dHJlZS5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvcmN1dHJlZS5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3JjdXRyZWUuaAorKysrIGIvaW5jbHVkZS9saW51eC9yY3V0cmVlLmgKIEBAIC00NSw3ICs0NSwxMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcmN1X3ZpcnRfbm90ZV9jb250ZXh0CiAgCXJjdV9ub3RlX2NvbnRleHRfc3dpdGNoKGNwdSk7CiAgfQpAQCAtMTYwLDEwICsxNTYsOCBAQAogKyNlbmRpZgogKwogICNlbmRpZiAvKiBfX0xJTlVYX1JDVVRSRUVfSCAqLwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvcmN1cGRhdGUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9yY3VwZGF0ZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9yY3VwZGF0ZS5jCistLS0gYS9rZXJuZWwvcmN1cGRhdGUuYworKysrIGIva2VybmVsL3JjdXBkYXRlLmMKIEBAIC0xNTYsNiArMTU2LDcgQEAgaW50IGRlYnVnX2xvY2tkZXBfcmN1X2VuYWJsZWQodm9pZCkKICB9CiAgRVhQT1JUX1NZTUJPTF9HUEwoZGVidWdfbG9ja2RlcF9yY3VfZW5hYmxlZCk7CkBAIC0xODAsMTAgKzE3NCw4IEBACiAgCiAgI2VuZGlmIC8qICNpZmRlZiBDT05GSUdfREVCVUdfTE9DS19BTExPQyAqLwogIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvcmN1dHJlZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3JjdXRyZWUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvcmN1dHJlZS5jCistLS0gYS9rZXJuZWwvcmN1dHJlZS5jCisrKysgYi9rZXJuZWwvcmN1dHJlZS5jCiBAQCAtMTgyLDYgKzE4Miw3IEBAIHZvaWQgcmN1X3NjaGVkX3FzKGludCBjcHUpCiAgCXJkcC0+cGFzc2VkX3F1aWVzY2UgPSAxOwogIH0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvcmN1LW1vcmUtc3dhaXQtY29udmVyc2lvbnMucGF0Y2ggYi9wYXRjaGVzL3JjdS1tb3JlLXN3YWl0LWNvbnZlcnNpb25zLnBhdGNoCmluZGV4IDlmZjFmNTAuLmFkYjg1YzEgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcmN1LW1vcmUtc3dhaXQtY29udmVyc2lvbnMucGF0Y2gKKysrIGIvcGF0Y2hlcy9yY3UtbW9yZS1zd2FpdC1jb252ZXJzaW9ucy5wYXRjaApAQCAtOCwxMCArOCw4IEBACiAga2VybmVsL3JjdXRyZWVfcGx1Z2luLmggfCAgIDE0ICsrKysrKystLS0tLS0tCiAgMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9yY3V0cmVlLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvcmN1dHJlZS5oCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9yY3V0cmVlLmgKKy0tLSBhL2tlcm5lbC9yY3V0cmVlLmgKKysrKyBiL2tlcm5lbC9yY3V0cmVlLmgKIEBAIC0yOCw2ICsyOCw3IEBACiAgI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KICAjaW5jbHVkZSA8bGludXgvc2VxbG9jay5oPgpAQCAtMzgsMTAgKzM2LDggQEAKICAJc3RydWN0IHRhc2tfc3RydWN0ICpub2NiX2t0aHJlYWQ7CiAgI2VuZGlmIC8qICNpZmRlZiBDT05GSUdfUkNVX05PQ0JfQ1BVICovCiAgCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9yY3V0cmVlX3BsdWdpbi5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3JjdXRyZWVfcGx1Z2luLmgKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3JjdXRyZWVfcGx1Z2luLmgKKy0tLSBhL2tlcm5lbC9yY3V0cmVlX3BsdWdpbi5oCisrKysgYi9rZXJuZWwvcmN1dHJlZV9wbHVnaW4uaAogQEAgLTIwMzYsNyArMjAzNiw3IEBAIHN0YXRpYyBpbnQgcmN1X25vY2JfbmVlZHNfZ3Aoc3RydWN0IHJjdV8KICAgKi8KICBzdGF0aWMgdm9pZCByY3Vfbm9jYl9ncF9jbGVhbnVwKHN0cnVjdCByY3Vfc3RhdGUgKnJzcCwgc3RydWN0IHJjdV9ub2RlICpybnApCmRpZmYgLS1naXQgYS9wYXRjaGVzL3JjdS10aW55LW1lcmdlLWJoLnBhdGNoIGIvcGF0Y2hlcy9yY3UtdGlueS1tZXJnZS1iaC5wYXRjaAppbmRleCA0YzI3ZmYzLi5lYmEzZjM0IDEwMDY0NAotLS0gYS9wYXRjaGVzL3JjdS10aW55LW1lcmdlLWJoLnBhdGNoCisrKyBiL3BhdGNoZXMvcmN1LXRpbnktbWVyZ2UtYmgucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGtlcm5lbC9yY3V0aW55LmMgfCAgICAyICsrCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9yY3V0aW55LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvcmN1dGlueS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9yY3V0aW55LmMKKy0tLSBhL2tlcm5lbC9yY3V0aW55LmMKKysrKyBiL2tlcm5lbC9yY3V0aW55LmMKIEBAIC0zNzMsNiArMzczLDcgQEAgdm9pZCBjYWxsX3JjdV9zY2hlZChzdHJ1Y3QgcmN1X2hlYWQgKmhlYQogIH0KICBFWFBPUlRfU1lNQk9MX0dQTChjYWxsX3JjdV9zY2hlZCk7CmRpZmYgLS1naXQgYS9wYXRjaGVzL3JjdS10aW55LXNvbHZlLXJ0LW1pc3RlcnkucGF0Y2ggYi9wYXRjaGVzL3JjdS10aW55LXNvbHZlLXJ0LW1pc3RlcnkucGF0Y2gKaW5kZXggZTRhMGFmMS4uYTgxYTY0NCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9yY3UtdGlueS1zb2x2ZS1ydC1taXN0ZXJ5LnBhdGNoCisrKyBiL3BhdGNoZXMvcmN1LXRpbnktc29sdmUtcnQtbWlzdGVyeS5wYXRjaApAQCAtMjksMTAgKzI5LDggQEAKICBrZXJuZWwvcmN1dGlueV9wbHVnaW4uaCB8ICAgIDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvcmN1dGlueV9wbHVnaW4uaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9yY3V0aW55X3BsdWdpbi5oCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9yY3V0aW55X3BsdWdpbi5oCistLS0gYS9rZXJuZWwvcmN1dGlueV9wbHVnaW4uaAorKysrIGIva2VybmVsL3JjdXRpbnlfcGx1Z2luLmgKIEBAIC02MDksNyArNjA5LDcgQEAgdm9pZCByY3VfcmVhZF91bmxvY2tfc3BlY2lhbChzdHJ1Y3QgdGFzawogIAkJcmN1X3ByZWVtcHRfY3B1X3FzKCk7CiAgCmRpZmYgLS1naXQgYS9wYXRjaGVzL3JjdXRpbnktdXNlLXNpbXBsZS13YWl0cXVldWUucGF0Y2ggYi9wYXRjaGVzL3JjdXRpbnktdXNlLXNpbXBsZS13YWl0cXVldWUucGF0Y2gKaW5kZXggOTgxMTUxYi4uMmY1N2NkMiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9yY3V0aW55LXVzZS1zaW1wbGUtd2FpdHF1ZXVlLnBhdGNoCisrKyBiL3BhdGNoZXMvcmN1dGlueS11c2Utc2ltcGxlLXdhaXRxdWV1ZS5wYXRjaApAQCAtOSwxMCArOSw4IEBACiAga2VybmVsL3JjdXRpbnlfcGx1Z2luLmggfCAgIDE3ICsrKysrKysrKy0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvcmN1dGlueV9wbHVnaW4uaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9yY3V0aW55X3BsdWdpbi5oCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9yY3V0aW55X3BsdWdpbi5oCistLS0gYS9rZXJuZWwvcmN1dGlueV9wbHVnaW4uaAorKysrIGIva2VybmVsL3JjdXRpbnlfcGx1Z2luLmgKIEBAIC0yNiw2ICsyNiw3IEBACiAgI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogICNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CmRpZmYgLS1naXQgYS9wYXRjaGVzL3JlLW1pZ3JhdGVfZGlzYWJsZS1yYWNlLXdpdGgtY3B1LWhvdHBsdWctM2YucGF0Y2ggYi9wYXRjaGVzL3JlLW1pZ3JhdGVfZGlzYWJsZS1yYWNlLXdpdGgtY3B1LWhvdHBsdWctM2YucGF0Y2gKaW5kZXggNWFkYWQ1NS4uNWI3ZTk4MyAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9yZS1taWdyYXRlX2Rpc2FibGUtcmFjZS13aXRoLWNwdS1ob3RwbHVnLTNmLnBhdGNoCisrKyBiL3BhdGNoZXMvcmUtbWlncmF0ZV9kaXNhYmxlLXJhY2Utd2l0aC1jcHUtaG90cGx1Zy0zZi5wYXRjaApAQCAtMTcsMTAgKzE3LDggQEAKICBrZXJuZWwvY3B1LmMgfCAgICA0ICsrKy0KICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2NwdS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2NwdS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9jcHUuYworLS0tIGEva2VybmVsL2NwdS5jCisrKysgYi9rZXJuZWwvY3B1LmMKIEBAIC04MSw5ICs4MSwxMSBAQCBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IGhvdHBsdWdfcGNwCiAgICovCiAgdm9pZCBwaW5fY3VycmVudF9jcHUodm9pZCkKZGlmZiAtLWdpdCBhL3BhdGNoZXMvcmVsYXktZml4LXRpbWVyLW1hZG5lc3MucGF0Y2ggYi9wYXRjaGVzL3JlbGF5LWZpeC10aW1lci1tYWRuZXNzLnBhdGNoCmluZGV4IDVhNDEwYmUuLmRhM2U2ODMgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcmVsYXktZml4LXRpbWVyLW1hZG5lc3MucGF0Y2gKKysrIGIvcGF0Y2hlcy9yZWxheS1maXgtdGltZXItbWFkbmVzcy5wYXRjaApAQCAtMTMsMTAgKzEzLDggQEAKICBrZXJuZWwvcmVsYXkuYyB8ICAgMTQgKysrKystLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9yZWxheS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3JlbGF5LmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3JlbGF5LmMKKy0tLSBhL2tlcm5lbC9yZWxheS5jCisrKysgYi9rZXJuZWwvcmVsYXkuYwogQEAgLTMzOSw2ICszMzksMTAgQEAgc3RhdGljIHZvaWQgd2FrZXVwX3JlYWRlcnModW5zaWduZWQgbG9uZwogIHsKICAJc3RydWN0IHJjaGFuX2J1ZiAqYnVmID0gKHN0cnVjdCByY2hhbl9idWYgKilkYXRhOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9yZXNvdXJjZS1jb3VudGVycy11c2UtbG9jYWxpcnEtbm9ydC5wYXRjaCBiL3BhdGNoZXMvcmVzb3VyY2UtY291bnRlcnMtdXNlLWxvY2FsaXJxLW5vcnQucGF0Y2gKaW5kZXggMDAwMjliMy4uZTM5ZGU0ZCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9yZXNvdXJjZS1jb3VudGVycy11c2UtbG9jYWxpcnEtbm9ydC5wYXRjaAorKysgYi9wYXRjaGVzL3Jlc291cmNlLWNvdW50ZXJzLXVzZS1sb2NhbGlycS1ub3J0LnBhdGNoCkBAIC00NiwxMCArNDYsOCBAQAogIGtlcm5lbC9yZXNfY291bnRlci5jIHwgICAgOCArKysrLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3Jlc19jb3VudGVyLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvcmVzX2NvdW50ZXIuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvcmVzX2NvdW50ZXIuYworLS0tIGEva2VybmVsL3Jlc19jb3VudGVyLmMKKysrKyBiL2tlcm5lbC9yZXNfY291bnRlci5jCiBAQCAtNDksNyArNDksNyBAQCBzdGF0aWMgaW50IF9fcmVzX2NvdW50ZXJfY2hhcmdlKHN0cnVjdCByCiAgCiAgCXIgPSByZXQgPSAwOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9yZXZlcnQtODBkNWMzNjg5Yjg4NjMwODI0N2RhMjk1YTIyOGE1NGRmNDlhNDRmNi5wYXRjaCBiL3BhdGNoZXMvcmV2ZXJ0LTgwZDVjMzY4OWI4ODYzMDgyNDdkYTI5NWEyMjhhNTRkZjQ5YTQ0ZjYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUwNjhkZTMuLjAwMDAwMDAKLS0tIGEvcGF0Y2hlcy9yZXZlcnQtODBkNWMzNjg5Yjg4NjMwODI0N2RhMjk1YTIyOGE1NGRmNDlhNDRmNi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb206IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPGJpZ2Vhc3lAbGludXRyb25peC5kZT4KLVN1YmplY3Q6IFtQQVRDSF0gbmV0L2Nwc3c6IHJldmVydCA4MGQ1YzM2ODliODg2MzA4MjQ3ZGEyOTVhMjI4YTU0ZGY0OWE0NGY2Ci0KLVNpZ25lZC1vZmYtYnk6IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPGJpZ2Vhc3lAbGludXRyb25peC5kZT4KLS0tLQotIGRyaXZlcnMvbmV0L2V0aGVybmV0L3RpL2Nwc3cuYyB8ICAgIDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvY3Bzdy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvY3Bzdy5jCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvbmV0L2V0aGVybmV0L3RpL2Nwc3cuYwotQEAgLTEyODYsNyArMTI4Niw3IEBAIGNsZWFuX3ZpZDoKLSB9Ci0gCi0gc3RhdGljIGludCBjcHN3X25kb192bGFuX3J4X2FkZF92aWQoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsCi0tCQkJCSAgICBfX2JlMTYgcHJvdG8sIHUxNiB2aWQpCi0rCQl1bnNpZ25lZCBzaG9ydCB2aWQpCi0gewotIAlzdHJ1Y3QgY3Bzd19wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYobmRldik7Ci0gCi1AQCAtMTI5OCw3ICsxMjk4LDcgQEAgc3RhdGljIGludCBjcHN3X25kb192bGFuX3J4X2FkZF92aWQoc3RydQotIH0KLSAKLSBzdGF0aWMgaW50IGNwc3dfbmRvX3ZsYW5fcnhfa2lsbF92aWQoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsCi0tCQkJCSAgICAgX19iZTE2IHByb3RvLCB1MTYgdmlkKQotKwkJdW5zaWduZWQgc2hvcnQgdmlkKQotIHsKLSAJc3RydWN0IGNwc3dfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KG5kZXYpOwotIAlpbnQgcmV0OwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9yZXZlcnQtZjY0Njk2OGY4ZjdjNjI0NTg3ZGU3MjkxMTVkODAyMzcyYjkwNjNkZC5wYXRjaCBiL3BhdGNoZXMvcmV2ZXJ0LWY2NDY5NjhmOGY3YzYyNDU4N2RlNzI5MTE1ZDgwMjM3MmI5MDYzZGQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4NWUyMzUuLjAwMDAwMDAKLS0tIGEvcGF0Y2hlcy9yZXZlcnQtZjY0Njk2OGY4ZjdjNjI0NTg3ZGU3MjkxMTVkODAyMzcyYjkwNjNkZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb206IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPGJpZ2Vhc3lAbGludXRyb25peC5kZT4KLVN1YmplY3Q6IFtQQVRDSF0gbmV0L2Nwc3c6IHJldmVydCBmNjQ2OTY4ZjhmN2M2MjQ1ODdkZTcyOTExNWQ4MDIzNzJiOTA2M2RkCi0KLVNpZ25lZC1vZmYtYnk6IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPGJpZ2Vhc3lAbGludXRyb25peC5kZT4KLS0tLQotIGRyaXZlcnMvbmV0L2V0aGVybmV0L3RpL2Nwc3cuYyB8ICAgIDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvY3Bzdy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvY3Bzdy5jCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvbmV0L2V0aGVybmV0L3RpL2Nwc3cuYwotQEAgLTE2MzMsNyArMTYzMyw3IEBAIHN0YXRpYyBpbnQgY3Bzd19wcm9iZV9kdWFsX2VtYWMoc3RydWN0IHAKLSAJCXByaXZfc2wyLT5pcnFzX3RhYmxlW2ldID0gcHJpdi0+aXJxc190YWJsZVtpXTsKLSAJCXByaXZfc2wyLT5udW1faXJxcyA9IHByaXYtPm51bV9pcnFzOwotIAl9Ci0tCW5kZXYtPmZlYXR1cmVzIHw9IE5FVElGX0ZfSFdfVkxBTl9DVEFHX0ZJTFRFUjsKLSsJbmRldi0+ZmVhdHVyZXMgfD0gTkVUSUZfRl9IV19WTEFOX0ZJTFRFUjsKLSAKLSAJbmRldi0+bmV0ZGV2X29wcyA9ICZjcHN3X25ldGRldl9vcHM7Ci0gCVNFVF9FVEhUT09MX09QUyhuZGV2LCAmY3Bzd19ldGh0b29sX29wcyk7Ci1AQCAtMTg3Miw3ICsxODcyLDcgQEAgc3RhdGljIGludCBjcHN3X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZQotIAkJaysrOwotIAl9Ci0gCi0tCW5kZXYtPmZlYXR1cmVzIHw9IE5FVElGX0ZfSFdfVkxBTl9DVEFHX0ZJTFRFUjsKLSsJbmRldi0+ZmVhdHVyZXMgfD0gTkVUSUZfRl9IV19WTEFOX0ZJTFRFUjsKLSAKLSAJbmRldi0+bmV0ZGV2X29wcyA9ICZjcHN3X25ldGRldl9vcHM7Ci0gCVNFVF9FVEhUT09MX09QUyhuZGV2LCAmY3Bzd19ldGh0b29sX29wcyk7CmRpZmYgLS1naXQgYS9wYXRjaGVzL3JldmVydC1mOWE4ZjgzYjA0ZTBjMzYyYTJmYzY2MGRiYWQ5ODBkMjRhZjIwOWZjLnBhdGNoIGIvcGF0Y2hlcy9yZXZlcnQtZjlhOGY4M2IwNGUwYzM2MmEyZmM2NjBkYmFkOTgwZDI0YWYyMDlmYy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWNlYTI0MC4uMDAwMDAwMAotLS0gYS9wYXRjaGVzL3JldmVydC1mOWE4ZjgzYjA0ZTBjMzYyYTJmYzY2MGRiYWQ5ODBkMjRhZjIwOWZjLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotRnJvbTogU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8YmlnZWFzeUBsaW51dHJvbml4LmRlPgotU3ViamVjdDogW1BBVENIXSBuZXQvY3BzdzogcmV2ZXJ0IGY5YThmODNiMDRlMGMzNjJhMmZjNjYwZGJhZDk4MGQyNGFmMjA5ZmMKLQotU2lnbmVkLW9mZi1ieTogU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8YmlnZWFzeUBsaW51dHJvbml4LmRlPgotLS0tCi0gZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvY3BtYWMuYyAgICAgICAgfCAgICA0ICsrLS0KLSBkcml2ZXJzL25ldC9ldGhlcm5ldC90aS9jcHN3LmMgICAgICAgICB8ICAgIDIgKy0KLSBkcml2ZXJzL25ldC9ldGhlcm5ldC90aS9kYXZpbmNpX2VtYWMuYyB8ICAgIDIgKy0KLSAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL25ldC9ldGhlcm5ldC90aS9jcG1hYy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvY3BtYWMuYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL25ldC9ldGhlcm5ldC90aS9jcG1hYy5jCi1AQCAtMTE3Miw4ICsxMTcyLDggQEAgc3RhdGljIGludCBjcG1hY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZAotIAlzbnByaW50Zihwcml2LT5waHlfbmFtZSwgTUlJX0JVU19JRF9TSVpFLCBQSFlfSURfRk1ULAotIAkJCQkJCW1kaW9fYnVzX2lkLCBwaHlfaWQpOwotIAotLQlwcml2LT5waHkgPSBwaHlfY29ubmVjdChkZXYsIHByaXYtPnBoeV9uYW1lLCBjcG1hY19hZGp1c3RfbGluaywKLS0JCQkJUEhZX0lOVEVSRkFDRV9NT0RFX01JSSk7Ci0rCXByaXYtPnBoeSA9IHBoeV9jb25uZWN0KGRldiwgcHJpdi0+cGh5X25hbWUsIGNwbWFjX2FkanVzdF9saW5rLCAwLAotKwkJCQkJCVBIWV9JTlRFUkZBQ0VfTU9ERV9NSUkpOwotIAotIAlpZiAoSVNfRVJSKHByaXYtPnBoeSkpIHsKLSAJCWlmIChuZXRpZl9tc2dfZHJ2KHByaXYpKQotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL25ldC9ldGhlcm5ldC90aS9jcHN3LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL25ldC9ldGhlcm5ldC90aS9jcHN3LmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvY3Bzdy5jCi1AQCAtODE3LDcgKzgxNyw3IEBAIHN0YXRpYyB2b2lkIGNwc3dfc2xhdmVfb3BlbihzdHJ1Y3QgY3Bzd18KLSAJCQkJICAgMSA8PCBzbGF2ZV9wb3J0LCAwLCAwLCBBTEVfTUNBU1RfRldEXzIpOwotIAotIAlzbGF2ZS0+cGh5ID0gcGh5X2Nvbm5lY3QocHJpdi0+bmRldiwgc2xhdmUtPmRhdGEtPnBoeV9pZCwKLS0JCQkJICZjcHN3X2FkanVzdF9saW5rLCBzbGF2ZS0+ZGF0YS0+cGh5X2lmKTsKLSsJCQkJICZjcHN3X2FkanVzdF9saW5rLCAwLCBzbGF2ZS0+ZGF0YS0+cGh5X2lmKTsKLSAJaWYgKElTX0VSUihzbGF2ZS0+cGh5KSkgewotIAkJZGV2X2Vycihwcml2LT5kZXYsICJwaHkgJXMgbm90IGZvdW5kIG9uIHNsYXZlICVkXG4iLAotIAkJCXNsYXZlLT5kYXRhLT5waHlfaWQsIHNsYXZlLT5zbGF2ZV9udW0pOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL25ldC9ldGhlcm5ldC90aS9kYXZpbmNpX2VtYWMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2RyaXZlcnMvbmV0L2V0aGVybmV0L3RpL2RhdmluY2lfZW1hYy5jCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvbmV0L2V0aGVybmV0L3RpL2RhdmluY2lfZW1hYy5jCi1AQCAtMTYwMCw3ICsxNjAwLDcgQEAgc3RhdGljIGludCBlbWFjX2Rldl9vcGVuKHN0cnVjdCBuZXRfZGV2aQotIAotIAlpZiAocHJpdi0+cGh5X2lkICYmICpwcml2LT5waHlfaWQpIHsKLSAJCXByaXYtPnBoeWRldiA9IHBoeV9jb25uZWN0KG5kZXYsIHByaXYtPnBoeV9pZCwKLS0JCQkJCSAgICZlbWFjX2FkanVzdF9saW5rLAotKwkJCQkJICAgJmVtYWNfYWRqdXN0X2xpbmssIDAsCi0gCQkJCQkgICBQSFlfSU5URVJGQUNFX01PREVfTUlJKTsKLSAKLSAJCWlmIChJU19FUlIocHJpdi0+cGh5ZGV2KSkgewpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9yZmMtc2NoZWQtcnQtZml4LXdhaXRfdGFza19pbnRlcmFjdGl2ZS10by10ZXN0LXJ0X3NwaW5fbG9jay1zdGF0ZS5wYXRjaCBiL3BhdGNoZXMvcmZjLXNjaGVkLXJ0LWZpeC13YWl0X3Rhc2tfaW50ZXJhY3RpdmUtdG8tdGVzdC1ydF9zcGluX2xvY2stc3RhdGUucGF0Y2gKaW5kZXggYTNiZTdmZC4uMDlhZWY2ZSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9yZmMtc2NoZWQtcnQtZml4LXdhaXRfdGFza19pbnRlcmFjdGl2ZS10by10ZXN0LXJ0X3NwaW5fbG9jay1zdGF0ZS5wYXRjaAorKysgYi9wYXRjaGVzL3JmYy1zY2hlZC1ydC1maXgtd2FpdF90YXNrX2ludGVyYWN0aXZlLXRvLXRlc3QtcnRfc3Bpbl9sb2NrLXN0YXRlLnBhdGNoCkBAIC0yMiwxMCArMjIsOCBAQAogIGtlcm5lbC9zY2hlZC9jb3JlLmMgfCAgICA2ICsrKystLQogIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zY2hlZC9jb3JlLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYworLS0tIGEva2VybmVsL3NjaGVkL2NvcmUuYworKysrIGIva2VybmVsL3NjaGVkL2NvcmUuYwogQEAgLTEwODQsNyArMTA4NCw4IEBAIHVuc2lnbmVkIGxvbmcgd2FpdF90YXNrX2luYWN0aXZlKHN0cnVjdAogIAkJICogaXMgYWN0dWFsbHkgbm93IHJ1bm5pbmcgc29tZXdoZXJlIGVsc2UhCiAgCQkgKi8KZGlmZiAtLWdpdCBhL3BhdGNoZXMvcnQtYWRkLXJ0LWxvY2tzLnBhdGNoIGIvcGF0Y2hlcy9ydC1hZGQtcnQtbG9ja3MucGF0Y2gKaW5kZXggNmMzZmFiNS4uYzVkZmI1MCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9ydC1hZGQtcnQtbG9ja3MucGF0Y2gKKysrIGIvcGF0Y2hlcy9ydC1hZGQtcnQtbG9ja3MucGF0Y2gKQEAgLTE4LDEwICsxOCw4IEBACiAgbGliL3NwaW5sb2NrX2RlYnVnLmMgICAgICAgICAgICAgfCAgICA1IAogIDggZmlsZXMgY2hhbmdlZCwgNzU2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9yd2xvY2tfcnQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3J3bG9ja19ydC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3J3bG9ja19ydC5oCiBAQCAtMCwwICsxLDEyMyBAQAogKyNpZm5kZWYgX19MSU5VWF9SV0xPQ0tfUlRfSAogKyNkZWZpbmUgX19MSU5VWF9SV0xPQ0tfUlRfSApAQCAtMTQ2LDEwICsxNDQsOCBAQAogKwl9IHdoaWxlICgwKQogKwogKyNlbmRpZgotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NwaW5sb2NrLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3NwaW5sb2NrLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zcGlubG9jay5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3NwaW5sb2NrLmgKKysrKyBiL2luY2x1ZGUvbGludXgvc3BpbmxvY2suaAogQEAgLTI1NCw3ICsyNTQsMTEgQEAgc3RhdGljIGlubGluZSB2b2lkIGRvX3Jhd19zcGluX3VubG9jayhyYQogICNkZWZpbmUgcmF3X3NwaW5fY2FuX2xvY2sobG9jaykJKCFyYXdfc3Bpbl9pc19sb2NrZWQobG9jaykpCiAgCkBAIC0xODEsMTAgKzE3Nyw4IEBACiArI2VuZGlmIC8qICFQUkVFTVBUX1JUX0ZVTEwgKi8KICsKICAjZW5kaWYgLyogX19MSU5VWF9TUElOTE9DS19IICovCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc3BpbmxvY2tfYXBpX3NtcC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9zcGlubG9ja19hcGlfc21wLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zcGlubG9ja19hcGlfc21wLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvc3BpbmxvY2tfYXBpX3NtcC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3NwaW5sb2NrX2FwaV9zbXAuaAogQEAgLTE5MSw2ICsxOTEsOCBAQCBzdGF0aWMgaW5saW5lIGludCBfX3Jhd19zcGluX3RyeWxvY2tfYmgoCiAgCXJldHVybiAwOwogIH0KQEAgLTE5NSwxMCArMTg5LDggQEAKICsjZW5kaWYKICAKICAjZW5kaWYgLyogX19MSU5VWF9TUElOTE9DS19BUElfU01QX0ggKi8KLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zcGlubG9ja19ydC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc3BpbmxvY2tfcnQuaAorKysrIGIvaW5jbHVkZS9saW51eC9zcGlubG9ja19ydC5oCiBAQCAtMCwwICsxLDE1OCBAQAogKyNpZm5kZWYgX19MSU5VWF9TUElOTE9DS19SVF9ICiArI2RlZmluZSBfX0xJTlVYX1NQSU5MT0NLX1JUX0gKQEAgLTM1OCwxMCArMzUwLDggQEAKICsJYXRvbWljX2RlY19hbmRfc3Bpbl9sb2NrKGF0b21pYywgbG9jaykKICsKICsjZW5kaWYKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL01ha2VmaWxlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL01ha2VmaWxlCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9NYWtlZmlsZQorLS0tIGEva2VybmVsL01ha2VmaWxlCisrKysgYi9rZXJuZWwvTWFrZWZpbGUKIEBAIC03LDggKzcsOCBAQCBvYmoteSAgICAgPSBmb3JrLm8gZXhlY19kb21haW4ubyBwYW5pYy5vCiAgCSAgICBzeXNjdGwubyBzeXNjdGxfYmluYXJ5Lm8gY2FwYWJpbGl0eS5vIHB0cmFjZS5vIHRpbWVyLm8gdXNlci5vIFwKICAJICAgIHNpZ25hbC5vIHN5cy5vIGttb2QubyB3b3JrcXVldWUubyBwaWQubyB0YXNrX3dvcmsubyBcCkBAIC0zOTMsMTAgKzM4Myw4IEBACiAgb2JqLSQoQ09ORklHX0dFTkVSSUNfSVNBX0RNQSkgKz0gZG1hLm8KICBvYmotJChDT05GSUdfU01QKSArPSBzbXAubwogIGlmbmVxICgkKENPTkZJR19TTVApLHkpCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9ydC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9ydC5jCisrKysgYi9rZXJuZWwvcnQuYwogQEAgLTAsMCArMSw0NDIgQEAKICsvKgogKyAqIGtlcm5lbC9ydC5jCkBAIC04NDAsMTAgKzgyOCw4IEBACiArCXJldHVybiAxOwogK30KICtFWFBPUlRfU1lNQk9MKGF0b21pY19kZWNfYW5kX211dGV4X2xvY2spOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc3BpbmxvY2suYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zcGlubG9jay5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zcGlubG9jay5jCistLS0gYS9rZXJuZWwvc3BpbmxvY2suYworKysrIGIva2VybmVsL3NwaW5sb2NrLmMKIEBAIC0xMTAsOCArMTEwLDExIEBAIHZvaWQgX19sb2NrZnVuYyBfX3Jhd18jI29wIyNfbG9ja19iaChsb2MKICAgKiAgICAgICAgIF9fW3NwaW58cmVhZHx3cml0ZV1fbG9ja19iaCgpCiAgICovCkBAIC04NzQsMTAgKzg2MCw4IEBACiAgI2lmZGVmIENPTkZJR19ERUJVR19MT0NLX0FMTE9DCiAgCiAgdm9pZCBfX2xvY2tmdW5jIF9yYXdfc3Bpbl9sb2NrX25lc3RlZChyYXdfc3BpbmxvY2tfdCAqbG9jaywgaW50IHN1YmNsYXNzKQotSW5kZXg6IGxpbnV4LXN0YWJsZS9saWIvc3BpbmxvY2tfZGVidWcuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2xpYi9zcGlubG9ja19kZWJ1Zy5jCi0rKysgbGludXgtc3RhYmxlL2xpYi9zcGlubG9ja19kZWJ1Zy5jCistLS0gYS9saWIvc3BpbmxvY2tfZGVidWcuYworKysrIGIvbGliL3NwaW5sb2NrX2RlYnVnLmMKIEBAIC0zMSw2ICszMSw3IEBAIHZvaWQgX19yYXdfc3Bpbl9sb2NrX2luaXQocmF3X3NwaW5sb2NrX3QKICAKICBFWFBPUlRfU1lNQk9MKF9fcmF3X3NwaW5fbG9ja19pbml0KTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvcnQtYWRkLXJ0LXNwaW5sb2NrLXRvLWhlYWRlcnMucGF0Y2ggYi9wYXRjaGVzL3J0LWFkZC1ydC1zcGlubG9jay10by1oZWFkZXJzLnBhdGNoCmluZGV4IDlkNjU3NzguLjExMTdiZmIgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcnQtYWRkLXJ0LXNwaW5sb2NrLXRvLWhlYWRlcnMucGF0Y2gKKysrIGIvcGF0Y2hlcy9ydC1hZGQtcnQtc3BpbmxvY2stdG8taGVhZGVycy5wYXRjaApAQCAtOSwxMCArOSw4IEBACiAgaW5jbHVkZS9saW51eC9zcGlubG9ja190eXBlc19ydC5oIHwgICA1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogIDMgZmlsZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3J3bG9ja190eXBlc19ydC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvcndsb2NrX3R5cGVzX3J0LmgKKysrKyBiL2luY2x1ZGUvbGludXgvcndsb2NrX3R5cGVzX3J0LmgKIEBAIC0wLDAgKzEsMzMgQEAKICsjaWZuZGVmIF9fTElOVVhfUldMT0NLX1RZUEVTX1JUX0gKICsjZGVmaW5lIF9fTElOVVhfUldMT0NLX1RZUEVTX1JUX0gKQEAgLTQ3LDEwICs0NSw4IEBACiArCXJ3bG9ja190IG5hbWUgX19jYWNoZWxpbmVfYWxpZ25lZF9pbl9zbXAgPSBfX1JXX0xPQ0tfVU5MT0NLRUQobmFtZSkKICsKICsjZW5kaWYKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zcGlubG9ja190eXBlcy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9zcGlubG9ja190eXBlcy5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc3BpbmxvY2tfdHlwZXMuaAorLS0tIGEvaW5jbHVkZS9saW51eC9zcGlubG9ja190eXBlcy5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3NwaW5sb2NrX3R5cGVzLmgKIEBAIC0xMSw4ICsxMSwxMyBAQAogIAogICNpbmNsdWRlIDxsaW51eC9zcGlubG9ja190eXBlc19yYXcuaD4KQEAgLTY4LDEwICs2NCw4IEBACiArI2VuZGlmCiAgCiAgI2VuZGlmIC8qIF9fTElOVVhfU1BJTkxPQ0tfVFlQRVNfSCAqLwotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NwaW5sb2NrX3R5cGVzX3J0LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zcGlubG9ja190eXBlc19ydC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3NwaW5sb2NrX3R5cGVzX3J0LmgKIEBAIC0wLDAgKzEsNTEgQEAKICsjaWZuZGVmIF9fTElOVVhfU1BJTkxPQ0tfVFlQRVNfUlRfSAogKyNkZWZpbmUgX19MSU5VWF9TUElOTE9DS19UWVBFU19SVF9ICmRpZmYgLS1naXQgYS9wYXRjaGVzL3J0LWFkZC1ydC10by1tdXRleC1oZWFkZXJzLnBhdGNoIGIvcGF0Y2hlcy9ydC1hZGQtcnQtdG8tbXV0ZXgtaGVhZGVycy5wYXRjaAppbmRleCAzOGI2ZmM2Li4yYzFhMmI1IDEwMDY0NAotLS0gYS9wYXRjaGVzL3J0LWFkZC1ydC10by1tdXRleC1oZWFkZXJzLnBhdGNoCisrKyBiL3BhdGNoZXMvcnQtYWRkLXJ0LXRvLW11dGV4LWhlYWRlcnMucGF0Y2gKQEAgLTgsMTAgKzgsOCBAQAogIGluY2x1ZGUvbGludXgvbXV0ZXhfcnQuaCB8ICAgODQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKICAyIGZpbGVzIGNoYW5nZWQsIDk4IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9tdXRleC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9tdXRleC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvbXV0ZXguaAorLS0tIGEvaW5jbHVkZS9saW51eC9tdXRleC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L211dGV4LmgKIEBAIC0xNyw2ICsxNywxNyBAQAogIAogICNpbmNsdWRlIDxsaW51eC9hdG9taWMuaD4KQEAgLTU0LDEwICs1Miw4IEBACiAgZXh0ZXJuIGludCBhdG9taWNfZGVjX2FuZF9tdXRleF9sb2NrKGF0b21pY190ICpjbnQsIHN0cnVjdCBtdXRleCAqbG9jayk7CiAgCiAgI2lmbmRlZiBDT05GSUdfSEFWRV9BUkNIX01VVEVYX0NQVV9SRUxBWAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L211dGV4X3J0LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9tdXRleF9ydC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L211dGV4X3J0LmgKIEBAIC0wLDAgKzEsODQgQEAKICsjaWZuZGVmIF9fTElOVVhfTVVURVhfUlRfSAogKyNkZWZpbmUgX19MSU5VWF9NVVRFWF9SVF9ICmRpZmYgLS1naXQgYS9wYXRjaGVzL3J0LWludHJvZHVjZS1jcHUtY2hpbGwucGF0Y2ggYi9wYXRjaGVzL3J0LWludHJvZHVjZS1jcHUtY2hpbGwucGF0Y2gKaW5kZXggMWZhMjgxOC4uMDI4NjRhMCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9ydC1pbnRyb2R1Y2UtY3B1LWNoaWxsLnBhdGNoCisrKyBiL3BhdGNoZXMvcnQtaW50cm9kdWNlLWNwdS1jaGlsbC5wYXRjaApAQCAtMTMsMTAgKzEzLDggQEAKICBpbmNsdWRlL2xpbnV4L2RlbGF5LmggfCAgICA2ICsrKysrKwogIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2RlbGF5LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L2RlbGF5LmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9kZWxheS5oCistLS0gYS9pbmNsdWRlL2xpbnV4L2RlbGF5LmgKKysrKyBiL2luY2x1ZGUvbGludXgvZGVsYXkuaAogQEAgLTUyLDQgKzUyLDEwIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzc2xlZXAodW5zaWduZWQgaW50IHMKICAJbXNsZWVwKHNlY29uZHMgKiAxMDAwKTsKICB9CmRpZmYgLS1naXQgYS9wYXRjaGVzL3J0LWxvY2FsLWlycS1sb2NrLnBhdGNoIGIvcGF0Y2hlcy9ydC1sb2NhbC1pcnEtbG9jay5wYXRjaAppbmRleCBmY2RmNWEwLi4zMWFiODc5IDEwMDY0NAotLS0gYS9wYXRjaGVzL3J0LWxvY2FsLWlycS1sb2NrLnBhdGNoCisrKyBiL3BhdGNoZXMvcnQtbG9jYWwtaXJxLWxvY2sucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGluY2x1ZGUvbGludXgvbG9jYWxsb2NrLmggfCAgMjU0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKICAxIGZpbGUgY2hhbmdlZCwgMjU0IGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2xvY2FsbG9jay5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvbG9jYWxsb2NrLmgKKysrKyBiL2luY2x1ZGUvbGludXgvbG9jYWxsb2NrLmgKIEBAIC0wLDAgKzEsMjU0IEBACiArI2lmbmRlZiBfTElOVVhfTE9DQUxMT0NLX0gKICsjZGVmaW5lIF9MSU5VWF9MT0NBTExPQ0tfSApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9ydC1tdXRleC1hZGQtc2xlZXBpbmctc3BpbmxvY2tzLXN1cHBvcnQucGF0Y2ggYi9wYXRjaGVzL3J0LW11dGV4LWFkZC1zbGVlcGluZy1zcGlubG9ja3Mtc3VwcG9ydC5wYXRjaAppbmRleCA3NTRlY2Q3Li40MjYyZmE5IDEwMDY0NAotLS0gYS9wYXRjaGVzL3J0LW11dGV4LWFkZC1zbGVlcGluZy1zcGlubG9ja3Mtc3VwcG9ydC5wYXRjaAorKysgYi9wYXRjaGVzL3J0LW11dGV4LWFkZC1zbGVlcGluZy1zcGlubG9ja3Mtc3VwcG9ydC5wYXRjaApAQCAtMTAsMTAgKzEwLDggQEAKICBrZXJuZWwvcnRtdXRleF9jb21tb24uaCB8ICAgIDkgKwogIDQgZmlsZXMgY2hhbmdlZCwgNDA0IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvcnRtdXRleC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9ydG11dGV4LmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9ydG11dGV4LmgKKy0tLSBhL2luY2x1ZGUvbGludXgvcnRtdXRleC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3J0bXV0ZXguaAogQEAgLTI5LDkgKzI5LDEwIEBAIHN0cnVjdCBydF9tdXRleCB7CiAgCXJhd19zcGlubG9ja190CQl3YWl0X2xvY2s7CiAgCXN0cnVjdCBwbGlzdF9oZWFkCXdhaXRfbGlzdDsKQEAgLTcyLDEwICs3MCw4IEBACiAgCiAgI2RlZmluZSBERUZJTkVfUlRfTVVURVgobXV0ZXhuYW1lKSBcCiAgCXN0cnVjdCBydF9tdXRleCBtdXRleG5hbWUgPSBfX1JUX01VVEVYX0lOSVRJQUxJWkVSKG11dGV4bmFtZSkKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2Z1dGV4LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvZnV0ZXguYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvZnV0ZXguYworLS0tIGEva2VybmVsL2Z1dGV4LmMKKysrKyBiL2tlcm5lbC9mdXRleC5jCiBAQCAtMjMyNSw4ICsyMzI1LDcgQEAgc3RhdGljIGludCBmdXRleF93YWl0X3JlcXVldWVfcGkodTMyIF9fdQogIAkgKiBUaGUgd2FpdGVyIGlzIGFsbG9jYXRlZCBvbiBvdXIgc3RhY2ssIG1hbmlwdWxhdGVkIGJ5IHRoZSByZXF1ZXVlCiAgCSAqIGNvZGUgd2hpbGUgd2Ugc2xlZXAgb24gdWFkZHIuCkBAIC04NiwxMCArODIsOCBAQAogIAogIAlyZXQgPSBnZXRfZnV0ZXhfa2V5KHVhZGRyMiwgZmxhZ3MgJiBGTEFHU19TSEFSRUQsICZrZXkyLCBWRVJJRllfV1JJVEUpOwogIAlpZiAodW5saWtlbHkocmV0ICE9IDApKQotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvcnRtdXRleC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3J0bXV0ZXguYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvcnRtdXRleC5jCistLS0gYS9rZXJuZWwvcnRtdXRleC5jCisrKysgYi9rZXJuZWwvcnRtdXRleC5jCiBAQCAtOCw2ICs4LDEyIEBACiAgICogIENvcHlyaWdodCAoQykgMjAwNSBLaWhvbiBUZWNobm9sb2dpZXMgSW5jLiwgU3RldmVuIFJvc3RlZHQKICAgKiAgQ29weXJpZ2h0IChDKSAyMDA2IEVzYmVuIE5pZWxzZW4KQEAgLTExNiw3ICsxMTAsNyBAQAogIC8qCiAgICogQ2FsY3VsYXRlIHRhc2sgcHJpb3JpdHkgZnJvbSB0aGUgd2FpdGVyIGxpc3QgcHJpb3JpdHkKICAgKgotQEAgLTE0Myw2ICsxNTUsMTQgQEAgc3RhdGljIHZvaWQgcnRfbXV0ZXhfYWRqdXN0X3ByaW8oc3RydWN0CitAQCAtMTU1LDYgKzE2NywxNCBAQCBzdGF0aWMgdm9pZCBydF9tdXRleF9hZGp1c3RfcHJpbyhzdHJ1Y3QKICAJcmF3X3NwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnRhc2stPnBpX2xvY2ssIGZsYWdzKTsKICB9CiAgCkBAIC0xMzEsNyArMTI1LDcgQEAKICAvKgogICAqIE1heCBudW1iZXIgb2YgdGltZXMgd2UnbGwgd2FsayB0aGUgYm9vc3RpbmcgY2hhaW46CiAgICovCi1AQCAtMjU0LDEzICsyNzQsMTUgQEAgc3RhdGljIGludCBydF9tdXRleF9hZGp1c3RfcHJpb19jaGFpbihzdAorQEAgLTI2NiwxMyArMjg2LDE1IEBAIHN0YXRpYyBpbnQgcnRfbXV0ZXhfYWRqdXN0X3ByaW9fY2hhaW4oc3QKICAJLyogUmVsZWFzZSB0aGUgdGFzayAqLwogIAlyYXdfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdGFzay0+cGlfbG9jaywgZmxhZ3MpOwogIAlpZiAoIXJ0X211dGV4X293bmVyKGxvY2spKSB7CkBAIC0xNTAsNyArMTQ0LDcgQEAKICAJCXJhd19zcGluX3VubG9jaygmbG9jay0+d2FpdF9sb2NrKTsKICAJCWdvdG8gb3V0X3B1dF90YXNrOwogIAl9Ci1AQCAtMzA1LDYgKzMyNywyNSBAQCBzdGF0aWMgaW50IHJ0X211dGV4X2FkanVzdF9wcmlvX2NoYWluKHN0CitAQCAtMzE3LDYgKzMzOSwyNSBAQCBzdGF0aWMgaW50IHJ0X211dGV4X2FkanVzdF9wcmlvX2NoYWluKHN0CiAgCXJldHVybiByZXQ7CiAgfQogIApAQCAtMTc2LDcgKzE3MCw3IEBACiAgLyoKICAgKiBUcnkgdG8gdGFrZSBhbiBydC1tdXRleAogICAqCi1AQCAtMzE0LDggKzM1NSw5IEBAIHN0YXRpYyBpbnQgcnRfbXV0ZXhfYWRqdXN0X3ByaW9fY2hhaW4oc3QKK0BAIC0zMjYsOCArMzY3LDkgQEAgc3RhdGljIGludCBydF9tdXRleF9hZGp1c3RfcHJpb19jaGFpbihzdAogICAqIEB0YXNrOiAgIHRoZSB0YXNrIHdoaWNoIHdhbnRzIHRvIGFjcXVpcmUgdGhlIGxvY2sKICAgKiBAd2FpdGVyOiB0aGUgd2FpdGVyIHRoYXQgaXMgcXVldWVkIHRvIHRoZSBsb2NrJ3Mgd2FpdCBsaXN0LiAoY291bGQgYmUgTlVMTCkKICAgKi8KQEAgLTE4OCw3ICsxODIsNyBAQAogIHsKICAJLyoKICAJICogV2UgaGF2ZSB0byBiZSBjYXJlZnVsIGhlcmUgaWYgdGhlIGF0b21pYyBzcGVlZHVwcyBhcmUKLUBAIC0zNDgsMTIgKzM5MCwxNCBAQCBzdGF0aWMgaW50IHRyeV90b190YWtlX3J0X211dGV4KHN0cnVjdCByCitAQCAtMzYwLDEyICs0MDIsMTQgQEAgc3RhdGljIGludCB0cnlfdG9fdGFrZV9ydF9tdXRleChzdHJ1Y3QgcgogIAkgKiAzKSBpdCBpcyB0b3Agd2FpdGVyCiAgCSAqLwogIAlpZiAocnRfbXV0ZXhfaGFzX3dhaXRlcnMobG9jaykpIHsKQEAgLTIwNyw3ICsyMDEsNyBAQAogIAlpZiAod2FpdGVyIHx8IHJ0X211dGV4X2hhc193YWl0ZXJzKGxvY2spKSB7CiAgCQl1bnNpZ25lZCBsb25nIGZsYWdzOwogIAkJc3RydWN0IHJ0X211dGV4X3dhaXRlciAqdG9wOwotQEAgLTM3OCw3ICs0MjIsNiBAQCBzdGF0aWMgaW50IHRyeV90b190YWtlX3J0X211dGV4KHN0cnVjdCByCitAQCAtMzkwLDcgKzQzNCw2IEBAIHN0YXRpYyBpbnQgdHJ5X3RvX3Rha2VfcnRfbXV0ZXgoc3RydWN0IHIKICAJCXJhd19zcGluX3VubG9ja19pcnFyZXN0b3JlKCZ0YXNrLT5waV9sb2NrLCBmbGFncyk7CiAgCX0KICAKQEAgLTIxNSw3ICsyMDksNyBAQAogIAlkZWJ1Z19ydF9tdXRleF9sb2NrKGxvY2spOwogIAogIAlydF9tdXRleF9zZXRfb3duZXIobG9jaywgdGFzayk7Ci1AQCAtMzg4LDYgKzQzMSwxMyBAQCBzdGF0aWMgaW50IHRyeV90b190YWtlX3J0X211dGV4KHN0cnVjdCByCitAQCAtNDAwLDYgKzQ0MywxMyBAQCBzdGF0aWMgaW50IHRyeV90b190YWtlX3J0X211dGV4KHN0cnVjdCByCiAgCXJldHVybiAxOwogIH0KICAKQEAgLTIyOSw3ICsyMjMsNyBAQAogIC8qCiAgICogVGFzayBibG9ja3Mgb24gbG9jay4KICAgKgotQEAgLTUwMiw3ICs1NTIsNyBAQCBzdGF0aWMgdm9pZCB3YWtldXBfbmV4dF93YWl0ZXIoc3RydWN0IHJ0CitAQCAtNTE0LDcgKzU2NCw3IEBAIHN0YXRpYyB2b2lkIHdha2V1cF9uZXh0X3dhaXRlcihzdHJ1Y3QgcnQKICAKICAJcmF3X3NwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmN1cnJlbnQtPnBpX2xvY2ssIGZsYWdzKTsKICAKQEAgLTIzOCw3ICsyMzIsNyBAQAogIH0KICAKICAvKgotQEAgLTU4MSwxOCArNjMxLDMxNSBAQCB2b2lkIHJ0X211dGV4X2FkanVzdF9waShzdHJ1Y3QgdGFza19zdHJ1CitAQCAtNTkzLDE4ICs2NDMsMzE1IEBAIHZvaWQgcnRfbXV0ZXhfYWRqdXN0X3BpKHN0cnVjdCB0YXNrX3N0cnUKICAJCXJldHVybjsKICAJfQogIApAQCAtNTU3LDcgKzU1MSw3IEBACiAgICogQHRpbWVvdXQ6CQkgdGhlIHByZS1pbml0aWFsaXplZCBhbmQgc3RhcnRlZCB0aW1lciwgb3IgTlVMTCBmb3Igbm9uZQogICAqIEB3YWl0ZXI6CQkgdGhlIHByZS1pbml0aWFsaXplZCBydF9tdXRleF93YWl0ZXIKICAgKgotQEAgLTY0OCw5ICs5OTUsMTAgQEAgcnRfbXV0ZXhfc2xvd2xvY2soc3RydWN0IHJ0X211dGV4ICpsb2NrLAorQEAgLTY2MCw5ICsxMDA3LDEwIEBAIHJ0X211dGV4X3Nsb3dsb2NrKHN0cnVjdCBydF9tdXRleCAqbG9jaywKICAJc3RydWN0IHJ0X211dGV4X3dhaXRlciB3YWl0ZXI7CiAgCWludCByZXQgPSAwOwogIApAQCAtNTY5LDcgKzU2Myw3IEBACiAgCiAgCS8qIFRyeSB0byBhY3F1aXJlIHRoZSBsb2NrIGFnYWluOiAqLwogIAlpZiAodHJ5X3RvX3Rha2VfcnRfbXV0ZXgobG9jaywgY3VycmVudCwgTlVMTCkpIHsKLUBAIC03MDMsNiArMTA1MSw3IEBAIHJ0X211dGV4X3Nsb3d0cnlsb2NrKHN0cnVjdCBydF9tdXRleCAqbG8KK0BAIC03MTUsNiArMTA2Myw3IEBAIHJ0X211dGV4X3Nsb3d0cnlsb2NrKHN0cnVjdCBydF9tdXRleCAqbG8KICAJaW50IHJldCA9IDA7CiAgCiAgCXJhd19zcGluX2xvY2soJmxvY2stPndhaXRfbG9jayk7CkBAIC01NzcsNyArNTcxLDcgQEAKICAKICAJaWYgKGxpa2VseShydF9tdXRleF9vd25lcihsb2NrKSAhPSBjdXJyZW50KSkgewogIAotQEAgLTkzNSwxMiArMTI4NCwxMSBAQCBFWFBPUlRfU1lNQk9MX0dQTChydF9tdXRleF9kZXN0cm95KTsKK0BAIC05NDcsMTIgKzEyOTYsMTEgQEAgRVhQT1JUX1NZTUJPTF9HUEwocnRfbXV0ZXhfZGVzdHJveSk7CiAgdm9pZCBfX3J0X211dGV4X2luaXQoc3RydWN0IHJ0X211dGV4ICpsb2NrLCBjb25zdCBjaGFyICpuYW1lKQogIHsKICAJbG9jay0+b3duZXIgPSBOVUxMOwpAQCAtNTkxLDcgKzU4NSw3IEBACiAgCiAgLyoqCiAgICogcnRfbXV0ZXhfaW5pdF9wcm94eV9sb2NrZWQgLSBpbml0aWFsaXplIGFuZCBsb2NrIGEgcnRfbXV0ZXggb24gYmVoYWxmIG9mIGEKLUBAIC05NTUsNyArMTMwMyw3IEBAIEVYUE9SVF9TWU1CT0xfR1BMKF9fcnRfbXV0ZXhfaW5pdCk7CitAQCAtOTY3LDcgKzEzMTUsNyBAQCBFWFBPUlRfU1lNQk9MX0dQTChfX3J0X211dGV4X2luaXQpOwogIHZvaWQgcnRfbXV0ZXhfaW5pdF9wcm94eV9sb2NrZWQoc3RydWN0IHJ0X211dGV4ICpsb2NrLAogIAkJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByb3h5X293bmVyKQogIHsKQEAgLTYwMCwxMCArNTk0LDggQEAKICAJZGVidWdfcnRfbXV0ZXhfcHJveHlfbG9jayhsb2NrLCBwcm94eV9vd25lcik7CiAgCXJ0X211dGV4X3NldF9vd25lcihsb2NrLCBwcm94eV9vd25lcik7CiAgCXJ0X211dGV4X2RlYWRsb2NrX2FjY291bnRfbG9jayhsb2NrLCBwcm94eV9vd25lcik7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9ydG11dGV4X2NvbW1vbi5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3J0bXV0ZXhfY29tbW9uLmgKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3J0bXV0ZXhfY29tbW9uLmgKKy0tLSBhL2tlcm5lbC9ydG11dGV4X2NvbW1vbi5oCisrKysgYi9rZXJuZWwvcnRtdXRleF9jb21tb24uaAogQEAgLTQ5LDYgKzQ5LDcgQEAgc3RydWN0IHJ0X211dGV4X3dhaXRlciB7CiAgCXN0cnVjdCBwbGlzdF9ub2RlCXBpX2xpc3RfZW50cnk7CiAgCXN0cnVjdCB0YXNrX3N0cnVjdAkqdGFzazsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvcnQtcHJlZW1wdC1iYXNlLWNvbmZpZy5wYXRjaCBiL3BhdGNoZXMvcnQtcHJlZW1wdC1iYXNlLWNvbmZpZy5wYXRjaAppbmRleCBjYmZmNzQ1Li44OWVhNWUzIDEwMDY0NAotLS0gYS9wYXRjaGVzL3J0LXByZWVtcHQtYmFzZS1jb25maWcucGF0Y2gKKysrIGIvcGF0Y2hlcy9ydC1wcmVlbXB0LWJhc2UtY29uZmlnLnBhdGNoCkBAIC03LDEwICs3LDggQEAKICBrZXJuZWwvS2NvbmZpZy5wcmVlbXB0IHwgICAxOSArKysrKysrKysrKysrKysrKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL0tjb25maWcucHJlZW1wdAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9LY29uZmlnLnByZWVtcHQKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL0tjb25maWcucHJlZW1wdAorLS0tIGEva2VybmVsL0tjb25maWcucHJlZW1wdAorKysrIGIva2VybmVsL0tjb25maWcucHJlZW1wdAogQEAgLTEsMyArMSwxMCBAQAogK2NvbmZpZyBQUkVFTVBUCiArCWJvb2wKQEAgLTQzLDcgKzQxLDcgQEAKICsJc2VsZWN0IFBSRUVNUFRfUlRfQkFTRQogKwloZWxwCiArCSAgVGhpcyBvcHRpb24gaXMgYmFzaWNhbGx5IHRoZSBzYW1lIGFzIChMb3ctTGF0ZW5jeSBEZXNrdG9wKSBidXQKLSsJICBlbmFibGVzIGNoYW5nZXMgd2hpY2ggYXJlIHByZWxpbWluYXJ5IGZvciB0aGUgZnVsbCBwcmVlbXB0aXBsZQorKwkgIGVuYWJsZXMgY2hhbmdlcyB3aGljaCBhcmUgcHJlbGltaW5hcnkgZm9yIHRoZSBmdWxsIHByZWVtcHRpYmxlCiArCSAgUlQga2VybmVsLgogKwogIGVuZGNob2ljZQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9ydC1ydy1sb2NrZGVwLWFubm90YXRpb25zLnBhdGNoIGIvcGF0Y2hlcy9ydC1ydy1sb2NrZGVwLWFubm90YXRpb25zLnBhdGNoCmluZGV4IDc2MDBlMWMuLmJhOTliODYgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcnQtcnctbG9ja2RlcC1hbm5vdGF0aW9ucy5wYXRjaAorKysgYi9wYXRjaGVzL3J0LXJ3LWxvY2tkZXAtYW5ub3RhdGlvbnMucGF0Y2gKQEAgLTExLDEwICsxMSw4IEBACiAga2VybmVsL3J0LmMgfCAgIDUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9ydC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3J0LmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3J0LmMKKy0tLSBhL2tlcm5lbC9ydC5jCisrKysgYi9rZXJuZWwvcnQuYwogQEAgLTIxNiwxNSArMjE2LDE3IEBAIGludCBfX2xvY2tmdW5jIHJ0X3JlYWRfdHJ5bG9jayhyd2xvY2tfdAogIAkgKiB3cml0ZSBsb2NrZWQuCiAgCSAqLwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9ydC1zY2hlZC1kby1ub3QtY29tcGFyZS1jcHUtbWFza3MtaW4tc2NoZWR1bGVyLnBhdGNoIGIvcGF0Y2hlcy9ydC1zY2hlZC1kby1ub3QtY29tcGFyZS1jcHUtbWFza3MtaW4tc2NoZWR1bGVyLnBhdGNoCmluZGV4IGFmYTFjNzIuLmQ5NTM4MmUgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcnQtc2NoZWQtZG8tbm90LWNvbXBhcmUtY3B1LW1hc2tzLWluLXNjaGVkdWxlci5wYXRjaAorKysgYi9wYXRjaGVzL3J0LXNjaGVkLWRvLW5vdC1jb21wYXJlLWNwdS1tYXNrcy1pbi1zY2hlZHVsZXIucGF0Y2gKQEAgLTEyLDExICsxMiw5IEBACiAga2VybmVsL3NjaGVkL2NvcmUuYyB8ICAgMTQgKysrKystLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc2NoZWQvY29yZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKLUBAIC0yOTQzLDE2ICsyOTQzLDEyIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVfbWlncmF0ZV9kaXNhYmwKKy0tLSBhL2tlcm5lbC9zY2hlZC9jb3JlLmMKKysrKyBiL2tlcm5lbC9zY2hlZC9jb3JlLmMKK0BAIC0yOTU1LDE2ICsyOTU1LDEyIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVfbWlncmF0ZV9kaXNhYmwKICAJICovCiAgCW1hc2sgPSB0c2tfY3B1c19hbGxvd2VkKHApOwogIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9ydC1zY2hlZC1oYXZlLW1pZ3JhdGVfZGlzYWJsZS1pZ25vcmUtYm91bmRlZC10aHJlYWRzLnBhdGNoIGIvcGF0Y2hlcy9ydC1zY2hlZC1oYXZlLW1pZ3JhdGVfZGlzYWJsZS1pZ25vcmUtYm91bmRlZC10aHJlYWRzLnBhdGNoCmluZGV4IGFjNDg4YTIuLmVmMmQ4M2QgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcnQtc2NoZWQtaGF2ZS1taWdyYXRlX2Rpc2FibGUtaWdub3JlLWJvdW5kZWQtdGhyZWFkcy5wYXRjaAorKysgYi9wYXRjaGVzL3J0LXNjaGVkLWhhdmUtbWlncmF0ZV9kaXNhYmxlLWlnbm9yZS1ib3VuZGVkLXRocmVhZHMucGF0Y2gKQEAgLTEyLDExICsxMiw5IEBACiAga2VybmVsL3NjaGVkL2NvcmUuYyB8ICAgMjMgKysrKysrKysrLS0tLS0tLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL2NvcmUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi1AQCAtMjk1NSw3ICsyOTU1LDcgQEAgdm9pZCBtaWdyYXRlX2Rpc2FibGUodm9pZCkKKy0tLSBhL2tlcm5lbC9zY2hlZC9jb3JlLmMKKysrKyBiL2tlcm5lbC9zY2hlZC9jb3JlLmMKK0BAIC0yOTY3LDcgKzI5NjcsNyBAQCB2b2lkIG1pZ3JhdGVfZGlzYWJsZSh2b2lkKQogIHsKICAJc3RydWN0IHRhc2tfc3RydWN0ICpwID0gY3VycmVudDsKICAKQEAgLTI1LDcgKzIzLDcgQEAKICAjaWZkZWYgQ09ORklHX1NDSEVEX0RFQlVHCiAgCQlwLT5taWdyYXRlX2Rpc2FibGVfYXRvbWljKys7CiAgI2VuZGlmCi1AQCAtMjk4Niw3ICsyOTg2LDcgQEAgdm9pZCBtaWdyYXRlX2VuYWJsZSh2b2lkKQorQEAgLTI5OTgsNyArMjk5OCw3IEBAIHZvaWQgbWlncmF0ZV9lbmFibGUodm9pZCkKICAJdW5zaWduZWQgbG9uZyBmbGFnczsKICAJc3RydWN0IHJxICpycTsKICAKQEAgLTM0LDcgKzMyLDcgQEAKICAjaWZkZWYgQ09ORklHX1NDSEVEX0RFQlVHCiAgCQlwLT5taWdyYXRlX2Rpc2FibGVfYXRvbWljLS07CiAgI2VuZGlmCi1AQCAtMzAwNywyNiArMzAwNywyMSBAQCB2b2lkIG1pZ3JhdGVfZW5hYmxlKHZvaWQpCitAQCAtMzAxOSwyNiArMzAxOSwyMSBAQCB2b2lkIG1pZ3JhdGVfZW5hYmxlKHZvaWQpCiAgCiAgCWlmICh1bmxpa2VseShtaWdyYXRlX2Rpc2FibGVkX3VwZGF0ZWQocCkpKSB7CiAgCQkvKgpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9ydC1zY2hlZC1wb3N0cG9uZS1hY3R1YWwtbWlncmF0aW9uLWRpc2FsYmUtdG8tc2NoZWR1bGUucGF0Y2ggYi9wYXRjaGVzL3J0LXNjaGVkLXBvc3Rwb25lLWFjdHVhbC1taWdyYXRpb24tZGlzYWxiZS10by1zY2hlZHVsZS5wYXRjaAppbmRleCA3ODBjYmFlLi44ZWY4NzNiIDEwMDY0NAotLS0gYS9wYXRjaGVzL3J0LXNjaGVkLXBvc3Rwb25lLWFjdHVhbC1taWdyYXRpb24tZGlzYWxiZS10by1zY2hlZHVsZS5wYXRjaAorKysgYi9wYXRjaGVzL3J0LXNjaGVkLXBvc3Rwb25lLWFjdHVhbC1taWdyYXRpb24tZGlzYWxiZS10by1zY2hlZHVsZS5wYXRjaApAQCAtMjIsMTEgKzIyLDkgQEAKICBrZXJuZWwvc2NoZWQvY29yZS5jIHwgIDI1MSArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDEzMiBpbnNlcnRpb25zKCspLCAxMTkgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zY2hlZC9jb3JlLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYwotQEAgLTI5MTUsNiArMjkxNSwxMzUgQEAgc3RhdGljIGlubGluZSB2b2lkIHNjaGVkdWxlX2RlYnVnKHN0cnVjdAorLS0tIGEva2VybmVsL3NjaGVkL2NvcmUuYworKysrIGIva2VybmVsL3NjaGVkL2NvcmUuYworQEAgLTI5MjcsNiArMjkyNywxMzUgQEAgc3RhdGljIGlubGluZSB2b2lkIHNjaGVkdWxlX2RlYnVnKHN0cnVjdAogIAlzY2hlZHN0YXRfaW5jKHRoaXNfcnEoKSwgc2NoZWRfY291bnQpOwogIH0KICAKQEAgLTE2Miw3ICsxNjAsNyBAQAogIHN0YXRpYyB2b2lkIHB1dF9wcmV2X3Rhc2soc3RydWN0IHJxICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2KQogIHsKICAJaWYgKHByZXYtPm9uX3JxIHx8IHJxLT5za2lwX2Nsb2NrX3VwZGF0ZSA8IDApCi1AQCAtMzAwOCw2ICszMTM3LDggQEAgbmVlZF9yZXNjaGVkOgorQEAgLTMwMjAsNiArMzE0OSw4IEBAIG5lZWRfcmVzY2hlZDoKICAKICAJcmF3X3NwaW5fbG9ja19pcnEoJnJxLT5sb2NrKTsKICAKQEAgLTE3MSw3ICsxNjksNyBAQAogIAlzd2l0Y2hfY291bnQgPSAmcHJldi0+bml2Y3N3OwogIAlpZiAocHJldi0+c3RhdGUgJiYgIShwcmVlbXB0X2NvdW50KCkgJiBQUkVFTVBUX0FDVElWRSkpIHsKICAJCWlmICh1bmxpa2VseShzaWduYWxfcGVuZGluZ19zdGF0ZShwcmV2LT5zdGF0ZSwgcHJldikpKSB7Ci1AQCAtNDgyOCw3ICs0OTU5LDcgQEAgdm9pZCBfX2NwdWluaXQgaW5pdF9pZGxlKHN0cnVjdCB0YXNrX3N0cgorQEAgLTQ4NzEsNyArNTAwMiw3IEBAIHZvaWQgX19jcHVpbml0IGluaXRfaWRsZShzdHJ1Y3QgdGFza19zdHIKICAjaWZkZWYgQ09ORklHX1NNUAogIHZvaWQgZG9fc2V0X2NwdXNfYWxsb3dlZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGNvbnN0IHN0cnVjdCBjcHVtYXNrICpuZXdfbWFzaykKICB7CkBAIC0xODAsNyArMTc4LDcgQEAKICAJCWlmIChwLT5zY2hlZF9jbGFzcyAmJiBwLT5zY2hlZF9jbGFzcy0+c2V0X2NwdXNfYWxsb3dlZCkKICAJCQlwLT5zY2hlZF9jbGFzcy0+c2V0X2NwdXNfYWxsb3dlZChwLCBuZXdfbWFzayk7CiAgCQlwLT5ucl9jcHVzX2FsbG93ZWQgPSBjcHVtYXNrX3dlaWdodChuZXdfbWFzayk7Ci1AQCAtNDg5OCwxMjQgKzUwMjksNiBAQCBvdXQ6CitAQCAtNDk0MSwxMjQgKzUwNzIsNiBAQCBvdXQ6CiAgfQogIEVYUE9SVF9TWU1CT0xfR1BMKHNldF9jcHVzX2FsbG93ZWRfcHRyKTsKICAKZGlmZiAtLWdpdCBhL3BhdGNoZXMvcnQtc2VyaWFsLXdhcm4tZml4LnBhdGNoIGIvcGF0Y2hlcy9ydC1zZXJpYWwtd2Fybi1maXgucGF0Y2gKaW5kZXggN2Y3MzU5ZC4uY2YxMzA5NyAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9ydC1zZXJpYWwtd2Fybi1maXgucGF0Y2gKKysrIGIvcGF0Y2hlcy9ydC1zZXJpYWwtd2Fybi1maXgucGF0Y2gKQEAgLTE1LDEwICsxNSw4IEBACiAgZHJpdmVycy90dHkvc2VyaWFsLzgyNTAvODI1MF9jb3JlLmMgfCAgIDExICsrKysrKysrKystCiAgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL3R0eS9zZXJpYWwvODI1MC84MjUwX2NvcmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2RyaXZlcnMvdHR5L3NlcmlhbC84MjUwLzgyNTBfY29yZS5jCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvdHR5L3NlcmlhbC84MjUwLzgyNTBfY29yZS5jCistLS0gYS9kcml2ZXJzL3R0eS9zZXJpYWwvODI1MC84MjUwX2NvcmUuYworKysrIGIvZHJpdmVycy90dHkvc2VyaWFsLzgyNTAvODI1MF9jb3JlLmMKIEBAIC04MCw3ICs4MCwxNiBAQCBzdGF0aWMgdW5zaWduZWQgaW50IHNraXBfdHhlbl90ZXN0OyAvKiBmCiAgI2RlZmluZSBERUJVR19JTlRSKGZtdC4uLikJZG8geyB9IHdoaWxlICgwKQogICNlbmRpZgpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9ydC10cmFjaW5nLXNob3ctcGFkZGluZy1hcy11bnNpZ25lZC1zaG9ydC5wYXRjaCBiL3BhdGNoZXMvcnQtdHJhY2luZy1zaG93LXBhZGRpbmctYXMtdW5zaWduZWQtc2hvcnQucGF0Y2gKaW5kZXggN2RkYmJlOS4uNjgxYWIwMiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9ydC10cmFjaW5nLXNob3ctcGFkZGluZy1hcy11bnNpZ25lZC1zaG9ydC5wYXRjaAorKysgYi9wYXRjaGVzL3J0LXRyYWNpbmctc2hvdy1wYWRkaW5nLWFzLXVuc2lnbmVkLXNob3J0LnBhdGNoCkBAIC0zMywxMSArMzMsOSBAQAogIGtlcm5lbC90cmFjZS90cmFjZV9ldmVudHMuYyB8ICAgIDEgKwogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC90cmFjZS90cmFjZV9ldmVudHMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC90cmFjZS90cmFjZV9ldmVudHMuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvdHJhY2UvdHJhY2VfZXZlbnRzLmMKLUBAIC0xNTUsNiArMTU1LDcgQEAgc3RhdGljIGludCB0cmFjZV9kZWZpbmVfY29tbW9uX2ZpZWxkcyh2bworLS0tIGEva2VybmVsL3RyYWNlL3RyYWNlX2V2ZW50cy5jCisrKysgYi9rZXJuZWwvdHJhY2UvdHJhY2VfZXZlbnRzLmMKK0BAIC0xNzIsNiArMTcyLDcgQEAgc3RhdGljIGludCB0cmFjZV9kZWZpbmVfY29tbW9uX2ZpZWxkcyh2bwogIAlfX2NvbW1vbl9maWVsZCh1bnNpZ25lZCBjaGFyLCBwcmVlbXB0X2NvdW50KTsKICAJX19jb21tb25fZmllbGQoaW50LCBwaWQpOwogIAlfX2NvbW1vbl9maWVsZCh1bnNpZ25lZCBzaG9ydCwgbWlncmF0ZV9kaXNhYmxlKTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvcnRtdXRleC1hdm9pZC1pbmNsdWRlLWhlbGwucGF0Y2ggYi9wYXRjaGVzL3J0bXV0ZXgtYXZvaWQtaW5jbHVkZS1oZWxsLnBhdGNoCmluZGV4IDlmMTQxZGMuLmYwYmJjNjAgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcnRtdXRleC1hdm9pZC1pbmNsdWRlLWhlbGwucGF0Y2gKKysrIGIvcGF0Y2hlcy9ydG11dGV4LWF2b2lkLWluY2x1ZGUtaGVsbC5wYXRjaApAQCAtNywxMCArNyw4IEBACiAgaW5jbHVkZS9saW51eC9ydG11dGV4LmggfCAgICAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9ydG11dGV4LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3J0bXV0ZXguaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3J0bXV0ZXguaAorLS0tIGEvaW5jbHVkZS9saW51eC9ydG11dGV4LmgKKysrKyBiL2luY2x1ZGUvbGludXgvcnRtdXRleC5oCiBAQCAtMTQsNyArMTQsNyBAQAogIAogICNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CmRpZmYgLS1naXQgYS9wYXRjaGVzL3J0bXV0ZXgtZnV0ZXgtcHJlcGFyZS1ydC5wYXRjaCBiL3BhdGNoZXMvcnRtdXRleC1mdXRleC1wcmVwYXJlLXJ0LnBhdGNoCmluZGV4IGYxNmFjZDMuLmUxOTJhNjYgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcnRtdXRleC1mdXRleC1wcmVwYXJlLXJ0LnBhdGNoCisrKyBiL3BhdGNoZXMvcnRtdXRleC1mdXRleC1wcmVwYXJlLXJ0LnBhdGNoCkBAIC05LDEwICs5LDggQEAKICBrZXJuZWwvcnRtdXRleF9jb21tb24uaCB8ICAgIDIgKwogIDMgZmlsZXMgY2hhbmdlZCwgOTEgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2Z1dGV4LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvZnV0ZXguYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvZnV0ZXguYworLS0tIGEva2VybmVsL2Z1dGV4LmMKKysrKyBiL2tlcm5lbC9mdXRleC5jCiBAQCAtMTQ0NSw2ICsxNDQ1LDE2IEBAIHJldHJ5X3ByaXZhdGU6CiAgCQkJCXJlcXVldWVfcGlfd2FrZV9mdXRleCh0aGlzLCAma2V5MiwgaGIyKTsKICAJCQkJZHJvcF9jb3VudCsrOwpAQCAtMTI5LDEwICsxMjcsOCBAQAogIAkJLyoKICAJCSAqIEZpeHVwIHRoZSBwaV9zdGF0ZSBvd25lciBhbmQgcG9zc2libHkgYWNxdWlyZSB0aGUgbG9jayBpZiB3ZQogIAkJICogaGF2ZW4ndCBhbHJlYWR5LgotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvcnRtdXRleC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3J0bXV0ZXguYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvcnRtdXRleC5jCistLS0gYS9rZXJuZWwvcnRtdXRleC5jCisrKysgYi9rZXJuZWwvcnRtdXRleC5jCiBAQCAtNjgsNiArNjgsMTEgQEAgc3RhdGljIHZvaWQgZml4dXBfcnRfbXV0ZXhfd2FpdGVycyhzdHJ1YwogIAkJY2xlYXJfcnRfbXV0ZXhfd2FpdGVycyhsb2NrKTsKICB9CkBAIC0xNDUsNyArMTQxLDcgQEAKICAvKgogICAqIFdlIGNhbiBzcGVlZCB1cCB0aGUgYWNxdWlyZS9yZWxlYXNlLCBpZiB0aGUgYXJjaGl0ZWN0dXJlCiAgICogc3VwcG9ydHMgY21weGNoZyBhbmQgaWYgdGhlcmUncyBubyBkZWJ1Z2dpbmcgc3RhdGUgdG8gYmUgc2V0IHVwCi1AQCAtMTk3LDcgKzIwMiw3IEBAIHN0YXRpYyBpbnQgcnRfbXV0ZXhfYWRqdXN0X3ByaW9fY2hhaW4oc3QKK0BAIC0yMDksNyArMjE0LDcgQEAgc3RhdGljIGludCBydF9tdXRleF9hZGp1c3RfcHJpb19jaGFpbihzdAogIAkgKiByZWFjaGVkIG9yIHRoZSBzdGF0ZSBvZiB0aGUgY2hhaW4gaGFzIGNoYW5nZWQgd2hpbGUgd2UKICAJICogZHJvcHBlZCB0aGUgbG9ja3MuCiAgCSAqLwpAQCAtMTU0LDcgKzE1MCw3IEBACiAgCQlnb3RvIG91dF91bmxvY2tfcGk7CiAgCiAgCS8qCi1AQCAtNDAwLDYgKzQwNSwyMyBAQCBzdGF0aWMgaW50IHRhc2tfYmxvY2tzX29uX3J0X211dGV4KHN0cnVjCitAQCAtNDEyLDYgKzQxNywyMyBAQCBzdGF0aWMgaW50IHRhc2tfYmxvY2tzX29uX3J0X211dGV4KHN0cnVjCiAgCWludCBjaGFpbl93YWxrID0gMCwgcmVzOwogIAogIAlyYXdfc3Bpbl9sb2NrX2lycXNhdmUoJnRhc2stPnBpX2xvY2ssIGZsYWdzKTsKQEAgLTE3OCw3ICsxNzQsNyBAQAogIAlfX3J0X211dGV4X2FkanVzdF9wcmlvKHRhc2spOwogIAl3YWl0ZXItPnRhc2sgPSB0YXNrOwogIAl3YWl0ZXItPmxvY2sgPSBsb2NrOwotQEAgLTQyNCw3ICs0NDYsNyBAQCBzdGF0aWMgaW50IHRhc2tfYmxvY2tzX29uX3J0X211dGV4KHN0cnVjCitAQCAtNDM2LDcgKzQ1OCw3IEBAIHN0YXRpYyBpbnQgdGFza19ibG9ja3Nfb25fcnRfbXV0ZXgoc3RydWMKICAJCXBsaXN0X2FkZCgmd2FpdGVyLT5waV9saXN0X2VudHJ5LCAmb3duZXItPnBpX3dhaXRlcnMpOwogIAogIAkJX19ydF9tdXRleF9hZGp1c3RfcHJpbyhvd25lcik7CkBAIC0xODcsNyArMTgzLDcgQEAKICAJCQljaGFpbl93YWxrID0gMTsKICAJCXJhd19zcGluX3VubG9ja19pcnFyZXN0b3JlKCZvd25lci0+cGlfbG9jaywgZmxhZ3MpOwogIAl9Ci1AQCAtNTE4LDcgKzU0MCw3IEBAIHN0YXRpYyB2b2lkIHJlbW92ZV93YWl0ZXIoc3RydWN0IHJ0X211dGUKK0BAIC01MzAsNyArNTUyLDcgQEAgc3RhdGljIHZvaWQgcmVtb3ZlX3dhaXRlcihzdHJ1Y3QgcnRfbXV0ZQogIAkJfQogIAkJX19ydF9tdXRleF9hZGp1c3RfcHJpbyhvd25lcik7CiAgCkBAIC0xOTYsNyArMTkyLDcgQEAKICAJCQljaGFpbl93YWxrID0gMTsKICAKICAJCXJhd19zcGluX3VubG9ja19pcnFyZXN0b3JlKCZvd25lci0+cGlfbG9jaywgZmxhZ3MpOwotQEAgLTU1Miw3ICs1NzQsOCBAQCB2b2lkIHJ0X211dGV4X2FkanVzdF9waShzdHJ1Y3QgdGFza19zdHJ1CitAQCAtNTY0LDcgKzU4Niw4IEBAIHZvaWQgcnRfbXV0ZXhfYWRqdXN0X3BpKHN0cnVjdCB0YXNrX3N0cnUKICAJcmF3X3NwaW5fbG9ja19pcnFzYXZlKCZ0YXNrLT5waV9sb2NrLCBmbGFncyk7CiAgCiAgCXdhaXRlciA9IHRhc2stPnBpX2Jsb2NrZWRfb247CkBAIC0yMDYsMTAgKzIwMiw4IEBACiAgCQlyYXdfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdGFzay0+cGlfbG9jaywgZmxhZ3MpOwogIAkJcmV0dXJuOwogIAl9Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9ydG11dGV4X2NvbW1vbi5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3J0bXV0ZXhfY29tbW9uLmgKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3J0bXV0ZXhfY29tbW9uLmgKKy0tLSBhL2tlcm5lbC9ydG11dGV4X2NvbW1vbi5oCisrKysgYi9rZXJuZWwvcnRtdXRleF9jb21tb24uaAogQEAgLTEwMyw2ICsxMDMsOCBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCB0YXNrX3N0cnVjdCAqcnRfbXV0CiAgLyoKICAgKiBQSS1mdXRleCBzdXBwb3J0IChwcm94eSBsb2NraW5nIGZ1bmN0aW9ucywgZXRjLik6CmRpZmYgLS1naXQgYS9wYXRjaGVzL3J0bXV0ZXgtbG9jay1raWxsYWJsZS5wYXRjaCBiL3BhdGNoZXMvcnRtdXRleC1sb2NrLWtpbGxhYmxlLnBhdGNoCmluZGV4IDZhOTg1ZmYuLjViZjBhMzkgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvcnRtdXRleC1sb2NrLWtpbGxhYmxlLnBhdGNoCisrKyBiL3BhdGNoZXMvcnRtdXRleC1sb2NrLWtpbGxhYmxlLnBhdGNoCkBAIC04LDEwICs4LDggQEAKICBrZXJuZWwvcnRtdXRleC5jICAgICAgICB8ICAgMzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiAgMiBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvcnRtdXRleC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9ydG11dGV4LmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9ydG11dGV4LmgKKy0tLSBhL2luY2x1ZGUvbGludXgvcnRtdXRleC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3J0bXV0ZXguaAogQEAgLTkwLDYgKzkwLDcgQEAgZXh0ZXJuIHZvaWQgcnRfbXV0ZXhfZGVzdHJveShzdHJ1Y3QgcnRfbQogIGV4dGVybiB2b2lkIHJ0X211dGV4X2xvY2soc3RydWN0IHJ0X211dGV4ICpsb2NrKTsKICBleHRlcm4gaW50IHJ0X211dGV4X2xvY2tfaW50ZXJydXB0aWJsZShzdHJ1Y3QgcnRfbXV0ZXggKmxvY2ssCkBAIC0yMCwxMSArMTgsOSBAQAogIGV4dGVybiBpbnQgcnRfbXV0ZXhfdGltZWRfbG9jayhzdHJ1Y3QgcnRfbXV0ZXggKmxvY2ssCiAgCQkJCQlzdHJ1Y3QgaHJ0aW1lcl9zbGVlcGVyICp0aW1lb3V0LAogIAkJCQkJaW50IGRldGVjdF9kZWFkbG9jayk7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9ydG11dGV4LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvcnRtdXRleC5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9ydG11dGV4LmMKLUBAIC04MTYsMTIgKzgxNiwxMiBAQCBFWFBPUlRfU1lNQk9MX0dQTChydF9tdXRleF9sb2NrKTsKKy0tLSBhL2tlcm5lbC9ydG11dGV4LmMKKysrKyBiL2tlcm5lbC9ydG11dGV4LmMKK0BAIC04MjgsMTIgKzgyOCwxMiBAQCBFWFBPUlRfU1lNQk9MX0dQTChydF9tdXRleF9sb2NrKTsKICAvKioKICAgKiBydF9tdXRleF9sb2NrX2ludGVycnVwdGlibGUgLSBsb2NrIGEgcnRfbXV0ZXggaW50ZXJydXB0aWJsZQogICAqCkBAIC00MCw3ICszNiw3IEBACiAgICogLUVERUFETEsJd2hlbiB0aGUgbG9jayB3b3VsZCBkZWFkbG9jayAod2hlbiBkZWFkbG9jayBkZXRlY3Rpb24gaXMgb24pCiAgICovCiAgaW50IF9fc2NoZWQgcnRfbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKHN0cnVjdCBydF9tdXRleCAqbG9jaywKLUBAIC04MzUsMTcgKzgzNSwzOCBAQCBpbnQgX19zY2hlZCBydF9tdXRleF9sb2NrX2ludGVycnVwdGlibGUoCitAQCAtODQ3LDE3ICs4NDcsMzggQEAgaW50IF9fc2NoZWQgcnRfbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKAogIEVYUE9SVF9TWU1CT0xfR1BMKHJ0X211dGV4X2xvY2tfaW50ZXJydXB0aWJsZSk7CiAgCiAgLyoqCmRpZmYgLS1naXQgYS9wYXRjaGVzL3J3c2VtLWFkZC1ydC12YXJpYW50LnBhdGNoIGIvcGF0Y2hlcy9yd3NlbS1hZGQtcnQtdmFyaWFudC5wYXRjaAppbmRleCAyYWIxY2ZkLi43ZTFjMWU2IDEwMDY0NAotLS0gYS9wYXRjaGVzL3J3c2VtLWFkZC1ydC12YXJpYW50LnBhdGNoCisrKyBiL3BhdGNoZXMvcndzZW0tYWRkLXJ0LXZhcmlhbnQucGF0Y2gKQEAgLTksMTAgKzksOCBAQAogIGxpYi9NYWtlZmlsZSAgICAgICAgICAgICB8ICAgIDMgKwogIDMgZmlsZXMgY2hhbmdlZCwgMTM3IGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3J3c2VtLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3J3c2VtLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9yd3NlbS5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3J3c2VtLmgKKysrKyBiL2luY2x1ZGUvbGludXgvcndzZW0uaAogQEAgLTE2LDYgKzE2LDEwIEBACiAgCiAgI2luY2x1ZGUgPGxpbnV4L2F0b21pYy5oPgpAQCAtMzEsMTAgKzI5LDggQEAKICsjZW5kaWYgLyogIVBSRUVNUFRfUlRfRlVMTCAqLwogKwogICNlbmRpZiAvKiBfTElOVVhfUldTRU1fSCAqLwotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3J3c2VtX3J0LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9yd3NlbV9ydC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3J3c2VtX3J0LmgKIEBAIC0wLDAgKzEsMTI4IEBACiArI2lmbmRlZiBfTElOVVhfUldTRU1fUlRfSAogKyNkZWZpbmUgX0xJTlVYX1JXU0VNX1JUX0gKQEAgLTE2NCwxMCArMTYwLDggQEAKICt9CiArI2VuZGlmCiArI2VuZGlmCi1JbmRleDogbGludXgtc3RhYmxlL2xpYi9NYWtlZmlsZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2xpYi9NYWtlZmlsZQotKysrIGxpbnV4LXN0YWJsZS9saWIvTWFrZWZpbGUKKy0tLSBhL2xpYi9NYWtlZmlsZQorKysrIGIvbGliL01ha2VmaWxlCiBAQCAtNDEsOCArNDEsMTEgQEAgb2JqLSQoQ09ORklHX0hBU19JT01FTSkgKz0gaW9tYXBfY29weS5vCiAgb2JqLSQoQ09ORklHX0NIRUNLX1NJR05BVFVSRSkgKz0gY2hlY2tfc2lnbmF0dXJlLm8KICBvYmotJChDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTKSArPSBsb2NraW5nLXNlbGZ0ZXN0Lm8KZGlmZiAtLWdpdCBhL3BhdGNoZXMvc2NoZWQtYWRqdXN0LXJlc2V0LW9uLWZvcmstYWx3YXlzLnBhdGNoIGIvcGF0Y2hlcy9zY2hlZC1hZGp1c3QtcmVzZXQtb24tZm9yay1hbHdheXMucGF0Y2gKaW5kZXggYTBhYjU0MC4uMWZhOWU3MyAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zY2hlZC1hZGp1c3QtcmVzZXQtb24tZm9yay1hbHdheXMucGF0Y2gKKysrIGIvcGF0Y2hlcy9zY2hlZC1hZGp1c3QtcmVzZXQtb24tZm9yay1hbHdheXMucGF0Y2gKQEAgLTEyLDExICsxMiw5IEBACiAga2VybmVsL3NjaGVkL2NvcmUuYyB8ICAgIDUgKysrKy0KICAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zY2hlZC9jb3JlLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYwotQEAgLTQxOTIsMTAgKzQxOTIsMTMgQEAgcmVjaGVjazoKKy0tLSBhL2tlcm5lbC9zY2hlZC9jb3JlLmMKKysrKyBiL2tlcm5lbC9zY2hlZC9jb3JlLmMKK0BAIC0zOTU1LDEwICszOTU1LDEzIEBAIHJlY2hlY2s6CiAgCX0KICAKICAJLyoKZGlmZiAtLWdpdCBhL3BhdGNoZXMvc2NoZWQtYmV0dGVyLWRlYnVnLW91dHB1dC1mb3ItbWlnaHQtc2xlZXAucGF0Y2ggYi9wYXRjaGVzL3NjaGVkLWJldHRlci1kZWJ1Zy1vdXRwdXQtZm9yLW1pZ2h0LXNsZWVwLnBhdGNoCmluZGV4IDc2ODA3OWEuLmIwMDcwM2YgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc2NoZWQtYmV0dGVyLWRlYnVnLW91dHB1dC1mb3ItbWlnaHQtc2xlZXAucGF0Y2gKKysrIGIvcGF0Y2hlcy9zY2hlZC1iZXR0ZXItZGVidWctb3V0cHV0LWZvci1taWdodC1zbGVlcC5wYXRjaApAQCAtMTEsMTAgKzExLDggQEAKICBrZXJuZWwvc2NoZWQvY29yZS5jICAgfCAgIDIzICsrKysrKysrKysrKysrKysrKysrKy0tCiAgMiBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvc2NoZWQuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvc2NoZWQuaAorKysrIGIvaW5jbHVkZS9saW51eC9zY2hlZC5oCiBAQCAtMTMyOSw2ICsxMzI5LDkgQEAgc3RydWN0IHRhc2tfc3RydWN0IHsKICAJc3RydWN0IG11dGV4IHBlcmZfZXZlbnRfbXV0ZXg7CiAgCXN0cnVjdCBsaXN0X2hlYWQgcGVyZl9ldmVudF9saXN0OwpAQCAtMjUsMTAgKzIzLDggQEAKICAjaWZkZWYgQ09ORklHX05VTUEKICAJc3RydWN0IG1lbXBvbGljeSAqbWVtcG9saWN5OwkvKiBQcm90ZWN0ZWQgYnkgYWxsb2NfbG9jayAqLwogIAlzaG9ydCBpbF9uZXh0OwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL2NvcmUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCistLS0gYS9rZXJuZWwvc2NoZWQvY29yZS5jCisrKysgYi9rZXJuZWwvc2NoZWQvY29yZS5jCiBAQCAtMjgwOCw4ICsyODA4LDEzIEBAIHZvaWQgX19rcHJvYmVzIGFkZF9wcmVlbXB0X2NvdW50KGludCB2YWwKICAJREVCVUdfTE9DS1NfV0FSTl9PTigocHJlZW1wdF9jb3VudCgpICYgUFJFRU1QVF9NQVNLKSA+PQogIAkJCQlQUkVFTVBUX01BU0sgLSAxMCk7CmRpZmYgLS1naXQgYS9wYXRjaGVzL3NjaGVkLWNsZWFyLXBmLXRocmVhZC1ib3VuZC1vbi1mYWxsYmFjay1ycS5wYXRjaCBiL3BhdGNoZXMvc2NoZWQtY2xlYXItcGYtdGhyZWFkLWJvdW5kLW9uLWZhbGxiYWNrLXJxLnBhdGNoCmluZGV4IDlkY2YwMGIuLjI0YTQ1MWQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc2NoZWQtY2xlYXItcGYtdGhyZWFkLWJvdW5kLW9uLWZhbGxiYWNrLXJxLnBhdGNoCisrKyBiL3BhdGNoZXMvc2NoZWQtY2xlYXItcGYtdGhyZWFkLWJvdW5kLW9uLWZhbGxiYWNrLXJxLnBhdGNoCkBAIC03LDEwICs3LDggQEAKICBrZXJuZWwvc2NoZWQvY29yZS5jIHwgICAgNiArKysrKysKICAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zY2hlZC9jb3JlLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYworLS0tIGEva2VybmVsL3NjaGVkL2NvcmUuYworKysrIGIva2VybmVsL3NjaGVkL2NvcmUuYwogQEAgLTEyNDUsNiArMTI0NSwxMiBAQCBvdXQ6CiAgCQl9CiAgCX0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvc2NoZWQtY29uZC1yZXNjaGVkLnBhdGNoIGIvcGF0Y2hlcy9zY2hlZC1jb25kLXJlc2NoZWQucGF0Y2gKaW5kZXggNjI5OGFkZi4uNDdiODBkYSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zY2hlZC1jb25kLXJlc2NoZWQucGF0Y2gKKysrIGIvcGF0Y2hlcy9zY2hlZC1jb25kLXJlc2NoZWQucGF0Y2gKQEAgLTcsMTEgKzcsOSBAQAogIGtlcm5lbC9zY2hlZC9jb3JlLmMgfCAgIDE0ICsrKysrKysrKysrLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zY2hlZC9jb3JlLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYwotQEAgLTQzOTIsOSArNDM5MiwxNyBAQCBzdGF0aWMgaW5saW5lIGludCBzaG91bGRfcmVzY2hlZCh2b2lkKQorLS0tIGEva2VybmVsL3NjaGVkL2NvcmUuYworKysrIGIva2VybmVsL3NjaGVkL2NvcmUuYworQEAgLTQ0MzQsOSArNDQzNCwxNyBAQCBzdGF0aWMgaW5saW5lIGludCBzaG91bGRfcmVzY2hlZCh2b2lkKQogIAogIHN0YXRpYyB2b2lkIF9fY29uZF9yZXNjaGVkKHZvaWQpCiAgewpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9zY2hlZC1jb25zaWRlci1waS1ib29zdGluZy1pbi1zZXRzY2hlZHVsZXIucGF0Y2ggYi9wYXRjaGVzL3NjaGVkLWNvbnNpZGVyLXBpLWJvb3N0aW5nLWluLXNldHNjaGVkdWxlci5wYXRjaAppbmRleCBkNTU4MWM1Li43OWM5MWZmIDEwMDY0NAotLS0gYS9wYXRjaGVzL3NjaGVkLWNvbnNpZGVyLXBpLWJvb3N0aW5nLWluLXNldHNjaGVkdWxlci5wYXRjaAorKysgYi9wYXRjaGVzL3NjaGVkLWNvbnNpZGVyLXBpLWJvb3N0aW5nLWluLXNldHNjaGVkdWxlci5wYXRjaApAQCAtMjMsMTAgKzIzLDggQEAKICBrZXJuZWwvc2NoZWQvY29yZS5jICAgICAgfCAgIDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KICAzIGZpbGVzIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zY2hlZC9ydC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9zY2hlZC9ydC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQvcnQuaAorLS0tIGEvaW5jbHVkZS9saW51eC9zY2hlZC9ydC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3NjaGVkL3J0LmgKIEBAIC0zNSw2ICszNSw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHJ0X3Rhc2soc3RydWN0IHRhc2tfc3QKICAjaWZkZWYgQ09ORklHX1JUX01VVEVYRVMKICBleHRlcm4gaW50IHJ0X211dGV4X2dldHByaW8oc3RydWN0IHRhc2tfc3RydWN0ICpwKTsKQEAgLTQ2LDExICs0NCw5IEBACiAgIyBkZWZpbmUgcnRfbXV0ZXhfYWRqdXN0X3BpKHApCQlkbyB7IH0gd2hpbGUgKDApCiAgc3RhdGljIGlubGluZSBib29sIHRza19pc19waV9ibG9ja2VkKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKQogIHsKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3J0bXV0ZXguYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9ydG11dGV4LmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3J0bXV0ZXguYwotQEAgLTEyNSw2ICsxMjUsMTggQEAgaW50IHJ0X211dGV4X2dldHByaW8oc3RydWN0IHRhc2tfc3RydWN0CistLS0gYS9rZXJuZWwvcnRtdXRleC5jCisrKysgYi9rZXJuZWwvcnRtdXRleC5jCitAQCAtMTA3LDYgKzEwNywxOCBAQCBpbnQgcnRfbXV0ZXhfZ2V0cHJpbyhzdHJ1Y3QgdGFza19zdHJ1Y3QKICB9CiAgCiAgLyoKQEAgLTY5LDExICs2NSw5IEBACiAgICogQWRqdXN0IHRoZSBwcmlvcml0eSBvZiBhIHRhc2ssIGFmdGVyIGl0cyBwaV93YWl0ZXJzIGdvdCBtb2RpZmllZC4KICAgKgogICAqIFRoaXMgY2FuIGJlIGJvdGggYm9vc3RpbmcgYW5kIHVuYm9vc3RpbmcuIHRhc2stPnBpX2xvY2sgbXVzdCBiZSBoZWxkLgotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL2NvcmUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi1AQCAtMzgzOSw3ICszODM5LDggQEAgRVhQT1JUX1NZTUJPTChzbGVlcF9vbl90aW1lb3V0KTsKKy0tLSBhL2tlcm5lbC9zY2hlZC9jb3JlLmMKKysrKyBiL2tlcm5lbC9zY2hlZC9jb3JlLmMKK0BAIC0zNjAyLDcgKzM2MDIsOCBAQCBFWFBPUlRfU1lNQk9MKHNsZWVwX29uX3RpbWVvdXQpOwogICAqIFRoaXMgZnVuY3Rpb24gY2hhbmdlcyB0aGUgJ2VmZmVjdGl2ZScgcHJpb3JpdHkgb2YgYSB0YXNrLiBJdCBkb2VzCiAgICogbm90IHRvdWNoIC0+bm9ybWFsX3ByaW8gbGlrZSBfX3NldHNjaGVkdWxlcigpLgogICAqCkBAIC04Myw3ICs3Nyw3IEBACiAgICovCiAgdm9pZCBydF9tdXRleF9zZXRwcmlvKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHByaW8pCiAgewotQEAgLTQwNjIsMjAgKzQwNjMsMjUgQEAgc3RhdGljIHN0cnVjdCB0YXNrX3N0cnVjdCAqZmluZF9wcm9jZXNzXworQEAgLTM4MjUsMjAgKzM4MjYsMjUgQEAgc3RhdGljIHN0cnVjdCB0YXNrX3N0cnVjdCAqZmluZF9wcm9jZXNzXwogIAlyZXR1cm4gcGlkID8gZmluZF90YXNrX2J5X3ZwaWQocGlkKSA6IGN1cnJlbnQ7CiAgfQogIApAQCAtMTEzLDcgKzEwNyw3IEBACiAgfQogIAogIC8qCi1AQCAtNDA5Nyw2ICs0MTAzLDcgQEAgc3RhdGljIGJvb2wgY2hlY2tfc2FtZV9vd25lcihzdHJ1Y3QgdGFzaworQEAgLTM4NjAsNiArMzg2Niw3IEBAIHN0YXRpYyBib29sIGNoZWNrX3NhbWVfb3duZXIoc3RydWN0IHRhc2sKICBzdGF0aWMgaW50IF9fc2NoZWRfc2V0c2NoZWR1bGVyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHBvbGljeSwKICAJCQkJY29uc3Qgc3RydWN0IHNjaGVkX3BhcmFtICpwYXJhbSwgYm9vbCB1c2VyKQogIHsKQEAgLTEyMSw3ICsxMTUsNyBAQAogIAlpbnQgcmV0dmFsLCBvbGRwcmlvLCBvbGRwb2xpY3kgPSAtMSwgb25fcnEsIHJ1bm5pbmc7CiAgCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgCWNvbnN0IHN0cnVjdCBzY2hlZF9jbGFzcyAqcHJldl9jbGFzczsKLUBAIC00MjI0LDYgKzQyMzEsMjUgQEAgcmVjaGVjazoKK0BAIC0zOTg3LDYgKzM5OTQsMjUgQEAgcmVjaGVjazoKICAJCXRhc2tfcnFfdW5sb2NrKHJxLCBwLCAmZmxhZ3MpOwogIAkJZ290byByZWNoZWNrOwogIAl9CkBAIC0xNDcsNyArMTQxLDcgQEAKICAJb25fcnEgPSBwLT5vbl9ycTsKICAJcnVubmluZyA9IHRhc2tfY3VycmVudChycSwgcCk7CiAgCWlmIChvbl9ycSkKLUBAIC00MjMxLDkgKzQyNTcsNiBAQCByZWNoZWNrOgorQEAgLTM5OTQsOSArNDAyMCw2IEBAIHJlY2hlY2s6CiAgCWlmIChydW5uaW5nKQogIAkJcC0+c2NoZWRfY2xhc3MtPnB1dF9wcmV2X3Rhc2socnEsIHApOwogIApAQCAtMTU3LDcgKzE1MSw3IEBACiAgCXByZXZfY2xhc3MgPSBwLT5zY2hlZF9jbGFzczsKICAJX19zZXRzY2hlZHVsZXIocnEsIHAsIHBvbGljeSwgcGFyYW0tPnNjaGVkX3ByaW9yaXR5KTsKICAKLUBAIC00MjQ2LDcgKzQyNjksNiBAQCByZWNoZWNrOgorQEAgLTQwMDksNyArNDAzMiw2IEBAIHJlY2hlY2s6CiAgCQkgKi8KICAJCWVucXVldWVfdGFzayhycSwgcCwgb2xkcHJpbyA8PSBwLT5wcmlvID8gRU5RVUVVRV9IRUFEIDogMCk7CiAgCX0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvc2NoZWQtZGVsYXktcHV0LXRhc2sucGF0Y2ggYi9wYXRjaGVzL3NjaGVkLWRlbGF5LXB1dC10YXNrLnBhdGNoCmluZGV4IGM2ZmI4OGUuLjJmMjMzNDcgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc2NoZWQtZGVsYXktcHV0LXRhc2sucGF0Y2gKKysrIGIvcGF0Y2hlcy9zY2hlZC1kZWxheS1wdXQtdGFzay5wYXRjaApAQCAtOCwxMSArOCw5IEBACiAga2VybmVsL2ZvcmsuYyAgICAgICAgIHwgICAxNSArKysrKysrKysrKysrKy0KICAyIGZpbGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zY2hlZC5oCi1AQCAtMTQzNSw2ICsxNDM1LDkgQEAgc3RydWN0IHRhc2tfc3RydWN0IHsKKy0tLSBhL2luY2x1ZGUvbGludXgvc2NoZWQuaAorKysrIGIvaW5jbHVkZS9saW51eC9zY2hlZC5oCitAQCAtMTQzOCw2ICsxNDM4LDkgQEAgc3RydWN0IHRhc2tfc3RydWN0IHsKICAJdW5zaWduZWQgaW50CXNlcXVlbnRpYWxfaW87CiAgCXVuc2lnbmVkIGludAlzZXF1ZW50aWFsX2lvX2F2ZzsKICAjZW5kaWYKQEAgLTIyLDcgKzIwLDcgQEAKICB9OwogIAogIC8qIEZ1dHVyZS1zYWZlIGFjY2Vzc29yIGZvciBzdHJ1Y3QgdGFza19zdHJ1Y3QncyBjcHVzX2FsbG93ZWQuICovCi1AQCAtMTU5NCw2ICsxNTk3LDE1IEBAIGV4dGVybiBzdHJ1Y3QgcGlkICpjYWRfcGlkOworQEAgLTE1OTcsNiArMTYwMCwxNSBAQCBleHRlcm4gc3RydWN0IHBpZCAqY2FkX3BpZDsKICBleHRlcm4gdm9pZCBmcmVlX3Rhc2soc3RydWN0IHRhc2tfc3RydWN0ICp0c2spOwogICNkZWZpbmUgZ2V0X3Rhc2tfc3RydWN0KHRzaykgZG8geyBhdG9taWNfaW5jKCYodHNrKS0+dXNhZ2UpOyB9IHdoaWxlKDApCiAgCkBAIC0zOCw3ICszNiw3IEBACiAgZXh0ZXJuIHZvaWQgX19wdXRfdGFza19zdHJ1Y3Qoc3RydWN0IHRhc2tfc3RydWN0ICp0KTsKICAKICBzdGF0aWMgaW5saW5lIHZvaWQgcHV0X3Rhc2tfc3RydWN0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdCkKLUBAIC0xNjAxLDYgKzE2MTMsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcHV0X3Rhc2tfc3RydWN0KHN0cnVjCitAQCAtMTYwNCw2ICsxNjE2LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHB1dF90YXNrX3N0cnVjdChzdHJ1YwogIAlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmdC0+dXNhZ2UpKQogIAkJX19wdXRfdGFza19zdHJ1Y3QodCk7CiAgfQpAQCAtNDYsMTAgKzQ0LDggQEAKICAKICAjaWZkZWYgQ09ORklHX1ZJUlRfQ1BVX0FDQ09VTlRJTkdfR0VOCiAgZXh0ZXJuIHZvaWQgdGFza19jcHV0aW1lKHN0cnVjdCB0YXNrX3N0cnVjdCAqdCwKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2ZvcmsuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9mb3JrLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL2ZvcmsuYworLS0tIGEva2VybmVsL2ZvcmsuYworKysrIGIva2VybmVsL2ZvcmsuYwogQEAgLTIzMCw3ICsyMzAsOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcHV0X3NpZ25hbF9zdHJ1Y3Qoc3RyCiAgCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZzaWctPnNpZ2NudCkpCiAgCQlmcmVlX3NpZ25hbF9zdHJ1Y3Qoc2lnKTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvc2NoZWQtZGlzYWJsZS1ydC1ncm91cC1zY2hlZC1vbi1ydC5wYXRjaCBiL3BhdGNoZXMvc2NoZWQtZGlzYWJsZS1ydC1ncm91cC1zY2hlZC1vbi1ydC5wYXRjaAppbmRleCA3MzJkZGI3Li45OWE5NjliIDEwMDY0NAotLS0gYS9wYXRjaGVzL3NjaGVkLWRpc2FibGUtcnQtZ3JvdXAtc2NoZWQtb24tcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy9zY2hlZC1kaXNhYmxlLXJ0LWdyb3VwLXNjaGVkLW9uLXJ0LnBhdGNoCkBAIC0xNiwxMCArMTYsOCBAQAogIGluaXQvS2NvbmZpZyB8ICAgIDEgKwogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luaXQvS2NvbmZpZwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luaXQvS2NvbmZpZwotKysrIGxpbnV4LXN0YWJsZS9pbml0L0tjb25maWcKKy0tLSBhL2luaXQvS2NvbmZpZworKysrIGIvaW5pdC9LY29uZmlnCiBAQCAtOTg1LDYgKzk4NSw3IEBAIGNvbmZpZyBDRlNfQkFORFdJRFRICiAgY29uZmlnIFJUX0dST1VQX1NDSEVECiAgCWJvb2wgIkdyb3VwIHNjaGVkdWxpbmcgZm9yIFNDSEVEX1JSL0ZJRk8iCmRpZmYgLS1naXQgYS9wYXRjaGVzL3NjaGVkLWRpc2FibGUtdHR3dS1xdWV1ZS5wYXRjaCBiL3BhdGNoZXMvc2NoZWQtZGlzYWJsZS10dHd1LXF1ZXVlLnBhdGNoCmluZGV4IDY3ZDA5MDAuLjljNTI4OTkgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc2NoZWQtZGlzYWJsZS10dHd1LXF1ZXVlLnBhdGNoCisrKyBiL3BhdGNoZXMvc2NoZWQtZGlzYWJsZS10dHd1LXF1ZXVlLnBhdGNoCkBAIC03LDEwICs3LDggQEAKICBrZXJuZWwvc2NoZWQvZmVhdHVyZXMuaCB8ICAgIDQgKysrKwogIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvZmVhdHVyZXMuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zY2hlZC9mZWF0dXJlcy5oCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9mZWF0dXJlcy5oCistLS0gYS9rZXJuZWwvc2NoZWQvZmVhdHVyZXMuaAorKysrIGIva2VybmVsL3NjaGVkL2ZlYXR1cmVzLmgKIEBAIC01MCwxMSArNTAsMTUgQEAgU0NIRURfRkVBVChMQl9CSUFTLCB0cnVlKQogICAqLwogIFNDSEVEX0ZFQVQoTk9OVEFTS19QT1dFUiwgdHJ1ZSkKZGlmZiAtLWdpdCBhL3BhdGNoZXMvc2NoZWQtZW5xdWV1ZS10by1oZWFkLnBhdGNoIGIvcGF0Y2hlcy9zY2hlZC1lbnF1ZXVlLXRvLWhlYWQucGF0Y2gKaW5kZXggZGQ1OTQ1YS4uYTFmOTNlNCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zY2hlZC1lbnF1ZXVlLXRvLWhlYWQucGF0Y2gKKysrIGIvcGF0Y2hlcy9zY2hlZC1lbnF1ZXVlLXRvLWhlYWQucGF0Y2gKQEAgLTQ4LDExICs0OCw5IEBACiAga2VybmVsL3NjaGVkL2NvcmUuYyB8ICAgIDkgKysrKysrKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL2NvcmUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi1AQCAtNDIzOSw4ICs0MjM5LDEzIEBAIHJlY2hlY2s6CistLS0gYS9rZXJuZWwvc2NoZWQvY29yZS5jCisrKysgYi9rZXJuZWwvc2NoZWQvY29yZS5jCitAQCAtNDAwMiw4ICs0MDAyLDEzIEBAIHJlY2hlY2s6CiAgCiAgCWlmIChydW5uaW5nKQogIAkJcC0+c2NoZWRfY2xhc3MtPnNldF9jdXJyX3Rhc2socnEpOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9zY2hlZC1saW1pdC1uci1taWdyYXRlLnBhdGNoIGIvcGF0Y2hlcy9zY2hlZC1saW1pdC1uci1taWdyYXRlLnBhdGNoCmluZGV4IDM0ZTcyZTguLjMzNGNkM2QgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc2NoZWQtbGltaXQtbnItbWlncmF0ZS5wYXRjaAorKysgYi9wYXRjaGVzL3NjaGVkLWxpbWl0LW5yLW1pZ3JhdGUucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGtlcm5lbC9zY2hlZC9jb3JlLmMgfCAgICA0ICsrKysKICAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zY2hlZC9jb3JlLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYworLS0tIGEva2VybmVsL3NjaGVkL2NvcmUuYworKysrIGIva2VybmVsL3NjaGVkL2NvcmUuYwogQEAgLTI3Miw3ICsyNzIsMTEgQEAgbGF0ZV9pbml0Y2FsbChzY2hlZF9pbml0X2RlYnVnKTsKICAgKiBOdW1iZXIgb2YgdGFza3MgdG8gaXRlcmF0ZSBpbiBhIHNpbmdsZSBiYWxhbmNlIHJ1bi4KICAgKiBMaW1pdGVkIGJlY2F1c2UgdGhpcyBpcyBkb25lIHdpdGggSVJRcyBkaXNhYmxlZC4KZGlmZiAtLWdpdCBhL3BhdGNoZXMvc2NoZWQtbWlnaHQtc2xlZXAtZG8tbm90LWFjY291bnQtcmN1LWRlcHRoLnBhdGNoIGIvcGF0Y2hlcy9zY2hlZC1taWdodC1zbGVlcC1kby1ub3QtYWNjb3VudC1yY3UtZGVwdGgucGF0Y2gKaW5kZXggNDdhOGExYy4uOTkwZGIzZSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zY2hlZC1taWdodC1zbGVlcC1kby1ub3QtYWNjb3VudC1yY3UtZGVwdGgucGF0Y2gKKysrIGIvcGF0Y2hlcy9zY2hlZC1taWdodC1zbGVlcC1kby1ub3QtYWNjb3VudC1yY3UtZGVwdGgucGF0Y2gKQEAgLTgsMTAgKzgsOCBAQAogIGtlcm5lbC9zY2hlZC9jb3JlLmMgICAgICB8ICAgIDMgKystCiAgMiBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3JjdXBkYXRlLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3JjdXBkYXRlLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9yY3VwZGF0ZS5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3JjdXBkYXRlLmgKKysrKyBiL2luY2x1ZGUvbGludXgvcmN1cGRhdGUuaAogQEAgLTE5MCw2ICsxOTAsMTEgQEAgdm9pZCBzeW5jaHJvbml6ZV9yY3Uodm9pZCk7CiAgICogdHlwZXMgb2Yga2VybmVsIGJ1aWxkcywgdGhlIHJjdV9yZWFkX2xvY2soKSBuZXN0aW5nIGRlcHRoIGlzIHVua25vd2FibGUuCiAgICovCkBAIC0zMywxMSArMzEsOSBAQAogICNlbmRpZiAvKiAjZWxzZSAjaWZkZWYgQ09ORklHX1BSRUVNUFRfUkNVICovCiAgCiAgLyogSW50ZXJuYWwgdG8ga2VybmVsICovCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc2NoZWQvY29yZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKLUBAIC03MTQ2LDcgKzcxNDYsOCBAQCB2b2lkIF9faW5pdCBzY2hlZF9pbml0KHZvaWQpCistLS0gYS9rZXJuZWwvc2NoZWQvY29yZS5jCisrKysgYi9rZXJuZWwvc2NoZWQvY29yZS5jCitAQCAtNzE4OSw3ICs3MTg5LDggQEAgdm9pZCBfX2luaXQgc2NoZWRfaW5pdCh2b2lkKQogICNpZmRlZiBDT05GSUdfREVCVUdfQVRPTUlDX1NMRUVQCiAgc3RhdGljIGlubGluZSBpbnQgcHJlZW1wdF9jb3VudF9lcXVhbHMoaW50IHByZWVtcHRfb2Zmc2V0KQogIHsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvc2NoZWQtbWlncmF0ZS1kaXNhYmxlLnBhdGNoIGIvcGF0Y2hlcy9zY2hlZC1taWdyYXRlLWRpc2FibGUucGF0Y2gKaW5kZXggOWIwMjI0Yy4uZDlhMzI4YSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zY2hlZC1taWdyYXRlLWRpc2FibGUucGF0Y2gKKysrIGIvcGF0Y2hlcy9zY2hlZC1taWdyYXRlLWRpc2FibGUucGF0Y2gKQEAgLTEwLDEwICsxMCw4IEBACiAgbGliL3NtcF9wcm9jZXNzb3JfaWQuYyAgfCAgICA2ICstLQogIDQgZmlsZXMgY2hhbmdlZCwgMTA0IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKKy0tLSBhL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3ByZWVtcHQuaAogQEAgLTEzMCw2ICsxMzAsMTQgQEAgZG8geyBcCiAgCiAgI2VuZGlmIC8qIENPTkZJR19QUkVFTVBUX0NPVU5UICovCkBAIC0yOSwxMCArMjcsOCBAQAogICNpZmRlZiBDT05GSUdfUFJFRU1QVF9SVF9GVUxMCiAgIyBkZWZpbmUgcHJlZW1wdF9kaXNhYmxlX3J0KCkJCXByZWVtcHRfZGlzYWJsZSgpCiAgIyBkZWZpbmUgcHJlZW1wdF9lbmFibGVfcnQoKQkJcHJlZW1wdF9lbmFibGUoKQotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zY2hlZC5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKKysrKyBiL2luY2x1ZGUvbGludXgvc2NoZWQuaAogQEAgLTEwNzQsNiArMTA3NCw3IEBAIHN0cnVjdCB0YXNrX3N0cnVjdCB7CiAgI2VuZGlmCiAgCkBAIC00MSw3ICszNyw3IEBACiAgCWludCBucl9jcHVzX2FsbG93ZWQ7CiAgCWNwdW1hc2tfdCBjcHVzX2FsbG93ZWQ7CiAgCi1AQCAtMTQ0MSw5ICsxNDQyLDYgQEAgc3RydWN0IHRhc2tfc3RydWN0IHsKK0BAIC0xNDQ0LDkgKzE0NDUsNiBAQCBzdHJ1Y3QgdGFza19zdHJ1Y3QgewogICNlbmRpZgogIH07CiAgCkBAIC01MSw3ICs0Nyw3IEBACiAgI2lmZGVmIENPTkZJR19OVU1BX0JBTEFOQ0lORwogIGV4dGVybiB2b2lkIHRhc2tfbnVtYV9mYXVsdChpbnQgbm9kZSwgaW50IHBhZ2VzLCBib29sIG1pZ3JhdGVkKTsKICBleHRlcm4gdm9pZCBzZXRfbnVtYWJhbGFuY2luZ19zdGF0ZShib29sIGVuYWJsZWQpOwotQEAgLTI2MTYsNiArMjYxNCwxNSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc2V0X3Rhc2tfY3B1KHN0cnVjdCB0CitAQCAtMjYxOSw2ICsyNjE3LDE1IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfdGFza19jcHUoc3RydWN0IHQKICAKICAjZW5kaWYgLyogQ09ORklHX1NNUCAqLwogIApAQCAtNjcsMTEgKzYzLDkgQEAKICBleHRlcm4gbG9uZyBzY2hlZF9zZXRhZmZpbml0eShwaWRfdCBwaWQsIGNvbnN0IHN0cnVjdCBjcHVtYXNrICpuZXdfbWFzayk7CiAgZXh0ZXJuIGxvbmcgc2NoZWRfZ2V0YWZmaW5pdHkocGlkX3QgcGlkLCBzdHJ1Y3QgY3B1bWFzayAqbWFzayk7CiAgCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc2NoZWQvY29yZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKLUBAIC00ODI4LDExICs0ODI4LDEyIEBAIHZvaWQgX19jcHVpbml0IGluaXRfaWRsZShzdHJ1Y3QgdGFza19zdHIKKy0tLSBhL2tlcm5lbC9zY2hlZC9jb3JlLmMKKysrKyBiL2tlcm5lbC9zY2hlZC9jb3JlLmMKK0BAIC00ODcxLDExICs0ODcxLDEyIEBAIHZvaWQgX19jcHVpbml0IGluaXRfaWRsZShzdHJ1Y3QgdGFza19zdHIKICAjaWZkZWYgQ09ORklHX1NNUAogIHZvaWQgZG9fc2V0X2NwdXNfYWxsb3dlZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGNvbnN0IHN0cnVjdCBjcHVtYXNrICpuZXdfbWFzaykKICB7CkBAIC04OCw3ICs4Miw3IEBACiAgfQogIAogIC8qCi1AQCAtNDg3OCw3ICs0ODc5LDcgQEAgaW50IHNldF9jcHVzX2FsbG93ZWRfcHRyKHN0cnVjdCB0YXNrX3N0cgorQEAgLTQ5MjEsNyArNDkyMiw3IEBAIGludCBzZXRfY3B1c19hbGxvd2VkX3B0cihzdHJ1Y3QgdGFza19zdHIKICAJZG9fc2V0X2NwdXNfYWxsb3dlZChwLCBuZXdfbWFzayk7CiAgCiAgCS8qIENhbiB0aGUgdGFzayBydW4gb24gdGhlIHRhc2sncyBjdXJyZW50IENQVT8gSWYgc28sIHdlJ3JlIGRvbmUgKi8KQEAgLTk3LDcgKzkxLDcgQEAKICAJCWdvdG8gb3V0OwogIAogIAlkZXN0X2NwdSA9IGNwdW1hc2tfYW55X2FuZChjcHVfYWN0aXZlX21hc2ssIG5ld19tYXNrKTsKLUBAIC00ODk3LDYgKzQ4OTgsODMgQEAgb3V0OgorQEAgLTQ5NDAsNiArNDk0MSw4MyBAQCBvdXQ6CiAgfQogIEVYUE9SVF9TWU1CT0xfR1BMKHNldF9jcHVzX2FsbG93ZWRfcHRyKTsKICAKQEAgLTE4MSwxMCArMTc1LDggQEAKICAvKgogICAqIE1vdmUgKG5vdCBjdXJyZW50KSB0YXNrIG9mZiB0aGlzIGNwdSwgb250byBkZXN0IGNwdS4gV2UncmUgZG9pbmcKICAgKiB0aGlzIGJlY2F1c2UgZWl0aGVyIGl0IGNhbid0IHJ1biBoZXJlIGFueSBtb3JlIChzZXRfY3B1c19hbGxvd2VkKCkKLUluZGV4OiBsaW51eC1zdGFibGUvbGliL3NtcF9wcm9jZXNzb3JfaWQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2xpYi9zbXBfcHJvY2Vzc29yX2lkLmMKLSsrKyBsaW51eC1zdGFibGUvbGliL3NtcF9wcm9jZXNzb3JfaWQuYworLS0tIGEvbGliL3NtcF9wcm9jZXNzb3JfaWQuYworKysrIGIvbGliL3NtcF9wcm9jZXNzb3JfaWQuYwogQEAgLTM5LDkgKzM5LDkgQEAgbm90cmFjZSB1bnNpZ25lZCBpbnQgZGVidWdfc21wX3Byb2Nlc3NvcgogIAlpZiAoIXByaW50a19yYXRlbGltaXQoKSkKICAJCWdvdG8gb3V0X2VuYWJsZTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvc2NoZWQtbW1kcm9wLWRlbGF5ZWQucGF0Y2ggYi9wYXRjaGVzL3NjaGVkLW1tZHJvcC1kZWxheWVkLnBhdGNoCmluZGV4IGI1NTAzOWUuLjg3MGU4NmYgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc2NoZWQtbW1kcm9wLWRlbGF5ZWQucGF0Y2gKKysrIGIvcGF0Y2hlcy9zY2hlZC1tbWRyb3AtZGVsYXllZC5wYXRjaApAQCAtMTMsMTAgKzEzLDggQEAKICBrZXJuZWwvc2NoZWQvY29yZS5jICAgICAgfCAgIDE5ICsrKysrKysrKysrKysrKysrLS0KICA0IGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9tbV90eXBlcy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9tbV90eXBlcy5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvbW1fdHlwZXMuaAorLS0tIGEvaW5jbHVkZS9saW51eC9tbV90eXBlcy5oCisrKysgYi9pbmNsdWRlL2xpbnV4L21tX3R5cGVzLmgKIEBAIC0xMSw2ICsxMSw3IEBACiAgI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KICAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgpAQCAtMzUsMTEgKzMzLDkgQEAKICB9OwogIAogIC8qIGZpcnN0IG5pZCB3aWxsIGVpdGhlciBiZSBhIHZhbGlkIE5JRCBvciBvbmUgb2YgdGhlc2UgdmFsdWVzICovCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvc2NoZWQuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLUBAIC0yMTI5LDEyICsyMTI5LDI0IEBAIGV4dGVybiBzdHJ1Y3QgbW1fc3RydWN0ICogbW1fYWxsb2Modm9pZCkKKy0tLSBhL2luY2x1ZGUvbGludXgvc2NoZWQuaAorKysrIGIvaW5jbHVkZS9saW51eC9zY2hlZC5oCitAQCAtMjEzMiwxMiArMjEzMiwyNCBAQCBleHRlcm4gc3RydWN0IG1tX3N0cnVjdCAqIG1tX2FsbG9jKHZvaWQpCiAgCiAgLyogbW1kcm9wIGRyb3BzIHRoZSBtbSBhbmQgdGhlIHBhZ2UgdGFibGVzICovCiAgZXh0ZXJuIHZvaWQgX19tbWRyb3Aoc3RydWN0IG1tX3N0cnVjdCAqKTsKQEAgLTY0LDEwICs2MCw4IEBACiAgLyogbW1wdXQgZ2V0cyByaWQgb2YgdGhlIG1hcHBpbmdzIGFuZCBhbGwgdXNlci1zcGFjZSAqLwogIGV4dGVybiB2b2lkIG1tcHV0KHN0cnVjdCBtbV9zdHJ1Y3QgKik7CiAgLyogR3JhYiBhIHJlZmVyZW5jZSB0byBhIHRhc2sncyBtbSwgaWYgaXQgaXMgbm90IGFscmVhZHkgZ29pbmcgYXdheSAqLwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvZm9yay5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2ZvcmsuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvZm9yay5jCistLS0gYS9rZXJuZWwvZm9yay5jCisrKysgYi9rZXJuZWwvZm9yay5jCiBAQCAtNjE3LDYgKzYxNywxOSBAQCB2b2lkIF9fbW1kcm9wKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQogIH0KICBFWFBPUlRfU1lNQk9MX0dQTChfX21tZHJvcCk7CkBAIC04OCwxMCArODIsOCBAQAogIC8qCiAgICogRGVjcmVtZW50IHRoZSB1c2UgY291bnQgYW5kIHJlbGVhc2UgYWxsIHJlc291cmNlcyBmb3IgYW4gbW0uCiAgICovCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc2NoZWQvY29yZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKKy0tLSBhL2tlcm5lbC9zY2hlZC9jb3JlLmMKKysrKyBiL2tlcm5lbC9zY2hlZC9jb3JlLmMKIEBAIC0xOTAxLDggKzE5MDEsMTIgQEAgc3RhdGljIHZvaWQgZmluaXNoX3Rhc2tfc3dpdGNoKHN0cnVjdCBycQogIAlmaW5pc2hfYXJjaF9wb3N0X2xvY2tfc3dpdGNoKCk7CiAgCkBAIC0xMDYsNyArOTgsNyBAQAogIAlpZiAodW5saWtlbHkocHJldl9zdGF0ZSA9PSBUQVNLX0RFQUQpKSB7CiAgCQkvKgogIAkJICogUmVtb3ZlIGZ1bmN0aW9uLXJldHVybiBwcm9iZSBpbnN0YW5jZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMKLUBAIC00OTIwLDYgKzQ5MjQsOCBAQCBzdGF0aWMgaW50IG1pZ3JhdGlvbl9jcHVfc3RvcCh2b2lkICpkYXRhCitAQCAtNDk2Myw2ICs0OTY3LDggQEAgc3RhdGljIGludCBtaWdyYXRpb25fY3B1X3N0b3Aodm9pZCAqZGF0YQogIAogICNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKICAKQEAgLTExNSw3ICsxMDcsNyBAQAogIC8qCiAgICogRW5zdXJlcyB0aGF0IHRoZSBpZGxlIHRhc2sgaXMgdXNpbmcgaW5pdF9tbSByaWdodCBiZWZvcmUgaXRzIGNwdSBnb2VzCiAgICogb2ZmbGluZS4KLUBAIC00OTMyLDcgKzQ5MzgsMTIgQEAgdm9pZCBpZGxlX3Rhc2tfZXhpdCh2b2lkKQorQEAgLTQ5NzUsNyArNDk4MSwxMiBAQCB2b2lkIGlkbGVfdGFza19leGl0KHZvaWQpCiAgCiAgCWlmIChtbSAhPSAmaW5pdF9tbSkKICAJCXN3aXRjaF9tbShtbSwgJmluaXRfbW0sIGN1cnJlbnQpOwpAQCAtMTI5LDcgKzEyMSw3IEBACiAgfQogIAogIC8qCi1AQCAtNTI0OSw2ICs1MjYwLDEwIEBAIG1pZ3JhdGlvbl9jYWxsKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmYKK0BAIC01MjkyLDYgKzUzMDMsMTAgQEAgbWlncmF0aW9uX2NhbGwoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuZgogIAogIAljYXNlIENQVV9ERUFEOgogIAkJY2FsY19sb2FkX21pZ3JhdGUocnEpOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9zY2hlZC1ydC1maXgtbWlncmF0ZV9lbmFibGUtdGhpbmtvLnBhdGNoIGIvcGF0Y2hlcy9zY2hlZC1ydC1maXgtbWlncmF0ZV9lbmFibGUtdGhpbmtvLnBhdGNoCmluZGV4IGZmNzE3ODYuLjJhMjdhMGEgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc2NoZWQtcnQtZml4LW1pZ3JhdGVfZW5hYmxlLXRoaW5rby5wYXRjaAorKysgYi9wYXRjaGVzL3NjaGVkLXJ0LWZpeC1taWdyYXRlX2VuYWJsZS10aGlua28ucGF0Y2gKQEAgLTIwLDExICsyMCw5IEBACiAga2VybmVsL3NjaGVkL2RlYnVnLmMgfCAgICA3ICsrKysrKysKICAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL2NvcmUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi1AQCAtNDk3NSwxMiArNDk3NSwxNCBAQCB2b2lkIG1pZ3JhdGVfZW5hYmxlKHZvaWQpCistLS0gYS9rZXJuZWwvc2NoZWQvY29yZS5jCisrKysgYi9rZXJuZWwvc2NoZWQvY29yZS5jCitAQCAtNTAxOCwxMiArNTAxOCwxNCBAQCB2b2lkIG1pZ3JhdGVfZW5hYmxlKHZvaWQpCiAgCSAqLwogIAlycSA9IHRoaXNfcnEoKTsKICAJcmF3X3NwaW5fbG9ja19pcnFzYXZlKCZycS0+bG9jaywgZmxhZ3MpOwpAQCAtNDAsMTAgKzM4LDggQEAKICAJCWlmIChwLT5zY2hlZF9jbGFzcy0+c2V0X2NwdXNfYWxsb3dlZCkKICAJCQlwLT5zY2hlZF9jbGFzcy0+c2V0X2NwdXNfYWxsb3dlZChwLCBtYXNrKTsKICAJCXAtPm5yX2NwdXNfYWxsb3dlZCA9IGNwdW1hc2tfd2VpZ2h0KG1hc2spOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvZGVidWcuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zY2hlZC9kZWJ1Zy5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9kZWJ1Zy5jCistLS0gYS9rZXJuZWwvc2NoZWQvZGVidWcuYworKysrIGIva2VybmVsL3NjaGVkL2RlYnVnLmMKIEBAIC0yNDYsNiArMjQ2LDkgQEAgdm9pZCBwcmludF9ydF9ycShzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIGludAogIAlQKHJ0X3Rocm90dGxlZCk7CiAgCVBOKHJ0X3RpbWUpOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9zY2hlZC1ydC1tdXRleC13YWtldXAucGF0Y2ggYi9wYXRjaGVzL3NjaGVkLXJ0LW11dGV4LXdha2V1cC5wYXRjaAppbmRleCA2OGUzNzY4Li5mYTYwNzcxIDEwMDY0NAotLS0gYS9wYXRjaGVzL3NjaGVkLXJ0LW11dGV4LXdha2V1cC5wYXRjaAorKysgYi9wYXRjaGVzL3NjaGVkLXJ0LW11dGV4LXdha2V1cC5wYXRjaApAQCAtOSwxMCArOSw4IEBACiAga2VybmVsL3NjaGVkL3NjaGVkLmggIHwgICAgMyArKy0KICAzIGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zY2hlZC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9zY2hlZC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQuaAorLS0tIGEvaW5jbHVkZS9saW51eC9zY2hlZC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKIEBAIC0xMDM0LDYgKzEwMzQsNyBAQCBlbnVtIHBlcmZfZXZlbnRfdGFza19jb250ZXh0IHsKICAKICBzdHJ1Y3QgdGFza19zdHJ1Y3QgewpAQCAtMjEsNyArMTksNyBAQAogIAl2b2lkICpzdGFjazsKICAJYXRvbWljX3QgdXNhZ2U7CiAgCXVuc2lnbmVkIGludCBmbGFnczsJLyogcGVyIHByb2Nlc3MgZmxhZ3MsIGRlZmluZWQgYmVsb3cgKi8KLUBAIC0yMDE1LDYgKzIwMTYsNyBAQCBleHRlcm4gdm9pZCB4dGltZV91cGRhdGUodW5zaWduZWQgbG9uZyB0CitAQCAtMjAxOCw2ICsyMDE5LDcgQEAgZXh0ZXJuIHZvaWQgeHRpbWVfdXBkYXRlKHVuc2lnbmVkIGxvbmcgdAogIAogIGV4dGVybiBpbnQgd2FrZV91cF9zdGF0ZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgdW5zaWduZWQgaW50IHN0YXRlKTsKICBleHRlcm4gaW50IHdha2VfdXBfcHJvY2VzcyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayk7CkBAIC0yOSwxMCArMjcsOCBAQAogIGV4dGVybiB2b2lkIHdha2VfdXBfbmV3X3Rhc2soc3RydWN0IHRhc2tfc3RydWN0ICp0c2spOwogICNpZmRlZiBDT05GSUdfU01QCiAgIGV4dGVybiB2b2lkIGtpY2tfcHJvY2VzcyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayk7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc2NoZWQvY29yZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jb3JlLmMKKy0tLSBhL2tlcm5lbC9zY2hlZC9jb3JlLmMKKysrKyBiL2tlcm5lbC9zY2hlZC9jb3JlLmMKIEBAIC0xNDk0LDggKzE0OTQsMjUgQEAgdHJ5X3RvX3dha2VfdXAoc3RydWN0IHRhc2tfc3RydWN0ICpwLCB1bgogIAogIAlzbXBfd21iKCk7CkBAIC03OSwxMCArNzUsOCBAQAogIGludCB3YWtlX3VwX3N0YXRlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgdW5zaWduZWQgaW50IHN0YXRlKQogIHsKICAJcmV0dXJuIHRyeV90b193YWtlX3VwKHAsIHN0YXRlLCAwKTsKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL3NjaGVkLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc2NoZWQvc2NoZWQuaAotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvc2NoZWQuaAorLS0tIGEva2VybmVsL3NjaGVkL3NjaGVkLmgKKysrKyBiL2tlcm5lbC9zY2hlZC9zY2hlZC5oCiBAQCAtODgyLDcgKzg4Miw4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBmaW5pc2hfbG9ja19zd2l0Y2goc3QKICAgKi8KICAjZGVmaW5lIFdGX1NZTkMJCTB4MDEJCS8qIHdha2VyIGdvZXMgdG8gc2xlZXAgYWZ0ZXIgd2FrZXVwICovCmRpZmYgLS1naXQgYS9wYXRjaGVzL3NjaGVkLXRlYWNoLW1pZ3JhdGVfZGlzYWJsZS1hYm91dC1hdG9taWMtY29udGV4dHMucGF0Y2ggYi9wYXRjaGVzL3NjaGVkLXRlYWNoLW1pZ3JhdGVfZGlzYWJsZS1hYm91dC1hdG9taWMtY29udGV4dHMucGF0Y2gKaW5kZXggNzg2Y2Q5Zi4uYWZjYzRiZCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zY2hlZC10ZWFjaC1taWdyYXRlX2Rpc2FibGUtYWJvdXQtYXRvbWljLWNvbnRleHRzLnBhdGNoCisrKyBiL3BhdGNoZXMvc2NoZWQtdGVhY2gtbWlncmF0ZV9kaXNhYmxlLWFib3V0LWF0b21pYy1jb250ZXh0cy5wYXRjaApAQCAtMzcsMTAgKzM3LDggQEAKICBrZXJuZWwvc2NoZWQvY29yZS5jICAgfCAgIDIxICsrKysrKysrKysrKysrKysrKysrKwogIDIgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvc2NoZWQuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvc2NoZWQuaAorKysrIGIvaW5jbHVkZS9saW51eC9zY2hlZC5oCiBAQCAtMTA3Niw2ICsxMDc2LDkgQEAgc3RydWN0IHRhc2tfc3RydWN0IHsKICAJdW5zaWduZWQgaW50IHBvbGljeTsKICAjaWZkZWYgQ09ORklHX1BSRUVNUFRfUlRfRlVMTApAQCAtNTEsMTEgKzQ5LDkgQEAKICAjZW5kaWYKICAJaW50IG5yX2NwdXNfYWxsb3dlZDsKICAJY3B1bWFza190IGNwdXNfYWxsb3dlZDsKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zY2hlZC9jb3JlLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYwotQEAgLTQ5MDYsNiArNDkwNiwxNyBAQCB2b2lkIG1pZ3JhdGVfZGlzYWJsZSh2b2lkKQorLS0tIGEva2VybmVsL3NjaGVkL2NvcmUuYworKysrIGIva2VybmVsL3NjaGVkL2NvcmUuYworQEAgLTQ5NDksNiArNDk0OSwxNyBAQCB2b2lkIG1pZ3JhdGVfZGlzYWJsZSh2b2lkKQogIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogIAlzdHJ1Y3QgcnEgKnJxOwogIApAQCAtNzMsNyArNjksNyBAQAogIAlwcmVlbXB0X2Rpc2FibGUoKTsKICAJaWYgKHAtPm1pZ3JhdGVfZGlzYWJsZSkgewogIAkJcC0+bWlncmF0ZV9kaXNhYmxlKys7Ci1AQCAtNDk1NCw2ICs0OTY1LDE2IEBAIHZvaWQgbWlncmF0ZV9lbmFibGUodm9pZCkKK0BAIC00OTk3LDYgKzUwMDgsMTYgQEAgdm9pZCBtaWdyYXRlX2VuYWJsZSh2b2lkKQogIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogIAlzdHJ1Y3QgcnEgKnJxOwogIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9zY2hlZC10dHd1LWVuc3VyZS1zdWNjZXNzLXJldHVybi1pcy1jb3JyZWN0LnBhdGNoIGIvcGF0Y2hlcy9zY2hlZC10dHd1LWVuc3VyZS1zdWNjZXNzLXJldHVybi1pcy1jb3JyZWN0LnBhdGNoCmluZGV4IDA0NWY5ZjYuLjQ2ZGU1N2YgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc2NoZWQtdHR3dS1lbnN1cmUtc3VjY2Vzcy1yZXR1cm4taXMtY29ycmVjdC5wYXRjaAorKysgYi9wYXRjaGVzL3NjaGVkLXR0d3UtZW5zdXJlLXN1Y2Nlc3MtcmV0dXJuLWlzLWNvcnJlY3QucGF0Y2gKQEAgLTE4LDEwICsxOCw4IEBACiAga2VybmVsL3NjaGVkL2NvcmUuYyB8ICAgIDQgKysrLQogIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL2NvcmUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCistLS0gYS9rZXJuZWwvc2NoZWQvY29yZS5jCisrKysgYi9rZXJuZWwvc2NoZWQvY29yZS5jCiBAQCAtMTUwMSw4ICsxNTAxLDEwIEBAIHRyeV90b193YWtlX3VwKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgdW4KICAJCSAqIGlmIHRoZSB3YWtldXAgY29uZGl0aW9uIGlzIHRydWUuCiAgCQkgKi8KZGlmZiAtLWdpdCBhL3BhdGNoZXMvc2NoZWQtd29ya3F1ZXVlLU9ubHktd2FrZS11cC1pZGxlLXdvcmtlcnMtaWYtbm90LWJsby5wYXRjaCBiL3BhdGNoZXMvc2NoZWQtd29ya3F1ZXVlLU9ubHktd2FrZS11cC1pZGxlLXdvcmtlcnMtaWYtbm90LWJsby5wYXRjaAppbmRleCA5ZDBiMGIyLi4zNmM3MzY1IDEwMDY0NAotLS0gYS9wYXRjaGVzL3NjaGVkLXdvcmtxdWV1ZS1Pbmx5LXdha2UtdXAtaWRsZS13b3JrZXJzLWlmLW5vdC1ibG8ucGF0Y2gKKysrIGIvcGF0Y2hlcy9zY2hlZC13b3JrcXVldWUtT25seS13YWtlLXVwLWlkbGUtd29ya2Vycy1pZi1ub3QtYmxvLnBhdGNoCkBAIC0yMywxMSArMjMsOSBAQAogIGtlcm5lbC9zY2hlZC9jb3JlLmMgfCAgICA0ICsrKy0KICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zY2hlZC9jb3JlLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYwotQEAgLTMwMjAsOCArMzAyMCwxMCBAQCBuZWVkX3Jlc2NoZWQ6CistLS0gYS9rZXJuZWwvc2NoZWQvY29yZS5jCisrKysgYi9rZXJuZWwvc2NoZWQvY29yZS5jCitAQCAtMzAzMiw4ICszMDMyLDEwIEBAIG5lZWRfcmVzY2hlZDoKICAJCQkgKiBJZiBhIHdvcmtlciB3ZW50IHRvIHNsZWVwLCBub3RpZnkgYW5kIGFzayB3b3JrcXVldWUKICAJCQkgKiB3aGV0aGVyIGl0IHdhbnRzIHRvIHdha2UgdXAgYSB0YXNrIHRvIG1haW50YWluCiAgCQkJICogY29uY3VycmVuY3kuCmRpZmYgLS1naXQgYS9wYXRjaGVzL3Njc2ktZmNvZS1ydC1hd2FyZS5wYXRjaCBiL3BhdGNoZXMvc2NzaS1mY29lLXJ0LWF3YXJlLnBhdGNoCmluZGV4IGEwNzE3NTEuLjY4M2MyMDMgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc2NzaS1mY29lLXJ0LWF3YXJlLnBhdGNoCisrKyBiL3BhdGNoZXMvc2NzaS1mY29lLXJ0LWF3YXJlLnBhdGNoCkBAIC05LDEwICs5LDggQEAKICBkcml2ZXJzL3Njc2kvbGliZmMvZmNfZXhjaC5jICB8ICAgIDQgKystLQogIDMgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9zY3NpL2Zjb2UvZmNvZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy9zY3NpL2Zjb2UvZmNvZS5jCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvc2NzaS9mY29lL2Zjb2UuYworLS0tIGEvZHJpdmVycy9zY3NpL2Zjb2UvZmNvZS5jCisrKysgYi9kcml2ZXJzL3Njc2kvZmNvZS9mY29lLmMKIEBAIC0xMjgxLDcgKzEyODEsNyBAQCBzdGF0aWMgdm9pZCBmY29lX3BlcmNwdV90aHJlYWRfZGVzdHJveSh1CiAgCXN0cnVjdCBza19idWZmICpza2I7CiAgI2lmZGVmIENPTkZJR19TTVAKQEAgLTc2LDEwICs3NCw4IEBACiAgCWtmcmVlX3NrYihza2IpOwogIH0KICAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9zY3NpL2Zjb2UvZmNvZV9jdGxyLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL3Njc2kvZmNvZS9mY29lX2N0bHIuYwotKysrIGxpbnV4LXN0YWJsZS9kcml2ZXJzL3Njc2kvZmNvZS9mY29lX2N0bHIuYworLS0tIGEvZHJpdmVycy9zY3NpL2Zjb2UvZmNvZV9jdGxyLmMKKysrKyBiL2RyaXZlcnMvc2NzaS9mY29lL2Zjb2VfY3Rsci5jCiBAQCAtNzkyLDcgKzc5Miw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGZjb2VfY3Rscl9hZ2VfZmNmcygKICAKICAJSU5JVF9MSVNUX0hFQUQoJmRlbF9saXN0KTsKQEAgLTk4LDEwICs5NCw4IEBACiAgCiAgCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShmY2YsIG5leHQsICZkZWxfbGlzdCwgbGlzdCkgewogIAkJLyogUmVtb3ZlcyBmY2YgZnJvbSBjdXJyZW50IGxpc3QgKi8KLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy9zY3NpL2xpYmZjL2ZjX2V4Y2guYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2RyaXZlcnMvc2NzaS9saWJmYy9mY19leGNoLmMKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9zY3NpL2xpYmZjL2ZjX2V4Y2guYworLS0tIGEvZHJpdmVycy9zY3NpL2xpYmZjL2ZjX2V4Y2guYworKysrIGIvZHJpdmVycy9zY3NpL2xpYmZjL2ZjX2V4Y2guYwogQEAgLTc0MSwxMCArNzQxLDEwIEBAIHN0YXRpYyBzdHJ1Y3QgZmNfZXhjaCAqZmNfZXhjaF9lbV9hbGxvYygKICAJfQogIAltZW1zZXQoZXAsIDAsIHNpemVvZigqZXApKTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvc2NzaS1xbGEyeHh4LWZpeC1idWctc2xlZXBpbmctZnVuY3Rpb24tY2FsbGVkLWZyb20taW52YWxpZC1jb250ZXh0LnBhdGNoIGIvcGF0Y2hlcy9zY3NpLXFsYTJ4eHgtZml4LWJ1Zy1zbGVlcGluZy1mdW5jdGlvbi1jYWxsZWQtZnJvbS1pbnZhbGlkLWNvbnRleHQucGF0Y2gKaW5kZXggMzRjY2UwMi4uM2JkNGQ1MiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zY3NpLXFsYTJ4eHgtZml4LWJ1Zy1zbGVlcGluZy1mdW5jdGlvbi1jYWxsZWQtZnJvbS1pbnZhbGlkLWNvbnRleHQucGF0Y2gKKysrIGIvcGF0Y2hlcy9zY3NpLXFsYTJ4eHgtZml4LWJ1Zy1zbGVlcGluZy1mdW5jdGlvbi1jYWxsZWQtZnJvbS1pbnZhbGlkLWNvbnRleHQucGF0Y2gKQEAgLTI4LDEwICsyOCw4IEBACiAgZHJpdmVycy9zY3NpL3FsYTJ4eHgvcWxhX2lubGluZS5oIHwgICAgNCArKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9kcml2ZXJzL3Njc2kvcWxhMnh4eC9xbGFfaW5saW5lLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL3Njc2kvcWxhMnh4eC9xbGFfaW5saW5lLmgKLSsrKyBsaW51eC1zdGFibGUvZHJpdmVycy9zY3NpL3FsYTJ4eHgvcWxhX2lubGluZS5oCistLS0gYS9kcml2ZXJzL3Njc2kvcWxhMnh4eC9xbGFfaW5saW5lLmgKKysrKyBiL2RyaXZlcnMvc2NzaS9xbGEyeHh4L3FsYV9pbmxpbmUuaAogQEAgLTU4LDEyICs1OCwxMiBAQCBxbGEyeDAwX3BvbGwoc3RydWN0IHJzcF9xdWUgKnJzcCkKICB7CiAgCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CmRpZmYgLS1naXQgYS9wYXRjaGVzL3NlcWxvY2stcHJldmVudC1ydC1zdGFydmF0aW9uLnBhdGNoIGIvcGF0Y2hlcy9zZXFsb2NrLXByZXZlbnQtcnQtc3RhcnZhdGlvbi5wYXRjaAppbmRleCAzNzkxMGEyLi43ZGU2YmIxIDEwMDY0NAotLS0gYS9wYXRjaGVzL3NlcWxvY2stcHJldmVudC1ydC1zdGFydmF0aW9uLnBhdGNoCisrKyBiL3BhdGNoZXMvc2VxbG9jay1wcmV2ZW50LXJ0LXN0YXJ2YXRpb24ucGF0Y2gKQEAgLTIyLDEwICsyMiw4IEBACiAgaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmggfCAgICA0ICstLQogIDMgZmlsZXMgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zZXFsb2NrLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3NlcWxvY2suaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NlcWxvY2suaAorLS0tIGEvaW5jbHVkZS9saW51eC9zZXFsb2NrLmgKKysrKyBiL2luY2x1ZGUvbGludXgvc2VxbG9jay5oCiBAQCAtMTQ2LDE4ICsxNDYsMzAgQEAgc3RhdGljIGlubGluZSBpbnQgcmVhZF9zZXFjb3VudF9yZXRyeShjbwogICAqIFNlcXVlbmNlIGNvdW50ZXIgb25seSB2ZXJzaW9uIGFzc3VtZXMgdGhhdCBjYWxsZXJzIGFyZSB1c2luZyB0aGVpcgogICAqIG93biBtdXRleGluZy4KQEAgLTE1NCwxMCArMTUyLDggQEAKICAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2wtPmxvY2ssIGZsYWdzKTsKICB9CiAgCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbmV0L2RzdC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9uZXQvZHN0LmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9uZXQvZHN0LmgKKy0tLSBhL2luY2x1ZGUvbmV0L2RzdC5oCisrKysgYi9pbmNsdWRlL25ldC9kc3QuaAogQEAgLTM5Myw3ICszOTMsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZHN0X2NvbmZpcm0oc3RydWN0IGRzCiAgc3RhdGljIGlubGluZSBpbnQgZHN0X25laWdoX291dHB1dChzdHJ1Y3QgZHN0X2VudHJ5ICpkc3QsIHN0cnVjdCBuZWlnaGJvdXIgKm4sCiAgCQkJCSAgIHN0cnVjdCBza19idWZmICpza2IpCkBAIC0xNjcsMTAgKzE2Myw4IEBACiAgCiAgCWlmIChkc3QtPnBlbmRpbmdfY29uZmlybSkgewogIAkJdW5zaWduZWQgbG9uZyBub3cgPSBqaWZmaWVzOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbmV0L25laWdoYm91ci5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbmV0L25laWdoYm91ci5oCistLS0gYS9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaAorKysrIGIvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmgKIEBAIC0zMzUsNyArMzM1LDcgQEAgc3RhdGljIGlubGluZSBpbnQgbmVpZ2hfaGhfYnJpZGdlKHN0cnVjdAogIH0KICAjZW5kaWYKZGlmZiAtLWdpdCBhL3BhdGNoZXMvc2VyaWVzIGIvcGF0Y2hlcy9zZXJpZXMKaW5kZXggMjkwNzI2My4uOTZmMDBjYyAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zZXJpZXMKKysrIGIvcGF0Y2hlcy9zZXJpZXMKQEAgLTUsNiArNSw3IEBACiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgVVBTVFJFQU0gY2hhbmdlcyBxdWV1ZWQKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworaHBzYS1maXgtd2FybmluZy13aXRoLXNtcF9wcm9jZXNzb3JfaWQtaW4tcHJlZW1wdGlibC5wYXRjaAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgVVBTVFJFQU0gRklYRVMsIHBhdGNoZXMgcGVuZGluZwpAQCAtNDEsMTAgKzQyLDE0IEBACiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgU3VibWl0dGVkIHRvIEFSTSBNTAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCithcm0tbWFyay1wbXUtaW50ZXJ1cHQtbm8tdGhyZWFkLnBhdGNoCithcm0tYWxsb3ctaXJxLXRocmVhZGluZy5wYXRjaAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgU3VibWl0dGVkIHRvIFBQQyBNTAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitwcGMtbWFyay1sb3ctbGV2ZWwtaGFuZGxlcnMtbm8tdGhyZWFkLnBhdGNoCitwb3dlcnBjLTUyeHgtcHJvdmlkZS1hLWRlZmF1bHQtaW4tbXBjNTJ4eF9pcnFob3N0X21hLnBhdGNoCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBTdWJtaXR0ZWQgb24gTEtNTApAQCAtNTcsMTMgKzYyLDggQEAKIG5ldC1kZXYtbWFrZS1kZXZuZXQtcmVuYW1lLXNlcS1zdGF0aWMucGF0Y2gKIAogIyBDaGVjayBhZ2FpbgotIyBSZXZlcnQgdXBzdHJlYW0gY2hhbmdlcyB0byBjcHN3IAotcmV2ZXJ0LWY5YThmODNiMDRlMGMzNjJhMmZjNjYwZGJhZDk4MGQyNGFmMjA5ZmMucGF0Y2gKLXJldmVydC1mNjQ2OTY4ZjhmN2M2MjQ1ODdkZTcyOTExNWQ4MDIzNzJiOTA2M2RkLnBhdGNoCi1yZXZlcnQtODBkNWMzNjg5Yjg4NjMwODI0N2RhMjk1YTIyOGE1NGRmNDlhNDRmNi5wYXRjaAotIyBGaXggaXQgcmVhbGx5Ci1jcHN3LW5ldC1jcHN3LXVzZS1hLWxvY2stYXJvdW5kLXNvdXJjZS10ZXN0aW5nLnBhdGNoCi1jcHN3LW5ldC1jcHN3LVVzZS1mYWxsYmFjay1mb3ItYWN0aXZlX3NsYXZlLnBhdGNoCisjIG5vIGludGVycnVwdCBvbiBuZnNib290LCBpbnRlcnJ1cHQgc3Rvcm0gb24gYm9vdCBmcm9tIHJhbWRpc2sKKyNjcHN3LW5ldC1jcHN3LXVzZS1hLWxvY2stYXJvdW5kLXNvdXJjZS10ZXN0aW5nLnBhdGNoCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBQZW5kaW5nIGluIHRpcApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9zaWduYWwtZml4LXVwLXJjdS13cmVja2FnZS5wYXRjaCBiL3BhdGNoZXMvc2lnbmFsLWZpeC11cC1yY3Utd3JlY2thZ2UucGF0Y2gKaW5kZXggNTE3MWZkNS4uYzI2M2Q0NyAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zaWduYWwtZml4LXVwLXJjdS13cmVja2FnZS5wYXRjaAorKysgYi9wYXRjaGVzL3NpZ25hbC1maXgtdXAtcmN1LXdyZWNrYWdlLnBhdGNoCkBAIC03LDEwICs3LDggQEAKICBrZXJuZWwvc2lnbmFsLmMgfCAgICA2ICsrKy0tLQogIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NpZ25hbC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NpZ25hbC5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zaWduYWwuYworLS0tIGEva2VybmVsL3NpZ25hbC5jCisrKysgYi9rZXJuZWwvc2lnbmFsLmMKIEBAIC0xMzk0LDEyICsxMzk0LDEyIEBAIHN0cnVjdCBzaWdoYW5kX3N0cnVjdCAqX19sb2NrX3Rhc2tfc2lnaGEKICAJc3RydWN0IHNpZ2hhbmRfc3RydWN0ICpzaWdoYW5kOwogIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9zaWduYWwtcmV2ZXJ0LXB0cmFjZS1wcmVlbXB0LW1hZ2ljLnBhdGNoIGIvcGF0Y2hlcy9zaWduYWwtcmV2ZXJ0LXB0cmFjZS1wcmVlbXB0LW1hZ2ljLnBhdGNoCmluZGV4IGRkMWY0MzUuLmM2ZjEwNDEgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc2lnbmFsLXJldmVydC1wdHJhY2UtcHJlZW1wdC1tYWdpYy5wYXRjaAorKysgYi9wYXRjaGVzL3NpZ25hbC1yZXZlcnQtcHRyYWNlLXByZWVtcHQtbWFnaWMucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGtlcm5lbC9zaWduYWwuYyB8ICAgIDggLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgOCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2lnbmFsLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc2lnbmFsLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NpZ25hbC5jCistLS0gYS9rZXJuZWwvc2lnbmFsLmMKKysrKyBiL2tlcm5lbC9zaWduYWwuYwogQEAgLTE5MDgsMTUgKzE5MDgsNyBAQCBzdGF0aWMgdm9pZCBwdHJhY2Vfc3RvcChpbnQgZXhpdF9jb2RlLCBpCiAgCQlpZiAoZ3N0b3BfZG9uZSAmJiBwdHJhY2VfcmVwYXJlbnRlZChjdXJyZW50KSkKICAJCQlkb19ub3RpZnlfcGFyZW50X2NsZHN0b3AoY3VycmVudCwgZmFsc2UsIHdoeSk7CmRpZmYgLS1naXQgYS9wYXRjaGVzL3NpZ25hbHMtYWxsb3ctcnQtdGFza3MtdG8tY2FjaGUtb25lLXNpZ3F1ZXVlLXN0cnVjdC5wYXRjaCBiL3BhdGNoZXMvc2lnbmFscy1hbGxvdy1ydC10YXNrcy10by1jYWNoZS1vbmUtc2lncXVldWUtc3RydWN0LnBhdGNoCmluZGV4IGJiOTQyZDIuLmQxNmYyOTcgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc2lnbmFscy1hbGxvdy1ydC10YXNrcy10by1jYWNoZS1vbmUtc2lncXVldWUtc3RydWN0LnBhdGNoCisrKyBiL3BhdGNoZXMvc2lnbmFscy1hbGxvdy1ydC10YXNrcy10by1jYWNoZS1vbmUtc2lncXVldWUtc3RydWN0LnBhdGNoCkBAIC0xNSwxMCArMTUsOCBAQAogIGtlcm5lbC9zaWduYWwuYyAgICAgICAgfCAgIDk0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KICA1IGZpbGVzIGNoYW5nZWQsIDg5IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvc2NoZWQuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvc2NoZWQuaAorKysrIGIvaW5jbHVkZS9saW51eC9zY2hlZC5oCiBAQCAtMTIxNSw2ICsxMjE1LDcgQEAgc3RydWN0IHRhc2tfc3RydWN0IHsKICAvKiBzaWduYWwgaGFuZGxlcnMgKi8KICAJc3RydWN0IHNpZ25hbF9zdHJ1Y3QgKnNpZ25hbDsKQEAgLTI3LDEwICsyNSw4IEBACiAgCiAgCXNpZ3NldF90IGJsb2NrZWQsIHJlYWxfYmxvY2tlZDsKICAJc2lnc2V0X3Qgc2F2ZWRfc2lnbWFzazsJLyogcmVzdG9yZWQgaWYgc2V0X3Jlc3RvcmVfc2lnbWFzaygpIHdhcyB1c2VkICovCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2lnbmFsLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3NpZ25hbC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2lnbmFsLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvc2lnbmFsLmgKKysrKyBiL2luY2x1ZGUvbGludXgvc2lnbmFsLmgKIEBAIC0yMjYsNiArMjI2LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGluaXRfc2lncGVuZGluZyhzdHJ1YwogIH0KICAKQEAgLTM5LDEwICszNSw4IEBACiAgCiAgLyogVGVzdCBpZiAnc2lnJyBpcyB2YWxpZCBzaWduYWwuIFVzZSB0aGlzIGluc3RlYWQgb2YgdGVzdGluZyBfTlNJRyBkaXJlY3RseSAqLwogIHN0YXRpYyBpbmxpbmUgaW50IHZhbGlkX3NpZ25hbCh1bnNpZ25lZCBsb25nIHNpZykKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2V4aXQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9leGl0LmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL2V4aXQuYworLS0tIGEva2VybmVsL2V4aXQuYworKysrIGIva2VybmVsL2V4aXQuYwogQEAgLTE0NSw3ICsxNDUsNyBAQCBzdGF0aWMgdm9pZCBfX2V4aXRfc2lnbmFsKHN0cnVjdCB0YXNrX3N0CiAgCSAqIERvIHRoaXMgdW5kZXIgLT5zaWdsb2NrLCB3ZSBjYW4gcmFjZSB3aXRoIGFub3RoZXIgdGhyZWFkCiAgCSAqIGRvaW5nIHNpZ3F1ZXVlX2ZyZWUoKSBpZiB3ZSBoYXZlIFNJR1FVRVVFX1BSRUFMTE9DIHNpZ25hbHMuCkBAIC01MiwxMCArNDYsOCBAQAogIAl0c2stPnNpZ2hhbmQgPSBOVUxMOwogIAlzcGluX3VubG9jaygmc2lnaGFuZC0+c2lnbG9jayk7CiAgCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9mb3JrLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvZm9yay5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9mb3JrLmMKKy0tLSBhL2tlcm5lbC9mb3JrLmMKKysrKyBiL2tlcm5lbC9mb3JrLmMKIEBAIC0xMjMxLDYgKzEyMzEsNyBAQCBzdGF0aWMgc3RydWN0IHRhc2tfc3RydWN0ICpjb3B5X3Byb2Nlc3MoCiAgCXNwaW5fbG9ja19pbml0KCZwLT5hbGxvY19sb2NrKTsKICAKQEAgLTY0LDEwICs1Niw4IEBACiAgCiAgCXAtPnV0aW1lID0gcC0+c3RpbWUgPSBwLT5ndGltZSA9IDA7CiAgCXAtPnV0aW1lc2NhbGVkID0gcC0+c3RpbWVzY2FsZWQgPSAwOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2lnbmFsLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc2lnbmFsLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NpZ25hbC5jCistLS0gYS9rZXJuZWwvc2lnbmFsLmMKKysrKyBiL2tlcm5lbC9zaWduYWwuYwogQEAgLTE0LDYgKzE0LDcgQEAKICAjaW5jbHVkZSA8bGludXgvZXhwb3J0Lmg+CiAgI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KZGlmZiAtLWdpdCBhL3BhdGNoZXMvc2tidWZoZWFkLXJhdy1sb2NrLnBhdGNoIGIvcGF0Y2hlcy9za2J1ZmhlYWQtcmF3LWxvY2sucGF0Y2gKaW5kZXggNTFkY2RiMS4uY2RkNjYzOSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9za2J1ZmhlYWQtcmF3LWxvY2sucGF0Y2gKKysrIGIvcGF0Y2hlcy9za2J1ZmhlYWQtcmF3LWxvY2sucGF0Y2gKQEAgLTksMTEgKzksOSBAQAogIG5ldC9jb3JlL2Rldi5jICAgICAgICAgICAgfCAgIDI2ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tCiAgMyBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvbmV0ZGV2aWNlLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L25ldGRldmljZS5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvbmV0ZGV2aWNlLmgKLUBAIC0xODA4LDYgKzE4MDgsNyBAQCBzdHJ1Y3Qgc29mdG5ldF9kYXRhIHsKKy0tLSBhL2luY2x1ZGUvbGludXgvbmV0ZGV2aWNlLmgKKysrKyBiL2luY2x1ZGUvbGludXgvbmV0ZGV2aWNlLmgKK0BAIC0xODA1LDYgKzE4MDUsNyBAQCBzdHJ1Y3Qgc29mdG5ldF9kYXRhIHsKICAJdW5zaWduZWQgaW50CQlkcm9wcGVkOwogIAlzdHJ1Y3Qgc2tfYnVmZl9oZWFkCWlucHV0X3BrdF9xdWV1ZTsKICAJc3RydWN0IG5hcGlfc3RydWN0CWJhY2tsb2c7CkBAIC0yMSwxMCArMTksOCBAQAogIH07CiAgCiAgc3RhdGljIGlubGluZSB2b2lkIGlucHV0X3F1ZXVlX2hlYWRfaW5jcihzdHJ1Y3Qgc29mdG5ldF9kYXRhICpzZCkKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9za2J1ZmYuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvc2tidWZmLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9za2J1ZmYuaAorLS0tIGEvaW5jbHVkZS9saW51eC9za2J1ZmYuaAorKysrIGIvaW5jbHVkZS9saW51eC9za2J1ZmYuaAogQEAgLTEzMyw2ICsxMzMsNyBAQCBzdHJ1Y3Qgc2tfYnVmZl9oZWFkIHsKICAKICAJX191MzIJCXFsZW47CkBAIC00NiwxMCArNDIsOCBAQAogIHN0YXRpYyBpbmxpbmUgdm9pZCBza2JfcXVldWVfaGVhZF9pbml0X2NsYXNzKHN0cnVjdCBza19idWZmX2hlYWQgKmxpc3QsCiAgCQlzdHJ1Y3QgbG9ja19jbGFzc19rZXkgKmNsYXNzKQogIHsKLUluZGV4OiBsaW51eC1zdGFibGUvbmV0L2NvcmUvZGV2LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9uZXQvY29yZS9kZXYuYwotKysrIGxpbnV4LXN0YWJsZS9uZXQvY29yZS9kZXYuYworLS0tIGEvbmV0L2NvcmUvZGV2LmMKKysrKyBiL25ldC9jb3JlL2Rldi5jCiBAQCAtMTg4LDE0ICsxODgsMTQgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgaGxpc3RfaGVhZCAqZGV2X2luZAogIHN0YXRpYyBpbmxpbmUgdm9pZCBycHNfbG9jayhzdHJ1Y3Qgc29mdG5ldF9kYXRhICpzZCkKICB7CkBAIC02Nyw3ICs2MSw3IEBACiAgI2VuZGlmCiAgfQogIAotQEAgLTM2MzMsNyArMzYzMyw3IEBAIHN0YXRpYyB2b2lkIGZsdXNoX2JhY2tsb2codm9pZCAqYXJnKQorQEAgLTM2NDAsNyArMzY0MCw3IEBAIHN0YXRpYyB2b2lkIGZsdXNoX2JhY2tsb2codm9pZCAqYXJnKQogIAlza2JfcXVldWVfd2Fsa19zYWZlKCZzZC0+aW5wdXRfcGt0X3F1ZXVlLCBza2IsIHRtcCkgewogIAkJaWYgKHNrYi0+ZGV2ID09IGRldikgewogIAkJCV9fc2tiX3VubGluayhza2IsICZzZC0+aW5wdXRfcGt0X3F1ZXVlKTsKQEAgLTc2LDcgKzcwLDcgQEAKICAJCQlpbnB1dF9xdWV1ZV9oZWFkX2luY3Ioc2QpOwogIAkJfQogIAl9Ci1AQCAtMzY0MiwxMCArMzY0MiwxMyBAQCBzdGF0aWMgdm9pZCBmbHVzaF9iYWNrbG9nKHZvaWQgKmFyZykKK0BAIC0zNjQ5LDEwICszNjQ5LDEzIEBAIHN0YXRpYyB2b2lkIGZsdXNoX2JhY2tsb2codm9pZCAqYXJnKQogIAlza2JfcXVldWVfd2Fsa19zYWZlKCZzZC0+cHJvY2Vzc19xdWV1ZSwgc2tiLCB0bXApIHsKICAJCWlmIChza2ItPmRldiA9PSBkZXYpIHsKICAJCQlfX3NrYl91bmxpbmsoc2tiLCAmc2QtPnByb2Nlc3NfcXVldWUpOwpAQCAtOTEsNyArODUsNyBAQAogIH0KICAKICBzdGF0aWMgaW50IG5hcGlfZ3JvX2NvbXBsZXRlKHN0cnVjdCBza19idWZmICpza2IpCi1AQCAtNDE1MSwxMCArNDE1NCwxNyBAQCBzdGF0aWMgdm9pZCBuZXRfcnhfYWN0aW9uKHN0cnVjdCBzb2Z0aXJxCitAQCAtNDE1OCwxMCArNDE2MSwxNyBAQCBzdGF0aWMgdm9pZCBuZXRfcnhfYWN0aW9uKHN0cnVjdCBzb2Z0aXJxCiAgCXN0cnVjdCBzb2Z0bmV0X2RhdGEgKnNkID0gJl9fZ2V0X2NwdV92YXIoc29mdG5ldF9kYXRhKTsKICAJdW5zaWduZWQgbG9uZyB0aW1lX2xpbWl0ID0gamlmZmllcyArIDI7CiAgCWludCBidWRnZXQgPSBuZXRkZXZfYnVkZ2V0OwpAQCAtMTA5LDcgKzEwMyw3IEBACiAgCXdoaWxlICghbGlzdF9lbXB0eSgmc2QtPnBvbGxfbGlzdCkpIHsKICAJCXN0cnVjdCBuYXBpX3N0cnVjdCAqbjsKICAJCWludCB3b3JrLCB3ZWlnaHQ7Ci1AQCAtNjAxNSw2ICs2MDI1LDkgQEAgc3RhdGljIGludCBkZXZfY3B1X2NhbGxiYWNrKHN0cnVjdCBub3RpZgorQEAgLTYwMjIsNiArNjAzMiw5IEBAIHN0YXRpYyBpbnQgZGV2X2NwdV9jYWxsYmFjayhzdHJ1Y3Qgbm90aWYKICAJCW5ldGlmX3J4KHNrYik7CiAgCQlpbnB1dF9xdWV1ZV9oZWFkX2luY3Iob2xkc2QpOwogIAl9CkBAIC0xMTksNyArMTEzLDcgQEAKICAKICAJcmV0dXJuIE5PVElGWV9PSzsKICB9Ci1AQCAtNjI4Nyw4ICs2MzAwLDkgQEAgc3RhdGljIGludCBfX2luaXQgbmV0X2Rldl9pbml0KHZvaWQpCitAQCAtNjI5NCw4ICs2MzA3LDkgQEAgc3RhdGljIGludCBfX2luaXQgbmV0X2Rldl9pbml0KHZvaWQpCiAgCQlzdHJ1Y3Qgc29mdG5ldF9kYXRhICpzZCA9ICZwZXJfY3B1KHNvZnRuZXRfZGF0YSwgaSk7CiAgCiAgCQltZW1zZXQoc2QsIDAsIHNpemVvZigqc2QpKTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvc2x1Yi1lbmFibGUtaXJxcy1mb3Itbm8td2FpdC5wYXRjaCBiL3BhdGNoZXMvc2x1Yi1lbmFibGUtaXJxcy1mb3Itbm8td2FpdC5wYXRjaAppbmRleCAzMzczZDM2Li4zNDMwNTcwIDEwMDY0NAotLS0gYS9wYXRjaGVzL3NsdWItZW5hYmxlLWlycXMtZm9yLW5vLXdhaXQucGF0Y2gKKysrIGIvcGF0Y2hlcy9zbHViLWVuYWJsZS1pcnFzLWZvci1uby13YWl0LnBhdGNoCkBAIC0xMCwxMCArMTAsOCBAQAogIG1tL3NsdWIuYyB8ICAgMTMgKysrKystLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvbW0vc2x1Yi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbW0vc2x1Yi5jCi0rKysgbGludXgtc3RhYmxlL21tL3NsdWIuYworLS0tIGEvbW0vc2x1Yi5jCisrKysgYi9tbS9zbHViLmMKIEBAIC0xMjgxLDE0ICsxMjgxLDE1IEBAIHN0YXRpYyBzdHJ1Y3QgcGFnZSAqYWxsb2NhdGVfc2xhYihzdHJ1Y3QKICAJc3RydWN0IHBhZ2UgKnBhZ2U7CiAgCXN0cnVjdCBrbWVtX2NhY2hlX29yZGVyX29iamVjdHMgb28gPSBzLT5vbzsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvc2x1Yl9kZWxheV9jdG9yX29uX3J0LnBhdGNoIGIvcGF0Y2hlcy9zbHViX2RlbGF5X2N0b3Jfb25fcnQucGF0Y2gKaW5kZXggYjQ3M2QxNy4uMGUzNjU0MyAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zbHViX2RlbGF5X2N0b3Jfb25fcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy9zbHViX2RlbGF5X2N0b3Jfb25fcnQucGF0Y2gKQEAgLTksMTAgKzksOCBAQAogIG1tL3NsdWIuYyB8ICAgIDYgKysrKysrCiAgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogbGludXgtc3RhYmxlL21tL3NsdWIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL21tL3NsdWIuYwotKysrIGxpbnV4LXN0YWJsZS9tbS9zbHViLmMKKy0tLSBhL21tL3NsdWIuYworKysrIGIvbW0vc2x1Yi5jCiBAQCAtMTM0Nyw4ICsxMzQ3LDEwIEBAIHN0YXRpYyB2b2lkIHNldHVwX29iamVjdChzdHJ1Y3Qga21lbV9jYWMKICAJCQkJdm9pZCAqb2JqZWN0KQogIHsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvc29mdGlycS1hZGFwdC1ub2h6LXBlbmRpbmctZGVidWctY29kZS10by1uZXctc2NoZW1lLnBhdGNoIGIvcGF0Y2hlcy9zb2Z0aXJxLWFkYXB0LW5vaHotcGVuZGluZy1kZWJ1Zy1jb2RlLXRvLW5ldy1zY2hlbWUucGF0Y2gKaW5kZXggOTZjZjNlNS4uZTZlYWVjZCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zb2Z0aXJxLWFkYXB0LW5vaHotcGVuZGluZy1kZWJ1Zy1jb2RlLXRvLW5ldy1zY2hlbWUucGF0Y2gKKysrIGIvcGF0Y2hlcy9zb2Z0aXJxLWFkYXB0LW5vaHotcGVuZGluZy1kZWJ1Zy1jb2RlLXRvLW5ldy1zY2hlbWUucGF0Y2gKQEAgLTExLDEzICsxMSwxMSBAQAogIGtlcm5lbC9zb2Z0aXJxLmMgfCAgIDgzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NvZnRpcnEuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zb2Z0aXJxLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NvZnRpcnEuYworLS0tIGEva2VybmVsL3NvZnRpcnEuYworKysrIGIva2VybmVsL3NvZnRpcnEuYwogQEAgLTY2LDQ2ICs2Niw3MSBAQCBjaGFyICpzb2Z0aXJxX3RvX25hbWVbTlJfU09GVElSUVNdID0gewogIAotICNpZmRlZiBDT05GSUdfTk9fSFoKKyAjaWZkZWYgQ09ORklHX05PX0haX0NPTU1PTgogICMgaWZkZWYgQ09ORklHX1BSRUVNUFRfUlRfRlVMTAogKwogK3N0cnVjdCBzb2Z0aXJxX3J1bm5lciB7CkBAIC0xMTAsNyArMTA4LDcgQEAKICB9CiAgIyBlbmRpZgogKwotKyNlbHNlIC8qICFOT19IWiAqLworKyNlbHNlIC8qICFDT05GSUdfTk9fSFpfQ09NTU9OICovCiArc3RhdGljIGlubGluZSB2b2lkIHNvZnRpcnFfc2V0X3J1bm5lcih1bnNpZ25lZCBpbnQgc2lycSkgeyB9CiArc3RhdGljIGlubGluZSB2b2lkIHNvZnRpcnFfY2xyX3J1bm5lcih1bnNpZ25lZCBpbnQgc2lycSkgeyB9CiAgI2VuZGlmCmRpZmYgLS1naXQgYS9wYXRjaGVzL3NvZnRpcnEtZGlzYWJsZS1zb2Z0aXJxLXN0YWNrcy1mb3ItcnQucGF0Y2ggYi9wYXRjaGVzL3NvZnRpcnEtZGlzYWJsZS1zb2Z0aXJxLXN0YWNrcy1mb3ItcnQucGF0Y2gKaW5kZXggNzJmZDk4Mi4uMGQyY2JlNSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zb2Z0aXJxLWRpc2FibGUtc29mdGlycS1zdGFja3MtZm9yLXJ0LnBhdGNoCisrKyBiL3BhdGNoZXMvc29mdGlycS1kaXNhYmxlLXNvZnRpcnEtc3RhY2tzLWZvci1ydC5wYXRjaApAQCAtMTUsMTAgKzE1LDggQEAKICBpbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oICAgICB8ICAgIDMgKy0tCiAgOSBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvcG93ZXJwYy9rZXJuZWwvaXJxLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3Bvd2VycGMva2VybmVsL2lycS5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvcG93ZXJwYy9rZXJuZWwvaXJxLmMKKy0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvaXJxLmMKKysrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvaXJxLmMKIEBAIC02MDMsNiArNjAzLDcgQEAgdm9pZCBpcnFfY3R4X2luaXQodm9pZCkKICAJfQogIH0KQEAgLTM1LDEwICszMyw4IEBACiAgCiAgaXJxX2h3X251bWJlcl90IHZpcnFfdG9faHcodW5zaWduZWQgaW50IHZpcnEpCiAgewotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3Bvd2VycGMva2VybmVsL21pc2NfMzIuUwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvcG93ZXJwYy9rZXJuZWwvbWlzY18zMi5TCi0rKysgbGludXgtc3RhYmxlL2FyY2gvcG93ZXJwYy9rZXJuZWwvbWlzY18zMi5TCistLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL21pc2NfMzIuUworKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9taXNjXzMyLlMKIEBAIC0zNiw2ICszNiw3IEBACiAgCiAgCS50ZXh0CkBAIC01NSwxMCArNTEsOCBAQAogIAogIF9HTE9CQUwoY2FsbF9oYW5kbGVfaXJxKQogIAltZmxyCXIwCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvcG93ZXJwYy9rZXJuZWwvbWlzY182NC5TCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9wb3dlcnBjL2tlcm5lbC9taXNjXzY0LlMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9wb3dlcnBjL2tlcm5lbC9taXNjXzY0LlMKKy0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvbWlzY182NC5TCisrKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL21pc2NfNjQuUwogQEAgLTI5LDYgKzI5LDcgQEAKICAKICAJLnRleHQKQEAgLTc1LDEwICs2OSw4IEBACiAgCiAgX0dMT0JBTChjYWxsX2hhbmRsZV9pcnEpCiAgCWxkCXI4LDAocjYpCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gvc2gva2VybmVsL2lycS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC9zaC9rZXJuZWwvaXJxLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC9zaC9rZXJuZWwvaXJxLmMKKy0tLSBhL2FyY2gvc2gva2VybmVsL2lycS5jCisrKysgYi9hcmNoL3NoL2tlcm5lbC9pcnEuYwogQEAgLTE0OSw2ICsxNDksNyBAQCB2b2lkIGlycV9jdHhfZXhpdChpbnQgY3B1KQogIAloYXJkaXJxX2N0eFtjcHVdID0gTlVMTDsKICB9CkBAIC05NSwxMCArODcsOCBAQAogICNlbHNlCiAgc3RhdGljIGlubGluZSB2b2lkIGhhbmRsZV9vbmVfaXJxKHVuc2lnbmVkIGludCBpcnEpCiAgewotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3NwYXJjL2tlcm5lbC9pcnFfNjQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gvc3BhcmMva2VybmVsL2lycV82NC5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gvc3BhcmMva2VybmVsL2lycV82NC5jCistLS0gYS9hcmNoL3NwYXJjL2tlcm5lbC9pcnFfNjQuYworKysrIGIvYXJjaC9zcGFyYy9rZXJuZWwvaXJxXzY0LmMKIEBAIC02OTgsNiArNjk4LDcgQEAgdm9pZCBfX2lycV9lbnRyeSBoYW5kbGVyX2lycShpbnQgcGlsLCBzdAogIAlzZXRfaXJxX3JlZ3Mob2xkX3JlZ3MpOwogIH0KQEAgLTExNSwxMCArMTA1LDggQEAKICAKICAjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCiAgdm9pZCBmaXh1cF9pcnFzKHZvaWQpCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gveDg2L2tlcm5lbC9lbnRyeV82NC5TCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC94ODYva2VybmVsL2VudHJ5XzY0LlMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC94ODYva2VybmVsL2VudHJ5XzY0LlMKKy0tLSBhL2FyY2gveDg2L2tlcm5lbC9lbnRyeV82NC5TCisrKysgYi9hcmNoL3g4Ni9rZXJuZWwvZW50cnlfNjQuUwogQEAgLTEzMzQsNiArMTMzNCw3IEBAIGJhZF9nczoKICAJam1wICAyYgogIAkucHJldmlvdXMKQEAgLTEzNSwxMCArMTIzLDggQEAKICAKICAjaWZkZWYgQ09ORklHX1hFTgogIHplcm9lbnRyeSB4ZW5faHlwZXJ2aXNvcl9jYWxsYmFjayB4ZW5fZG9faHlwZXJ2aXNvcl9jYWxsYmFjawotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9rZXJuZWwvaXJxXzMyLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3g4Ni9rZXJuZWwvaXJxXzMyLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC94ODYva2VybmVsL2lycV8zMi5jCistLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaXJxXzMyLmMKKysrKyBiL2FyY2gveDg2L2tlcm5lbC9pcnFfMzIuYwogQEAgLTE0OSw2ICsxNDksNyBAQCB2b2lkIF9fY3B1aW5pdCBpcnFfY3R4X2luaXQoaW50IGNwdSkKICAJICAgICAgIGNwdSwgcGVyX2NwdShoYXJkaXJxX2N0eCwgY3B1KSwgIHBlcl9jcHUoc29mdGlycV9jdHgsIGNwdSkpOwogIH0KQEAgLTE1NSwxMCArMTQxLDggQEAKICAKICBib29sIGhhbmRsZV9pcnEodW5zaWduZWQgaXJxLCBzdHJ1Y3QgcHRfcmVncyAqcmVncykKICB7Ci1JbmRleDogbGludXgtc3RhYmxlL2FyY2gveDg2L2tlcm5lbC9pcnFfNjQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveDg2L2tlcm5lbC9pcnFfNjQuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9rZXJuZWwvaXJxXzY0LmMKKy0tLSBhL2FyY2gveDg2L2tlcm5lbC9pcnFfNjQuYworKysrIGIvYXJjaC94ODYva2VybmVsL2lycV82NC5jCiBAQCAtODgsNyArODgsNyBAQCBib29sIGhhbmRsZV9pcnEodW5zaWduZWQgaXJxLCBzdHJ1Y3QgcHRfCiAgCXJldHVybiB0cnVlOwogIH0KQEAgLTE3MywxMCArMTU3LDggQEAKICAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogIH0KICsjZW5kaWYKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAorLS0tIGEvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAorKysrIGIvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAogQEAgLTQ0NSwxMCArNDQ1LDkgQEAgc3RydWN0IHNvZnRpcnFfYWN0aW9uCiAgCXZvaWQJKCphY3Rpb24pKHN0cnVjdCBzb2Z0aXJxX2FjdGlvbiAqKTsKICB9OwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9zb2Z0aXJxLWV4cG9ydC1pbi1zZXJ2aW5nLXNvZnRpcnEucGF0Y2ggYi9wYXRjaGVzL3NvZnRpcnEtZXhwb3J0LWluLXNlcnZpbmctc29mdGlycS5wYXRjaAppbmRleCA2OGZlNmNkLi40YWNjOTZlIDEwMDY0NAotLS0gYS9wYXRjaGVzL3NvZnRpcnEtZXhwb3J0LWluLXNlcnZpbmctc29mdGlycS5wYXRjaAorKysgYi9wYXRjaGVzL3NvZnRpcnEtZXhwb3J0LWluLXNlcnZpbmctc29mdGlycS5wYXRjaApAQCAtMTYsMTAgKzE2LDggQEAKICBrZXJuZWwvc29mdGlycS5jIHwgICAgMSArCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NvZnRpcnEuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zb2Z0aXJxLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NvZnRpcnEuYworLS0tIGEva2VybmVsL3NvZnRpcnEuYworKysrIGIva2VybmVsL3NvZnRpcnEuYwogQEAgLTQzOSw2ICs0MzksNyBAQCBpbnQgaW5fc2VydmluZ19zb2Z0aXJxKHZvaWQpCiAgCXByZWVtcHRfZW5hYmxlKCk7CiAgCXJldHVybiByZXM7CmRpZmYgLS1naXQgYS9wYXRjaGVzL3NvZnRpcnEtaW5pdC1zb2Z0aXJxLWxvY2FsLWxvY2stYWZ0ZXItcGVyLWNwdS1zZWN0aW9uLWlzLXNldC11cC5wYXRjaCBiL3BhdGNoZXMvc29mdGlycS1pbml0LXNvZnRpcnEtbG9jYWwtbG9jay1hZnRlci1wZXItY3B1LXNlY3Rpb24taXMtc2V0LXVwLnBhdGNoCmluZGV4IDg3NTE5MjcuLmE1MzRkZGUgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc29mdGlycS1pbml0LXNvZnRpcnEtbG9jYWwtbG9jay1hZnRlci1wZXItY3B1LXNlY3Rpb24taXMtc2V0LXVwLnBhdGNoCisrKyBiL3BhdGNoZXMvc29mdGlycS1pbml0LXNvZnRpcnEtbG9jYWwtbG9jay1hZnRlci1wZXItY3B1LXNlY3Rpb24taXMtc2V0LXVwLnBhdGNoCkBAIC0xMTMsMTAgKzExMyw4IEBACiAgaW5pdC9tYWluLmMgfCAgICAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5pdC9tYWluLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbml0L21haW4uYwotKysrIGxpbnV4LXN0YWJsZS9pbml0L21haW4uYworLS0tIGEvaW5pdC9tYWluLmMKKysrKyBiL2luaXQvbWFpbi5jCiBAQCAtNDk2LDcgKzQ5Niw2IEBAIGFzbWxpbmthZ2Ugdm9pZCBfX2luaXQgc3RhcnRfa2VybmVsKHZvaWQKICAgKiBJbnRlcnJ1cHRzIGFyZSBzdGlsbCBkaXNhYmxlZC4gRG8gbmVjZXNzYXJ5IHNldHVwcywgdGhlbgogICAqIGVuYWJsZSB0aGVtCmRpZmYgLS1naXQgYS9wYXRjaGVzL3NvZnRpcnEtbG9jYWwtbG9jay5wYXRjaCBiL3BhdGNoZXMvc29mdGlycS1sb2NhbC1sb2NrLnBhdGNoCmluZGV4IDhiODE1MGMuLjMyNjE2NDEgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc29mdGlycS1sb2NhbC1sb2NrLnBhdGNoCisrKyBiL3BhdGNoZXMvc29mdGlycS1sb2NhbC1sb2NrLnBhdGNoCkBAIC0xMSwxMCArMTEsOCBAQAogIGtlcm5lbC9zb2Z0aXJxLmMgICAgICAgICAgfCAgMTY2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KICA1IGZpbGVzIGNoYW5nZWQsIDE5MSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvaGFyZGlycS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9oYXJkaXJxLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9oYXJkaXJxLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvaGFyZGlycS5oCisrKysgYi9pbmNsdWRlL2xpbnV4L2hhcmRpcnEuaAogQEAgLTYxLDcgKzYxLDExIEBACiAgI2RlZmluZSBIQVJESVJRX09GRlNFVAkoMVVMIDw8IEhBUkRJUlFfU0hJRlQpCiAgI2RlZmluZSBOTUlfT0ZGU0VUCSgxVUwgPDwgTk1JX1NISUZUKQpAQCAtNTUsMTAgKzUzLDggQEAKICAKICAvKgogICAqIEFyZSB3ZSBpbiBOTUkgY29udGV4dD8KLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAorLS0tIGEvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAorKysrIGIvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAogQEAgLTQ0Nyw3ICs0NDcsMTMgQEAgc3RydWN0IHNvZnRpcnFfYWN0aW9uCiAgCiAgYXNtbGlua2FnZSB2b2lkIGRvX3NvZnRpcnEodm9pZCk7CkBAIC04NiwxMSArODIsOSBAQAogIC8qCiAgICogQXV0b3Byb2JpbmcgZm9yIGlycXM6CiAgICoKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zY2hlZC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9zY2hlZC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQuaAotQEAgLTE0NDQsNiArMTQ0NCw3IEBAIHN0cnVjdCB0YXNrX3N0cnVjdCB7CistLS0gYS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKKysrKyBiL2luY2x1ZGUvbGludXgvc2NoZWQuaAorQEAgLTE0NDcsNiArMTQ0Nyw3IEBAIHN0cnVjdCB0YXNrX3N0cnVjdCB7CiAgI2VuZGlmCiAgI2lmZGVmIENPTkZJR19QUkVFTVBUX1JUX0JBU0UKICAJc3RydWN0IHJjdV9oZWFkIHB1dF9yY3U7CkBAIC05OCwxMCArOTIsOCBAQAogICNlbmRpZgogIH07CiAgCi1JbmRleDogbGludXgtc3RhYmxlL2luaXQvbWFpbi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5pdC9tYWluLmMKLSsrKyBsaW51eC1zdGFibGUvaW5pdC9tYWluLmMKKy0tLSBhL2luaXQvbWFpbi5jCisrKysgYi9pbml0L21haW4uYwogQEAgLTQ5Niw2ICs0OTYsNyBAQCBhc21saW5rYWdlIHZvaWQgX19pbml0IHN0YXJ0X2tlcm5lbCh2b2lkCiAgICogSW50ZXJydXB0cyBhcmUgc3RpbGwgZGlzYWJsZWQuIERvIG5lY2Vzc2FyeSBzZXR1cHMsIHRoZW4KICAgKiBlbmFibGUgdGhlbQpAQCAtMTEwLDEwICsxMDIsOCBAQAogIAlib290X2NwdV9pbml0KCk7CiAgCXBhZ2VfYWRkcmVzc19pbml0KCk7CiAgCXByX25vdGljZSgiJXMiLCBsaW51eF9iYW5uZXIpOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc29mdGlycS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NvZnRpcnEuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc29mdGlycS5jCistLS0gYS9rZXJuZWwvc29mdGlycS5jCisrKysgYi9rZXJuZWwvc29mdGlycS5jCiBAQCAtMjUsNiArMjUsNyBAQAogICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KICAjaW5jbHVkZSA8bGludXgvc21wYm9vdC5oPgpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9zb2Z0aXJxLW1ha2UtZmlmby5wYXRjaCBiL3BhdGNoZXMvc29mdGlycS1tYWtlLWZpZm8ucGF0Y2gKaW5kZXggODkyNjhlNy4uMTcxNWZmYiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zb2Z0aXJxLW1ha2UtZmlmby5wYXRjaAorKysgYi9wYXRjaGVzL3NvZnRpcnEtbWFrZS1maWZvLnBhdGNoCkBAIC03LDEwICs3LDggQEAKICBrZXJuZWwvc29mdGlycS5jIHwgICAxOCArKysrKysrKysrKysrKysrKysKICAxIGZpbGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zb2Z0aXJxLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc29mdGlycS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zb2Z0aXJxLmMKKy0tLSBhL2tlcm5lbC9zb2Z0aXJxLmMKKysrKyBiL2tlcm5lbC9zb2Z0aXJxLmMKIEBAIC0zNzIsNiArMzcyLDggQEAgYXNtbGlua2FnZSB2b2lkIGRvX3NvZnRpcnEodm9pZCkKICAKICBzdGF0aWMgaW5saW5lIHZvaWQgbG9jYWxfYmhfZGlzYWJsZV9ub3J0KHZvaWQpIHsgbG9jYWxfYmhfZGlzYWJsZSgpOyB9CmRpZmYgLS1naXQgYS9wYXRjaGVzL3NvZnRpcnEtbWFrZS1zZXJ2aW5nLXNvZnRpcnFzLWEtdGFzay1mbGFnLnBhdGNoIGIvcGF0Y2hlcy9zb2Z0aXJxLW1ha2Utc2VydmluZy1zb2Z0aXJxcy1hLXRhc2stZmxhZy5wYXRjaAppbmRleCBmNmY5NTljLi42ZDc1MzE4IDEwMDY0NAotLS0gYS9wYXRjaGVzL3NvZnRpcnEtbWFrZS1zZXJ2aW5nLXNvZnRpcnFzLWEtdGFzay1mbGFnLnBhdGNoCisrKyBiL3BhdGNoZXMvc29mdGlycS1tYWtlLXNlcnZpbmctc29mdGlycXMtYS10YXNrLWZsYWcucGF0Y2gKQEAgLTEwLDEwICsxMCw4IEBACiAga2VybmVsL3NvZnRpcnEuYyAgICAgIHwgICAyMCArKystLS0tLS0tLS0tLS0tLS0tLQogIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zY2hlZC5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKKysrKyBiL2luY2x1ZGUvbGludXgvc2NoZWQuaAogQEAgLTE2NjcsNiArMTY2Nyw3IEBAIGV4dGVybiB2b2lkIHRocmVhZF9ncm91cF9jcHV0aW1lX2FkanVzdGUKICAvKgogICAqIFBlciBwcm9jZXNzIGZsYWdzCkBAIC0yMiwxMCArMjAsOCBAQAogICNkZWZpbmUgUEZfRVhJVElORwkweDAwMDAwMDA0CS8qIGdldHRpbmcgc2h1dCBkb3duICovCiAgI2RlZmluZSBQRl9FWElUUElET05FCTB4MDAwMDAwMDgJLyogcGkgZXhpdCBkb25lIG9uIHNodXQgZG93biAqLwogICNkZWZpbmUgUEZfVkNQVQkJMHgwMDAwMDAxMAkvKiBJJ20gYSB2aXJ0dWFsIENQVSAqLwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc29mdGlycS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NvZnRpcnEuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc29mdGlycS5jCistLS0gYS9rZXJuZWwvc29mdGlycS5jCisrKysgYi9rZXJuZWwvc29mdGlycS5jCiBAQCAtMzgzLDcgKzM4Myw2IEBAIHN0YXRpYyB2b2lkIGtzb2Z0aXJxZF9jbHJfc2NoZWRfcGFyYW1zKHUKICAgKiBPbiBSVCB3ZSBzZXJpYWxpemUgc29mdGlycSBleGVjdXRpb24gd2l0aCBhIGNwdSBsb2NhbCBsb2NrCiAgICovCmRpZmYgLS1naXQgYS9wYXRjaGVzL3NvZnRpcnEtcHJlZW1wdC1maXgtMy1yZS5wYXRjaCBiL3BhdGNoZXMvc29mdGlycS1wcmVlbXB0LWZpeC0zLXJlLnBhdGNoCmluZGV4IDUxMDliY2QuLjZjMWRhMmMgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc29mdGlycS1wcmVlbXB0LWZpeC0zLXJlLnBhdGNoCisrKyBiL3BhdGNoZXMvc29mdGlycS1wcmVlbXB0LWZpeC0zLXJlLnBhdGNoCkBAIC0yMCwxMCArMjAsOCBAQAogIG5ldC9jb3JlL2Rldi5jICAgICAgICAgIHwgICAgNiArKysrKysKICA0IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9ibG9jay9ibGstaW9wb2xsLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9ibG9jay9ibGstaW9wb2xsLmMKLSsrKyBsaW51eC1zdGFibGUvYmxvY2svYmxrLWlvcG9sbC5jCistLS0gYS9ibG9jay9ibGstaW9wb2xsLmMKKysrKyBiL2Jsb2NrL2Jsay1pb3BvbGwuYwogQEAgLTM4LDYgKzM4LDcgQEAgdm9pZCBibGtfaW9wb2xsX3NjaGVkKHN0cnVjdCBibGtfaW9wb2xsCiAgCWxpc3RfYWRkX3RhaWwoJmlvcC0+bGlzdCwgJl9fZ2V0X2NwdV92YXIoYmxrX2NwdV9pb3BvbGwpKTsKICAJX19yYWlzZV9zb2Z0aXJxX2lycW9mZihCTE9DS19JT1BPTExfU09GVElSUSk7CkBAIC00OCwxMCArNDYsOCBAQAogIAl9CiAgCiAgCXJldHVybiBOT1RJRllfT0s7Ci1JbmRleDogbGludXgtc3RhYmxlL2Jsb2NrL2Jsay1zb2Z0aXJxLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9ibG9jay9ibGstc29mdGlycS5jCi0rKysgbGludXgtc3RhYmxlL2Jsb2NrL2Jsay1zb2Z0aXJxLmMKKy0tLSBhL2Jsb2NrL2Jsay1zb2Z0aXJxLmMKKysrKyBiL2Jsb2NrL2Jsay1zb2Z0aXJxLmMKIEBAIC01MSw2ICs1MSw3IEBAIHN0YXRpYyB2b2lkIHRyaWdnZXJfc29mdGlycSh2b2lkICpkYXRhKQogIAkJcmFpc2Vfc29mdGlycV9pcnFvZmYoQkxPQ0tfU09GVElSUSk7CiAgCkBAIC03NiwxMCArNzIsOCBAQAogIH0KICAKICAvKioKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3ByZWVtcHQuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3ByZWVtcHQuaAorLS0tIGEvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKKysrKyBiL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCiBAQCAtNzIsOCArNzIsMTAgQEAgZG8geyBcCiAgCiAgI2lmbmRlZiBDT05GSUdfUFJFRU1QVF9SVF9CQVNFCkBAIC05OSwxMSArOTMsOSBAQAogIAogICNlbmRpZiAvKiBDT05GSUdfUFJFRU1QVF9DT1VOVCAqLwogIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9uZXQvY29yZS9kZXYuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL25ldC9jb3JlL2Rldi5jCi0rKysgbGludXgtc3RhYmxlL25ldC9jb3JlL2Rldi5jCi1AQCAtMjEwOCw2ICsyMTA4LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIF9fbmV0aWZfcmVzY2hlZHVsZShzdAorLS0tIGEvbmV0L2NvcmUvZGV2LmMKKysrKyBiL25ldC9jb3JlL2Rldi5jCitAQCAtMjExNCw2ICsyMTE0LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIF9fbmV0aWZfcmVzY2hlZHVsZShzdAogIAlzZC0+b3V0cHV0X3F1ZXVlX3RhaWxwID0gJnEtPm5leHRfc2NoZWQ7CiAgCXJhaXNlX3NvZnRpcnFfaXJxb2ZmKE5FVF9UWF9TT0ZUSVJRKTsKICAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwpAQCAtMTExLDcgKzEwMyw3IEBACiAgfQogIAogIHZvaWQgX19uZXRpZl9zY2hlZHVsZShzdHJ1Y3QgUWRpc2MgKnEpCi1AQCAtMjEyOSw2ICsyMTMwLDcgQEAgdm9pZCBkZXZfa2ZyZWVfc2tiX2lycShzdHJ1Y3Qgc2tfYnVmZiAqcworQEAgLTIxMzUsNiArMjEzNiw3IEBAIHZvaWQgZGV2X2tmcmVlX3NrYl9pcnEoc3RydWN0IHNrX2J1ZmYgKnMKICAJCXNkLT5jb21wbGV0aW9uX3F1ZXVlID0gc2tiOwogIAkJcmFpc2Vfc29mdGlycV9pcnFvZmYoTkVUX1RYX1NPRlRJUlEpOwogIAkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwpAQCAtMTE5LDcgKzExMSw3IEBACiAgCX0KICB9CiAgRVhQT1JUX1NZTUJPTChkZXZfa2ZyZWVfc2tiX2lycSk7Ci1AQCAtMzEzOCw2ICszMTQwLDcgQEAgZW5xdWV1ZToKK0BAIC0zMTQ0LDYgKzMxNDYsNyBAQCBlbnF1ZXVlOgogIAlycHNfdW5sb2NrKHNkKTsKICAKICAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwpAQCAtMTI3LDcgKzExOSw3IEBACiAgCiAgCWF0b21pY19sb25nX2luYygmc2tiLT5kZXYtPnJ4X2Ryb3BwZWQpOwogIAlrZnJlZV9za2Ioc2tiKTsKLUBAIC00MDM1LDYgKzQwMzgsNyBAQCBzdGF0aWMgdm9pZCBuZXRfcnBzX2FjdGlvbl9hbmRfaXJxX2VuYWJsCitAQCAtNDA0Niw2ICs0MDQ5LDcgQEAgc3RhdGljIHZvaWQgbmV0X3Jwc19hY3Rpb25fYW5kX2lycV9lbmFibAogIAl9IGVsc2UKICAjZW5kaWYKICAJCWxvY2FsX2lycV9lbmFibGUoKTsKQEAgLTEzNSw3ICsxMjcsNyBAQAogIH0KICAKICBzdGF0aWMgaW50IHByb2Nlc3NfYmFja2xvZyhzdHJ1Y3QgbmFwaV9zdHJ1Y3QgKm5hcGksIGludCBxdW90YSkKLUBAIC00MTA3LDYgKzQxMTEsNyBAQCB2b2lkIF9fbmFwaV9zY2hlZHVsZShzdHJ1Y3QgbmFwaV9zdHJ1Y3QKK0BAIC00MTE4LDYgKzQxMjIsNyBAQCB2b2lkIF9fbmFwaV9zY2hlZHVsZShzdHJ1Y3QgbmFwaV9zdHJ1Y3QKICAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogIAlfX19fbmFwaV9zY2hlZHVsZSgmX19nZXRfY3B1X3Zhcihzb2Z0bmV0X2RhdGEpLCBuKTsKICAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwpAQCAtMTQzLDcgKzEzNSw3IEBACiAgfQogIEVYUE9SVF9TWU1CT0woX19uYXBpX3NjaGVkdWxlKTsKICAKLUBAIC02MDQ1LDYgKzYwNTAsNyBAQCBzdGF0aWMgaW50IGRldl9jcHVfY2FsbGJhY2soc3RydWN0IG5vdGlmCitAQCAtNjA1Niw2ICs2MDYxLDcgQEAgc3RhdGljIGludCBkZXZfY3B1X2NhbGxiYWNrKHN0cnVjdCBub3RpZgogIAogIAlyYWlzZV9zb2Z0aXJxX2lycW9mZihORVRfVFhfU09GVElSUSk7CiAgCWxvY2FsX2lycV9lbmFibGUoKTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvc29mdGlycS1zYW5pdGl6ZS1zb2Z0aXJxLXBlbmRpbmcucGF0Y2ggYi9wYXRjaGVzL3NvZnRpcnEtc2FuaXRpemUtc29mdGlycS1wZW5kaW5nLnBhdGNoCmluZGV4IGU5YmZkYzQuLjIyOTA2ZmQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc29mdGlycS1zYW5pdGl6ZS1zb2Z0aXJxLXBlbmRpbmcucGF0Y2gKKysrIGIvcGF0Y2hlcy9zb2Z0aXJxLXNhbml0aXplLXNvZnRpcnEtcGVuZGluZy5wYXRjaApAQCAtMTAsMTAgKzEwLDggQEAKICBrZXJuZWwvdGltZS90aWNrLXNjaGVkLmMgIHwgICAgOSAtLS0tLS0KICAzIGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAorLS0tIGEvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAorKysrIGIvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAogQEAgLTQ1NSw2ICs0NTUsOCBAQCBleHRlcm4gdm9pZCBfX3JhaXNlX3NvZnRpcnFfaXJxb2ZmKHVuc2lnCiAgZXh0ZXJuIHZvaWQgcmFpc2Vfc29mdGlycV9pcnFvZmYodW5zaWduZWQgaW50IG5yKTsKICBleHRlcm4gdm9pZCByYWlzZV9zb2Z0aXJxKHVuc2lnbmVkIGludCBucik7CkBAIC0yMywxNSArMjEsMTMgQEAKICAvKiBUaGlzIGlzIHRoZSB3b3JrbGlzdCB0aGF0IHF1ZXVlcyB1cCBwZXItY3B1IHNvZnRpcnEgd29yay4KICAgKgogICAqIHNlbmRfcmVtb3RlX3NlbmRpcnEoKSBhZGRzIHdvcmsgdG8gdGhlc2UgbGlzdHMsIGFuZAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc29mdGlycS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NvZnRpcnEuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc29mdGlycS5jCistLS0gYS9rZXJuZWwvc29mdGlycS5jCisrKysgYi9rZXJuZWwvc29mdGlycS5jCiBAQCAtNjIsNiArNjIsNjkgQEAgY2hhciAqc29mdGlycV90b19uYW1lW05SX1NPRlRJUlFTXSA9IHsKICAJIlRBU0tMRVQiLCAiU0NIRUQiLCAiSFJUSU1FUiIsICJSQ1UiCiAgfTsKICAKLSsjaWZkZWYgQ09ORklHX05PX0haCisrI2lmZGVmIENPTkZJR19OT19IWl9DT01NT04KICsjIGlmZGVmIENPTkZJR19QUkVFTVBUX1JUX0ZVTEwKICsvKgogKyAqIE9uIHByZWVtcHQtcnQgYSBzb2Z0aXJxIG1pZ2h0IGJlIGJsb2NrZWQgb24gYSBsb2NrLiBUaGVyZSBtaWdodCBiZQpAQCAtOTcsMTAgKzkzLDggQEAKICAvKgogICAqIHdlIGNhbm5vdCBsb29wIGluZGVmaW5pdGVseSBoZXJlIHRvIGF2b2lkIHVzZXJzcGFjZSBzdGFydmF0aW9uLAogICAqIGJ1dCB3ZSBhbHNvIGRvbid0IHdhbnQgdG8gaW50cm9kdWNlIGEgd29yc3QgY2FzZSAxL0haIGxhdGVuY3kKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3RpbWUvdGljay1zY2hlZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3RpbWUvdGljay1zY2hlZC5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC90aW1lL3RpY2stc2NoZWQuYworLS0tIGEva2VybmVsL3RpbWUvdGljay1zY2hlZC5jCisrKysgYi9rZXJuZWwvdGltZS90aWNrLXNjaGVkLmMKIEBAIC03MzEsMTQgKzczMSw3IEBAIHN0YXRpYyBib29sIGNhbl9zdG9wX2lkbGVfdGljayhpbnQgY3B1LAogIAkJcmV0dXJuIGZhbHNlOwogIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9zb2Z0aXJxLXNwbGl0LWhhbmRsaW5nLWZ1bmN0aW9uLnBhdGNoIGIvcGF0Y2hlcy9zb2Z0aXJxLXNwbGl0LWhhbmRsaW5nLWZ1bmN0aW9uLnBhdGNoCmluZGV4IDBhOGFlMDcuLjcwN2FhNDQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc29mdGlycS1zcGxpdC1oYW5kbGluZy1mdW5jdGlvbi5wYXRjaAorKysgYi9wYXRjaGVzL3NvZnRpcnEtc3BsaXQtaGFuZGxpbmctZnVuY3Rpb24ucGF0Y2gKQEAgLTksMTAgKzksOCBAQAogIGtlcm5lbC9zb2Z0aXJxLmMgfCAgIDQzICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NvZnRpcnEuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zb2Z0aXJxLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NvZnRpcnEuYworLS0tIGEva2VybmVsL3NvZnRpcnEuYworKysrIGIva2VybmVsL3NvZnRpcnEuYwogQEAgLTE0MiwzMSArMTQyLDM0IEBAIHN0YXRpYyB2b2lkIHdha2V1cF9zb2Z0aXJxZCh2b2lkKQogIAkJd2FrZV91cF9wcm9jZXNzKHRzayk7CiAgfQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9zb2Z0aXJxLXNwbGl0LWxvY2tzLnBhdGNoIGIvcGF0Y2hlcy9zb2Z0aXJxLXNwbGl0LWxvY2tzLnBhdGNoCmluZGV4IGY4ZjA5Y2YuLjY2ZGYzYWIgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc29mdGlycS1zcGxpdC1sb2Nrcy5wYXRjaAorKysgYi9wYXRjaGVzL3NvZnRpcnEtc3BsaXQtbG9ja3MucGF0Y2gKQEAgLTI4LDExICsyOCw5IEBACiAga2VybmVsL3NvZnRpcnEuYyAgICAgIHwgIDMwNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQogIDIgZmlsZXMgY2hhbmdlZCwgMTg1IGluc2VydGlvbnMoKyksIDEyMSBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zY2hlZC5oCi1AQCAtMTQ0Niw2ICsxNDQ2LDcgQEAgc3RydWN0IHRhc2tfc3RydWN0IHsKKy0tLSBhL2luY2x1ZGUvbGludXgvc2NoZWQuaAorKysrIGIvaW5jbHVkZS9saW51eC9zY2hlZC5oCitAQCAtMTQ0OSw2ICsxNDQ5LDcgQEAgc3RydWN0IHRhc2tfc3RydWN0IHsKICAjaWZkZWYgQ09ORklHX1BSRUVNUFRfUlRfQkFTRQogIAlzdHJ1Y3QgcmN1X2hlYWQgcHV0X3JjdTsKICAJaW50IHNvZnRpcnFfbmVzdGNudDsKQEAgLTQwLDEwICszOCw4IEBACiAgI2VuZGlmCiAgI2lmZGVmIENPTkZJR19QUkVFTVBUX1JUX0ZVTEwKICAjIGlmIGRlZmluZWQgQ09ORklHX0hJR0hNRU0gfHwgZGVmaW5lZCBDT05GSUdfWDg2XzMyCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zb2Z0aXJxLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc29mdGlycS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zb2Z0aXJxLmMKKy0tLSBhL2tlcm5lbC9zb2Z0aXJxLmMKKysrKyBiL2tlcm5lbC9zb2Z0aXJxLmMKIEBAIC0xNjIsNiArMTYyLDEyIEBAIHN0YXRpYyB2b2lkIGhhbmRsZV9zb2Z0aXJxKHVuc2lnbmVkIGludAogIAkJcmN1X2JoX3FzKGNwdSk7CiAgfQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9zb2Z0aXJxLXNwbGl0LW91dC1jb2RlLnBhdGNoIGIvcGF0Y2hlcy9zb2Z0aXJxLXNwbGl0LW91dC1jb2RlLnBhdGNoCmluZGV4IDVhMjgxMDAuLjE0NGY5Y2YgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc29mdGlycS1zcGxpdC1vdXQtY29kZS5wYXRjaAorKysgYi9wYXRjaGVzL3NvZnRpcnEtc3BsaXQtb3V0LWNvZGUucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGtlcm5lbC9zb2Z0aXJxLmMgfCAgIDYyICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NvZnRpcnEuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zb2Z0aXJxLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NvZnRpcnEuYworLS0tIGEva2VybmVsL3NvZnRpcnEuYworKysrIGIva2VybmVsL3NvZnRpcnEuYwogQEAgLTc3LDYgKzc3LDM0IEBAIHN0YXRpYyB2b2lkIHdha2V1cF9zb2Z0aXJxZCh2b2lkKQogIAkJd2FrZV91cF9wcm9jZXNzKHRzayk7CiAgfQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9zb2Z0aXJxLXRocmVhZC1kby1zb2Z0aXJxLnBhdGNoIGIvcGF0Y2hlcy9zb2Z0aXJxLXRocmVhZC1kby1zb2Z0aXJxLnBhdGNoCmluZGV4IDg5YTMxMTMuLjIzYjIyZGMgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc29mdGlycS10aHJlYWQtZG8tc29mdGlycS5wYXRjaAorKysgYi9wYXRjaGVzL3NvZnRpcnEtdGhyZWFkLWRvLXNvZnRpcnEucGF0Y2gKQEAgLTgsMTAgKzgsOCBAQAogIG5ldC9jb3JlL2Rldi5jICAgICAgICAgICAgfCAgICAyICstCiAgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oCistLS0gYS9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oCiBAQCAtNDQzLDYgKzQ0Myw3IEBAIHN0cnVjdCBzb2Z0aXJxX2FjdGlvbgogIAogIGFzbWxpbmthZ2Ugdm9pZCBkb19zb2Z0aXJxKHZvaWQpOwpAQCAtMjAsMTAgKzE4LDggQEAKICBleHRlcm4gdm9pZCBvcGVuX3NvZnRpcnEoaW50IG5yLCB2b2lkICgqYWN0aW9uKShzdHJ1Y3Qgc29mdGlycV9hY3Rpb24gKikpOwogIGV4dGVybiB2b2lkIHNvZnRpcnFfaW5pdCh2b2lkKTsKICBleHRlcm4gdm9pZCBfX3JhaXNlX3NvZnRpcnFfaXJxb2ZmKHVuc2lnbmVkIGludCBucik7Ci1JbmRleDogbGludXgtc3RhYmxlL25ldC9jb3JlL2Rldi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvbmV0L2NvcmUvZGV2LmMKLSsrKyBsaW51eC1zdGFibGUvbmV0L2NvcmUvZGV2LmMKKy0tLSBhL25ldC9jb3JlL2Rldi5jCisrKysgYi9uZXQvY29yZS9kZXYuYwogQEAgLTMyMDQsNyArMzIwNCw3IEBAIGludCBuZXRpZl9yeF9uaShzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogIAlwcmVlbXB0X2Rpc2FibGUoKTsKICAJZXJyID0gbmV0aWZfcngoc2tiKTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvc3BpbmxvY2stdHlwZXMtc2VwYXJhdGUtcmF3LnBhdGNoIGIvcGF0Y2hlcy9zcGlubG9jay10eXBlcy1zZXBhcmF0ZS1yYXcucGF0Y2gKaW5kZXggZGZmMDViNi4uNjYxMTc3MyAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zcGlubG9jay10eXBlcy1zZXBhcmF0ZS1yYXcucGF0Y2gKKysrIGIvcGF0Y2hlcy9zcGlubG9jay10eXBlcy1zZXBhcmF0ZS1yYXcucGF0Y2gKQEAgLTEwLDEwICsxMCw4IEBACiAgaW5jbHVkZS9saW51eC9zcGlubG9ja190eXBlc19yYXcuaCAgfCAgIDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogIDQgZmlsZXMgY2hhbmdlZCwgOTUgaW5zZXJ0aW9ucygrKSwgNzIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9yd2xvY2tfdHlwZXMuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvcndsb2NrX3R5cGVzLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9yd2xvY2tfdHlwZXMuaAorLS0tIGEvaW5jbHVkZS9saW51eC9yd2xvY2tfdHlwZXMuaAorKysrIGIvaW5jbHVkZS9saW51eC9yd2xvY2tfdHlwZXMuaAogQEAgLTEsNiArMSwxMCBAQAogICNpZm5kZWYgX19MSU5VWF9SV0xPQ0tfVFlQRVNfSAogICNkZWZpbmUgX19MSU5VWF9SV0xPQ0tfVFlQRVNfSApAQCAtMjUsMTAgKzIzLDggQEAKICAvKgogICAqIGluY2x1ZGUvbGludXgvcndsb2NrX3R5cGVzLmggLSBnZW5lcmljIHJ3bG9jayB0eXBlIGRlZmluaXRpb25zCiAgICoJCQkJICBhbmQgaW5pdGlhbGl6ZXJzCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc3BpbmxvY2tfdHlwZXMuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvc3BpbmxvY2tfdHlwZXMuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NwaW5sb2NrX3R5cGVzLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvc3BpbmxvY2tfdHlwZXMuaAorKysrIGIvaW5jbHVkZS9saW51eC9zcGlubG9ja190eXBlcy5oCiBAQCAtOSw3OSArOSw5IEBACiAgICogUmVsZWFzZWQgdW5kZXIgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkuCiAgICovCkBAIC0xMTEsMTAgKzEwNyw4IEBACiAgCiAgI2luY2x1ZGUgPGxpbnV4L3J3bG9ja190eXBlcy5oPgogIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NwaW5sb2NrX3R5cGVzX25vcnQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NwaW5sb2NrX3R5cGVzX25vcnQuaAorKysrIGIvaW5jbHVkZS9saW51eC9zcGlubG9ja190eXBlc19ub3J0LmgKIEBAIC0wLDAgKzEsMzMgQEAKICsjaWZuZGVmIF9fTElOVVhfU1BJTkxPQ0tfVFlQRVNfTk9SVF9ICiArI2RlZmluZSBfX0xJTlVYX1NQSU5MT0NLX1RZUEVTX05PUlRfSApAQCAtMTQ5LDEwICsxNDMsOCBAQAogKyNkZWZpbmUgREVGSU5FX1NQSU5MT0NLKHgpCXNwaW5sb2NrX3QgeCA9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHgpCiArCiArI2VuZGlmCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc3BpbmxvY2tfdHlwZXNfcmF3LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zcGlubG9ja190eXBlc19yYXcuaAorKysrIGIvaW5jbHVkZS9saW51eC9zcGlubG9ja190eXBlc19yYXcuaAogQEAgLTAsMCArMSw1NiBAQAogKyNpZm5kZWYgX19MSU5VWF9TUElOTE9DS19UWVBFU19SQVdfSAogKyNkZWZpbmUgX19MSU5VWF9TUElOTE9DS19UWVBFU19SQVdfSApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9zdG9tcC1tYWNoaW5lLWRlYWwtY2xldmVyLXdpdGgtc3RvcHBlci1sb2NrLnBhdGNoIGIvcGF0Y2hlcy9zdG9tcC1tYWNoaW5lLWRlYWwtY2xldmVyLXdpdGgtc3RvcHBlci1sb2NrLnBhdGNoCmluZGV4IDFjYjcyODQuLmU1YTc3ZjMgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc3RvbXAtbWFjaGluZS1kZWFsLWNsZXZlci13aXRoLXN0b3BwZXItbG9jay5wYXRjaAorKysgYi9wYXRjaGVzL3N0b21wLW1hY2hpbmUtZGVhbC1jbGV2ZXItd2l0aC1zdG9wcGVyLWxvY2sucGF0Y2gKQEAgLTEzLDEwICsxMyw4IEBACiAga2VybmVsL3N0b3BfbWFjaGluZS5jIHwgICAxMyArKysrKysrKystLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc3RvcF9tYWNoaW5lLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc3RvcF9tYWNoaW5lLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3N0b3BfbWFjaGluZS5jCistLS0gYS9rZXJuZWwvc3RvcF9tYWNoaW5lLmMKKysrKyBiL2tlcm5lbC9zdG9wX21hY2hpbmUuYwogQEAgLTE2MCw3ICsxNjAsNyBAQCBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IGNwdV9zdG9wX3dvCiAgCiAgc3RhdGljIHZvaWQgcXVldWVfc3RvcF9jcHVzX3dvcmsoY29uc3Qgc3RydWN0IGNwdW1hc2sgKmNwdW1hc2ssCmRpZmYgLS1naXQgYS9wYXRjaGVzL3N0b21wLW1hY2hpbmUtcmF3LWxvY2sucGF0Y2ggYi9wYXRjaGVzL3N0b21wLW1hY2hpbmUtcmF3LWxvY2sucGF0Y2gKaW5kZXggZjVhNzRkNi4uZDU3ZmJmNiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zdG9tcC1tYWNoaW5lLXJhdy1sb2NrLnBhdGNoCisrKyBiL3BhdGNoZXMvc3RvbXAtbWFjaGluZS1yYXctbG9jay5wYXRjaApAQCAtNywxMCArNyw4IEBACiAga2VybmVsL3N0b3BfbWFjaGluZS5jIHwgICA2MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc3RvcF9tYWNoaW5lLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc3RvcF9tYWNoaW5lLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3N0b3BfbWFjaGluZS5jCistLS0gYS9rZXJuZWwvc3RvcF9tYWNoaW5lLmMKKysrKyBiL2tlcm5lbC9zdG9wX21hY2hpbmUuYwogQEAgLTI5LDEyICsyOSwxMiBAQCBzdHJ1Y3QgY3B1X3N0b3BfZG9uZSB7CiAgCWF0b21pY190CQlucl90b2RvOwkvKiBuciBsZWZ0IHRvIGV4ZWN1dGUgKi8KICAJYm9vbAkJCWV4ZWN1dGVkOwkvKiBhY3R1YWxseSBleGVjdXRlZD8gKi8KZGlmZiAtLWdpdCBhL3BhdGNoZXMvc3RvcF9tYWNoaW5lLWNvbnZlcnQtc3RvcF9tYWNoaW5lX3J1bi10by1QUkVFTVBUX1JULnBhdGNoIGIvcGF0Y2hlcy9zdG9wX21hY2hpbmUtY29udmVydC1zdG9wX21hY2hpbmVfcnVuLXRvLVBSRUVNUFRfUlQucGF0Y2gKaW5kZXggYmM2NjAzMS4uMGRmOTdjNiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy9zdG9wX21hY2hpbmUtY29udmVydC1zdG9wX21hY2hpbmVfcnVuLXRvLVBSRUVNUFRfUlQucGF0Y2gKKysrIGIvcGF0Y2hlcy9zdG9wX21hY2hpbmUtY29udmVydC1zdG9wX21hY2hpbmVfcnVuLXRvLVBSRUVNUFRfUlQucGF0Y2gKQEAgLTEzLDEwICsxMyw4IEBACiAga2VybmVsL3N0b3BfbWFjaGluZS5jIHwgICAyMCArKysrKysrKysrKysrKystLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zdG9wX21hY2hpbmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zdG9wX21hY2hpbmUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc3RvcF9tYWNoaW5lLmMKKy0tLSBhL2tlcm5lbC9zdG9wX21hY2hpbmUuYworKysrIGIva2VybmVsL3N0b3BfbWFjaGluZS5jCiBAQCAtMTM3LDYgKzEzNyw3IEBAIHZvaWQgc3RvcF9vbmVfY3B1X25vd2FpdCh1bnNpZ25lZCBpbnQgY3AKICAKICAvKiBzdGF0aWMgZGF0YSBmb3Igc3RvcF9jcHVzICovCmRpZmYgLS1naXQgYS9wYXRjaGVzL3N1c3BlbmQtcHJldmVybnQtbWlnaHQtc2xlZXAtc3BsYXRzLnBhdGNoIGIvcGF0Y2hlcy9zdXNwZW5kLXByZXZlcm50LW1pZ2h0LXNsZWVwLXNwbGF0cy5wYXRjaAppbmRleCBhNjliOWZjLi5jYmNlMzNlIDEwMDY0NAotLS0gYS9wYXRjaGVzL3N1c3BlbmQtcHJldmVybnQtbWlnaHQtc2xlZXAtc3BsYXRzLnBhdGNoCisrKyBiL3BhdGNoZXMvc3VzcGVuZC1wcmV2ZXJudC1taWdodC1zbGVlcC1zcGxhdHMucGF0Y2gKQEAgLTIzLDEwICsyMyw4IEBACiAga2VybmVsL3Bvd2VyL3N1c3BlbmQuYyAgIHwgICAgNCArKysrCiAgMyBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9rZXJuZWwuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgva2VybmVsLmgKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9rZXJuZWwuaAorLS0tIGEvaW5jbHVkZS9saW51eC9rZXJuZWwuaAorKysrIGIvaW5jbHVkZS9saW51eC9rZXJuZWwuaAogQEAgLTQxNSw2ICs0MTUsNyBAQCBleHRlcm4gZW51bSBzeXN0ZW1fc3RhdGVzIHsKICAJU1lTVEVNX0hBTFQsCiAgCVNZU1RFTV9QT1dFUl9PRkYsCkBAIC0zNSwxMCArMzMsOCBAQAogIH0gc3lzdGVtX3N0YXRlOwogIAogICNkZWZpbmUgVEFJTlRfUFJPUFJJRVRBUllfTU9EVUxFCTAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3Bvd2VyL2hpYmVybmF0ZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3Bvd2VyL2hpYmVybmF0ZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9wb3dlci9oaWJlcm5hdGUuYworLS0tIGEva2VybmVsL3Bvd2VyL2hpYmVybmF0ZS5jCisrKysgYi9rZXJuZWwvcG93ZXIvaGliZXJuYXRlLmMKIEBAIC0yNzUsNiArMjc1LDggQEAgc3RhdGljIGludCBjcmVhdGVfaW1hZ2UoaW50IHBsYXRmb3JtX21vZAogIAogIAlsb2NhbF9pcnFfZGlzYWJsZSgpOwpAQCAtODgsMTAgKzg0LDggQEAKICAJbG9jYWxfaXJxX2VuYWJsZSgpOwogIAllbmFibGVfbm9uYm9vdF9jcHVzKCk7CiAgCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9wb3dlci9zdXNwZW5kLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvcG93ZXIvc3VzcGVuZC5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9wb3dlci9zdXNwZW5kLmMKKy0tLSBhL2tlcm5lbC9wb3dlci9zdXNwZW5kLmMKKysrKyBiL2tlcm5lbC9wb3dlci9zdXNwZW5kLmMKIEBAIC0yMTcsNiArMjE3LDggQEAgc3RhdGljIGludCBzdXNwZW5kX2VudGVyKHN1c3BlbmRfc3RhdGVfdAogIAlhcmNoX3N1c3BlbmRfZGlzYWJsZV9pcnFzKCk7CiAgCUJVR19PTighaXJxc19kaXNhYmxlZCgpKTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvc3lzY3RsLWluY2x1ZGUtYXRvbWljLWgucGF0Y2ggYi9wYXRjaGVzL3N5c2N0bC1pbmNsdWRlLWF0b21pYy1oLnBhdGNoCmluZGV4IDUxYTc3ZjYuLjJlNTEwOTggMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc3lzY3RsLWluY2x1ZGUtYXRvbWljLWgucGF0Y2gKKysrIGIvcGF0Y2hlcy9zeXNjdGwtaW5jbHVkZS1hdG9taWMtaC5wYXRjaApAQCAtNywxMCArNyw4IEBACiAgaW5jbHVkZS9saW51eC9zeXNjdGwuaCB8ICAgIDEgKwogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc3lzY3RsLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L3N5c2N0bC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc3lzY3RsLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvc3lzY3RsLmgKKysrKyBiL2luY2x1ZGUvbGludXgvc3lzY3RsLmgKIEBAIC0yNSw2ICsyNSw3IEBACiAgI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CiAgI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KZGlmZiAtLWdpdCBhL3BhdGNoZXMvc3lzZnMtcmVhbHRpbWUtZW50cnkucGF0Y2ggYi9wYXRjaGVzL3N5c2ZzLXJlYWx0aW1lLWVudHJ5LnBhdGNoCmluZGV4IGIwYTg0ZjkuLjQ4ODljNmIgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvc3lzZnMtcmVhbHRpbWUtZW50cnkucGF0Y2gKKysrIGIvcGF0Y2hlcy9zeXNmcy1yZWFsdGltZS1lbnRyeS5wYXRjaApAQCAtMTcsMTAgKzE3LDggQEAKICBrZXJuZWwva3N5c2ZzLmMgfCAgIDEyICsrKysrKysrKysrKwogIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL2tzeXNmcy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2tzeXNmcy5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9rc3lzZnMuYworLS0tIGEva2VybmVsL2tzeXNmcy5jCisrKysgYi9rZXJuZWwva3N5c2ZzLmMKIEBAIC0xMzIsNiArMTMyLDE1IEBAIEtFUk5FTF9BVFRSX1JPKHZtY29yZWluZm8pOwogIAogICNlbmRpZiAvKiBDT05GSUdfS0VYRUMgKi8KZGlmZiAtLWdpdCBhL3BhdGNoZXMvdGFza2xldC1ydC1wcmV2ZW50LXRhc2tsZXRzLWZyb20tZ29pbmctaW50by1pbmZpbml0ZS1zcGluLWluLXJ0LnBhdGNoIGIvcGF0Y2hlcy90YXNrbGV0LXJ0LXByZXZlbnQtdGFza2xldHMtZnJvbS1nb2luZy1pbnRvLWluZmluaXRlLXNwaW4taW4tcnQucGF0Y2gKaW5kZXggZjkxYWJhNy4uMjNmZTQ3OSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy90YXNrbGV0LXJ0LXByZXZlbnQtdGFza2xldHMtZnJvbS1nb2luZy1pbnRvLWluZmluaXRlLXNwaW4taW4tcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy90YXNrbGV0LXJ0LXByZXZlbnQtdGFza2xldHMtZnJvbS1nb2luZy1pbnRvLWluZmluaXRlLXNwaW4taW4tcnQucGF0Y2gKQEAgLTQxLDEwICs0MSw4IEBACiAga2VybmVsL3NvZnRpcnEuYyAgICAgICAgICB8ICAyMDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogIDIgZmlsZXMgY2hhbmdlZCwgMTcwIGluc2VydGlvbnMoKyksIDc3IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKKy0tLSBhL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKKysrKyBiL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKIEBAIC01MDIsOCArNTAyLDkgQEAgZXh0ZXJuIHZvaWQgX19zZW5kX3JlbW90ZV9zb2Z0aXJxKHN0cnVjdAogICAgICAgdG8gYmUgZXhlY3V0ZWQgb24gc29tZSBjcHUgYXQgbGVhc3Qgb25jZSBhZnRlciB0aGlzLgogICAgICogSWYgdGhlIHRhc2tsZXQgaXMgYWxyZWFkeSBzY2hlZHVsZWQsIGJ1dCBpdHMgZXhlY3V0aW9uIGlzIHN0aWxsIG5vdApAQCAtMTIwLDEwICsxMTgsOCBAQAogIAogIGV4dGVybiB2b2lkIHRhc2tsZXRfa2lsbChzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgKnQpOwogIGV4dGVybiB2b2lkIHRhc2tsZXRfa2lsbF9pbW1lZGlhdGUoc3RydWN0IHRhc2tsZXRfc3RydWN0ICp0LCB1bnNpZ25lZCBpbnQgY3B1KTsKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NvZnRpcnEuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zb2Z0aXJxLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NvZnRpcnEuYworLS0tIGEva2VybmVsL3NvZnRpcnEuYworKysrIGIva2VybmVsL3NvZnRpcnEuYwogQEAgLTIxLDYgKzIxLDcgQEAKICAjaW5jbHVkZSA8bGludXgvZnJlZXplci5oPgogICNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CmRpZmYgLS1naXQgYS9wYXRjaGVzL3Rhc2tsaXN0LWxvY2stZml4LXNlY3Rpb24tY29uZmxpY3QucGF0Y2ggYi9wYXRjaGVzL3Rhc2tsaXN0LWxvY2stZml4LXNlY3Rpb24tY29uZmxpY3QucGF0Y2gKaW5kZXggMTUzMTU3MC4uMDA1YjQwOCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy90YXNrbGlzdC1sb2NrLWZpeC1zZWN0aW9uLWNvbmZsaWN0LnBhdGNoCisrKyBiL3BhdGNoZXMvdGFza2xpc3QtbG9jay1maXgtc2VjdGlvbi1jb25mbGljdC5wYXRjaApAQCAtNiw3ICs2LDcgQEAKIAogbWFrZSBrZXJuZWwvZm9yay5vCiAgIENDICAgICAga2VybmVsL2Zvcmsubwota2VybmVsL2ZvcmsuYzo5MDogZXJyb3I6IHNlY3Rpb24gb2YgoXRhc2tsaXN0X2xvY2uiIGNvbmZsaWN0cyB3aXRoIHByZXZpb3VzIGRlY2xhcmF0aW9uCitrZXJuZWwvZm9yay5jOjkwOiBlcnJvcjogc2VjdGlvbiBvZiB0YXNrbGlzdF9sb2NrIGNvbmZsaWN0cyB3aXRoIHByZXZpb3VzIGRlY2xhcmF0aW9uCiBtYWtlWzJdOiAqKiogW2tlcm5lbC9mb3JrLm9dIEVycm9yIDEKIG1ha2VbMV06ICoqKiBba2VybmVsL2Zvcmsub10gRXJyb3IgMgogCkBAIC0zMywxMCArMzMsOCBAQAogIGtlcm5lbC9mb3JrLmMgICAgICAgICAgICAgICAgfCAgICA0ICsrLS0KICAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3J3bG9ja190eXBlcy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9yd2xvY2tfdHlwZXMuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3J3bG9ja190eXBlcy5oCistLS0gYS9pbmNsdWRlL2xpbnV4L3J3bG9ja190eXBlcy5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3J3bG9ja190eXBlcy5oCiBAQCAtNDcsNiArNDcsNyBAQCB0eXBlZGVmIHN0cnVjdCB7CiAgCQkJCVJXX0RFUF9NQVBfSU5JVChsb2NrbmFtZSkgfQogICNlbmRpZgpAQCAtNDYsMTAgKzQ0LDggQEAKICsJcndsb2NrX3QgbmFtZSBfX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcCA9IF9fUldfTE9DS19VTkxPQ0tFRChuYW1lKQogIAogICNlbmRpZiAvKiBfX0xJTlVYX1JXTE9DS19UWVBFU19IICovCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9mb3JrLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvZm9yay5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9mb3JrLmMKKy0tLSBhL2tlcm5lbC9mb3JrLmMKKysrKyBiL2tlcm5lbC9mb3JrLmMKIEBAIC05NCw3ICs5NCw3IEBAIGludCBtYXhfdGhyZWFkczsJCS8qIHR1bmFibGUgbGltaXQgb24gbnIKICAKICBERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCBwcm9jZXNzX2NvdW50cykgPSAwOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy90aW1la2VlcGluZy1zcGxpdC1qaWZmaWVzLWxvY2sucGF0Y2ggYi9wYXRjaGVzL3RpbWVrZWVwaW5nLXNwbGl0LWppZmZpZXMtbG9jay5wYXRjaAppbmRleCA4MzI0OTM2Li40ODI5ZDA3IDEwMDY0NAotLS0gYS9wYXRjaGVzL3RpbWVrZWVwaW5nLXNwbGl0LWppZmZpZXMtbG9jay5wYXRjaAorKysgYi9wYXRjaGVzL3RpbWVrZWVwaW5nLXNwbGl0LWppZmZpZXMtbG9jay5wYXRjaApAQCAtMTEsMTAgKzExLDggQEAKICBrZXJuZWwvdGltZS90aW1la2VlcGluZy5jICAgfCAgICA2ICsrKystLQogIDUgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3RpbWUvamlmZmllcy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3RpbWUvamlmZmllcy5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC90aW1lL2ppZmZpZXMuYworLS0tIGEva2VybmVsL3RpbWUvamlmZmllcy5jCisrKysgYi9rZXJuZWwvdGltZS9qaWZmaWVzLmMKIEBAIC02Nyw3ICs2Nyw4IEBAIHN0YXRpYyBzdHJ1Y3QgY2xvY2tzb3VyY2UgY2xvY2tzb3VyY2VfamkKICAJLnNoaWZ0CQk9IEpJRkZJRVNfU0hJRlQsCiAgfTsKQEAgLTM3LDEwICszNSw4IEBACiAgCXJldHVybiByZXQ7CiAgfQogIEVYUE9SVF9TWU1CT0woZ2V0X2ppZmZpZXNfNjQpOwotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvdGltZS90aWNrLWNvbW1vbi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3RpbWUvdGljay1jb21tb24uYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvdGltZS90aWNrLWNvbW1vbi5jCistLS0gYS9rZXJuZWwvdGltZS90aWNrLWNvbW1vbi5jCisrKysgYi9rZXJuZWwvdGltZS90aWNrLWNvbW1vbi5jCiBAQCAtNjMsMTMgKzYzLDE1IEBAIGludCB0aWNrX2lzX29uZXNob3RfYXZhaWxhYmxlKHZvaWQpCiAgc3RhdGljIHZvaWQgdGlja19wZXJpb2RpYyhpbnQgY3B1KQogIHsKQEAgLTcxLDEwICs2Nyw4IEBACiAgCiAgCQljbG9ja2V2ZW50c19zZXRfbW9kZShkZXYsIENMT0NLX0VWVF9NT0RFX09ORVNIT1QpOwogIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvdGltZS90aWNrLWludGVybmFsLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvdGltZS90aWNrLWludGVybmFsLmgKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3RpbWUvdGljay1pbnRlcm5hbC5oCistLS0gYS9rZXJuZWwvdGltZS90aWNrLWludGVybmFsLmgKKysrKyBiL2tlcm5lbC90aW1lL3RpY2staW50ZXJuYWwuaAogQEAgLTQsNyArNCw4IEBACiAgI2luY2x1ZGUgPGxpbnV4L2hydGltZXIuaD4KICAjaW5jbHVkZSA8bGludXgvdGljay5oPgpAQCAtODUsMTAgKzc5LDggQEAKICAKICAjaWZkZWYgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQKICAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3RpbWUvdGljay1zY2hlZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3RpbWUvdGljay1zY2hlZC5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC90aW1lL3RpY2stc2NoZWQuYworLS0tIGEva2VybmVsL3RpbWUvdGljay1zY2hlZC5jCisrKysgYi9rZXJuZWwvdGltZS90aWNrLXNjaGVkLmMKIEBAIC02MSw3ICs2MSw4IEBAIHN0YXRpYyB2b2lkIHRpY2tfZG9fdXBkYXRlX2ppZmZpZXM2NChrdGkKICAJCXJldHVybjsKICAKQEAgLTE0MCwxMCArMTMyLDggQEAKICAKICAJaWYgKHJjdV9uZWVkc19jcHUoY3B1LCAmcmN1X2RlbHRhX2ppZmZpZXMpIHx8CiAgCSAgICBhcmNoX25lZWRzX2NwdShjcHUpIHx8IGlycV93b3JrX25lZWRzX2NwdSgpKSB7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC90aW1lL3RpbWVrZWVwaW5nLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvdGltZS90aW1la2VlcGluZy5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC90aW1lL3RpbWVrZWVwaW5nLmMKKy0tLSBhL2tlcm5lbC90aW1lL3RpbWVrZWVwaW5nLmMKKysrKyBiL2tlcm5lbC90aW1lL3RpbWVrZWVwaW5nLmMKIEBAIC0xNzEyLDcgKzE3MTIsOSBAQCBFWFBPUlRfU1lNQk9MKGhhcmRwcHMpOwogICAqLwogIHZvaWQgeHRpbWVfdXBkYXRlKHVuc2lnbmVkIGxvbmcgdGlja3MpCmRpZmYgLS1naXQgYS9wYXRjaGVzL3RpbWVyLWRlbGF5LXdha2luZy1zb2Z0aXJxcy1mcm9tLXRoZS1qaWZmeS10aWNrLnBhdGNoIGIvcGF0Y2hlcy90aW1lci1kZWxheS13YWtpbmctc29mdGlycXMtZnJvbS10aGUtamlmZnktdGljay5wYXRjaAppbmRleCBkYTU3OTdkLi5iODZjZmQzIDEwMDY0NAotLS0gYS9wYXRjaGVzL3RpbWVyLWRlbGF5LXdha2luZy1zb2Z0aXJxcy1mcm9tLXRoZS1qaWZmeS10aWNrLnBhdGNoCisrKyBiL3BhdGNoZXMvdGltZXItZGVsYXktd2FraW5nLXNvZnRpcnFzLWZyb20tdGhlLWppZmZ5LXRpY2sucGF0Y2gKQEAgLTU2LDEwICs1Niw4IEBACiAga2VybmVsL3RpbWVyLmMgfCAgICAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3RpbWVyLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvdGltZXIuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvdGltZXIuYworLS0tIGEva2VybmVsL3RpbWVyLmMKKysrKyBiL2tlcm5lbC90aW1lci5jCiBAQCAtMTM5MywxMyArMTM5MywxMyBAQCB2b2lkIHVwZGF0ZV9wcm9jZXNzX3RpbWVzKGludCB1c2VyX3RpY2spCiAgCiAgCS8qIE5vdGU6IHRoaXMgdGltZXIgaXJxIGNvbnRleHQgbXVzdCBiZSBhY2NvdW50ZWQgZm9yIGFzIHdlbGwuICovCmRpZmYgLS1naXQgYS9wYXRjaGVzL3RpbWVyLWZkLWF2b2lkLWxpdmUtbG9jay5wYXRjaCBiL3BhdGNoZXMvdGltZXItZmQtYXZvaWQtbGl2ZS1sb2NrLnBhdGNoCmluZGV4IDAzYmJiOTkuLjk0ZjA5NzQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvdGltZXItZmQtYXZvaWQtbGl2ZS1sb2NrLnBhdGNoCisrKyBiL3BhdGNoZXMvdGltZXItZmQtYXZvaWQtbGl2ZS1sb2NrLnBhdGNoCkBAIC0xNCwxMCArMTQsOCBAQAogIGZzL3RpbWVyZmQuYyB8ICAgIDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9mcy90aW1lcmZkLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9mcy90aW1lcmZkLmMKLSsrKyBsaW51eC1zdGFibGUvZnMvdGltZXJmZC5jCistLS0gYS9mcy90aW1lcmZkLmMKKysrKyBiL2ZzL3RpbWVyZmQuYwogQEAgLTMwOCw3ICszMDgsNyBAQCBzdGF0aWMgaW50IGRvX3RpbWVyZmRfc2V0dGltZShpbnQgdWZkLCBpCiAgCQlpZiAoaHJ0aW1lcl90cnlfdG9fY2FuY2VsKCZjdHgtPnRtcikgPj0gMCkKICAJCQlicmVhazsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvdGltZXItaGFuZGxlLWlkbGUtdHJ5bG9jay1pbi1nZXQtbmV4dC10aW1lci1pcnEucGF0Y2ggYi9wYXRjaGVzL3RpbWVyLWhhbmRsZS1pZGxlLXRyeWxvY2staW4tZ2V0LW5leHQtdGltZXItaXJxLnBhdGNoCmluZGV4IGQ1Y2MwZTUuLmU0OGFlMjcgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvdGltZXItaGFuZGxlLWlkbGUtdHJ5bG9jay1pbi1nZXQtbmV4dC10aW1lci1pcnEucGF0Y2gKKysrIGIvcGF0Y2hlcy90aW1lci1oYW5kbGUtaWRsZS10cnlsb2NrLWluLWdldC1uZXh0LXRpbWVyLWlycS5wYXRjaApAQCAtOSwxMCArOSw4IEBACiAga2VybmVsL3RpbWVyLmMgICAgICAgICAgICAgIHwgICAgOSArKysrKysrLS0KICAzIGZpbGVzIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC9zcGlubG9ja19ydC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9zcGlubG9ja19ydC5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc3BpbmxvY2tfcnQuaAorLS0tIGEvaW5jbHVkZS9saW51eC9zcGlubG9ja19ydC5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3NwaW5sb2NrX3J0LmgKIEBAIC01Myw3ICs1MywxNyBAQCBleHRlcm4gdm9pZCBfX2xvY2tmdW5jIF9fcnRfc3Bpbl91bmxvY2soCiAgCiAgI2RlZmluZSBzcGluX2xvY2tfaXJxKGxvY2spCQlzcGluX2xvY2sobG9jaykKQEAgLTMyLDExICszMCw5IEBACiAgCiAgI2lmZGVmIENPTkZJR19MT0NLREVQCiAgIyBkZWZpbmUgc3Bpbl9sb2NrX25lc3RlZChsb2NrLCBzdWJjbGFzcykJCVwKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3J0bXV0ZXguYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9ydG11dGV4LmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3J0bXV0ZXguYwotQEAgLTg2MiwxNSArODYyLDEwIEBAIEVYUE9SVF9TWU1CT0wocnRfc3Bpbl91bmxvY2tfd2FpdCk7CistLS0gYS9rZXJuZWwvcnRtdXRleC5jCisrKysgYi9rZXJuZWwvcnRtdXRleC5jCitAQCAtODc0LDE1ICs4NzQsMTAgQEAgRVhQT1JUX1NZTUJPTChydF9zcGluX3VubG9ja193YWl0KTsKICAKICBpbnQgX19sb2NrZnVuYyBydF9zcGluX3RyeWxvY2soc3BpbmxvY2tfdCAqbG9jaykKICB7CkBAIC01MywxMCArNDksOCBAQAogIAlyZXR1cm4gcmV0OwogIH0KICBFWFBPUlRfU1lNQk9MKHJ0X3NwaW5fdHJ5bG9jayk7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC90aW1lci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3RpbWVyLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3RpbWVyLmMKKy0tLSBhL2tlcm5lbC90aW1lci5jCisrKysgYi9rZXJuZWwvdGltZXIuYwogQEAgLTEzODYsOSArMTM4NiwxMCBAQCB1bnNpZ25lZCBsb25nIGdldF9uZXh0X3RpbWVyX2ludGVycnVwdCh1CiAgCS8qCiAgCSAqIE9uIFBSRUVNUFRfUlQgd2UgY2Fubm90IHNsZWVwIGhlcmUuIElmIHRoZSB0cnlsb2NrIGRvZXMgbm90CmRpZmYgLS1naXQgYS9wYXRjaGVzL3RpbWVycy1hdm9pZC10aGUtYmFzZS1udWxsLW90cHRpbWl6YXRpb24tb24tcnQucGF0Y2ggYi9wYXRjaGVzL3RpbWVycy1hdm9pZC10aGUtYmFzZS1udWxsLW90cHRpbWl6YXRpb24tb24tcnQucGF0Y2gKaW5kZXggYjFkODVlMi4uYTkxMTliMCAxMDA2NDQKLS0tIGEvcGF0Y2hlcy90aW1lcnMtYXZvaWQtdGhlLWJhc2UtbnVsbC1vdHB0aW1pemF0aW9uLW9uLXJ0LnBhdGNoCisrKyBiL3BhdGNoZXMvdGltZXJzLWF2b2lkLXRoZS1iYXNlLW51bGwtb3RwdGltaXphdGlvbi1vbi1ydC5wYXRjaApAQCAtMTAsMTAgKzEwLDggQEAKICBrZXJuZWwvdGltZXIuYyB8ICAgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC90aW1lci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3RpbWVyLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3RpbWVyLmMKKy0tLSBhL2tlcm5lbC90aW1lci5jCisrKysgYi9rZXJuZWwvdGltZXIuYwogQEAgLTcyMyw2ICs3MjMsMzYgQEAgc3RhdGljIHN0cnVjdCB0dmVjX2Jhc2UgKmxvY2tfdGltZXJfYmFzZQogIAl9CiAgfQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy90aW1lcnMtcHJlZW1wdC1ydC1zdXBwb3J0LnBhdGNoIGIvcGF0Y2hlcy90aW1lcnMtcHJlZW1wdC1ydC1zdXBwb3J0LnBhdGNoCmluZGV4IGZjN2UzYTguLjlmMmJkYTggMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvdGltZXJzLXByZWVtcHQtcnQtc3VwcG9ydC5wYXRjaAorKysgYi9wYXRjaGVzL3RpbWVycy1wcmVlbXB0LXJ0LXN1cHBvcnQucGF0Y2gKQEAgLTgsMTAgKzgsOCBAQAogIGtlcm5lbC90aW1lci5jIHwgICAxNSArKysrKysrKysrKystLS0KICAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvdGltZXIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC90aW1lci5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC90aW1lci5jCistLS0gYS9rZXJuZWwvdGltZXIuYworKysrIGIva2VybmVsL3RpbWVyLmMKIEBAIC0xMzU4LDcgKzEzNTgsMTcgQEAgdW5zaWduZWQgbG9uZyBnZXRfbmV4dF90aW1lcl9pbnRlcnJ1cHQodQogIAlpZiAoY3B1X2lzX29mZmxpbmUoc21wX3Byb2Nlc3Nvcl9pZCgpKSkKICAJCXJldHVybiBleHBpcmVzOwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy90aW1lcnMtcHJlcGFyZS1mb3ItZnVsbC1wcmVlbXB0aW9uLWltcHJvdmUucGF0Y2ggYi9wYXRjaGVzL3RpbWVycy1wcmVwYXJlLWZvci1mdWxsLXByZWVtcHRpb24taW1wcm92ZS5wYXRjaAppbmRleCBhYjJmYWFjLi4yYzE4MTlhIDEwMDY0NAotLS0gYS9wYXRjaGVzL3RpbWVycy1wcmVwYXJlLWZvci1mdWxsLXByZWVtcHRpb24taW1wcm92ZS5wYXRjaAorKysgYi9wYXRjaGVzL3RpbWVycy1wcmVwYXJlLWZvci1mdWxsLXByZWVtcHRpb24taW1wcm92ZS5wYXRjaApAQCAtMTQsMTAgKzE0LDggQEAKICBrZXJuZWwvdGltZXIuYyB8ICAgIDggKysrKysrLS0KICAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC90aW1lci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3RpbWVyLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3RpbWVyLmMKKy0tLSBhL2tlcm5lbC90aW1lci5jCisrKysgYi9rZXJuZWwvdGltZXIuYwogQEAgLTc4LDcgKzc4LDkgQEAgc3RydWN0IHR2ZWNfcm9vdCB7CiAgc3RydWN0IHR2ZWNfYmFzZSB7CiAgCXNwaW5sb2NrX3QgbG9jazsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvdGltZXJzLXByZXBhcmUtZm9yLWZ1bGwtcHJlZW1wdGlvbi5wYXRjaCBiL3BhdGNoZXMvdGltZXJzLXByZXBhcmUtZm9yLWZ1bGwtcHJlZW1wdGlvbi5wYXRjaAppbmRleCAyNzlkMTM1Li5mMjRkNzllIDEwMDY0NAotLS0gYS9wYXRjaGVzL3RpbWVycy1wcmVwYXJlLWZvci1mdWxsLXByZWVtcHRpb24ucGF0Y2gKKysrIGIvcGF0Y2hlcy90aW1lcnMtcHJlcGFyZS1mb3ItZnVsbC1wcmVlbXB0aW9uLnBhdGNoCkBAIC0xNCwxMCArMTQsOCBAQAogIGtlcm5lbC90aW1lci5jICAgICAgICB8ICAgMzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiAgMiBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvdGltZXIuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvdGltZXIuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3RpbWVyLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvdGltZXIuaAorKysrIGIvaW5jbHVkZS9saW51eC90aW1lci5oCiBAQCAtMjQxLDcgKzI0MSw3IEBAIGV4dGVybiB2b2lkIGFkZF90aW1lcihzdHJ1Y3QgdGltZXJfbGlzdAogIAogIGV4dGVybiBpbnQgdHJ5X3RvX2RlbF90aW1lcl9zeW5jKHN0cnVjdCB0aW1lcl9saXN0ICp0aW1lcik7CkBAIC0yNywxMCArMjUsOCBAQAogICAgZXh0ZXJuIGludCBkZWxfdGltZXJfc3luYyhzdHJ1Y3QgdGltZXJfbGlzdCAqdGltZXIpOwogICNlbHNlCiAgIyBkZWZpbmUgZGVsX3RpbWVyX3N5bmModCkJCWRlbF90aW1lcih0KQotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvdGltZXIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC90aW1lci5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC90aW1lci5jCistLS0gYS9rZXJuZWwvdGltZXIuYworKysrIGIva2VybmVsL3RpbWVyLmMKIEBAIC03OCw2ICs3OCw3IEBAIHN0cnVjdCB0dmVjX3Jvb3QgewogIHN0cnVjdCB0dmVjX2Jhc2UgewogIAlzcGlubG9ja190IGxvY2s7CmRpZmYgLS1naXQgYS9wYXRjaGVzL3RyYWNpbmctYWNjb3VudC1mb3ItcHJlZW1wdC1vZmYtaW4tcHJlZW1wdF9zY2hlZHVsZS5wYXRjaCBiL3BhdGNoZXMvdHJhY2luZy1hY2NvdW50LWZvci1wcmVlbXB0LW9mZi1pbi1wcmVlbXB0X3NjaGVkdWxlLnBhdGNoCmluZGV4IDc5MThiOGIuLjU0ODgzOTYgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvdHJhY2luZy1hY2NvdW50LWZvci1wcmVlbXB0LW9mZi1pbi1wcmVlbXB0X3NjaGVkdWxlLnBhdGNoCisrKyBiL3BhdGNoZXMvdHJhY2luZy1hY2NvdW50LWZvci1wcmVlbXB0LW9mZi1pbi1wcmVlbXB0X3NjaGVkdWxlLnBhdGNoCkBAIC0yNSwxMSArMjUsOSBAQAogIGtlcm5lbC9zY2hlZC9jb3JlLmMgfCAgICA5ICsrKysrKysrKwogIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3NjaGVkL2NvcmUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvc2NoZWQvY29yZS5jCi1AQCAtMzA5Myw3ICszMDkzLDE2IEBAIGFzbWxpbmthZ2Ugdm9pZCBfX3NjaGVkIG5vdHJhY2UgcHJlZW1wdF8KKy0tLSBhL2tlcm5lbC9zY2hlZC9jb3JlLmMKKysrKyBiL2tlcm5lbC9zY2hlZC9jb3JlLmMKK0BAIC0zMTA1LDcgKzMxMDUsMTYgQEAgYXNtbGlua2FnZSB2b2lkIF9fc2NoZWQgbm90cmFjZSBwcmVlbXB0XwogIAogIAlkbyB7CiAgCQlhZGRfcHJlZW1wdF9jb3VudF9ub3RyYWNlKFBSRUVNUFRfQUNUSVZFKTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvdHJlZXJjdS11c2Utc2ltcGxlLXdhaXRxdWV1ZS5wYXRjaCBiL3BhdGNoZXMvdHJlZXJjdS11c2Utc2ltcGxlLXdhaXRxdWV1ZS5wYXRjaAppbmRleCBiZTA2MTlkLi42OGExZWY3IDEwMDY0NAotLS0gYS9wYXRjaGVzL3RyZWVyY3UtdXNlLXNpbXBsZS13YWl0cXVldWUucGF0Y2gKKysrIGIvcGF0Y2hlcy90cmVlcmN1LXVzZS1zaW1wbGUtd2FpdHF1ZXVlLnBhdGNoCkBAIC05LDEwICs5LDggQEAKICBrZXJuZWwvcmN1dHJlZS5oIHwgICAgMiArLQogIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9yY3V0cmVlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvcmN1dHJlZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9yY3V0cmVlLmMKKy0tLSBhL2tlcm5lbC9yY3V0cmVlLmMKKysrKyBiL2tlcm5lbC9yY3V0cmVlLmMKIEBAIC0xNTcyLDcgKzE1NzIsNyBAQCBzdGF0aWMgaW50IF9fbm9yZXR1cm4gcmN1X2dwX2t0aHJlYWQodm9pCiAgCiAgCQkvKiBIYW5kbGUgZ3JhY2UtcGVyaW9kIHN0YXJ0LiAqLwpAQCAtNjgsMTAgKzY2LDggQEAKICAJaW5pdF9pcnFfd29yaygmcnNwLT53YWtldXBfd29yaywgcnNwX3dha2V1cCk7CiAgCXJucCA9IHJzcC0+bGV2ZWxbcmN1X251bV9sdmxzIC0gMV07CiAgCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShpKSB7Ci1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9yY3V0cmVlLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvcmN1dHJlZS5oCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9yY3V0cmVlLmgKKy0tLSBhL2tlcm5lbC9yY3V0cmVlLmgKKysrKyBiL2tlcm5lbC9yY3V0cmVlLmgKIEBAIC0zODgsNyArMzg4LDcgQEAgc3RydWN0IHJjdV9zdGF0ZSB7CiAgCXVuc2lnbmVkIGxvbmcgZ3BudW07CQkJLyogQ3VycmVudCBncCBudW1iZXIuICovCiAgCXVuc2lnbmVkIGxvbmcgY29tcGxldGVkOwkJLyogIyBvZiBsYXN0IGNvbXBsZXRlZCBncC4gKi8KZGlmZiAtLWdpdCBhL3BhdGNoZXMvdXBzdHJlYW0tbmV0LXJ0LXJlbW92ZS1wcmVlbXB0aW9uLWRpc2FibGluZy1pbi1uZXRpZl9yeC5wYXRjaCBiL3BhdGNoZXMvdXBzdHJlYW0tbmV0LXJ0LXJlbW92ZS1wcmVlbXB0aW9uLWRpc2FibGluZy1pbi1uZXRpZl9yeC5wYXRjaAppbmRleCAxMDhmNWQyLi45NTU1NzI0IDEwMDY0NAotLS0gYS9wYXRjaGVzL3Vwc3RyZWFtLW5ldC1ydC1yZW1vdmUtcHJlZW1wdGlvbi1kaXNhYmxpbmctaW4tbmV0aWZfcngucGF0Y2gKKysrIGIvcGF0Y2hlcy91cHN0cmVhbS1uZXQtcnQtcmVtb3ZlLXByZWVtcHRpb24tZGlzYWJsaW5nLWluLW5ldGlmX3J4LnBhdGNoCkBAIC0zNSwxMSArMzUsOSBAQAogIG5ldC9jb3JlL2Rldi5jIHwgICAgOCArKysrLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvbmV0L2NvcmUvZGV2LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9uZXQvY29yZS9kZXYuYwotKysrIGxpbnV4LXN0YWJsZS9uZXQvY29yZS9kZXYuYwotQEAgLTMxNzgsNyArMzE3OCw3IEBAIGludCBuZXRpZl9yeChzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQorLS0tIGEvbmV0L2NvcmUvZGV2LmMKKysrKyBiL25ldC9jb3JlL2Rldi5jCitAQCAtMzE3NSw3ICszMTc1LDcgQEAgaW50IG5ldGlmX3J4KHN0cnVjdCBza19idWZmICpza2IpCiAgCQlzdHJ1Y3QgcnBzX2Rldl9mbG93IHZvaWRmbG93LCAqcmZsb3cgPSAmdm9pZGZsb3c7CiAgCQlpbnQgY3B1OwogIApAQCAtNDgsNyArNDYsNyBAQAogIAkJcmN1X3JlYWRfbG9jaygpOwogIAogIAkJY3B1ID0gZ2V0X3Jwc19jcHUoc2tiLT5kZXYsIHNrYiwgJnJmbG93KTsKLUBAIC0zMTg4LDEzICszMTg4LDEzIEBAIGludCBuZXRpZl9yeChzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQorQEAgLTMxODUsMTMgKzMxODUsMTMgQEAgaW50IG5ldGlmX3J4KHN0cnVjdCBza19idWZmICpza2IpCiAgCQlyZXQgPSBlbnF1ZXVlX3RvX2JhY2tsb2coc2tiLCBjcHUsICZyZmxvdy0+bGFzdF9xdGFpbCk7CiAgCiAgCQlyY3VfcmVhZF91bmxvY2soKTsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvdXNiLWZpeC1tb3VzZS1wcm9ibGVtLWNvcHlpbmctbGFyZ2UtZGF0YS5wYXRjaCBiL3BhdGNoZXMvdXNiLWZpeC1tb3VzZS1wcm9ibGVtLWNvcHlpbmctbGFyZ2UtZGF0YS5wYXRjaAppbmRleCAyMGIxMzM5Li44Y2Y2YjdjIDEwMDY0NAotLS0gYS9wYXRjaGVzL3VzYi1maXgtbW91c2UtcHJvYmxlbS1jb3B5aW5nLWxhcmdlLWRhdGEucGF0Y2gKKysrIGIvcGF0Y2hlcy91c2ItZml4LW1vdXNlLXByb2JsZW0tY29weWluZy1sYXJnZS1kYXRhLnBhdGNoCkBAIC0xNSwxMCArMTUsOCBAQAogIGRyaXZlcnMvdXNiL2hvc3Qvb2hjaS1oY2QuYyB8ICAgMTAgKysrKysrKy0tLQogIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvZHJpdmVycy91c2IvaG9zdC9vaGNpLWhjZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvZHJpdmVycy91c2IvaG9zdC9vaGNpLWhjZC5jCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1oY2QuYworLS0tIGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLWhjZC5jCisrKysgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktaGNkLmMKIEBAIC04NjEsOSArODYxLDEzIEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBvaGNpX2lycSAoc3RydWN0IHVzYl8KICAJfQogIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy91c2ItaGNkLXVzZS1sb2NhbC1pcnEtbm9ydC5wYXRjaCBiL3BhdGNoZXMvdXNiLWhjZC11c2UtbG9jYWwtaXJxLW5vcnQucGF0Y2gKaW5kZXggNzQwY2ExYS4uN2YwZWY2NSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy91c2ItaGNkLXVzZS1sb2NhbC1pcnEtbm9ydC5wYXRjaAorKysgYi9wYXRjaGVzL3VzYi1oY2QtdXNlLWxvY2FsLWlycS1ub3J0LnBhdGNoCkBAIC0xMiwxMCArMTIsOCBAQAogIGRyaXZlcnMvdXNiL2NvcmUvaGNkLmMgfCAgICA0ICsrLS0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2RyaXZlcnMvdXNiL2NvcmUvaGNkLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9kcml2ZXJzL3VzYi9jb3JlL2hjZC5jCi0rKysgbGludXgtc3RhYmxlL2RyaXZlcnMvdXNiL2NvcmUvaGNkLmMKKy0tLSBhL2RyaXZlcnMvdXNiL2NvcmUvaGNkLmMKKysrKyBiL2RyaXZlcnMvdXNiL2NvcmUvaGNkLmMKIEBAIC0yMjIxLDcgKzIyMjEsNyBAQCBpcnFyZXR1cm5fdCB1c2JfaGNkX2lycSAoaW50IGlycSwgdm9pZCAqCiAgCSAqIHdoZW4gdGhlIGZpcnN0IGhhbmRsZXIgZG9lc24ndCB1c2UgaXQuICBTbyBsZXQncyBqdXN0CiAgCSAqIGFzc3VtZSBpdCdzIG5ldmVyIHVzZWQuCmRpZmYgLS1naXQgYS9wYXRjaGVzL3VzZXItdXNlLWxvY2FsLWlycS1ub3J0LnBhdGNoIGIvcGF0Y2hlcy91c2VyLXVzZS1sb2NhbC1pcnEtbm9ydC5wYXRjaAppbmRleCBhNGZiNDVkLi4wNjU3ZDZmIDEwMDY0NAotLS0gYS9wYXRjaGVzL3VzZXItdXNlLWxvY2FsLWlycS1ub3J0LnBhdGNoCisrKyBiL3BhdGNoZXMvdXNlci11c2UtbG9jYWwtaXJxLW5vcnQucGF0Y2gKQEAgLTExLDEwICsxMSw4IEBACiAga2VybmVsL3VzZXIuYyB8ICAgIDQgKystLQogIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3VzZXIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC91c2VyLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3VzZXIuYworLS0tIGEva2VybmVsL3VzZXIuYworKysrIGIva2VybmVsL3VzZXIuYwogQEAgLTE1NiwxMSArMTU2LDExIEBAIHZvaWQgZnJlZV91aWQoc3RydWN0IHVzZXJfc3RydWN0ICp1cCkKICAJaWYgKCF1cCkKICAJCXJldHVybjsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvdnRpbWUtc3BsaXQtbG9jay1hbmQtc2VxY291bnQucGF0Y2ggYi9wYXRjaGVzL3Z0aW1lLXNwbGl0LWxvY2stYW5kLXNlcWNvdW50LnBhdGNoCmluZGV4IDQ4YzBkYzYuLjM5MzI3NjAgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvdnRpbWUtc3BsaXQtbG9jay1hbmQtc2VxY291bnQucGF0Y2gKKysrIGIvcGF0Y2hlcy92dGltZS1zcGxpdC1sb2NrLWFuZC1zZXFjb3VudC5wYXRjaApAQCAtMTAsMTAgKzEwLDggQEAKICBrZXJuZWwvc2NoZWQvY3B1dGltZS5jICAgIHwgICA2MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCiAgNCBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2luaXRfdGFzay5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC9pbml0X3Rhc2suaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L2luaXRfdGFzay5oCistLS0gYS9pbmNsdWRlL2xpbnV4L2luaXRfdGFzay5oCisrKysgYi9pbmNsdWRlL2xpbnV4L2luaXRfdGFzay5oCiBAQCAtMTQ1LDcgKzE0NSw4IEBAIGV4dGVybiBzdHJ1Y3QgdGFza19ncm91cCByb290X3Rhc2tfZ3JvdXAKICAKICAjaWZkZWYgQ09ORklHX1ZJUlRfQ1BVX0FDQ09VTlRJTkdfR0VOCkBAIC0yNCwxMCArMjIsOCBAQAogIAkudnRpbWVfc25hcCA9IDAsCQkJCVwKICAJLnZ0aW1lX3NuYXBfd2hlbmNlID0gVlRJTUVfU1lTLAogICNlbHNlCi1JbmRleDogbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvc2NoZWQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2luY2x1ZGUvbGludXgvc2NoZWQuaAotKysrIGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKKy0tLSBhL2luY2x1ZGUvbGludXgvc2NoZWQuaAorKysrIGIvaW5jbHVkZS9saW51eC9zY2hlZC5oCiBAQCAtMTE2Nyw3ICsxMTY3LDggQEAgc3RydWN0IHRhc2tfc3RydWN0IHsKICAJc3RydWN0IGNwdXRpbWUgcHJldl9jcHV0aW1lOwogICNlbmRpZgpAQCAtMzgsMTAgKzM0LDggQEAKICAJdW5zaWduZWQgbG9uZyBsb25nIHZ0aW1lX3NuYXA7CiAgCWVudW0gewogIAkJVlRJTUVfU0xFRVBJTkcgPSAwLAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvZm9yay5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL2ZvcmsuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvZm9yay5jCistLS0gYS9rZXJuZWwvZm9yay5jCisrKysgYi9rZXJuZWwvZm9yay5jCiBAQCAtMTIzOCw3ICsxMjM4LDggQEAgc3RhdGljIHN0cnVjdCB0YXNrX3N0cnVjdCAqY29weV9wcm9jZXNzKAogIAlwLT5wcmV2X2NwdXRpbWUudXRpbWUgPSBwLT5wcmV2X2NwdXRpbWUuc3RpbWUgPSAwOwogICNlbmRpZgpAQCAtNTIsMTAgKzQ2LDggQEAKICAJcC0+dnRpbWVfc25hcCA9IDA7CiAgCXAtPnZ0aW1lX3NuYXBfd2hlbmNlID0gVlRJTUVfU0xFRVBJTkc7CiAgI2VuZGlmCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jcHV0aW1lLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvc2NoZWQvY3B1dGltZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC9zY2hlZC9jcHV0aW1lLmMKKy0tLSBhL2tlcm5lbC9zY2hlZC9jcHV0aW1lLmMKKysrKyBiL2tlcm5lbC9zY2hlZC9jcHV0aW1lLmMKIEBAIC02NjgsOSArNjY4LDExIEBAIHZvaWQgdnRpbWVfYWNjb3VudF9zeXN0ZW0oc3RydWN0IHRhc2tfc3QKICAJaWYgKCF2dGltZV9hY2NvdW50aW5nX2VuYWJsZWQoKSkKICAJCXJldHVybjsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvd2FpdC1zaW1wbGUtaW1wbGVtZW50YXRpb24ucGF0Y2ggYi9wYXRjaGVzL3dhaXQtc2ltcGxlLWltcGxlbWVudGF0aW9uLnBhdGNoCmluZGV4IGIwYzJiYmIuLjVlNTAwZDYgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvd2FpdC1zaW1wbGUtaW1wbGVtZW50YXRpb24ucGF0Y2gKKysrIGIvcGF0Y2hlcy93YWl0LXNpbXBsZS1pbXBsZW1lbnRhdGlvbi5wYXRjaApAQCAtMTksMTAgKzE5LDggQEAKICBrZXJuZWwvd2FpdC1zaW1wbGUuYyAgICAgICAgfCAgIDY4ICsrKysrKysrKysrKwogIDMgZmlsZXMgY2hhbmdlZCwgMzAwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9pbmNsdWRlL2xpbnV4L3dhaXQtc2ltcGxlLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwKLSsrKyBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC93YWl0LXNpbXBsZS5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3dhaXQtc2ltcGxlLmgKIEBAIC0wLDAgKzEsMjMxIEBACiArI2lmbmRlZiBfTElOVVhfV0FJVF9TSU1QTEVfSAogKyNkZWZpbmUgX0xJTlVYX1dBSVRfU0lNUExFX0gKQEAgLTI1NSwxMCArMjUzLDggQEAKICt9KQogKwogKyNlbmRpZgotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvTWFrZWZpbGUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvTWFrZWZpbGUKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL01ha2VmaWxlCistLS0gYS9rZXJuZWwvTWFrZWZpbGUKKysrKyBiL2tlcm5lbC9NYWtlZmlsZQogQEAgLTEwLDcgKzEwLDcgQEAgb2JqLXkgICAgID0gZm9yay5vIGV4ZWNfZG9tYWluLm8gcGFuaWMubwogIAkgICAga3RocmVhZC5vIHdhaXQubyBzeXNfbmkubyBwb3NpeC1jcHUtdGltZXJzLm8gXAogIAkgICAgaHJ0aW1lci5vIG5zcHJveHkubyBzcmN1Lm8gc2VtYXBob3JlLm8gXApAQCAtMjY4LDEwICsyNjQsOCBAQAogIAogIGlmZGVmIENPTkZJR19GVU5DVElPTl9UUkFDRVIKICAjIERvIG5vdCB0cmFjZSBkZWJ1ZyBmaWxlcyBhbmQgaW50ZXJuYWwgZnRyYWNlIGZpbGVzCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC93YWl0LXNpbXBsZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC93YWl0LXNpbXBsZS5jCisrKysgYi9rZXJuZWwvd2FpdC1zaW1wbGUuYwogQEAgLTAsMCArMSw2OCBAQAogKy8qCiArICogU2ltcGxlIHdhaXRxdWV1ZXMgd2l0aG91dCBmYW5jeSBmbGFncyBhbmQgY2FsbGJhY2tzCmRpZmYgLS1naXQgYS9wYXRjaGVzL3dhaXQtc2ltcGxlLXJld29yay1mb3ItY29tcGxldGlvbnMucGF0Y2ggYi9wYXRjaGVzL3dhaXQtc2ltcGxlLXJld29yay1mb3ItY29tcGxldGlvbnMucGF0Y2gKaW5kZXggYjg2MDBjYi4uZWNmOGFkYiAxMDA2NDQKLS0tIGEvcGF0Y2hlcy93YWl0LXNpbXBsZS1yZXdvcmstZm9yLWNvbXBsZXRpb25zLnBhdGNoCisrKyBiL3BhdGNoZXMvd2FpdC1zaW1wbGUtcmV3b3JrLWZvci1jb21wbGV0aW9ucy5wYXRjaApAQCAtOCwxMCArOCw4IEBACiAga2VybmVsL3dhaXQtc2ltcGxlLmMgICAgICAgIHwgICA2OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogIDIgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgNTMgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvaW5jbHVkZS9saW51eC93YWl0LXNpbXBsZS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvaW5jbHVkZS9saW51eC93YWl0LXNpbXBsZS5oCi0rKysgbGludXgtc3RhYmxlL2luY2x1ZGUvbGludXgvd2FpdC1zaW1wbGUuaAorLS0tIGEvaW5jbHVkZS9saW51eC93YWl0LXNpbXBsZS5oCisrKysgYi9pbmNsdWRlL2xpbnV4L3dhaXQtc2ltcGxlLmgKIEBAIC0yMiwxMiArMjIsMTQgQEAgc3RydWN0IHN3YWl0X2hlYWQgewogIAlzdHJ1Y3QgbGlzdF9oZWFkCWxpc3Q7CiAgfTsKQEAgLTk3LDEwICs5NSw4IEBACiAgI2RlZmluZSBfX3N3YWl0X2V2ZW50KHdxLCBjb25kaXRpb24pCQkJCQlcCiAgZG8gewkJCQkJCQkJCVwKICAJREVGSU5FX1NXQUlURVIoX193YWl0KTsJCQkJCQlcCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC93YWl0LXNpbXBsZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3dhaXQtc2ltcGxlLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3dhaXQtc2ltcGxlLmMKKy0tLSBhL2tlcm5lbC93YWl0LXNpbXBsZS5jCisrKysgYi9rZXJuZWwvd2FpdC1zaW1wbGUuYwogQEAgLTEyLDYgKzEyLDI0IEBACiAgI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAgI2luY2x1ZGUgPGxpbnV4L3dhaXQtc2ltcGxlLmg+CmRpZmYgLS1naXQgYS9wYXRjaGVzL3dvcmstcXVldWUtd29yay1hcm91bmQtaXJxc2FmZS10aW1lci1vcHRpbWl6YXRpb24ucGF0Y2ggYi9wYXRjaGVzL3dvcmstcXVldWUtd29yay1hcm91bmQtaXJxc2FmZS10aW1lci1vcHRpbWl6YXRpb24ucGF0Y2gKaW5kZXggZDg1ZGQxZS4uZWM1MzJmZSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy93b3JrLXF1ZXVlLXdvcmstYXJvdW5kLWlycXNhZmUtdGltZXItb3B0aW1pemF0aW9uLnBhdGNoCisrKyBiL3BhdGNoZXMvd29yay1xdWV1ZS13b3JrLWFyb3VuZC1pcnFzYWZlLXRpbWVyLW9wdGltaXphdGlvbi5wYXRjaApAQCAtMSwxNiArMSwxMTggQEAKLVN1YmplY3Q6IGhhY2sucGF0Y2gKIEZyb206IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPgogRGF0ZTogTW9uLCAwMSBKdWwgMjAxMyAxMTowMjo0MiArMDIwMAorU3ViamVjdDogW1BBVENIXSB3b3JrcXVldWUgdnMgYXRhLXBpaXggbGl2ZWxvY2sgZml4dXAKIAorQW4gSW50ZWwgaTcgc3lzdGVtIHJlZ3VsYXJseSBkZXRlY3RlZCByY3VfcHJlZW1wdCBzdGFsbHMgYWZ0ZXIgdGhlIGtlcm5lbAord2FzIHVwZ3JhZGVkIGZyb20gMy42LXJ0IHRvIDMuOC1ydC4gV2hlbiB0aGUgc3RhbGwgaGFwcGVuZWQsIGRpc2sgSS9PIHdhcyBubworbG9uZ2VyIHBvc3NpYmxlLCB1bmxlc3MgdGhlIHN5c3RlbSB3YXMgcmVzdGFydGVkLgorCitUaGUga2VybmVsIG1lc3NhZ2Ugd2FzOgorSU5GTzogcmN1X3ByZWVtcHQgc2VsZi1kZXRlY3RlZCBzdGFsbCBvbiBDUFUgeyA2fQorWy4uXQorTk1JIGJhY2t0cmFjZSBmb3IgY3B1IDYKK0NQVSA2CitQaWQ6IDExOSwgY29tbTogaXJxLzE5LWF0YV9waWl4IE5vdCB0YWludGVkIDMuOC4xMy1ydDEzICMxMSBTaHV0dGxlIEluYy4gU1g1OC9TWDU4CitSSVA6IDAwMTA6WzxmZmZmZmZmZjgxMjRjYTYwPl0gIFs8ZmZmZmZmZmY4MTI0Y2E2MD5dIGlwX2NvbXB1dGVfY3N1bSsweDMwLzB4MzAKK1JTUDogMDAxODpmZmZmODgwMzMzMzAzY2IwICBFRkxBR1M6IDAwMDAwMDAyCitSQVg6IDAwMDAwMDAwMDAwMDAwMDYgUkJYOiAwMDAwMDAwMDAwMDAwM2U5IFJDWDogMDAwMDAwMDAwMDAwMDAzNAorUkRYOiAwMDAwMDAwMDAwMDAwMDAwIFJTSTogZmZmZmZmZmY4MWFhMTZkMCBSREk6IDAwMDAwMDAwMDAwMDAwMDEKK1JCUDogZmZmZjg4MDMzMzMwM2NlOCBSMDg6IGZmZmZmZmZmODFhYTE2ZDAgUjA5OiBmZmZmZmZmZjgxYzFiOGNjCitSMTA6IDAwMDAwMDAwMDAwMDAwMDAgUjExOiAwMDAwMDAwMDAwMDAwMDAwIFIxMjogMDAwMDAwMDAwMDA1MTYxZgorUjEzOiAwMDAwMDAwMDAwMDAwMDA2IFIxNDogZmZmZmZmZmY4MWFhMTZkMCBSMTU6IDAwMDAwMDAwMDAwMDAwMDIKK0ZTOiAgMDAwMDAwMDAwMDAwMDAwMCgwMDAwKSBHUzpmZmZmODgwMzMzMzAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKK0NTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwM2IKK0NSMjogMDAwMDAwM2MxYjJiYjQyMCBDUjM6IDAwMDAwMDAwMDFhMGYwMDAgQ1I0OiAwMDAwMDAwMDAwMDAwN2UwCitEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMAorRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBmZmZmMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAKK1Byb2Nlc3MgaXJxLzE5LWF0YV9waWl4IChwaWQ6IDExOSwgdGhyZWFkaW5mbyBmZmZmODgwMzJkODhhMDAwLCB0YXNrIGZmZmY4ODAzMmRmODAwMDApCitTdGFjazoKK2ZmZmZmZmZmODEyNGNiMzIgMDAwMDAwMDAwMDA1MTYxZSAwMDAwMDAwMDAwMDAwM2U5IDAwMDAwMDAwMDAwMDEwMDAKKzAwMDAwMDAwMDAwMDkwMjIgZmZmZmZmZmY4MWFhMTZkMCAwMDAwMDAwMDAwMDAwMDAyIGZmZmY4ODAzMzMzMDNjZjgKK2ZmZmZmZmZmODEyNGNhYTkgZmZmZjg4MDMzMzMwM2QwOCBmZmZmZmZmZjgxMjRjYWQyIGZmZmY4ODAzMzMzMDNkMjgKK0NhbGwgVHJhY2U6Cis8SVJRPgorWzxmZmZmZmZmZjgxMjRjYjMyPl0gPyBkZWxheV90c2MrMHgzMy8weGUzCitbPGZmZmZmZmZmODEyNGNhYTk+XSBfX2RlbGF5KzB4Zi8weDExCitbPGZmZmZmZmZmODEyNGNhZDI+XSBfX2NvbnN0X3VkZWxheSsweDI3LzB4MjkKK1s8ZmZmZmZmZmY4MTAyZDFmYT5dIG5hdGl2ZV9zYWZlX2FwaWNfd2FpdF9pY3JfaWRsZSsweDM5LzB4NDUKK1s8ZmZmZmZmZmY4MTAyZGM5Yj5dIF9fZGVmYXVsdF9zZW5kX0lQSV9kZXN0X2ZpZWxkLmNvbnN0cHJvcC4wKzB4MWUvMHg1OAorWzxmZmZmZmZmZjgxMDJkZDFlPl0gZGVmYXVsdF9zZW5kX0lQSV9tYXNrX3NlcXVlbmNlX3BoeXMrMHg0OS8weDdkCitbPGZmZmZmZmZmODEwMzAzMjY+XSBwaHlzZmxhdF9zZW5kX0lQSV9hbGwrMHgxNy8weDE5CitbPGZmZmZmZmZmODEwMmRlNTM+XSBhcmNoX3RyaWdnZXJfYWxsX2NwdV9iYWNrdHJhY2UrMHg1MC8weDc5CitbPGZmZmZmZmZmODEwYjIxZDA+XSByY3VfY2hlY2tfY2FsbGJhY2tzKzB4MWNiLzB4NTY4CitbPGZmZmZmZmZmODEwNDhjOWM+XSA/IHJhaXNlX3NvZnRpcnErMHgyZS8weDM1CitbPGZmZmZmZmZmODEwODZiZTA+XSA/IHRpY2tfc2NoZWRfZG9fdGltZXIrMHgzOC8weDM4CitbPGZmZmZmZmZmODEwNGY2NTM+XSB1cGRhdGVfcHJvY2Vzc190aW1lcysweDQ0LzB4NTUKK1s8ZmZmZmZmZmY4MTA4Njg2Nj5dIHRpY2tfc2NoZWRfaGFuZGxlKzB4NGEvMHg1OQorWzxmZmZmZmZmZjgxMDg2YzFjPl0gdGlja19zY2hlZF90aW1lcisweDNjLzB4NWIKK1s8ZmZmZmZmZmY4MTA2Mjg0NT5dIF9fcnVuX2hydGltZXIrMHg5Yi8weDE1OAorWzxmZmZmZmZmZjgxMDYzMWQ4Pl0gaHJ0aW1lcl9pbnRlcnJ1cHQrMHgxNzIvMHgyYWEKK1s8ZmZmZmZmZmY4MTAyZDQ5OD5dIHNtcF9hcGljX3RpbWVyX2ludGVycnVwdCsweDc2LzB4ODkKK1s8ZmZmZmZmZmY4MTRkODgxZD5dIGFwaWNfdGltZXJfaW50ZXJydXB0KzB4NmQvMHg4MAorPEVPST4KK1s8ZmZmZmZmZmY4MTA1N2NkMj5dID8gX19sb2NhbF9sb2NrX2lycXNhdmUrMHgxNy8weDRhCitbPGZmZmZmZmZmODEwNTkzMzY+XSB0cnlfdG9fZ3JhYl9wZW5kaW5nKzB4NDIvMHgxN2UKK1s8ZmZmZmZmZmY4MTA1YTY5OT5dIG1vZF9kZWxheWVkX3dvcmtfb24rMHgzMi8weDg4CitbPGZmZmZmZmZmODEwNWE3MGI+XSBtb2RfZGVsYXllZF93b3JrKzB4MWMvMHgxZQorWzxmZmZmZmZmZjgxMjJhZTg0Pl0gYmxrX3J1bl9xdWV1ZV9hc3luYysweDM3LzB4MzkKK1s8ZmZmZmZmZmY4MTIzMDk4NT5dIGZsdXNoX2VuZF9pbysweGYxLzB4MTA3CitbPGZmZmZmZmZmODEyMmUwZGE+XSBibGtfZmluaXNoX3JlcXVlc3QrMHgyMWUvMHgyNjQKK1s8ZmZmZmZmZmY4MTIyZTE2Mj5dIGJsa19lbmRfYmlkaV9yZXF1ZXN0KzB4NDIvMHg2MAorWzxmZmZmZmZmZjgxMjJlMWJhPl0gYmxrX2VuZF9yZXF1ZXN0KzB4MTAvMHgxMgorWzxmZmZmZmZmZjgxMzJkZTQ2Pl0gc2NzaV9pb19jb21wbGV0aW9uKzB4MWJmLzB4NDkyCitbPGZmZmZmZmZmODEzMzVjZWM+XSA/IHNkX2RvbmUrMHgyOTgvMHgyZWYKK1s8ZmZmZmZmZmY4MTMyNWEwMj5dIHNjc2lfZmluaXNoX2NvbW1hbmQrMHhlOS8weGYyCitbPGZmZmZmZmZmODEzMmRiY2I+XSBzY3NpX3NvZnRpcnFfZG9uZSsweDEwNi8weDEwZgorWzxmZmZmZmZmZjgxMjMzM2QzPl0gYmxrX2RvbmVfc29mdGlycSsweDc3LzB4ODcKK1s8ZmZmZmZmZmY4MTA0ODI2Zj5dIGRvX2N1cnJlbnRfc29mdGlycXMrMHgxNzIvMHgyZTEKK1s8ZmZmZmZmZmY4MTBhYTgyMD5dID8gaXJxX3RocmVhZF9mbisweDNhLzB4M2EKK1s8ZmZmZmZmZmY4MTA0ODQ2Nj5dIGxvY2FsX2JoX2VuYWJsZSsweDQzLzB4NzIKK1s8ZmZmZmZmZmY4MTBhYTg2Nj5dIGlycV9mb3JjZWRfdGhyZWFkX2ZuKzB4NDYvMHg1MgorWzxmZmZmZmZmZjgxMGFiMDg5Pl0gaXJxX3RocmVhZCsweDhjLzB4MTdjCitbPGZmZmZmZmZmODEwYWIxNzk+XSA/IGlycV90aHJlYWQrMHgxN2MvMHgxN2MKK1s8ZmZmZmZmZmY4MTBhYWZmZD5dID8gd2FrZV90aHJlYWRzX3dhaXRxKzB4NDQvMHg0NAorWzxmZmZmZmZmZjgxMDVlYjE4Pl0ga3RocmVhZCsweDhkLzB4OTUKK1s8ZmZmZmZmZmY4MTA1ZWE4Yj5dID8gX19rdGhyZWFkX3BhcmttZSsweDY1LzB4NjUKK1s8ZmZmZmZmZmY4MTRkN2I3Yz5dIHJldF9mcm9tX2ZvcmsrMHg3Yy8weGIwCitbPGZmZmZmZmZmODEwNWVhOGI+XSA/IF9fa3RocmVhZF9wYXJrbWUrMHg2NS8weDY1CisKK1RoZSBzdGF0ZSBvZiBzb2Z0aXJxZCBvZiB0aGlzIENQVSBhdCB0aGUgdGltZSBvZiB0aGUgY3Jhc2ggd2FzOgora3NvZnRpcnFkLzYgICAgIFIgIHJ1bm5pbmcgdGFzayAgICAgICAgMCAgICA1MyAgICAgIDIgMHgwMDAwMDAwMAorZmZmZjg4MDMyZmMzOWQxOCAwMDAwMDAwMDAwMDAwMDQ2IGZmZmY4ODAzMzMzMGM0YzAgZmZmZjg4MDMzMDNmNDcxMAorZmZmZjg4MDMyZmMzOWZkOCBmZmZmODgwMzJmYzM5ZmQ4IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDA2MjUwMAorZmZmZjg4MDMyZGY4ODAwMCBmZmZmODgwMzMwM2Y0NzEwIDAwMDAwMDAwMDAwMDAwMDAgZmZmZjg4MDMyZmMzODAwMAorQ2FsbCBUcmFjZToKK1s8ZmZmZmZmZmY4MTA1YTNhZT5dID8gX19xdWV1ZV93b3JrKzB4MjdjLzB4MjdjCitbPGZmZmZmZmZmODE0ZDE3OGM+XSBwcmVlbXB0X3NjaGVkdWxlKzB4NjEvMHg3NgorWzxmZmZmZmZmZjgxMDZjY2NmPl0gbWlncmF0ZV9lbmFibGUrMHhlNS8weDFkZgorWzxmZmZmZmZmZjgxMDVhM2FlPl0gPyBfX3F1ZXVlX3dvcmsrMHgyN2MvMHgyN2MKK1s8ZmZmZmZmZmY4MTA0ZWY1Mj5dIHJ1bl90aW1lcl9zb2Z0aXJxKzB4MTYxLzB4MWQ2CitbPGZmZmZmZmZmODEwNDgyNmY+XSBkb19jdXJyZW50X3NvZnRpcnFzKzB4MTcyLzB4MmUxCitbPGZmZmZmZmZmODEwNDg0MGI+XSBydW5fa3NvZnRpcnFkKzB4MmQvMHg0NQorWzxmZmZmZmZmZjgxMDY2NThhPl0gc21wYm9vdF90aHJlYWRfZm4rMHgyZWEvMHgzMDgKK1s8ZmZmZmZmZmY4MTA2NjJhMD5dID8gdGVzdF90aV90aHJlYWRfZmxhZysweGMvMHhjCitbPGZmZmZmZmZmODEwNjYyYTA+XSA/IHRlc3RfdGlfdGhyZWFkX2ZsYWcrMHhjLzB4YworWzxmZmZmZmZmZjgxMDVlYjE4Pl0ga3RocmVhZCsweDhkLzB4OTUKK1s8ZmZmZmZmZmY4MTA1ZWE4Yj5dID8gX19rdGhyZWFkX3BhcmttZSsweDY1LzB4NjUKK1s8ZmZmZmZmZmY4MTRkN2FmYz5dIHJldF9mcm9tX2ZvcmsrMHg3Yy8weGIwCitbPGZmZmZmZmZmODEwNWVhOGI+XSA/IF9fa3RocmVhZF9wYXJrbWUrMHg2NS8weDY1CisKK0FwcGFyZW50bHksIHRoZSBzb2Z0aXJxIGRlbW9uIGFuZCB0aGUgYXRhX3BpaXggSVJRIGhhbmRsZXIgd2VyZSB3YWl0aW5nCitmb3IgZWFjaCBvdGhlciB0byBmaW5pc2ggZW5kaW5nIHVwIGluIGEgbGl2ZWxvY2suIEFmdGVyIHRoZSBiZWxvdyBwYXRjaAord2FzIGFwcGxpZWQsIHRoZSBzeXN0ZW0gbm8gbG9uZ2VyIGNyYXNoZXMuCisKK1JlcG9ydGVkLWJ5OiBDYXJzdGVuIEVtZGUgPEMuRW1kZUBvc2FkbC5vcmc+CitQcm9wb3NlZC1ieTogVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+CitUZXN0ZWQgYnk6IENhcnN0ZW4gRW1kZSA8Qy5FbWRlQG9zYWRsLm9yZz4KK1NpZ25lZC1vZmYtYnk6IENhcnN0ZW4gRW1kZSA8Qy5FbWRlQG9zYWRsLm9yZz4KIFNpZ25lZC1vZmYtYnk6IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPgorU2lnbmVkLW9mZi1ieTogU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8YmlnZWFzeUBsaW51dHJvbml4LmRlPgogLS0tCiAga2VybmVsL3dvcmtxdWV1ZS5jIHwgICAgMyArKy0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3dvcmtxdWV1ZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcva2VybmVsL3dvcmtxdWV1ZS5jCi0rKysgbGludXgtc3RhYmxlL2tlcm5lbC93b3JrcXVldWUuYworLS0tIGEva2VybmVsL3dvcmtxdWV1ZS5jCisrKysgYi9rZXJuZWwvd29ya3F1ZXVlLmMKIEBAIC00OCw2ICs0OCw3IEBACiAgI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAgI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KZGlmZiAtLWdpdCBhL3BhdGNoZXMvd29ya3F1ZXVlLWRpc3RhbmdsZS1mcm9tLXJxLWxvY2sucGF0Y2ggYi9wYXRjaGVzL3dvcmtxdWV1ZS1kaXN0YW5nbGUtZnJvbS1ycS1sb2NrLnBhdGNoCmluZGV4IDQ4ZDFhMjUuLjRjNTJiZGQgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvd29ya3F1ZXVlLWRpc3RhbmdsZS1mcm9tLXJxLWxvY2sucGF0Y2gKKysrIGIvcGF0Y2hlcy93b3JrcXVldWUtZGlzdGFuZ2xlLWZyb20tcnEtbG9jay5wYXRjaApAQCAtMjksMTAgKzI5LDggQEAKICBrZXJuZWwvd29ya3F1ZXVlX2ludGVybmFsLmggfCAgICA1ICstLQogIDMgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgODkgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC9zY2hlZC9jb3JlLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3NjaGVkL2NvcmUuYworLS0tIGEva2VybmVsL3NjaGVkL2NvcmUuYworKysrIGIva2VybmVsL3NjaGVkL2NvcmUuYwogQEAgLTEzMzAsMTAgKzEzMzAsNiBAQCBzdGF0aWMgdm9pZCB0dHd1X2FjdGl2YXRlKHN0cnVjdCBycSAqcnEsCiAgewogIAlhY3RpdmF0ZV90YXNrKHJxLCBwLCBlbl9mbGFncyk7CkBAIC0xNDQsMTAgKzE0Miw4IEBACiAgfQogIEVYUE9SVF9TWU1CT0woc2NoZWR1bGUpOwogIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvd29ya3F1ZXVlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvd29ya3F1ZXVlLmMKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3dvcmtxdWV1ZS5jCistLS0gYS9rZXJuZWwvd29ya3F1ZXVlLmMKKysrKyBiL2tlcm5lbC93b3JrcXVldWUuYwogQEAgLTc4OSw0NCArNzg5LDMxIEBAIHN0YXRpYyB2b2lkIHdha2VfdXBfd29ya2VyKHN0cnVjdCB3b3JrZXIKICB9CiAgCkBAIC0yNDEsMTAgKzIzNyw4IEBACiAgfQogIAogIC8qKgotSW5kZXg6IGxpbnV4LXN0YWJsZS9rZXJuZWwvd29ya3F1ZXVlX2ludGVybmFsLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9rZXJuZWwvd29ya3F1ZXVlX2ludGVybmFsLmgKLSsrKyBsaW51eC1zdGFibGUva2VybmVsL3dvcmtxdWV1ZV9pbnRlcm5hbC5oCistLS0gYS9rZXJuZWwvd29ya3F1ZXVlX2ludGVybmFsLmgKKysrKyBiL2tlcm5lbC93b3JrcXVldWVfaW50ZXJuYWwuaAogQEAgLTQxLDYgKzQxLDcgQEAgc3RydWN0IHdvcmtlciB7CiAgCXVuc2lnbmVkIGxvbmcJCWxhc3RfYWN0aXZlOwkvKiBMOiBsYXN0IGFjdGl2ZSB0aW1lc3RhbXAgKi8KICAJdW5zaWduZWQgaW50CQlmbGFnczsJCS8qIFg6IGZsYWdzICovCmRpZmYgLS1naXQgYS9wYXRjaGVzL3dvcmtxdWV1ZS11c2UtbG9jYWxsb2NrLnBhdGNoIGIvcGF0Y2hlcy93b3JrcXVldWUtdXNlLWxvY2FsbG9jay5wYXRjaAppbmRleCAyNjY3ZWJkLi42ZmVmOWU2IDEwMDY0NAotLS0gYS9wYXRjaGVzL3dvcmtxdWV1ZS11c2UtbG9jYWxsb2NrLnBhdGNoCisrKyBiL3BhdGNoZXMvd29ya3F1ZXVlLXVzZS1sb2NhbGxvY2sucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGtlcm5lbC93b3JrcXVldWUuYyB8ICAgMzMgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC93b3JrcXVldWUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC93b3JrcXVldWUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvd29ya3F1ZXVlLmMKKy0tLSBhL2tlcm5lbC93b3JrcXVldWUuYworKysrIGIva2VybmVsL3dvcmtxdWV1ZS5jCiBAQCAtNDcsNiArNDcsNyBAQAogICNpbmNsdWRlIDxsaW51eC9ub2RlbWFzay5oPgogICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgpAQCAtMTQxLDcgKzEzOSw3IEBACiAgCXJldHVybiByZXQ7CiAgfQogIEVYUE9SVF9TWU1CT0woY2FuY2VsX2RlbGF5ZWRfd29yayk7Ci1AQCAtNDM3Myw3ICs0Mzc2LDcgQEAgdW5zaWduZWQgaW50IHdvcmtfYnVzeShzdHJ1Y3Qgd29ya19zdHJ1YworQEAgLTQzODUsNyArNDM4OCw3IEBAIHVuc2lnbmVkIGludCB3b3JrX2J1c3koc3RydWN0IHdvcmtfc3RydWMKICAJaWYgKHdvcmtfcGVuZGluZyh3b3JrKSkKICAJCXJldCB8PSBXT1JLX0JVU1lfUEVORElORzsKICAKZGlmZiAtLWdpdCBhL3BhdGNoZXMvd29ya3F1ZXVlLXVzZS1yY3UucGF0Y2ggYi9wYXRjaGVzL3dvcmtxdWV1ZS11c2UtcmN1LnBhdGNoCmluZGV4IDYwMzlmYjAuLjIyZGZjYTYgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvd29ya3F1ZXVlLXVzZS1yY3UucGF0Y2gKKysrIGIvcGF0Y2hlcy93b3JrcXVldWUtdXNlLXJjdS5wYXRjaApAQCAtMTIsMTAgKzEyLDggQEAKICBrZXJuZWwvd29ya3F1ZXVlLmMgfCAgIDg1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDM4IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2tlcm5lbC93b3JrcXVldWUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2tlcm5lbC93b3JrcXVldWUuYwotKysrIGxpbnV4LXN0YWJsZS9rZXJuZWwvd29ya3F1ZXVlLmMKKy0tLSBhL2tlcm5lbC93b3JrcXVldWUuYworKysrIGIva2VybmVsL3dvcmtxdWV1ZS5jCiBAQCAtMTI4LDExICsxMjgsMTEgQEAgZW51bSB7CiAgICoKICAgKiBQTDogd3FfcG9vbF9tdXRleCBwcm90ZWN0ZWQuCkBAIC0yMTgsNyArMjE2LDcgQEAKICAKICAJcmV0dXJuIHdyaXR0ZW47CiAgfQotQEAgLTM0NzYsNyArMzQ4NCw3IEBAIHN0YXRpYyB2b2lkIHJjdV9mcmVlX3Bvb2woc3RydWN0IHJjdV9oZWEKK0BAIC0zNDgyLDcgKzM0OTAsNyBAQCBzdGF0aWMgdm9pZCByY3VfZnJlZV9wb29sKHN0cnVjdCByY3VfaGVhCiAgICogcHV0X3VuYm91bmRfcG9vbCAtIHB1dCBhIHdvcmtlcl9wb29sCiAgICogQHBvb2w6IHdvcmtlcl9wb29sIHRvIHB1dAogICAqCkBAIC0yMjcsNyArMjI1LDcgQEAKICAgKiBzYWZlIG1hbm5lci4gIGdldF91bmJvdW5kX3Bvb2woKSBjYWxscyB0aGlzIGZ1bmN0aW9uIG9uIGl0cyBmYWlsdXJlIHBhdGgKICAgKiBhbmQgdGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgYWJsZSB0byByZWxlYXNlIHBvb2xzIHdoaWNoIHdlbnQgdGhyb3VnaCwKICAgKiBzdWNjZXNzZnVsbHkgb3Igbm90LCBpbml0X3dvcmtlcl9wb29sKCkuCi1AQCAtMzUyMyw4ICszNTMxLDggQEAgc3RhdGljIHZvaWQgcHV0X3VuYm91bmRfcG9vbChzdHJ1Y3Qgd29yaworQEAgLTM1MjksOCArMzUzNyw4IEBAIHN0YXRpYyB2b2lkIHB1dF91bmJvdW5kX3Bvb2woc3RydWN0IHdvcmsKICAJZGVsX3RpbWVyX3N5bmMoJnBvb2wtPmlkbGVfdGltZXIpOwogIAlkZWxfdGltZXJfc3luYygmcG9vbC0+bWF5ZGF5X3RpbWVyKTsKICAKQEAgLTIzOCw3ICsyMzYsNyBAQAogIH0KICAKICAvKioKLUBAIC0zNjI4LDcgKzM2MzYsNyBAQCBzdGF0aWMgdm9pZCBwd3FfdW5ib3VuZF9yZWxlYXNlX3dvcmtmbihzCitAQCAtMzY0MCw3ICszNjQ4LDcgQEAgc3RhdGljIHZvaWQgcHdxX3VuYm91bmRfcmVsZWFzZV93b3JrZm4ocwogIAlwdXRfdW5ib3VuZF9wb29sKHBvb2wpOwogIAltdXRleF91bmxvY2soJndxX3Bvb2xfbXV0ZXgpOwogIApAQCAtMjQ3LDcgKzI0NSw3IEBACiAgCiAgCS8qCiAgCSAqIElmIHdlJ3JlIHRoZSBsYXN0IHB3cSBnb2luZyBhd2F5LCBAd3EgaXMgYWxyZWFkeSBkZWFkIGFuZCBubyBvbmUKLUBAIC00MzI2LDcgKzQzMzQsOCBAQCBib29sIHdvcmtxdWV1ZV9jb25nZXN0ZWQoaW50IGNwdSwgc3RydWN0CitAQCAtNDMzOCw3ICs0MzQ2LDggQEAgYm9vbCB3b3JrcXVldWVfY29uZ2VzdGVkKGludCBjcHUsIHN0cnVjdAogIAlzdHJ1Y3QgcG9vbF93b3JrcXVldWUgKnB3cTsKICAJYm9vbCByZXQ7CiAgCkBAIC0yNTcsNyArMjU1LDcgQEAKICAKICAJaWYgKGNwdSA9PSBXT1JLX0NQVV9VTkJPVU5EKQogIAkJY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotQEAgLTQzMzcsNyArNDM0Niw4IEBAIGJvb2wgd29ya3F1ZXVlX2Nvbmdlc3RlZChpbnQgY3B1LCBzdHJ1Y3QKK0BAIC00MzQ5LDcgKzQzNTgsOCBAQCBib29sIHdvcmtxdWV1ZV9jb25nZXN0ZWQoaW50IGNwdSwgc3RydWN0CiAgCQlwd3EgPSB1bmJvdW5kX3B3cV9ieV9ub2RlKHdxLCBjcHVfdG9fbm9kZShjcHUpKTsKICAKICAJcmV0ID0gIWxpc3RfZW1wdHkoJnB3cS0+ZGVsYXllZF93b3Jrcyk7CkBAIC0yNjcsNyArMjY1LDcgQEAKICAKICAJcmV0dXJuIHJldDsKICB9Ci1AQCAtNDM2MywxNiArNDM3MywxNSBAQCB1bnNpZ25lZCBpbnQgd29ya19idXN5KHN0cnVjdCB3b3JrX3N0cnVjCitAQCAtNDM3NSwxNiArNDM4NSwxNSBAQCB1bnNpZ25lZCBpbnQgd29ya19idXN5KHN0cnVjdCB3b3JrX3N0cnVjCiAgCWlmICh3b3JrX3BlbmRpbmcod29yaykpCiAgCQlyZXQgfD0gV09SS19CVVNZX1BFTkRJTkc7CiAgCkBAIC0yODgsNyArMjg2LDcgQEAKICAJcmV0dXJuIHJldDsKICB9CiAgRVhQT1JUX1NZTUJPTF9HUEwod29ya19idXN5KTsKLUBAIC00ODE3LDE2ICs0ODI2LDE2IEBAIGJvb2wgZnJlZXplX3dvcmtxdWV1ZXNfYnVzeSh2b2lkKQorQEAgLTQ4MjksMTYgKzQ4MzgsMTYgQEAgYm9vbCBmcmVlemVfd29ya3F1ZXVlc19idXN5KHZvaWQpCiAgCQkgKiBucl9hY3RpdmUgaXMgbW9ub3RvbmljYWxseSBkZWNyZWFzaW5nLiAgSXQncyBzYWZlCiAgCQkgKiB0byBwZWVrIHdpdGhvdXQgbG9jay4KICAJCSAqLwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy94ODYtY3J5cHRvLXJlZHVjZS1wcmVlbXB0LWRpc2FibGVkLXJlZ2lvbnMucGF0Y2ggYi9wYXRjaGVzL3g4Ni1jcnlwdG8tcmVkdWNlLXByZWVtcHQtZGlzYWJsZWQtcmVnaW9ucy5wYXRjaAppbmRleCAyZjFmY2Q1Li5lODUzYmM5IDEwMDY0NAotLS0gYS9wYXRjaGVzL3g4Ni1jcnlwdG8tcmVkdWNlLXByZWVtcHQtZGlzYWJsZWQtcmVnaW9ucy5wYXRjaAorKysgYi9wYXRjaGVzL3g4Ni1jcnlwdG8tcmVkdWNlLXByZWVtcHQtZGlzYWJsZWQtcmVnaW9ucy5wYXRjaApAQCAtMTYsMTAgKzE2LDggQEAKICBhcmNoL3g4Ni9jcnlwdG8vYWVzbmktaW50ZWxfZ2x1ZS5jIHwgICAyNCArKysrKysrKysrKysrLS0tLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC94ODYvY3J5cHRvL2Flc25pLWludGVsX2dsdWUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveDg2L2NyeXB0by9hZXNuaS1pbnRlbF9nbHVlLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC94ODYvY3J5cHRvL2Flc25pLWludGVsX2dsdWUuYworLS0tIGEvYXJjaC94ODYvY3J5cHRvL2Flc25pLWludGVsX2dsdWUuYworKysrIGIvYXJjaC94ODYvY3J5cHRvL2Flc25pLWludGVsX2dsdWUuYwogQEAgLTI1MiwxNCArMjUyLDE0IEBAIHN0YXRpYyBpbnQgZWNiX2VuY3J5cHQoc3RydWN0IGJsa2NpcGhlcl8KICAJZXJyID0gYmxrY2lwaGVyX3dhbGtfdmlydChkZXNjLCAmd2Fsayk7CiAgCWRlc2MtPmZsYWdzICY9IH5DUllQVE9fVEZNX1JFUV9NQVlfU0xFRVA7CmRpZmYgLS1naXQgYS9wYXRjaGVzL3g4Ni1kaXNhYmxlLWRlYnVnLXN0YWNrLnBhdGNoIGIvcGF0Y2hlcy94ODYtZGlzYWJsZS1kZWJ1Zy1zdGFjay5wYXRjaAppbmRleCA1NGNiY2VlLi5kODFjZmEyIDEwMDY0NAotLS0gYS9wYXRjaGVzL3g4Ni1kaXNhYmxlLWRlYnVnLXN0YWNrLnBhdGNoCisrKyBiL3BhdGNoZXMveDg2LWRpc2FibGUtZGVidWctc3RhY2sucGF0Y2gKQEAgLTQxLDEwICs0MSw4IEBACiAgYXJjaC94ODYva2VybmVsL2R1bXBzdGFja182NC5jICAgICAgIHwgICAgNCArKysrCiAgMyBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhZ2VfNjRfdHlwZXMuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhZ2VfNjRfdHlwZXMuaAotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYWdlXzY0X3R5cGVzLmgKKy0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhZ2VfNjRfdHlwZXMuaAorKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vcGFnZV82NF90eXBlcy5oCiBAQCAtMTQsMTIgKzE0LDIxIEBACiAgI2RlZmluZSBJUlFfU1RBQ0tfT1JERVIgMgogICNkZWZpbmUgSVJRX1NUQUNLX1NJWkUgKFBBR0VfU0laRSA8PCBJUlFfU1RBQ0tfT1JERVIpCkBAIC03MywxMCArNzEsOCBAQAogIAogICNkZWZpbmUgUFVEX1BBR0VfU0laRQkJKF9BQygxLCBVTCkgPDwgUFVEX1NISUZUKQogICNkZWZpbmUgUFVEX1BBR0VfTUFTSwkJKH4oUFVEX1BBR0VfU0laRS0xKSkKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC94ODYva2VybmVsL2NwdS9jb21tb24uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveDg2L2tlcm5lbC9jcHUvY29tbW9uLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC94ODYva2VybmVsL2NwdS9jb21tb24uYworLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9jb21tb24uYworKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9jb21tb24uYwogQEAgLTExMDQsNyArMTEwNCw5IEBAIERFRklORV9QRVJfQ1BVKHN0cnVjdCB0YXNrX3N0cnVjdCAqLCBmcHUKICAgKi8KICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IGV4Y2VwdGlvbl9zdGFja19zaXplc1tOX0VYQ0VQVElPTl9TVEFDS1NdID0gewpAQCAtODcsMTAgKzgzLDggQEAKICB9OwogIAogIHN0YXRpYyBERUZJTkVfUEVSX0NQVV9QQUdFX0FMSUdORUQoY2hhciwgZXhjZXB0aW9uX3N0YWNrcwotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9rZXJuZWwvZHVtcHN0YWNrXzY0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3g4Ni9rZXJuZWwvZHVtcHN0YWNrXzY0LmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC94ODYva2VybmVsL2R1bXBzdGFja182NC5jCistLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZHVtcHN0YWNrXzY0LmMKKysrKyBiL2FyY2gveDg2L2tlcm5lbC9kdW1wc3RhY2tfNjQuYwogQEAgLTIxLDEwICsyMSwxNCBAQAogIAkJKE5fRVhDRVBUSU9OX1NUQUNLUyArIERFQlVHX1NUS1NaL0VYQ0VQVElPTl9TVEtTWiAtIDIpCiAgCmRpZmYgLS1naXQgYS9wYXRjaGVzL3g4Ni1pby1hcGljLW1pZ3JhLW5vLXVubWFzay5wYXRjaCBiL3BhdGNoZXMveDg2LWlvLWFwaWMtbWlncmEtbm8tdW5tYXNrLnBhdGNoCmluZGV4IDZlZDE2YTAuLmI2OTE2M2IgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMveDg2LWlvLWFwaWMtbWlncmEtbm8tdW5tYXNrLnBhdGNoCisrKyBiL3BhdGNoZXMveDg2LWlvLWFwaWMtbWlncmEtbm8tdW5tYXNrLnBhdGNoCkBAIC0xMiwxMCArMTIsOCBAQAogIGFyY2gveDg2L2tlcm5lbC9hcGljL2lvX2FwaWMuYyB8ICAgIDMgKystCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gveDg2L2tlcm5lbC9hcGljL2lvX2FwaWMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveDg2L2tlcm5lbC9hcGljL2lvX2FwaWMuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9rZXJuZWwvYXBpYy9pb19hcGljLmMKKy0tLSBhL2FyY2gveDg2L2tlcm5lbC9hcGljL2lvX2FwaWMuYworKysrIGIvYXJjaC94ODYva2VybmVsL2FwaWMvaW9fYXBpYy5jCiBAQCAtMjM5MSw3ICsyMzkxLDggQEAgc3RhdGljIGJvb2wgaW9fYXBpY19sZXZlbF9hY2tfcGVuZGluZyhzdAogIHN0YXRpYyBpbmxpbmUgYm9vbCBpb2FwaWNfaXJxZF9tYXNrKHN0cnVjdCBpcnFfZGF0YSAqZGF0YSwgc3RydWN0IGlycV9jZmcgKmNmZykKICB7CmRpZmYgLS1naXQgYS9wYXRjaGVzL3g4Ni1rdm0tcmVxdWlyZS1jb25zdC10c2MtZm9yLXJ0LnBhdGNoIGIvcGF0Y2hlcy94ODYta3ZtLXJlcXVpcmUtY29uc3QtdHNjLWZvci1ydC5wYXRjaAppbmRleCBkYjRjMDE5Li4wNTVlNjk0IDEwMDY0NAotLS0gYS9wYXRjaGVzL3g4Ni1rdm0tcmVxdWlyZS1jb25zdC10c2MtZm9yLXJ0LnBhdGNoCisrKyBiL3BhdGNoZXMveDg2LWt2bS1yZXF1aXJlLWNvbnN0LXRzYy1mb3ItcnQucGF0Y2gKQEAgLTcsMTAgKzcsOCBAQAogIGFyY2gveDg2L2t2bS94ODYuYyB8ICAgIDcgKysrKysrKwogIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9rdm0veDg2LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3g4Ni9rdm0veDg2LmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC94ODYva3ZtL3g4Ni5jCistLS0gYS9hcmNoL3g4Ni9rdm0veDg2LmMKKysrKyBiL2FyY2gveDg2L2t2bS94ODYuYwogQEAgLTUzMjYsNiArNTMyNiwxMyBAQCBpbnQga3ZtX2FyY2hfaW5pdCh2b2lkICpvcGFxdWUpCiAgCQlnb3RvIG91dDsKICAJfQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy94ODYtbWNlLURlZmVyLW1jZS13YWtldXBzLXRvLXRocmVhZHMtZm9yLVBSRUVNUFRfUlQucGF0Y2ggYi9wYXRjaGVzL3g4Ni1tY2UtRGVmZXItbWNlLXdha2V1cHMtdG8tdGhyZWFkcy1mb3ItUFJFRU1QVF9SVC5wYXRjaAppbmRleCA3ZmZkMWRhLi41OGMyZjNjIDEwMDY0NAotLS0gYS9wYXRjaGVzL3g4Ni1tY2UtRGVmZXItbWNlLXdha2V1cHMtdG8tdGhyZWFkcy1mb3ItUFJFRU1QVF9SVC5wYXRjaAorKysgYi9wYXRjaGVzL3g4Ni1tY2UtRGVmZXItbWNlLXdha2V1cHMtdG8tdGhyZWFkcy1mb3ItUFJFRU1QVF9SVC5wYXRjaApAQCAtNTcsMTAgKzU3LDggQEAKICBhcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYyB8ICAgNzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKKy0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZS5jCisrKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYwogQEAgLTE4LDYgKzE4LDcgQEAKICAjaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KICAjaW5jbHVkZSA8bGludXgva29iamVjdC5oPgpAQCAtMTUwLDcgKzE0OCw3IEBACiArICovCiAraW50IG1jZV9ub3RpZnlfaXJxKHZvaWQpCiArewotKyAJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdCgwLCAmbWNlX25lZWRfbm90aWZ5KSkgeworKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KDAsICZtY2VfbmVlZF9ub3RpZnkpKSB7CiArCQltY2Vfbm90aWZ5X3dvcmsoKTsKICAJCXJldHVybiAxOwogIAl9CmRpZmYgLS1naXQgYS9wYXRjaGVzL3g4Ni1tY2UtZml4LW1jZS10aW1lci1pbnRlcnZhbC5wYXRjaCBiL3BhdGNoZXMveDg2LW1jZS1maXgtbWNlLXRpbWVyLWludGVydmFsLnBhdGNoCmluZGV4IDRmZDIxOGIuLmU1N2MzZmMgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMveDg2LW1jZS1maXgtbWNlLXRpbWVyLWludGVydmFsLnBhdGNoCisrKyBiL3BhdGNoZXMveDg2LW1jZS1maXgtbWNlLXRpbWVyLWludGVydmFsLnBhdGNoCkBAIC0xNiwxMCArMTYsOCBAQAogIGFyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZS5jIHwgICAgNyArKysrLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZS5jCi0rKysgbGludXgtc3RhYmxlL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZS5jCistLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYworKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKIEBAIC0xMjkxLDcgKzEyOTEsOCBAQCBzdGF0aWMgZW51bSBocnRpbWVyX3Jlc3RhcnQgbWNlX3RpbWVyX2ZuCiAgCV9fdGhpc19jcHVfd3JpdGUobWNlX25leHRfaW50ZXJ2YWwsIGl2KTsKICAJLyogTWlnaHQgaGF2ZSBiZWNvbWUgMCBhZnRlciBDTUNJIHN0b3JtIHN1YnNpZGVkICovCmRpZmYgLS1naXQgYS9wYXRjaGVzL3g4Ni1tY2UtdGltZXItaHJ0aW1lci5wYXRjaCBiL3BhdGNoZXMveDg2LW1jZS10aW1lci1ocnRpbWVyLnBhdGNoCmluZGV4IDk4M2NjZDYuLjEwZDRhZGIgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMveDg2LW1jZS10aW1lci1ocnRpbWVyLnBhdGNoCisrKyBiL3BhdGNoZXMveDg2LW1jZS10aW1lci1ocnRpbWVyLnBhdGNoCkBAIC0xMiwxMCArMTIsOCBAQAogIGFyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZS5jIHwgICA1NyArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYworLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKKysrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZS5jCiBAQCAtNDEsNiArNDEsNyBAQAogICNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CiAgI2luY2x1ZGUgPGxpbnV4L2lycV93b3JrLmg+CmRpZmYgLS1naXQgYS9wYXRjaGVzL3g4Ni1wcmVlbXB0LWxhenkucGF0Y2ggYi9wYXRjaGVzL3g4Ni1wcmVlbXB0LWxhenkucGF0Y2gKaW5kZXggMDcxMTE4ZS4uZmZlNjc2MyAxMDA2NDQKLS0tIGEvcGF0Y2hlcy94ODYtcHJlZW1wdC1sYXp5LnBhdGNoCisrKyBiL3BhdGNoZXMveDg2LXByZWVtcHQtbGF6eS5wYXRjaApAQCAtMTEsMTAgKzExLDggQEAKICBhcmNoL3g4Ni9rZXJuZWwvZW50cnlfNjQuUyAgICAgICAgIHwgICAyNCArKysrKysrKysrKysrKystLS0tLS0tLS0KICA1IGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gveDg2L0tjb25maWcKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3g4Ni9LY29uZmlnCi0rKysgbGludXgtc3RhYmxlL2FyY2gveDg2L0tjb25maWcKKy0tLSBhL2FyY2gveDg2L0tjb25maWcKKysrKyBiL2FyY2gveDg2L0tjb25maWcKIEBAIC0xMjEsNiArMTIxLDcgQEAgY29uZmlnIFg4NgogIAlzZWxlY3QgT0xEX1NJR0FDVElPTiBpZiBYODZfMzIKICAJc2VsZWN0IENPTVBBVF9PTERfU0lHQUNUSU9OIGlmIElBMzJfRU1VTEFUSU9OCkBAIC0yMywxMCArMjEsOCBAQAogIAogIGNvbmZpZyBJTlNUUlVDVElPTl9ERUNPREVSCiAgCWRlZl9ib29sIHkKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC94ODYvaW5jbHVkZS9hc20vdGhyZWFkX2luZm8uaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveDg2L2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmgKLSsrKyBsaW51eC1zdGFibGUvYXJjaC94ODYvaW5jbHVkZS9hc20vdGhyZWFkX2luZm8uaAorLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vdGhyZWFkX2luZm8uaAorKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vdGhyZWFkX2luZm8uaAogQEAgLTMwLDYgKzMwLDggQEAgc3RydWN0IHRocmVhZF9pbmZvIHsKICAJX191MzIJCQljcHU7CQkvKiBjdXJyZW50IENQVSAqLwogIAlpbnQJCQlwcmVlbXB0X2NvdW50OwkvKiAwID0+IHByZWVtcHRhYmxlLApAQCAtNjEsMTAgKzU3LDggQEAKICAjZGVmaW5lIFBSRUVNUFRfQUNUSVZFCQkweDEwMDAwMDAwCiAgCiAgI2lmZGVmIENPTkZJR19YODZfMzIKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3g4Ni9rZXJuZWwvYXNtLW9mZnNldHMuYwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9rZXJuZWwvYXNtLW9mZnNldHMuYworLS0tIGEvYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzLmMKKysrKyBiL2FyY2gveDg2L2tlcm5lbC9hc20tb2Zmc2V0cy5jCiBAQCAtMzMsNiArMzMsNyBAQCB2b2lkIGNvbW1vbih2b2lkKSB7CiAgCU9GRlNFVChUSV9zdGF0dXMsIHRocmVhZF9pbmZvLCBzdGF0dXMpOwogIAlPRkZTRVQoVElfYWRkcl9saW1pdCwgdGhyZWFkX2luZm8sIGFkZHJfbGltaXQpOwpAQCAtNzMsMTAgKzY3LDggQEAKICAKICAJQkxBTksoKTsKICAJT0ZGU0VUKGNyeXB0b190Zm1fY3R4X29mZnNldCwgY3J5cHRvX3RmbSwgX19jcnRfY3R4KTsKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC94ODYva2VybmVsL2VudHJ5XzMyLlMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3g4Ni9rZXJuZWwvZW50cnlfMzIuUwotKysrIGxpbnV4LXN0YWJsZS9hcmNoL3g4Ni9rZXJuZWwvZW50cnlfMzIuUworLS0tIGEvYXJjaC94ODYva2VybmVsL2VudHJ5XzMyLlMKKysrKyBiL2FyY2gveDg2L2tlcm5lbC9lbnRyeV8zMi5TCiBAQCAtMzY0LDE0ICszNjQsMjIgQEAgRU5UUlkocmVzdW1lX2tlcm5lbCkKICAJRElTQUJMRV9JTlRFUlJVUFRTKENMQlJfQU5ZKQogIAljbXBsICQwLFRJX3ByZWVtcHRfY291bnQoJWVicCkJIyBub24temVybyBwcmVlbXB0X2NvdW50ID8KQEAgLTEyMSwxMCArMTEzLDggQEAKICAJam56IHdvcmtfcmVzY2hlZAogIAogIHdvcmtfbm90aWZ5c2lnOgkJCQkjIGRlYWwgd2l0aCBwZW5kaW5nIHNpZ25hbHMgYW5kCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gveDg2L2tlcm5lbC9lbnRyeV82NC5TCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGludXgtc3RhYmxlLm9yaWcvYXJjaC94ODYva2VybmVsL2VudHJ5XzY0LlMKLSsrKyBsaW51eC1zdGFibGUvYXJjaC94ODYva2VybmVsL2VudHJ5XzY0LlMKKy0tLSBhL2FyY2gveDg2L2tlcm5lbC9lbnRyeV82NC5TCisrKysgYi9hcmNoL3g4Ni9rZXJuZWwvZW50cnlfNjQuUwogQEAgLTY3Myw4ICs2NzMsOCBAQCBzeXNyZXRfY2hlY2s6CiAgCS8qIEhhbmRsZSByZXNjaGVkdWxlcyAqLwogIAkvKiBlZHg6CXdvcmssIGVkaTogd29ya21hc2sgKi8KZGlmZiAtLWdpdCBhL3BhdGNoZXMveDg2LXN0YWNrcHJvdC1uby1yYW5kb20tb24tcnQucGF0Y2ggYi9wYXRjaGVzL3g4Ni1zdGFja3Byb3Qtbm8tcmFuZG9tLW9uLXJ0LnBhdGNoCmluZGV4IDhhMmIxN2UuLjVjM2NhMDkgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMveDg2LXN0YWNrcHJvdC1uby1yYW5kb20tb24tcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy94ODYtc3RhY2twcm90LW5vLXJhbmRvbS1vbi1ydC5wYXRjaApAQCAtMTcsMTAgKzE3LDggQEAKICBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9zdGFja3Byb3RlY3Rvci5oIHwgICAxMCArKysrKysrKystCiAgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCi1JbmRleDogbGludXgtc3RhYmxlL2FyY2gveDg2L2luY2x1ZGUvYXNtL3N0YWNrcHJvdGVjdG9yLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaW51eC1zdGFibGUub3JpZy9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9zdGFja3Byb3RlY3Rvci5oCi0rKysgbGludXgtc3RhYmxlL2FyY2gveDg2L2luY2x1ZGUvYXNtL3N0YWNrcHJvdGVjdG9yLmgKKy0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3N0YWNrcHJvdGVjdG9yLmgKKysrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3N0YWNrcHJvdGVjdG9yLmgKIEBAIC01Nyw3ICs1Nyw3IEBACiAgICovCiAgc3RhdGljIF9fYWx3YXlzX2lubGluZSB2b2lkIGJvb3RfaW5pdF9zdGFja19jYW5hcnkodm9pZCkKZGlmZiAtLWdpdCBhL3BhdGNoZXMveDg2LXVzZS1nZW4tcndzZW0tc3BpbmxvY2tzLXJ0LnBhdGNoIGIvcGF0Y2hlcy94ODYtdXNlLWdlbi1yd3NlbS1zcGlubG9ja3MtcnQucGF0Y2gKaW5kZXggZWUxZWQ4MC4uNmNlM2UxYSAxMDA2NDQKLS0tIGEvcGF0Y2hlcy94ODYtdXNlLWdlbi1yd3NlbS1zcGlubG9ja3MtcnQucGF0Y2gKKysrIGIvcGF0Y2hlcy94ODYtdXNlLWdlbi1yd3NlbS1zcGlubG9ja3MtcnQucGF0Y2gKQEAgLTExLDEwICsxMSw4IEBACiAgYXJjaC94ODYvS2NvbmZpZyB8ICAgIDcgKysrKystLQogIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBsaW51eC1zdGFibGUvYXJjaC94ODYvS2NvbmZpZwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpbnV4LXN0YWJsZS5vcmlnL2FyY2gveDg2L0tjb25maWcKLSsrKyBsaW51eC1zdGFibGUvYXJjaC94ODYvS2NvbmZpZworLS0tIGEvYXJjaC94ODYvS2NvbmZpZworKysrIGIvYXJjaC94ODYvS2NvbmZpZwogQEAgLTE3Nyw4ICsxNzcsMTEgQEAgY29uZmlnIEFSQ0hfTUFZX0hBVkVfUENfRkRDCiAgCWRlZl9ib29sIHkKICAJZGVwZW5kcyBvbiBJU0FfRE1BX0FQSQo=