From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Michal Ruprich To: git-commits@fedoraproject.org Subject: [rpms/rsync] f44: New version 3.5.0, cleanup of old patches Date: Wed, 19 Aug 2026 21:26:09 GMT Message-ID: <178717476944.1.15270909844453994825.rpms-rsync-fc1f1559bb16@fedoraproject.org> List-ID: X-Git-Repo: rpms/rsync X-Git-Branch: f44 X-Git-Rev: fc1f1559bb160cbc2dc5349f13abb4f9e021156a QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcnN5bmMKQnJhbmNo IDogZjQ0CkNvbW1pdCA6IGZjMWYxNTU5YmIxNjBjYmMyZGM1MzQ5ZjEzYWJiNGY5ZTAyMTE1NmEK QXV0aG9yIDogTWljaGFsIFJ1cHJpY2ggPG1ydXByaWNoQHJlZGhhdC5jb20+CkRhdGUgICA6IDIw MjYtMDgtMTlUMjE6NTM6MTkrMDI6MDAKU3RhdHMgIDogKzU2Ly0xMTc3IGluIDE2IGZpbGUocykK VVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9yc3luYy9jL2ZjMWYx NTU5YmIxNjBjYmMyZGM1MzQ5ZjEzYWJiNGY5ZTAyMTE1NmE/YnJhbmNoPWY0NAoKTG9nOgpOZXcg dmVyc2lvbiAzLjUuMCwgY2xlYW51cCBvZiBvbGQgcGF0Y2hlcwoKLS0tCmRpZmYgLS1naXQgYS8u Z2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCBiMDk4YjJiLi5lNTFhZTE5IDEwMDY0NAotLS0g YS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTMyLDMgKzMyLDQgQEAgcnN5bmMtcGF0 Y2hlcy0zLjAuOC50YXIuZ3oKIC9yc3luYy1wYXRjaGVzLTMuNC4xLnRhci5negogL3JzeW5jLTMu NC4zLnRhci5negogL3JzeW5jLTMuNC40LnRhci5negorL3JzeW5jLTMuNS4wLnRhci5negoKZGlm ZiAtLWdpdCBhL3JzeW5jLTMuMC42LWljb252LWxvZ2dpbmcucGF0Y2ggYi9yc3luYy0zLjAuNi1p Y29udi1sb2dnaW5nLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZjdkOTQz Li4wMDAwMDAwCi0tLSBhL3JzeW5jLTMuMC42LWljb252LWxvZ2dpbmcucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwyMiArMCwwIEBACi1kaWZmIC0tZ2l0IGEvbG9nLmMgYi9sb2cuYwotaW5kZXgg MzRhMDEzYi4uMWFjYTcyOCAxMDA2NDQKLS0tLSBhL2xvZy5jCi0rKysgYi9sb2cuYwotQEAgLTM3 NywxMCArMzc3LDEzIEBAIG91dHB1dF9tc2c6Ci0gCQkJCWZpbHRlcmVkX2Z3cml0ZShmLCBjb252 YnVmLCBvdXRidWYubGVuLCAwKTsKLSAJCQkJb3V0YnVmLmxlbiA9IDA7Ci0gCQkJfQotLQkJCWlm ICghaWVycm5vIHx8IGllcnJubyA9PSBFMkJJRykKLS0JCQkJY29udGludWU7Ci0tCQkJZnByaW50 ZihmLCAiXFwjJTAzbyIsIENWQUwoaW5idWYuYnVmLCBpbmJ1Zi5wb3MrKykpOwotLQkJCWluYnVm Lmxlbi0tOwotKwkJCS8qIExvZyBvbmUgYnl0ZSBvZiBpbGxlZ2FsL2luY29tcGxldGUgc2VxdWVu Y2UgYW5kIGNvbnRpbnVlIHdpdGgKLSsJCQkgKiB0aGUgbmV4dCBjaGFyYWN0ZXIuIENoZWNrIHRo YXQgdGhlIGJ1ZmZlciBpcyBub24tZW1wdHkgZm9yIHRoZQotKwkJCSAqIHNha2Ugb2Ygcm9idXN0 bmVzcy4gKi8KLSsJCQlpZiAoKGllcnJubyA9PSBFSUxTRVEgfHwgaWVycm5vID09IEVJTlZBTCkg JiYgaW5idWYubGVuKSB7Ci0rCQkJCWZwcmludGYoZiwgIlxcIyUwM28iLCBDVkFMKGluYnVmLmJ1 ZiwgaW5idWYucG9zKyspKTsKLSsJCQkJaW5idWYubGVuLS07Ci0rCQkJfQotIAkJfQotIAl9IGVs c2UKLSAjZW5kaWYKCmRpZmYgLS1naXQgYS9yc3luYy0zLjIuMi1ydW50ZXN0cy5wYXRjaCBiL3Jz eW5jLTMuMi4yLXJ1bnRlc3RzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw ZjY4MmU1Li4wMDAwMDAwCi0tLSBhL3JzeW5jLTMuMi4yLXJ1bnRlc3RzLnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsMTIgKzAsMCBAQAotZGlmZiAtLWdpdCBhL3J1bnRlc3RzLnNoLm9sZCBiL3J1 bnRlc3RzLnNoCi1pbmRleCBlY2IzODNlLi4xY2QxZDFhIDEwMDc1NQotLS0tIGEvcnVudGVzdHMu c2gub2xkCi0rKysgYi9ydW50ZXN0cy5zaAotQEAgLTI3Niw2ICsyNzYsNyBAQCBkbwotIAotICAg ICBjYXNlICIkdGVzdHNjcmlwdCIgaW4KLSAgICAgKmhhcmRsaW5rcyopIFRFU1RSVU5fVElNRU9V VD02MDAgOzsKLSsgICAgKmRlZmF1bHQtYWNscyopIGNvbnRpbnVlIDs7Ci0gICAgICopIFRFU1RS VU5fVElNRU9VVD0zMDAgOzsKLSAgICAgZXNhYwotIAoKZGlmZiAtLWdpdCBhL3JzeW5jLTMuNC4x LWNvcnJlY3QtbG9nLXRpbWUucGF0Y2ggYi9yc3luYy0zLjQuMS1jb3JyZWN0LWxvZy10aW1lLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDhiMDUwLi4wMDAwMDAwCi0tLSBh L3JzeW5jLTMuNC4xLWNvcnJlY3QtbG9nLXRpbWUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1 MCArMCwwIEBACi1Gcm9tIDhlMTFmMGMxNjkyMjZlNmQxNjZhMTExYWE4ZjkwODgxZTc3ZmU4MzQg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNaWNoYWwgUnVwcmljaCA8bXJ1cHJpY2hA cmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMzEgSmFuIDIwMjUgMTQ6MzU6MTggKzAxMDAKLVN1Ympl Y3Q6IFtQQVRDSF0gVXNpbmcgYSBjb3JyZWN0IHRpbWUgaW4gbG9nIGZpbGUKLQotLS0tCi0gb3B0 aW9ucy5jIHwgMiArLQotIHRscy5jICAgICB8IDIgKy0KLSB1dGlsMS5jICAgfCAyICstCi0gMyBm aWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1n aXQgYS9vcHRpb25zLmMgYi9vcHRpb25zLmMKLWluZGV4IDc0YjM5YmY2YS4uNThlZDAzNWZlIDEw MDY0NAotLS0tIGEvb3B0aW9ucy5jCi0rKysgYi9vcHRpb25zLmMKLUBAIC0xMTU5LDcgKzExNTks NyBAQCBzdGF0aWMgdGltZV90IHBhcnNlX3RpbWUoY29uc3QgY2hhciAqYXJnKQotIHsKLSAJY29u c3QgY2hhciAqY3A7Ci0gCXRpbWVfdCB2YWwsIG5vdyA9IHRpbWUoTlVMTCk7Ci0tCXN0cnVjdCB0 bSB0LCAqdG9kYXkgPSBsb2NhbHRpbWUoJm5vdyk7Ci0rCXN0cnVjdCB0bSB0LCB0bXAsICp0b2Rh eSA9IGxvY2FsdGltZV9yKCZub3csICZ0bXApOwotIAlpbnQgaW5fZGF0ZSwgb2xkX21kYXksIG47 Ci0gCi0gCW1lbXNldCgmdCwgMCwgc2l6ZW9mIHQpOwotZGlmZiAtLWdpdCBhL3Rscy5jIGIvdGxz LmMKLWluZGV4IGUzMTEyNDBhZi4uZTA1ZjdlYzIzIDEwMDY0NAotLS0tIGEvdGxzLmMKLSsrKyBi L3Rscy5jCi1AQCAtMTI3LDcgKzEyNyw3IEBAIHN0YXRpYyB2b2lkIHN0b3JldGltZShjaGFyICpk ZXN0LCBzaXplX3QgZGVzdHNpemUsIHRpbWVfdCB0LCBpbnQgbnNlY3MpCi0gewotIAlpZiAodCkg ewotIAkJaW50IGxlbjsKLS0JCXN0cnVjdCB0bSAqbXQgPSBnbXRpbWUoJnQpOwotKwkJc3RydWN0 IHRtIHRtcCwgKm10ID0gZ210aW1lX3IoJnQsICZ0bXApOwotIAotIAkJbGVuID0gc25wcmludGYo ZGVzdCwgZGVzdHNpemUsCi0gCQkJIiAlMDRkLSUwMmQtJTAyZCAlMDJkOiUwMmQ6JTAyZCIsCi1k aWZmIC0tZ2l0IGEvdXRpbDEuYyBiL3V0aWwxLmMKLWluZGV4IGU0Nzc3NTlhNC4uMjVhYzdjOWIw IDEwMDY0NAotLS0tIGEvdXRpbDEuYwotKysrIGIvdXRpbDEuYwotQEAgLTEzOTMsNyArMTM5Myw3 IEBAIGNoYXIgKnRpbWVzdHJpbmcodGltZV90IHQpCi0gCXN0YXRpYyBpbnQgbmR4ID0gMDsKLSAJ c3RhdGljIGNoYXIgYnVmZmVyc1s0XVsyMF07IC8qIFdlIHN1cHBvcnQgNCBzaW11bHRhbmVvdXMg dGltZXN0cmluZyByZXN1bHRzLiAqLwotIAljaGFyICpUaW1lQnVmID0gYnVmZmVyc1tuZHggPSAo bmR4ICsgMSkgJSA0XTsKLS0Jc3RydWN0IHRtICp0bSA9IGxvY2FsdGltZSgmdCk7Ci0rCXN0cnVj dCB0bSB0bXAsICp0bSA9IGxvY2FsdGltZV9yKCZ0LCAmdG1wKTsKLSAJaW50IGxlbiA9IHNucHJp bnRmKFRpbWVCdWYsIHNpemVvZiBidWZmZXJzWzBdLCAiJTRkLyUwMmQvJTAyZCAlMDJkOiUwMmQ6 JTAyZCIsCi0gCQkgKGludCl0bS0+dG1feWVhciArIDE5MDAsIChpbnQpdG0tPnRtX21vbiArIDEs IChpbnQpdG0tPnRtX21kYXksCi0gCQkgKGludCl0bS0+dG1faG91ciwgKGludCl0bS0+dG1fbWlu LCAoaW50KXRtLT50bV9zZWMpOwoKZGlmZiAtLWdpdCBhL3JzeW5jLTMuNC4xLWN2ZS0yMDI1LTEw MTU4LnBhdGNoIGIvcnN5bmMtMy40LjEtY3ZlLTIwMjUtMTAxNTgucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDY1Mjc0NzYuLjAwMDAwMDAKLS0tIGEvcnN5bmMtMy40LjEtY3Zl LTIwMjUtMTAxNTgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1Gcm9tIDc5 N2UxN2ZjNGE2ZjE1ZTNiMTc1NjUzOGE5ZjgxMmI2Mzk0MjY4NmYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCi1Gcm9tOiBBbmRyZXcgVHJpZGdlbGwgPGFuZHJld0B0cmlkZ2VsbC5uZXQ+Ci1EYXRl OiBTYXQsIDIzIEF1ZyAyMDI1IDE3OjI2OjUzICsxMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGZpeGVk IGFuIGludmFsaWQgYWNjZXNzIHRvIGZpbGVzIGFycmF5Ci0KLXRoaXMgd2FzIGZvdW5kIGJ5IENh bHVtIEh1dHRvbiBmcm9tIFJhcGlkNy4gSXQgaXMgYSByZWFsIGJ1ZywgYnV0Ci1hbmFseXNpcyBz aG93cyBpdCBjYW4ndCBiZSBsZXZlcmdlZCBpbnRvIGFuIGV4cGxvaXQuIFdvcnRoIGZpeGluZwot dGhvdWdoLgotCi1NYW55IHRoYW5rcyB0byBDYWx1bSBhbmQgUmFwaWQ3IGZvciBmaW5kaW5nIGFu ZCByZXBvcnRpbmcgdGhpcwotLS0tCi0gc2VuZGVyLmMgfCAyICsrCi0gMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc2VuZGVyLmMgYi9zZW5kZXIuYwotaW5k ZXggYTRkNDZjMzllLi5iMTU4OGI3MDEgMTAwNjQ0Ci0tLS0gYS9zZW5kZXIuYwotKysrIGIvc2Vu ZGVyLmMKLUBAIC0yNjIsNiArMjYyLDggQEAgdm9pZCBzZW5kX2ZpbGVzKGludCBmX2luLCBpbnQg Zl9vdXQpCi0gCi0gCQlpZiAobmR4IC0gY3VyX2ZsaXN0LT5uZHhfc3RhcnQgPj0gMCkKLSAJCQlm aWxlID0gY3VyX2ZsaXN0LT5maWxlc1tuZHggLSBjdXJfZmxpc3QtPm5keF9zdGFydF07Ci0rCQll bHNlIGlmIChjdXJfZmxpc3QtPnBhcmVudF9uZHggPCAwKQotKwkJCWV4aXRfY2xlYW51cChSRVJS X1BST1RPQ09MKTsKLSAJCWVsc2UKLSAJCQlmaWxlID0gZGlyX2ZsaXN0LT5maWxlc1tjdXJfZmxp c3QtPnBhcmVudF9uZHhdOwotIAkJaWYgKEZfUEFUSE5BTUUoZmlsZSkpIHsKCmRpZmYgLS1naXQg YS9yc3luYy0zLjQuMS1jdmUtMjAyNi00MTAzNS5wYXRjaCBiL3JzeW5jLTMuNC4xLWN2ZS0yMDI2 LTQxMDM1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNzVhMDViLi4wMDAw MDAwCi0tLSBhL3JzeW5jLTMuNC4xLWN2ZS0yMDI2LTQxMDM1LnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMzIgKzAsMCBAQAotRnJvbSBiYjBhODExOGMyZDJhYjAxMTQwYmFjNWU0ZTMyN2U1ZTFl ZjkwYzljIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQW5kcmV3IFRyaWRnZWxsIDxh bmRyZXdAdHJpZGdlbGwubmV0PgotRGF0ZTogV2VkLCAyMiBBcHIgMjAyNiAwOTo1Nzo0NSArMTAw MAotU3ViamVjdDogW1BBVENIXSB4YXR0cnM6IGZpeGVkIGNvdW50IGluIHFzb3J0Ci0KLXRoaXMg Zml4ZXMgdGhlIGNvdW50IHBhc3NlZCB0byB0aGUgc29ydCBvZiB0aGUgeGF0dHIgbGlzdC4gVGhp cyBpc3N1ZQotd2FzIHJlcG9ydGVkIGhlcmU6Ci0KLWh0dHBzOi8vd3d3Lm9wZW53YWxsLmNvbS9s aXN0cy9vc3Mtc2VjdXJpdHkvMjAyNi8wNC8xNi8yCi0KLXRoZSBidWcgaXMgbm90IGV4cGxvaXRh YmxlIGR1ZSB0byB0aGUgZm9yay1wZXItY29ubmVjdGlvbiBkZXNpZ24gb2YKLXJzeW5jLCB0aGUg YXR0YWNrIGlzIHRoZSBlcXVpdmFsZW50IG9mIHRoZSB1c2VyIGNsb3NpbmcgdGhlIHNvY2tldAot dGhlbXNlbHZlcy4KLS0tLQotIHhhdHRycy5jIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3hhdHRycy5jIGIv eGF0dHJzLmMKLWluZGV4IDI2ZTUwYTZmOS4uNjUxNjZlZWQ5IDEwMDY0NAotLS0tIGEveGF0dHJz LmMKLSsrKyBiL3hhdHRycy5jCi1AQCAtODYwLDggKzg2MCw4IEBAIHZvaWQgcmVjZWl2ZV94YXR0 cihpbnQgZiwgc3RydWN0IGZpbGVfc3RydWN0ICpmaWxlKQotIAkJcnhhLT5udW0gPSBudW07Ci0g CX0KLSAKLS0JaWYgKG5lZWRfc29ydCAmJiBjb3VudCA+IDEpCi0tCQlxc29ydCh0ZW1wX3hhdHRy Lml0ZW1zLCBjb3VudCwgc2l6ZW9mIChyc3luY194YSksIHJzeW5jX3hhbF9jb21wYXJlX25hbWVz KTsKLSsJaWYgKG5lZWRfc29ydCAmJiB0ZW1wX3hhdHRyLmNvdW50ID4gMSkKLSsJCXFzb3J0KHRl bXBfeGF0dHIuaXRlbXMsIHRlbXBfeGF0dHIuY291bnQsIHNpemVvZiAocnN5bmNfeGEpLCByc3lu Y194YWxfY29tcGFyZV9uYW1lcyk7Ci0gCi0gCW5keCA9IHJzeW5jX3hhbF9zdG9yZSgmdGVtcF94 YXR0cik7IC8qIGFkZHMgaXRlbSB0byByc3luY194YWxfbCAqLwotIAoKZGlmZiAtLWdpdCBhL3Jz eW5jLTMuNC4xLWdjYzE1LWZpeGVzLnBhdGNoIGIvcnN5bmMtMy40LjEtZ2NjMTUtZml4ZXMucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjMTQzOGEuLjAwMDAwMDAKLS0tIGEv cnN5bmMtMy40LjEtZ2NjMTUtZml4ZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCww IEBACi1Gcm9tIDAyNmVmNGNkMDk2NjBjMGEwOTZlMjg1ZTY2OGI0YmE3Y2QzOTY1MDkgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNaWNoYWwgUnVwcmljaCA8bXJ1cHJpY2hAcmVkaGF0 LmNvbT4KLURhdGU6IEZyaSwgMTcgSmFuIDIwMjUgMTI6Mzc6NTcgKzAxMDAKLVN1YmplY3Q6IFtQ QVRDSF0gYm9vbCBpcyBhIGtleXdvcmQgaW4gQzIzCi0KLS0tLQotIHdpbGR0ZXN0LmMgfCAyICsr Ci0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvd2lsZHRl c3QuYyBiL3dpbGR0ZXN0LmMKLWluZGV4IGJlYTRjZWJiZS4uNDgyY2RmMTcwIDEwMDY0NAotLS0t IGEvd2lsZHRlc3QuYwotKysrIGIvd2lsZHRlc3QuYwotQEAgLTMyLDcgKzMyLDkgQEAgaW50IGZu bWF0Y2hfZXJyb3JzID0gMDsKLSAKLSBpbnQgd2lsZG1hdGNoX2Vycm9ycyA9IDA7Ci0gCi0rI2lm ICFkZWZpbmVkKF9fU1REQ19WRVJTSU9OX18pIHx8IF9fU1REQ19WRVJTSU9OX18gPCAyMDIzMTFM Ci0gdHlwZWRlZiBjaGFyIGJvb2w7Ci0rI2VuZGlmCi0gCi0gaW50IG91dHB1dF9pdGVyYXRpb25z ID0gMDsKLSBpbnQgZXhwbG9kZV9tb2QgPSAwOwotZGlmZiAtLWdpdCBhL2ZsaXN0LmMgYi9mbGlz dC5jCi1pbmRleCBkNzI2Mzk0Li4wYWMyMDIwIDEwMDY0NAotLS0tIGEvZmxpc3QuYwotKysrIGIv Zmxpc3QuYwotQEAgLTI3ODQsNyArMjc4NCw3IEBAIHN0cnVjdCBmaWxlX2xpc3QgKnJlY3ZfZmls ZV9saXN0KGludCBmLCBpbnQgZGlyX25keCkKLSAJCW1lbWNweSh0aGVfZmF0dHJfbGlzdC5maWxl cywgZmxpc3QtPmZpbGVzLAotIAkJICAgICAgIGogKiBzaXplb2YgKHN0cnVjdCBmaWxlX3N0cnVj dCAqKSk7Ci0gCQlxc29ydCh0aGVfZmF0dHJfbGlzdC5maWxlcywgaiwKLS0JCSAgICAgIHNpemVv ZiB0aGVfZmF0dHJfbGlzdC5maWxlc1swXSwgKGludCAoKikoKSlmYXR0cl9jb21wYXJlKTsKLSsJ CSAgICAgIHNpemVvZiB0aGVfZmF0dHJfbGlzdC5maWxlc1swXSwgKGludCAoKikoY29uc3Qgdm9p ZCAqLCBjb25zdCB2b2lkICopKWZhdHRyX2NvbXBhcmUpOwotIAkJdGhlX2ZhdHRyX2xpc3QubG93 ID0gMDsKLSAJCXdoaWxlIChqLS0gPiAwKSB7Ci0gCQkJc3RydWN0IGZpbGVfc3RydWN0ICpmcCA9 IHRoZV9mYXR0cl9saXN0LmZpbGVzW2pdOwoKZGlmZiAtLWdpdCBhL3JzeW5jLTMuNC4xLXJyc3lu Yy1tYW4ucGF0Y2ggYi9yc3luYy0zLjQuMS1ycnN5bmMtbWFuLnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCA0OTVhNTNlLi4wMDAwMDAwCi0tLSBhL3JzeW5jLTMuNC4xLXJyc3lu Yy1tYW4ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzODcgKzAsMCBAQAotZGlmZiAtLWdpdCBh L01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KLWluZGV4IDNjZGU5NTUuLjA2MjMyZjEgMTAwNjQ0 Ci0tLS0gYS9NYWtlZmlsZS5pbgotKysrIGIvTWFrZWZpbGUuaW4KLUBAIC0xMDYsNiArMTA2LDkg QEAgcnN5bmMkKEVYRUVYVCk6ICQoT0JKUykKLSBycnN5bmM6IHN1cHBvcnQvcnJzeW5jCi0gCWNw IC1wICQoc3JjZGlyKS9zdXBwb3J0L3Jyc3luYyBycnN5bmMKLSAKLStycnN5bmMuMS5tZDogc3Vw cG9ydC9ycnN5bmMuMS5tZAotKwljcCAtcCAkKHNyY2Rpcikvc3VwcG9ydC9ycnN5bmMuMS5tZCBy cnN5bmMuMS5tZAotKwotICQoT0JKUyk6ICQoSEVBREVSUykKLSAkKENIRUNLX09CSlMpOiAkKEhF QURFUlMpCi0gdGxzLm8geGF0dHJzLm86IGxpYi9zeXN4YXR0cnMuaAotQEAgLTI2OSw3ICsyNjks NyBAQCByc3luY2QuY29uZi41OiByc3luY2QuY29uZi41Lm1kIG1kLWNvbnZlcnQgdmVyc2lvbi5o IE1ha2VmaWxlCi0gCUAkKHNyY2RpcikvbWF5YmUtbWFrZS1tYW4gcnN5bmNkLmNvbmYuNS5tZAot IAotIHJyc3luYy4xOiBzdXBwb3J0L3Jyc3luYy4xLm1kIG1kLWNvbnZlcnQgTWFrZWZpbGUKLS0J QCQoc3JjZGlyKS9tYXliZS1tYWtlLW1hbiBzdXBwb3J0L3Jyc3luYy4xLm1kCi0rCUAkKHNyY2Rp cikvbWF5YmUtbWFrZS1tYW4gcnJzeW5jLjEubWQKLSAKLSAuUEhPTlk6IGNsZWFuCi0gY2xlYW46 IGNsZWFudGVzdHMKLWRpZmYgLS1naXQgYS9wYXRjaGVzL2RldGVjdC1yZW5hbWVkLmRpZmYub2xk IGIvcGF0Y2hlcy9kZXRlY3QtcmVuYW1lZC5kaWZmCi1pbmRleCAwZWIxZGZjLi5iZTJmMTk5IDEw MDY0NAotLS0tIGEvcGF0Y2hlcy9kZXRlY3QtcmVuYW1lZC5kaWZmLm9sZAotKysrIGIvcGF0Y2hl cy9kZXRlY3QtcmVuYW1lZC5kaWZmCi1AQCAtNzgxLDM1OSArNzgxLDYgQEAgZGlmZiAtLWdpdCBh L3V0aWwxLmMgYi91dGlsMS5jCi0gIAkJCSpmbiA9ICcvJzsKLSAgCQkJcmV0dXJuIDA7Ci0gIAkJ fQotLWRpZmYgLU51cnAgYS9ycnN5bmMuMSBiL3Jyc3luYy4xCi0tLS0tIGEvcnJzeW5jLjEKLS0r KysgYi9ycnN5bmMuMQotLUBAIC0xLDE3NiArMCwwIEBACi0tLS5USCAicnJzeW5jIiAiMSIgIjE1 IEphbiAyMDI1IiAicnJzeW5jIGZyb20gcnN5bmMgMy40LjEiICJVc2VyIENvbW1hbmRzIgotLS0u XCIgcHJlZml4PS91c3IKLS0tLlAKLS0tLlNIICJOQU1FIgotLS0uUAotLS1ycnN5bmMgXC0gYSBz Y3JpcHQgdG8gc2V0dXAgcmVzdHJpY3RlZCByc3luYyB1c2VycyB2aWEgc3NoIGxvZ2lucwotLS0u UAotLS0uU0ggIlNZTk9QU0lTIgotLS0uUAotLS0ubmYKLS0tcnJzeW5jIFstcm98LXdvXSBbLW11 bmdlXSBbLW5vLWRlbF0gWy1uby1sb2NrXSBbLW5vLW92ZXJ3cml0ZV0gIERJUgotLS0uZmkKLS0t LlAKLS0tVGhlIHNpbmdsZSBub24tb3B0aW9uIGFyZ3VtZW50IHNwZWNpZmllcyB0aGUgcmVzdHJp Y3RlZCBcZklESVJcZlAgdG8gdXNlLiBJdCBjYW4gYmUKLS0tcmVsYXRpdmUgdG8gdGhlIHVzZXIn cyBob21lIGRpcmVjdG9yeSBvciBhbiBhYnNvbHV0ZSBwYXRoLgotLS0uUAotLS1UaGUgb25saW5l IHZlcnNpb24gb2YgdGhpcyBtYW5wYWdlICh0aGF0IGluY2x1ZGVzIGNyb3NzLWxpbmtpbmcgb2Yg dG9waWNzKQotLS1pcyBhdmFpbGFibGUgYXQKLS0tLlVSIGh0dHBzOi8vZG93bmxvYWQuc2FtYmEu b3JnL3B1Yi9yc3luYy9ycnN5bmMuMQotLS0uVUUgLgotLS0uUAotLS0uU0ggIkRFU0NSSVBUSU9O IgotLS0uUAotLS1BIHVzZXIncyBzc2ggbG9naW4gY2FuIGJlIHJlc3RyaWN0ZWQgdG8gb25seSBh bGxvdyB0aGUgcnVubmluZyBvZiBhbiByc3luYwotLS10cmFuc2ZlciBpbiBvbmUgb2YgdHdvIGVh c3kgd2F5czoKLS0tLlAKLS0tLklQIG8KLS0tZm9yY2luZyB0aGUgcnVubmluZyBvZiB0aGUgcnJz eW5jIHNjcmlwdAotLS0uSVAgbwotLS1mb3JjaW5nIHRoZSBydW5uaW5nIG9mIGFuIHJzeW5jIGRh ZW1vbi1vdmVyLXNzaCBjb21tYW5kLgotLS0uUAotLS1Cb3RoIG9mIHRoZXNlIHNldHVwcyB1c2Ug YSBmZWF0dXJlIG9mIHNzaCB0aGF0IGFsbG93cyBhIGNvbW1hbmQgdG8gYmUgZm9yY2VkIHRvCi0t LXJ1biBpbnN0ZWFkIG9mIGFuIGludGVyYWN0aXZlIHNoZWxsLiAgSG93ZXZlciwgaWYgdGhlIHVz ZXIncyBob21lIHNoZWxsIGlzIGJhc2gsCi0tLXBsZWFzZSBzZWUgQkFTSCBTRUNVUklUWSBJU1NV RSBmb3IgYSBwb3RlbnRpYWwgaXNzdWUuCi0tLS5QCi0tLVRvIHVzZSB0aGUgcnJzeW5jIHNjcmlw dCwgZWRpdCB0aGUgdXNlcidzIFxmQn4vLnNzaC9hdXRob3JpemVkX2tleXNcZlAgZmlsZSBhbmQg YWRkCi0tLWEgcHJlZml4IGxpa2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgKGZvbGxvd2VkIGJ5IGEg c3BhY2UpIGluIGZyb250IG9mIGVhY2gKLS0tc3NoLWtleSBsaW5lIHRoYXQgc2hvdWxkIGJlIHJl c3RyaWN0ZWQ6Ci0tLS5SUyA0Ci0tLS5QCi0tLS5uZgotLS1jb21tYW5kPSJycnN5bmMgRElSIgot LS1jb21tYW5kPSJycnN5bmMgLXJvIERJUiIKLS0tY29tbWFuZD0icnJzeW5jIC1tdW5nZSAtbm8t ZGVsIERJUiIKLS0tLmZpCi0tLS5SRQotLS0uUAotLS1UaGVuLCBlbnN1cmUgdGhhdCB0aGUgcnJz eW5jIHNjcmlwdCBoYXMgeW91ciBkZXNpcmVkIG9wdGlvbiByZXN0cmljdGlvbnMuIFlvdQotLS1t YXkgd2FudCB0byBjb3B5IHRoZSBzY3JpcHQgdG8gYSBsb2NhbCBiaW4gZGlyIHdpdGggYSB1bmlx dWUgbmFtZSBpZiB5b3Ugd2FudAotLS10byBoYXZlIG11bHRpcGxlIGNvbmZpZ3VyYXRpb25zLiBP bmUgb3IgbW9yZSBycnN5bmMgb3B0aW9ucyBjYW4gYmUgc3BlY2lmaWVkCi0tLXByaW9yIHRvIHRo ZSBcZklESVJcZlAgaWYgeW91IHdhbnQgdG8gZnVydGhlciByZXN0cmljdCB0aGUgdHJhbnNmZXIu Ci0tLS5QCi0tLVRvIHVzZSBhbiByc3luYyBkYWVtb24gc2V0dXAsIGVkaXQgdGhlIHVzZXIncyBc ZkJ+Ly5zc2gvYXV0aG9yaXplZF9rZXlzXGZQIGZpbGUgYW5kCi0tLWFkZCBhIHByZWZpeCBsaWtl IG9uZSBvZiB0aGUgZm9sbG93aW5nIChmb2xsb3dlZCBieSBhIHNwYWNlKSBpbiBmcm9udCBvZiBl YWNoCi0tLXNzaC1rZXkgbGluZSB0aGF0IHNob3VsZCBiZSByZXN0cmljdGVkOgotLS0uUlMgNAot LS0uUAotLS0ubmYKLS0tY29tbWFuZD0icnN5bmMgLS1zZXJ2ZXIgLS1kYWVtb24gLiIKLS0tY29t bWFuZD0icnN5bmMgLS1zZXJ2ZXIgLS1kYWVtb24gLS1jb25maWc9L1BBVEgvVE8vcnN5bmNkLmNv bmYgLiIKLS0tLmZpCi0tLS5SRQotLS0uUAotLS1UaGVuLCBlbnN1cmUgdGhhdCB0aGUgcnN5bmNk LmNvbmYgZmlsZSBpcyBjcmVhdGVkIHdpdGggb25lIG9yIG1vcmUgbW9kdWxlIG5hbWVzCi0tLXdp dGggdGhlIGFwcHJvcHJpYXRlIHBhdGggYW5kIG9wdGlvbiByZXN0cmljdGlvbnMuICBJZiByc3lu YydzCi0tLVxmQlwtXC1jb25maWdcZlAgb3B0aW9uIGlzIG9taXR0ZWQsIGl0IGRlZmF1bHRzIHRv IFxmQn4vcnN5bmNkLmNvbmZcZlAuCi0tLVNlZSB0aGUgXGZCcnN5bmNkLmNvbmZcZlAoNSkgbWFu cGFnZSBmb3IgZGV0YWlscyBvZiBob3cgdG8KLS0tY29uZmlndXJlIGFuIHJzeW5jIGRhZW1vbi4K LS0tLlAKLS0tV2hlbiB1c2luZyBycnN5bmMsIHRoZXJlIGNhbiBiZSBqdXN0IG9uZSByZXN0cmlj dGVkIGRpciBwZXIgYXV0aG9yaXplZCBrZXkuICBBCi0tLWRhZW1vbiBzZXR1cCwgb24gdGhlIG90 aGVyIGhhbmQsIGFsbG93cyBtdWx0aXBsZSBtb2R1bGUgbmFtZXMgaW5zaWRlIHRoZSBjb25maWcK LS0tZmlsZSwgZWFjaCBvbmUgd2l0aCBpdHMgb3duIHBhdGggc2V0dGluZy4KLS0tLlAKLS0tVGhl IHJlbWFpbmRlciBvZiB0aGlzIG1hbnBhZ2UgaXMgZGVkaWNhdGVkIHRvIHVzaW5nIHRoZSBycnN5 bmMgc2NyaXB0LgotLS0uUAotLS0uU0ggIk9QVElPTlMiCi0tLS5QCi0tLS5JUCAiXGZCXC1yb1xm UCIKLS0tQWxsb3cgb25seSByZWFkaW5nIGZyb20gdGhlIERJUi4gSW1wbGllcyBcZkJcLW5vLWRl bFxmUCBhbmQKLS0tXGZCXC1uby1sb2NrXGZQLgotLS0uSVAgIlxmQlwtd29cZlAiCi0tLUFsbG93 IG9ubHkgd3JpdGluZyB0byB0aGUgRElSLgotLS0uSVAgIlxmQlwtbXVuZ2VcZlAiCi0tLUVuYWJs ZSByc3luYydzIFxmQlwtXC1tdW5nZS1saW5rc1xmUCBvbiB0aGUgc2VydmVyIHNpZGUuCi0tLS5J UCAiXGZCXC1uby1kZWxcZlAiCi0tLURpc2FibGUgcnN5bmMncyBcZkJcLVwtZGVsZXRlKlxmUCBh bmQgXGZCXC1cLXJlbW92ZSpcZlAgb3B0aW9ucy4KLS0tLklQICJcZkJcLW5vLWxvY2tcZlAiCi0t LUF2b2lkIHRoZSBzaW5nbGUtcnVuIChwZXItdXNlcikgbG9jayBjaGVjay4gIFVzZWZ1bCB3aXRo IFxmQlwtbXVuZ2VcZlAuCi0tLS5JUCAiXGZCXC1uby1vdmVyd3JpdGVcZlAiCi0tLUVuZm9yY2Ug XGZCXC1cLWlnbm9yZS1leGlzdGluZ1xmUCBvbiB0aGUgc2VydmVyLiBQcmV2ZW50cyBvdmVyd3Jp dGluZyBleGlzdGluZwotLS1maWxlcyB3aGVuIHRoZSBzZXJ2ZXIgaXMgdGhlIHJlY2VpdmVyLgot LS0uSVAgIlxmQlwtaGVscFxmUCwgXGZCXC1oXGZQIgotLS1PdXRwdXQgdGhpcyBoZWxwIG1lc3Nh Z2UgYW5kIGV4aXQuCi0tLS5QCi0tLS5TSCAiU0VDVVJJVFkgUkVTVFJJQ1RJT05TIgotLS0uUAot LS1UaGUgcnJzeW5jIHNjcmlwdCB2YWxpZGF0ZXMgdGhlIHBhdGggYXJndW1lbnRzIGl0IGlzIHNl bnQgdG8gdHJ5IHRvIHJlc3RyaWN0Ci0tLXRoZW0gdG8gc3RheWluZyB3aXRoaW4gdGhlIHNwZWNp ZmllZCBESVIuCi0tLS5QCi0tLVRoZSBycnN5bmMgc2NyaXB0IHJlamVjdHMgcnN5bmMncyBcZkJc LVwtY29weS1saW5rc1xmUCBvcHRpb24gKGJ5Ci0tLWRlZmF1bHQpIHNvIHRoYXQgYSBjb3B5IGNh bm5vdCBkZXJlZmVyZW5jZSBhIHN5bWxpbmsgd2l0aGluIHRoZSBESVIgdG8gZ2V0IHRvIGEKLS0t ZmlsZSBvdXRzaWRlIHRoZSBESVIuCi0tLS5QCi0tLVRoZSBycnN5bmMgc2NyaXB0IHJlamVjdHMg cnN5bmMncyBcZkJcLVwtcHJvdGVjdC1hcmdzXGZQIChcZkJcLXNcZlApIG9wdGlvbgotLS1iZWNh dXNlIGl0IHdvdWxkIGFsbG93IG9wdGlvbnMgdG8gYmUgc2VudCB0byB0aGUgc2VydmVyLXNpZGUg dGhhdCB0aGUgc2NyaXB0Ci0tLWNhbm5vdCBjaGVjay4gIElmIHlvdSB3YW50IHRvIHN1cHBvcnQg XGZCXC1cLXByb3RlY3QtYXJnc1xmUCwgdXNlIGEgZGFlbW9uLW92ZXItc3NoCi0tLXNldHVwLgot LS0uUAotLS1UaGUgcnJzeW5jIHNjcmlwdCBhY2NlcHRzIGp1c3QgYSBzdWJzZXQgb2YgcnN5bmMn cyBvcHRpb25zIHRoYXQgdGhlIHJlYWwgcnN5bmMKLS0tdXNlcyB3aGVuIHJ1bm5pbmcgdGhlIHNl cnZlciBjb21tYW5kLiAgQSBmZXcgZXh0cmEgY29udmVuaWVuY2Ugb3B0aW9ucyBhcmUgYWxzbwot LS1pbmNsdWRlZCB0byBoZWxwIGl0IHRvIGludGVyYWN0IHdpdGggQmFja3VwUEMgYW5kIGFjY2Vw dCBzb21lIGNvbnZlbmllbnQgdXNlcgotLS1vdmVycmlkZXMuCi0tLS5QCi0tLVRoZSBzY3JpcHQg KG9yIGEgY29weSBvZiBpdCkgY2FuIGJlIG1hbnVhbGx5IGVkaXRlZCBpZiB5b3Ugd2FudCBpdCB0 byBjdXN0b21pemUKLS0tdGhlIG9wdGlvbiBoYW5kbGluZy4KLS0tLlAKLS0tLlNIICJCQVNIIFNF Q1VSSVRZIElTU1VFIgotLS0uUAotLS1JZiB5b3VyIHVzZXJzIGhhdmUgYmFzaCBzZXQgYXMgdGhl aXIgaG9tZSBzaGVsbCwgYmFzaCBtYXkgdHJ5IHRvIGJlIG92ZXJseQotLS1oZWxwZnVsIGFuZCBl bnN1cmUgdGhhdCB0aGUgdXNlcidzIGxvZ2luIGJhc2hyYyBmaWxlcyBhcmUgcnVuIHByaW9yIHRv Ci0tLWV4ZWN1dGluZyB0aGUgZm9yY2VkIGNvbW1hbmQuICBUaGlzIGNhbiBiZSBhIHByb2JsZW0g aWYgdGhlIHVzZXIgY2FuIHNvbWVob3cKLS0tdXBkYXRlIHRoZWlyIGhvbWUgYmFzaHJjIGZpbGVz LCBwZXJoYXBzIHZpYSB0aGUgcmVzdHJpY3RlZCBjb3B5LCBhIHNoYXJlZCBob21lCi0tLWRpcmVj dG9yeSwgb3Igc29tZXRoaW5nIHNpbWlsYXIuCi0tLS5QCi0tLU9uZSBzaW1wbGUgd2F5IHRvIGF2 b2lkIHRoZSBpc3N1ZSBpcyB0byBzd2l0Y2ggdGhlIHVzZXIgdG8gYSBzaW1wbGVyIHNoZWxsLAot LS1zdWNoIGFzIGRhc2guICBXaGVuIGNob29zaW5nIHRoZSBuZXcgaG9tZSBzaGVsbCwgbWFrZSBz dXJlIHRoYXQgeW91J3JlIG5vdAotLS1jaG9vc2luZyBiYXNoIGluIGRpc2d1aXNlLCBhcyBpdCBp cyB1bmNsZWFyIGlmIGl0IGF2b2lkcyB0aGUgc2VjdXJpdHkgaXNzdWUuCi0tLS5QCi0tLUFub3Ro ZXIgcG90ZW50aWFsIGZpeCBpcyB0byBlbnN1cmUgdGhhdCB0aGUgdXNlcidzIGhvbWUgZGlyZWN0 b3J5IGlzIG5vdCBhCi0tLXNoYXJlZCBtb3VudCBhbmQgdGhhdCB0aGV5IGhhdmUgbm8gbWVhbnMg b2YgY29weWluZyBmaWxlcyBvdXRzaWRlIG9mIHRoZWlyCi0tLXJlc3RyaWN0ZWQgZGlyZWN0b3Jp ZXMuICBUaGlzIG1heSByZXF1aXJlIHlvdSB0byBmb3JjZSB0aGUgZW5hYmxpbmcgb2Ygc3ltbGlu awotLS1tdW5naW5nIG9uIHRoZSBzZXJ2ZXIgc2lkZS4KLS0tLlAKLS0tQSBmdXR1cmUgdmVyc2lv biBvZiBvcGVuc3NoIG1heSBoYXZlIGEgY2hhbmdlIHRvIHRoZSBoYW5kbGluZyBvZiBmb3JjZWQK LS0tY29tbWFuZHMgdGhhdCBhbGxvd3MgaXQgdG8gYXZvaWQgdXNpbmcgdGhlIHVzZXIncyBob21l IHNoZWxsLgotLS0uUAotLS0uU0ggIkVYQU1QTEVTIgotLS0uUAotLS1UaGUgXGZCfi8uc3NoL2F1 dGhvcml6ZWRfa2V5c1xmUCBmaWxlIG1pZ2h0IGhhdmUgbGluZXMgaW4gaXQgbGlrZSB0aGlzOgot LS0uUlMgNAotLS0uUAotLS0ubmYKLS0tY29tbWFuZD0icnJzeW5jIGNsaWVudC9sb2dzIiBzc2gt cnNhIEFBQUFCM056YUMxeWMyRUFBQUFCSXdBQUFJRUF6Ry4uLgotLS1jb21tYW5kPSJycnN5bmMg LXJvIHJlc3VsdHMiIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQUJJd0FBQUlFQW1rLi4uCi0t LS5maQotLS0uUkUKLS0tLlAKLS0tLlNIICJGSUxFUyIKLS0tLlAKLS0tfi8uc3NoL2F1dGhvcml6 ZWRfa2V5cwotLS0uUAotLS0uU0ggIlNFRSBBTFNPIgotLS0uUAotLS1cZkJyc3luY1xmUCgxKSwg XGZCcnN5bmNkLmNvbmZcZlAoNSkKLS0tLlAKLS0tLlNIICJWRVJTSU9OIgotLS0uUAotLS1UaGlz IG1hbnBhZ2UgaXMgY3VycmVudCBmb3IgdmVyc2lvbiAzLjQuMSBvZiByc3luYy4KLS0tLlAKLS0t LlNIICJDUkVESVRTIgotLS0uUAotLS1yc3luYyBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBTZWUgdGhlIGZpbGUKLS0tQ09QWUlORyBmb3IgZGV0 YWlscy4KLS0tLlAKLS0tQW4gcnN5bmMgd2ViIHNpdGUgaXMgYXZhaWxhYmxlIGF0Ci0tLS5VUiBo dHRwczovL3JzeW5jLnNhbWJhLm9yZy8KLS0tLlVFCi0tLWFuZCBpdHMgZ2l0aHViCi0tLXByb2pl Y3QgaXMKLS0tLlVSIGh0dHBzOi8vZ2l0aHViLmNvbS9Sc3luY1Byb2plY3QvcnN5bmMKLS0tLlVF IC4KLS0tLlAKLS0tLlNIICJBVVRIT1IiCi0tLS5QCi0tLVRoZSBvcmlnaW5hbCBycnN5bmMgcGVy bCBzY3JpcHQgd2FzIHdyaXR0ZW4gYnkgSm9lIFNtaXRoLiAgTWFueSBwZW9wbGUgaGF2ZQotLS1s YXRlciBjb250cmlidXRlZCB0byBpdC4gIFRoZSBweXRob24gdmVyc2lvbiB3YXMgY3JlYXRlZCBi eSBXYXluZSBEYXZpc29uLgotLWRpZmYgLU51cnAgYS9ycnN5bmMuMS5odG1sIGIvcnJzeW5jLjEu aHRtbAotLS0tLSBhL3Jyc3luYy4xLmh0bWwKLS0rKysgYi9ycnN5bmMuMS5odG1sCi0tQEAgLTEs MTY5ICswLDAgQEAKLS0tPGh0bWw+PGhlYWQ+Ci0tLTx0aXRsZT5ycnN5bmMoMSkgbWFucGFnZTwv dGl0bGU+Ci0tLTxtZXRhIGNoYXJzZXQ9IlVURi04Ii8+Ci0tLTxsaW5rIGhyZWY9Imh0dHBzOi8v Zm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvJmZhbWlseT1Sb2JvdG8rTW9u byZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+Ci0tLTxzdHlsZT4KLS0tYm9keSB7Ci0t LSAgbWF4LXdpZHRoOiA1MGVtOwotLS0gIG1hcmdpbjogYXV0bzsKLS0tfQotLS1ib2R5LCBiLCBz dHJvbmcsIHUgewotLS0gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjsKLS0tfQot LS1hLnRndCB7IGZvbnQtZmFjZTogc3ltYm9sOyBmb250LXdlaWdodDogNDAwOyBmb250LXNpemU6 IDcwJTsgdmlzaWJpbGl0eTogaGlkZGVuOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiAj ZGRkOyBwYWRkaW5nOiAwIDRweDsgYm9yZGVyOiAwOyB9Ci0tLWEudGd0OmFmdGVyIHsgY29udGVu dDogJ/CflJcnOyB9Ci0tLWEudGd0OmhvdmVyIHsgY29sb3I6ICM0NDQ7IGJhY2tncm91bmQtY29s b3I6ICNlYWVhZWE7IH0KLS0taDE6aG92ZXIgPiBhLnRndCwgaDI6aG92ZXIgPiBhLnRndCwgaDM6 aG92ZXIgPiBhLnRndCwgZHQ6aG92ZXIgPiBhLnRndCB7IHZpc2liaWxpdHk6IHZpc2libGU7IH0K LS0tY29kZSB7Ci0tLSAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubycsIG1vbm9zcGFjZTsKLS0t ICBmb250LXdlaWdodDogYm9sZDsKLS0tICB3aGl0ZS1zcGFjZTogcHJlOwotLS19Ci0tLXByZSBj b2RlIHsKLS0tICBkaXNwbGF5OiBibG9jazsKLS0tICBmb250LXdlaWdodDogbm9ybWFsOwotLS19 Ci0tLWJsb2NrcXVvdGUgcHJlIGNvZGUgewotLS0gIGJhY2tncm91bmQ6ICNmMWYxZjE7Ci0tLX0K LS0tZGQgcDpmaXJzdC1vZi10eXBlIHsKLS0tICBtYXJnaW4tYmxvY2stc3RhcnQ6IDBlbTsKLS0t fQotLS08L3N0eWxlPgotLS08L2hlYWQ+PGJvZHk+Ci0tLTxoMiBpZD0iTkFNRSI+TkFNRTxhIGhy ZWY9IiNOQU1FIiBjbGFzcz0idGd0Ij48L2E+PC9oMj4KLS0tPHA+cnJzeW5jIC0mIzgyODg7IGEg c2NyaXB0IHRvIHNldHVwIHJlc3RyaWN0ZWQgcnN5bmMgdXNlcnMgdmlhIHNzaCBsb2dpbnM8L3A+ Ci0tLTxoMiBpZD0iU1lOT1BTSVMiPlNZTk9QU0lTPGEgaHJlZj0iI1NZTk9QU0lTIiBjbGFzcz0i dGd0Ij48L2E+PC9oMj4KLS0tPHByZT48Y29kZT5ycnN5bmMgWy1yb3wtd29dIFstbXVuZ2VdIFst bm8tZGVsXSBbLW5vLWxvY2tdIFstbm8tb3ZlcndyaXRlXSAgRElSCi0tLTwvY29kZT48L3ByZT4K LS0tPHA+VGhlIHNpbmdsZSBub24tb3B0aW9uIGFyZ3VtZW50IHNwZWNpZmllcyB0aGUgcmVzdHJp Y3RlZCA8dT5ESVI8L3U+IHRvIHVzZS4gSXQgY2FuIGJlCi0tLXJlbGF0aXZlIHRvIHRoZSB1c2Vy J3MgaG9tZSBkaXJlY3Rvcnkgb3IgYW4gYWJzb2x1dGUgcGF0aC48L3A+Ci0tLTxwPlRoZSBvbmxp bmUgdmVyc2lvbiBvZiB0aGlzIG1hbnBhZ2UgKHRoYXQgaW5jbHVkZXMgY3Jvc3MtbGlua2luZyBv ZiB0b3BpY3MpCi0tLWlzIGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwczovL2Rvd25sb2FkLnNh bWJhLm9yZy9wdWIvcnN5bmMvcnJzeW5jLjEiPmh0dHBzOi8vZG93bmxvYWQuc2FtYmEub3JnL3B1 Yi9yc3luYy9ycnN5bmMuMTwvYT4uPC9wPgotLS08aDIgaWQ9IkRFU0NSSVBUSU9OIj5ERVNDUklQ VElPTjxhIGhyZWY9IiNERVNDUklQVElPTiIgY2xhc3M9InRndCI+PC9hPjwvaDI+Ci0tLTxwPkEg dXNlcidzIHNzaCBsb2dpbiBjYW4gYmUgcmVzdHJpY3RlZCB0byBvbmx5IGFsbG93IHRoZSBydW5u aW5nIG9mIGFuIHJzeW5jCi0tLXRyYW5zZmVyIGluIG9uZSBvZiB0d28gZWFzeSB3YXlzOjwvcD4K LS0tPHVsPgotLS08bGk+Zm9yY2luZyB0aGUgcnVubmluZyBvZiB0aGUgcnJzeW5jIHNjcmlwdDwv bGk+Ci0tLTxsaT5mb3JjaW5nIHRoZSBydW5uaW5nIG9mIGFuIHJzeW5jIGRhZW1vbi1vdmVyLXNz aCBjb21tYW5kLjwvbGk+Ci0tLTwvdWw+Ci0tLTxwPkJvdGggb2YgdGhlc2Ugc2V0dXBzIHVzZSBh IGZlYXR1cmUgb2Ygc3NoIHRoYXQgYWxsb3dzIGEgY29tbWFuZCB0byBiZSBmb3JjZWQgdG8KLS0t cnVuIGluc3RlYWQgb2YgYW4gaW50ZXJhY3RpdmUgc2hlbGwuICBIb3dldmVyLCBpZiB0aGUgdXNl cidzIGhvbWUgc2hlbGwgaXMgYmFzaCwKLS0tcGxlYXNlIHNlZSA8YSBocmVmPSIjQkFTSF9TRUNV UklUWV9JU1NVRSI+QkFTSCBTRUNVUklUWSBJU1NVRTwvYT4gZm9yIGEgcG90ZW50aWFsIGlzc3Vl LjwvcD4KLS0tPHA+VG8gdXNlIHRoZSBycnN5bmMgc2NyaXB0LCBlZGl0IHRoZSB1c2VyJ3MgPGNv ZGU+fi8uc3NoL2F1dGhvcml6ZWRfa2V5czwvY29kZT4gZmlsZSBhbmQgYWRkCi0tLWEgcHJlZml4 IGxpa2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgKGZvbGxvd2VkIGJ5IGEgc3BhY2UpIGluIGZyb250 IG9mIGVhY2gKLS0tc3NoLWtleSBsaW5lIHRoYXQgc2hvdWxkIGJlIHJlc3RyaWN0ZWQ6PC9wPgot LS08YmxvY2txdW90ZT4KLS0tPHByZT48Y29kZT5jb21tYW5kPSZxdW90O3Jyc3luYyBESVImcXVv dDsKLS0tY29tbWFuZD0mcXVvdDtycnN5bmMgLXJvIERJUiZxdW90OwotLS1jb21tYW5kPSZxdW90 O3Jyc3luYyAtbXVuZ2UgLW5vLWRlbCBESVImcXVvdDsKLS0tPC9jb2RlPjwvcHJlPgotLS08L2Js b2NrcXVvdGU+Ci0tLTxwPlRoZW4sIGVuc3VyZSB0aGF0IHRoZSBycnN5bmMgc2NyaXB0IGhhcyB5 b3VyIGRlc2lyZWQgb3B0aW9uIHJlc3RyaWN0aW9ucy4gWW91Ci0tLW1heSB3YW50IHRvIGNvcHkg dGhlIHNjcmlwdCB0byBhIGxvY2FsIGJpbiBkaXIgd2l0aCBhIHVuaXF1ZSBuYW1lIGlmIHlvdSB3 YW50Ci0tLXRvIGhhdmUgbXVsdGlwbGUgY29uZmlndXJhdGlvbnMuIE9uZSBvciBtb3JlIHJyc3lu YyBvcHRpb25zIGNhbiBiZSBzcGVjaWZpZWQKLS0tcHJpb3IgdG8gdGhlIDx1PkRJUjwvdT4gaWYg eW91IHdhbnQgdG8gZnVydGhlciByZXN0cmljdCB0aGUgdHJhbnNmZXIuPC9wPgotLS08cD5UbyB1 c2UgYW4gcnN5bmMgZGFlbW9uIHNldHVwLCBlZGl0IHRoZSB1c2VyJ3MgPGNvZGU+fi8uc3NoL2F1 dGhvcml6ZWRfa2V5czwvY29kZT4gZmlsZSBhbmQKLS0tYWRkIGEgcHJlZml4IGxpa2Ugb25lIG9m IHRoZSBmb2xsb3dpbmcgKGZvbGxvd2VkIGJ5IGEgc3BhY2UpIGluIGZyb250IG9mIGVhY2gKLS0t c3NoLWtleSBsaW5lIHRoYXQgc2hvdWxkIGJlIHJlc3RyaWN0ZWQ6PC9wPgotLS08YmxvY2txdW90 ZT4KLS0tPHByZT48Y29kZT5jb21tYW5kPSZxdW90O3JzeW5jIC0tc2VydmVyIC0tZGFlbW9uIC4m cXVvdDsKLS0tY29tbWFuZD0mcXVvdDtyc3luYyAtLXNlcnZlciAtLWRhZW1vbiAtLWNvbmZpZz0v UEFUSC9UTy9yc3luY2QuY29uZiAuJnF1b3Q7Ci0tLTwvY29kZT48L3ByZT4KLS0tPC9ibG9ja3F1 b3RlPgotLS08cD5UaGVuLCBlbnN1cmUgdGhhdCB0aGUgcnN5bmNkLmNvbmYgZmlsZSBpcyBjcmVh dGVkIHdpdGggb25lIG9yIG1vcmUgbW9kdWxlIG5hbWVzCi0tLXdpdGggdGhlIGFwcHJvcHJpYXRl IHBhdGggYW5kIG9wdGlvbiByZXN0cmljdGlvbnMuICBJZiByc3luYydzCi0tLTxhIGhyZWY9InJz eW5jLjEjZG9wdC0tY29uZmlnIj48Y29kZT4tLWNvbmZpZzwvY29kZT48L2E+IG9wdGlvbiBpcyBv bWl0dGVkLCBpdCBkZWZhdWx0cyB0byA8Y29kZT5+L3JzeW5jZC5jb25mPC9jb2RlPi4KLS0tU2Vl IHRoZSA8YSBocmVmPSJyc3luY2QuY29uZi41Ij48c3Ryb25nPnJzeW5jZC5jb25mPC9zdHJvbmc+ KDUpPC9hPiBtYW5wYWdlIGZvciBkZXRhaWxzIG9mIGhvdyB0bwotLS1jb25maWd1cmUgYW4gcnN5 bmMgZGFlbW9uLjwvcD4KLS0tPHA+V2hlbiB1c2luZyBycnN5bmMsIHRoZXJlIGNhbiBiZSBqdXN0 IG9uZSByZXN0cmljdGVkIGRpciBwZXIgYXV0aG9yaXplZCBrZXkuICBBCi0tLWRhZW1vbiBzZXR1 cCwgb24gdGhlIG90aGVyIGhhbmQsIGFsbG93cyBtdWx0aXBsZSBtb2R1bGUgbmFtZXMgaW5zaWRl IHRoZSBjb25maWcKLS0tZmlsZSwgZWFjaCBvbmUgd2l0aCBpdHMgb3duIHBhdGggc2V0dGluZy48 L3A+Ci0tLTxwPlRoZSByZW1haW5kZXIgb2YgdGhpcyBtYW5wYWdlIGlzIGRlZGljYXRlZCB0byB1 c2luZyB0aGUgcnJzeW5jIHNjcmlwdC48L3A+Ci0tLTxoMiBpZD0iT1BUSU9OUyI+T1BUSU9OUzxh IGhyZWY9IiNPUFRJT05TIiBjbGFzcz0idGd0Ij48L2E+PC9oMj4KLS0tPGRsPgotLS0KLS0tPGR0 IGlkPSJvcHQtcm8iPjxjb2RlPi1ybzwvY29kZT48YSBocmVmPSIjb3B0LXJvIiBjbGFzcz0idGd0 Ij48L2E+PC9kdD48ZGQ+Ci0tLTxwPkFsbG93IG9ubHkgcmVhZGluZyBmcm9tIHRoZSBESVIuIElt cGxpZXMgPGEgaHJlZj0iI29wdC1uby1kZWwiPjxjb2RlPi1uby1kZWw8L2NvZGU+PC9hPiBhbmQK LS0tPGEgaHJlZj0iI29wdC1uby1sb2NrIj48Y29kZT4tbm8tbG9jazwvY29kZT48L2E+LjwvcD4K LS0tPC9kZD4KLS0tCi0tLTxkdCBpZD0ib3B0LXdvIj48Y29kZT4td288L2NvZGU+PGEgaHJlZj0i I29wdC13byIgY2xhc3M9InRndCI+PC9hPjwvZHQ+PGRkPgotLS08cD5BbGxvdyBvbmx5IHdyaXRp bmcgdG8gdGhlIERJUi48L3A+Ci0tLTwvZGQ+Ci0tLQotLS08ZHQgaWQ9Im9wdC1tdW5nZSI+PGNv ZGU+LW11bmdlPC9jb2RlPjxhIGhyZWY9IiNvcHQtbXVuZ2UiIGNsYXNzPSJ0Z3QiPjwvYT48L2R0 PjxkZD4KLS0tPHA+RW5hYmxlIHJzeW5jJ3MgPGEgaHJlZj0icnN5bmMuMSNvcHQtLW11bmdlLWxp bmtzIj48Y29kZT4tLW11bmdlLWxpbmtzPC9jb2RlPjwvYT4gb24gdGhlIHNlcnZlciBzaWRlLjwv cD4KLS0tPC9kZD4KLS0tCi0tLTxkdCBpZD0ib3B0LW5vLWRlbCI+PGNvZGU+LW5vLWRlbDwvY29k ZT48YSBocmVmPSIjb3B0LW5vLWRlbCIgY2xhc3M9InRndCI+PC9hPjwvZHQ+PGRkPgotLS08cD5E aXNhYmxlIHJzeW5jJ3MgPGNvZGU+LS1kZWxldGUqPC9jb2RlPiBhbmQgPGNvZGU+LS1yZW1vdmUq PC9jb2RlPiBvcHRpb25zLjwvcD4KLS0tPC9kZD4KLS0tCi0tLTxkdCBpZD0ib3B0LW5vLWxvY2si Pjxjb2RlPi1uby1sb2NrPC9jb2RlPjxhIGhyZWY9IiNvcHQtbm8tbG9jayIgY2xhc3M9InRndCI+ PC9hPjwvZHQ+PGRkPgotLS08cD5Bdm9pZCB0aGUgc2luZ2xlLXJ1biAocGVyLXVzZXIpIGxvY2sg Y2hlY2suICBVc2VmdWwgd2l0aCA8YSBocmVmPSIjb3B0LW11bmdlIj48Y29kZT4tbXVuZ2U8L2Nv ZGU+PC9hPi48L3A+Ci0tLTwvZGQ+Ci0tLQotLS08ZHQgaWQ9Im9wdC1uby1vdmVyd3JpdGUiPjxj b2RlPi1uby1vdmVyd3JpdGU8L2NvZGU+PGEgaHJlZj0iI29wdC1uby1vdmVyd3JpdGUiIGNsYXNz PSJ0Z3QiPjwvYT48L2R0PjxkZD4KLS0tPHA+RW5mb3JjZSA8Y29kZT4tLWlnbm9yZS1leGlzdGlu ZzwvY29kZT4gb24gdGhlIHNlcnZlci4gUHJldmVudHMgb3ZlcndyaXRpbmcgZXhpc3RpbmcKLS0t ZmlsZXMgd2hlbiB0aGUgc2VydmVyIGlzIHRoZSByZWNlaXZlci48L3A+Ci0tLTwvZGQ+Ci0tLQot LS08c3BhbiBpZD0ib3B0LWgiPjwvc3Bhbj48ZHQgaWQ9Im9wdC1oZWxwIj48Y29kZT4taGVscDwv Y29kZT4sIDxjb2RlPi1oPC9jb2RlPjxhIGhyZWY9IiNvcHQtaGVscCIgY2xhc3M9InRndCI+PC9h PjwvZHQ+PGRkPgotLS08cD5PdXRwdXQgdGhpcyBoZWxwIG1lc3NhZ2UgYW5kIGV4aXQuPC9wPgot LS08L2RkPgotLS08L2RsPgotLS08aDIgaWQ9IlNFQ1VSSVRZX1JFU1RSSUNUSU9OUyI+U0VDVVJJ VFkgUkVTVFJJQ1RJT05TPGEgaHJlZj0iI1NFQ1VSSVRZX1JFU1RSSUNUSU9OUyIgY2xhc3M9InRn dCI+PC9hPjwvaDI+Ci0tLTxwPlRoZSBycnN5bmMgc2NyaXB0IHZhbGlkYXRlcyB0aGUgcGF0aCBh cmd1bWVudHMgaXQgaXMgc2VudCB0byB0cnkgdG8gcmVzdHJpY3QKLS0tdGhlbSB0byBzdGF5aW5n IHdpdGhpbiB0aGUgc3BlY2lmaWVkIERJUi48L3A+Ci0tLTxwPlRoZSBycnN5bmMgc2NyaXB0IHJl amVjdHMgcnN5bmMncyA8YSBocmVmPSJyc3luYy4xI29wdC0tY29weS1saW5rcyI+PGNvZGU+LS1j b3B5LWxpbmtzPC9jb2RlPjwvYT4gb3B0aW9uIChieQotLS1kZWZhdWx0KSBzbyB0aGF0IGEgY29w eSBjYW5ub3QgZGVyZWZlcmVuY2UgYSBzeW1saW5rIHdpdGhpbiB0aGUgRElSIHRvIGdldCB0byBh Ci0tLWZpbGUgb3V0c2lkZSB0aGUgRElSLjwvcD4KLS0tPHA+VGhlIHJyc3luYyBzY3JpcHQgcmVq ZWN0cyByc3luYydzIDxhIGhyZWY9InJzeW5jLjEjb3B0LS1wcm90ZWN0LWFyZ3MiPjxjb2RlPi0t cHJvdGVjdC1hcmdzPC9jb2RlPjwvYT4gKDxjb2RlPi1zPC9jb2RlPikgb3B0aW9uCi0tLWJlY2F1 c2UgaXQgd291bGQgYWxsb3cgb3B0aW9ucyB0byBiZSBzZW50IHRvIHRoZSBzZXJ2ZXItc2lkZSB0 aGF0IHRoZSBzY3JpcHQKLS0tY2Fubm90IGNoZWNrLiAgSWYgeW91IHdhbnQgdG8gc3VwcG9ydCA8 Y29kZT4tLXByb3RlY3QtYXJnczwvY29kZT4sIHVzZSBhIGRhZW1vbi1vdmVyLXNzaAotLS1zZXR1 cC48L3A+Ci0tLTxwPlRoZSBycnN5bmMgc2NyaXB0IGFjY2VwdHMganVzdCBhIHN1YnNldCBvZiBy c3luYydzIG9wdGlvbnMgdGhhdCB0aGUgcmVhbCByc3luYwotLS11c2VzIHdoZW4gcnVubmluZyB0 aGUgc2VydmVyIGNvbW1hbmQuICBBIGZldyBleHRyYSBjb252ZW5pZW5jZSBvcHRpb25zIGFyZSBh bHNvCi0tLWluY2x1ZGVkIHRvIGhlbHAgaXQgdG8gaW50ZXJhY3Qgd2l0aCBCYWNrdXBQQyBhbmQg YWNjZXB0IHNvbWUgY29udmVuaWVudCB1c2VyCi0tLW92ZXJyaWRlcy48L3A+Ci0tLTxwPlRoZSBz Y3JpcHQgKG9yIGEgY29weSBvZiBpdCkgY2FuIGJlIG1hbnVhbGx5IGVkaXRlZCBpZiB5b3Ugd2Fu dCBpdCB0byBjdXN0b21pemUKLS0tdGhlIG9wdGlvbiBoYW5kbGluZy48L3A+Ci0tLTxoMiBpZD0i QkFTSF9TRUNVUklUWV9JU1NVRSI+QkFTSCBTRUNVUklUWSBJU1NVRTxhIGhyZWY9IiNCQVNIX1NF Q1VSSVRZX0lTU1VFIiBjbGFzcz0idGd0Ij48L2E+PC9oMj4KLS0tPHA+SWYgeW91ciB1c2VycyBo YXZlIGJhc2ggc2V0IGFzIHRoZWlyIGhvbWUgc2hlbGwsIGJhc2ggbWF5IHRyeSB0byBiZSBvdmVy bHkKLS0taGVscGZ1bCBhbmQgZW5zdXJlIHRoYXQgdGhlIHVzZXIncyBsb2dpbiBiYXNocmMgZmls ZXMgYXJlIHJ1biBwcmlvciB0bwotLS1leGVjdXRpbmcgdGhlIGZvcmNlZCBjb21tYW5kLiAgVGhp cyBjYW4gYmUgYSBwcm9ibGVtIGlmIHRoZSB1c2VyIGNhbiBzb21laG93Ci0tLXVwZGF0ZSB0aGVp ciBob21lIGJhc2hyYyBmaWxlcywgcGVyaGFwcyB2aWEgdGhlIHJlc3RyaWN0ZWQgY29weSwgYSBz aGFyZWQgaG9tZQotLS1kaXJlY3RvcnksIG9yIHNvbWV0aGluZyBzaW1pbGFyLjwvcD4KLS0tPHA+ T25lIHNpbXBsZSB3YXkgdG8gYXZvaWQgdGhlIGlzc3VlIGlzIHRvIHN3aXRjaCB0aGUgdXNlciB0 byBhIHNpbXBsZXIgc2hlbGwsCi0tLXN1Y2ggYXMgZGFzaC4gIFdoZW4gY2hvb3NpbmcgdGhlIG5l dyBob21lIHNoZWxsLCBtYWtlIHN1cmUgdGhhdCB5b3UncmUgbm90Ci0tLWNob29zaW5nIGJhc2gg aW4gZGlzZ3Vpc2UsIGFzIGl0IGlzIHVuY2xlYXIgaWYgaXQgYXZvaWRzIHRoZSBzZWN1cml0eSBp c3N1ZS48L3A+Ci0tLTxwPkFub3RoZXIgcG90ZW50aWFsIGZpeCBpcyB0byBlbnN1cmUgdGhhdCB0 aGUgdXNlcidzIGhvbWUgZGlyZWN0b3J5IGlzIG5vdCBhCi0tLXNoYXJlZCBtb3VudCBhbmQgdGhh dCB0aGV5IGhhdmUgbm8gbWVhbnMgb2YgY29weWluZyBmaWxlcyBvdXRzaWRlIG9mIHRoZWlyCi0t LXJlc3RyaWN0ZWQgZGlyZWN0b3JpZXMuICBUaGlzIG1heSByZXF1aXJlIHlvdSB0byBmb3JjZSB0 aGUgZW5hYmxpbmcgb2Ygc3ltbGluawotLS1tdW5naW5nIG9uIHRoZSBzZXJ2ZXIgc2lkZS48L3A+ Ci0tLTxwPkEgZnV0dXJlIHZlcnNpb24gb2Ygb3BlbnNzaCBtYXkgaGF2ZSBhIGNoYW5nZSB0byB0 aGUgaGFuZGxpbmcgb2YgZm9yY2VkCi0tLWNvbW1hbmRzIHRoYXQgYWxsb3dzIGl0IHRvIGF2b2lk IHVzaW5nIHRoZSB1c2VyJ3MgaG9tZSBzaGVsbC48L3A+Ci0tLTxoMiBpZD0iRVhBTVBMRVMiPkVY QU1QTEVTPGEgaHJlZj0iI0VYQU1QTEVTIiBjbGFzcz0idGd0Ij48L2E+PC9oMj4KLS0tPHA+VGhl IDxjb2RlPn4vLnNzaC9hdXRob3JpemVkX2tleXM8L2NvZGU+IGZpbGUgbWlnaHQgaGF2ZSBsaW5l cyBpbiBpdCBsaWtlIHRoaXM6PC9wPgotLS08YmxvY2txdW90ZT4KLS0tPHByZT48Y29kZT5jb21t YW5kPSZxdW90O3Jyc3luYyBjbGllbnQvbG9ncyZxdW90OyBzc2gtcnNhIEFBQUFCM056YUMxeWMy RUFBQUFCSXdBQUFJRUF6Ry4uLgotLS1jb21tYW5kPSZxdW90O3Jyc3luYyAtcm8gcmVzdWx0cyZx dW90OyBzc2gtcnNhIEFBQUFCM056YUMxeWMyRUFBQUFCSXdBQUFJRUFtay4uLgotLS08L2NvZGU+ PC9wcmU+Ci0tLTwvYmxvY2txdW90ZT4KLS0tPGgyIGlkPSJGSUxFUyI+RklMRVM8YSBocmVmPSIj RklMRVMiIGNsYXNzPSJ0Z3QiPjwvYT48L2gyPgotLS08cD5+Ly5zc2gvYXV0aG9yaXplZF9rZXlz PC9wPgotLS08aDIgaWQ9IlNFRV9BTFNPIj5TRUUgQUxTTzxhIGhyZWY9IiNTRUVfQUxTTyIgY2xh c3M9InRndCI+PC9hPjwvaDI+Ci0tLTxwPjxhIGhyZWY9InJzeW5jLjEiPjxzdHJvbmc+cnN5bmM8 L3N0cm9uZz4oMSk8L2E+LCA8YSBocmVmPSJyc3luY2QuY29uZi41Ij48c3Ryb25nPnJzeW5jZC5j b25mPC9zdHJvbmc+KDUpPC9hPjwvcD4KLS0tPGgyIGlkPSJWRVJTSU9OIj5WRVJTSU9OPGEgaHJl Zj0iI1ZFUlNJT04iIGNsYXNzPSJ0Z3QiPjwvYT48L2gyPgotLS08cD5UaGlzIG1hbnBhZ2UgaXMg Y3VycmVudCBmb3IgdmVyc2lvbiAzLjQuMSBvZiByc3luYy48L3A+Ci0tLTxoMiBpZD0iQ1JFRElU UyI+Q1JFRElUUzxhIGhyZWY9IiNDUkVESVRTIiBjbGFzcz0idGd0Ij48L2E+PC9oMj4KLS0tPHA+ cnN5bmMgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl LiAgU2VlIHRoZSBmaWxlCi0tLTxhIGhyZWY9IkNPUFlJTkciPkNPUFlJTkc8L2E+IGZvciBkZXRh aWxzLjwvcD4KLS0tPHA+QW4gcnN5bmMgd2ViIHNpdGUgaXMgYXZhaWxhYmxlIGF0IDxhIGhyZWY9 Imh0dHBzOi8vcnN5bmMuc2FtYmEub3JnLyI+aHR0cHM6Ly9yc3luYy5zYW1iYS5vcmcvPC9hPiBh bmQgaXRzIGdpdGh1YgotLS1wcm9qZWN0IGlzIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9S c3luY1Byb2plY3QvcnN5bmMiPmh0dHBzOi8vZ2l0aHViLmNvbS9Sc3luY1Byb2plY3QvcnN5bmM8 L2E+LjwvcD4KLS0tPGgyIGlkPSJBVVRIT1IiPkFVVEhPUjxhIGhyZWY9IiNBVVRIT1IiIGNsYXNz PSJ0Z3QiPjwvYT48L2gyPgotLS08cD5UaGUgb3JpZ2luYWwgcnJzeW5jIHBlcmwgc2NyaXB0IHdh cyB3cml0dGVuIGJ5IEpvZSBTbWl0aC4gIE1hbnkgcGVvcGxlIGhhdmUKLS0tbGF0ZXIgY29udHJp YnV0ZWQgdG8gaXQuICBUaGUgcHl0aG9uIHZlcnNpb24gd2FzIGNyZWF0ZWQgYnkgV2F5bmUgRGF2 aXNvbi48L3A+Ci0tLTxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCI+PHA+PGk+MTUgSmFuIDIwMjU8 L2k+PC9wPjwvZGl2PgotLS08L2JvZHk+PC9odG1sPgotIGRpZmYgLU51cnAgYS9yc3luYy4xIGIv cnN5bmMuMQotIC0tLSBhL3JzeW5jLjEKLSArKysgYi9yc3luYy4xCgpkaWZmIC0tZ2l0IGEvcnN5 bmMtMy40LjEtc3NoLWFza3Bhc3MucGF0Y2ggYi9yc3luYy0zLjQuMS1zc2gtYXNrcGFzcy5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzc2MDZjZC4uMDAwMDAwMAotLS0gYS9y c3luYy0zLjQuMS1zc2gtYXNrcGFzcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAg QEAKLUZyb20gNGY2ZTRlYTY0YWMzZTJhYzUwZjQ4MTAzYTIyNjAxZjRhNDBlZThiZSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pY2hhbCBSdXByaWNoIDxtcnVwcmljaEByZWRoYXQu Y29tPgotRGF0ZTogTW9uLCA4IFNlcCAyMDI1IDA5OjQ5OjIyICswMjAwCi1TdWJqZWN0OiBbUEFU Q0hdIERvIG5vdCBjbGVhbiBESVNQTEFZIHVuY29uZGl0aW9uYWxseQotCi0tLS0KLSBtYWluLmMg fCA0ICsrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p Ci0KLWRpZmYgLS1naXQgYS9tYWluLmMgYi9tYWluLmMKLWluZGV4IDlkNzY0ZTE2Yi4uY2NhZDI4 YTFlIDEwMDY0NAotLS0tIGEvbWFpbi5jCi0rKysgYi9tYWluLmMKLUBAIC0xNzQzLDcgKzE3NDMs OSBAQCBpbnQgbWFpbihpbnQgYXJnYyxjaGFyICphcmd2W10pCi0gCW91cl9naWQgPSBNWV9HSUQo KTsKLSAJYW1fcm9vdCA9IG91cl91aWQgPT0gUk9PVF9VSUQ7Ci0gCi0tCXVuc2V0X2Vudl92YXIo IkRJU1BMQVkiKTsKLSsJLy8gRElTUExBWSBzaG91bGQgbm90IGJlIGVtcHRpZWQgdW5jb25kaXRp b25hbGx5Ci0rCWlmICghZ2V0ZW52KCJTU0hfQVNLUEFTUyIpKQotKwkJdW5zZXRfZW52X3Zhcigi RElTUExBWSIpOwotIAotICNpZiBkZWZpbmVkIFVTRV9PUEVOU1NMICYmIGRlZmluZWQgU0VUX09Q RU5TU0xfQ09ORgotICNkZWZpbmUgVE9fU1RSMih4KSAjeAoKZGlmZiAtLWdpdCBhL3JzeW5jLTMu NC4xLXVzZS1vcGVuYXQyLnBhdGNoIGIvcnN5bmMtMy40LjEtdXNlLW9wZW5hdDIucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1MTRiYTMuLjAwMDAwMDAKLS0tIGEvcnN5bmMt My40LjEtdXNlLW9wZW5hdDIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzODYgKzAsMCBAQAot RnJvbSA0ZmE3MTU2Y2NkYjJhZDM0YjAzNGQxOGZlMmZkNmNkNzlhZGVmOGExIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogQW5kcmV3IFRyaWRnZWxsIDxhbmRyZXdAdHJpZGdlbGwubmV0 PgotRGF0ZTogVGh1LCAzMCBBcHIgMjAyNiAwODozOToyMiArMTAwMAotU3ViamVjdDogW1BBVENI XSBzeXNjYWxsOiB1c2Ugb3BlbmF0MihSRVNPTFZFX0JFTkVBVEgpIG9uIExpbnV4IGZvcgotIHNl Y3VyZV9yZWxhdGl2ZV9vcGVuCi0KLVRoZSBDVkUgZml4IGluIGNvbW1pdCBjMzVlMjgzIG1hZGUg c2VjdXJlX3JlbGF0aXZlX29wZW4oKSB3YWxrIGV2ZXJ5Ci1jb21wb25lbnQgb2YgcmVscGF0aCB3 aXRoIE9fTk9GT0xMT1cuIFRoYXQgYmxvY2tzIGV2ZXJ5IHN5bWxpbmsgaW4gdGhlCi1wYXRoLCB3 aGljaCBpcyBzdHJpY3RlciB0aGFuIHRoZSB0aHJlYXQgbW9kZWwgcmVxdWlyZWQ6IGxlZ2l0aW1h dGUKLWRpcmVjdG9yeSBzeW1saW5rcyB3aXRoaW4gdGhlIGRlc3RpbmF0aW9uIHRyZWUgKGUuZy4g d2hlbiB1c2luZyAtSyAvCi0tLWNvcHktZGlybGlua3MpIGFyZSBhbHNvIHJlamVjdGVkLCBicmVh a2luZyBkZWx0YSB0cmFuc2ZlcnMgd2l0aAotImZhaWxlZCB2ZXJpZmljYXRpb24gLS0gdXBkYXRl IGRpc2NhcmRlZCIuICBTZWUgaXNzdWUgIzcxNS4KLQotT24gTGludXggNS42Kywgb3BlbmF0MihS RVNPTFZFX0JFTkVBVEggfCBSRVNPTFZFX05PX01BR0lDTElOS1MpIGdpdmVzCi11cyBleGFjdGx5 IHdoYXQgd2Ugd2FudDogdGhlIGtlcm5lbCByZWplY3RzIGFueSByZXNvbHV0aW9uIHRoYXQgd291 bGQKLWVzY2FwZSB0aGUgc3RhcnRpbmcgZGlyZWN0b3J5ICh2aWEgIi4uIiwgYWJzb2x1dGUgcGF0 aHMsIG9yIHN5bWxpbmtzCi1wb2ludGluZyBvdXRzaWRlIGRpcmZkKSB3aGlsZSBzdGlsbCBmb2xs b3dpbmcgc3ltbGlua3MgdGhhdCByZXNvbHZlCi13aXRoaW4gaXQuIC9wcm9jIG1hZ2ljLWxpbmtz IGFyZSBibG9ja2VkIHRvby4KLQotVXNlIG9wZW5hdDIgZmlyc3Q7IGZhbGwgYmFjayB0byB0aGUg ZXhpc3RpbmcgcGVyLWNvbXBvbmVudCBPX05PRk9MTE9XCi13YWxrIG9uIEVOT1NZUyAoa2VybmVs IDwgNS42KS4gVGhlIGxleGljYWwgIi4uLyIgY2hlY2tzIGF0IHRoZSBoZWFkCi1vZiB0aGUgZnVu Y3Rpb24gYXJlIGtlcHQgYXMgZGVmZW5zZSBpbiBkZXB0aC4gVGhlIExpbnV4IGdhdGUgaXMKLXBs YWluICNpZmRlZiBfX2xpbnV4X186IHRoZSBydW50aW1lIEVOT1NZUyBmYWxsYmFjayBjb3ZlcnMg dGhlIG9ubHkKLWNhc2UgdGhhdCBhY3R1YWxseSBtYXR0ZXJzIChoZWFkZXIgcHJlc2VudCArIG9s ZCBrZXJuZWwpLCBhbmQgYW55Ci1MaW51eCBidWlsZCBlbnZpcm9ubWVudCB3aXRob3V0IGxpbnV4 L29wZW5hdDIuaCB3aWxsIGZhaWwgd2l0aCBhCi1jbGVhciAibm8gc3VjaCBmaWxlIiBlcnJvciBy YXRoZXIgdGhhbiBzaWxlbnRseSBkaXNhYmxpbmcgdGhlCi1wcm90ZWN0aW9uLgotCi1WZXJpZmll ZCBtYW51YWxseSB0aGF0IG9wZW5hdDIoUkVTT0xWRV9CRU5FQVRIKSBibG9ja3MgYWxsIGZvdXIK LWVzY2FwZSBwYXR0ZXJucyAoYWJzb2x1dGUgc3ltbGluaywgLi4vIHN5bWxpbmssIGxleGljYWwg Li4sIGFic29sdXRlCi1wYXRoKSB3aGlsZSBhbGxvd2luZyBkaXJlY3QgYW5kIHdpdGhpbi10cmVl IHN5bWxpbmtzLiBUaGUgbmV3Ci10ZXN0c3VpdGUvc3ltbGluay1kaXJsaW5rLWJhc2lzLnRlc3Qg KHRha2VuIGZyb20gUFIgIzg2NCBieSBTYW11ZWwKLUhlbnJpcXVlKSBleGVyY2lzZXMgdGhlIGlz c3VlICM3MTUgcmVncmVzc2lvbiBhbmQgcGFzc2VzOyBmdWxsCi1tYWtlIGNoZWNrIHBhc3NlcyA0 Ny80Ny4KLQotVGVzdDogdGVzdHN1aXRlL3N5bWxpbmstZGlybGluay1iYXNpcy50ZXN0ICg4IHNj ZW5hcmlvcykKLUZpeGVzOiBodHRwczovL2dpdGh1Yi5jb20vUnN5bmNQcm9qZWN0L3JzeW5jL2lz c3Vlcy83MTUKLQotQ28tQXV0aG9yZWQtQnk6IENsYXVkZSBPcHVzIDQuNyAoMU0gY29udGV4dCkg PG5vcmVwbHlAYW50aHJvcGljLmNvbT4KLS0tLQotIHN5c2NhbGwuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICA2MiArKysrKystCi0gdGVzdHN1aXRlL3N5bWxpbmstZGlybGluay1iYXNp cy50ZXN0IHwgMjQ3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwotIDIgZmlsZXMgY2hhbmdl ZCwgMzA0IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNzU1 IHRlc3RzdWl0ZS9zeW1saW5rLWRpcmxpbmstYmFzaXMudGVzdAotCi1kaWZmIC0tZ2l0IGEvc3lz Y2FsbC5jIGIvc3lzY2FsbC5jCi1pbmRleCBlYzBlMDcwOGEuLjY2YzZkMjljNyAxMDA2NDQKLS0t LSBhL3N5c2NhbGwuYwotKysrIGIvc3lzY2FsbC5jCi1AQCAtMzMsNiArMzMsMTEgQEAKLSAjaW5j bHVkZSA8c3lzL3N5c2NhbGwuaD4KLSAjZW5kaWYKLSAKLSsjaWZkZWYgX19saW51eF9fCi0rI2lu Y2x1ZGUgPHN5cy9zeXNjYWxsLmg+Ci0rI2luY2x1ZGUgPGxpbnV4L29wZW5hdDIuaD4KLSsjZW5k aWYKLSsKLSAjaW5jbHVkZSAiaWZ1bmNzLmgiCi0gCi0gZXh0ZXJuIGludCBkcnlfcnVuOwotQEAg LTcyMCwxMiArNzI1LDQ5IEBAIGludCBkb19vcGVuX25vZm9sbG93KGNvbnN0IGNoYXIgKnBhdGhu YW1lLCBpbnQgZmxhZ3MpCi0gLyoKLSAgIG9wZW4gYSBmaWxlIHJlbGF0aXZlIHRvIGEgYmFzZSBk aXJlY3RvcnkuIFRoZSBiYXNlZGlyIGNhbiBiZSBOVUxMLAotICAgaW4gd2hpY2ggY2FzZSB0aGUg Y3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBpcyB1c2VkLiBUaGUgcmVscGF0aAotLSAgbXVzdCBi ZSBhIHJlbGF0aXZlIHBhdGgsIGFuZCB0aGUgcmVscGF0aCBtdXN0IG5vdCBjb250YWluIGFueQot LSAgZWxlbWVudHMgaW4gdGhlIHBhdGggd2hpY2ggZm9sbG93IHN5bWxpbmtzIChpZS4gbGlrZSBP X05PRk9MTE9XLCBidXQKLS0gIGFwcGxpZXMgdG8gYWxsIHBhdGggY29tcG9uZW50cywgbm90IGp1 c3QgdGhlIGxhc3QgY29tcG9uZW50KQotLQotLSAgVGhlIHJlbHBhdGggbXVzdCBhbHNvIG5vdCBj b250YWluIGFueSAuLi8gZWxlbWVudHMgaW4gdGhlIHBhdGgKLSsgIG11c3QgYmUgYSByZWxhdGl2 ZSBwYXRoLiBUaGUga2VybmVsIG11c3QgZ3VhcmFudGVlIHRoYXQgcmVzb2x1dGlvbgotKyAgY2Fu bm90IGVzY2FwZSBiYXNlZGlyIChvciB0aGUgY3dkLCB3aGVuIGJhc2VkaXIgaXMgTlVMTCk6IG5v ICIuLiIKLSsgIGp1bXBzIGFib3ZlIHRoZSBzdGFydCwgbm8gc3ltbGlua3MgcG9pbnRpbmcgb3V0 c2lkZSwgbm8gYWJzb2x1dGUKLSsgIHBhdGhzLCBubyAvcHJvYyBtYWdpYy1saW5rIHRyaWNrcy4K LSsKLSsgIFN5bWxpbmtzICp3aXRoaW4qIGJhc2VkaXIgYXJlIGZvbGxvd2VkIG5vcm1hbGx5IOKA lCBlYXJsaWVyIHJzeW5jCi0rICB2ZXJzaW9ucyByZWplY3RlZCBldmVyeSBzeW1saW5rIHdpdGgg T19OT0ZPTExPVyBvbiBlYWNoIGNvbXBvbmVudCwKLSsgIHdoaWNoIGJyb2tlIGxlZ2l0aW1hdGUg ZGlyZWN0b3J5IHN5bWxpbmtzIG9uIHRoZSByZWNlaXZlciBzaWRlCi0rICAoaHR0cHM6Ly9naXRo dWIuY29tL1JzeW5jUHJvamVjdC9yc3luYy9pc3N1ZXMvNzE1KS4gVGhlIGVzY2FwZQotKyAgcHJl dmVudGlvbiBpcyBoYW5kbGVkIGJ5IHRoZSBrZXJuZWwgdmlhIG9wZW5hdDIoUkVTT0xWRV9CRU5F QVRIKQotKyAgb24gTGludXggNS42Kzsgb2xkZXIgc3lzdGVtcyBmYWxsIGJhY2sgdG8gdGhlIHBl ci1jb21wb25lbnQKLSsgIE9fTk9GT0xMT1cgd2FsayBiZWxvdy4KLSsKLSsgIFRoZSByZWxwYXRo IG11c3QgYWxzbyBub3QgY29udGFpbiBhbnkgLi4vIGVsZW1lbnRzIGluIHRoZSBwYXRoLgotICov Ci0rCi0rI2lmZGVmIF9fbGludXhfXwotK3N0YXRpYyBpbnQgc2VjdXJlX3JlbGF0aXZlX29wZW5f bGludXgoY29uc3QgY2hhciAqYmFzZWRpciwgY29uc3QgY2hhciAqcmVscGF0aCwgaW50IGZsYWdz LCBtb2RlX3QgbW9kZSkKLSt7Ci0rCXN0cnVjdCBvcGVuX2hvdyBob3c7Ci0rCWludCBkaXJmZCwg cmV0ZmQ7Ci0rCi0rCW1lbXNldCgmaG93LCAwLCBzaXplb2YgaG93KTsKLSsJaG93LmZsYWdzID0g ZmxhZ3M7Ci0rCWhvdy5tb2RlID0gbW9kZTsKLSsJaG93LnJlc29sdmUgPSBSRVNPTFZFX0JFTkVB VEggfCBSRVNPTFZFX05PX01BR0lDTElOS1M7Ci0rCi0rCWlmIChiYXNlZGlyID09IE5VTEwpIHsK LSsJCWRpcmZkID0gQVRfRkRDV0Q7Ci0rCX0gZWxzZSB7Ci0rCQlkaXJmZCA9IG9wZW5hdChBVF9G RENXRCwgYmFzZWRpciwgT19SRE9OTFkgfCBPX0RJUkVDVE9SWSk7Ci0rCQlpZiAoZGlyZmQgPT0g LTEpCi0rCQkJcmV0dXJuIC0xOwotKwl9Ci0rCi0rCXJldGZkID0gc3lzY2FsbChTWVNfb3BlbmF0 MiwgZGlyZmQsIHJlbHBhdGgsICZob3csIHNpemVvZiBob3cpOwotKwotKwlpZiAoZGlyZmQgIT0g QVRfRkRDV0QpCi0rCQljbG9zZShkaXJmZCk7Ci0rCXJldHVybiByZXRmZDsKLSt9Ci0rI2VuZGlm Ci0rCi0gaW50IHNlY3VyZV9yZWxhdGl2ZV9vcGVuKGNvbnN0IGNoYXIgKmJhc2VkaXIsIGNvbnN0 IGNoYXIgKnJlbHBhdGgsIGludCBmbGFncywgbW9kZV90IG1vZGUpCi0gewotIAlpZiAoIXJlbHBh dGggfHwgcmVscGF0aFswXSA9PSAnLycpIHsKLUBAIC03MzksNiArNzgxLDE2IEBAIGludCBzZWN1 cmVfcmVsYXRpdmVfb3Blbihjb25zdCBjaGFyICpiYXNlZGlyLCBjb25zdCBjaGFyICpyZWxwYXRo LCBpbnQgZmxhZ3MsIG1vCi0gCQlyZXR1cm4gLTE7Ci0gCX0KLSAKLSsjaWZkZWYgX19saW51eF9f Ci0rCXsKLSsJCWludCBmZCA9IHNlY3VyZV9yZWxhdGl2ZV9vcGVuX2xpbnV4KGJhc2VkaXIsIHJl bHBhdGgsIGZsYWdzLCBtb2RlKTsKLSsJCS8qIEVOT1NZUyA9IGtlcm5lbCA8IDUuNiBkb2Vzbid0 IGhhdmUgdGhlIHN5c2NhbGwgZXZlbiB0aG91Z2gKLSsJCSAqIGdsaWJjL2tlcm5lbC1oZWFkZXJz IGRvOyBmYWxsIHRocm91Z2ggdG8gdGhlIHBvcnRhYmxlIHBhdGguICovCi0rCQlpZiAoZmQgIT0g LTEgfHwgZXJybm8gIT0gRU5PU1lTKQotKwkJCXJldHVybiBmZDsKLSsJfQotKyNlbmRpZgotKwot ICNpZiAhZGVmaW5lZChPX05PRk9MTE9XKSB8fCAhZGVmaW5lZChPX0RJUkVDVE9SWSkgfHwgIWRl ZmluZWQoQVRfRkRDV0QpCi0gCS8vIHJlYWxseSBvbGQgc3lzdGVtLCBhbGwgd2UgY2FuIGRvIGlz IGxpdmUgd2l0aCB0aGUgcmlza3MKLSAJaWYgKCFiYXNlZGlyKSB7Ci1kaWZmIC0tZ2l0IGEvdGVz dHN1aXRlL3N5bWxpbmstZGlybGluay1iYXNpcy50ZXN0IGIvdGVzdHN1aXRlL3N5bWxpbmstZGly bGluay1iYXNpcy50ZXN0Ci1uZXcgZmlsZSBtb2RlIDEwMDc1NQotaW5kZXggMDAwMDAwMDAwLi45 MDY1ZGQ4MTQKLS0tLSAvZGV2L251bGwKLSsrKyBiL3Rlc3RzdWl0ZS9zeW1saW5rLWRpcmxpbmst YmFzaXMudGVzdAotQEAgLTAsMCArMSwyNDcgQEAKLSsjIS9iaW4vc2gKLSsKLSsjIFRlc3QgdGhh dCB1cGRhdGluZyBhIGZpbGUgdGhyb3VnaCBhIGRpcmVjdG9yeSBzeW1saW5rIHdvcmtzIHdoZW4g dXNpbmcKLSsjIC1LICgtLWNvcHktZGlybGlua3MpLiBUaGlzIGlzIGEgcmVncmVzc2lvbiB0ZXN0 IGZvcjoKLSsjICAgaHR0cHM6Ly9naXRodWIuY29tL1JzeW5jUHJvamVjdC9yc3luYy9pc3N1ZXMv NzE1Ci0rIwotKyMgVGhlIENWRSBmaXggaW4gY29tbWl0IGMzNWUyODMgaW50cm9kdWNlZCBzZWN1 cmVfcmVsYXRpdmVfb3BlbigpIHdoaWNoCi0rIyB1c2VzIE9fTk9GT0xMT1cgb24gYWxsIHBhdGgg Y29tcG9uZW50cywgYnJlYWtpbmcgbGVnaXRpbWF0ZSBkaXJlY3RvcnkKLSsjIHN5bWxpbmtzIG9u IHRoZSByZWNlaXZlciBzaWRlLiBUaGUgZml4IHNwbGl0cyB0aGUgcGF0aCBpbnRvIGJhc2VkaXIK LSsjIChkaXJuYW1lLCBzeW1saW5rcyBmb2xsb3dlZCkgYW5kIGJhc2VuYW1lIChPX05PRk9MTE9X KSBzbyB0aGF0Ci0rIyBkaXJlY3Rvcnkgc3ltbGlua3MgYXJlIHRyYXZlcnNlZCB3aGlsZSB0aGUg ZmluYWwgZmlsZSBjb21wb25lbnQgaXMKLSsjIHN0aWxsIHByb3RlY3RlZC4KLSsjCi0rIyBUaGUg cmVncmVzc2lvbiBvbmx5IG1hbmlmZXN0cyB3aGVuIGRlbHRhIG1hdGNoaW5nIGlzIHRyaWdnZXJl ZCAoaS5lLiwKLSsjIHRoZSBzZW5kZXIgZmluZHMgbWF0Y2hpbmcgYmxvY2tzIGluIHRoZSBvbGQg ZmlsZSkuIFNtYWxsIGZpbGVzIHdpdGgKLSsjIGNvbXBsZXRlbHkgZGlmZmVyZW50IGNvbnRlbnQg YXJlIHRyYW5zZmVycmVkIGluIGZ1bGwgYW5kIGRvbid0IHRyaWdnZXIKLSsjIHRoZSBidWcuIFdl IHVzZSBhIGxhcmdlIGZpbGUgd2l0aCBhIHNtYWxsIG1vZGlmaWNhdGlvbiB0byBlbnN1cmUKLSsj IGRlbHRhIHRyYW5zZmVyIGlzIHVzZWQuCi0rIwotKyMgSW4gYWRkaXRpb24gdG8gdGhlIG9yaWdp bmFsIHJlZ3Jlc3Npb24sIHRoaXMgdGVzdCBjb3ZlcnMgZWRnZSBjYXNlcwotKyMgaW4gdGhlIGZp eCBpdHNlbGY6Ci0rIyAgIC0gLS1iYWNrdXAgd2l0aCBkaXJlY3Rvcnkgc3ltbGlua3MgKGZpbmlz aF90cmFuc2ZlciBwb2ludGVyIGlkZW50aXR5KQotKyMgICAtIC0tcGFydGlhbC1kaXIgd2l0aCBw cm90b2NvbCA8IDI5IChmbmFtZWNtcCAhPSBwYXJ0aWFscHRyIGd1YXJkKQotKyMgICAtIC0taW5w bGFjZSB3aXRoIGRpcmVjdG9yeSBzeW1saW5rcyAodXBkYXRpbmdfYmFzaXNfb3JfZXF1aXYgY2hl Y2spCi0rIyAgIC0gRmlsZXMgd2l0aG91dCBhIGRpcm5hbWUgKHRvcC1sZXZlbCBmaWxlcywgbm8g c3BsaXQgbmVlZGVkKQotKwotKy4gIiRzdWl0ZWRpci9yc3luYy5mbnMiCi0rCi0rUlNZTkNfUlNI PSIkc2NyYXRjaGRpci9zcmMvc3VwcG9ydC9sc2guc2giCi0rZXhwb3J0IFJTWU5DX1JTSAotKwot KyMgJEhPTUUgaXMgc2V0IHRvICRzY3JhdGNoZGlyIGJ5IHJzeW5jLmZucwotKyMgbG9jYWxob3N0 OiBkZXN0aW5hdGlvbiB3aWxsIGNkIHRvICRIT01FIChpLmUuLCAkc2NyYXRjaGRpcikKLSsKLSsj IEhlbHBlcjogY3JlYXRlIGEgbGFyZ2UgZmlsZSBzdWl0YWJsZSBmb3IgZGVsdGEgdHJhbnNmZXJz LgotKyMgfjMyS0IgaXMgbGFyZ2UgZW5vdWdoIGZvciByc3luYydzIGJsb2NrIG1hdGNoaW5nIHRv IGZpbmQgbWF0Y2hlcy4KLSttYWtlX3Rlc3RmaWxlKCkgewotKyAgICBkZCBpZj0vZGV2L3VyYW5k b20gb2Y9IiQxIiBicz0xMDI0IGNvdW50PTMyIDI+L2Rldi9udWxsIFwKLSsJfHwgdGVzdF9mYWls ICJmYWlsZWQgdG8gY3JlYXRlIHRlc3QgZmlsZSAkMSIKLSt9Ci0rCi0rIyBTZXQgdXAgc291cmNl IHRyZWUKLStzcmNiYXNlPSIkdG1wZGlyL3NyYyIKLSsKLSsjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0rIyBUZXN0 IDE6IEJhc2ljIGRpcmVjdG9yeSBzeW1saW5rIHVwZGF0ZSAodGhlIG9yaWdpbmFsIGlzc3VlICM3 MTUpCi0rIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIwotKwotK21rZGlyIC1wICIkSE9NRS9yZWFsLWRpciIKLStsbiAt cyByZWFsLWRpciAiJEhPTUUvZGlyIgotKwotK21rZGlyIC1wICIkc3JjYmFzZS9kaXIiCi0rbWFr ZV90ZXN0ZmlsZSAiJHNyY2Jhc2UvZGlyL2ZpbGUiCi0rCi0rIyBGaXJzdCB0cmFuc2ZlciAoaW5p dGlhbCk6IHNob3VsZCBjcmVhdGUgdGhlIGZpbGUgdGhyb3VnaCB0aGUgc3ltbGluawotKyhjZCAi JHNyY2Jhc2UiICYmICRSU1lOQyAtS1JscHR2IC0tcnN5bmMtcGF0aD0iJFJTWU5DIiBkaXIvZmls ZSBsb2NhbGhvc3Q6KSBcCi0rICAgIHx8IHRlc3RfZmFpbCAidGVzdCAxOiBpbml0aWFsIHRyYW5z ZmVyIGZhaWxlZCIKLSsKLStpZiBbICEgLWYgIiRIT01FL3JlYWwtZGlyL2ZpbGUiIF07IHRoZW4K LSsgICAgdGVzdF9mYWlsICJ0ZXN0IDE6IGluaXRpYWwgdHJhbnNmZXIgZGlkIG5vdCBjcmVhdGUg ZmlsZSB0aHJvdWdoIHN5bWxpbmsiCi0rZmkKLSsKLStkaWZmICIkc3JjYmFzZS9kaXIvZmlsZSIg IiRIT01FL3JlYWwtZGlyL2ZpbGUiID4vZGV2L251bGwgXAotKyAgICB8fCB0ZXN0X2ZhaWwgInRl c3QgMTogaW5pdGlhbCB0cmFuc2ZlciBjb250ZW50IG1pc21hdGNoIgotKwotKyMgU21hbGwgbW9k aWZpY2F0aW9uIHRvIHRyaWdnZXIgZGVsdGEgdHJhbnNmZXIKLStlY2hvICJhcHBlbmRlZCB1cGRh dGUiID4+ICIkc3JjYmFzZS9kaXIvZmlsZSIKLStzbGVlcCAxCi0rdG91Y2ggIiRzcmNiYXNlL2Rp ci9maWxlIgotKwotKyMgU2Vjb25kIHRyYW5zZmVyICh1cGRhdGUpOiB3YXMgZmFpbGluZyB3aXRo ICJmYWlsZWQgdmVyaWZpY2F0aW9uIgotKyhjZCAiJHNyY2Jhc2UiICYmICRSU1lOQyAtS1JscHR2 IC0tcnN5bmMtcGF0aD0iJFJTWU5DIiBkaXIvZmlsZSBsb2NhbGhvc3Q6KSBcCi0rICAgIHx8IHRl c3RfZmFpbCAidGVzdCAxOiB1cGRhdGUgdGhyb3VnaCBkaXJlY3Rvcnkgc3ltbGluayBmYWlsZWQi Ci0rCi0rZGlmZiAiJHNyY2Jhc2UvZGlyL2ZpbGUiICIkSE9NRS9yZWFsLWRpci9maWxlIiA+L2Rl di9udWxsIFwKLSsgICAgfHwgdGVzdF9mYWlsICJ0ZXN0IDE6IHVwZGF0ZSB0cmFuc2ZlciBjb250 ZW50IG1pc21hdGNoIgotKwotKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSsjIFRlc3QgMjogQ29tcHJlc3Npb24g KC16KSBhcyBpbiB0aGUgb3JpZ2luYWwgcmVwcm9kdWNlcgotKyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSsKLStl Y2hvICJhbm90aGVyIGxpbmUiID4+ICIkc3JjYmFzZS9kaXIvZmlsZSIKLStzbGVlcCAxCi0rdG91 Y2ggIiRzcmNiYXNlL2Rpci9maWxlIgotKwotKyhjZCAiJHNyY2Jhc2UiICYmICRSU1lOQyAtS1Js cHR6diAtLXJzeW5jLXBhdGg9IiRSU1lOQyIgZGlyL2ZpbGUgbG9jYWxob3N0OikgXAotKyAgICB8 fCB0ZXN0X2ZhaWwgInRlc3QgMjogY29tcHJlc3NlZCB1cGRhdGUgdGhyb3VnaCBkaXJlY3Rvcnkg c3ltbGluayBmYWlsZWQiCi0rCi0rZGlmZiAiJHNyY2Jhc2UvZGlyL2ZpbGUiICIkSE9NRS9yZWFs LWRpci9maWxlIiA+L2Rldi9udWxsIFwKLSsgICAgfHwgdGVzdF9mYWlsICJ0ZXN0IDI6IGNvbXBy ZXNzZWQgdXBkYXRlIGNvbnRlbnQgbWlzbWF0Y2giCi0rCi0rIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotKyMgVGVz dCAzOiBOZXN0ZWQgZGlyZWN0b3J5IHN5bWxpbmtzIChuZXN0ZWQvc3ViL2RhdGEudHh0IHdoZXJl Ci0rIyAgICAgICAgICAibmVzdGVkIiBpcyBhIHN5bWxpbmsgdG8gIm5lc3RlZF9yZWFsIikKLSsj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCi0rCi0rbWtkaXIgLXAgIiRIT01FL25lc3RlZF9yZWFsL3N1YiIKLStsbiAt cyBuZXN0ZWRfcmVhbCAiJEhPTUUvbmVzdGVkIgotKwotK21rZGlyIC1wICIkc3JjYmFzZS9uZXN0 ZWQvc3ViIgotK21ha2VfdGVzdGZpbGUgIiRzcmNiYXNlL25lc3RlZC9zdWIvZGF0YS50eHQiCi0r Ci0rKGNkICIkc3JjYmFzZSIgJiYgJFJTWU5DIC1LUmxwdHYgLS1yc3luYy1wYXRoPSIkUlNZTkMi IG5lc3RlZC9zdWIvZGF0YS50eHQgbG9jYWxob3N0OikgXAotKyAgICB8fCB0ZXN0X2ZhaWwgInRl c3QgMzogaW5pdGlhbCBuZXN0ZWQgdHJhbnNmZXIgZmFpbGVkIgotKwotK2VjaG8gImFwcGVuZGVk IG5lc3RlZCIgPj4gIiRzcmNiYXNlL25lc3RlZC9zdWIvZGF0YS50eHQiCi0rc2xlZXAgMQotK3Rv dWNoICIkc3JjYmFzZS9uZXN0ZWQvc3ViL2RhdGEudHh0IgotKwotKyhjZCAiJHNyY2Jhc2UiICYm ICRSU1lOQyAtS1JscHR2IC0tcnN5bmMtcGF0aD0iJFJTWU5DIiBuZXN0ZWQvc3ViL2RhdGEudHh0 IGxvY2FsaG9zdDopIFwKLSsgICAgfHwgdGVzdF9mYWlsICJ0ZXN0IDM6IHVwZGF0ZSB0aHJvdWdo IG5lc3RlZCBkaXJlY3Rvcnkgc3ltbGluayBmYWlsZWQiCi0rCi0rZGlmZiAiJHNyY2Jhc2UvbmVz dGVkL3N1Yi9kYXRhLnR4dCIgIiRIT01FL25lc3RlZF9yZWFsL3N1Yi9kYXRhLnR4dCIgPi9kZXYv bnVsbCBcCi0rICAgIHx8IHRlc3RfZmFpbCAidGVzdCAzOiBuZXN0ZWQgdXBkYXRlIGNvbnRlbnQg bWlzbWF0Y2giCi0rCi0rIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotKyMgVGVzdCA0OiAtLWJhY2t1cCB3aXRoIGRp cmVjdG9yeSBzeW1saW5rcwotKyMKLSsjIEV4ZXJjaXNlcyB0aGUgZmluaXNoX3RyYW5zZmVyKCkg ImZuYW1lY21wID09IGZuYW1lIiBwb2ludGVyCi0rIyBjb21wYXJpc29uIHRoYXQgZGV0ZXJtaW5l cyB3aGV0aGVyIHRvIHVwZGF0ZSBmbmFtZWNtcCB0byB0aGUKLSsjIGJhY2t1cCBuYW1lLiBJZiBi cm9rZW4sIC0tYmFja3VwIHdvdWxkIHJlZmVyZW5jZSBhIHJlbmFtZWQgZmlsZQotKyMgZm9yIHhh dHRyIGhhbmRsaW5nLgotKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSsKLSsjIFJlc2V0IGRlc3RpbmF0aW9uCi0r cm0gLWYgIiRIT01FL3JlYWwtZGlyL2ZpbGUiICIkSE9NRS9yZWFsLWRpci9maWxlfiIKLSsKLStt YWtlX3Rlc3RmaWxlICIkc3JjYmFzZS9kaXIvZmlsZSIKLSsKLSsoY2QgIiRzcmNiYXNlIiAmJiAk UlNZTkMgLUtSbHB0diAtLXJzeW5jLXBhdGg9IiRSU1lOQyIgZGlyL2ZpbGUgbG9jYWxob3N0Oikg XAotKyAgICB8fCB0ZXN0X2ZhaWwgInRlc3QgNDogaW5pdGlhbCB0cmFuc2ZlciBmb3IgYmFja3Vw IHRlc3QgZmFpbGVkIgotKwotK2VjaG8gImJhY2t1cCB1cGRhdGUiID4+ICIkc3JjYmFzZS9kaXIv ZmlsZSIKLStzbGVlcCAxCi0rdG91Y2ggIiRzcmNiYXNlL2Rpci9maWxlIgotKwotKyhjZCAiJHNy Y2Jhc2UiICYmICRSU1lOQyAtS1JscHR2IC0tYmFja3VwIC0tcnN5bmMtcGF0aD0iJFJTWU5DIiBk aXIvZmlsZSBsb2NhbGhvc3Q6KSBcCi0rICAgIHx8IHRlc3RfZmFpbCAidGVzdCA0OiB1cGRhdGUg d2l0aCAtLWJhY2t1cCB0aHJvdWdoIGRpcmVjdG9yeSBzeW1saW5rIGZhaWxlZCIKLSsKLStkaWZm ICIkc3JjYmFzZS9kaXIvZmlsZSIgIiRIT01FL3JlYWwtZGlyL2ZpbGUiID4vZGV2L251bGwgXAot KyAgICB8fCB0ZXN0X2ZhaWwgInRlc3QgNDogYmFja3VwIHVwZGF0ZSBjb250ZW50IG1pc21hdGNo IgotKwotK2lmIFsgISAtZiAiJEhPTUUvcmVhbC1kaXIvZmlsZX4iIF07IHRoZW4KLSsgICAgdGVz dF9mYWlsICJ0ZXN0IDQ6IGJhY2t1cCBmaWxlIHdhcyBub3QgY3JlYXRlZCIKLStmaQotKwotKyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKLSsjIFRlc3QgNTogLS1pbnBsYWNlIHdpdGggZGlyZWN0b3J5IHN5bWxpbmtz Ci0rIwotKyMgRXhlcmNpc2VzIHRoZSB1cGRhdGluZ19iYXNpc19vcl9lcXVpdiBjaGVjayB3aGlj aCB1c2VzCi0rIyAiZm5hbWVjbXAgPT0gZm5hbWUiLiBXaXRoIC0taW5wbGFjZSwgcnN5bmMgd3Jp dGVzIGRpcmVjdGx5IHRvCi0rIyB0aGUgZGVzdGluYXRpb24gZmlsZSBpbnN0ZWFkIG9mIGEgdGVt cCBmaWxlLgotKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSsKLStybSAtZiAiJEhPTUUvcmVhbC1kaXIvZmlsZSIg IiRIT01FL3JlYWwtZGlyL2ZpbGV+IgotKwotK21ha2VfdGVzdGZpbGUgIiRzcmNiYXNlL2Rpci9m aWxlIgotKwotKyhjZCAiJHNyY2Jhc2UiICYmICRSU1lOQyAtS1JscHR2IC0taW5wbGFjZSAtLXJz eW5jLXBhdGg9IiRSU1lOQyIgZGlyL2ZpbGUgbG9jYWxob3N0OikgXAotKyAgICB8fCB0ZXN0X2Zh aWwgInRlc3QgNTogaW5pdGlhbCBpbnBsYWNlIHRyYW5zZmVyIGZhaWxlZCIKLSsKLStlY2hvICJp bnBsYWNlIHVwZGF0ZSIgPj4gIiRzcmNiYXNlL2Rpci9maWxlIgotK3NsZWVwIDEKLSt0b3VjaCAi JHNyY2Jhc2UvZGlyL2ZpbGUiCi0rCi0rKGNkICIkc3JjYmFzZSIgJiYgJFJTWU5DIC1LUmxwdHYg LS1pbnBsYWNlIC0tcnN5bmMtcGF0aD0iJFJTWU5DIiBkaXIvZmlsZSBsb2NhbGhvc3Q6KSBcCi0r ICAgIHx8IHRlc3RfZmFpbCAidGVzdCA1OiBpbnBsYWNlIHVwZGF0ZSB0aHJvdWdoIGRpcmVjdG9y eSBzeW1saW5rIGZhaWxlZCIKLSsKLStkaWZmICIkc3JjYmFzZS9kaXIvZmlsZSIgIiRIT01FL3Jl YWwtZGlyL2ZpbGUiID4vZGV2L251bGwgXAotKyAgICB8fCB0ZXN0X2ZhaWwgInRlc3QgNTogaW5w bGFjZSB1cGRhdGUgY29udGVudCBtaXNtYXRjaCIKLSsKLSsjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0rIyBUZXN0 IDY6IFRvcC1sZXZlbCBmaWxlIChubyBkaXJuYW1lLCBubyBzcGxpdCBuZWVkZWQpCi0rIwotKyMg RW5zdXJlcyB0aGUgZGlybmFtZS9iYXNlbmFtZSBzcGxpdCBpcyBub3QgYXR0ZW1wdGVkIGZvciBm aWxlcwotKyMgYXQgdGhlIHRvcCBsZXZlbCAoZmlsZS0+ZGlybmFtZSBpcyBOVUxMKS4KLSsjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCi0rCi0rbWFrZV90ZXN0ZmlsZSAiJHNyY2Jhc2UvdG9wZmlsZSIKLStta2RpciAt cCAiJEhPTUUiCi0rCi0rKGNkICIkc3JjYmFzZSIgJiYgJFJTWU5DIC1SbHB0diAtLXJzeW5jLXBh dGg9IiRSU1lOQyIgdG9wZmlsZSBsb2NhbGhvc3Q6KSBcCi0rICAgIHx8IHRlc3RfZmFpbCAidGVz dCA2OiBpbml0aWFsIHRvcC1sZXZlbCB0cmFuc2ZlciBmYWlsZWQiCi0rCi0rZWNobyAidG9wbGV2 ZWwgdXBkYXRlIiA+PiAiJHNyY2Jhc2UvdG9wZmlsZSIKLStzbGVlcCAxCi0rdG91Y2ggIiRzcmNi YXNlL3RvcGZpbGUiCi0rCi0rKGNkICIkc3JjYmFzZSIgJiYgJFJTWU5DIC1SbHB0diAtLXJzeW5j LXBhdGg9IiRSU1lOQyIgdG9wZmlsZSBsb2NhbGhvc3Q6KSBcCi0rICAgIHx8IHRlc3RfZmFpbCAi dGVzdCA2OiB0b3AtbGV2ZWwgdXBkYXRlIGZhaWxlZCIKLSsKLStkaWZmICIkc3JjYmFzZS90b3Bm aWxlIiAiJEhPTUUvdG9wZmlsZSIgPi9kZXYvbnVsbCBcCi0rICAgIHx8IHRlc3RfZmFpbCAidGVz dCA2OiB0b3AtbGV2ZWwgdXBkYXRlIGNvbnRlbnQgbWlzbWF0Y2giCi0rCi0rIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwotKyMgVGVzdCA3OiAtLXBhcnRpYWwtZGlyIHdpdGggcHJvdG9jb2wgPCAyOQotKyMKLSsjIEZv ciBwcm90b2NvbCA8IDI5LCBmbmFtZWNtcF90eXBlIHN0YXlzIEZOQU1FQ01QX0ZOQU1FIGV2ZW4g d2hlbgotKyMgZm5hbWVjbXAgaXMgc2V0IHRvIHBhcnRpYWxwdHIuIFRoZSBkaXJuYW1lL2Jhc2Vu YW1lIHNwbGl0IG11c3QKLSsjIE5PVCB0cmlnZ2VyIGluIHRoaXMgY2FzZSAoZ3VhcmRlZCBieSAi Zm5hbWVjbXAgPT0gZm5hbWUiKS4KLSsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0rCi0rcm0gLWYgIiRIT01FL3Jl YWwtZGlyL2ZpbGUiCi0rbWFrZV90ZXN0ZmlsZSAiJHNyY2Jhc2UvZGlyL2ZpbGUiCi0rCi0rKGNk ICIkc3JjYmFzZSIgJiYgJFJTWU5DIC1LUmxwdHYgLS1wcm90b2NvbD0yOCAtLXBhcnRpYWwtZGly PS5yc3luYy1wYXJ0aWFsIFwKLSsgICAgLS1yc3luYy1wYXRoPSIkUlNZTkMiIGRpci9maWxlIGxv Y2FsaG9zdDopIFwKLSsgICAgfHwgdGVzdF9mYWlsICJ0ZXN0IDc6IGluaXRpYWwgcHJvdG8yOCBw YXJ0aWFsLWRpciB0cmFuc2ZlciBmYWlsZWQiCi0rCi0rZWNobyAicGFydGlhbC1kaXIgdXBkYXRl IiA+PiAiJHNyY2Jhc2UvZGlyL2ZpbGUiCi0rc2xlZXAgMQotK3RvdWNoICIkc3JjYmFzZS9kaXIv ZmlsZSIKLSsKLSsoY2QgIiRzcmNiYXNlIiAmJiAkUlNZTkMgLUtSbHB0diAtLXByb3RvY29sPTI4 IC0tcGFydGlhbC1kaXI9LnJzeW5jLXBhcnRpYWwgXAotKyAgICAtLXJzeW5jLXBhdGg9IiRSU1lO QyIgZGlyL2ZpbGUgbG9jYWxob3N0OikgXAotKyAgICB8fCB0ZXN0X2ZhaWwgInRlc3QgNzogcHJv dG8yOCBwYXJ0aWFsLWRpciB1cGRhdGUgdGhyb3VnaCBkaXJsaW5rIGZhaWxlZCIKLSsKLStkaWZm ICIkc3JjYmFzZS9kaXIvZmlsZSIgIiRIT01FL3JlYWwtZGlyL2ZpbGUiID4vZGV2L251bGwgXAot KyAgICB8fCB0ZXN0X2ZhaWwgInRlc3QgNzogcHJvdG8yOCBwYXJ0aWFsLWRpciB1cGRhdGUgY29u dGVudCBtaXNtYXRjaCIKLSsKLSsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0rIyBUZXN0IDg6IFByb3RvY29sIDwg MjkgYmFzaWMgZGlyZWN0b3J5IHN5bWxpbmsgdXBkYXRlCi0rIwotKyMgRXhlcmNpc2VzIHRoZSBw cm90b2NvbCA8IDI5IGNvZGUgcGF0aCBhbmQgaXRzIGZhbGxiYWNrIGxvZ2ljCi0rIyAoY2xlYXJp bmcgYmFzZWRpciBvbiByZXRyeSkuCi0rIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotKwotK3JtIC1mICIkSE9NRS9y ZWFsLWRpci9maWxlIgotK21ha2VfdGVzdGZpbGUgIiRzcmNiYXNlL2Rpci9maWxlIgotKwotKyhj ZCAiJHNyY2Jhc2UiICYmICRSU1lOQyAtS1JscHR2IC0tcHJvdG9jb2w9MjggXAotKyAgICAtLXJz eW5jLXBhdGg9IiRSU1lOQyIgZGlyL2ZpbGUgbG9jYWxob3N0OikgXAotKyAgICB8fCB0ZXN0X2Zh aWwgInRlc3QgODogaW5pdGlhbCBwcm90bzI4IHRyYW5zZmVyIGZhaWxlZCIKLSsKLStlY2hvICJw cm90bzI4IHVwZGF0ZSIgPj4gIiRzcmNiYXNlL2Rpci9maWxlIgotK3NsZWVwIDEKLSt0b3VjaCAi JHNyY2Jhc2UvZGlyL2ZpbGUiCi0rCi0rKGNkICIkc3JjYmFzZSIgJiYgJFJTWU5DIC1LUmxwdHYg LS1wcm90b2NvbD0yOCBcCi0rICAgIC0tcnN5bmMtcGF0aD0iJFJTWU5DIiBkaXIvZmlsZSBsb2Nh bGhvc3Q6KSBcCi0rICAgIHx8IHRlc3RfZmFpbCAidGVzdCA4OiBwcm90bzI4IHVwZGF0ZSB0aHJv dWdoIGRpcmVjdG9yeSBzeW1saW5rIGZhaWxlZCIKLSsKLStkaWZmICIkc3JjYmFzZS9kaXIvZmls ZSIgIiRIT01FL3JlYWwtZGlyL2ZpbGUiID4vZGV2L251bGwgXAotKyAgICB8fCB0ZXN0X2ZhaWwg InRlc3QgODogcHJvdG8yOCB1cGRhdGUgY29udGVudCBtaXNtYXRjaCIKLSsKLSsjIFRoZSBzY3Jp cHQgd291bGQgaGF2ZSBhYm9ydGVkIG9uIGVycm9yLCBzbyBnZXR0aW5nIGhlcmUgbWVhbnMgd2Un dmUgd29uLgotK2V4aXQgMAoKZGlmZiAtLWdpdCBhL3JzeW5jLWFkZC1kZXRlY3QtcmVuYW1lZC5k aWZmIGIvcnN5bmMtYWRkLWRldGVjdC1yZW5hbWVkLmRpZmYKaW5kZXggZDQ5MjhjNy4uODMwNGZj YSAxMDA2NDQKLS0tIGEvcnN5bmMtYWRkLWRldGVjdC1yZW5hbWVkLmRpZmYKKysrIGIvcnN5bmMt YWRkLWRldGVjdC1yZW5hbWVkLmRpZmYKQEAgLTQwLDE3ICs0MCwxOCBAQCBUT0RPOgogCiBiYXNl ZC1vbjogMzMwNWE3YTA2M2FiMDE2N2NhYjViZjcwMjlkYTUzYWJhYTlmZGI2ZQogZGlmZiAtLWdp dCBhL2JhY2t1cC5jIGIvYmFja3VwLmMKK2luZGV4IGRmOWRhYzkuLmNiYjdiMzkgMTAwNjQ0CiAt LS0gYS9iYWNrdXAuYwogKysrIGIvYmFja3VwLmMKLUBAIC0xNjIsNyArMTYyLDcgQEAgY2hhciAq Z2V0X2JhY2t1cF9uYW1lKGNvbnN0IGNoYXIgKmZuYW1lKQotIAkJCWludCByZXQ7Ci0gCQkJaWYg KGJhY2t1cF9kaXJfbGVuID4gMSkKLSAJCQkJYmFja3VwX2Rpcl9idWZbYmFja3VwX2Rpcl9sZW4t MV0gPSAnXDAnOwotLQkJCXJldCA9IG1ha2VfcGF0aChiYWNrdXBfZGlyX2J1ZiwgMCk7Ci0rCQkJ cmV0ID0gbWFrZV9wYXRoKGJhY2t1cF9kaXJfYnVmLCBBQ0NFU1NQRVJNUywgMCk7CitAQCAtMjAz LDcgKzIwMyw3IEBAIGNoYXIgKmdldF9iYWNrdXBfbmFtZShjb25zdCBjaGFyICpmbmFtZSkKKyAJ CQl9CiAgCQkJaWYgKGJhY2t1cF9kaXJfbGVuID4gMSkKLSAJCQkJYmFja3VwX2Rpcl9idWZbYmFj a3VwX2Rpcl9sZW4tMV0gPSAnLyc7CisgCQkJCWRpcmJ1ZltiYWNrdXBfZGlyX2xlbi0xXSA9ICdc MCc7CistCQkJcmV0ID0gbWFrZV9wYXRoKGRpcmJ1ZiwgMCk7CisrCQkJcmV0ID0gbWFrZV9wYXRo KGRpcmJ1ZiwgQUNDRVNTUEVSTVMsIDApOwogIAkJCWlmIChyZXQgPCAwKQorIAkJCQlyZXR1cm4g TlVMTDsKKyAJCQlpbml0aWFsaXplZCA9IDE7CiBkaWZmIC0tZ2l0IGEvY29tcGF0LmMgYi9jb21w YXQuYwogLS0tIGEvY29tcGF0LmMKICsrKyBiL2NvbXBhdC5jCkBAIC0xMzcsOSArMTM4LDkgQEAg ZGlmZiAtLWdpdCBhL2ZsaXN0LmMgYi9mbGlzdC5jCiAgZXh0ZXJuIGludCBjb3B5X2xpbmtzOwog IGV4dGVybiBpbnQgY29weV91bnNhZmVfbGlua3M7CiArZXh0ZXJuIGludCBkZXRlY3RfcmVuYW1l ZDsKKyBleHRlcm4gaW50IGluc2VjdXJlX2xpbmtzOwogIGV4dGVybiBpbnQgcHJvdG9jb2xfdmVy c2lvbjsKICBleHRlcm4gaW50IHNhbml0aXplX3BhdGhzOwotIGV4dGVybiBpbnQgbXVuZ2Vfc3lt bGlua3M7CiBAQCAtMTQ0LDYgKzE0NSw4IEBAIHN0YXRpYyBpbmxpbmUgdWludDMyIHdpcmVfbXRp bWVfbnNlY19mcm9tX3N0YXQoY29uc3QgU1RSVUNUX1NUQVQgKnN0cCkKICB9CiAgI2VuZGlmCkBA IC0yMjAsOSArMjIxLDEwIEBAIGRpZmYgLS1naXQgYS9mbGlzdC5jIGIvZmxpc3QuYwogIAkJLyog UmVjdiB0aGUgaW9fZXJyb3IgZmxhZyAqLwogIAkJaW50IGVyciA9IHJlYWRfaW50KGYpOwogZGlm ZiAtLWdpdCBhL2dlbmVyYXRvci5jIGIvZ2VuZXJhdG9yLmMKK2luZGV4IDdlNWFkNjAuLjIwNThh MzMgMTAwNjQ0CiAtLS0gYS9nZW5lcmF0b3IuYwogKysrIGIvZ2VuZXJhdG9yLmMKLUBAIC04MSw2 ICs4MSw3IEBAIGV4dGVybiBpbnQgYWx3YXlzX2NoZWNrc3VtOworQEAgLTg0LDYgKzg0LDcgQEAg ZXh0ZXJuIGludCBhbHdheXNfY2hlY2tzdW07CiAgZXh0ZXJuIGludCBmbGlzdF9jc3VtX2xlbjsK ICBleHRlcm4gY2hhciAqcGFydGlhbF9kaXI7CiAgZXh0ZXJuIGludCBhbHRfZGVzdF90eXBlOwpA QCAtMjMwLDcgKzIzMiw3IEBAIGRpZmYgLS1naXQgYS9nZW5lcmF0b3IuYyBiL2dlbmVyYXRvci5j CiAgZXh0ZXJuIGludCB3aG9sZV9maWxlOwogIGV4dGVybiBpbnQgbGlzdF9vbmx5OwogIGV4dGVy biBpbnQgcmVhZF9iYXRjaDsKLUBAIC05OSwxMSArMTAwLDEzIEBAIGV4dGVybiBjaGFyICp0bXBk aXI7CitAQCAtMTAyLDExICsxMDMsMTMgQEAgZXh0ZXJuIGNoYXIgKnRtcGRpcjsKICBleHRlcm4g Y2hhciAqYmFzaXNfZGlyW01BWF9CQVNJU19ESVJTKzFdOwogIGV4dGVybiBzdHJ1Y3QgZmlsZV9s aXN0ICpjdXJfZmxpc3QsICpmaXJzdF9mbGlzdCwgKmRpcl9mbGlzdDsKICBleHRlcm4gZmlsdGVy X3J1bGVfbGlzdCBmaWx0ZXJfbGlzdCwgZGFlbW9uX2ZpbHRlcl9saXN0OwpAQCAtMjQ0LDcgKzI0 Niw3IEBAIGRpZmYgLS1naXQgYS9nZW5lcmF0b3IuYyBiL2dlbmVyYXRvci5jCiAgc3RhdGljIGlu dCBkZWxkZWxheV9zaXplID0gMCwgZGVsZGVsYXlfY250ID0gMDsKICBzdGF0aWMgY2hhciAqZGVs ZGVsYXlfYnVmID0gTlVMTDsKICBzdGF0aWMgaW50IGRlbGRlbGF5X2ZkID0gLTE7Ci1AQCAtMjY4 LDE0ICsyNzEsMTkgQEAgc3RhdGljIHZvaWQgZG9fZGVsYXllZF9kZWxldGlvbnMoY2hhciAqZGVs YnVmKQorQEAgLTI4MSwxNCArMjg0LDE5IEBAIHN0YXRpYyB2b2lkIGRvX2RlbGF5ZWRfZGVsZXRp b25zKGNoYXIgKmRlbGJ1ZikKICAgKiBhbGwgdGhlIC0tZGVsZXRlLVdIRU4gb3B0aW9ucy4gIE5v dGUgdGhhdCB0aGUgZmJ1ZiBwb2ludGVyIG11c3QgcG9pbnQgdG8gYQogICAqIE1BWFBBVEhMRU4g YnVmZmVyIHdpdGggdGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSBpbiBpdCAodGhlIGZ1bmN0aW9u cyB3ZQogICAqIGNhbGwgd2lsbCBhcHBlbmQgbmFtZXMgb250byB0aGUgZW5kLCBidXQgdGhlIG9s ZCBkaXIgdmFsdWUgd2lsbCBiZSByZXN0b3JlZApAQCAtMjY4LDcgKzI3MCw3IEBAIGRpZmYgLS1n aXQgYS9nZW5lcmF0b3IuYyBiL2dlbmVyYXRvci5jCiAgCiAgCWlmICghZmJ1ZikgewogIAkJY2hh bmdlX2xvY2FsX2ZpbHRlcl9kaXIoTlVMTCwgMCwgMCk7Ci1AQCAtMjg5LDE3ICsyOTcsMjIgQEAg c3RhdGljIHZvaWQgZGVsZXRlX2luX2RpcihjaGFyICpmYnVmLCBzdHJ1Y3QgZmlsZV9zdHJ1Y3Qg KmZpbGUsIGRldl90IGZzX2RldikKK0BAIC0zMDIsMTcgKzMxMCwyMiBAQCBzdGF0aWMgdm9pZCBk ZWxldGVfaW5fZGlyKGNoYXIgKmZidWYsIHN0cnVjdCBmaWxlX3N0cnVjdCAqZmlsZSwgZGV2X3Qg ZnNfZGV2KQogIAkJbWF5YmVfc2VuZF9rZWVwYWxpdmUodGltZShOVUxMKSwgTVNLX0FMTE9XX0ZM VVNIKTsKICAKICAJaWYgKGlvX2Vycm9yICYgSU9FUlJfR0VORVJBTCAmJiAhaWdub3JlX2Vycm9y cykgewpAQCAtMjk2LDcgKzI5OCw3IEBAIGRpZmYgLS1naXQgYS9nZW5lcmF0b3IuYyBiL2dlbmVy YXRvci5jCiAgCWlmIChvbmVfZmlsZV9zeXN0ZW0pIHsKICAJCWlmICghZGV2X3RibCkKICAJCQlk ZXZfdGJsID0gaGFzaHRhYmxlX2NyZWF0ZSgxNiwgSFRfS0VZNjQpOwotQEAgLTMxNSw2ICszMjgs MTQgQEAgc3RhdGljIHZvaWQgZGVsZXRlX2luX2RpcihjaGFyICpmYnVmLCBzdHJ1Y3QgZmlsZV9z dHJ1Y3QgKmZpbGUsIGRldl90IGZzX2RldikKK0BAIC0zMjgsNiArMzQxLDE0IEBAIHN0YXRpYyB2 b2lkIGRlbGV0ZV9pbl9kaXIoY2hhciAqZmJ1Ziwgc3RydWN0IGZpbGVfc3RydWN0ICpmaWxlLCBk ZXZfdCBmc19kZXYpCiAgCiAgCWRpcmxpc3QgPSBnZXRfZGlybGlzdChmYnVmLCBkbGVuLCAwKTsK ICAKQEAgLTMxMSw3ICszMTMsNyBAQCBkaWZmIC0tZ2l0IGEvZ2VuZXJhdG9yLmMgYi9nZW5lcmF0 b3IuYwogIAkvKiBJZiBhbiBpdGVtIGluIGRpcmxpc3QgaXMgbm90IGZvdW5kIGluIGZsaXN0LCBk ZWxldGUgaXQKICAJICogZnJvbSB0aGUgZmlsZXN5c3RlbS4gKi8KICAJZm9yIChpID0gZGlybGlz dC0+dXNlZDsgaS0tOyApIHsKLUBAIC0zMjcsNiArMzQ4LDEwIEBAIHN0YXRpYyB2b2lkIGRlbGV0 ZV9pbl9kaXIoY2hhciAqZmJ1Ziwgc3RydWN0IGZpbGVfc3RydWN0ICpmaWxlLCBkZXZfdCBmc19k ZXYpCitAQCAtMzQwLDYgKzM2MSwxMCBAQCBzdGF0aWMgdm9pZCBkZWxldGVfaW5fZGlyKGNoYXIg KmZidWYsIHN0cnVjdCBmaWxlX3N0cnVjdCAqZmlsZSwgZGV2X3QgZnNfZGV2KQogIAkJCQkJZl9u YW1lKGZwLCBOVUxMKSk7CiAgCQkJY29udGludWU7CiAgCQl9CkBAIC0zMjIsNyArMzI0LDcgQEAg ZGlmZiAtLWdpdCBhL2dlbmVyYXRvci5jIGIvZ2VuZXJhdG9yLmMKICAJCS8qIEhlcmUgd2Ugd2Fu dCB0byBtYXRjaCByZWdhcmRsZXNzIG9mIGZpbGUgdHlwZS4gIFJlcGxhY2VtZW50CiAgCQkgKiBv ZiBhIGZpbGUgd2l0aCBvbmUgb2YgYW5vdGhlciB0eXBlIGlzIGhhbmRsZWQgc2VwYXJhdGVseSBi eQogIAkJICogYSBkZWxldGVfaXRlbSBjYWxsIHdpdGggYSBERUxfTUFLRV9ST09NIGZsYWcuICov Ci1AQCAtMzM1LDE0ICszNjAsMTkgQEAgc3RhdGljIHZvaWQgZGVsZXRlX2luX2RpcihjaGFyICpm YnVmLCBzdHJ1Y3QgZmlsZV9zdHJ1Y3QgKmZpbGUsIGRldl90IGZzX2RldikKK0BAIC0zNDgsMTQg KzM3MywxOSBAQCBzdGF0aWMgdm9pZCBkZWxldGVfaW5fZGlyKGNoYXIgKmZidWYsIHN0cnVjdCBm aWxlX3N0cnVjdCAqZmlsZSwgZGV2X3QgZnNfZGV2KQogIAkJCWlmICghKGZwLT5tb2RlICYgU19J V1VTUikgJiYgIWFtX3Jvb3QgJiYgZnAtPmZsYWdzICYgRkxBR19PV05FRF9CWV9VUykKICAJCQkJ ZmxhZ3MgfD0gREVMX05PX1VJRF9XUklURTsKICAJCQlmX25hbWUoZnAsIGRlbGJ1Zik7CkBAIC0z NDYsNyArMzQ4LDcgQEAgZGlmZiAtLWdpdCBhL2dlbmVyYXRvci5jIGIvZ2VuZXJhdG9yLmMKICAJ Zmxpc3RfZnJlZShkaXJsaXN0KTsKICB9CiAgCi1AQCAtMzc4LDE0ICs0MDgsMTI1IEBAIHN0YXRp YyB2b2lkIGRvX2RlbGV0ZV9wYXNzKHZvaWQpCitAQCAtMzkxLDE0ICs0MjEsMTI1IEBAIHN0YXRp YyB2b2lkIGRvX2RlbGV0ZV9wYXNzKHZvaWQpCiAgCQkgfHwgIVNfSVNESVIoc3Quc3RfbW9kZSkp CiAgCQkJY29udGludWU7CiAgCkBAIC00NzQsNyArNDc2LDcgQEAgZGlmZiAtLWdpdCBhL2dlbmVy YXRvci5jIGIvZ2VuZXJhdG9yLmMKICBzdGF0aWMgaW5saW5lIGludCBtdGltZV9kaWZmZXJzKFNU UlVDVF9TVEFUICpzdHAsIHN0cnVjdCBmaWxlX3N0cnVjdCAqZmlsZSkKICB7CiAgI2lmZGVmIFNU X01USU1FX05TRUMKLUBAIC0xMTgyLDYgKzEzMjMsNyBAQCBzdGF0aWMgdm9pZCBsaXN0X2ZpbGVf ZW50cnkoc3RydWN0IGZpbGVfc3RydWN0ICpmKQorQEAgLTEzNTcsNiArMTQ5OCw3IEBAIHN0YXRp YyB2b2lkIGxpc3RfZmlsZV9lbnRyeShzdHJ1Y3QgZmlsZV9zdHJ1Y3QgKmYpCiAgCX0KICB9CiAg CkBAIC00ODIsNyArNDg0LDcgQEAgZGlmZiAtLWdpdCBhL2dlbmVyYXRvci5jIGIvZ2VuZXJhdG9y LmMKICBzdGF0aWMgaW50IHBoYXNlID0gMDsKICBzdGF0aWMgaW50IGRmbHRfcGVybXM7CiAgCi1A QCAtMTMxOCw3ICsxNDYwLDcgQEAgc3RhdGljIHZvaWQgcmVjdl9nZW5lcmF0b3IoY2hhciAqZm5h bWUsIHN0cnVjdCBmaWxlX3N0cnVjdCAqZmlsZSwgaW50IG5keCwKK0BAIC0xNzE5LDcgKzE4NjEs NyBAQCBzdGF0aWMgdm9pZCByZWN2X2dlbmVyYXRvcihjaGFyICpmbmFtZSwgc3RydWN0IGZpbGVf c3RydWN0ICpmaWxlLCBpbnQgbmR4LAogIAkJCSAmJiBkb19zdGF0X2F0KGRuLCAmc3guc3QpIDwg MCkgewogIAkJCQlpZiAoZHJ5X3J1bikKICAJCQkJCWdvdG8gcGFyZW50X2lzX2RyeV9taXNzaW5n OwpAQCAtNDkxLDE2ICs0OTMsMTYgQEAgZGlmZiAtLWdpdCBhL2dlbmVyYXRvci5jIGIvZ2VuZXJh dG9yLmMKICAJCQkJCXJzeXNlcnIoRkVSUk9SX1hGRVIsIGVycm5vLAogIAkJCQkJCSJyZWN2X2dl bmVyYXRvcjogbWtkaXIgJXMgZmFpbGVkIiwKICAJCQkJCQlmdWxsX2ZuYW1lKGRuKSk7Ci1AQCAt MTQ3MSw3ICsxNjEzLDcgQEAgc3RhdGljIHZvaWQgcmVjdl9nZW5lcmF0b3IoY2hhciAqZm5hbWUs IHN0cnVjdCBmaWxlX3N0cnVjdCAqZmlsZSwgaW50IG5keCwKLSAJCX0KLSAJCWlmIChyZWFsX3Jl dCAhPSAwICYmIGRvX21rZGlyX2F0KGZuYW1lLGZpbGUtPm1vZGV8YWRkZWRfcGVybXMpIDwgMCAm JiBlcnJubyAhPSBFRVhJU1QpIHsKK0BAIC0xODc1LDcgKzIwMTcsNyBAQCBzdGF0aWMgdm9pZCBy ZWN2X2dlbmVyYXRvcihjaGFyICpmbmFtZSwgc3RydWN0IGZpbGVfc3RydWN0ICpmaWxlLCBpbnQg bmR4LAorIAkJCSAqIGRyb3AgYW55IGNhY2hlZCAoZmFpbGVkKSBkaXIgZmQgYmVmb3JlIHRoZSBy ZXRyeS4gKi8KKyAJCQlyZXNldF9kaXJfZmRfY2FjaGUoKTsKICAJCQlpZiAoIXJlbGF0aXZlX3Bh dGhzIHx8IGVycm5vICE9IEVOT0VOVAogLQkJCSB8fCBtYWtlX3BhdGgoZm5hbWUsIE1LUF9EUk9Q X05BTUUgfCBNS1BfU0tJUF9TTEFTSCkgPCAwCiArCQkJIHx8IG1ha2VfcGF0aChmbmFtZSwgQUND RVNTUEVSTVMsIE1LUF9EUk9QX05BTUUgfCBNS1BfU0tJUF9TTEFTSCkgPCAwCi0gCQkJIHx8IChk b19ta2Rpcl9hdChmbmFtZSwgZmlsZS0+bW9kZXxhZGRlZF9wZXJtcykgPCAwICYmIGVycm5vICE9 IEVFWElTVCkpIHsKKyAJCQkgfHwgKGdlbl9lbnRyeV9ta2RpcihmbmFtZSwgZmlsZSwgZmlsZS0+ bW9kZXxhZGRlZF9wZXJtcykgPCAwICYmIGVycm5vICE9IEVFWElTVCkpIHsKICAJCQkJcnN5c2Vy cihGRVJST1JfWEZFUiwgZXJybm8sCiAgCQkJCQkicmVjdl9nZW5lcmF0b3I6IG1rZGlyICVzIGZh aWxlZCIsCi1AQCAtMTUxOSw5ICsxNjYxLDEyIEBAIHN0YXRpYyB2b2lkIHJlY3ZfZ2VuZXJhdG9y KGNoYXIgKmZuYW1lLCBzdHJ1Y3QgZmlsZV9zdHJ1Y3QgKmZpbGUsIGludCBuZHgsCitAQCAtMTky Myw5ICsyMDY1LDEyIEBAIHN0YXRpYyB2b2lkIHJlY3ZfZ2VuZXJhdG9yKGNoYXIgKmZuYW1lLCBz dHJ1Y3QgZmlsZV9zdHJ1Y3QgKmZpbGUsIGludCBuZHgsCiAgCQl9CiAgCQllbHNlIGlmIChkZWxl dGVfZHVyaW5nICYmIGZfb3V0ICE9IC0xICYmICFwaGFzZQogIAkJICAgICYmICEoZmlsZS0+Zmxh Z3MgJiBGTEFHX01JU1NJTkdfRElSKSkgewpAQCAtNTE2LDcgKzUxOCw3IEBAIGRpZmYgLS1naXQg YS9nZW5lcmF0b3IuYyBiL2dlbmVyYXRvci5jCiAgCQkJCWNoYW5nZV9sb2NhbF9maWx0ZXJfZGly KGZuYW1lLCBzdHJsZW4oZm5hbWUpLCBGX0RFUFRIKGZpbGUpKTsKICAJCX0KICAJCXByaW9yX2Rp cl9maWxlID0gZmlsZTsKLUBAIC0xNzg5LDggKzE5MzQsMTQgQEAgc3RhdGljIHZvaWQgcmVjdl9n ZW5lcmF0b3IoY2hhciAqZm5hbWUsIHN0cnVjdCBmaWxlX3N0cnVjdCAqZmlsZSwgaW50IG5keCwK K0BAIC0yMjE2LDggKzIzNjEsMTQgQEAgc3RhdGljIHZvaWQgcmVjdl9nZW5lcmF0b3IoY2hhciAq Zm5hbWUsIHN0cnVjdCBmaWxlX3N0cnVjdCAqZmlsZSwgaW50IG5keCwKICAJCQlnb3RvIGNsZWFu dXA7CiAgCQl9CiAgI2VuZGlmCkBAIC01MzIsNyArNTM0LDcgQEAgZGlmZiAtLWdpdCBhL2dlbmVy YXRvci5jIGIvZ2VuZXJhdG9yLmMKICAJCXJzeXNlcnIoRkVSUk9SX1hGRVIsIHN0YXRfZXJybm8s ICJyZWN2X2dlbmVyYXRvcjogZmFpbGVkIHRvIHN0YXQgJXMiLAogIAkJCWZ1bGxfZm5hbWUoZm5h bWUpKTsKICAJCWdvdG8gY2xlYW51cDsKLUBAIC0yMjYwLDYgKzI0MTEsMTIgQEAgdm9pZCBnZW5l cmF0ZV9maWxlcyhpbnQgZl9vdXQsIGNvbnN0IGNoYXIgKmxvY2FsX25hbWUpCitAQCAtMjc1MCw2 ICsyOTAxLDEyIEBAIHZvaWQgZ2VuZXJhdGVfZmlsZXMoaW50IGZfb3V0LCBjb25zdCBjaGFyICps b2NhbF9uYW1lKQogIAlpZiAoREVCVUdfR1RFKEdFTlIsIDEpKQogIAkJcnByaW50ZihGSU5GTywg ImdlbmVyYXRvciBzdGFydGluZyBwaWQ9JWRcbiIsIChpbnQpZ2V0cGlkKCkpOwogIApAQCAtNTQ1 LDcgKzU0Nyw3IEBAIGRpZmYgLS1naXQgYS9nZW5lcmF0b3IuYyBiL2dlbmVyYXRvci5jCiAgCWlm IChkZWxldGVfYmVmb3JlICYmICFzb2xvX2ZpbGUgJiYgY3VyX2ZsaXN0LT51c2VkID4gMCkKICAJ CWRvX2RlbGV0ZV9wYXNzKCk7CiAgCWlmIChkZWxldGVfZHVyaW5nID09IDIpIHsKLUBAIC0yMjY4 LDcgKzI0MjUsNyBAQCB2b2lkIGdlbmVyYXRlX2ZpbGVzKGludCBmX291dCwgY29uc3QgY2hhciAq bG9jYWxfbmFtZSkKK0BAIC0yNzU4LDcgKzI5MTUsNyBAQCB2b2lkIGdlbmVyYXRlX2ZpbGVzKGlu dCBmX291dCwgY29uc3QgY2hhciAqbG9jYWxfbmFtZSkKICAJfQogIAlpbmZvX2xldmVsc1tJTkZP X0ZMSVNUXSA9IGluZm9fbGV2ZWxzW0lORk9fUFJPR1JFU1NdID0gMDsKICAKQEAgLTU1NCw3ICs1 NTYsNyBAQCBkaWZmIC0tZ2l0IGEvZ2VuZXJhdG9yLmMgYi9nZW5lcmF0b3IuYwogIAkJd2hvbGVf ZmlsZSA9IDA7CiAgCWlmIChERUJVR19HVEUoRkxJU1QsIDEpKSB7CiAgCQlycHJpbnRmKEZJTkZP LCAiZGVsdGEtdHJhbnNtaXNzaW9uICVzXG4iLAotQEAgLTIzMDQsNyArMjQ2MSw3IEBAIHZvaWQg Z2VuZXJhdGVfZmlsZXMoaW50IGZfb3V0LCBjb25zdCBjaGFyICpsb2NhbF9uYW1lKQorQEAgLTI3 OTUsNyArMjk1Miw3IEBAIHZvaWQgZ2VuZXJhdGVfZmlsZXMoaW50IGZfb3V0LCBjb25zdCBjaGFy ICpsb2NhbF9uYW1lKQogIAkJCQkJCWRpcmRldiA9IE1BS0VERVYoREVWX01BSk9SKGRldnApLCBE RVZfTUlOT1IoZGV2cCkpOwogIAkJCQkJfSBlbHNlCiAgCQkJCQkJZGlyZGV2ID0gTUFLRURFVigw LCAwKTsKQEAgLTU2Myw3ICs1NjUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2VuZXJhdG9yLmMgYi9nZW5l cmF0b3IuYwogIAkJCQl9IGVsc2UKICAJCQkJCWNoYW5nZV9sb2NhbF9maWx0ZXJfZGlyKGZidWYs IHN0cmxlbihmYnVmKSwgRl9ERVBUSChmcCkpOwogIAkJCX0KLUBAIC0yMzUxLDcgKzI1MDgsMjEg QEAgdm9pZCBnZW5lcmF0ZV9maWxlcyhpbnQgZl9vdXQsIGNvbnN0IGNoYXIgKmxvY2FsX25hbWUp CitAQCAtMjg0Miw3ICsyOTk5LDIxIEBAIHZvaWQgZ2VuZXJhdGVfZmlsZXMoaW50IGZfb3V0LCBj b25zdCBjaGFyICpsb2NhbF9uYW1lKQogIAl9IHdoaWxlICgoY3VyX2ZsaXN0ID0gY3VyX2ZsaXN0 LT5uZXh0KSAhPSBOVUxMKTsKICAKICAJaWYgKGRlbGV0ZV9kdXJpbmcpCkBAIC03MTAsOSArNzEy LDEwIEBAIGRpZmYgLS1naXQgYS9yc3luYy5oIGIvcnN5bmMuaAogICNkZWZpbmUgREVMX01BS0Vf Uk9PTSAoREVMX0ZPUl9GSUxFfERFTF9GT1JfRElSfERFTF9GT1JfU1lNTElOS3xERUxfRk9SX0RF VklDRXxERUxfRk9SX1NQRUNJQUwpCiAgCiBkaWZmIC0tZ2l0IGEvdXRpbDEuYyBiL3V0aWwxLmMK K2luZGV4IDg3ZmYyMjUuLmY2MzQxMTYgMTAwNjQ0CiAtLS0gYS91dGlsMS5jCiArKysgYi91dGls MS5jCi1AQCAtMTgzLDcgKzE4Myw3IEBAIGludCBzZXRfdGltZXMoY29uc3QgY2hhciAqZm5hbWUs IFNUUlVDVF9TVEFUICpzdHApCitAQCAtMjA0LDcgKzIwNCw3IEBAIGludCBzZXRfdGltZXNfYXQo aW50IGRmZCwgY29uc3QgY2hhciAqbmFtZSwgU1RSVUNUX1NUQVQgKnN0cCkKICAvKiBDcmVhdGUg YW55IG5lY2Vzc2FyeSBkaXJlY3RvcmllcyBpbiBmbmFtZS4gIEFueSBtaXNzaW5nIGRpcmVjdG9y aWVzIGFyZQogICAqIGNyZWF0ZWQgd2l0aCBkZWZhdWx0IHBlcm1pc3Npb25zLiAgUmV0dXJucyA8 IDAgb24gZXJyb3IsIG9yIHRoZSBudW1iZXIKICAgKiBvZiBkaXJlY3RvcmllcyBjcmVhdGVkLiAq LwpAQCAtNzIxLDI1ICs3MjQsMjUgQEAgZGlmZiAtLWdpdCBhL3V0aWwxLmMgYi91dGlsMS5jCiAg ewogIAljaGFyICplbmQsICpwOwogIAlpbnQgcmV0ID0gMDsKLUBAIC0yMTQsNyArMjE0LDcgQEAg aW50IG1ha2VfcGF0aChjaGFyICpmbmFtZSwgaW50IGZsYWdzKQorQEAgLTIzNSw3ICsyMzUsNyBA QCBpbnQgbWFrZV9wYXRoKGNoYXIgKmZuYW1lLCBpbnQgZmxhZ3MpCiAgCQkJCWVsc2UKICAJCQkJ CWVycm5vID0gRU5PVERJUjsKICAJCQl9Ci0tCQl9IGVsc2UgaWYgKGRvX21rZGlyKGZuYW1lLCBB Q0NFU1NQRVJNUykgPT0gMCkgewotKwkJfSBlbHNlIGlmIChkb19ta2RpcihmbmFtZSwgbW9kZSkg PT0gMCkgeworLQkJfSBlbHNlIGlmIChkb19ta2Rpcl9hdChmbmFtZSwgQUNDRVNTUEVSTVMpID09 IDApIHsKKysJCX0gZWxzZSBpZiAoZG9fbWtkaXJfYXQoZm5hbWUsIG1vZGUpID09IDApIHsKICAJ CQlyZXQrKzsKICAJCQlicmVhazsKICAJCX0KLUBAIC0yNTMsNyArMjUzLDcgQEAgaW50IG1ha2Vf cGF0aChjaGFyICpmbmFtZSwgaW50IGZsYWdzKQorQEAgLTI3NCw3ICsyNzQsNyBAQCBpbnQgbWFr ZV9wYXRoKGNoYXIgKmZuYW1lLCBpbnQgZmxhZ3MpCiAgCQlwICs9IHN0cmxlbihwKTsKICAJCWlm IChyZXQgPCAwKSAvKiBTa2lwIG1rZGlyIG9uIGVycm9yLCBidXQga2VlcCByZXN0b3JpbmcgdGhl IHBhdGguICovCiAgCQkJY29udGludWU7Ci0tCQlpZiAoZG9fbWtkaXIoZm5hbWUsIEFDQ0VTU1BF Uk1TKSA8IDApCi0rCQlpZiAoZG9fbWtkaXIoZm5hbWUsIG1vZGUpIDwgMCkKKy0JCWlmIChkb19t a2Rpcl9hdChmbmFtZSwgQUNDRVNTUEVSTVMpIDwgMCkKKysJCWlmIChkb19ta2Rpcl9hdChmbmFt ZSwgbW9kZSkgPCAwKQogIAkJCXJldCA9IC1yZXQgLSAxOwogIAkJZWxzZQogIAkJCXJldCsrOwot QEAgLTExOTYsNiArMTE5NiwzMiBAQCBjaGFyICpub3JtYWxpemVfcGF0aChjaGFyICpwYXRoLCBC T09MIGZvcmNlX25ld2J1ZiwgdW5zaWduZWQgaW50ICpsZW5fcHRyKQorQEAgLTE0MjUsNiArMTQy NSwzMiBAQCBjaGFyICpub3JtYWxpemVfcGF0aChjaGFyICpwYXRoLCBCT09MIGZvcmNlX25ld2J1 ZiwgdW5zaWduZWQgaW50ICpsZW5fcHRyKQogIAlyZXR1cm4gcGF0aDsKICB9CiAgCkBAIC03NzIs MjAgKzc3NSwyMCBAQCBkaWZmIC0tZ2l0IGEvdXRpbDEuYyBiL3V0aWwxLmMKICAvKioKICAgKiBS ZXR1cm4gYSBxdW90ZWQgc3RyaW5nIHdpdGggdGhlIGZ1bGwgcGF0aG5hbWUgb2YgdGhlIGluZGlj YXRlZCBmaWxlbmFtZS4KICAgKiBUaGUgc3RyaW5nICIgKGluIE1PRE5BTUUpIiBtYXkgYWxzbyBi ZSBhcHBlbmRlZC4gIFRoZSByZXR1cm5lZCBwb2ludGVyCi1AQCAtMTI4OSw3ICsxMzE1LDcgQEAg aW50IGhhbmRsZV9wYXJ0aWFsX2Rpcihjb25zdCBjaGFyICpmbmFtZSwgaW50IGNyZWF0ZSkKK0BA IC0xNTI3LDcgKzE1NTMsNyBAQCBpbnQgaGFuZGxlX3BhcnRpYWxfZGlyKGNvbnN0IGNoYXIgKmZu YW1lLCBpbnQgY3JlYXRlKQogIAkJCX0KICAJCQlzdGF0cmV0ID0gLTE7CiAgCQl9CiAtCQlpZiAo c3RhdHJldCA8IDAgJiYgZG9fbWtkaXJfYXQoZGlyLCAwNzAwKSA8IDApIHsKICsJCWlmIChzdGF0 cmV0IDwgMCAmJiBtYWtlX3BhdGgoZGlyLCAwNzAwLCAwKSA8IDApIHsKKyAJCQlvcGVyYXRvcl9w YXRoX3Jlc29sdmUgPSAwOwogIAkJCSpmbiA9ICcvJzsKICAJCQlyZXR1cm4gMDsKLSAJCX0KIGRp ZmYgLU51cnAgYS9yc3luYy4xIGIvcnN5bmMuMQogLS0tIGEvcnN5bmMuMQogKysrIGIvcnN5bmMu MQogQEAgLTEsNSArMSw1IEBACi0gLlRIICJyc3luYyIgIjEiICI4IEp1biAyMDI2IiAicnN5bmMg My40LjQiICJVc2VyIENvbW1hbmRzIgorIC5USCAicnN5bmMiICIxIiAiMTMgQXVnIDIwMjYiICJy c3luYyAzLjUuMCIgIlVzZXIgQ29tbWFuZHMiCiAtLlwiIHByZWZpeD0vdXNyCiArLlwiIHByZWZp eD0vdXNyL2xvY2FsCiAgLlAKQEAgLTg1Nyw3ICs4NjAsNyBAQCBkaWZmIC1OdXJwIGEvcnN5bmNk LmNvbmYuNSBiL3JzeW5jZC5jb25mLjUKIC0tLSBhL3JzeW5jZC5jb25mLjUKICsrKyBiL3JzeW5j ZC5jb25mLjUKIEBAIC0xLDUgKzEsNSBAQAotIC5USCAicnN5bmNkLmNvbmYiICI1IiAiOCBKdW4g MjAyNiIgInJzeW5jZC5jb25mIGZyb20gcnN5bmMgMy40LjQiICJVc2VyIENvbW1hbmRzIgorIC5U SCAicnN5bmNkLmNvbmYiICI1IiAiMTMgQXVnIDIwMjYiICJyc3luY2QuY29uZiBmcm9tIHJzeW5j IDMuNS4wIiAiVXNlciBDb21tYW5kcyIKIC0uXCIgcHJlZml4PS91c3IKICsuXCIgcHJlZml4PS91 c3IvbG9jYWwKICAuUApAQCAtODk3LDcgKzkwMCw3IEBAIGRpZmYgLU51cnAgYS9yc3luYy1zc2wu MSBiL3JzeW5jLXNzbC4xCiAtLS0gYS9yc3luYy1zc2wuMQogKysrIGIvcnN5bmMtc3NsLjEKIEBA IC0xLDUgKzEsNSBAQAotIC5USCAicnN5bmMtc3NsIiAiMSIgIjggSnVuIDIwMjYiICJyc3luYy1z c2wgZnJvbSByc3luYyAzLjQuNCIgIlVzZXIgQ29tbWFuZHMiCisgLlRIICJyc3luYy1zc2wiICIx IiAiMTMgQXVnIDIwMjYiICJyc3luYy1zc2wgZnJvbSByc3luYyAzLjUuMCIgIlVzZXIgQ29tbWFu ZHMiCiAtLlwiIHByZWZpeD0vdXNyCiArLlwiIHByZWZpeD0vdXNyL2xvY2FsCiAgLlAKCmRpZmYg LS1naXQgYS9yc3luYy1kby1ub3QtYnVpbGQtcnJzeW5jLW1hbnBhZ2UucGF0Y2ggYi9yc3luYy1k by1ub3QtYnVpbGQtcnJzeW5jLW1hbnBhZ2UucGF0Y2gKaW5kZXggM2Q1MmE2NC4uYTAxNDFkYSAx MDA2NDQKLS0tIGEvcnN5bmMtZG8tbm90LWJ1aWxkLXJyc3luYy1tYW5wYWdlLnBhdGNoCisrKyBi L3JzeW5jLWRvLW5vdC1idWlsZC1ycnN5bmMtbWFucGFnZS5wYXRjaApAQCAtMTEsNCArMTEsNCBA QCBpbmRleCA2OTlkOTk1Li40MzM4MjcyIDEwMDY0NAogLQogIC5QSE9OWTogY2xlYW4KICBjbGVh bjogY2xlYW50ZXN0cwotIAlybSAtZiAqfiAkKE9CSlMpICQoQ0hFQ0tfUFJPR1MpICQoQ0hFQ0tf T0JKUykgJChDSEVDS19TWU1MSU5LUykgQE1BS0VfUlJTWU5DQCBcCisgCXJtIC1mICp+ICQoT0JK UykgJChDSEVDS19QUk9HUykgJChDSEVDS19PQkpTKSAkKENIRUNLX0NPTVBJTEVfT0JKUykgJChD SEVDS19TWU1MSU5LUykgQE1BS0VfUlJTWU5DQCBcCgpkaWZmIC0tZ2l0IGEvcnN5bmMtbWFuLnBh dGNoIGIvcnN5bmMtbWFuLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNmRk YzUzLi4wMDAwMDAwCi0tLSBhL3JzeW5jLW1hbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEw ICswLDAgQEAKLS0tLSByc3luYy0zLjAuOS9yc3luYy4xICAgMjAxMS0wOS0yMyAxODo0MjoyNi4w MDAwMDAwMDAgKzAyMDAKLSsrKyByc3luYy0zLjAuOS9yc3luYy4xICAgMjAxMi0wOS0xOSAxMDo0 MDoxOS42OTg4MDI4NjEgKzAyMDAKLUBAIC00NDUsNiArNDQ1LDcgQEAKLSAgXC1vLCBcLVwtb3du ZXIgICAgICAgICAgICAgICAgIHByZXNlcnZlIG93bmVyIChzdXBlclwtdXNlciBvbmx5KQotICBc LWcsIFwtXC1ncm91cCAgICAgICAgICAgICAgICAgcHJlc2VydmUgZ3JvdXAKLSAgICAgIFwtXC1k ZXZpY2VzICAgICAgICAgICAgICAgcHJlc2VydmUgZGV2aWNlIGZpbGVzIChzdXBlclwtdXNlciBv bmx5KQotKyAgICAgXC1cLWNvcHktZGV2aWNlcyAgICAgICAgICBjb3B5IGRldmljZSBjb250ZW50 cyBhcyByZWd1bGFyIGZpbGUKLSAgICAgIFwtXC1zcGVjaWFscyAgICAgICAgICAgICAgcHJlc2Vy dmUgc3BlY2lhbCBmaWxlcwotICBcLUQgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMg XC1cLWRldmljZXMgXC1cLXNwZWNpYWxzCi0gIFwtdCwgXC1cLXRpbWVzICAgICAgICAgICAgICAg ICBwcmVzZXJ2ZSBtb2RpZmljYXRpb24gdGltZXMKCmRpZmYgLS1naXQgYS9yc3luYy1ub2F0aW1l LnBhdGNoIGIvcnN5bmMtbm9hdGltZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggODU2MjZlZi4uMDAwMDAwMAotLS0gYS9yc3luYy1ub2F0aW1lLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMTQ3ICswLDAgQEAKLU9wdGlvbmFsbHkgcHJlc2VydmUgYXRpbWVzLgotICAgIAot QmFzZWQgb24gaHR0cHM6Ly9idWd6aWxsYS5zYW1iYS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDkj YzEgYnkgTmljb2xhcyBHZW9yZ2UuCi0KLUluZGV4OiByc3luYy0zLjEuMC9vcHRpb25zLmMKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSByc3luYy0zLjEuMC5vcmlnL29wdGlvbnMuYwotKysrIHJzeW5jLTMuMS4w L29wdGlvbnMuYwotQEAgLTEyNSw2ICsxMjUsNyBAQCBpbnQgZGVsYXlfdXBkYXRlcyA9IDA7Ci0g bG9uZyBibG9ja19zaXplID0gMDsgLyogImxvbmciIGJlY2F1c2UgcG9wdCBjYW4ndCBzZXQgYW4g aW50MzIuICovCi0gY2hhciAqc2tpcF9jb21wcmVzcyA9IE5VTEw7Ci0gaXRlbV9saXN0IGRwYXJh bV9saXN0ID0gRU1QVFlfSVRFTV9MSVNUOwotK2ludCBub2F0aW1lID0gMDsKLSAKLSAvKiogTmV0 d29yayBhZGRyZXNzIGZhbWlseS4gKiovCi0gaW50IGRlZmF1bHRfYWZfaGludAotQEAgLTgwMiw2 ICs4MDMsNyBAQCB2b2lkIHVzYWdlKGVudW0gbG9nY29kZSBGKQotICAgcnByaW50ZihGLCIgICAg IC0taWNvbnY9Q09OVkVSVF9TUEVDICAgIHJlcXVlc3QgY2hhcnNldCBjb252ZXJzaW9uIG9mIGZp bGVuYW1lc1xuIik7Ci0gI2VuZGlmCi0gICBycHJpbnRmKEYsIiAgICAgLS1jaGVja3N1bS1zZWVk PU5VTSAgICAgc2V0IGJsb2NrL2ZpbGUgY2hlY2tzdW0gc2VlZCAoYWR2YW5jZWQpXG4iKTsKLSsg IHJwcmludGYoRiwiICAgICAtLW5vYXRpbWUgICAgICAgICAgICAgICBkbyBub3QgYWx0ZXIgYXRp bWUgd2hlbiBvcGVuaW5nIHNvdXJjZSBmaWxlc1xuIik7Ci0gICBycHJpbnRmKEYsIiAtNCwgLS1p cHY0ICAgICAgICAgICAgICAgICAgcHJlZmVyIElQdjRcbiIpOwotICAgcnByaW50ZihGLCIgLTYs IC0taXB2NiAgICAgICAgICAgICAgICAgIHByZWZlciBJUHY2XG4iKTsKLSAgIHJwcmludGYoRiwi ICAgICAtLXZlcnNpb24gICAgICAgICAgICAgICBwcmludCB2ZXJzaW9uIG51bWJlclxuIik7Ci1A QCAtMTAxOSw2ICsxMDIxLDcgQEAgc3RhdGljIHN0cnVjdCBwb3B0T3B0aW9uIGxvbmdfb3B0aW9u c1tdCi0gICB7Imljb252IiwgICAgICAgICAgICAwLCAgUE9QVF9BUkdfU1RSSU5HLCAmaWNvbnZf b3B0LCAwLCAwLCAwIH0sCi0gICB7Im5vLWljb252IiwgICAgICAgICAwLCAgUE9QVF9BUkdfTk9O RSwgICAwLCBPUFRfTk9fSUNPTlYsIDAsIDAgfSwKLSAjZW5kaWYKLSsgIHsibm9hdGltZSIsICAg ICAgICAgIDAsICBQT1BUX0FSR19WQUwsICAgICZub2F0aW1lLCAxLCAwLCAwIH0sCi0gICB7Imlw djQiLCAgICAgICAgICAgICc0JywgUE9QVF9BUkdfVkFMLCAgICAmZGVmYXVsdF9hZl9oaW50LCBB Rl9JTkVULCAwLCAwIH0sCi0gICB7ImlwdjYiLCAgICAgICAgICAgICc2JywgUE9QVF9BUkdfVkFM LCAgICAmZGVmYXVsdF9hZl9oaW50LCBBRl9JTkVUNiwgMCwgMCB9LAotICAgeyI4LWJpdC1vdXRw dXQiLCAgICAnOCcsIFBPUFRfQVJHX1ZBTCwgICAgJmFsbG93XzhiaXRfY2hhcnMsIDEsIDAsIDAg fSwKLUBAIC0yNzM5LDYgKzI3NDIsMTIgQEAgdm9pZCBzZXJ2ZXJfb3B0aW9ucyhjaGFyICoqYXJn cywgaW50ICphcgotIAlpZiAocHJlYWxsb2NhdGVfZmlsZXMgJiYgYW1fc2VuZGVyKQotIAkJYXJn c1thYysrXSA9ICItLXByZWFsbG9jYXRlIjsKLSAKLSsJLyoKLSsJICogRG8gd2Ugd2FudCByZW1v dGUgYXRpbWUgcHJlc2VydmF0aW9uIHdoZW4gd2UgcHJlc2VydmUgbG9jYWwgb25lcz8KLSsJaWYg KG5vYXRpbWUpCi0rCQlhcmdzW2FjKytdID0gIi0tbm9hdGltZSI7Ci0rCSovCi0rCi0gCWlmIChh YyA+IE1BWF9TRVJWRVJfQVJHUykgeyAvKiBOb3QgcG9zc2libGUuLi4gKi8KLSAJCXJwcmludGYo RkVSUk9SLCAiYXJnYyBvdmVyZmxvdyBpbiBzZXJ2ZXJfb3B0aW9ucygpLlxuIik7Ci0gCQlleGl0 X2NsZWFudXAoUkVSUl9NQUxMT0MpOwotSW5kZXg6IHJzeW5jLTMuMS4wL3JzeW5jLnlvCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gcnN5bmMtMy4xLjAub3JpZy9yc3luYy55bwotKysrIHJzeW5jLTMuMS4wL3Jz eW5jLnlvCi1AQCAtNDU0LDYgKzQ1NCw3IEBAIHRvIHRoZSBkZXRhaWxlZCBkZXNjcmlwdGlvbiBi ZWxvdyBmb3IgYQotICAgICAgLS1wcm90b2NvbD1OVU0gICAgICAgICAgZm9yY2UgYW4gb2xkZXIg cHJvdG9jb2wgdmVyc2lvbiB0byBiZSB1c2VkCi0gICAgICAtLWljb252PUNPTlZFUlRfU1BFQyAg ICByZXF1ZXN0IGNoYXJzZXQgY29udmVyc2lvbiBvZiBmaWxlbmFtZXMKLSAgICAgIC0tY2hlY2tz dW0tc2VlZD1OVU0gICAgIHNldCBibG9jay9maWxlIGNoZWNrc3VtIHNlZWQgKGFkdmFuY2VkKQot KyAgICAgLS1ub2F0aW1lICAgICAgICAgICAgICAgZG8gbm90IGFsdGVyIGF0aW1lIHdoZW4gb3Bl bmluZyBzb3VyY2UgZmlsZXMKLSAgLTQsIC0taXB2NCAgICAgICAgICAgICAgICAgIHByZWZlciBJ UHY0Ci0gIC02LCAtLWlwdjYgICAgICAgICAgICAgICAgICBwcmVmZXIgSVB2NgotICAgICAgLS12 ZXJzaW9uICAgICAgICAgICAgICAgcHJpbnQgdmVyc2lvbiBudW1iZXIKLUBAIC0yNTQzLDYgKzI1 NDQsMTMgQEAgZGFlbW9uIHVzZXMgdGhlIGNoYXJzZXQgc3BlY2lmaWVkIGluIGl0cwotIHJlZ2Fy ZGxlc3Mgb2YgdGhlIHJlbW90ZSBjaGFyc2V0IHlvdSBhY3R1YWxseSBwYXNzLiAgVGh1cywgeW91 IG1heSBmZWVsIGZyZWUgdG8KLSBzcGVjaWZ5IGp1c3QgdGhlIGxvY2FsIGNoYXJzZXQgZm9yIGEg ZGFlbW9uIHRyYW5zZmVyIChlLmcuIGJmKC0taWNvbnY9dXRmOCkpLgotIAotK2RpdChiZigtLW5v YXRpbWUpKSBVc2UgdGhlIE9fTk9BVElNRSBvcGVuIGZsYWcgb24gc3lzdGVtcyB0aGF0IHN1cHBv cnQgaXQuCi0rVGhlIGVmZmVjdCBvZiB0aGlzIGZsYWcgaXMgdG8gYXZvaWQgYWx0ZXJpbmcgdGhl IGFjY2VzcyB0aW1lIChhdGltZSkgb2YgdGhlCi0rb3BlbmVkIGZpbGVzLgotK0lmIHRoZSBzeXN0 ZW0gZG9lcyBub3Qgc3VwcG9ydCB0aGUgT19OT0FUSU1FIGZsYWcsIHRoaXMgb3B0aW9uIGRvZXMg bm90aGluZy4KLStDdXJyZW50bHksIHN5c3RlbXMga25vd24gdG8gc3VwcG9ydCBPX05PQVRJTUUg YXJlIExpbnV4ID49IDIuNi44IHdpdGggZ2xpYmMKLSs+PSAyLjMuNC4KLSsKLSBkaXQoYmYoLTQs IC0taXB2NCkgb3IgYmYoLTYsIC0taXB2NikpIFRlbGxzIHJzeW5jIHRvIHByZWZlciBJUHY0L0lQ djYKLSB3aGVuIGNyZWF0aW5nIHNvY2tldHMuICBUaGlzIG9ubHkgYWZmZWN0cyBzb2NrZXRzIHRo YXQgcnN5bmMgaGFzIGRpcmVjdAotIGNvbnRyb2wgb3Zlciwgc3VjaCBhcyB0aGUgb3V0Z29pbmcg c29ja2V0IHdoZW4gZGlyZWN0bHkgY29udGFjdGluZyBhbgotZGlmZiAtLWdpdCBhL3N5c2NhbGwu YyBiL3N5c2NhbGwuYwotaW5kZXggYzQ2YThiNC4uNjYyMDU2MyAxMDA2NDQKLS0tLSBhL3N5c2Nh bGwuYwotKysrIGIvc3lzY2FsbC5jCi1AQCAtNDIsNiArNDIsNyBAQCBleHRlcm4gaW50IGlucGxh Y2U7Ci0gZXh0ZXJuIGludCBwcmVhbGxvY2F0ZV9maWxlczsKLSBleHRlcm4gaW50IHByZXNlcnZl X3Blcm1zOwotIGV4dGVybiBpbnQgcHJlc2VydmVfZXhlY3V0YWJpbGl0eTsKLStleHRlcm4gaW50 IG5vYXRpbWU7Ci0gCi0gI2lmbmRlZiBTX0JMS1NJWkUKLSAjIGlmIGRlZmluZWQgaHB1eCB8fCBk ZWZpbmVkIF9faHB1eF9fIHx8IGRlZmluZWQgX19ocHV4Ci1AQCAtMTg5LDYgKzE5MCwxMCBAQCBp bnQgZG9fb3Blbihjb25zdCBjaGFyICpwYXRobmFtZSwgaW50IGZsCi0gCQlSRVRVUk5fRVJST1Jf SUYoZHJ5X3J1biwgMCk7Ci0gCQlSRVRVUk5fRVJST1JfSUZfUk9fT1JfTE87Ci0gCX0KLSsjaWZk ZWYgT19OT0FUSU1FCi0rCWlmIChub2F0aW1lKQotKwkJZmxhZ3MgfD0gT19OT0FUSU1FOwotKyNl bmRpZgotIAotIAlyZXR1cm4gb3BlbihwYXRobmFtZSwgZmxhZ3MgfCBPX0JJTkFSWSwgbW9kZSk7 Ci0gfQotSW5kZXg6IHJzeW5jL3Rscy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcnN5bmMub3JpZy90bHMu YwotKysrIHJzeW5jL3Rscy5jCi1AQCAtNTMsNiArNTMsNyBAQCBpbnQgcHJlc2VydmVfcGVybXMg PSAwOwotIGludCBwcmVzZXJ2ZV9leGVjdXRhYmlsaXR5ID0gMDsKLSBpbnQgcHJlYWxsb2NhdGVf ZmlsZXMgPSAwOwotIGludCBpbnBsYWNlID0gMDsKLStpbnQgbm9hdGltZSA9IDA7Ci0gCi0gI2lm ZGVmIFNVUFBPUlRfWEFUVFJTCi0gCi1JbmRleDogcnN5bmMvdF91bnNhZmUuYwotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIHJzeW5jLm9yaWcvdF91bnNhZmUuYwotKysrIHJzeW5jL3RfdW5zYWZlLmMKLUBAIC0z Myw2ICszMywxMCBAQCBpbnQgcHJlc2VydmVfcGVybXMgPSAwOwotIGludCBwcmVzZXJ2ZV9leGVj dXRhYmlsaXR5ID0gMDsKLSBzaG9ydCBpbmZvX2xldmVsc1tDT1VOVF9JTkZPXSwgZGVidWdfbGV2 ZWxzW0NPVU5UX0RFQlVHXTsKLSAKLSsvKiBUaGlzIGlzIHRvIG1ha2Ugc3lzY2FsbC5vIHNodXQg dXAuICovCi0raW50IG5vYXRpbWUgPSAwOwotKwotKwotIGludAotIG1haW4oaW50IGFyZ2MsIGNo YXIgKiphcmd2KQotIHsKLUluZGV4OiByc3luYy93aWxkdGVzdC5jCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g cnN5bmMub3JpZy93aWxkdGVzdC5jCi0rKysgcnN5bmMvd2lsZHRlc3QuYwotQEAgLTMyLDYgKzMy LDkgQEAgaW50IGZubWF0Y2hfZXJyb3JzID0gMDsKLSAKLSBpbnQgd2lsZG1hdGNoX2Vycm9ycyA9 IDA7Ci0gCi0rLyogVGhpcyBpcyB0byBtYWtlIHN5c2NhbGwubyBzaHV0IHVwLiAqLwotK2ludCBu b2F0aW1lID0gMDsKLSsKLSB0eXBlZGVmIGNoYXIgYm9vbDsKLSAKLSBpbnQgb3V0cHV0X2l0ZXJh dGlvbnMgPSAwOwotSW5kZXg6IHJzeW5jL3RyaW1zbGFzaC5jCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcnN5 bmMub3JpZy90cmltc2xhc2guYwotKysrIHJzeW5jL3RyaW1zbGFzaC5jCi1AQCAtMzAsNiArMzAs NyBAQCBpbnQgcHJlc2VydmVfcGVybXMgPSAwOwotIGludCBwcmVzZXJ2ZV9leGVjdXRhYmlsaXR5 ID0gMDsKLSBpbnQgcHJlYWxsb2NhdGVfZmlsZXMgPSAwOwotIGludCBpbnBsYWNlID0gMDsKLStp bnQgbm9hdGltZSA9IDA7Ci0gCi0gaW50Ci0gbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCgpk aWZmIC0tZ2l0IGEvcnN5bmMuc3BlYyBiL3JzeW5jLnNwZWMKaW5kZXggYjgyNjMzZC4uNGM3YmM2 NiAxMDA2NDQKLS0tIGEvcnN5bmMuc3BlYworKysgYi9yc3luYy5zcGVjCkBAIC0yLDcgKzIsNyBA QAogCiBTdW1tYXJ5OiBBIHByb2dyYW0gZm9yIHN5bmNocm9uaXppbmcgZmlsZXMgb3ZlciBhIG5l dHdvcmsKIE5hbWU6IHJzeW5jCi1WZXJzaW9uOiAzLjQuNAorVmVyc2lvbjogMy41LjAKIFJlbGVh c2U6IDElez9kaXN0fQogVVJMOiBodHRwczovL3JzeW5jLnNhbWJhLm9yZy8KIApAQCAtODUsNyAr ODUsMTIgQEAgbWF5IGJlIHVzZWQgdG8gc2V0dXAgYSByZXN0cmljdGVkIHJzeW5jIHVzZXJzIHZp YSBzc2ggbG9naW5zLgogJXttYWtlX2J1aWxkfQogCiAlY2hlY2sKKyMgVGhpcyB0ZXN0IGlzIGZh aWxpbmcgb24geDg2IG9ubHksIGFsbCBvdGhlciBhcmNoZXMgcGFzcywgZGlzYWJsaW5nIGZvciBu b3cKKyVpZmFyY2ggaTY4NgorUlNZTkNfRVhDTFVERT1wYXJ0aWFsLXByb3RlY3RlZC1yZWd1bGFy LXJldHJ5LWxpbnV4IG1ha2UgY2hlY2sKKyVlbHNlCiBtYWtlIGNoZWNrCislZW5kaWYgCiBjaG1v ZCAteCBzdXBwb3J0LyoKIAogJWluc3RhbGwKQEAgLTEyNyw2ICsxMzIsOSBAQCBpbnN0YWxsIC1E IC1tNjQ0ICV7U09VUkNFNn0gJFJQTV9CVUlMRF9ST09ULyV7X3VuaXRkaXJ9L3JzeW5jZEAuc2Vy dmljZQogJXN5c3RlbWRfcG9zdHVuX3dpdGhfcmVzdGFydCByc3luY2Quc2VydmljZQogCiAlY2hh bmdlbG9nCisqIFdlZCBBdWcgMTkgMjAyNiBNaWNoYWwgUnVwcmljaCA8bXJ1cHJpY2hAcmVkaGF0 LmNvbT4gLSAzLjUuMC0xCistIE5ldyB2ZXJzaW9uIDMuNS4wLCBjbGVhbnVwIG9mIG9sZCBwYXRj aGVzCisKICogTW9uIEp1biAwOCAyMDI2IE1pY2hhbCBSdXByaWNoIDxtcnVwcmljaEByZWRoYXQu Y29tPiAtIDMuNC40LTEKIC0gTmV3IHZlcnNpb24gMy40LjQKIAoKZGlmZiAtLWdpdCBhL3NvdXJj ZXMgYi9zb3VyY2VzCmluZGV4IGVjZDM3NzIuLjc4YzAxZTIgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMK KysrIGIvc291cmNlcwpAQCAtMSArMSBAQAotU0hBNTEyIChyc3luYy0zLjQuNC50YXIuZ3opID0g Y2Y5YTgzOGIxZjAxOWI3MGZkNjdmYTJjMjkzZjI2N2JlM2YyNGU1NzljMmVhMzMxNzdlYzdhZmM1 MDJjOTdjZTBiNjEzZmYwODU0MDg4YzBlYjI4YWNkMTRlZTBhNzU3MDZhZTg0NDUxMTVjZWY0NjY5 YmQ1ODZjNTA1ZDg0NTMKK1NIQTUxMiAocnN5bmMtMy41LjAudGFyLmd6KSA9IDZjNWJhZGEwMTdl NGU1ZjViNDUxMDU4ZTJkMTg2MzE3NGExODA3Nzk2NTI1ZWY0MTg4YzFmNDAzNThjY2JkZDM2NjA0 ZmQyMjc1ZGNlYjFjYzZhOTVhYzA0ZGEyMTE1MDE1NTMzNTMwMjZjNDg1OTRjNWE3OWVlZGIyN2Nl NjhkCg==