ZGlmZiAtLWdpdCBhL0NIQU5HRUxPRyBiL0NIQU5HRUxPRwppbmRleCBlMTJkNzY3Li42ZTc5N2Q2IDEwMDY0NAotLS0gYS9DSEFOR0VMT0cKKysrIGIvQ0hBTkdFTE9HCkBAIC0yLDYgKzIsOCBAQAogQ2hhbmdlcyBzaW5jZSBVLUJvb3QgMS4xLjQ6CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKKyogQ29kaW5nIHN0eWxlIGNsZWFudXAKKwogKiBBZGQgc3VwcG9ydCBmb3IgRVA4Mnh4TSBib2FyZHMKICAgUGF0Y2ggYnkgQWFyb24gU2VsbHMsIDIwIEp1biAyMDA2CiAKZGlmZiAtLWdpdCBhL2JvYXJkL01hcnZlbGwvZGI2NDM2MC9NYWtlZmlsZSBiL2JvYXJkL01hcnZlbGwvZGI2NDM2MC9NYWtlZmlsZQppbmRleCBhMDg0Yzg5Li5mOTgzY2Q5IDEwMDY0NAotLS0gYS9ib2FyZC9NYXJ2ZWxsL2RiNjQzNjAvTWFrZWZpbGUKKysrIGIvYm9hcmQvTWFydmVsbC9kYjY0MzYwL01ha2VmaWxlCkBAIC0xLDcgKzEsNyBAQAogIwogIyAoQykgQ29weXJpZ2h0IDIwMDYKICMgV29sZmdhbmcgRGVuaywgREVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZywgd2RAZGVueC5kZS4KLSMgCisjCiAjIChDKSBDb3B5cmlnaHQgMjAwMQogIyBKb3NoIEh1YmVyIDxodWJlckBtY2x4LmNvbT4sIE1pc3Npb24gQ3JpdGljYWwgTGludXgsIEluYy4KICMKZGlmZiAtLWdpdCBhL2JvYXJkL01hcnZlbGwvZGI2NDQ2MC9NYWtlZmlsZSBiL2JvYXJkL01hcnZlbGwvZGI2NDQ2MC9NYWtlZmlsZQppbmRleCBhMDg0Yzg5Li5mOTgzY2Q5IDEwMDY0NAotLS0gYS9ib2FyZC9NYXJ2ZWxsL2RiNjQ0NjAvTWFrZWZpbGUKKysrIGIvYm9hcmQvTWFydmVsbC9kYjY0NDYwL01ha2VmaWxlCkBAIC0xLDcgKzEsNyBAQAogIwogIyAoQykgQ29weXJpZ2h0IDIwMDYKICMgV29sZmdhbmcgRGVuaywgREVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZywgd2RAZGVueC5kZS4KLSMgCisjCiAjIChDKSBDb3B5cmlnaHQgMjAwMQogIyBKb3NoIEh1YmVyIDxodWJlckBtY2x4LmNvbT4sIE1pc3Npb24gQ3JpdGljYWwgTGludXgsIEluYy4KICMKZGlmZiAtLWdpdCBhL2JvYXJkL2FtY2Mvc2VxdW9pYS9zZXF1b2lhLmMgYi9ib2FyZC9hbWNjL3NlcXVvaWEvc2VxdW9pYS5jCmluZGV4IGE4YmEyYzAuLmNjZjZmMGMgMTAwNjQ0Ci0tLSBhL2JvYXJkL2FtY2Mvc2VxdW9pYS9zZXF1b2lhLmMKKysrIGIvYm9hcmQvYW1jYy9zZXF1b2lhL3NlcXVvaWEuYwpAQCAtNCw3ICs0LDcgQEAKICAqCiAgKiAoQykgQ29weXJpZ2h0IDIwMDYKICAqIEphY3F1ZWxpbmUgUGlyYS1GZXJyaW9sLCBBTUNDL0lCTSwganBpcmEtZmVycmlvbEBmci5pYm0uY29tCi0gKiBBbGFpbiBTYXVyZWwsICAgICAgICAgICAgQU1DQy9JQk0sIGFsYWluLnNhdXJlbEBmci5pYm0uY29tCisgKiBBbGFpbiBTYXVyZWwsCSAgICBBTUNDL0lCTSwgYWxhaW4uc2F1cmVsQGZyLmlibS5jb20KICAqCiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwpAQCAtMTIzLDEyICsxMjMsMTIgQEAKIAogCS8qIHNldHVwIE5BTkQgRkxBU0ggKi8KIAltZnNkcihTRFIwX0NVU1QwLCBzZHIwX2N1c3QwKTsKLSAgICAgICAgc2RyMF9jdXN0MCA9IFNEUjBfQ1VTVDBfTVVYX05ERkNfU0VMCXwKKwlzZHIwX2N1c3QwID0gU0RSMF9DVVNUMF9NVVhfTkRGQ19TRUwJfAogCQlTRFIwX0NVU1QwX05ERkNfRU5BQkxFCQl8CiAJCVNEUjBfQ1VTVDBfTkRGQ19CV184X0JJVAl8CiAJCVNEUjBfQ1VTVDBfTkRGQ19BUkVfTUFTSwl8CiAJCSgweDgwMDAwMDAwID4+ICgyOCArIENGR19OQU5EX0NTKSk7Ci0gICAgICAgIG10c2RyKFNEUjBfQ1VTVDAsIHNkcjBfY3VzdDApOworCW10c2RyKFNEUjBfQ1VTVDAsIHNkcjBfY3VzdDApOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0yMTYsMzggKzIxNiwzOCBAQAogI2lmZGVmIENPTkZJR180NDBFUFgKIAlpZiAoYWN0ID09IE5VTEwgfHwgc3RyY21wKGFjdCwgImhvc3RkZXYiKSA9PSAwKQl7CiAJCS8qIFNEUiBTZXR0aW5nICovCi0gICAgICAgIAltZnNkcihTRFIwX1BGQzEsIHNkcjBfcGZjMSk7Ci0gICAgICAgIAltZnNkcihTRFIwX1VTQjAsIHVzYjJkMGNyKTsKLSAgICAgICAgCW1mc2RyKFNEUjBfVVNCMlBIWTBDUiwgdXNiMnBoeTBjcik7Ci0gICAgICAgIAltZnNkcihTRFIwX1VTQjJIMENSLCB1c2IyaDBjcik7CisJCW1mc2RyKFNEUjBfUEZDMSwgc2RyMF9wZmMxKTsKKwkJbWZzZHIoU0RSMF9VU0IwLCB1c2IyZDBjcik7CisJCW1mc2RyKFNEUjBfVVNCMlBIWTBDUiwgdXNiMnBoeTBjcik7CisJCW1mc2RyKFNEUjBfVVNCMkgwQ1IsIHVzYjJoMGNyKTsKIAogCQl1c2IycGh5MGNyID0gdXNiMnBoeTBjciAmflNEUjBfVVNCMlBIWTBDUl9YT0NMS19NQVNLOwogCQl1c2IycGh5MGNyID0gdXNiMnBoeTBjciB8IFNEUjBfVVNCMlBIWTBDUl9YT0NMS19FWFRFUk5BTDsJLyowKi8KLSAgICAgICAgCXVzYjJwaHkwY3IgPSB1c2IycGh5MGNyICZ+U0RSMF9VU0IyUEhZMENSX1dESU5UX01BU0s7Ci0gICAgICAgIAl1c2IycGh5MGNyID0gdXNiMnBoeTBjciB8IFNEUjBfVVNCMlBIWTBDUl9XRElOVF8xNkJJVF8zME1IWjsJLyoxKi8KKwkJdXNiMnBoeTBjciA9IHVzYjJwaHkwY3IgJn5TRFIwX1VTQjJQSFkwQ1JfV0RJTlRfTUFTSzsKKwkJdXNiMnBoeTBjciA9IHVzYjJwaHkwY3IgfCBTRFIwX1VTQjJQSFkwQ1JfV0RJTlRfMTZCSVRfMzBNSFo7CS8qMSovCiAJCXVzYjJwaHkwY3IgPSB1c2IycGh5MGNyICZ+U0RSMF9VU0IyUEhZMENSX0RWQlVTX01BU0s7Ci0gICAgICAgIAl1c2IycGh5MGNyID0gdXNiMnBoeTBjciB8IFNEUjBfVVNCMlBIWTBDUl9EVkJVU19QVVJESVM7CQkvKjAqLworCQl1c2IycGh5MGNyID0gdXNiMnBoeTBjciB8IFNEUjBfVVNCMlBIWTBDUl9EVkJVU19QVVJESVM7CQkvKjAqLwogCQl1c2IycGh5MGNyID0gdXNiMnBoeTBjciAmflNEUjBfVVNCMlBIWTBDUl9EV05TVFJfTUFTSzsKLSAgICAgICAgCXVzYjJwaHkwY3IgPSB1c2IycGh5MGNyIHwgU0RSMF9VU0IyUEhZMENSX0RXTlNUUl9IT1NUOwkJLyoxKi8KKwkJdXNiMnBoeTBjciA9IHVzYjJwaHkwY3IgfCBTRFIwX1VTQjJQSFkwQ1JfRFdOU1RSX0hPU1Q7CQkvKjEqLwogCQl1c2IycGh5MGNyID0gdXNiMnBoeTBjciAmflNEUjBfVVNCMlBIWTBDUl9VVE1JQ05fTUFTSzsKLSAgICAgICAgCXVzYjJwaHkwY3IgPSB1c2IycGh5MGNyIHwgU0RSMF9VU0IyUEhZMENSX1VUTUlDTl9IT1NUOwkJLyoxKi8KKwkJdXNiMnBoeTBjciA9IHVzYjJwaHkwY3IgfCBTRFIwX1VTQjJQSFkwQ1JfVVRNSUNOX0hPU1Q7CQkvKjEqLwogCiAJCS8qIEFuIDgtYml0LzYwTUh6IGludGVyZmFjZSBpcyB0aGUgb25seSBwb3NzaWJsZSBhbHRlcm5hdGl2ZQogCQkgICB3aGVuIGNvbm5lY3RpbmcgdGhlIERldmljZSB0byB0aGUgUEhZICovCi0gICAgICAgIAl1c2IyaDBjciAgID0gdXNiMmgwY3IgJn5TRFIwX1VTQjJIMENSX1dESU5UX01BU0s7Ci0gICAgICAgIAl1c2IyaDBjciAgID0gdXNiMmgwY3IgfCBTRFIwX1VTQjJIMENSX1dESU5UXzE2QklUXzMwTUhaOwkvKjEqLworCQl1c2IyaDBjciAgID0gdXNiMmgwY3IgJn5TRFIwX1VTQjJIMENSX1dESU5UX01BU0s7CisJCXVzYjJoMGNyICAgPSB1c2IyaDBjciB8IFNEUjBfVVNCMkgwQ1JfV0RJTlRfMTZCSVRfMzBNSFo7CS8qMSovCiAKLSAgICAgICAgCS8qIFRvIGVuYWJsZSB0aGUgVVNCIDIuMCBEZXZpY2UgZnVuY3Rpb24gdGhyb3VnaCB0aGUgVVRNSSBpbnRlcmZhY2UgKi8KLSAgICAgICAgCXVzYjJkMGNyID0gdXNiMmQwY3IgJn5TRFIwX1VTQjJEMENSX1VTQjJERVZfRUJDX1NFTF9NQVNLOwotICAgICAgICAJdXNiMmQwY3IgPSB1c2IyZDBjciB8IFNEUjBfVVNCMkQwQ1JfVVNCMkRFVl9TRUxFQ1RJT047CQkvKjEqLworCQkvKiBUbyBlbmFibGUgdGhlIFVTQiAyLjAgRGV2aWNlIGZ1bmN0aW9uIHRocm91Z2ggdGhlIFVUTUkgaW50ZXJmYWNlICovCisJCXVzYjJkMGNyID0gdXNiMmQwY3IgJn5TRFIwX1VTQjJEMENSX1VTQjJERVZfRUJDX1NFTF9NQVNLOworCQl1c2IyZDBjciA9IHVzYjJkMGNyIHwgU0RSMF9VU0IyRDBDUl9VU0IyREVWX1NFTEVDVElPTjsJCS8qMSovCiAKLSAgICAgICAgCXNkcjBfcGZjMSA9IHNkcjBfcGZjMSAmflNEUjBfUEZDMV9VRVNfTUFTSzsKLSAgICAgICAgCXNkcjBfcGZjMSA9IHNkcjBfcGZjMSB8IFNEUjBfUEZDMV9VRVNfVVNCMkRfU0VMOwkJLyowKi8KKwkJc2RyMF9wZmMxID0gc2RyMF9wZmMxICZ+U0RSMF9QRkMxX1VFU19NQVNLOworCQlzZHIwX3BmYzEgPSBzZHIwX3BmYzEgfCBTRFIwX1BGQzFfVUVTX1VTQjJEX1NFTDsJCS8qMCovCiAKLSAgICAgICAgCW10c2RyKFNEUjBfUEZDMSwgc2RyMF9wZmMxKTsKLSAgICAgICAgCW10c2RyKFNEUjBfVVNCMCwgdXNiMmQwY3IpOwotICAgICAgICAJbXRzZHIoU0RSMF9VU0IyUEhZMENSLCB1c2IycGh5MGNyKTsKLSAgICAgICAgCW10c2RyKFNEUjBfVVNCMkgwQ1IsIHVzYjJoMGNyKTsKKwkJbXRzZHIoU0RSMF9QRkMxLCBzZHIwX3BmYzEpOworCQltdHNkcihTRFIwX1VTQjAsIHVzYjJkMGNyKTsKKwkJbXRzZHIoU0RSMF9VU0IyUEhZMENSLCB1c2IycGh5MGNyKTsKKwkJbXRzZHIoU0RSMF9VU0IySDBDUiwgdXNiMmgwY3IpOwogCiAJCS8qY2xlYXIgcmVzZXRzKi8KIAkJdWRlbGF5ICgxMDAwKTsKQEAgLTI2NCwxMSArMjY0LDExIEBACiAJCXVzYjJwaHkwY3IgPSB1c2IycGh5MGNyICZ+U0RSMF9VU0IyUEhZMENSX1hPQ0xLX01BU0s7CiAJCXVzYjJwaHkwY3IgPSB1c2IycGh5MGNyIHwgU0RSMF9VU0IyUEhZMENSX1hPQ0xLX0VYVEVSTkFMOwkvKjAqLwogCQl1c2IycGh5MGNyID0gdXNiMnBoeTBjciAmflNEUjBfVVNCMlBIWTBDUl9EVkJVU19NQVNLOwotICAgICAgICAJdXNiMnBoeTBjciA9IHVzYjJwaHkwY3IgfCBTRFIwX1VTQjJQSFkwQ1JfRFZCVVNfUFVSRElTOwkJLyowKi8KKwkJdXNiMnBoeTBjciA9IHVzYjJwaHkwY3IgfCBTRFIwX1VTQjJQSFkwQ1JfRFZCVVNfUFVSRElTOwkJLyowKi8KIAkJdXNiMnBoeTBjciA9IHVzYjJwaHkwY3IgJn5TRFIwX1VTQjJQSFkwQ1JfRFdOU1RSX01BU0s7Ci0gICAgICAgIAl1c2IycGh5MGNyID0gdXNiMnBoeTBjciB8IFNEUjBfVVNCMlBIWTBDUl9EV05TVFJfSE9TVDsJCS8qMSovCisJCXVzYjJwaHkwY3IgPSB1c2IycGh5MGNyIHwgU0RSMF9VU0IyUEhZMENSX0RXTlNUUl9IT1NUOwkJLyoxKi8KIAkJdXNiMnBoeTBjciA9IHVzYjJwaHkwY3IgJn5TRFIwX1VTQjJQSFkwQ1JfVVRNSUNOX01BU0s7Ci0gICAgICAgIAl1c2IycGh5MGNyID0gdXNiMnBoeTBjciB8IFNEUjBfVVNCMlBIWTBDUl9VVE1JQ05fSE9TVDsJCS8qMSovCisJCXVzYjJwaHkwY3IgPSB1c2IycGh5MGNyIHwgU0RSMF9VU0IyUEhZMENSX1VUTUlDTl9IT1NUOwkJLyoxKi8KIAkJbXRzZHIoU0RSMF9VU0IyUEhZMENSLCB1c2IycGh5MGNyKTsKIAogCQl1ZGVsYXkgKDEwMDApOwpAQCAtMjg3LDMzICsyODcsMzMgQEAKIAkJLyotLS0tLS0tLS0tLS0tLS0tLS0tUEFUQ0gtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogCQkvKiBTRFIgU2V0dGluZyAqLwotICAgICAgICAJbWZzZHIoU0RSMF9VU0IyUEhZMENSLCB1c2IycGh5MGNyKTsKKwkJbWZzZHIoU0RSMF9VU0IyUEhZMENSLCB1c2IycGh5MGNyKTsKIAkJbWZzZHIoU0RSMF9VU0IySDBDUiwgdXNiMmgwY3IpOwogCQltZnNkcihTRFIwX1VTQjAsIHVzYjJkMGNyKTsKIAkJbWZzZHIoU0RSMF9QRkMxLCBzZHIwX3BmYzEpOwogCiAJCXVzYjJwaHkwY3IgPSB1c2IycGh5MGNyICZ+U0RSMF9VU0IyUEhZMENSX1hPQ0xLX01BU0s7CiAJCXVzYjJwaHkwY3IgPSB1c2IycGh5MGNyIHwgU0RSMF9VU0IyUEhZMENSX1hPQ0xLX0VYVEVSTkFMOwkvKjAqLwotICAgICAgICAJdXNiMnBoeTBjciA9IHVzYjJwaHkwY3IgJn5TRFIwX1VTQjJQSFkwQ1JfV0RJTlRfTUFTSzsKKwkJdXNiMnBoeTBjciA9IHVzYjJwaHkwY3IgJn5TRFIwX1VTQjJQSFkwQ1JfV0RJTlRfTUFTSzsKIAkJdXNiMnBoeTBjciA9IHVzYjJwaHkwY3IgfCBTRFIwX1VTQjJQSFkwQ1JfV0RJTlRfOEJJVF82ME1IWjsJLyowKi8KIAkJdXNiMnBoeTBjciA9IHVzYjJwaHkwY3IgJn5TRFIwX1VTQjJQSFkwQ1JfRFZCVVNfTUFTSzsKLSAgICAgICAgCXVzYjJwaHkwY3IgPSB1c2IycGh5MGNyIHwgU0RSMF9VU0IyUEhZMENSX0RWQlVTX1BVUkVOOwkJLyoxKi8KKwkJdXNiMnBoeTBjciA9IHVzYjJwaHkwY3IgfCBTRFIwX1VTQjJQSFkwQ1JfRFZCVVNfUFVSRU47CQkvKjEqLwogCQl1c2IycGh5MGNyID0gdXNiMnBoeTBjciAmflNEUjBfVVNCMlBIWTBDUl9EV05TVFJfTUFTSzsKLSAgICAgICAgCXVzYjJwaHkwY3IgPSB1c2IycGh5MGNyIHwgU0RSMF9VU0IyUEhZMENSX0RXTlNUUl9ERVY7CQkvKjAqLworCQl1c2IycGh5MGNyID0gdXNiMnBoeTBjciB8IFNEUjBfVVNCMlBIWTBDUl9EV05TVFJfREVWOwkJLyowKi8KIAkJdXNiMnBoeTBjciA9IHVzYjJwaHkwY3IgJn5TRFIwX1VTQjJQSFkwQ1JfVVRNSUNOX01BU0s7Ci0gICAgICAgIAl1c2IycGh5MGNyID0gdXNiMnBoeTBjciB8IFNEUjBfVVNCMlBIWTBDUl9VVE1JQ05fREVWOwkJLyowKi8KKwkJdXNiMnBoeTBjciA9IHVzYjJwaHkwY3IgfCBTRFIwX1VTQjJQSFkwQ1JfVVRNSUNOX0RFVjsJCS8qMCovCiAKIAkJdXNiMmgwY3IgICA9IHVzYjJoMGNyICZ+U0RSMF9VU0IySDBDUl9XRElOVF9NQVNLOwotICAgICAgICAJdXNiMmgwY3IgICA9IHVzYjJoMGNyIHwgU0RSMF9VU0IySDBDUl9XRElOVF84QklUXzYwTUhaOwkJLyowKi8KKwkJdXNiMmgwY3IgICA9IHVzYjJoMGNyIHwgU0RSMF9VU0IySDBDUl9XRElOVF84QklUXzYwTUhaOwkJLyowKi8KIAogCQl1c2IyZDBjciA9IHVzYjJkMGNyICZ+U0RSMF9VU0IyRDBDUl9VU0IyREVWX0VCQ19TRUxfTUFTSzsKLSAgICAgICAgCXVzYjJkMGNyID0gdXNiMmQwY3IgfCBTRFIwX1VTQjJEMENSX0VCQ19TRUxFQ1RJT047CQkvKjAqLworCQl1c2IyZDBjciA9IHVzYjJkMGNyIHwgU0RSMF9VU0IyRDBDUl9FQkNfU0VMRUNUSU9OOwkJLyowKi8KIAogCQlzZHIwX3BmYzEgPSBzZHIwX3BmYzEgJn5TRFIwX1BGQzFfVUVTX01BU0s7Ci0gICAgICAgIAlzZHIwX3BmYzEgPSBzZHIwX3BmYzEgfCBTRFIwX1BGQzFfVUVTX0VCQ0hSX1NFTDsJCS8qMSovCisJCXNkcjBfcGZjMSA9IHNkcjBfcGZjMSB8IFNEUjBfUEZDMV9VRVNfRUJDSFJfU0VMOwkJLyoxKi8KIAotICAgICAgICAJbXRzZHIoU0RSMF9VU0IySDBDUiwgdXNiMmgwY3IpOwotICAgICAgICAJbXRzZHIoU0RSMF9VU0IyUEhZMENSLCB1c2IycGh5MGNyKTsKKwkJbXRzZHIoU0RSMF9VU0IySDBDUiwgdXNiMmgwY3IpOworCQltdHNkcihTRFIwX1VTQjJQSFkwQ1IsIHVzYjJwaHkwY3IpOwogCQltdHNkcihTRFIwX1VTQjAsIHVzYjJkMGNyKTsKIAkJbXRzZHIoU0RSMF9QRkMxLCBzZHIwX3BmYzEpOwogCmRpZmYgLS1naXQgYS9ib2FyZC9hbWNjL3l1Y2NhL3l1Y2NhLmMgYi9ib2FyZC9hbWNjL3l1Y2NhL3l1Y2NhLmMKaW5kZXggY2QxNzUyNi4uZTliMzRkZCAxMDA2NDQKLS0tIGEvYm9hcmQvYW1jYy95dWNjYS95dWNjYS5jCisrKyBiL2JvYXJkL2FtY2MveXVjY2EveXVjY2EuYwpAQCAtOTU4LDcgKzk1OCw2IEBACiAJcmV0dXJuIDE7CiB9CiAKLQogaW50IHl1Y2NhX3BjaWVfY2FyZF9wcmVzZW50KGludCBwb3J0KQogewogCXUxNiByZWc7CkBAIC0xMDg0LDggKzEwODMsNiBAQAogCQkgKGVuZHBvaW50IHwgaW5fYmUxNigodTE2ICopRlBHQV9SRUcxQykpKTsKIH0KIAotCi0KIHN0YXRpYyBzdHJ1Y3QgcGNpX2NvbnRyb2xsZXIgcGNpZV9ob3NlWzNdID0ge3swfSx7MH0sezB9fTsKIAogdm9pZCBwY2llX3NldHVwX2hvc2VzKHZvaWQpCmRpZmYgLS1naXQgYS9ib2FyZC9kYXZlL0IyL01ha2VmaWxlIGIvYm9hcmQvZGF2ZS9CMi9NYWtlZmlsZQppbmRleCAxMDYwMjVkLi4xNzYyZjZmIDEwMDY0NAotLS0gYS9ib2FyZC9kYXZlL0IyL01ha2VmaWxlCisrKyBiL2JvYXJkL2RhdmUvQjIvTWFrZWZpbGUKQEAgLTEsNyArMSw3IEBACiAjCiAjIChDKSBDb3B5cmlnaHQgMjAwNgogIyBXb2xmZ2FuZyBEZW5rLCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nLCB3ZEBkZW54LmRlLgotIyAKKyMKICMgKEMpIENvcHlyaWdodCAyMDAyCiAjIFN5c2dvIFJlYWwtVGltZSBTb2x1dGlvbnMsIEdtYkggPHd3dy5lbGlub3MuY29tPgogIyBNYXJpdXMgR3JvZWdlciA8bWdyb2VnZXJAc3lzZ28uZGU+CmRpZmYgLS1naXQgYS9ib2FyZC9lc2QvY3BjaTc1MC9NYWtlZmlsZSBiL2JvYXJkL2VzZC9jcGNpNzUwL01ha2VmaWxlCmluZGV4IDBkZmVjNjAuLjJmNjFkOTQgMTAwNjQ0Ci0tLSBhL2JvYXJkL2VzZC9jcGNpNzUwL01ha2VmaWxlCisrKyBiL2JvYXJkL2VzZC9jcGNpNzUwL01ha2VmaWxlCkBAIC0xLDcgKzEsNyBAQAogIwogIyAoQykgQ29weXJpZ2h0IDIwMDYKICMgV29sZmdhbmcgRGVuaywgREVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZywgd2RAZGVueC5kZS4KLSMgCisjCiAjIChDKSBDb3B5cmlnaHQgMjAwMQogIyBKb3NoIEh1YmVyIDxodWJlckBtY2x4LmNvbT4sIE1pc3Npb24gQ3JpdGljYWwgTGludXgsIEluYy4KICMKZGlmZiAtLWdpdCBhL2JvYXJkL2V2YjY0MjYwL01ha2VmaWxlIGIvYm9hcmQvZXZiNjQyNjAvTWFrZWZpbGUKaW5kZXggYjI4MzcyZC4uOTI1ODQ0YyAxMDA2NDQKLS0tIGEvYm9hcmQvZXZiNjQyNjAvTWFrZWZpbGUKKysrIGIvYm9hcmQvZXZiNjQyNjAvTWFrZWZpbGUKQEAgLTEsNyArMSw3IEBACiAjCiAjIChDKSBDb3B5cmlnaHQgMjAwNgogIyBXb2xmZ2FuZyBEZW5rLCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nLCB3ZEBkZW54LmRlLgotIyAKKyMKICMgKEMpIENvcHlyaWdodCAyMDAxCiAjIEpvc2ggSHViZXIgPGh1YmVyQG1jbHguY29tPiwgTWlzc2lvbiBDcml0aWNhbCBMaW51eCwgSW5jLgogIwpkaWZmIC0tZ2l0IGEvYm9hcmQvaXNwYW4vTWFrZWZpbGUgYi9ib2FyZC9pc3Bhbi9NYWtlZmlsZQppbmRleCAwYzFjYjAyLi5kMDIyM2I1IDEwMDY0NAotLS0gYS9ib2FyZC9pc3Bhbi9NYWtlZmlsZQorKysgYi9ib2FyZC9pc3Bhbi9NYWtlZmlsZQpAQCAtMSw3ICsxLDcgQEAKICMKICMgKEMpIENvcHlyaWdodCAyMDA2CiAjIFdvbGZnYW5nIERlbmssIERFTlggU29mdHdhcmUgRW5naW5lZXJpbmcsIHdkQGRlbnguZGUuCi0jIAorIwogIyBDb3B5cmlnaHQgKEMpIDIwMDQgQXJhYmVsbGEgU29mdHdhcmUgTHRkLgogIyBZdWxpIEJhcmNvaGVuIDx5dWxpQGFyYWJlbGxhc3cuY29tPgogIwpkaWZmIC0tZ2l0IGEvYm9hcmQvanNlL01ha2VmaWxlIGIvYm9hcmQvanNlL01ha2VmaWxlCmluZGV4IGJlNmJkMzEuLmVkYmZjM2YgMTAwNjQ0Ci0tLSBhL2JvYXJkL2pzZS9NYWtlZmlsZQorKysgYi9ib2FyZC9qc2UvTWFrZWZpbGUKQEAgLTEsNyArMSw3IEBACiAjCiAjIChDKSBDb3B5cmlnaHQgMjAwNgogIyBXb2xmZ2FuZyBEZW5rLCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nLCB3ZEBkZW54LmRlLgotIyAKKyMKICMgQ29weXJpZ2h0IDIwMDQgUGljdHVyZSBFbGVtZW50cywgSW5jLgogIyBTdGVwaGVuIFdpbGxpYW1zIDxzdGV2ZUBpY2FydXMuY29tPgogIwpkaWZmIC0tZ2l0IGEvYm9hcmQvbmV0c3Rhci9NYWtlZmlsZSBiL2JvYXJkL25ldHN0YXIvTWFrZWZpbGUKaW5kZXggYjdjMDkyZC4uMjdkOTZkMiAxMDA2NDQKLS0tIGEvYm9hcmQvbmV0c3Rhci9NYWtlZmlsZQorKysgYi9ib2FyZC9uZXRzdGFyL01ha2VmaWxlCkBAIC0xLDQgKzEsNCBAQAotIyAKKyMKICMgKEMpIENvcHlyaWdodCAyMDA2CiAjIFdvbGZnYW5nIERlbmssIERFTlggU29mdHdhcmUgRW5naW5lZXJpbmcsIHdkQGRlbnguZGUuCiAjCmRpZmYgLS1naXQgYS9ib2FyZC9zYzUyMF9zcHVuay9NYWtlZmlsZSBiL2JvYXJkL3NjNTIwX3NwdW5rL01ha2VmaWxlCmluZGV4IDk5NThlODAuLjVlOGMxNWQgMTAwNjQ0Ci0tLSBhL2JvYXJkL3NjNTIwX3NwdW5rL01ha2VmaWxlCisrKyBiL2JvYXJkL3NjNTIwX3NwdW5rL01ha2VmaWxlCkBAIC0xLDcgKzEsNyBAQAogIwogIyAoQykgQ29weXJpZ2h0IDIwMDYKICMgV29sZmdhbmcgRGVuaywgREVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZywgd2RAZGVueC5kZS4KLSMgCisjCiAjIChDKSBDb3B5cmlnaHQgMjAwMgogIyBEYW5pZWwgRW5nc3Ry9m0sIE9taWNyb24gQ2V0aSBBQiwgZGFuaWVsQG9taWNyb24uc2UuCiAjCmRpZmYgLS1naXQgYS9ib2FyZC90cW01MjAwL2NhbTUyMDBfZmxhc2guYyBiL2JvYXJkL3RxbTUyMDAvY2FtNTIwMF9mbGFzaC5jCmluZGV4IDg1ZDMxMGIuLjFhNDA2MzMgMTAwNjQ0Ci0tLSBhL2JvYXJkL3RxbTUyMDAvY2FtNTIwMF9mbGFzaC5jCisrKyBiL2JvYXJkL3RxbTUyMDAvY2FtNTIwMF9mbGFzaC5jCkBAIC00Niw3ICs0Niw3IEBACiAgKiBzd2FwcGluZyBpcyBuZWNlc3Nhcnkgd2l0aGluIGVhY2ggMTYgYml0IHdpZGUgZmxhc2ggJ3dvcmQnLgogICoKICAqIFRoaXMgZHJpdmVyJ3MgdGFzayBpcyB0byBoYW5kbGUgYm90aCBmbGFzaCBkZXZpY2VzOiAzMiBiaXQgVFFNNTIwMEIKLSAqIGZsYXNoIGNoaXAgYW5kIDE2IGJpdCBOSU9TIGNwdSBmbGFzaCBjaGlwLiBJbiB0aGUgYmVsb3cgCisgKiBmbGFzaCBjaGlwIGFuZCAxNiBiaXQgTklPUyBjcHUgZmxhc2ggY2hpcC4gSW4gdGhlIGJlbG93CiAgKiBmbGFzaF9hZGRyX3RhYmxlIHRhYmxlIHdlIHVzZSBsZWFzdCBzaWduaWZpY2FudCBhZGRyZXNzIGJpdCB0byBtYXJrCiAgKiAxNiBiaXQgZmxhc2ggYmFuayBhbmQgdHdvIHNldHMgb2Ygcm91dGluZXMgKl8zMiBhbmQgKl8xNiB0byBoYW5kbGUKICAqIHNwZWNpZmljcyBvZiBib3RoIGZsYXNoZXMuCmRpZmYgLS1naXQgYS9ib2FyZC90cW04MzR4L01ha2VmaWxlIGIvYm9hcmQvdHFtODM0eC9NYWtlZmlsZQppbmRleCA2OTkxY2ZiLi4yNGJkOTNmIDEwMDY0NAotLS0gYS9ib2FyZC90cW04MzR4L01ha2VmaWxlCisrKyBiL2JvYXJkL3RxbTgzNHgvTWFrZWZpbGUKQEAgLTEsNyArMSw3IEBACiAjCiAjIChDKSBDb3B5cmlnaHQgMjAwNgogIyBXb2xmZ2FuZyBEZW5rLCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nLCB3ZEBkZW54LmRlLgotIyAKKyMKICMgQ29weXJpZ2h0IDIwMDQgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KICMKICMgU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKZGlmZiAtLWdpdCBhL2NvbW1vbi9sY2QuYyBiL2NvbW1vbi9sY2QuYwppbmRleCBkNzkzNTBmLi5kZjMxY2E5IDEwMDY0NAotLS0gYS9jb21tb24vbGNkLmMKKysrIGIvY29tbW9uL2xjZC5jCkBAIC02NjEsOCArNjYxLDggQEAKIAkgKiAgU28sIGluIGNhc2Ugb2YgTW9ub2Nocm9tZSBCTVAgd2Ugc2hvdWxkIGFsaWduIHdpZHRocwogCSAqIG9uIGEgYnl0ZSBib3VuZGFyeSBhbmQgY29udmVydCB0aGVtIGZyb20gQml0IHRvIEJ5dGUKIAkgKiB1bml0cy4KLQkgKiAgUHJvYmFibHksIFBYQTI1MCBhbmQgTVBDODIzIHByb2Nlc3MgMWJwcCBCTVAgaW1hZ2VzIGluIAotCSAqIHRoZWlyIG93biB3YXlzLCBzbyBtYWtlIHRoZSBjb252ZXJ0aW5nIHRvIGJlIE1DQzIwMCAKKwkgKiAgUHJvYmFibHksIFBYQTI1MCBhbmQgTVBDODIzIHByb2Nlc3MgMWJwcCBCTVAgaW1hZ2VzIGluCisJICogdGhlaXIgb3duIHdheXMsIHNvIG1ha2UgdGhlIGNvbnZlcnRpbmcgdG8gYmUgTUNDMjAwCiAJICogc3BlY2lmaWMuCiAJICovCiAjaWYgZGVmaW5lZChDT05GSUdfTUNDMjAwKQpkaWZmIC0tZ2l0IGEvY29uZmlnLm1rIGIvY29uZmlnLm1rCmluZGV4IDBmNWQwZjQuLjUwMGZiY2YgMTAwNjQ0Ci0tLSBhL2NvbmZpZy5taworKysgYi9jb25maWcubWsKQEAgLTI1LDcgKzI1LDcgQEAKIAogaWZuZXEgKCQoT0JKVFJFRSksJChTUkNUUkVFKSkKIGlmZXEgKCQoQ1VSRElSKSwkKFNSQ1RSRUUpKQotZGlyIDo9IAorZGlyIDo9CiBlbHNlCiBkaXIgOj0gJChzdWJzdCAkKFNSQ1RSRUUpLywsJChDVVJESVIpKQogZW5kaWYKZGlmZiAtLWdpdCBhL2NwdS9pMzg2L01ha2VmaWxlIGIvY3B1L2kzODYvTWFrZWZpbGUKaW5kZXggY2Q0NmRlYS4uMTI0NWNmMCAxMDA2NDQKLS0tIGEvY3B1L2kzODYvTWFrZWZpbGUKKysrIGIvY3B1L2kzODYvTWFrZWZpbGUKQEAgLTEsNyArMSw3IEBACiAjCiAjIChDKSBDb3B5cmlnaHQgMjAwNgogIyBXb2xmZ2FuZyBEZW5rLCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nLCB3ZEBkZW54LmRlLgotIyAKKyMKICMgKEMpIENvcHlyaWdodCAyMDAyCiAjIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCBkYW5pZWxAb21pY3Jvbi5zZS4KICMKZGlmZiAtLWdpdCBhL2NwdS9tcGM1eHh4L2ludGVycnVwdHMuYyBiL2NwdS9tcGM1eHh4L2ludGVycnVwdHMuYwppbmRleCA3YjVjYjhiLi5iZWViMjIyIDEwMDY0NAotLS0gYS9jcHUvbXBjNXh4eC9pbnRlcnJ1cHRzLmMKKysrIGIvY3B1L21wYzV4eHgvaW50ZXJydXB0cy5jCkBAIC0zMiw3ICszMiw3IEBACiAgKgogICogQmFzZWQgb24gKHdlbGwsIG1vc3RseSBjb3BpZWQgZnJvbSkgdGhlIGNvZGUgZnJvbSB0aGUgMi40IGtlcm5lbCBieQogICogRGFsZSBGYXJuc3dvcnRoIDxkZmFybnN3b3J0aEBtdmlzdGEuY29tPiBhbmQgS2VudCBCb3JnLgotICogCisgKgogICogQ29weXJpZ2h0IChDKSAyMDA0IFN5bHZhaW4gTXVuYXV0IDx0bnRAMjQ2dE50LmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAwMyBNb250YXZpc3RhIFNvZnR3YXJlLCBJbmMKICAqLwpkaWZmIC0tZ2l0IGEvY3B1L21wYzgzeHgvTWFrZWZpbGUgYi9jcHUvbXBjODN4eC9NYWtlZmlsZQppbmRleCBmM2ZhNmZkLi44NWUzMmUxIDEwMDY0NAotLS0gYS9jcHUvbXBjODN4eC9NYWtlZmlsZQorKysgYi9jcHUvbXBjODN4eC9NYWtlZmlsZQpAQCAtMSw3ICsxLDcgQEAKICMKICMgKEMpIENvcHlyaWdodCAyMDA2CiAjIFdvbGZnYW5nIERlbmssIERFTlggU29mdHdhcmUgRW5naW5lZXJpbmcsIHdkQGRlbnguZGUuCi0jIAorIwogIyBDb3B5cmlnaHQgMjAwNCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgogIwogIyBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwpkaWZmIC0tZ2l0IGEvY3B1L3BwYzR4eC9uZGZjLmMgYi9jcHUvcHBjNHh4L25kZmMuYwppbmRleCBjMjU1ZjkzLi4xODNhYjVlIDEwMDY0NAotLS0gYS9jcHUvcHBjNHh4L25kZmMuYworKysgYi9jcHUvcHBjNHh4L25kZmMuYwpAQCAtNjUsOCArNjUsOCBAQAogCiBzdGF0aWMgdm9pZCBuZGZjX3dyaXRlX2J5dGUoc3RydWN0IG10ZF9pbmZvICptdGRpbmZvLCB1X2NoYXIgYnl0ZSkKIHsKLSAgICAgICAgc3RydWN0IG5hbmRfY2hpcCAqdGhpcyA9IG10ZGluZm8tPnByaXY7Ci0gICAgICAgIHVsb25nIGJhc2UgPSAodWxvbmcpIHRoaXMtPklPX0FERFJfVzsKKwlzdHJ1Y3QgbmFuZF9jaGlwICp0aGlzID0gbXRkaW5mby0+cHJpdjsKKwl1bG9uZyBiYXNlID0gKHVsb25nKSB0aGlzLT5JT19BRERSX1c7CiAKIAlpZiAoaHdjdGwgJiAweDEpCiAJCW91dDgoYmFzZSArIE5ERkNfQ01ELCBieXRlKTsKQEAgLTc4LDE2ICs3OCwxNiBAQAogCiBzdGF0aWMgdV9jaGFyIG5kZmNfcmVhZF9ieXRlKHN0cnVjdCBtdGRfaW5mbyAqbXRkaW5mbykKIHsKLSAgICAgICAgc3RydWN0IG5hbmRfY2hpcCAqdGhpcyA9IG10ZGluZm8tPnByaXY7Ci0gICAgICAgIHVsb25nIGJhc2UgPSAodWxvbmcpIHRoaXMtPklPX0FERFJfVzsKKwlzdHJ1Y3QgbmFuZF9jaGlwICp0aGlzID0gbXRkaW5mby0+cHJpdjsKKwl1bG9uZyBiYXNlID0gKHVsb25nKSB0aGlzLT5JT19BRERSX1c7CiAKIAlyZXR1cm4gKGluOChiYXNlICsgTkRGQ19EQVRBKSk7CiB9CiAKIHN0YXRpYyBpbnQgbmRmY19kZXZfcmVhZHkoc3RydWN0IG10ZF9pbmZvICptdGRpbmZvKQogewotICAgICAgICBzdHJ1Y3QgbmFuZF9jaGlwICp0aGlzID0gbXRkaW5mby0+cHJpdjsKLSAgICAgICAgdWxvbmcgYmFzZSA9ICh1bG9uZykgdGhpcy0+SU9fQUREUl9XOworCXN0cnVjdCBuYW5kX2NoaXAgKnRoaXMgPSBtdGRpbmZvLT5wcml2OworCXVsb25nIGJhc2UgPSAodWxvbmcpIHRoaXMtPklPX0FERFJfVzsKIAogCXdoaWxlICghKGluMzIoYmFzZSArIE5ERkNfU1RBVCkgJiBOREZDX1NUQVRfSVNfUkVBRFkpKQogCQk7CkBAIC0xMTAsOCArMTEwLDggQEAKICAqLwogc3RhdGljIHZvaWQgbmRmY19yZWFkX2J1ZihzdHJ1Y3QgbXRkX2luZm8gKm10ZGluZm8sIHVpbnQ4X3QgKmJ1ZiwgaW50IGxlbikKIHsKLSAgICAgICAgc3RydWN0IG5hbmRfY2hpcCAqdGhpcyA9IG10ZGluZm8tPnByaXY7Ci0gICAgICAgIHVsb25nIGJhc2UgPSAodWxvbmcpIHRoaXMtPklPX0FERFJfVzsKKwlzdHJ1Y3QgbmFuZF9jaGlwICp0aGlzID0gbXRkaW5mby0+cHJpdjsKKwl1bG9uZyBiYXNlID0gKHVsb25nKSB0aGlzLT5JT19BRERSX1c7CiAJdWludDMyX3QgKnAgPSAodWludDMyX3QgKikgYnVmOwogCiAJZm9yKDtsZW4gPiAwOyBsZW4gLT0gNCkKQEAgLTEyMCw4ICsxMjAsOCBAQAogCiBzdGF0aWMgdm9pZCBuZGZjX3dyaXRlX2J1ZihzdHJ1Y3QgbXRkX2luZm8gKm10ZGluZm8sIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGxlbikKIHsKLSAgICAgICAgc3RydWN0IG5hbmRfY2hpcCAqdGhpcyA9IG10ZGluZm8tPnByaXY7Ci0gICAgICAgIHVsb25nIGJhc2UgPSAodWxvbmcpIHRoaXMtPklPX0FERFJfVzsKKwlzdHJ1Y3QgbmFuZF9jaGlwICp0aGlzID0gbXRkaW5mby0+cHJpdjsKKwl1bG9uZyBiYXNlID0gKHVsb25nKSB0aGlzLT5JT19BRERSX1c7CiAJdWludDMyX3QgKnAgPSAodWludDMyX3QgKikgYnVmOwogCiAJZm9yKDsgbGVuID4gMDsgbGVuIC09IDQpCkBAIC0xMzAsOCArMTMwLDggQEAKIAogc3RhdGljIGludCBuZGZjX3ZlcmlmeV9idWYoc3RydWN0IG10ZF9pbmZvICptdGRpbmZvLCBjb25zdCB1aW50OF90ICpidWYsIGludCBsZW4pCiB7Ci0gICAgICAgIHN0cnVjdCBuYW5kX2NoaXAgKnRoaXMgPSBtdGRpbmZvLT5wcml2OwotICAgICAgICB1bG9uZyBiYXNlID0gKHVsb25nKSB0aGlzLT5JT19BRERSX1c7CisJc3RydWN0IG5hbmRfY2hpcCAqdGhpcyA9IG10ZGluZm8tPnByaXY7CisJdWxvbmcgYmFzZSA9ICh1bG9uZykgdGhpcy0+SU9fQUREUl9XOwogCXVpbnQzMl90ICpwID0gKHVpbnQzMl90ICopIGJ1ZjsKIAogCWZvcig7IGxlbiA+IDA7IGxlbiAtPSA0KQpkaWZmIC0tZ2l0IGEvY3B1L3BwYzR4eC9zdGFydC5TIGIvY3B1L3BwYzR4eC9zdGFydC5TCmluZGV4IDVhMWFiMzguLjNmMjkzMTQgMTAwNjQ0Ci0tLSBhL2NwdS9wcGM0eHgvc3RhcnQuUworKysgYi9jcHUvcHBjNHh4L3N0YXJ0LlMKQEAgLTE3Myw5ICsxNzMsOSBAQAogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBfc3RhcnRfNDQwOgotICAgICAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotICAgICAgICB8IDQ0MEVQWCBCVVAgQ2hhbmdlIC0gSGFyZHdhcmUgdGVhbSByZXF1ZXN0Ci0gICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKwl8IDQ0MEVQWCBCVVAgQ2hhbmdlIC0gSGFyZHdhcmUgdGVhbSByZXF1ZXN0CisJKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICNpZiBkZWZpbmVkKENPTkZJR180NDBFUFgpIHx8IGRlZmluZWQoQ09ORklHXzQ0MEdSWCkKIAlzeW5jCiAJbm9wCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NlcmlhbC5jIGIvZHJpdmVycy9zZXJpYWwuYwppbmRleCA4ZDFhZTk2Li43NjQyNWQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3NlcmlhbC5jCisrKyBiL2RyaXZlcnMvc2VyaWFsLmMKQEAgLTM5LDcgKzM5LDcgQEAKICNpZiAhZGVmaW5lZChDT05GSUdfQ09OU19JTkRFWCkKICNpZiBkZWZpbmVkIChDT05GSUdfU0VSSUFMX01VTFRJKQogLyogICB3aXRoIENPTkZJR19TRVJJQUxfTVVMVEkgd2UgbWlnaHQgaGF2ZSBubyBjb25zb2xlCi0gKiAgb24gdGhlc2UgZGV2aWNlcyAKKyAqICBvbiB0aGVzZSBkZXZpY2VzCiAgKi8KICNlbHNlCiAjZXJyb3IJIk5vIGNvbnNvbGUgaW5kZXggc3BlY2lmaWVkLiIKQEAgLTIzOCw3ICsyMzgsNyBAQAogI2VuZGlmCiAKICNpZiBkZWZpbmVkKENPTkZJR19TRVJJQUxfTVVMVEkpCi1zdGF0aWMgaW5saW5lIHZvaWQgCitzdGF0aWMgaW5saW5lIHZvaWQKIHNlcmlhbF9wdXRjX3Jhd19kZXYodW5zaWduZWQgaW50IGRldl9pbmRleCxjb25zdCBjaGFyIGMpCiB7CiAJX3NlcmlhbF9wdXRjX3JhdyhjLGRldl9pbmRleCk7CkBAIC0zMTAsNyArMzEwLDcgQEAKICNpZiBkZWZpbmVkKENPTkZJR19TRVJJQUxfTVVMVEkpCiAKIERFQ0xBUkVfRVNFUklBTF9GVU5DVElPTlMoMSk7Ci1zdHJ1Y3Qgc2VyaWFsX2RldmljZSBlc2VyaWFsMV9kZXZpY2UgPSAKK3N0cnVjdCBzZXJpYWxfZGV2aWNlIGVzZXJpYWwxX2RldmljZSA9CiAJSU5JVF9FU0VSSUFMX1NUUlVDVFVSRSgxLCJlc2VyaWFsMCIsIkVVQVJUMSIpOwogREVDTEFSRV9FU0VSSUFMX0ZVTkNUSU9OUygyKTsKIHN0cnVjdCBzZXJpYWxfZGV2aWNlIGVzZXJpYWwyX2RldmljZSA9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NrOThsaW4vTWFrZWZpbGUgYi9kcml2ZXJzL3NrOThsaW4vTWFrZWZpbGUKaW5kZXggYWMyMWUwMi4uNzZjNzUwYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zazk4bGluL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvc2s5OGxpbi9NYWtlZmlsZQpAQCAtMTA0LDQgKzEwNCwzIEBACiBzaW5jbHVkZSAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jb21tb24uaCBiL2luY2x1ZGUvY29tbW9uLmgKaW5kZXggYmVlMmZiNy4uYTg3M2ZhOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9jb21tb24uaAorKysgYi9pbmNsdWRlL2NvbW1vbi5oCkBAIC0xMTAsNyArMTEwLDcgQEAKICNlbmRpZgkvKiBERUJVRyAqLwogCiAjZGVmaW5lIEJVRygpIGRvIHsgXAotICAgICAgICBwcmludGYoIkJVRzogZmFpbHVyZSBhdCAlczolZC8lcygpIVxuIiwgX19GSUxFX18sIF9fTElORV9fLCBfX0ZVTkNUSU9OX18pOyBcCisJcHJpbnRmKCJCVUc6IGZhaWx1cmUgYXQgJXM6JWQvJXMoKSFcbiIsIF9fRklMRV9fLCBfX0xJTkVfXywgX19GVU5DVElPTl9fKTsgXAogCXBhbmljKCJCVUchIik7IFwKIH0gd2hpbGUgKDApCiAjZGVmaW5lIEJVR19PTihjb25kaXRpb24pIGRvIHsgaWYgKHVubGlrZWx5KChjb25kaXRpb24pIT0wKSkgQlVHKCk7IH0gd2hpbGUoMCkKZGlmZiAtLWdpdCBhL2xpYl9nZW5lcmljL01ha2VmaWxlIGIvbGliX2dlbmVyaWMvTWFrZWZpbGUKaW5kZXggZmNkNDNjNi4uYTA1YjM1NSAxMDA2NDQKLS0tIGEvbGliX2dlbmVyaWMvTWFrZWZpbGUKKysrIGIvbGliX2dlbmVyaWMvTWFrZWZpbGUKQEAgLTI5LDcgKzI5LDcgQEAKIAkgIGJ6bGliX3JhbmR0YWJsZS5vIGJ6bGliX2h1ZmZtYW4ubyBcCiAJICBjcmMzMi5vIGN0eXBlLm8gZGlzcGxheV9vcHRpb25zLm8gbGRpdi5vIFwKIAkgIHN0cmluZy5vIHZzcHJpbnRmLm8gemxpYi5vCi0JICAKKwogU1JDUyAJOj0gJChDT0JKUzoubz0uYykKIE9CSlMJOj0gJChhZGRwcmVmaXggJChvYmopLCQoQ09CSlMpKQogCmRpZmYgLS1naXQgYS9uYW5kX3NwbC9uYW5kX2Jvb3QuYyBiL25hbmRfc3BsL25hbmRfYm9vdC5jCmluZGV4IDIxYWJiMDkuLmExMzZmYjcgMTAwNjQ0Ci0tLSBhL25hbmRfc3BsL25hbmRfYm9vdC5jCisrKyBiL25hbmRfc3BsL25hbmRfYm9vdC5jCkBAIC0zNCw3ICszNCw3IEBACiAKIHN0YXRpYyBpbnQgbmFuZF9pc19iYWRfYmxvY2soc3RydWN0IG10ZF9pbmZvICptdGQsIGludCBibG9jaykKIHsKLSAgICAgICAgc3RydWN0IG5hbmRfY2hpcCAqdGhpcyA9IG10ZC0+cHJpdjsKKwlzdHJ1Y3QgbmFuZF9jaGlwICp0aGlzID0gbXRkLT5wcml2OwogCWludCBwYWdlX2FkZHIgPSBibG9jayAqIENGR19OQU5EX1BBR0VfQ09VTlQ7CiAKIAkvKiBCZWdpbiBjb21tYW5kIGxhdGNoIGN5Y2xlICovCkBAIC03Myw3ICs3Myw3IEBACiAKIHN0YXRpYyBpbnQgbmFuZF9yZWFkX3BhZ2Uoc3RydWN0IG10ZF9pbmZvICptdGQsIGludCBibG9jaywgaW50IHBhZ2UsIHVjaGFyICpkc3QpCiB7Ci0gICAgICAgIHN0cnVjdCBuYW5kX2NoaXAgKnRoaXMgPSBtdGQtPnByaXY7CisJc3RydWN0IG5hbmRfY2hpcCAqdGhpcyA9IG10ZC0+cHJpdjsKIAlpbnQgcGFnZV9hZGRyID0gcGFnZSArIGJsb2NrICogQ0ZHX05BTkRfUEFHRV9DT1VOVDsKIAlpbnQgaTsKIApkaWZmIC0tZ2l0IGEvdG9vbHMvTWFrZWZpbGUgYi90b29scy9NYWtlZmlsZQppbmRleCA2MDZmMDI0Li42MTc3ZjkwIDEwMDY0NAotLS0gYS90b29scy9NYWtlZmlsZQorKysgYi90b29scy9NYWtlZmlsZQpAQCAtMTA4LDcgKzEwOCw3IEBACiBpbmNsdWRlICQoVE9QRElSKS9jb25maWcubWsKIAogIyBub3cgJChvYmopIGlzIGRlZmluZWQKLVNSQ1MJOj0gJChhZGRwcmVmaXggJChvYmopLCQoT0JKX0xJTktTOi5vPS5jKSkgJChPQkpfRklMRVM6Lm89LmMpIAorU1JDUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChPQkpfTElOS1M6Lm89LmMpKSAkKE9CSl9GSUxFUzoubz0uYykKIEJJTlMJOj0gJChhZGRwcmVmaXggJChvYmopLCQoQklOX0ZJTEVTKSkKIAogIwpkaWZmIC0tZ2l0IGEvdG9vbHMvZ2RiL01ha2VmaWxlIGIvdG9vbHMvZ2RiL01ha2VmaWxlCmluZGV4IGRiY2I5MWYuLjYzMjEwM2QgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2dkYi9NYWtlZmlsZQorKysgYi90b29scy9nZGIvTWFrZWZpbGUKQEAgLTMxLDcgKzMxLDcgQEAKIENPQkpTCT0gZ2Ric2VuZC5vIGdkYmNvbnQubyBlcnJvci5vIHJlbW90ZS5vIHNlcmlhbC5vCiAKIE9CSlMJOj0gJChhZGRwcmVmaXggJChvYmopLCQoQ09CSlMpKQotU1JDUwk6PSAkKENPQkpTOi5vPS5jKSAKK1NSQ1MJOj0gJChDT0JKUzoubz0uYykKIEJJTlMJOj0gJChhZGRwcmVmaXggJChvYmopLCQoQklOUykpCiAKICMK