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: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 7.2.90.20110703 (which is a 7.3 pre-release). Date: Sat, 27 Jun 2026 23:55:11 GMT Message-ID: <178260451111.1.2003275014023442859.rpms-gdb-e6e9cf3987dc@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: e6e9cf3987dc51070b7b58db9967209f23a8c3d3 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogZTZlOWNmMzk4N2RjNTEwNzBiN2I1OGRiOTk2NzIwOWYyM2E4 YzNkMwogICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxA cmVkaGF0LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxMS0wNy0wM1QxNzoyMjoyMyswMjow MAogICAgICAgICAgICBTdGF0cyAgOiArMTUzMS8tMTI1NiBpbiA2IGZpbGUocykKICAgICAgICAg ICAgVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nZGIvYy9lNmU5 Y2YzOTg3ZGM1MTA3MGI3YjU4ZGI5OTY3MjA5ZjIzYThjM2QzP2JyYW5jaD1nZGItMTcuMi1yZWJh c2UtZjQ0CgogICAgICAgICAgICBMb2c6CiAgICAgICAgICAgIFJlYmFzZSB0byBGU0YgR0RCIDcu Mi45MC4yMDExMDcwMyAod2hpY2ggaXMgYSA3LjMgcHJlLXJlbGVhc2UpLgpBZGp1c3QgdGhlIGBw cmludCBlcnJubycgcGF0Y2ggZHVlIHRvIHRoZSBEV19BVF9saW5rYWdlX25hbWUgZm9sbG93aW5n IGFnYWluLgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCBj MjYzYzdkLi5jMTY0M2NmIDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUK QEAgLTEsMiArMSwyIEBACiAvbGlic3RkYysrLXYzLXB5dGhvbi1yMTU1OTc4LnRhci5iejIKLS9n ZGItNy4yLjkwLjIwMTEwNTI1LnRhci5iejIKKy9nZGItNy4yLjkwLjIwMTEwNzAzLnRhci5iejIK CmRpZmYgLS1naXQgYS9nZGItNi41LWJ6MTg1MzM3LXJlc29sdmUtdGxzLXdpdGhvdXQtZGVidWdp bmZvLXYyLnBhdGNoIGIvZ2RiLTYuNS1iejE4NTMzNy1yZXNvbHZlLXRscy13aXRob3V0LWRlYnVn aW5mby12Mi5wYXRjaAppbmRleCA5OTQzZTYwLi5mYTJmNGVkIDEwMDY0NAotLS0gYS9nZGItNi41 LWJ6MTg1MzM3LXJlc29sdmUtdGxzLXdpdGhvdXQtZGVidWdpbmZvLXYyLnBhdGNoCisrKyBiL2dk Yi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0aG91dC1kZWJ1Z2luZm8tdjIucGF0Y2gKQEAg LTMyLDUxICszMiwxNyBAQCBnbGliYy1kZWJ1Z2luZm8tMi43LTIueDg2XzY0OiAvdXNyL2xpYi9k ZWJ1Zy9saWI2NC9saWJjLnNvLjYuZGVidWc6CiAgIDw4MWEyPiAgICAgRFdfQVRfbmFtZSAgICAg ICAgOiAoaW5kaXJlY3Qgc3RyaW5nLCBvZmZzZXQ6IDB4MjgwZSk6IF9fZXJybm9fbG9jYXRpb24K ICAgPDgxYTg+ICAgICBEV19BVF9NSVBTX2xpbmthZ2VfbmFtZTogKGluZGlyZWN0IHN0cmluZywg b2Zmc2V0OiAweDI4MDgpOiAqX19HSV9fX2Vycm5vX2xvY2F0aW9uCiAKLUluZGV4OiBnZGItNy4y L2dkYi9wcmludGNtZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi5vcmlnL2dkYi9wcmludGNt ZC5jCTIwMTEtMDMtMjkgMTA6NTU6MzIuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi9nZGIv cHJpbnRjbWQuYwkyMDExLTAzLTI5IDEwOjU2OjAwLjAwMDAwMDAwMCArMDIwMAotQEAgLTk0Nywx MCArOTQ3LDEwIEBAIHZhbGlkYXRlX2Zvcm1hdCAoc3RydWN0IGZvcm1hdF9kYXRhIGZtdCwKLSBz dGF0aWMgdm9pZAotIHByaW50X2NvbW1hbmRfMSAoY2hhciAqZXhwLCBpbnQgaW5zcGVjdCwgaW50 IHZvaWRwcmludCkKLSB7Ci0tICBzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwcjsKLSAgIHN0cnVjdCBj bGVhbnVwICpvbGRfY2hhaW4gPSAwOwotICAgY2hhciBmb3JtYXQgPSAwOwotLSAgc3RydWN0IHZh bHVlICp2YWw7Ci0rICAvKiBGYWxzZSBHQ0Mgd2FybmluZyBkdWUgdG8gdGhlIFRSWV9DQVRDSC4g ICovCi0rICBzdHJ1Y3QgdmFsdWUgKnZhbCA9IE5VTEw7Ci0gICBzdHJ1Y3QgZm9ybWF0X2RhdGEg Zm10OwotICAgaW50IGNsZWFudXAgPSAwOwotIAotQEAgLTk3MSwxMCArOTcxLDI1IEBAIHByaW50 X2NvbW1hbmRfMSAoY2hhciAqZXhwLCBpbnQgaW5zcGVjdCwKKy0tLSBhL2dkYi9wcmludGNtZC5j CisrKysgYi9nZGIvcHJpbnRjbWQuYworQEAgLTk2Nyw2ICs5NjcsOCBAQCBwcmludF9jb21tYW5k XzEgKGNoYXIgKmV4cCwgaW50IGluc3BlY3QsIGludCB2b2lkcHJpbnQpCiAgCiAgICBpZiAoZXhw ICYmICpleHApCiAgICAgIHsKLSsgICAgICBzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwcjsKLSsgICAg ICB2b2xhdGlsZSBzdHJ1Y3QgZ2RiX2V4Y2VwdGlvbiBleGNlcHQ7Ci0rCisrICAgICAgaWYgKHN0 cmNtcCAoZXhwLCAiZXJybm8iKSA9PSAwKQorKwlleHAgPSAiKigoaW50ICooKikgKHZvaWQpKSBf X2Vycm5vX2xvY2F0aW9uKSAoKSI7CiAgICAgICAgZXhwciA9IHBhcnNlX2V4cHJlc3Npb24gKGV4 cCk7Ci0tICAgICAgb2xkX2NoYWluID0gbWFrZV9jbGVhbnVwIChmcmVlX2N1cnJlbnRfY29udGVu dHMsICZleHByKTsKLSsgICAgICBvbGRfY2hhaW4gPSBtYWtlX2NsZWFudXAgKHhmcmVlLCBleHBy KTsKKyAgICAgICBvbGRfY2hhaW4gPSBtYWtlX2NsZWFudXAgKGZyZWVfY3VycmVudF9jb250ZW50 cywgJmV4cHIpOwogICAgICAgIGNsZWFudXAgPSAxOwotLSAgICAgIHZhbCA9IGV2YWx1YXRlX2V4 cHJlc3Npb24gKGV4cHIpOwotKyAgICAgIFRSWV9DQVRDSCAoZXhjZXB0LCBSRVRVUk5fTUFTS19F UlJPUikKLSsJewotKwkgIHZhbCA9IGV2YWx1YXRlX2V4cHJlc3Npb24gKGV4cHIpOwotKwl9Ci0r ICAgICAgaWYgKGV4Y2VwdC5yZWFzb24gPCAwKQotKwl7Ci0rCSAgaWYgKHN0cmNtcCAoZXhwLCAi ZXJybm8iKSAhPSAwKQotKwkgICAgdGhyb3dfZXhjZXB0aW9uIChleGNlcHQpOwotKwotKwkgIGV4 cHIgPSBwYXJzZV9leHByZXNzaW9uICgiKigoaW50ICooKikgKHZvaWQpKSBfX2Vycm5vX2xvY2F0 aW9uKSAoKSIpOwotKwkgIG1ha2VfY2xlYW51cCAoeGZyZWUsIGV4cHIpOwotKwkgIHZhbCA9IGV2 YWx1YXRlX2V4cHJlc3Npb24gKGV4cHIpOwotKwl9Ci0gICAgIH0KLSAgIGVsc2UKLSAgICAgdmFs ID0gYWNjZXNzX3ZhbHVlX2hpc3RvcnkgKDApOwogSW5kZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZHdhcmYyL2R3Mi1lcnJuby5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCgpkaWZmIC0tZ2l0IGEvZ2RiLWFyY2hlci5w YXRjaCBiL2dkYi1hcmNoZXIucGF0Y2gKaW5kZXggNmJmOTE2OC4uNzhiNGU1YSAxMDA2NDQKLS0t IGEvZ2RiLWFyY2hlci5wYXRjaAorKysgYi9nZGItYXJjaGVyLnBhdGNoCkBAIC0xMSwxMCArMTEs MTAgQEAgYXJjaGVyLXRyb21leS1weXRob24KIGFyY2hlci1zZXJnaW9kai1zdGFwLWZlZG9yYTE1 amsKIAogCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9iZmQvZWxmLWJmZC5oCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDcwMy9iZmQvZWxmLWJmZC5oCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu Mi45MC4yMDExMDUyNS5vcmlnL2JmZC9lbGYtYmZkLmgJMjAxMS0wMy0xNCAxNjo1NDo1Ny4wMDAw MDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2JmZC9lbGYtYmZkLmgJMjAxMS0w NS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9y aWcvYmZkL2VsZi1iZmQuaAkyMDExLTAzLTE0IDE2OjU0OjU3LjAwMDAwMDAwMCArMDEwMAorKysr IGdkYi03LjIuOTAuMjAxMTA3MDMvYmZkL2VsZi1iZmQuaAkyMDExLTA3LTAzIDEwOjMzOjExLjAw MDAwMDAwMCArMDIwMAogQEAgLTE0NzYsNiArMTQ3NiwxNSBAQCBlbnVtCiAgICBUYWdfY29tcGF0 aWJpbGl0eSA9IDMyCiAgfTsKQEAgLTQzLDEwICs0MywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDUyNS9iZmQvZWxmLWJmZC5oCiAgICAvKiBUcnVlIGlmIHRoZSBiZmQgY29udGFpbnMgc3lt Ym9scyB0aGF0IGhhdmUgdGhlIFNUVF9HTlVfSUZVTkMKICAgICAgIHN5bWJvbCB0eXBlLiAgVXNl ZCB0byBzZXQgdGhlIG9zYWJpIGZpZWxkIGluIHRoZSBFTEYgaGVhZGVyCiAgICAgICBzdHJ1Y3R1 cmUuICAqLwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvYmZkL2VsZi5jCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDcwMy9iZmQvZWxmLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIw MTEwNTI1Lm9yaWcvYmZkL2VsZi5jCTIwMTEtMDMtMTQgMTY6NTQ6NTguMDAwMDAwMDAwICswMTAw Ci0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9iZmQvZWxmLmMJMjAxMS0wNS0yNSAxNzowNToyMS4w MDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvYmZkL2VsZi5jCTIw MTEtMDMtMTQgMTY6NTQ6NTguMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcw My9iZmQvZWxmLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC04NDE2 LDYgKzg0MTYsMzcgQEAgZWxmb2JqX2dyb2tfZ251X25vdGUgKGJmZCAqYWJmZCwgRWxmX0ludAog ICAgICB9CiAgfQpAQCAtOTgsMTAgKzk4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2JmZC9lbGYuYwogIAkgIGJyZWFrOwogIAl9CiAgCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvTWFrZWZpbGUuaW4KK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9NYWtlZmls ZS5pbgogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvTWFrZWZp bGUuaW4JMjAxMS0wMy0zMCAwODo1NTozOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9NYWtlZmlsZS5pbgkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCAr MDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvTWFrZWZpbGUuaW4JMjAxMS0w My0zMCAwODo1NTozOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dk Yi9NYWtlZmlsZS5pbgkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTcy MSw4ICs3MjEsOCBAQCBTRklMRVMgPSBhZGEtZXhwLnkgYWRhLWxhbmcuYyBhZGEtdHlwZXByCiAg CXNlbnRpbmVsLWZyYW1lLmMgXAogIAlzZXJpYWwuYyBzZXItYmFzZS5jIHNlci11bml4LmMgXApA QCAtMTQ0LDEwICsxNDQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL01ha2Vm aWxlLmluCiAgY29uZmlnLnN0YXR1czogJChzcmNkaXIpL2NvbmZpZ3VyZSBjb25maWd1cmUudGd0 IGNvbmZpZ3VyZS5ob3N0CiAgCSQoU0hFTEwpIGNvbmZpZy5zdGF0dXMgLS1yZWNoZWNrCiAgCi1J bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvTkVXUworSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA3MDMvZ2RiL05FV1MKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcv Z2RiL05FV1MJMjAxMS0wMy0zMSAxNjozMjo0OC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9ORVdTCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAw CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9ORVdTCTIwMTEtMDMtMzEgMTY6MzI6 NDguMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvTkVXUwkyMDEx LTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTM2LDYgKzM2LDEwIEBACiAgICBJ bml0aWFsIHN1cHBvcnQgZm9yIHRoZSBPcGVuQ0wgQyBsYW5ndWFnZSAoaHR0cDovL3d3dy5raHJv bm9zLm9yZy9vcGVuY2wpCiAgICBoYXMgYmVlbiBpbnRlZ3JhdGVkIGludG8gR0RCLgpAQCAtMTU5 LDEwICsxNTksMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL05FV1MKICAqIFB5 dGhvbiBzY3JpcHRpbmcKICAKICAgICoqIFRoZSBmdW5jdGlvbiBnZGIuV3JpdGUgbm93IGFjY2Vw dHMgYW4gb3B0aW9uYWwga2V5d29yZCAnc3RyZWFtJy4KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9hZGEtbGFuZy5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvYWRhLWxh bmcuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvYWRhLWxh bmcuYwkyMDExLTA1LTE3IDIzOjI2OjA4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL2FkYS1sYW5nLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAy MDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL2FkYS1sYW5nLmMJMjAxMS0wNS0x NyAyMzoyNjowOC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9h ZGEtbGFuZy5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTE0MjEs NiArMTE0MjEsNyBAQCBhZGFfb3BlcmF0b3JfbGVuZ3RoIChjb25zdCBzdHJ1Y3QgZXhwcmVzCiAg CiAgc3RhdGljIGludApAQCAtMTg5LDEwICsxODksMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL2FkYS1sYW5nLmMKICAgICAgICAmJiAoKm9iamZpbGVfZnVuYykgKFRZUEVfT0JK RklMRSAodHlwZSksIGRhdGEpKQogICAgICByZXR1cm4gMTsKICAKLUluZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9hbWQ2NC1saW51eC1uYXQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3 MDMvZ2RiL2FtZDY0LWxpbnV4LW5hdC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDEx MDUyNS5vcmlnL2dkYi9hbWQ2NC1saW51eC1uYXQuYwkyMDExLTAxLTA3IDIwOjM2OjE1LjAwMDAw MDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2FtZDY0LWxpbnV4LW5hdC5j CTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDEx MDcwMy5vcmlnL2dkYi9hbWQ2NC1saW51eC1uYXQuYwkyMDExLTAxLTA3IDIwOjM2OjE1LjAwMDAw MDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2FtZDY0LWxpbnV4LW5hdC5j CTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMjY1LDE4ICsyNjUsMTEg QEAgYW1kNjRfbGludXhfc3RvcmVfaW5mZXJpb3JfcmVnaXN0ZXJzIChzdAogIAwKICAvKiBTdXBw b3J0IGZvciBkZWJ1ZyByZWdpc3RlcnMuICAqLwpAQCAtNDExLDEwICs0MTEsMTAgQEAgSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2FtZDY0LWxpbnV4LW5hdC5jCiAgfQogIAwKICAKLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9heC1nZGIuYworSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA3MDMvZ2RiL2F4LWdkYi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUy NS5vcmlnL2dkYi9heC1nZGIuYwkyMDExLTAyLTI0IDA4OjM5OjQ3LjAwMDAwMDAwMCArMDEwMAot KysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2F4LWdkYi5jCTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9heC1nZGIu YwkyMDExLTAyLTI0IDA4OjM5OjQ3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAx MTA3MDMvZ2RiL2F4LWdkYi5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBA QCAtMjAwMSw3ICsyMDAxLDggQEAgZ2VuX2V4cHIgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIHVu aW9uIAogIAogICAgICBjYXNlIE9QX0lOVEVSTkFMVkFSOgpAQCAtNDM0LDEwICs0MzQsMTAgQEAg SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2F4LWdkYi5jCiAgCSAgZXJyb3IgKF8oIiQl cyBpcyBub3QgYSB0cmFjZSBzdGF0ZSB2YXJpYWJsZTsgR0RCIGFnZW50ICIKICAJCSAgICJleHBy ZXNzaW9ucyBjYW5ub3QgdXNlIGNvbnZlbmllbmNlIHZhcmlhYmxlcy4iKSwgbmFtZSk7CiAgICAg ICAgfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2Jsb2NrLmMKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNzAzL2dkYi9ibG9jay5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4y MDExMDUyNS5vcmlnL2dkYi9ibG9jay5jCTIwMTEtMDEtMDEgMTY6MzI6NTcuMDAwMDAwMDAwICsw MTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYmxvY2suYwkyMDExLTA1LTI1IDE3OjA1 OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvYmxv Y2suYwkyMDExLTAxLTAxIDE2OjMyOjU3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAu MjAxMTA3MDMvZ2RiL2Jsb2NrLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0zMjIsMyArMzIyLDIxIEBAIGFsbG9jYXRlX2Jsb2NrIChzdHJ1Y3Qgb2JzdGFjayAqb2Jz dGFjaykKICAKICAgIHJldHVybiBibDsKQEAgLTQ2MCwxMCArNDYwLDEwIEBAIEluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi9ibG9jay5jCiArCiArICByZXR1cm4gU1lNQk9MX1NZTVRBQiAo ZnVuYyktPm9iamZpbGU7CiArfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2Jsb2Nr LmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9ibG9jay5oCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9ibG9jay5oCTIwMTEtMDEtMDEgMTY6MzI6 NTcuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYmxvY2suaAky MDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3 MDMub3JpZy9nZGIvYmxvY2suaAkyMDExLTAxLTAxIDE2OjMyOjU3LjAwMDAwMDAwMCArMDEwMAor KysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2Jsb2NrLmgJMjAxMS0wNy0wMyAxMDozMzoxMS4w MDAwMDAwMDAgKzAyMDAKIEBAIC0xNjcsNCArMTY3LDYgQEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBi bG9jayAqYmxvY2tfZ2xvYmFsXwogIAogIGV4dGVybiBzdHJ1Y3QgYmxvY2sgKmFsbG9jYXRlX2Js b2NrIChzdHJ1Y3Qgb2JzdGFjayAqb2JzdGFjayk7CkBAIC00NzEsMTAgKzQ3MSwxMCBAQCBJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYmxvY2suaAogK2V4dGVybiBzdHJ1Y3Qgb2JqZmls ZSAqYmxvY2tfb2JqZmlsZSAoY29uc3Qgc3RydWN0IGJsb2NrICpibG9jayk7CiArCiAgI2VuZGlm IC8qIEJMT0NLX0ggKi8KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9icmVha3BvaW50 LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9icmVha3BvaW50LmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2JyZWFrcG9pbnQuYwkyMDExLTA1 LTE3IDIzOjI1OjU2LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L2JyZWFrcG9pbnQuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdk Yi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvYnJlYWtwb2ludC5jCTIwMTEtMDctMDIgMjE6MzM6 MDkuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvYnJlYWtwb2lu dC5jCTIwMTEtMDctMDMgMTA6MzU6MDkuMDAwMDAwMDAwICswMjAwCiBAQCAtNjMsNiArNjMsOCBA QAogICNpbmNsdWRlICJqaXQuaCIKICAjaW5jbHVkZSAieG1sLXN5c2NhbGwuaCIKQEAgLTcwOCw3 ICs3MDgsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYnJlYWtwb2ludC5jCiAg CiAgICAvKiBTdG9yZSB0aGUgcHJvZ3JhbSBzcGFjZSB0aGF0IHdhcyB1c2VkIHRvIHNldCB0aGUg YnJlYWtwb2ludCwgZm9yCiAgICAgICBicmVha3BvaW50IHJlc2V0dGluZy4gICovCi1AQCAtNzA1 Nyw2ICs3MTcyLDcgQEAgY2xvbmVfbW9tZW50YXJ5X2JyZWFrcG9pbnQgKHN0cnVjdCBicmVhawor QEAgLTcwNTYsNiArNzE3MSw3IEBAIGNsb25lX21vbWVudGFyeV9icmVha3BvaW50IChzdHJ1Y3Qg YnJlYWsKICAgIGNvcHktPmxvYy0+YWRkcmVzcyA9IG9yaWctPmxvYy0+YWRkcmVzczsKICAgIGNv cHktPmxvYy0+c2VjdGlvbiA9IG9yaWctPmxvYy0+c2VjdGlvbjsKICAgIGNvcHktPmxvYy0+cHNw YWNlID0gb3JpZy0+bG9jLT5wc3BhY2U7CkBAIC03MTYsNyArNzE2LDcgQEAgSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL2JyZWFrcG9pbnQuYwogIAogICAgaWYgKG9yaWctPnNvdXJjZV9m aWxlID09IE5VTEwpCiAgICAgIGNvcHktPnNvdXJjZV9maWxlID0gTlVMTDsKLUBAIC03MjgwLDYg KzczOTYsNyBAQCBhZGRfbG9jYXRpb25fdG9fYnJlYWtwb2ludCAoc3RydWN0IGJyZWFrCitAQCAt NzI3OSw2ICs3Mzk1LDcgQEAgYWRkX2xvY2F0aW9uX3RvX2JyZWFrcG9pbnQgKHN0cnVjdCBicmVh awogICAgbG9jLT5hZGRyZXNzID0gYWRqdXN0X2JyZWFrcG9pbnRfYWRkcmVzcyAobG9jLT5nZGJh cmNoLAogIAkJCQkJICAgIGxvYy0+cmVxdWVzdGVkX2FkZHJlc3MsIGItPnR5cGUpOwogICAgbG9j LT5wc3BhY2UgPSBzYWwtPnBzcGFjZTsKQEAgLTcyNCw3ICs3MjQsNyBAQCBJbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvYnJlYWtwb2ludC5jCiAgICBnZGJfYXNzZXJ0IChsb2MtPnBzcGFj ZSAhPSBOVUxMKTsKICAgIGxvYy0+c2VjdGlvbiA9IHNhbC0+c2VjdGlvbjsKICAKLUBAIC03NjI5 LDYgKzc3NDYsMTYgQEAgY3JlYXRlX2JyZWFrcG9pbnRzX3NhbCAoc3RydWN0IGdkYmFyY2ggKgor QEAgLTc2MjgsNiArNzc0NSwxNiBAQCBjcmVhdGVfYnJlYWtwb2ludHNfc2FsIChzdHJ1Y3QgZ2Ri YXJjaCAqCiAgewogICAgaW50IGk7CiAgCkBAIC03NDEsNyArNzQxLDcgQEAgSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL2JyZWFrcG9pbnQuYwogICAgZm9yIChpID0gMDsgaSA8IHNhbHMu bmVsdHM7ICsraSkKICAgICAgewogICAgICAgIHN0cnVjdCBzeW10YWJzX2FuZF9saW5lcyBleHBh bmRlZCA9IAotQEAgLTgxNTQsNyArODI4MSw3IEBAIGNyZWF0ZV9icmVha3BvaW50IChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXIKK0BAIC04MTQ4LDcgKzgyNzUsNyBAQCBjcmVhdGVfYnJlYWtwb2ludCAo c3RydWN0IGdkYmFyY2ggKmdkYmFyCiAgICAgICAgICBtZW50aW9uIChiKTsKICAgICAgfQogICAg CkBAIC03NTAsNyArNzUwLDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2JyZWFr cG9pbnQuYwogICAgICB7CiAgICAgICAgd2FybmluZyAoXygiTXVsdGlwbGUgYnJlYWtwb2ludHMg d2VyZSBzZXQuXG5Vc2UgdGhlICIKICAJCSAiXCJkZWxldGVcIiBjb21tYW5kIHRvIGRlbGV0ZSB1 bndhbnRlZCBicmVha3BvaW50cy4iKSk7Ci1AQCAtOTAyNiw2ICs5MTUzLDcgQEAgd2F0Y2hfY29t bWFuZF8xIChjaGFyICphcmcsIGludCBhY2Nlc3NmbAorQEAgLTkwMjAsNiArOTE0Nyw3IEBAIHdh dGNoX2NvbW1hbmRfMSAoY2hhciAqYXJnLCBpbnQgYWNjZXNzZmwKICAgIGIgPSBzZXRfcmF3X2Jy ZWFrcG9pbnRfd2l0aG91dF9sb2NhdGlvbiAoTlVMTCwgYnBfdHlwZSk7CiAgICBzZXRfYnJlYWtw b2ludF9udW1iZXIgKGludGVybmFsLCBiKTsKICAgIGItPnRocmVhZCA9IHRocmVhZDsKQEAgLTc1 OCw3ICs3NTgsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYnJlYWtwb2ludC5j CiAgICBiLT5kaXNwb3NpdGlvbiA9IGRpc3BfZG9udHRvdWNoOwogICAgYi0+ZXhwID0gZXhwOwog ICAgYi0+ZXhwX3ZhbGlkX2Jsb2NrID0gZXhwX3ZhbGlkX2Jsb2NrOwotQEAgLTEwMTg4LDYgKzEw MzE2LDkgQEAgdXBkYXRlX2dsb2JhbF9sb2NhdGlvbl9saXN0IChpbnQgc2hvdWxkXworQEAgLTEw MTgyLDYgKzEwMzEwLDkgQEAgdXBkYXRlX2dsb2JhbF9sb2NhdGlvbl9saXN0IChpbnQgc2hvdWxk XwogICAgICAgIGludCBrZWVwX2luX3RhcmdldCA9IDA7CiAgICAgICAgaW50IHJlbW92ZWQgPSAw OwogIApAQCAtNzY4LDcgKzc2OCw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9i cmVha3BvaW50LmMKICAgICAgICAvKiBTa2lwIExPQ1AgZW50cmllcyB3aGljaCB3aWxsIGRlZmlu aXRlbHkgbmV2ZXIgYmUgbmVlZGVkLgogIAkgU3RvcCBlaXRoZXIgYXQgb3IgYmVpbmcgdGhlIG9u ZSBtYXRjaGluZyBPTERfTE9DLiAgKi8KICAgICAgICB3aGlsZSAobG9jcCA8IGJwX2xvY2F0aW9u ICsgYnBfbG9jYXRpb25fY291bnQKLUBAIC0xMDk1MiwxMiArMTEwODMsMTQgQEAgdXBkYXRlX2Jy ZWFrcG9pbnRfbG9jYXRpb25zIChzdHJ1Y3QgYnJlYQorQEAgLTEwOTQ2LDEyICsxMTA3NywxNCBA QCB1cGRhdGVfYnJlYWtwb2ludF9sb2NhdGlvbnMgKHN0cnVjdCBicmVhCiAgICAgT24gcmV0dXJu LCBGT1VORCB3aWxsIGJlIDEgaWYgYW55IFNhTCB3YXMgZm91bmQsIHplcm8gb3RoZXJ3aXNlLiAg Ki8KICAKICBzdGF0aWMgc3RydWN0IHN5bXRhYnNfYW5kX2xpbmVzCkBAIC03NzcsMjUgKzc3Nywy NCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYnJlYWtwb2ludC5jCiArCQkgICAg IGludCAqcHJlX2V4cGFuZGVkKQogIHsKICAgIGNoYXIgKnM7Ci0gICBpbnQgbWFya2VyX3NwZWMs IG5vdF9mb3VuZDsKKyAgIGludCBtYXJrZXJfc3BlYzsKICAgIHN0cnVjdCBzeW10YWJzX2FuZF9s aW5lcyBzYWxzID0gezB9OwogICAgc3RydWN0IGdkYl9leGNlcHRpb24gZTsKICsgIGludCBteV9w cmVfZXhwYW5kZWQgPSAwOwogIAogICAgcyA9IGFkZHJfc3RyaW5nOwogICAgbWFya2VyX3NwZWMg PSBiLT50eXBlID09IGJwX3N0YXRpY190cmFjZXBvaW50ICYmIGlzX21hcmtlcl9zcGVjIChzKTsK LUBAIC0xMDk3Niw4ICsxMTEwOSwyNyBAQCBhZGRyX3N0cmluZ190b19zYWxzIChzdHJ1Y3QgYnJl YWtwb2ludCAqCitAQCAtMTA5NzAsNyArMTExMDMsMjcgQEAgYWRkcl9zdHJpbmdfdG9fc2FscyAo c3RydWN0IGJyZWFrcG9pbnQgKgogIAkgICAgZXJyb3IgKF8oIm1hcmtlciAlcyBub3QgZm91bmQi KSwgYi0+c3RhdGljX3RyYWNlX21hcmtlcl9pZCk7CiAgCX0KICAgICAgICBlbHNlCi0tCXNhbHMg PSBkZWNvZGVfbGluZV8xICgmcywgMSwgKHN0cnVjdCBzeW10YWIgKikgTlVMTCwgMCwKLS0JCQkg ICAgICBOVUxMLCAmbm90X2ZvdW5kKTsKKy0Jc2FscyA9IGRlY29kZV9saW5lXzEgKCZzLCAxLCAo c3RydWN0IHN5bXRhYiAqKSBOVUxMLCAwLCBOVUxMKTsKICsJewogKwkgIHN0cnVjdCBsaW5lc3Bl Y19yZXN1bHQgY2Fub25pY2FsOwogKwogKwkgIGluaXRfbGluZXNwZWNfcmVzdWx0ICgmY2Fub25p Y2FsKTsKICsJICBzYWxzID0gZGVjb2RlX2xpbmVfMSAoJnMsIDEsIChzdHJ1Y3Qgc3ltdGFiICop IE5VTEwsIDAsCi0rCQkJCSZjYW5vbmljYWwsICZub3RfZm91bmQpOworKwkJCQkmY2Fub25pY2Fs KTsKICsKICsJICAvKiBXZSBkb24ndCBuZWVkIHRoZSBjb250ZW50cy4gICovCiArCSAgaWYgKGNh bm9uaWNhbC5jYW5vbmljYWwpCkBAIC04MTQsMTYgKzgxMywxNiBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvYnJlYWtwb2ludC5jCiAgICAgIH0KICAgIGlmIChlLnJlYXNvbiA8IDAp CiAgICAgIHsKLUBAIC0xMTAxMCw3ICsxMTE2Miw3IEBAIGFkZHJfc3RyaW5nX3RvX3NhbHMgKHN0 cnVjdCBicmVha3BvaW50ICoKK0BAIC0xMTAwMyw3ICsxMTE1Niw3IEBAIGFkZHJfc3RyaW5nX3Rv X3NhbHMgKHN0cnVjdCBicmVha3BvaW50ICoKICAKLSAgIGlmICghbm90X2ZvdW5kKQorICAgaWYg KGUucmVhc29uID09IDAgfHwgZS5lcnJvciAhPSBOT1RfRk9VTkRfRVJST1IpCiAgICAgIHsKIC0g ICAgICBnZGJfYXNzZXJ0IChzYWxzLm5lbHRzID09IDEpOwogKyAgICAgIGdkYl9hc3NlcnQgKG15 X3ByZV9leHBhbmRlZCB8fCBzYWxzLm5lbHRzID09IDEpOwogIAogICAgICAgIHJlc29sdmVfc2Fs X3BjICgmc2Fscy5zYWxzWzBdKTsKICAgICAgICBpZiAoYi0+Y29uZGl0aW9uX25vdF9wYXJzZWQg JiYgcyAmJiBzWzBdKQotQEAgLTExMDQ5LDIyICsxMTIwMSwyNyBAQCByZV9zZXRfYnJlYWtwb2lu dCAoc3RydWN0IGJyZWFrcG9pbnQgKmIpCitAQCAtMTEwNDQsMjIgKzExMTk3LDI3IEBAIHJlX3Nl dF9icmVha3BvaW50IChzdHJ1Y3QgYnJlYWtwb2ludCAqYikKICAgIHN0cnVjdCBzeW10YWJzX2Fu ZF9saW5lcyBleHBhbmRlZCA9IHswfTsKICAgIHN0cnVjdCBzeW10YWJzX2FuZF9saW5lcyBleHBh bmRlZF9lbmQgPSB7MH07CiAgICBzdHJ1Y3QgY2xlYW51cCAqY2xlYW51cHMgPSBtYWtlX2NsZWFu dXAgKG51bGxfY2xlYW51cCwgTlVMTCk7CkBAIC04NTQsNyArODUzLDcgQEAgSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL2JyZWFrcG9pbnQuYwogICAgICAgIGlmIChmb3VuZCkKICAJewog IAkgIG1ha2VfY2xlYW51cCAoeGZyZWUsIHNhbHNfZW5kLnNhbHMpOwotQEAgLTEyNTAxLDYgKzEy NjU4LDI0IEBAIGFsbF90cmFjZXBvaW50cyAodm9pZCkKK0BAIC0xMjQ5Niw2ICsxMjY1NCwyNCBA QCBhbGxfdHJhY2Vwb2ludHMgKHZvaWQpCiAgICByZXR1cm4gdHBfdmVjOwogIH0KICAKQEAgLTg3 OSw3ICs4NzgsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYnJlYWtwb2ludC5j CiAgDAogIC8qIFRoaXMgaGVscCBzdHJpbmcgaXMgdXNlZCBmb3IgdGhlIGJyZWFrLCBoYnJlYWss IHRicmVhayBhbmQgdGhicmVhawogICAgIGNvbW1hbmRzLiAgSXQgaXMgZGVmaW5lZCBhcyBhIG1h Y3JvIHRvIHByZXZlbnQgZHVwbGljYXRpb24uCi1AQCAtMTMxMzYsNCArMTMzMTEsNyBAQCByYW5n ZSAoaW5jbHVkaW5nIFNUQVJULUxPQ0FUSU9OIGFuZCBFTkQtCitAQCAtMTMxMzEsNCArMTMzMDcs NyBAQCByYW5nZSAoaW5jbHVkaW5nIFNUQVJULUxPQ0FUSU9OIGFuZCBFTkQtCiAgICBhdXRvbWF0 aWNfaGFyZHdhcmVfYnJlYWtwb2ludHMgPSAxOwogIAogICAgb2JzZXJ2ZXJfYXR0YWNoX2Fib3V0 X3RvX3Byb2NlZWQgKGJyZWFrcG9pbnRfYWJvdXRfdG9fcHJvY2VlZCk7CkBAIC04ODcsMTAgKzg4 NiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYnJlYWtwb2ludC5jCiArICBv YnNlcnZlcl9hdHRhY2hfbWFya191c2VkIChicmVha3BvaW50X3R5cGVzX21hcmtfdXNlZCk7CiAr I2VuZGlmCiAgfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2JyZWFrcG9pbnQuaAor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2JyZWFrcG9pbnQuaAogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvYnJlYWtwb2ludC5oCTIwMTEtMDUtMTcg MjM6MjU6NTYuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYnJl YWtwb2ludC5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcu Mi45MC4yMDExMDcwMy5vcmlnL2dkYi9icmVha3BvaW50LmgJMjAxMS0wNS0xNyAyMzoyNTo1Ni4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9icmVha3BvaW50LmgJ MjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zNjMsNiArMzYzLDExIEBA IHN0cnVjdCBicF9sb2NhdGlvbgogICAgICAgcHJvY2Vzc29yJ3MgYXJjaGl0ZWN0dWFsIGNvbnN0 cmFpbnRzLiAgKi8KICAgIENPUkVfQUREUiByZXF1ZXN0ZWRfYWRkcmVzczsKQEAgLTkxNSwxMCAr OTE0LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9icmVha3BvaW50LmgKICtl eHRlcm4gdm9pZCBtb2RpZnlfc2VtYXBob3JlIChzdHJ1Y3QgYnBfbG9jYXRpb24gKmxvY2F0aW9u LCBpbnQgc2V0KTsKICsKICAjZW5kaWYgLyogIWRlZmluZWQgKEJSRUFLUE9JTlRfSCkgKi8KLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9jLXR5cGVwcmludC5jCitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDcwMy9nZGIvYy10eXBlcHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIu OTAuMjAxMTA1MjUub3JpZy9nZGIvYy10eXBlcHJpbnQuYwkyMDExLTAzLTIyIDE4OjM1OjIyLjAw MDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2MtdHlwZXByaW50LmMJ MjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEw NzAzLm9yaWcvZ2RiL2MtdHlwZXByaW50LmMJMjAxMS0wMy0yMiAxODozNToyMi4wMDAwMDAwMDAg KzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9jLXR5cGVwcmludC5jCTIwMTEtMDct MDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtNjI1LDkgKzYyNSwxNCBAQCBjX3R5cGVf cHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBlCiAgCSAgZnByaW50Zl9maWx0ZXJlZCAo c3RyZWFtLCAiKSIpOwogIApAQCAtOTM3LDEwICs5MzYsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL2MtdHlwZXByaW50LmMKICAJZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAi XSIpOwogIAogIAljX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKFRZUEVfVEFSR0VUX1RZUEUg KHR5cGUpLCBzdHJlYW0sCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvY2xpL2NsaS11 dGlscy5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvY2xpL2NsaS11dGlscy5jCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9jbGkvY2xpLXV0aWxz LmMJMjAxMS0wMy0xNiAyMjoxMjoxMi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi9jbGkvY2xpLXV0aWxzLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAg KzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL2NsaS9jbGktdXRpbHMuYwky MDExLTAzLTE2IDIyOjEyOjEyLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3 MDMvZ2RiL2NsaS9jbGktdXRpbHMuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIw MAogQEAgLTI0NSwzICsyNDUsMzIgQEAgcmVtb3ZlX3RyYWlsaW5nX3doaXRlc3BhY2UgKGNvbnN0 IGNoYXIgKgogIAogICAgcmV0dXJuIHM7CkBAIC05NzQsMTAgKzk3MywxMCBAQCBJbmRleDogZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvY2xpL2NsaS11dGlscy5jCiArCiArICByZXR1cm4gY29weTsK ICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvY2xpL2NsaS11dGlscy5oCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvY2xpL2NsaS11dGlscy5oCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9jbGkvY2xpLXV0aWxzLmgJMjAxMS0wMy0x NiAyMjoxMjoxMi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9j bGkvY2xpLXV0aWxzLmgJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBn ZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL2NsaS9jbGktdXRpbHMuaAkyMDExLTAzLTE2IDIy OjEyOjEyLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2NsaS9j bGktdXRpbHMuaAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTEwMyw0 ICsxMDMsMTEgQEAgZXh0ZXJuIGNoYXIgKnNraXBfdG9fc3BhY2UgKGNoYXIgKmlucCk7CiAgICAg U1RBUlQuICAqLwogIApAQCAtOTkwLDEwICs5ODksMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL2NsaS9jbGktdXRpbHMuaAogK2V4dGVybiBjaGFyICpleHRyYWN0X2FyZyAoY2hh ciAqKmFyZyk7CiArCiAgI2VuZGlmIC8qIENMSV9VVElMU19IICovCi1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvY29mZnJlYWQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L2NvZmZyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2Ri L2NvZmZyZWFkLmMJMjAxMS0wMy0xNyAxNDoxOToyMy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi9jb2ZmcmVhZC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAw MDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9jb2ZmcmVhZC5jCTIw MTEtMDMtMTcgMTQ6MTk6MjMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcw My9nZGIvY29mZnJlYWQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAg LTIxOTMsNiArMjE5Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBjb2ZmX3N5bV9m bnMKICAKICAgIGRlZmF1bHRfc3ltZmlsZV9yZWxvY2F0ZSwJLyogc3ltX3JlbG9jYXRlOiBSZWxv Y2F0ZSBhIGRlYnVnCkBAIC0xMDAyLDEwICsxMDAxLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi9jb2ZmcmVhZC5jCiAgICAmcHN5bV9mdW5jdGlvbnMKICB9OwogIAotSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZGF0YS1kaXJlY3RvcnkvTWFrZWZpbGUuaW4KID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2RhdGEtZGlyZWN0b3J5 L01ha2VmaWxlLmluCTIwMTEtMDItMDQgMTk6MzQ6NDEuMDAwMDAwMDAwICswMTAwCi0rKysgZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvZGF0YS1kaXJlY3RvcnkvTWFrZWZpbGUuaW4JMjAxMS0wNS0y NSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcv Z2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCTIwMTEtMDItMDQgMTk6MzQ6NDEuMDAwMDAw MDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZGF0YS1kaXJlY3RvcnkvTWFr ZWZpbGUuaW4JMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC01MiwxMSAr NTIsMjMgQEAgU1lTQ0FMTFNfRklMRVMgPSBcCiAgUFlUSE9OX0RJUiA9IHB5dGhvbgogIFBZVEhP Tl9JTlNUQUxMX0RJUiA9ICQoREVTVERJUikkKEdEQl9EQVRBRElSKS8kKFBZVEhPTl9ESVIpCkBA IC0xMDMzLDEwICsxMDMyLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kYXRh LWRpcmVjdG9yeS9NYWtlZmlsZS5pbgogIAogIEZMQUdTX1RPX1BBU1MgPSBcCiAgCSJwcmVmaXg9 JChwcmVmaXgpIiBcCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZGJ4cmVhZC5jCitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZGJ4cmVhZC5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9kYnhyZWFkLmMJMjAxMS0wMy0yMyAxOToyMzo1 NC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kYnhyZWFkLmMJ MjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEw NzAzLm9yaWcvZ2RiL2RieHJlYWQuYwkyMDExLTAzLTIzIDE5OjIzOjU0LjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2RieHJlYWQuYwkyMDExLTA3LTAzIDEwOjMz OjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsNiArMSw2IEBACiAgLyogUmVhZCBkYnggc3ltYm9s IHRhYmxlcyBhbmQgY29udmVydCB0byBpbnRlcm5hbCBmb3JtYXQsIGZvciBHREIuCiAgICAgQ29w eXJpZ2h0IChDKSAxOTg2LCAxOTg3LCAxOTg4LCAxOTg5LCAxOTkwLCAxOTkxLCAxOTkyLCAxOTkz LCAxOTk0LCAxOTk1LApAQCAtMTA1MywxMCArMTA1MiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvZGJ4cmVhZC5jCiAgICAmcHN5bV9mdW5jdGlvbnMKICB9OwogIAotSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2RlZnMuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3 MDMvZ2RiL2RlZnMuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9n ZGIvZGVmcy5oCTIwMTEtMDMtMzEgMTY6MzI6NDguMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvZGVmcy5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICsw MjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9kZWZzLmgJMjAxMS0wMy0zMSAx NjozMjo0OC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9kZWZz LmgJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zOTgsNiArMzk4LDgg QEAgZXh0ZXJuIHN0cnVjdCBjbGVhbnVwICptYWtlX2NsZWFudXBfcmVzdAogIGV4dGVybiBzdHJ1 Y3QgY2xlYW51cCAqCiAgICBzZXRfYmF0Y2hfZmxhZ19hbmRfbWFrZV9jbGVhbnVwX3Jlc3RvcmVf cGFnZV9pbmZvICh2b2lkKTsKQEAgLTEwNjYsMTAgKzEwNjUsMTAgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL2RlZnMuaAogIGV4dGVybiBjaGFyICpnZGJfcmVhbHBhdGggKGNvbnN0 IGNoYXIgKik7CiAgZXh0ZXJuIGNoYXIgKnhmdWxscGF0aCAoY29uc3QgY2hhciAqKTsKICAKLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kb2MvZ2RiLnRleGluZm8KK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNzAzL2dkYi9kb2MvZ2RiLnRleGluZm8KID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2RvYy9nZGIudGV4aW5mbwkyMDExLTA1LTE3IDIzOjI3 OjQ4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2RvYy9nZGIu dGV4aW5mbwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIu OTAuMjAxMTA3MDMub3JpZy9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTEtMDctMDIgMjE6NTk6Mjku MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZG9jL2dkYi50ZXhp bmZvCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTE3Nyw2ICsxMTc3 LDE2IEBAIGZvciByZW1vdGUgZGVidWdnaW5nLgogIFJ1biB1c2luZyBAdmFye2RldmljZX0gZm9y IHlvdXIgcHJvZ3JhbSdzIHN0YW5kYXJkIGlucHV0IGFuZCBvdXRwdXQuCiAgQGMgRklYTUU6IGtp bmdkb24gdGhpbmtzIHRoZXJlIGlzIG1vcmUgdG8gLXR0eS4gIEludmVzdGlnYXRlLgpAQCAtMTIw NCw3ICsxMjAzLDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2RvYy9nZGIudGV4 aW5mbwogIEBpdGVtICRfc2RhdGEKICBAdmluZGV4ICRfc2RhdGFAcnssIGNvbGxlY3R9CiAgQ29s bGVjdCBzdGF0aWMgdHJhY2Vwb2ludCBtYXJrZXIgc3BlY2lmaWMgZGF0YS4gIE9ubHkgYXZhaWxh YmxlIGZvcgotQEAgLTIwNzEwLDggKzIwODAyLDYgQEAgY29udGFpbmluZyBAY29kZXtlbmR9LiAg Rm9yIGV4YW1wbGU6CitAQCAtMjA3MjAsOCArMjA4MTIsNiBAQCBjb250YWluaW5nIEBjb2Rle2Vu ZH0uICBGb3IgZXhhbXBsZToKICAKICBAc21hbGxleGFtcGxlCiAgKEB2YWx1ZXtHREJQfSkgcHl0 aG9uCkBAIC0xMjEzLDcgKzEyMTIsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv ZG9jL2dkYi50ZXhpbmZvCiAgPnByaW50IDIzCiAgPmVuZAogIDIzCi1AQCAtMjA3MjQsNiArMjA4 MTQsMTQgQEAgaW4gYSBQeXRob24gc2NyaXB0LiAgVGhpcyBjYW4gYmUgY29udHJvbAorQEAgLTIw NzM0LDYgKzIwODI0LDE0IEBAIGluIGEgUHl0aG9uIHNjcmlwdC4gIFRoaXMgY2FuIGJlIGNvbnRy b2wKICBweXRob24gcHJpbnQtc3RhY2t9OiBpZiBAY29kZXtvbn0sIHRoZSBkZWZhdWx0LCB0aGVu IFB5dGhvbiBzdGFjawogIHByaW50aW5nIGlzIGVuYWJsZWQ7IGlmIEBjb2Rle29mZn0sIHRoZW4g UHl0aG9uIHN0YWNrIHByaW50aW5nIGlzCiAgZGlzYWJsZWQuCkBAIC0xMjI4LDcgKzEyMjcsNyBA QCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZG9jL2dkYi50ZXhpbmZvCiAgQGVuZCB0 YWJsZQogIAogIEl0IGlzIGFsc28gcG9zc2libGUgdG8gZXhlY3V0ZSBhIFB5dGhvbiBzY3JpcHQg ZnJvbSB0aGUgQHZhbHVle0dEQk59Ci1AQCAtMjA3NDUsNiArMjA4NDMsMTQgQEAgYW5kIHRodXMg aXMgYWx3YXlzIGF2YWlsYWJsZS4KK0BAIC0yMDc1NSw2ICsyMDg1MywxNCBAQCBhbmQgdGh1cyBp cyBhbHdheXMgYXZhaWxhYmxlLgogIEBjaW5kZXggcHl0aG9uIGFwaQogIEBjaW5kZXggcHJvZ3Jh bW1pbmcgaW4gcHl0aG9uCiAgCkBAIC0xMjQzLDEwICsxMjQyLDEwIEBAIEluZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9kb2MvZ2RiLnRleGluZm8KICBAY2luZGV4IHB5dGhvbiBzdGRvdXQK ICBAY2luZGV4IHB5dGhvbiBwYWdpbmF0aW9uCiAgQXQgc3RhcnR1cCwgQHZhbHVle0dEQk59IG92 ZXJyaWRlcyBQeXRob24ncyBAY29kZXtzeXMuc3Rkb3V0fSBhbmQKLUluZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9kb2MvZ2RiaW50LnRleGluZm8KK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NzAzL2dkYi9kb2MvZ2RiaW50LnRleGluZm8KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIw MTEwNTI1Lm9yaWcvZ2RiL2RvYy9nZGJpbnQudGV4aW5mbwkyMDExLTAyLTA0IDIwOjEwOjEyLjAw MDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2RvYy9nZGJpbnQudGV4 aW5mbwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAu MjAxMTA3MDMub3JpZy9nZGIvZG9jL2dkYmludC50ZXhpbmZvCTIwMTEtMDItMDQgMjA6MTA6MTIu MDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZG9jL2dkYmludC50 ZXhpbmZvCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMjEwNCw2ICsy MTA0LDE4IEBAIHRpbWUsIGFuZCBzbyB3ZSBhdHRlbXB0IHRvIGhhbmRsZSBzeW1ib2wKICB3ZSBj cmVhdGUgQGRmbntwYXJ0aWFsIHN5bWJvbCB0YWJsZXN9IGNvbnNpc3Rpbmcgb2Ygb25seSBzZWxl Y3RlZAogIHN5bWJvbHMsIGFuZCBvbmx5IGV4cGFuZCB0aGVtIHRvIGZ1bGwgc3ltYm9sIHRhYmxl cyB3aGVuIG5lY2Vzc2FyeS4KQEAgLTEzNzIsMTAgKzEzNzEsMTAgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL2RvYy9nZGJpbnQudGV4aW5mbwogIAogIAogIEBub2RlIExhbmd1YWdl IFN1cHBvcnQKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kb2Mvb2JzZXJ2ZXIudGV4 aQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2RvYy9vYnNlcnZlci50ZXhpCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9kb2Mvb2JzZXJ2ZXIudGV4 aQkyMDExLTAxLTA1IDA2OjA5OjU0LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL2RvYy9vYnNlcnZlci50ZXhpCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAw ICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9kb2Mvb2JzZXJ2ZXIudGV4 aQkyMDExLTAxLTA1IDA2OjA5OjU0LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAx MTA3MDMvZ2RiL2RvYy9vYnNlcnZlci50ZXhpCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAw ICswMjAwCiBAQCAtMjIzLDYgKzIyMywxMSBAQCBCeXRlcyBmcm9tIEB2YXJ7ZGF0YX0gdG8gQHZh cntkYXRhfSArIEB2CiAgdG8gdGhlIGN1cnJlbnQgaW5mZXJpb3IgYXQgQHZhcnthZGRyfS4KICBA ZW5kIGRlZnR5cGVmdW4KQEAgLTEzODgsMTAgKzEzODcsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL2RvYy9vYnNlcnZlci50ZXhpCiAgQGRlZnR5cGVmdW4gdm9pZCB0ZXN0X25v dGlmaWNhdGlvbiAoaW50IEB2YXJ7c29tZWFyZ30pCiAgVGhpcyBvYnNlcnZlciBpcyB1c2VkIGZv ciBpbnRlcm5hbCB0ZXN0aW5nLiAgRG8gbm90IHVzZS4gIAogIFNlZSB0ZXN0c3VpdGUvZ2RiLmdk Yi9vYnNlcnZlci5leHAuCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYyZXhw ci5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZHdhcmYyZXhwci5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9kd2FyZjJleHByLmMJMjAxMS0w NS0xMyAyMDo1NDo0Ny4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9kd2FyZjJleHByLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBn ZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL2R3YXJmMmV4cHIuYwkyMDExLTA1LTEzIDIwOjU0 OjQ3LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2R3YXJmMmV4 cHIuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTkxMiw2ICs5MTIs MTMgQEAgZXhlY3V0ZV9zdGFja19vcCAoc3RydWN0IGR3YXJmX2V4cHJfY29udAogIAkgIGN0eC0+ bnVtX3BpZWNlcyA9IDA7CiAgCSAgZ290byBhYm9ydF9leHByZXNzaW9uOwpAQCAtMTQwNiwxMCAr MTQwNSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYyZXhwci5jCiAg CWRlZmF1bHQ6CiAgCSAgZXJyb3IgKF8oIlVuaGFuZGxlZCBkd2FyZiBleHByZXNzaW9uIG9wY29k ZSAweCV4IiksIG9wKTsKICAJfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJm MmV4cHIuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2R3YXJmMmV4cHIuaAogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZHdhcmYyZXhwci5oCTIw MTEtMDItMjcgMTc6MjU6MzcuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvZHdhcmYyZXhwci5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCist LS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9kd2FyZjJleHByLmgJMjAxMS0wMi0yNyAx NzoyNTozNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9kd2Fy ZjJleHByLmgJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xMTQsOSAr MTE0LDE1IEBAIHN0cnVjdCBkd2FyZl9leHByX2NvbnRleHQKICAjaWYgMAogICAgLyogTm90IHll dCBpbXBsZW1lbnRlZC4gICovCkBAIC0xNDI3LDEwICsxNDI2LDEwIEBAIEluZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJleHByLmgKICAKICAgIC8qIFRoZSBjdXJyZW50IGRlcHRo IG9mIGR3YXJmIGV4cHJlc3Npb24gcmVjdXJzaW9uLCB2aWEgRFdfT1BfY2FsbCosCiAgICAgICBE V19PUF9mYnJlZywgRFdfT1BfcHVzaF9vYmplY3RfYWRkcmVzcywgZXRjLiwgYW5kIHRoZSBtYXhp bXVtCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYybG9jLmMKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9kd2FyZjJsb2MuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZHdhcmYybG9jLmMJMjAxMS0wMy0yMiAyMjowNjozMy4w MDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJsb2MuYwky MDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3 MDMub3JpZy9nZGIvZHdhcmYybG9jLmMJMjAxMS0wMy0yMiAyMjowNjozMy4wMDAwMDAwMDAgKzAx MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9kd2FyZjJsb2MuYwkyMDExLTA3LTAzIDEw OjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTEzNCw2ICsxMzQsOSBAQCBzdHJ1Y3QgZHdhcmZf ZXhwcl9iYXRvbgogIHsKICAgIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZTsKQEAgLTE3ODQsMTAg KzE3ODMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMmxvYy5jCiAr ICBtaXNzaW5nX2Rlc2NyaWJlX2xvY2F0aW9uLAogKyAgbWlzc2luZ190cmFjZXBvaW50X3Zhcl9y ZWYKICt9OwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMmxvYy5oCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZHdhcmYybG9jLmgKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2R3YXJmMmxvYy5oCTIwMTEtMDItMTcgMTc6MjA6 NDQuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYybG9j LmgJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIw MTEwNzAzLm9yaWcvZ2RiL2R3YXJmMmxvYy5oCTIwMTEtMDItMTcgMTc6MjA6NDQuMDAwMDAwMDAw ICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZHdhcmYybG9jLmgJMjAxMS0wNy0w MyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xMDcsNiArMTA3LDE1IEBAIHN0cnVjdCBk d2FyZjJfbG9jbGlzdF9iYXRvbgogIAogIGV4dGVybiBjb25zdCBzdHJ1Y3Qgc3ltYm9sX2NvbXB1 dGVkX29wcyBkd2FyZjJfbG9jZXhwcl9mdW5jczsKQEAgLTE4MDQsMTEgKzE4MDMsMTEgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMmxvYy5oCiAgCiAgLyogQ29tcGlsZSBh IERXQVJGIGxvY2F0aW9uIGV4cHJlc3Npb24gdG8gYW4gYWdlbnQgZXhwcmVzc2lvbi4KICAgICAK LUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNzAzL2dkYi9kd2FyZjJyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4y LjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLTA1LTE3IDIzOjI2OjM5LjAw MDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMnJlYWQuYwky MDExLTA1LTI1IDE3OjA2OjA2LjAwMDAwMDAwMCArMDIwMAotQEAgLTEyMTksNiArMTIxOSw5IEBA IHN0YXRpYyB2b2lkIGZpbGxfaW5fbG9jbGlzdF9iYXRvbiAoc3RydWMKKy0tLSBnZGItNy4yLjkw LjIwMTEwNzAzLm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLTA3LTAyIDIxOjU5OjI5LjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2R3YXJmMnJlYWQuYwkyMDEx LTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAorQEAgLTEyMjIsNiArMTIyMiw5IEBAIHN0 YXRpYyB2b2lkIGZpbGxfaW5fbG9jbGlzdF9iYXRvbiAoc3RydWMKICAJCQkJICAgc3RydWN0IGR3 YXJmMl9sb2NsaXN0X2JhdG9uICpiYXRvbiwKICAJCQkJICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0 cik7CiAgCkBAIC0xODE4LDcgKzE4MTcsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvZHdhcmYycmVhZC5jCiAgc3RhdGljIHZvaWQgZHdhcmYyX3N5bWJvbF9tYXJrX2NvbXB1dGVk IChzdHJ1Y3QgYXR0cmlidXRlICphdHRyLAogIAkJCQkJIHN0cnVjdCBzeW1ib2wgKnN5bSwKICAJ CQkJCSBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSk7Ci1AQCAtMTI1Myw2ICsxMjU2LDkgQEAgc3RhdGlj IHZvaWQgYWdlX2NhY2hlZF9jb21wX3VuaXRzICh2b2lkKQorQEAgLTEyNTYsNiArMTI1OSw5IEBA IHN0YXRpYyB2b2lkIGFnZV9jYWNoZWRfY29tcF91bml0cyAodm9pZCkKICAKICBzdGF0aWMgdm9p ZCBmcmVlX29uZV9jYWNoZWRfY29tcF91bml0ICh2b2lkICopOwogIApAQCAtMTgyOCw3ICsxODI3 LDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMnJlYWQuYwogIHN0YXRp YyBzdHJ1Y3QgdHlwZSAqc2V0X2RpZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKiwgc3RydWN0IHR5 cGUgKiwKICAJCQkJICBzdHJ1Y3QgZHdhcmYyX2N1ICopOwogIAotQEAgLTEyNzcsNiArMTI4Myw5 IEBAIHN0YXRpYyBzdHJ1Y3QgdHlwZSAqZ2V0X2RpZV90eXBlX2F0X29mZnMKK0BAIC0xMjgwLDYg KzEyODYsOSBAQCBzdGF0aWMgc3RydWN0IHR5cGUgKmdldF9kaWVfdHlwZV9hdF9vZmZzCiAgCiAg c3RhdGljIHN0cnVjdCB0eXBlICpnZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBz dHJ1Y3QgZHdhcmYyX2N1ICpjdSk7CiAgCkBAIC0xODM4LDcgKzE4MzcsNyBAQCBJbmRleDogZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYycmVhZC5jCiAgc3RhdGljIHZvaWQgZHdhcmYyX3Jl bGVhc2VfcXVldWUgKHZvaWQgKmR1bW15KTsKICAKICBzdGF0aWMgdm9pZCBxdWV1ZV9jb21wX3Vu aXQgKHN0cnVjdCBkd2FyZjJfcGVyX2N1X2RhdGEgKnBlcl9jdSwKLUBAIC03NDU1LDYgKzc0NjQs MjkgQEAgcHJvY2Vzc19lbnVtZXJhdGlvbl9zY29wZSAoc3RydWN0IGRpZV9pbgorQEAgLTc1NDIs NiArNzU1MSwyOSBAQCBwcm9jZXNzX2VudW1lcmF0aW9uX3Njb3BlIChzdHJ1Y3QgZGllX2luCiAg ICBuZXdfc3ltYm9sIChkaWUsIHRoaXNfdHlwZSwgY3UpOwogIH0KICAKQEAgLTE4NjgsNyArMTg2 Nyw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMKICAvKiBF eHRyYWN0IGFsbCBpbmZvcm1hdGlvbiBmcm9tIGEgRFdfVEFHX2FycmF5X3R5cGUgRElFIGFuZCBw dXQgaXQgaW4KICAgICB0aGUgRElFJ3MgdHlwZSBmaWVsZC4gIEZvciBub3csIHRoaXMgb25seSBo YW5kbGVzIG9uZSBkaW1lbnNpb25hbAogICAgIGFycmF5cy4gICovCi1AQCAtNzQ2OCw3ICs3NTAw LDcgQEAgcmVhZF9hcnJheV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgcworQEAgLTc1NTUs NyArNzU4Nyw3IEBAIHJlYWRfYXJyYXlfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHMKICAg IHN0cnVjdCB0eXBlICplbGVtZW50X3R5cGUsICpyYW5nZV90eXBlLCAqaW5kZXhfdHlwZTsKICAg IHN0cnVjdCB0eXBlICoqcmFuZ2VfdHlwZXMgPSBOVUxMOwogICAgc3RydWN0IGF0dHJpYnV0ZSAq YXR0cjsKQEAgLTE4NzcsNyArMTg3Niw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9kd2FyZjJyZWFkLmMKICAgIHN0cnVjdCBjbGVhbnVwICpiYWNrX3RvOwogICAgY2hhciAqbmFt ZTsKICAKLUBAIC03NTIxLDE3ICs3NTUzLDE5IEBAIHJlYWRfYXJyYXlfdHlwZSAoc3RydWN0IGRp ZV9pbmZvICpkaWUsIHMKK0BAIC03NjA4LDE3ICs3NjQwLDE5IEBAIHJlYWRfYXJyYXlfdHlwZSAo c3RydWN0IGRpZV9pbmZvICpkaWUsIHMKICAgIHR5cGUgPSBlbGVtZW50X3R5cGU7CiAgCiAgICBp ZiAocmVhZF9hcnJheV9vcmRlciAoZGllLCBjdSkgPT0gRFdfT1JEX2NvbF9tYWpvcikKQEAgLTE5 MDgsNyArMTkwNyw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFk LmMKICAKICAgIC8qIFVuZGVyc3RhbmQgRHdhcmYyIHN1cHBvcnQgZm9yIHZlY3RvciB0eXBlcyAo bGlrZSB0aGV5IG9jY3VyIG9uCiAgICAgICB0aGUgUG93ZXJQQyB3LyBBbHRpVmVjKS4gIEdjYyBq dXN0IGFkZHMgYW5vdGhlciBhdHRyaWJ1dGUgdG8gdGhlCi1AQCAtODAxNSwyOSArODA0OSwxMTQg QEAgcmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZAorQEAgLTgxMDIsMjkg KzgxMzYsMTE0IEBAIHJlYWRfdGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmQKICAg IHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X29iamZpbGVfYXJjaCAob2JqZmlsZSk7CiAg ICBzdHJ1Y3QgdHlwZSAqdHlwZSwgKnJhbmdlX3R5cGUsICppbmRleF90eXBlLCAqY2hhcl90eXBl OwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKQEAgLTIwMzYsNyArMjAzNSw3IEBAIEluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMKICAgIGNoYXJfdHlwZSA9IGxh bmd1YWdlX3N0cmluZ19jaGFyX3R5cGUgKGN1LT5sYW5ndWFnZV9kZWZuLCBnZGJhcmNoKTsKICAg IHR5cGUgPSBjcmVhdGVfc3RyaW5nX3R5cGUgKE5VTEwsIGNoYXJfdHlwZSwgcmFuZ2VfdHlwZSk7 CiAgCi1AQCAtODMyMiw4ICs4NDQxLDcgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGll X2luZm8gKmRpZQorQEAgLTg0MDksOCArODUyOCw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3Ry dWN0IGRpZV9pbmZvICpkaWUKICAgIHN0cnVjdCB0eXBlICpiYXNlX3R5cGU7CiAgICBzdHJ1Y3Qg dHlwZSAqcmFuZ2VfdHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CkBAIC0yMDQ2LDMw ICsyMDQ1LDE4IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMK ICAgIGNoYXIgKm5hbWU7CiAgICBMT05HRVNUIG5lZ2F0aXZlX21hc2s7CiAgCi1AQCAtODMzNiw1 MyArODQ1NCwxMjYgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZQor QEAgLTg0MjMsNTMgKzg1NDEsMTI2IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9p bmZvICpkaWUKICAgIGlmIChyYW5nZV90eXBlKQogICAgICByZXR1cm4gcmFuZ2VfdHlwZTsKICAK IC0gIGlmIChjdS0+bGFuZ3VhZ2UgPT0gbGFuZ3VhZ2VfZm9ydHJhbikKLS0gICAgewotLSAgICAg IC8qIEZPUlRSQU4gaW1wbGllcyBhIGxvd2VyIGJvdW5kIG9mIDEsIGlmIG5vdCBnaXZlbi4gICov Ci0tICAgICAgbG93ID0gMTsKLS0gICAgfQogKyAgLyogTE9XX0JPVU5EIGFuZCBISUdIX0JPVU5E IGFyZSBzZXQgZm9yIHJlYWwgYmVsb3cuICAqLwogKyAgcmFuZ2VfdHlwZSA9IGNyZWF0ZV9yYW5n ZV90eXBlIChOVUxMLCBiYXNlX3R5cGUsIDAsIC0xKTsKICsgIFRZUEVfVU5TSUdORUQgKHJhbmdl X3R5cGUpID0gMDsKLSAKLS0gIC8qIEZJWE1FOiBGb3IgdmFyaWFibGUgc2l6ZWQgYXJyYXlzIGVp dGhlciBvZiB0aGVzZSBjb3VsZCBiZQotLSAgICAgYSB2YXJpYWJsZSByYXRoZXIgdGhhbiBhIGNv bnN0YW50IHZhbHVlLiAgV2UnbGwgYWxsb3cgaXQsCi0tICAgICBidXQgd2UgZG9uJ3Qga25vdyBo b3cgdG8gaGFuZGxlIGl0LiAgKi8KLS0gIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9s b3dlcl9ib3VuZCwgY3UpOwotLSAgaWYgKGF0dHIpCi0tICAgIGxvdyA9IGR3YXJmMl9nZXRfYXR0 cl9jb25zdGFudF92YWx1ZSAoYXR0ciwgMCk7CisrCiArICBuZWdhdGl2ZV9tYXNrID0gCiArICAg IChMT05HRVNUKSAtMSA8PCAoVFlQRV9MRU5HVEggKGJhc2VfdHlwZSkgKiBUQVJHRVRfQ0hBUl9C SVQgLSAxKTsKLSAKLS0gIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF91cHBlcl9ib3Vu ZCwgY3UpOwotLSAgaWYgKGF0dHIpCisrCiArICAvKiBFeGNsdWRlIGxhbmd1YWdlX2FkYSBmcm9t IGFueSBUWVBFX0RZTkFNSUMgY29uc3RydWN0cyBiZWxvdy4gIEdEQiBBZGEKICsgICAgIHN1cHBv cnRzIGltcGxlbWVudHMgdGhlIGR5bmFtaWMgYm91bmRzIGluIGEgbm9uLURXQVJGIHdheSBhbmQg dGhlCiArICAgICBleGlzdGluZyBEV0FSRiBkeW5hbWljIGJvdW5kcyBhcmUgaW52YWxpZCwgbGVh ZGluZyB0byBtZW1vcnkgYWNjZXNzCkBAIC0yMDc4LDQwICsyMDY1LDMzIEBAIEluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMKICsgIGF0dHIgPSBkd2FyZjJfYXR0ciAo ZGllLCBEV19BVF9sb3dlcl9ib3VuZCwgY3UpOwogKyAgaWYgKGF0dHIgJiYgYXR0cl9mb3JtX2lz X2Jsb2NrIChhdHRyKSAmJiBjdS0+bGFuZ3VhZ2UgIT0gbGFuZ3VhZ2VfYWRhKQogICAgICB7Ci0t ICAgICAgaWYgKGF0dHItPmZvcm0gPT0gRFdfRk9STV9ibG9jazEgfHwgaXNfcmVmX2F0dHIgKGF0 dHIpKQotLSAgICAgICAgewotLSAgICAgICAgICAvKiBHQ0MgZW5jb2RlcyBhcnJheXMgd2l0aCB1 bnNwZWNpZmllZCBvciBkeW5hbWljIGxlbmd0aAotLSAgICAgICAgICAgICB3aXRoIGEgRFdfRk9S TV9ibG9jazEgYXR0cmlidXRlIG9yIGEgcmVmZXJlbmNlIGF0dHJpYnV0ZS4KLS0gICAgICAgICAg ICAgRklYTUU6IEdEQiBkb2VzIG5vdCB5ZXQga25vdyBob3cgdG8gaGFuZGxlIGR5bmFtaWMKLS0g ICAgICAgICAgICAgYXJyYXlzIHByb3Blcmx5LCB0cmVhdCB0aGVtIGFzIGFycmF5cyB3aXRoIHVu c3BlY2lmaWVkCi0tICAgICAgICAgICAgIGxlbmd0aCBmb3Igbm93LgotLQotLSAgICAgICAgICAg ICBGSVhNRTogamltYi8yMDAzLTA5LTIyOiBHREIgZG9lcyBub3QgcmVhbGx5IGtub3cKLS0gICAg ICAgICAgICAgaG93IHRvIGhhbmRsZSBhcnJheXMgb2YgdW5zcGVjaWZpZWQgbGVuZ3RoCi0tICAg ICAgICAgICAgIGVpdGhlcjsgd2UganVzdCByZXByZXNlbnQgdGhlbSBhcyB6ZXJvLWxlbmd0aAot LSAgICAgICAgICAgICBhcnJheXMuICBDaG9vc2UgYW4gYXBwcm9wcmlhdGUgdXBwZXIgYm91bmQg Z2l2ZW4KLS0gICAgICAgICAgICAgdGhlIGxvd2VyIGJvdW5kIHdlJ3ZlIGNvbXB1dGVkIGFib3Zl LiAgKi8KLS0gICAgICAgICAgaGlnaCA9IGxvdyAtIDE7Ci0tICAgICAgICB9Ci0tICAgICAgZWxz ZQotLSAgICAgICAgaGlnaCA9IGR3YXJmMl9nZXRfYXR0cl9jb25zdGFudF92YWx1ZSAoYXR0ciwg MSk7CistICAgICAgLyogRk9SVFJBTiBpbXBsaWVzIGEgbG93ZXIgYm91bmQgb2YgMSwgaWYgbm90 IGdpdmVuLiAgKi8KKy0gICAgICBsb3cgPSAxOwogKyAgICAgIFRZUEVfUkFOR0VfREFUQSAocmFu Z2VfdHlwZSktPmxvdy5raW5kID0gUkFOR0VfQk9VTkRfS0lORF9EV0FSRl9CTE9DSzsKICsgICAg ICBUWVBFX1JBTkdFX0RBVEEgKHJhbmdlX3R5cGUpLT5sb3cudS5kd2FyZl9ibG9jayA9CiArCQkJ CQlkd2FyZjJfYXR0cl90b19sb2NleHByX2JhdG9uIChhdHRyLCBjdSk7CiArICAgICAgVFlQRV9E WU5BTUlDIChyYW5nZV90eXBlKSA9IDE7CiArICAgICAgLyogRm9yIHNldHRpbmcgYSBkZWZhdWx0 IGlmIERXX0FUX1VQUEVSX0JPVU5EIHdvdWxkIGJlIG1pc3NpbmcuICAqLwogKyAgICAgIGxvdyA9 IDA7Ci0rICAgIH0KKyAgICAgfQogKyAgZWxzZSBpZiAoYXR0ciAmJiBpc19yZWZfYXR0ciAoYXR0 cikgJiYgY3UtPmxhbmd1YWdlICE9IGxhbmd1YWdlX2FkYSkKICsgICAgewogKyAgICAgIHN0cnVj dCBkaWVfaW5mbyAqdGFyZ2V0X2RpZTsKICsgICAgICBzdHJ1Y3QgZHdhcmYyX2N1ICp0YXJnZXRf Y3UgPSBjdTsKICsgICAgICBzdHJ1Y3QgYXR0cmlidXRlICp0YXJnZXRfbG9jX2F0dHI7Ci0rCisg CistICAvKiBGSVhNRTogRm9yIHZhcmlhYmxlIHNpemVkIGFycmF5cyBlaXRoZXIgb2YgdGhlc2Ug Y291bGQgYmUKKy0gICAgIGEgdmFyaWFibGUgcmF0aGVyIHRoYW4gYSBjb25zdGFudCB2YWx1ZS4g IFdlJ2xsIGFsbG93IGl0LAorLSAgICAgYnV0IHdlIGRvbid0IGtub3cgaG93IHRvIGhhbmRsZSBp dC4gICovCistICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfbG93ZXJfYm91bmQsIGN1 KTsKKy0gIGlmIChhdHRyKQorLSAgICBsb3cgPSBkd2FyZjJfZ2V0X2F0dHJfY29uc3RhbnRfdmFs dWUgKGF0dHIsIDApOwogKyAgICAgIHRhcmdldF9kaWUgPSBmb2xsb3dfZGllX3JlZl9vcl9zaWcg KGRpZSwgYXR0ciwgJnRhcmdldF9jdSk7CiArICAgICAgZ2RiX2Fzc2VydCAodGFyZ2V0X2N1LT5v YmpmaWxlID09IGN1LT5vYmpmaWxlKTsKICsgICAgICB0YXJnZXRfbG9jX2F0dHIgPSBkd2FyZjJf YXR0ciAodGFyZ2V0X2RpZSwgRFdfQVRfbG9jYXRpb24sIHRhcmdldF9jdSk7Ci0rCisgCistICBh dHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfdXBwZXJfYm91bmQsIGN1KTsKKy0gIGlmIChh dHRyKQogKyAgICAgIFRZUEVfUkFOR0VfREFUQSAocmFuZ2VfdHlwZSktPmxvdy5raW5kID0gUkFO R0VfQk9VTkRfS0lORF9EV0FSRl9MT0NMSVNUOwogKyAgICAgIFRZUEVfUkFOR0VfREFUQSAocmFu Z2VfdHlwZSktPmxvdy51LmR3YXJmX2xvY2xpc3QubG9jbGlzdAogKyAgICAgICAgPSBkd2FyZjJf YXR0cl90b19sb2NsaXN0X2JhdG9uICh0YXJnZXRfbG9jX2F0dHIsIHRhcmdldF9jdSk7CkBAIC0y MTIwLDE3ICsyMTAwLDI5IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJy ZWFkLmMKICsgICAgICBUWVBFX0RZTkFNSUMgKHJhbmdlX3R5cGUpID0gMTsKICsgICAgICAvKiBG b3Igc2V0dGluZyBhIGRlZmF1bHQgaWYgRFdfQVRfVVBQRVJfQk9VTkQgd291bGQgYmUgbWlzc2lu Zy4gICovCiArICAgICAgbG93ID0gMDsKLSAgICAgfQotICAgZWxzZQorKyAgICB9CisrICBlbHNl CiAgICAgIHsKLS0gICAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfY291bnQsIGN1 KTsKLS0gICAgICBpZiAoYXR0cikKKy0gICAgICBpZiAoYXR0ci0+Zm9ybSA9PSBEV19GT1JNX2Js b2NrMSB8fCBpc19yZWZfYXR0ciAoYXR0cikpCistICAgICAgICB7CistICAgICAgICAgIC8qIEdD QyBlbmNvZGVzIGFycmF5cyB3aXRoIHVuc3BlY2lmaWVkIG9yIGR5bmFtaWMgbGVuZ3RoCistICAg ICAgICAgICAgIHdpdGggYSBEV19GT1JNX2Jsb2NrMSBhdHRyaWJ1dGUgb3IgYSByZWZlcmVuY2Ug YXR0cmlidXRlLgorLSAgICAgICAgICAgICBGSVhNRTogR0RCIGRvZXMgbm90IHlldCBrbm93IGhv dyB0byBoYW5kbGUgZHluYW1pYworLSAgICAgICAgICAgICBhcnJheXMgcHJvcGVybHksIHRyZWF0 IHRoZW0gYXMgYXJyYXlzIHdpdGggdW5zcGVjaWZpZWQKKy0gICAgICAgICAgICAgbGVuZ3RoIGZv ciBub3cuCistCistICAgICAgICAgICAgIEZJWE1FOiBqaW1iLzIwMDMtMDktMjI6IEdEQiBkb2Vz IG5vdCByZWFsbHkga25vdworLSAgICAgICAgICAgICBob3cgdG8gaGFuZGxlIGFycmF5cyBvZiB1 bnNwZWNpZmllZCBsZW5ndGgKKy0gICAgICAgICAgICAgZWl0aGVyOyB3ZSBqdXN0IHJlcHJlc2Vu dCB0aGVtIGFzIHplcm8tbGVuZ3RoCistICAgICAgICAgICAgIGFycmF5cy4gIENob29zZSBhbiBh cHByb3ByaWF0ZSB1cHBlciBib3VuZCBnaXZlbgorLSAgICAgICAgICAgICB0aGUgbG93ZXIgYm91 bmQgd2UndmUgY29tcHV0ZWQgYWJvdmUuICAqLworLSAgICAgICAgICBoaWdoID0gbG93IC0gMTsK Ky0gICAgICAgIH0KICsgICAgICBpZiAoYXR0ciAmJiBhdHRyX2Zvcm1faXNfY29uc3RhbnQgKGF0 dHIpKQogKwlsb3cgPSBkd2FyZjJfZ2V0X2F0dHJfY29uc3RhbnRfdmFsdWUgKGF0dHIsIDApOwot KyAgICAgIGVsc2UKLSAJewotLQkgIGludCBjb3VudCA9IGR3YXJmMl9nZXRfYXR0cl9jb25zdGFu dF92YWx1ZSAoYXR0ciwgMSk7Ci0tCSAgaGlnaCA9IGxvdyArIGNvdW50IC0gMTsKKyAgICAgICBl bHNlCistICAgICAgICBoaWdoID0gZHdhcmYyX2dldF9hdHRyX2NvbnN0YW50X3ZhbHVlIChhdHRy LCAxKTsKKysJewogKwkgIGlmIChjdS0+bGFuZ3VhZ2UgPT0gbGFuZ3VhZ2VfZm9ydHJhbikKICsJ ICAgIHsKICsJICAgICAgLyogRk9SVFJBTiBpbXBsaWVzIGEgbG93ZXIgYm91bmQgb2YgMSwgaWYg bm90IGdpdmVuLiAgKi8KQEAgLTIxNDIsMjUgKzIxMzQsMzAgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL2R3YXJmMnJlYWQuYwogKwkJIExBTkdVQUdFX0MgYW5kIExBTkdVQUdFX0NQ TFVTLiAgKi8KICsJICAgICAgbG93ID0gMDsKICsJICAgIH0KLSAJfQorKwl9CiArICAgICAgaWYg KCFUWVBFX1VOU0lHTkVEIChiYXNlX3R5cGUpICYmIChsb3cgJiBuZWdhdGl2ZV9tYXNrKSkKICsJ bG93IHw9IG5lZ2F0aXZlX21hc2s7CiArICAgICAgVFlQRV9MT1dfQk9VTkQgKHJhbmdlX3R5cGUp ID0gbG93OwogKyAgICAgIGlmIChsb3cgPj0gMCkKICsJVFlQRV9VTlNJR05FRCAocmFuZ2VfdHlw ZSkgPSAxOwotKyAgICB9CisgICAgIH0KKy0gIGVsc2UKICsKICsgIGF0dHIgPSBkd2FyZjJfYXR0 ciAoZGllLCBEV19BVF91cHBlcl9ib3VuZCwgY3UpOwogKyAgaWYgKCFhdHRyIHx8ICghYXR0cl9m b3JtX2lzX2Jsb2NrIChhdHRyKSAmJiAhYXR0cl9mb3JtX2lzX2NvbnN0YW50IChhdHRyKQogKwkJ JiYgIWlzX3JlZl9hdHRyIChhdHRyKSkpCi0rICAgIHsKLSsgICAgICBhdHRyID0gZHdhcmYyX2F0 dHIgKGRpZSwgRFdfQVRfY291bnQsIGN1KTsKKyAgICAgeworICAgICAgIGF0dHIgPSBkd2FyZjJf YXR0ciAoZGllLCBEV19BVF9jb3VudCwgY3UpOworLSAgICAgIGlmIChhdHRyKQorLQl7CistCSAg aW50IGNvdW50ID0gZHdhcmYyX2dldF9hdHRyX2NvbnN0YW50X3ZhbHVlIChhdHRyLCAxKTsKKy0J ICBoaWdoID0gbG93ICsgY291bnQgLSAxOwogKyAgICAgIC8qIEl0IGRvZXMgbm90IGh1cnQgYnV0 IGl0IGlzIG5lZWRsZXNzbHkgaW5lZmZlY3RpdmUgaW4gY2hlY2tfdHlwZWRlZi4gICovCiArICAg ICAgaWYgKGF0dHIgJiYgKGF0dHJfZm9ybV9pc19ibG9jayAoYXR0cikgfHwgYXR0cl9mb3JtX2lz X2NvbnN0YW50IChhdHRyKSkpCiArICAgICAgCXsKICsJICBUWVBFX1JBTkdFX0hJR0hfQk9VTkRf SVNfQ09VTlQgKHJhbmdlX3R5cGUpID0gMTsKICsJICBUWVBFX0RZTkFNSUMgKHJhbmdlX3R5cGUp ID0gMTsKLSsJfQorIAl9CiArICAgICAgLyogUGFzcyBpdCBub3cgYXMgdGhlIHJlZ3VsYXIgRFdf QVRfdXBwZXJfYm91bmQuICAqLwogKyAgICB9CiArCkBAIC0yMjA4LDcgKzIyMDUsNyBAQCBJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYycmVhZC5jCiAgICAgIH0KICAKICAgIC8q IER3YXJmLTIgc3BlY2lmaWNhdGlvbnMgZXhwbGljaXRseSBhbGxvd3MgdG8gY3JlYXRlIHN1YnJh bmdlIHR5cGVzCi1AQCAtODQyMywyNCArODYxNCw0MSBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0 cnVjdCBkaWVfaW5mbyAqZGllCitAQCAtODUxMCwyNCArODcwMSw0MSBAQCByZWFkX3N1YnJhbmdl X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllCiAgCX0KICAgICAgfQogIApAQCAtMjI2OCw3ICsy MjY1LDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMnJlYWQuYwogIAog ICAgbmFtZSA9IGR3YXJmMl9uYW1lIChkaWUsIGN1KTsKICAgIGlmIChuYW1lKQotQEAgLTEwOTg1 LDEwICsxMTE5MywxMiBAQCB2YXJfZGVjb2RlX2xvY2F0aW9uIChzdHJ1Y3QgYXR0cmlidXRlICph CitAQCAtMTEwNzIsMTAgKzExMjgwLDEyIEBAIHZhcl9kZWNvZGVfbG9jYXRpb24gKHN0cnVjdCBh dHRyaWJ1dGUgKmEKICAgICAgIChpLmUuIHdoZW4gdGhlIHZhbHVlIG9mIGEgcmVnaXN0ZXIgb3Ig bWVtb3J5IGxvY2F0aW9uIGlzCiAgICAgICByZWZlcmVuY2VkLCBvciBhIHRocmVhZC1sb2NhbCBi bG9jaywgZXRjLikuICBUaGVuIGFnYWluLCBpdCBtaWdodAogICAgICAgbm90IGJlIHdvcnRod2hp bGUuICBJJ20gYXNzdW1pbmcgdGhhdCBpdCBpc24ndCB1bmxlc3MgcGVyZm9ybWFuY2UKQEAgLTIy ODMsNyArMjI4MCw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFk LmMKICAKICAgIGlmIChTWU1CT0xfQ09NUFVURURfT1BTIChzeW0pID09ICZkd2FyZjJfbG9jbGlz dF9mdW5jcykKICAgICAgY3UtPmhhc19sb2NsaXN0ID0gMTsKLUBAIC0xMTAyOSw2ICsxMTIzOSw4 IEBAIG5ld19zeW1ib2xfZnVsbCAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHMKK0BAIC0xMTExNiw2 ICsxMTMyNiw4IEBAIG5ld19zeW1ib2xfZnVsbCAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHMKICAg ICAgICBlbHNlCiAgCXN5bSA9IE9CU1RBQ0tfWkFMTE9DICgmb2JqZmlsZS0+b2JqZmlsZV9vYnN0 YWNrLCBzdHJ1Y3Qgc3ltYm9sKTsKICAgICAgICBPQkpTVEFUIChvYmpmaWxlLCBuX3N5bXMrKyk7 CkBAIC0yMjkyLDcgKzIyODksNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdh cmYycmVhZC5jCiAgCiAgICAgICAgLyogQ2FjaGUgdGhpcyBzeW1ib2wncyBuYW1lIGFuZCB0aGUg bmFtZSdzIGRlbWFuZ2xlZCBmb3JtIChpZiBhbnkpLiAgKi8KICAgICAgICBTWU1CT0xfU0VUX0xB TkdVQUdFIChzeW0sIGN1LT5sYW5ndWFnZSk7Ci1AQCAtMTE4MDEsNiArMTIwMTMsOSBAQCByZWFk X3R5cGVfZGllXzEgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCitAQCAtMTE4ODgsNiArMTIxMDAs OSBAQCByZWFkX3R5cGVfZGllXzEgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCiAgICAgICAgYnJl YWs7CiAgICAgIH0KICAKQEAgLTIzMDIsNyArMjI5OSw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMKICAgIHJldHVybiB0aGlzX3R5cGU7CiAgfQogIAotQEAg LTE0NjU1LDYxICsxNDg3MCw5OSBAQCBmaWxsX2luX2xvY2xpc3RfYmF0b24gKHN0cnVjdCBkd2Fy ZjJfY3UgCitAQCAtMTQ3NDIsNjEgKzE0OTU3LDk5IEBAIGZpbGxfaW5fbG9jbGlzdF9iYXRvbiAo c3RydWN0IGR3YXJmMl9jdSAKICAgIGJhdG9uLT5iYXNlX2FkZHJlc3MgPSBjdS0+YmFzZV9hZGRy ZXNzOwogIH0KICAKQEAgLTIzNDksNyArMjM0Niw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9kd2FyZjJyZWFkLmMKICsKICsgIHJldHVybiBiYXRvbjsKICt9Ci0rCisgCiArc3Rh dGljIHN0cnVjdCBkd2FyZjJfbG9jbGlzdF9iYXRvbiAqCiArZHdhcmYyX2F0dHJfdG9fbG9jbGlz dF9iYXRvbiAoc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAr ewpAQCAtMjM2Miw3ICsyMzU5LDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3 YXJmMnJlYWQuYwogKwogKyAgZHdhcmYyX3JlYWRfc2VjdGlvbiAoZHdhcmYyX3Blcl9vYmpmaWxl LT5vYmpmaWxlLAogKwkJICAgICAgICZkd2FyZjJfcGVyX29iamZpbGUtPmxvYyk7Ci0gCisrCiAr ICBpZiAoIShhdHRyX2Zvcm1faXNfc2VjdGlvbl9vZmZzZXQgKGF0dHIpCiArCS8qICIuZGVidWdf bG9jIiBtYXkgbm90IGV4aXN0IGF0IGFsbCwgb3IgdGhlIG9mZnNldCBtYXkgYmUgb3V0c2lkZQog KwkgICB0aGUgc2VjdGlvbi4gIElmIHNvLCBmYWxsIHRocm91Z2ggdG8gdGhlIGNvbXBsYWludCBp biB0aGUKQEAgLTI0NDUsNyArMjQ0Miw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9kd2FyZjJyZWFkLmMKICAgICAgfQogIH0KICAKLUBAIC0xNTA1OCw2ICsxNTMxMSwyNSBAQCBv ZmZzZXRfYW5kX3R5cGVfZXEgKGNvbnN0IHZvaWQgKml0ZW1fbGhzCitAQCAtMTUxNDUsNiArMTUz OTgsMjUgQEAgb2Zmc2V0X2FuZF90eXBlX2VxIChjb25zdCB2b2lkICppdGVtX2xocwogICAgcmV0 dXJuIG9mc19saHMtPm9mZnNldCA9PSBvZnNfcmhzLT5vZmZzZXQ7CiAgfQogIApAQCAtMjQ3MSw3 ICsyNDY4LDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMnJlYWQuYwog IC8qIFNldCB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggRElFIHRvIFRZUEUuICBTYXZlIGl0IGlu IENVJ3MgaGFzaAogICAgIHRhYmxlIGlmIG5lY2Vzc2FyeS4gIEZvciBjb252ZW5pZW5jZSwgcmV0 dXJuIFRZUEUuCiAgCi1AQCAtMTUwODMsNiArMTUzNTUsOCBAQCBzZXRfZGllX3R5cGUgKHN0cnVj dCBkaWVfaW5mbyAqZGllLCBzdHJ1CitAQCAtMTUxNzAsNiArMTU0NDIsOCBAQCBzZXRfZGllX3R5 cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1CiAgICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmls ZSA9IGN1LT5vYmpmaWxlOwogICAgaHRhYl90ICp0eXBlX2hhc2hfcHRyOwogIApAQCAtMjQ4MCwx MCArMjQ3NywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYycmVhZC5j CiAgICAvKiBGb3IgQWRhIHR5cGVzLCBtYWtlIHN1cmUgdGhhdCB0aGUgZ25hdC1zcGVjaWZpYyBk YXRhIGlzIGFsd2F5cwogICAgICAgaW5pdGlhbGl6ZWQgKGlmIG5vdCBhbHJlYWR5IHNldCkuICBU aGVyZSBhcmUgYSBmZXcgdHlwZXMgd2hlcmUKICAgICAgIHdlIHNob3VsZCBub3QgYmUgZG9pbmcg c28sIGJlY2F1c2UgdGhlIHR5cGUtc3BlY2lmaWMgYXJlYSBpcwotSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL2VsZnJlYWQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2Vs ZnJlYWQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZWxm cmVhZC5jCTIwMTEtMDUtMDMgMTg6MjU6MjAuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvZWxmcmVhZC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICsw MjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9lbGZyZWFkLmMJMjAxMS0wNS0w MyAxODoyNToyMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9l bGZyZWFkLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00Myw2ICs0 MywxMiBAQAogICNpbmNsdWRlICJpbmZjYWxsLmgiCiAgI2luY2x1ZGUgImdkYnRocmVhZC5oIgpA QCAtMjgxOSwxMCArMjgxNiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZWxm cmVhZC5jCiAgICBhZGRfc3ltdGFiX2ZucyAoJmVsZl9zeW1fZm5zKTsKICAKICAgIGVsZl9vYmpm aWxlX2dudV9pZnVuY19jYWNoZV9kYXRhID0gcmVnaXN0ZXJfb2JqZmlsZV9kYXRhICgpOwotSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2V2YWwuYworSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA3MDMvZ2RiL2V2YWwuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3Jp Zy9nZGIvZXZhbC5jCTIwMTEtMDMtMjggMjI6MjE6MDMuMDAwMDAwMDAwICswMjAwCi0rKysgZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvZXZhbC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAw ICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9ldmFsLmMJMjAxMS0wMy0y OCAyMjoyMTowMy4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9l dmFsLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00NCw2ICs0NCw3 IEBACiAgI2luY2x1ZGUgIm9iamZpbGVzLmgiCiAgI2luY2x1ZGUgInB5dGhvbi9weXRob24uaCIK QEAgLTMzMDcsMTAgKzMzMDQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2V2 YWwuYwogLSAgcmV0dXJuIG5kaW1lbjsKICsKICB9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvZi1leHAueQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2YtZXhwLnkKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2YtZXhwLnkJMjAxMS0w My0xOCAxNDo1MTo0MS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9mLWV4cC55CTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcu Mi45MC4yMDExMDcwMy5vcmlnL2dkYi9mLWV4cC55CTIwMTEtMDMtMTggMTQ6NTE6NDEuMDAwMDAw MDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZi1leHAueQkyMDExLTA3LTAz IDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTI5Myw3ICsyOTMsOSBAQCBhcmdsaXN0IDoJ c3VicmFuZ2UKICAJCQl7IGFyZ2xpc3RfbGVuID0gMTsgfQogIAk7CkBAIC0zMzIyLDEwICszMzE5 LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9mLWV4cC55CiAgCQkJeyBhcmds aXN0X2xlbisrOyB9CiAgCTsKICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9mLWxh bmcuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2YtbGFuZy5oCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9mLWxhbmcuaAkyMDExLTAxLTA3IDIw OjM2OjE2LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2YtbGFu Zy5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4y MDExMDcwMy5vcmlnL2dkYi9mLWxhbmcuaAkyMDExLTAxLTA3IDIwOjM2OjE2LjAwMDAwMDAwMCAr MDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2YtbGFuZy5oCTIwMTEtMDctMDMgMTA6 MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMjgsNiArMjgsMTAgQEAgZXh0ZXJuIHZvaWQgZl9l cnJvciAoY2hhciAqKTsJLyogRGVmaW5lZAogIGV4dGVybiB2b2lkIGZfcHJpbnRfdHlwZSAoc3Ry dWN0IHR5cGUgKiwgY29uc3QgY2hhciAqLCBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCiAgCQkJICBp bnQpOwpAQCAtMzMzNywxMCArMzMzNCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvZi1sYW5nLmgKICBleHRlcm4gaW50IGZfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqLCBjb25z dCBnZGJfYnl0ZSAqLCBpbnQsIENPUkVfQUREUiwKICAJCQlzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQs CiAgCQkJY29uc3Qgc3RydWN0IHZhbHVlICosCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvZi10eXBlcHJpbnQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2YtdHlwZXBy aW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2YtdHlw ZXByaW50LmMJMjAxMS0wMS0wNyAyMDozNjoxNi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9mLXR5cGVwcmludC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAw MDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9mLXR5cGVwcmludC5j CTIwMTEtMDEtMDcgMjA6MzY6MTYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDEx MDcwMy9nZGIvZi10eXBlcHJpbnQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIw MAogQEAgLTMyLDcgKzMyLDcgQEAKICAjaW5jbHVkZSAiZ2RiY29yZS5oIgogICNpbmNsdWRlICJ0 YXJnZXQuaCIKQEAgLTM0MDUsMTAgKzM0MDIsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL2YtdHlwZXByaW50LmMKICAgIHN3aXRjaCAoVFlQRV9DT0RFICh0eXBlKSkKICAgICAg ewogICAgICBjYXNlIFRZUEVfQ09ERV9BUlJBWToKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9mLXZhbHByaW50LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9mLXZhbHBy aW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2YtdmFs cHJpbnQuYwkyMDExLTAyLTA3IDE4OjQ5OjMyLjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL2YtdmFscHJpbnQuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAw MCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvZi12YWxwcmludC5jCTIw MTEtMDItMDcgMTg6NDk6MzIuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcw My9nZGIvZi12YWxwcmludC5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBA QCAtNTQsMTUgKzU0LDE3IEBAIGludCBmNzdfYXJyYXlfb2Zmc2V0X3RibFtNQVhfRk9SVFJBTl9E SU0KICAvKiBUaGUgZm9sbG93aW5nIG1hY3JvIGdpdmVzIHVzIHRoZSBzaXplIG9mIHRoZSBudGgg ZGltZW5zaW9uLCBXaGVyZSAKICAgICBuIGlzIDEgYmFzZWQuICAqLwpAQCAtMzU0NCwxMCArMzU0 MSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZi12YWxwcmludC5jCiAgICBD SEVDS19UWVBFREVGICh0eXBlKTsKICAgIHN3aXRjaCAoVFlQRV9DT0RFICh0eXBlKSkKICAgICAg ewotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2ZpbmR2YXIuYworSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA3MDMvZ2RiL2ZpbmR2YXIuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAu MjAxMTA1MjUub3JpZy9nZGIvZmluZHZhci5jCTIwMTEtMDMtMTggMTk6NDI6NDEuMDAwMDAwMDAw ICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZmluZHZhci5jCTIwMTEtMDUtMjUg MTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dk Yi9maW5kdmFyLmMJMjAxMS0wMy0xOCAxOTo0Mjo0MS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny4yLjkwLjIwMTEwNzAzL2dkYi9maW5kdmFyLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC0zNSw2ICszNSw3IEBACiAgI2luY2x1ZGUgInVzZXItcmVncy5oIgogICNp bmNsdWRlICJibG9jay5oIgpAQCAtMzY5MywxMCArMzY5MCwxMCBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvZmluZHZhci5jCiAgCQkJCSAgICAgIHZhbHVlX2NvbnRlbnRzX3JhdyAo diksICZvcHRpbSwKICAJCQkJICAgICAgJnVuYXZhaWwpOwogICAgICB9Ci1JbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvZ2RiaW5pdC5pbgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMv Z2RiL2dkYmluaXQuaW4KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcv Z2RiL2dkYmluaXQuaW4JMjAwOS0xMC0wNSAxNTo0Njo1Mi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9nZGJpbml0LmluCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAw MDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9nZGJpbml0Lmlu CTIwMDktMTAtMDUgMTU6NDY6NTIuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDEx MDcwMy9nZGIvZ2RiaW5pdC5pbgkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAog QEAgLTEsNSArMSwxNSBAQAogIGVjaG8gU2V0dGluZyB1cCB0aGUgZW52aXJvbm1lbnQgZm9yIGRl YnVnZ2luZyBnZGIuXG4KICAKQEAgLTM3MTMsMTAgKzM3MTAsMTAgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL2dkYmluaXQuaW4KICBzZXQgY29tcGxhaW50cyAxCiAgCiAgYiBpbnRl cm5hbF9lcnJvcgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2dkYnR5cGVzLmMKK0lu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9nZGJ0eXBlcy5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9nZGJ0eXBlcy5jCTIwMTEtMDMtMjggMjI6MjE6 MDMuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZ2RidHlwZXMu YwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAx MTA3MDMub3JpZy9nZGIvZ2RidHlwZXMuYwkyMDExLTAzLTI4IDIyOjIxOjAzLjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2dkYnR5cGVzLmMJMjAxMS0wNy0wMyAx MDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zOSw2ICszOSw5IEBACiAgI2luY2x1ZGUgImNw LWFiaS5oIgogICNpbmNsdWRlICJnZGJfYXNzZXJ0LmgiCkBAIC00NjI3LDEwICs0NjI0LDEwIEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9nZGJ0eXBlcy5jCiAgICBvYmpmaWxlX3R5 cGVfZGF0YSA9IHJlZ2lzdGVyX29iamZpbGVfZGF0YSAoKTsKICAKICAgIGFkZF9zZXRzaG93X3pp bnRlZ2VyX2NtZCAoIm92ZXJsb2FkIiwgbm9fY2xhc3MsICZvdmVybG9hZF9kZWJ1ZywKLUluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9nZGJ0eXBlcy5oCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDcwMy9nZGIvZ2RidHlwZXMuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1 MjUub3JpZy9nZGIvZ2RidHlwZXMuaAkyMDExLTAzLTI4IDIyOjIxOjAzLjAwMDAwMDAwMCArMDIw MAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2dkYnR5cGVzLmgJMjAxMS0wNS0yNSAxNzow NToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL2dk YnR5cGVzLmgJMjAxMS0wMy0yOCAyMjoyMTowMy4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNzAzL2dkYi9nZGJ0eXBlcy5oCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAw ICswMjAwCiBAQCAtMjE1LDYgKzIxNSwxMSBAQCBlbnVtIHR5cGVfaW5zdGFuY2VfZmxhZ192YWx1 ZQogIAogICNkZWZpbmUgVFlQRV9UQVJHRVRfU1RVQih0KQkoVFlQRV9NQUlOX1RZUEUgKHQpLT5m bGFnX3RhcmdldF9zdHViKQpAQCAtNDg2NSwxMCArNDg2MiwxMCBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvZ2RidHlwZXMuaAogKyNlbmRpZgogKwogICNlbmRpZiAvKiBHREJUWVBF U19IICovCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvaTM4Ni1saW51eC1uYXQuYwor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2kzODYtbGludXgtbmF0LmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2kzODYtbGludXgtbmF0LmMJMjAx MS0wMi0yNyAxNzoyNTozNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9pMzg2LWxpbnV4LW5hdC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAw CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9pMzg2LWxpbnV4LW5hdC5jCTIwMTEt MDItMjcgMTc6MjU6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9n ZGIvaTM4Ni1saW51eC1uYXQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAog QEAgLTY0OSwyMiArNjQ5LDEzIEBAIGkzODZfbGludXhfc3RvcmVfaW5mZXJpb3JfcmVnaXN0ZXJz IChzdHIKICB9CiAgDApAQCAtNTA3MywxMCArNTA3MCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvaTM4Ni1saW51eC1uYXQuYwogIH0KICAMCiAgCi1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvaTM4Ni1uYXQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L2kzODYtbmF0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2Ri L2kzODYtbmF0LmMJMjAxMS0wMi0yNiAyMzowNDo1MS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi9pMzg2LW5hdC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAw MDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9pMzg2LW5hdC5jCTIw MTEtMDItMjYgMjM6MDQ6NTEuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcw My9nZGIvaTM4Ni1uYXQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAg LTI1LDYgKzI1LDcgQEAKICAjaW5jbHVkZSAiZ2RiY21kLmgiCiAgI2luY2x1ZGUgInRhcmdldC5o IgpAQCAtNTQyOCwxMCArNTQyNSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv aTM4Ni1uYXQuYwogIH0KICAKICB2b2lkCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv aTM4Ni1uYXQuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2kzODYtbmF0LmgKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2kzODYtbmF0LmgJMjAx MS0wMS0wOSAwNDowODo1Ni4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9pMzg2LW5hdC5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0g Z2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9pMzg2LW5hdC5oCTIwMTEtMDEtMDkgMDQ6MDg6 NTYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvaTM4Ni1uYXQu aAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTc4LDYgKzc4LDI4IEBA IHN0cnVjdCBpMzg2X2RyX2xvd190eXBlIAogIAogIGV4dGVybiBzdHJ1Y3QgaTM4Nl9kcl9sb3df dHlwZSBpMzg2X2RyX2xvdzsKQEAgLTU0NjEsMTAgKzU0NTgsMTAgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL2kzODYtbmF0LmgKICAvKiBVc2UgdGhpcyBmdW5jdGlvbiB0byBzZXQg aTM4Nl9kcl9sb3cgZGVidWdfcmVnaXN0ZXJfbGVuZ3RoIGZpZWxkCiAgICAgcmF0aGVyIHRoYW4g c2V0dGluZyBpdCBkaXJlY3RseSB0byBjaGVjayB0aGF0IHRoZSBsZW5ndGggaXMgb25seQogICAg IHNldCBvbmNlLiAgSXQgYWxzbyBlbmFibGVzIHRoZSAnbWFpbnQgc2V0L3Nob3cgc2hvdy1kZWJ1 Zy1yZWdzJyAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9pbmZydW4uYworSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2luZnJ1bi5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu Mi45MC4yMDExMDUyNS5vcmlnL2dkYi9pbmZydW4uYwkyMDExLTA0LTIwIDE5OjA0OjMyLjAwMDAw MDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2luZnJ1bi5jCTIwMTEtMDUt MjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmln L2dkYi9pbmZydW4uYwkyMDExLTA2LTAzIDE3OjMyOjEzLjAwMDAwMDAwMCArMDIwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA3MDMvZ2RiL2luZnJ1bi5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAw MDAwICswMjAwCiBAQCAtNTQsNiArNTQsOCBAQAogICNpbmNsdWRlICJpbmxpbmUtZnJhbWUuaCIK ICAjaW5jbHVkZSAiaml0LmgiCkBAIC01NDgzLDcgKzU0ODAsNyBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvaW5mcnVuLmMKICAKICBzdGF0aWMgdm9pZCBzdG9wX3N0ZXBwaW5nIChz dHJ1Y3QgZXhlY3V0aW9uX2NvbnRyb2xfc3RhdGUgKmVjcyk7CiAgc3RhdGljIHZvaWQgcHJlcGFy ZV90b193YWl0IChzdHJ1Y3QgZXhlY3V0aW9uX2NvbnRyb2xfc3RhdGUgKmVjcyk7Ci1AQCAtNDE2 NCw5ICs0MTY2LDE3IEBAIHByb2Nlc3NfZXZlbnRfc3RvcF90ZXN0OgorQEAgLTQxNjksOSArNDE3 MSwxNyBAQCBwcm9jZXNzX2V2ZW50X3N0b3BfdGVzdDoKICAKICAJaWYgKHdoYXQuaXNfbG9uZ2pt cCkKICAJICB7CkBAIC01NTA0LDcgKzU1MDEsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvaW5mcnVuLmMKICAJICAgICAgewogIAkJaWYgKGRlYnVnX2luZnJ1bikKICAJCSAgZnBy aW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLAotQEAgLTQxODQsMTIgKzQxOTQsNyBAQCBwcm9j ZXNzX2V2ZW50X3N0b3BfdGVzdDoKK0BAIC00MTg5LDEyICs0MTk5LDcgQEAgcHJvY2Vzc19ldmVu dF9zdG9wX3Rlc3Q6CiAgCSAgICBpbnNlcnRfbG9uZ2ptcF9yZXN1bWVfYnJlYWtwb2ludCAoZ2Ri YXJjaCwgam1wX2J1Zl9wYyk7CiAgCSAgfQogIAllbHNlCkBAIC01NTE4LDcgKzU1MTUsNyBAQCBJ bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvaW5mcnVuLmMKICAJa2VlcF9nb2luZyAoZWNz KTsKICAJcmV0dXJuOwogIAotQEAgLTUyNjMsMTUgKzUyNjgsNjUgQEAgaW5zZXJ0X2V4Y2VwdGlv bl9yZXN1bWVfYnJlYWtwb2ludCAoc3RydQorQEAgLTUyNjgsMTUgKzUyNzMsNjUgQEAgaW5zZXJ0 X2V4Y2VwdGlvbl9yZXN1bWVfYnJlYWtwb2ludCAoc3RydQogICAgICB9CiAgfQogIApAQCAtNTU4 NSw3ICs1NTgyLDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2luZnJ1bi5jCiAg CiAgICBUUllfQ0FUQ0ggKGUsIFJFVFVSTl9NQVNLX0VSUk9SKQogICAgICB7Ci1AQCAtNjI1Myw3 ICs2MzA4LDggQEAgc3RhdGljIHN0cnVjdCBsdmFsX2Z1bmNzIHNpZ2luZm9fdmFsdWVfZgorQEAg LTYyNTgsNyArNjMxMyw4IEBAIHN0YXRpYyBzdHJ1Y3QgbHZhbF9mdW5jcyBzaWdpbmZvX3ZhbHVl X2YKICAgICBpZiB0aGVyZSdzIG5vIG9iamVjdCBhdmFpbGFibGUuICAqLwogIAogIHN0YXRpYyBz dHJ1Y3QgdmFsdWUgKgpAQCAtNTU5NSw3ICs1NTkyLDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL2luZnJ1bi5jCiAgewogICAgaWYgKHRhcmdldF9oYXNfc3RhY2sKICAgICAgICAm JiAhcHRpZF9lcXVhbCAoaW5mZXJpb3JfcHRpZCwgbnVsbF9wdGlkKQotQEAgLTY4MjEsNiArNjg3 NywxNSBAQCBzaG93X3NjaGVkdWxlX211bHRpcGxlIChzdHJ1Y3QgdWlfZmlsZSAqCitAQCAtNjgy Niw2ICs2ODgyLDE1IEBAIHNob3dfc2NoZWR1bGVfbXVsdGlwbGUgKHN0cnVjdCB1aV9maWxlICoK ICAJCQkgICAgIm9mIGFsbCBwcm9jZXNzZXMgaXMgJXMuXG4iKSwgdmFsdWUpOwogIH0KICAKQEAg LTU2MTEsNyArNTYwOCw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9pbmZydW4u YwogIHZvaWQKICBfaW5pdGlhbGl6ZV9pbmZydW4gKHZvaWQpCiAgewotQEAgLTcwOTMsNyArNzE1 OCw3IEBAIFRlbGxzIGdkYiB3aGV0aGVyIHRvIGRldGFjaCB0aGUgY2hpbGQgb2YKK0BAIC03MDk4 LDcgKzcxNjMsNyBAQCBUZWxscyBnZGIgd2hldGhlciB0byBkZXRhY2ggdGhlIGNoaWxkIG9mCiAg ICAgICB2YWx1ZSB3aXRoIGEgdm9pZCB0eXBlZCB2YWx1ZSwgYW5kIHdoZW4gd2UgZ2V0IGhlcmUs IGdkYmFyY2gKICAgICAgIGlzbid0IGluaXRpYWxpemVkIHlldC4gIEF0IHRoaXMgcG9pbnQsIHdl J3JlIHF1aXRlIHN1cmUgdGhlcmUKICAgICAgIGlzbid0IGFub3RoZXIgY29udmVuaWVuY2UgdmFy aWFibGUgb2YgdGhlIHNhbWUgbmFtZS4gICovCkBAIC01NjIwLDEwICs1NjE3LDEwIEBAIEluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9pbmZydW4uYwogIAogICAgYWRkX3NldHNob3dfYm9v bGVhbl9jbWQgKCJvYnNlcnZlciIsIG5vX2NsYXNzLAogIAkJCSAgICZvYnNlcnZlcl9tb2RlXzEs IF8oIlwKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9saW5lc3BlYy5jCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDcwMy9nZGIvbGluZXNwZWMuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvbGluZXNwZWMuYwkyMDExLTAzLTI1IDE4OjEzOjEyLjAw MDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2xpbmVzcGVjLmMJMjAx MS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAz Lm9yaWcvZ2RiL2xpbmVzcGVjLmMJMjAxMS0wNy0wMiAyMjoxMzowOC4wMDAwMDAwMDAgKzAyMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9saW5lc3BlYy5jCTIwMTEtMDctMDMgMTA6MzM6 MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtNDMsNiArNDMsNyBAQAogICNpbmNsdWRlICJhcmNoLXV0 aWxzLmgiCiAgI2luY2x1ZGUgPGN0eXBlLmg+CkBAIC01NjMyLDcgKzU2MjksNyBAQCBJbmRleDog Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbGluZXNwZWMuYwogIAogIC8qIFdlIHNoYXJlIHRoaXMg b25lIHdpdGggc3ltdGFiLmMsIGJ1dCBpdCBpcyBub3QgZXhwb3J0ZWQgd2lkZWx5LiAgKi8KICAK LUBAIC03NjIsNiArNzYzLDcgQEAga2VlcF9uYW1lX2luZm8gKGNoYXIgKnB0cikKK0BAIC03ODYs NiArNzg3LDcgQEAga2VlcF9uYW1lX2luZm8gKGNoYXIgKnAsIGludCBvbl9ib3VuZGFyeQogICAg IFBDIHJldHVybmVkIGlzIDAuCiAgICAgRklMRTpGVU5DVElPTiAtLSBsaWtld2lzZSwgYnV0IHBy ZWZlciBmdW5jdGlvbnMgaW4gdGhhdCBmaWxlLgogICAgICpFWFBSIC0tIGxpbmUgaW4gd2hpY2gg YWRkcmVzcyBFWFBSIGFwcGVhcnMuCkBAIC01NjQwLDcgKzU2MzcsNyBAQCBJbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvbGluZXNwZWMuYwogIAogICAgIFRoaXMgbWF5IGFsbCBiZSBmb2xs b3dlZCBieSBhbiAiaWYgRVhQUiIsIHdoaWNoIHdlIGlnbm9yZS4KICAKLUBAIC04MzcsNiArODM5 LDkgQEAgZGVjb2RlX2xpbmVfMSAoY2hhciAqKmFyZ3B0ciwgaW50IGZ1bmZpcgorQEAgLTg1NCw2 ICs4NTYsOSBAQCBkZWNvZGVfbGluZV8xIChjaGFyICoqYXJncHRyLCBpbnQgZnVuZmlyCiAgICBp ZiAoKiphcmdwdHIgPT0gJyonKQogICAgICByZXR1cm4gZGVjb2RlX2luZGlyZWN0IChhcmdwdHIp OwogIApAQCAtNTY1MCwxMCArNTY0NywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvbGluZXNwZWMuYwogICAgaXNfcXVvdGVkID0gKHN0cmNociAoZ2V0X2dkYl9jb21wbGV0ZXJf cXVvdGVfY2hhcmFjdGVycyAoKSwKICAJCSAgICAgICAqKmFyZ3B0cikgIT0gTlVMTCk7CiAgCi1J bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbGluZXNwZWMuaAorSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA3MDMvZ2RiL2xpbmVzcGVjLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIw MTEwNTI1Lm9yaWcvZ2RiL2xpbmVzcGVjLmgJMjAxMS0wMy0yNCAyMDo0NzoxNy4wMDAwMDAwMDAg KzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9saW5lc3BlYy5oCTIwMTEtMDUtMjUg MTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dk Yi9saW5lc3BlYy5oCTIwMTEtMDctMDIgMjE6MzM6MDkuMDAwMDAwMDAwICswMjAwCisrKysgZ2Ri LTcuMi45MC4yMDExMDcwMy9nZGIvbGluZXNwZWMuaAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAw MDAwMCArMDIwMAogQEAgLTMwLDYgKzMwLDEwIEBAIHN0cnVjdCBsaW5lc3BlY19yZXN1bHQKICAg ICAgIGRpc3BsYXkgbWVjaGFuaXNtIHdvdWxkIGRvIHRoZSB3cm9uZyB0aGluZy4gICovCiAgICBp bnQgc3BlY2lhbF9kaXNwbGF5OwpAQCAtNTY2NSwxMCArNTY2MiwxMCBAQCBJbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvbGluZXNwZWMuaAogICAgLyogSWYgbm9uLU5VTEwsIGFuIGFycmF5 IG9mIGNhbm9uaWNhbCBuYW1lcyBmb3IgcmV0dXJuZWQKICAgICAgIHN5bXRhYl9hbmRfbGluZSBv YmplY3RzLiAgVGhlIGFycmF5IGhhcyBhcyBtYW55IGVsZW1lbnRzIGFzIHRoZQogICAgICAgYG5l bHRzJyBmaWVsZCBpbiB0aGUgc3ltdGFic19hbmRfbGluZSByZXR1cm5lZCBieSBkZWNvZGVfbGlu ZV8xLgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2xpbnV4LW5hdC5jCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDcwMy9nZGIvbGludXgtbmF0LmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2xpbnV4LW5hdC5jCTIwMTEtMDQtMjkgMTg6MDI6MTAu MDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbGludXgtbmF0LmMJ MjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEw NzAzLm9yaWcvZ2RiL2xpbnV4LW5hdC5jCTIwMTEtMDQtMjkgMTg6MDI6MTAuMDAwMDAwMDAwICsw MjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvbGludXgtbmF0LmMJMjAxMS0wNy0wMyAx MDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xMjcyLDYgKzEyNzIsNjQgQEAgaXRlcmF0ZV9v dmVyX2x3cHMgKHB0aWRfdCBmaWx0ZXIsCiAgICByZXR1cm4gTlVMTDsKICB9CkBAIC01NzM0LDEw ICs1NzMxLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9saW51eC1uYXQuYwog IC8qIFVwZGF0ZSBvdXIgaW50ZXJuYWwgc3RhdGUgd2hlbiBjaGFuZ2luZyBmcm9tIG9uZSBjaGVj a3BvaW50IHRvCiAgICAgYW5vdGhlciBpbmRpY2F0ZWQgYnkgTkVXX1BUSUQuICBXZSBjYW4gb25s eSBzd2l0Y2ggc2luZ2xlLXRocmVhZGVkCiAgICAgYXBwbGljYXRpb25zLCBzbyB3ZSBvbmx5IGNy ZWF0ZSBvbmUgbmV3IExXUCwgYW5kIHRoZSBwcmV2aW91cyBsaXN0Ci1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvbGludXgtbmF0LmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dk Yi9saW51eC1uYXQuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9n ZGIvbGludXgtbmF0LmgJMjAxMS0wMS0wNSAyMzoyMjo0OS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9saW51eC1uYXQuaAkyMDExLTA1LTI1IDE3OjA1OjIxLjAw MDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvbGludXgtbmF0 LmgJMjAxMS0wMS0wNSAyMzoyMjo0OS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIw MTEwNzAzL2dkYi9saW51eC1uYXQuaAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIw MAogQEAgLTE0MCw2ICsxNDAsMTEgQEAgc3RydWN0IGx3cF9pbmZvICppdGVyYXRlX292ZXJfbHdw cyAocHRpZAogIAkJCQkJCSAgICAgdm9pZCAqKSwgCiAgCQkJCSAgICB2b2lkICpkYXRhKTsKQEAg LTU3NTAsMTAgKzU3NDcsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2xpbnV4 LW5hdC5oCiAgLyogQ3JlYXRlIGEgcHJvdG90eXBlIGdlbmVyaWMgR05VL0xpbnV4IHRhcmdldC4g IFRoZSBjbGllbnQgY2FuCiAgICAgb3ZlcnJpZGUgaXQgd2l0aCBsb2NhbCBtZXRob2RzLiAgKi8K ICBzdHJ1Y3QgdGFyZ2V0X29wcyAqIGxpbnV4X3RhcmdldCAodm9pZCk7Ci1JbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvbWFjaG9yZWFkLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAz L2dkYi9tYWNob3JlYWQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3Jp Zy9nZGIvbWFjaG9yZWFkLmMJMjAxMS0wMy0wNyAxNzoxNzoyOS4wMDAwMDAwMDAgKzAxMDAKLSsr KyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9tYWNob3JlYWQuYwkyMDExLTA1LTI1IDE3OjA1OjIx LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvbWFjaG9y ZWFkLmMJMjAxMS0wMy0wNyAxNzoxNzoyOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNzAzL2dkYi9tYWNob3JlYWQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCAr MDIwMAogQEAgLTg0OSw2ICs4NDksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgbWFj aG9fc3ltX2ZuCiAgICBkZWZhdWx0X3N5bWZpbGVfc2VnbWVudHMsCS8qIEdldCBzZWdtZW50IGlu Zm9ybWF0aW9uIGZyb20gYSBmaWxlLiAgKi8KICAgIE5VTEwsCkBAIC01NzYyLDEwICs1NzU5LDEw IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9tYWNob3JlYWQuYwogICAgJnBzeW1f ZnVuY3Rpb25zCiAgfTsKICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9tYWluLmMK K0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9tYWluLmMKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL21haW4uYwkyMDExLTAzLTA3IDE5OjM0OjMxLjAw MDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL21haW4uYwkyMDExLTA1 LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3Jp Zy9nZGIvbWFpbi5jCTIwMTEtMDMtMDcgMTk6MzQ6MzEuMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuMi45MC4yMDExMDcwMy9nZGIvbWFpbi5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAw ICswMjAwCiBAQCAtMzksNiArMzksNyBAQAogIAogICNpbmNsdWRlICJpbnRlcnBzLmgiCkBAIC01 OTEzLDEwICs1OTEwLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9tYWluLmMK ICAgIC0tcXVpZXQgICAgICAgICAgICBEbyBub3QgcHJpbnQgdmVyc2lvbiBudW1iZXIgb24gc3Rh cnR1cC5cblwKICAgIC0tcmVhZG5vdyAgICAgICAgICBGdWxseSByZWFkIHN5bWJvbCBmaWxlcyBv biBmaXJzdCBhY2Nlc3MuXG5cCiAgIiksIHN0cmVhbSk7Ci1JbmRleDogZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvbWkvbWktY21kLXZhci5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIv bWkvbWktY21kLXZhci5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmln L2dkYi9taS9taS1jbWQtdmFyLmMJMjAxMS0wMS0xMiAyMjowOTozOS4wMDAwMDAwMDAgKzAxMDAK LSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9taS9taS1jbWQtdmFyLmMJMjAxMS0wNS0yNSAx NzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2Ri L21pL21pLWNtZC12YXIuYwkyMDExLTAxLTEyIDIyOjA5OjM5LjAwMDAwMDAwMCArMDEwMAorKysr IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL21pL21pLWNtZC12YXIuYwkyMDExLTA3LTAzIDEwOjMz OjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTcwNyw3ICs3MDcsNiBAQCBtaV9jbWRfdmFyX3VwZGF0 ZSAoY2hhciAqY29tbWFuZCwgY2hhciAqCiAgICAgIH0KICAgIGVsc2UKQEAgLTU5MjUsMTAgKzU5 MjIsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL21pL21pLWNtZC12YXIuYwog ICAgICAgIHN0cnVjdCB2YXJvYmogKnZhciA9IHZhcm9ial9nZXRfaGFuZGxlIChuYW1lKTsKICAK ICAgICAgICB2YXJvYmpfdXBkYXRlX29uZSAodmFyLCBwcmludF92YWx1ZXMsIDEgLyogZXhwbGlj aXQgKi8pOwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL21pcHNyZWFkLmMKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9taXBzcmVhZC5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9taXBzcmVhZC5jCTIwMTEtMDMtMDcgMTc6MTc6Mjku MDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbWlwc3JlYWQuYwky MDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3 MDMub3JpZy9nZGIvbWlwc3JlYWQuYwkyMDExLTAzLTA3IDE3OjE3OjI5LjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL21pcHNyZWFkLmMJMjAxMS0wNy0wMyAxMDoz MzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00MDIsNiArNDAyLDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBzeW1fZm5zIGVjb2ZmX3N5bV9mbgogICAgZGVmYXVsdF9zeW1maWxlX3NlZ21lbnRzLAkv KiBHZXQgc2VnbWVudCBpbmZvcm1hdGlvbiBmcm9tIGEgZmlsZS4gICovCiAgICBOVUxMLApAQCAt NTkzNywxMCArNTkzNCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbWlwc3Jl YWQuYwogICAgJnBzeW1fZnVuY3Rpb25zCiAgfTsKICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9vYmpmaWxlcy5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvb2JqZmls ZXMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvb2JqZmls ZXMuYwkyMDExLTA0LTI1IDIzOjI1OjE4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL29iamZpbGVzLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAy MDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL29iamZpbGVzLmMJMjAxMS0wNC0y NSAyMzoyNToxOC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9v YmpmaWxlcy5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtODQ2LDYg Kzg0NiwxMSBAQCBvYmpmaWxlX3JlbG9jYXRlMSAoc3RydWN0IG9iamZpbGUgKm9iamZpCiAgCQkJ CW9ial9zZWN0aW9uX2FkZHIgKHMpKTsKICAgICAgfQpAQCAtNTk1MywxMCArNTk1MCwxMCBAQCBJ bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvb2JqZmlsZXMuYwogICAgLyogRGF0YSBjaGFu Z2VkLiAgKi8KICAgIHJldHVybiAxOwogIH0KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9wLXZhbHByaW50LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9wLXZhbHByaW50 LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3AtdmFscHJp bnQuYwkyMDExLTAzLTE1IDE3OjAwOjU2LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3AtdmFscHJpbnQuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCAr MDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvcC12YWxwcmludC5jCTIwMTEt MDMtMTUgMTc6MDA6NTYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9n ZGIvcC12YWxwcmludC5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAt MzksNiArMzksNyBAQAogICNpbmNsdWRlICJjcC1hYmkuaCIKICAjaW5jbHVkZSAiY3Atc3VwcG9y dC5oIgpAQCAtNjAzMywxMCArNjAzMCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvcC12YWxwcmludC5jCiAgICByZXR1cm4gKDApOwogIH0KICAMCi1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvcGFyc2UuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Bh cnNlLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3BhcnNl LmMJMjAxMS0wMy0yOCAyMjoyMTowMy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi9wYXJzZS5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCist LS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9wYXJzZS5jCTIwMTEtMDMtMjggMjI6MjE6 MDMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcGFyc2UuYwky MDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTE1MDIsNiArMTUwMiw3IEBA IHBhcnNlcl9mcHJpbnRmIChGSUxFICp4LCBjb25zdCBjaGFyICp5LCAKICAKICBpbnQKQEAgLTYx NDIsMTAgKzYxMzksMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3BhcnNlLmMK ICAKICB2b2lkCiAgX2luaXRpYWxpemVfcGFyc2UgKHZvaWQpCi1JbmRleDogZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvcGFyc2VyLWRlZnMuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L3BhcnNlci1kZWZzLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcv Z2RiL3BhcnNlci1kZWZzLmgJMjAxMS0wMS0xMCAyMTozODo0OS4wMDAwMDAwMDAgKzAxMDAKLSsr KyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9wYXJzZXItZGVmcy5oCTIwMTEtMDUtMjUgMTc6MDU6 MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9wYXJz ZXItZGVmcy5oCTIwMTEtMDEtMTAgMjE6Mzg6NDkuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDcwMy9nZGIvcGFyc2VyLWRlZnMuaAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAw MDAwMCArMDIwMAogQEAgLTE5NCw2ICsxOTQsOCBAQCBleHRlcm4gdm9pZCBvcGVyYXRvcl9sZW5n dGhfc3RhbmRhcmQgKGNvCiAgCQkJCSAgICAgIGludCAqKTsKICAKQEAgLTYxNzQsMTAgKzYxNzEs MTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3BhcnNlci1kZWZzLmgKICsjZW5k aWYKICsKICAjZW5kaWYgLyogUEFSU0VSX0RFRlNfSCAqLwotSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL3BwYy1saW51eC1uYXQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L3BwYy1saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3Jp Zy9nZGIvcHBjLWxpbnV4LW5hdC5jCTIwMTEtMDQtMTggMjM6Mjk6MTguMDAwMDAwMDAwICswMjAw Ci0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHBjLWxpbnV4LW5hdC5jCTIwMTEtMDUtMjUg MTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dk Yi9wcGMtbGludXgtbmF0LmMJMjAxMS0wNC0xOCAyMzoyOToxOC4wMDAwMDAwMDAgKzAyMDAKKysr KyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9wcGMtbGludXgtbmF0LmMJMjAxMS0wNy0wMyAxMDoz MzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xNjM3LDYgKzE2MzcsMTQgQEAgYm9va2VfcmVtb3Zl X3BvaW50IChzdHJ1Y3QgcHBjX2h3X2JyZWFrcAogICAgaHdfYnJlYWtzW2ldLmh3X2JyZWFrID0g TlVMTDsKICB9CkBAIC02MzIxLDEwICs2MzE4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9wcGMtbGludXgtbmF0LmMKICAgICAgfQogIAogICAgcmV0dXJuIHJldDsKLUluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9wcmludGNtZC5jCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDcwMy9nZGIvcHJpbnRjbWQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1 MjUub3JpZy9nZGIvcHJpbnRjbWQuYwkyMDExLTAzLTIyIDE1OjM5OjQwLjAwMDAwMDAwMCArMDEw MAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3ByaW50Y21kLmMJMjAxMS0wNS0yNSAxNzow NToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3By aW50Y21kLmMJMjAxMS0wMy0yMiAxNTozOTo0MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNzAzL2dkYi9wcmludGNtZC5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAw ICswMjAwCiBAQCAtOTc1LDYgKzk3NSwxMSBAQCBwcmludF9jb21tYW5kXzEgKGNoYXIgKmV4cCwg aW50IGluc3BlY3QsCiAgICBlbHNlCiAgICAgIHZhbCA9IGFjY2Vzc192YWx1ZV9oaXN0b3J5ICgw KTsKQEAgLTYzNzEsMTAgKzYzNjgsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3ByaW50Y21kLmMKICsgIG9ic2VydmVyX2F0dGFjaF9tYXJrX3VzZWQgKHByaW50X3R5cGVzX21h cmtfdXNlZCk7CiArI2VuZGlmCiAgfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5 dGhvbi9saWIvZ2RiL0ZyYW1lSXRlcmF0b3IucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAz L2dkYi9weXRob24vbGliL2dkYi9GcmFtZUl0ZXJhdG9yLnB5CiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rl di9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvRnJhbWVJdGVyYXRvci5weQkyMDExLTA1LTI1 IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3B5 dGhvbi9saWIvZ2RiL0ZyYW1lSXRlcmF0b3IucHkJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC0wLDAgKzEsMzMgQEAKICsjIEl0ZXJhdG9yIG92ZXIgZnJhbWVzLgogKwpA QCAtNjQwOSwxMCArNjQwNiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0 aG9uL2xpYi9nZGIvRnJhbWVJdGVyYXRvci5weQogKyAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVy YXRpb24KICsgICAgICAgIHNlbGYuZnJhbWUgPSByZXN1bHQub2xkZXIgKCkKICsgICAgICAgIHJl dHVybiByZXN1bHQKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dk Yi9GcmFtZVdyYXBwZXIucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9weXRob24v bGliL2dkYi9GcmFtZVdyYXBwZXIucHkKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9weXRob24vbGliL2dkYi9GcmFtZVdyYXBwZXIucHkJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAw MDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9weXRob24vbGliL2dkYi9G cmFtZVdyYXBwZXIucHkJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0w LDAgKzEsMTEyIEBACiArIyBXcmFwcGVyIEFQSSBmb3IgZnJhbWVzLgogKwpAQCAtNjUyNiwxMCAr NjUyMywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIv RnJhbWVXcmFwcGVyLnB5CiArCiArICAgIGRlZiBfX2dldGF0dHJfXyAoc2VsZiwgbmFtZSk6CiAr ICAgICAgICByZXR1cm4gZ2V0YXR0ciAoc2VsZi5mcmFtZSwgbmFtZSkKLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9iYWNrdHJhY2UucHkKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNzAzL2dkYi9weXRob24vbGliL2dkYi9iYWNrdHJhY2UucHkKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsr KyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9iYWNrdHJhY2UucHkJMjAx MS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAz L2dkYi9weXRob24vbGliL2dkYi9iYWNrdHJhY2UucHkJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAw MDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNDIgQEAKICsjIEZpbHRlcmluZyBiYWNrdHJhY2UuCiAr CkBAIC02NTczLDEwICs2NTcwLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9w eXRob24vbGliL2dkYi9iYWNrdHJhY2UucHkKICsgICAgICAgIHJldHVybiBpdGVyCiArICAgIHJl dHVybiBmcmFtZV9maWx0ZXIgKGl0ZXIpCiArCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9hbGlhcy5weQorSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA3MDMvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvYWxpYXMucHkKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0t LSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2FsaWFzLnB5CTIwMTEt MDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9n ZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9hbGlhcy5weQkyMDExLTA3LTAzIDEwOjMzOjExLjAw MDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw1OSBAQAogKyMgQWxpYXMgY29tbWFuZC4KICsKQEAg LTY2MzcsMTAgKzY2MzQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhv bi9saWIvZ2RiL2NvbW1hbmQvYWxpYXMucHkKICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJUaGlzIGNvbW1hbmQgaXMgYW4gYWxpYXMgZm9yICclcycuIiAlIHRhcmdldCkKICsKICtBbGlh c0NvbW1hbmQoKQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2Ri L2NvbW1hbmQvYmFja3RyYWNlLnB5CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0 aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2JhY2t0cmFjZS5weQkyMDExLTA1LTI1 IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3B5 dGhvbi9saWIvZ2RiL2NvbW1hbmQvYmFja3RyYWNlLnB5CTIwMTEtMDctMDMgMTA6MzM6MTEuMDAw MDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDEwNiBAQAogKyMgTmV3IGJhY2t0cmFjZSBjb21tYW5k LgogKwpAQCAtNjc0OCwxMCArNjc0NSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkKICsgICAgICAgICAgICBwYWly WzFdLmRlc2NyaWJlIChzeXMuc3Rkb3V0LCBmdWxsKQogKwogK0ZpbHRlcmluZ0JhY2t0cmFjZSgp Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9p Z25vcmVfZXJyb3JzLnB5CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xp Yi9nZGIvY29tbWFuZC9pZ25vcmVfZXJyb3JzLnB5CiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9pZ25vcmVfZXJyb3JzLnB5CTIwMTEtMDUt MjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIv cHl0aG9uL2xpYi9nZGIvY29tbWFuZC9pZ25vcmVfZXJyb3JzLnB5CTIwMTEtMDctMDMgMTA6MzM6 MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDM3IEBACiArIyBJZ25vcmUgZXJyb3JzIGlu IHVzZXIgY29tbWFuZHMuCiArCkBAIC02NzkwLDEwICs2Nzg3LDEwIEBAIEluZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2lnbm9yZV9lcnJvcnMucHkK ICsgICAgICAgICAgICBwYXNzCiArCiArSWdub3JlRXJyb3JzQ29tbWFuZCAoKQotSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvcGFob2xlLnB5CitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9wYWhv bGUucHkKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAw MDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9j b21tYW5kL3BhaG9sZS5weQkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysr IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvcGFob2xlLnB5 CTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDc1IEBACiAr IyBwYWhvbGUgY29tbWFuZCBmb3IgZ2RiCiArCkBAIC02ODcwLDEwICs2ODY3LDEwIEBAIEluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL3BhaG9sZS5w eQogKyAgICAgICAgc2VsZi5wYWhvbGUgKHR5cGUsIDAsICcnKQogKwogK1BhaG9sZSgpCi1JbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9yZXF1aXJl LnB5CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFu ZC9yZXF1aXJlLnB5CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6 MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xp Yi9nZGIvY29tbWFuZC9yZXF1aXJlLnB5CTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICsw MjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9y ZXF1aXJlLnB5CTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsx LDU3IEBACiArIyBEZW1hbmQtbG9hZGluZyBjb21tYW5kcy4KICsKQEAgLTY5MzIsMTAgKzY5Mjks MTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1h bmQvcmVxdWlyZS5weQogK1JlcXVpcmVDb21tYW5kKCkKICtSZXF1aXJlU3ViY29tbWFuZCgiY29t bWFuZCIpCiArUmVxdWlyZVN1YmNvbW1hbmQoImZ1bmN0aW9uIikKLUluZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL3VwdG8ucHkKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNzAzL2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL3VwdG8ucHkKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK LSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL3VwdG8u cHkJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIw MTEwNzAzL2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL3VwdG8ucHkJMjAxMS0wNy0wMyAxMDoz MzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMTI5IEBACiArIyB1cHRvIGNvbW1hbmQu CiArCkBAIC03MDY2LDE2ICs3MDYzLDE2IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9weXRob24vbGliL2dkYi9jb21tYW5kL3VwdG8ucHkKICtVcHRvU291cmNlQ29tbWFuZCAoKQog K1VwdG9PYmplY3RDb21tYW5kICgpCiArVXB0b1doZXJlQ29tbWFuZCAoKQotSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL19faW5pdF9fLnB5CitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vX19p bml0X18ucHkKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dk Yi9mdW5jdGlvbi9fX2luaXRfXy5weQkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIw MAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL19f aW5pdF9fLnB5CTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsx IEBACiArCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvZnVu Y3Rpb24vY2FsbGVyX2lzLnB5CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9u L2xpYi9nZGIvZnVuY3Rpb24vY2FsbGVyX2lzLnB5CiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vY2FsbGVyX2lzLnB5CTIwMTEtMDUtMjUg MTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0 aG9uL2xpYi9nZGIvZnVuY3Rpb24vY2FsbGVyX2lzLnB5CTIwMTEtMDctMDMgMTA6MzM6MTEuMDAw MDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDU4IEBACiArIyBDYWxsZXItaXMgZnVuY3Rpb25zLgog KwpAQCAtNzEzNSwxMCArNzEzMiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv cHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vY2FsbGVyX2lzLnB5CiArCiArQ2FsbGVySXMoKQogK0Nh bGxlck1hdGNoZXMoKQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIv Z2RiL2Z1bmN0aW9uL2luX3Njb3BlLnB5CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIv cHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vaW5fc2NvcGUucHkKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9pbl9zY29wZS5weQkyMDExLTA1 LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL2luX3Njb3BlLnB5CTIwMTEtMDctMDMgMTA6MzM6MTEu MDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDQ3IEBACiArIyBJbi1zY29wZSBmdW5jdGlvbi4K ICsKQEAgLTcxODcsMTAgKzcxODQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL2luX3Njb3BlLnB5CiArCXJldHVybiB3YW50ZWQgPT0g Zm91bmQKICsKICtJblNjb3BlICgpCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0 aG9uL3B5LXR5cGUuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3B5dGhvbi9weS10 eXBlLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3B5dGhv bi9weS10eXBlLmMJMjAxMS0wMS0yNiAyMTo1Mzo0NS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vcHktdHlwZS5jCTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9weXRob24v cHktdHlwZS5jCTIwMTEtMDEtMjYgMjE6NTM6NDUuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL3B5LXR5cGUuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAw MDAwMDAwMCArMDIwMAogQEAgLTI5LDYgKzI5LDggQEAKICAjaW5jbHVkZSAibGFuZ3VhZ2UuaCIK ICAjaW5jbHVkZSAidmVjLmgiCkBAIC03Mzg1LDEwICs3MzgyLDEwIEBAIEluZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9weXRob24vcHktdHlwZS5jCiAgfQogIAogIAwKLUluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vcHktdmFsdWUuYworSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA3MDMvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45 MC4yMDExMDUyNS5vcmlnL2dkYi9weXRob24vcHktdmFsdWUuYwkyMDExLTAzLTE4IDE3OjA5OjU3 LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9weS12 YWx1ZS5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45 MC4yMDExMDcwMy5vcmlnL2dkYi9weXRob24vcHktdmFsdWUuYwkyMDExLTAzLTE4IDE3OjA5OjU3 LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3B5dGhvbi9weS12 YWx1ZS5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMjgsNiArMjgs NyBAQAogICNpbmNsdWRlICJpbmZjYWxsLmgiCiAgI2luY2x1ZGUgImV4cHJlc3Npb24uaCIKQEAg LTc0MjgsMTAgKzc0MjUsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhv bi9weS12YWx1ZS5jCiAgfQogIAogIAwKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9w eXRob24vcHl0aG9uLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9weXRob24vcHl0 aG9uLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3B5dGhv bi9weXRob24uYwkyMDExLTAzLTE4IDA5OjQ0OjQ3LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9weXRob24uYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAw MDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvcHl0aG9uL3B5 dGhvbi5jCTIwMTEtMDctMDIgMjE6MzM6MTAuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDcwMy9nZGIvcHl0aG9uL3B5dGhvbi5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAw MDAwICswMjAwCiBAQCAtNDksOCArNDksMTEgQEAgc3RhdGljIGludCBnZGJweV9zaG91bGRfcHJp bnRfc3RhY2sgPSAxOwogICNpbmNsdWRlICJsaW5lc3BlYy5oIgogICNpbmNsdWRlICJzb3VyY2Uu aCIKQEAgLTc1MDcsMTAgKzc1MDQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3B5dGhvbi9weXRob24uYwogICAgeyAicGFyYW1ldGVyIiwgZ2RicHlfcGFyYW1ldGVyLCBNRVRI X1ZBUkFSR1MsCiAgICAgICJSZXR1cm4gYSBnZGIgcGFyYW1ldGVyJ3MgdmFsdWUiIH0sCiAgCi1J bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL3B5dGhvbi5oCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL3B5dGhvbi5oCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9weXRob24vcHl0aG9uLmgJMjAxMS0wMy0xNCAxNzow OTo1NC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24v cHl0aG9uLmgJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4y LjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3B5dGhvbi9weXRob24uaAkyMDExLTAzLTE0IDE3OjA5OjU0 LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3B5dGhvbi9weXRo b24uaAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTMyLDYgKzMyLDgg QEAgdm9pZCBldmFsX3B5dGhvbl9mcm9tX2NvbnRyb2xfY29tbWFuZCAocwogIAogIHZvaWQgc291 cmNlX3B5dGhvbl9zY3JpcHQgKEZJTEUgKnN0cmVhbSwgY29uc3QgY2hhciAqZmlsZSk7CkBAIC03 NTIwLDEwICs3NTE3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24v cHl0aG9uLmgKICBpbnQgYXBwbHlfdmFsX3ByZXR0eV9wcmludGVyIChzdHJ1Y3QgdHlwZSAqdHlw ZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAgCQkJICAgICAgaW50IGVtYmVkZGVkX29mZnNl dCwgQ09SRV9BRERSIGFkZHJlc3MsCiAgCQkJICAgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwg aW50IHJlY3Vyc2UsCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc29tcmVhZC5jCitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvc29tcmVhZC5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9zb21yZWFkLmMJMjAxMS0wMy0wNyAxNzoxNzoy OS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zb21yZWFkLmMJ MjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEw NzAzLm9yaWcvZ2RiL3NvbXJlYWQuYwkyMDExLTAzLTA3IDE3OjE3OjI5LjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3NvbXJlYWQuYwkyMDExLTA3LTAzIDEwOjMz OjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTQzOSw2ICs0MzksNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IHN5bV9mbnMgc29tX3N5bV9mbnMgCiAgICBkZWZhdWx0X3N5bWZpbGVfc2VnbWVudHMsCS8q IEdldCBzZWdtZW50IGluZm9ybWF0aW9uIGZyb20gYSBmaWxlLiAgKi8KICAgIE5VTEwsCkBAIC03 NTMyLDEwICs3NTI5LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zb21yZWFk LmMKICAgICZwc3ltX2Z1bmN0aW9ucwogIH07CiAgCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvc3RhY2suYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3N0YWNrLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3N0YWNrLmMJMjAxMS0w My0xOCAxOTo0ODo1Ni4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9zdGFjay5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcu Mi45MC4yMDExMDcwMy5vcmlnL2dkYi9zdGFjay5jCTIwMTEtMDMtMTggMTk6NDg6NTYuMDAwMDAw MDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvc3RhY2suYwkyMDExLTA3LTAz IDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTM2Niw2ICszNjYsNyBAQCBwcmludF9mcmFt ZV9hcmdzIChzdHJ1Y3Qgc3ltYm9sICpmdW5jLCBzCiAgCSAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpsYW5ndWFnZTsKQEAgLTc1NTgsMTAg Kzc1NTUsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N0YWNrLmMKICAJCSAg dWlfb3V0X2ZpZWxkX3N0cmVhbSAodWlvdXQsICJ2YWx1ZSIsIHN0Yik7CiAgCSAgICAgICAgfQog IAkgICAgICBlbHNlCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc3RhcC1wcm9iZS5j CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvc3RhcC1wcm9iZS5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysg Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc3RhcC1wcm9iZS5jCTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvc3RhcC1wcm9iZS5j CTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDIwNDEgQEAK ICsvKiBTeXN0ZW1UYXAgcHJvYmUgc3VwcG9ydCBmb3IgR0RCLgogKwpAQCAtOTYwNCwxMCArOTYw MSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc3RhcC1wcm9iZS5jCiArICBj cmVhdGVfaW50ZXJuYWx2YXJfdHlwZV9sYXp5ICgiX3Byb2JlX2FyZzkiLCAmcHJvYmVfZnVuY3Ms CiArCQkJCSh2b2lkICopICh1aW50cHRyX3QpIDkpOwogK30KLUluZGV4OiBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi9zdGFwLXByb2JlLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9z dGFwLXByb2JlLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zdGFwLXByb2Jl LmgJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIw MTEwNzAzL2dkYi9zdGFwLXByb2JlLmgJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAy MDAKIEBAIC0wLDAgKzEsMTA5IEBACiArLyogU3lzdGVtVGFwIHByb2JlIHN1cHBvcnQgZm9yIEdE Qi4KICsKQEAgLTk3MTgsMTAgKzk3MTUsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL3N0YXAtcHJvYmUuaAogKwkJCQkJICAgICAgIGludCBuKTsKICsKICsjZW5kaWYgLyogIWRl ZmluZWQgKFNUQVBfUFJPQkVfSCkgKi8KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9z eW1maWxlLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9zeW1maWxlLmgKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3N5bWZpbGUuaAkyMDExLTA0 LTI1IDIzOjI1OjE4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3N5bWZpbGUuaAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03 LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvc3ltZmlsZS5oCTIwMTEtMDQtMjUgMjM6MjU6MTguMDAw MDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvc3ltZmlsZS5oCTIwMTEt MDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMzEsNiArMzEsMTEgQEAgc3RydWN0 IG9iamZpbGU7CiAgc3RydWN0IG9ial9zZWN0aW9uOwogIHN0cnVjdCBvYnN0YWNrOwpAQCAtOTc5 OCwxMCArOTc5NSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc3ltZmlsZS5o CiAgICAvKiBUaGUgInF1aWNrIiAoYWthIHBhcnRpYWwpIHN5bWJvbCBmdW5jdGlvbnMgZm9yIHRo aXMgc3ltYm9sCiAgICAgICByZWFkZXIuICAqLwogICAgY29uc3Qgc3RydWN0IHF1aWNrX3N5bWJv bF9mdW5jdGlvbnMgKnFmOwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N5bXRhYi5j CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvc3ltdGFiLmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3N5bXRhYi5jCTIwMTEtMDUtMDYgMTc6MTM6 MzcuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc3ltdGFiLmMJ MjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEw NzAzLm9yaWcvZ2RiL3N5bXRhYi5jCTIwMTEtMDctMDIgMjI6MDM6NDMuMDAwMDAwMDAwICswMjAw CisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvc3ltdGFiLmMJMjAxMS0wNy0wMyAxMDozMzox MS4wMDAwMDAwMDAgKzAyMDAKIEBAIC03NzAsNiArNzcwLDcgQEAgaW5pdF9zYWwgKHN0cnVjdCBz eW10YWJfYW5kX2xpbmUgKnNhbCkKICAgIHNhbC0+ZW5kID0gMDsKICAgIHNhbC0+ZXhwbGljaXRf cGMgPSAwOwpAQCAtOTgxMCwxMCArOTgwNywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvc3ltdGFiLmMKICB9CiAgDAogIAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3N5bXRhYi5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvc3ltdGFiLmgKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3N5bXRhYi5oCTIwMTEtMDUt MDYgMTc6MTM6MzcuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv c3ltdGFiLmgJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4y LjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3N5bXRhYi5oCTIwMTEtMDUtMDYgMTc6MTM6MzcuMDAwMDAw MDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvc3ltdGFiLmgJMjAxMS0wNy0w MyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xMTE4LDYgKzExMTgsMTAgQEAgc3RydWN0 IHN5bXRhYl9hbmRfbGluZQogICAgQ09SRV9BRERSIGVuZDsKICAgIGludCBleHBsaWNpdF9wYzsK QEAgLTk4MjUsMTAgKzk4MjIsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N5 bXRhYi5oCiAgfTsKICAKICBleHRlcm4gdm9pZCBpbml0X3NhbCAoc3RydWN0IHN5bXRhYl9hbmRf bGluZSAqc2FsKTsKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLWZvby5TCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcw My9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci1mb28uUwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxh LXBvaW50ZXItZm9vLlMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2lu dGVyLWZvby5TCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsx LDQ1NyBAQAogKwkuZmlsZQkieDg2XzY0LXZsYS1wb2ludGVyLmMiCiArCS5zZWN0aW9uCS5kZWJ1 Z19hYmJyZXYsIiIsQHByb2diaXRzCkBAIC0xMDI4NywxMCArMTAyODQsMTAgQEAgSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50 ZXItZm9vLlMKICsJLnN0cmluZwkiR05VIEMgNC4zLjIgMjAwODExMDUgKFJlZCBIYXQgNC4zLjIt NykiCiArCS5pZGVudAkiR0NDOiAoR05VKSA0LjMuMiAyMDA4MTEwNSAoUmVkIEhhdCA0LjMuMi03 KSIKICsJLnNlY3Rpb24JLm5vdGUuR05VLXN0YWNrLCIiLEBwcm9nYml0cwotSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIu YworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZf NjQtdmxhLXBvaW50ZXIuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAw OjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCAr MDIwMAogQEAgLTAsMCArMSw0MyBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIs IHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMDMzNSwxMCArMTAzMzIsMTAgQEAgSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50 ZXIuYwogK30KICsKICsjZW5kaWYKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLmV4cAorSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuZXhwCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82 NC12bGEtcG9pbnRlci5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysr KyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1w b2ludGVyLmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCAr MSw2NiBAQAogKyMgQ29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CiArCkBAIC0xMDQwNiwxMCArMTA0MDMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuZXhwCiArCiArZ2RiX3Rl c3QgIndoYXRpcyAqYXJyYXkiICJ0eXBlID0gY2hhciBcXFxbNzhcXFxdIiAic2Vjb25kOiB3aGF0 aXMgKmFycmF5IgogK2dkYl90ZXN0ICJwdHlwZSAqYXJyYXkiICJ0eXBlID0gY2hhciBcXFxbNzhc XFxdIiAic2Vjb25kOiBwdHlwZSAqYXJyYXkiCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi1mb28uUworSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVk ZWYtZm9vLlMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLWZvby5TCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAw MDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNo L3g4Nl82NC12bGEtdHlwZWRlZi1mb28uUwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCAr MDIwMAogQEAgLTAsMCArMSw0NTUgQEAKICsJLmZpbGUJIng4Nl82NC12bGEtdHlwZWRlZi5jIgog Kwkuc2VjdGlvbgkuZGVidWdfYWJicmV2LCIiLEBwcm9nYml0cwpAQCAtMTA4NjYsMTAgKzEwODYz LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv eDg2XzY0LXZsYS10eXBlZGVmLWZvby5TCiArCS5zdHJpbmcJIkdOVSBDIDQuMy4yIDIwMDgxMTA1 IChSZWQgSGF0IDQuMy4yLTcpIgogKwkuaWRlbnQJIkdDQzogKEdOVSkgNC4zLjIgMjAwODExMDUg KFJlZCBIYXQgNC4zLjItNykiCiArCS5zZWN0aW9uCS5ub3RlLkdOVS1zdGFjaywiIixAcHJvZ2Jp dHMKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2 XzY0LXZsYS10eXBlZGVmLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3Vp dGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmMJMjAxMS0w NS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmMJMjAxMS0wNy0wMyAxMDoz MzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNDMgQEAKICsvKiBUaGlzIHRlc3RjYXNl IGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTA5MTQsMTAgKzEwOTEx LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv eDg2XzY0LXZsYS10eXBlZGVmLmMKICt9CiArCiArI2VuZGlmCi1JbmRleDogZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5leHAKK0lu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZs YS10eXBlZGVmLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAw OjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAw MDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5h cmNoL3g4Nl82NC12bGEtdHlwZWRlZi5leHAJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAg KzAyMDAKIEBAIC0wLDAgKzEsNjQgQEAKICsjIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTA5ODMsMTAgKzEwOTgwLDEwIEBAIEluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVm LmV4cAogK2dkYl90ZXN0ICJ3aGF0aXMgYXJyYXkiICJ0eXBlID0gYXJyYXlfdCIgInNlY29uZDog d2hhdGlzIGFycmF5IgogKwogK2dkYl90ZXN0ICJwdHlwZSBhcnJheSIgInR5cGUgPSBjaGFyIFxc XFs3OFxcXF0iICJzZWNvbmQ6IHB0eXBlIGFycmF5IgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5jCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlk eC5jCTIwMTEtMDEtMDEgMTY6MzM6NDAuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMJMjAxMS0wNS0yNSAxNzow NToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5jCTIwMTEtMDEtMDEgMTY6MzM6NDAuMDAwMDAwMDAw ICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Fy cmF5aWR4LmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xNyw2ICsx NywxMyBAQAogIAogIGludCBhcnJheVtdID0gezEsIDIsIDMsIDR9OwpAQCAtMTEwMDEsMTAgKzEw OTk4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvYXJyYXlpZHguYwogIGludAogIG1haW4gKHZvaWQpCiAgewotSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguZXhwCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvYXJyYXlpZHguZXhwCTIwMTEtMDEtMDEgMTY6MzM6NDAuMDAwMDAwMDAwICswMTAwCi0rKysg Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAky MDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3 MDMub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAkyMDExLTAxLTAxIDE2 OjMzOjQwLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAg KzAyMDAKIEBAIC01Nyw0ICs1NywxMiBAQCBnZGJfdGVzdCAicHJpbnQgYXJyYXkiIFwKICAgICAg ICAgICAiXFx7XFxcWzBcXFxdID0gMSwgXFxcWzFcXFxdID0gMiwgXFxcWzJcXFxdID0gMywgXFxc WzNcXFxdID0gNFxcfSIgXAogICAgICAgICAgICJQcmludCBhcnJheSB3aXRoIGFycmF5LWluZGV4 ZXMgb24iCkBAIC0xMTAxOSwxMCArMTEwMTYsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAKICsJdW5zdXBwb3J0ZWQgIiR0 ZXN0IChubyBHQ0MpIgogKyAgICB9CiArfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9kZWZhdWx0LmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3 MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kZWZhdWx0LmV4cAogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RlZmF1bHQuZXhw CTIwMTEtMDItMTUgMjI6MTc6NTIuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RlZmF1bHQuZXhwCTIwMTEtMDUtMjUgMTc6MDU6 MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvZGVmYXVsdC5leHAJMjAxMS0wMi0xNSAyMjoxNzo1Mi4wMDAwMDAwMDAg KzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGVm YXVsdC5leHAJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC02MDcsNiAr NjA3LDE3IEBAIGdkYl90ZXN0X2xpc3RfZXhhY3QgInNob3cgY29udmVuaWVuY2UiICIKICAJeyRf c2RhdGEgPSB2b2lkfSBcCiAgCXskX3NpZ2luZm8gPSB2b2lkfSBcCkBAIC0xMTA0MSwxMCArMTEw MzgsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9kZWZhdWx0LmV4cAogICAgICB9CiAgCiAgI3Rlc3Qgc2hvdyBkaXJlY3RvcmllcwotSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXIt ZmllbGQtYWRkcmVzcy5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmMKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFk ZHJlc3MuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIu OTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRk cmVzcy5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDIw IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4K ICsKQEAgLTExMDY2LDEwICsxMTA2MywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmMKICtzdHJ1 Y3QgewogKyAgaW50IGZpZWxkOwogK30gc3RhdGljc3RydWN0ID0geyAxIH07Ci1JbmRleDogZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVs ZC1hZGRyZXNzLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5leHAKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFk ZHJlc3MuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1h ZGRyZXNzLmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCAr MSwyNiBAQAogKyMgQ29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CiArCkBAIC0xMTA5NywxMCArMTEwOTQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5leHAKICsK ICtnZGJfdGVzdCB7c2V0ICR2YXJzdHJ1Y3QgPSBzdGF0aWNzdHJ1Y3R9CiArZ2RiX3Rlc3Qge3Ag JHZhcnN0cnVjdC5maWVsZH0gIiA9IDEiCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL3N0YXAtcHJvYmUuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3 MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGFwLXByb2JlLmMKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9iZS5jCTIwMTEtMDUt MjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL3N0YXAtcHJvYmUuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAw MDAwMCArMDIwMAogQEAgLTAsMCArMSw2OSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBv ZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMTE3MSwxMCArMTExNjgsMTAgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGFwLXByb2Jl LmMKICsgIG0xKCk7CiArICBtMigpOwogK30KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9iZS5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9iZS5leHAKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K IC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9iZS5leHAJ MjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEw NzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9iZS5leHAJMjAxMS0wNy0wMyAxMDoz MzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNzIgQEAKICsjIENvcHlyaWdodCAoQykg MjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTExMjQ4LDEwICsxMTI0 NSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L3N0YXAtcHJvYmUuZXhwCiArICAgIHJldHVybiAtMQogK30KICtzdGFwX3Rlc3QgIi1EVVNFX1BS T0JFUyIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv dmxhLW92ZXJmbG93LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvdmxhLW92ZXJmbG93LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmMJMjAxMS0wNS0yNSAxNzowNToyMS4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvdmxhLW92ZXJmbG93LmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0wLDAgKzEsMzAgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUg R05VIGRlYnVnZ2VyLgogKwpAQCAtMTEyODMsMTAgKzExMjgwLDEwIEBAIEluZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmMKICsKICsg IHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuZXhwCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rl di9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVyZmxvdy5leHAJMjAxMS0w NS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAkyMDExLTA3LTAzIDEwOjMzOjEx LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwxMDkgQEAKICsjIENvcHlyaWdodCAyMDA4IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTEzOTcsMTAgKzExMzk0LDEwIEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92 ZXJmbG93LmV4cAogK2dkYl90ZXN0ICJidCIgImluIFxbXiBcXSphYm9ydCBcXCguKiBpbiBtYWlu IFxcKC4qIiAiQmFja3RyYWNlIGFmdGVyIGFib3J0KCkiCiArCiArdmVyYm9zZSAtbG9nICJrYl9m b3VuZCBpbiBidCBhZnRlciBhYm9ydCgpID0gW2V4cHIgW21lbW9yeV92X3BhZ2VzX2dldF0gKiAk cGFnZXNpemUgLyAxMDI0XSIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvdmxhLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvdmxhLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvdmxhLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMJMjAx MS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNTUgQEAKICsvKiBU aGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTE0 NTcsMTAgKzExNDU0LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvdmxhLmMKICsgIGZvbyAoNzgpOwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhwCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS5leHAKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmV4 cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAx MTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhwCTIwMTEtMDctMDMgMTA6MzM6MTEu MDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDYyIEBACiArIyBDb3B5cmlnaHQgMjAwOCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTExNTI0LDEwICsxMTUyMSwxMCBAQCBJ bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS5leHAK ICtnZGJfdGVzdCAicCB0ZW1wMSIgIiA9ICcxJyA8cmVwZWF0cyA3OCB0aW1lcz4iICJzZWNvbmQ6 IHByaW50IHRlbXAxIgogK2dkYl90ZXN0ICJwIHRlbXAyIiAiID0gJzInIDxyZXBlYXRzIDc4IHRp bWVzPiIgInNlY29uZDogcHJpbnQgdGVtcDIiCiArZ2RiX3Rlc3QgInAgdGVtcDMiICIgPSAnMycg PHJlcGVhdHMgNDggdGltZXM+IiAic2Vjb25kOiBwcmludCB0ZW1wMyIKLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25leHRvdmVydGhyb3cuZXhwCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uZXh0b3ZlcnRocm93 LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvdGVzdHN1 aXRlL2dkYi5jcC9uZXh0b3ZlcnRocm93LmV4cAkyMDExLTAxLTAxIDE2OjMzOjQ0LjAwMDAwMDAw MCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbmV4 dG92ZXJ0aHJvdy5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBn ZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbmV4dG92ZXJ0aHJv dy5leHAJMjAxMS0wMS0wMSAxNjozMzo0NC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25leHRvdmVydGhyb3cuZXhwCTIwMTEtMDct MDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtNTMsNiArNTMsMTcgQEAgZ2RiX3Rlc3Rf bXVsdGlwbGUgInByaW50IF9VbndpbmRfRGVidWdIbwogICAgICB9CiAgfQpAQCAtMTE1NDYsMTAg KzExNTQzLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LmNwL25leHRvdmVydGhyb3cuZXhwCiAgICAgIHVuc3VwcG9ydGVkICJuZXh0b3ZlcnRocm93LmV4 cCBjb3VsZCBub3QgZmluZCBfVW53aW5kX0RlYnVnSG9vayIKICAgICAgcmV0dXJuIC0xCiAgfQot SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1i b3VuZC1sb2NsaXN0LlMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kdzItYm91bmQtbG9jbGlzdC5TCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuUwkyMDExLTA1 LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LlMJMjAxMS0wNy0wMyAxMDoz MzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjQ2IEBACiArLyogVGhpcyB0ZXN0Y2Fz ZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTExNzk3LDEwICsxMTc5 NCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5kd2Fy ZjIvZHcyLWJvdW5kLWxvY2xpc3QuUwogKwkuc3RyaW5nCQkiY2hhciIKICsuTHVpbnRfc3RyOgog Kwkuc3RyaW5nCQkidW5zaWduZWQgaW50IgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LmV4cAorSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0 LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdh cmYyL2R3Mi1ib3VuZC1sb2NsaXN0LmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3 Mi1ib3VuZC1sb2NsaXN0LmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAog QEAgLTAsMCArMSw1NCBAQAogKyMgQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCiArCkBAIC0xMTg1NiwxMCArMTE4NTMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LmV4cAog KwogKyMgVGhlIHJlZ2lzdGVyIGNvbnRhaW5zIHVucHJlZGljdGFibGUgdmFsdWUgLSB0aGUgYXJy YXkgc2l6ZS4KICtnZGJfdGVzdCAicHR5cGUgcmVnX3N0cmluZyIge3R5cGUgPSBjaGFyIFxbLT9b MC05XStcXX0KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3 YXJmMi9kdzItc3RyaXBwZWQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmMJMjAxMS0wNS0yNSAx NzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0 c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RyaXBwZWQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAw MDAwMCArMDIwMAogQEAgLTAsMCArMSw0MiBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBv ZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMTkwMywxMCArMTE5MDAsMTAgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJp cHBlZC5jCiArICBmdW5jMSAoMSwgMik7CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmV4cAor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1z dHJpcHBlZC5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kdzItc3RyaXBwZWQuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAw ICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIv ZHcyLXN0cmlwcGVkLmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAg LTAsMCArMSw3OSBAQAogKyMgQ29weXJpZ2h0IDIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCiArCkBAIC0xMTk4NywxMCArMTE5ODQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5leHAKICtnZGJfdGVz dCAic3RlcCIgXAogKyAgICAgICAgICJmdW5jLiogXFwoLipcXCkgYXQgLioiIFwKICsgICAgICAg ICAic3RlcCIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3 YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0aW9uLlMKK0luZGV4OiBnZGItNy4yLjkw LjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRh LWxvY2F0aW9uLlMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0aW9uLlMJMjAxMS0wNS0yNSAx NzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0 c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0aW9uLlMJMjAxMS0w Ny0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsODMgQEAKICsvKiBUaGlz IHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTIwNzUs MTAgKzEyMDcyLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0CiArCiArCS5ieXRlCQkweDAJ CQkvKiBUZXJtaW5hdG9yICovCiArCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICovCi1JbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVj dC1tZW1iZXItZGF0YS1sb2NhdGlvbi5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dk Yi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0aW9uLmV4 cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYy L2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5leHAJMjAxMS0wNy0wMyAx MDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMzcgQEAKICsjIENvcHlyaWdodCAy MDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTIxMTcsMTAgKzEyMTE0 LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0CiArY2xlYW5fcmVzdGFydCAkYmluZmlsZQog KwogK2dkYl90ZXN0ICJwdHlwZSBzdHJ1Y3Qgc29tZV9zdHJ1Y3QiICJ0eXBlID0gc3RydWN0IHNv bWVfc3RydWN0IHtcW1xyXG4gXHRcXSp2b2lkIGZpZWxkO1xbXHJcbiBcdFxdKn0iCi1JbmRleDog Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlk ZS5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vZHdhcmYtc3RyaWRlLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5leHAJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAg KzAyMDAKIEBAIC0wLDAgKzEsNDIgQEAKICsjIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTIxNjQsMTAgKzEyMTYxLDEwIEBAIEluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4 cAogK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJicmVhay1oZXJlIiAiLipicmVhay1oZXJl LioiCiArZ2RiX3Rlc3QgInAgYzQwcHQoMSkiICIgPSAnMC1oZWxsby4qIgogK2dkYl90ZXN0ICJw IGM0MHB0KDIpIiAiID0gJzEtaGVsbG8uKiIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmY5MAorSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZjkwCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3 YXJmLXN0cmlkZS5mOTAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRl LmY5MAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw0MCBA QAogKyEgQ29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpA QCAtMTIyMDksMTAgKzEyMjA2LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmY5MAogKyAgcHJpbnQgKiwgYzQwcHQg ICEgYnJlYWstaGVyZQogKwogK2VuZCBwcm9ncmFtIHJlcHJvCi1JbmRleDogZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUtc3R1 Yi5mOTAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vZHluYW1pYy1vdGhlci1mcmFtZS1zdHViLmY5MAogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZyYW1lLXN0dWIu ZjkwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4y MDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUtc3R1 Yi5mOTAJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjQg QEAKICshIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEK QEAgLTEyMjM4LDEwICsxMjIzNSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUtc3R1Yi5mOQogKyAgcmVh bCA6OiBkdW1teQogKyAgZHVtbXkgPSAxCiArZW5kIHN1YnJvdXRpbmUgYmFyCi1JbmRleDogZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXIt ZnJhbWUuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwCTIw MTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcw My9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwCTIwMTEt MDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDM3IEBACiArIyBDb3B5 cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEyMjgwLDEw ICsxMjI3NywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwCiArfQogKwogK2dkYl90ZXN0ICJidCIg e2ZvbyBcKHN0cmluZz0naGVsbG8nLip9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkwCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXIt ZnJhbWUuZjkwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAw MDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkwCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAw MDAwICswMjAwCiBAQCAtMCwwICsxLDM2IEBACiArISBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KICshCkBAIC0xMjMyMSwxMCArMTIzMTgsMTAgQEAgSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90 aGVyLWZyYW1lLmY5MAogKyAgZW5kIGludGVyZmFjZQogKyAgY2FsbCBmb28gKCdoZWxsbycpCiAr ZW5kCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2R5bmFtaWMuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2R5bmFtaWMuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAw MDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2R5bmFtaWMuZXhwCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBA QCAtMCwwICsxLDE0NSBAQAogKyMgQ29weXJpZ2h0IDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCiArCkBAIC0xMjQ3MSwxMCArMTI0NjgsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmV4cAogK2dkYl90ZXN0 ICJwIHZhcnQoMyw4KSIgIlxcJFxbMC05XF0qID0gOSIKICsjIG1hcHMgdG8gZm9vOjp2YXJ5KDEs MykKICtnZGJfdGVzdCAicCB2YXJ0KDIsOSkiICJcXCRcWzAtOVxdKiA9IDEwIgotSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5MAor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5h bWljLmY5MAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9keW5hbWljLmY5MAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAor KysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWlj LmY5MAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw5OCBA QAogKyEgQ29weXJpZ2h0IDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpA QCAtMTI1NzQsMTAgKzEyNTcxLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5mOTAKICsgIGlmICh4ICgxLCAxKSAubmUuIDgg Lm9yLiB4ICgyLCAyKSAubmUuIDkgLm9yLiB4ICgxLCAyKSAubmUuIDQpIGNhbGwgYWJvcnQKICsg IGlmICh4ICgzLCAxKSAubmUuIDEwKSBjYWxsIGFib3J0CiArZW5kCi1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5leHAKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5nLmV4cAog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9z dHJpbmcuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5leHAJMjAxMS0w Ny0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNTkgQEAKICsjIENvcHly aWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTI2MzgsMTAg KzEyNjM1LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vc3RyaW5nLmV4cAogK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2YXItZmlu aXNoIgogK2dkYl90ZXN0ICJwIGUiICJcXCRcWzAtOVxdKiA9ICdlICAgJyIgInAgZSByZS1zZXQi CiArZ2RiX3Rlc3QgInAgZiIgIlxcJFxbMC05XF0qID0gXFwoXFwoICdmICAgJywgJ2YgICAnLCAn ZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJ1xcKSBcXCggJ2YyICAnLCAnZiAg ICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnXFwpIFxcKCAnZiAgICcs ICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICdcXCkgXFwpIiAi cCAqZiByZS1zZXQiCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3N0cmluZy5mOTAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5nLmY5MAogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwCTIwMTEtMDUtMjUgMTc6MDU6 MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3N0cmluZy5mOTAJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAy MDAKIEBAIC0wLDAgKzEsMzcgQEAKICshIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgogKyEKQEAgLTEyNjgwLDEwICsxMjY3NywxMCBAQCBJbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5mOTAKICsgIGgg PSAnaCcKICsgIGNhbGwgZm9vIChnLCBoKQogK2VuZAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZXhwCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJh bmdlLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIu OTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAJMjAxMS0w Ny0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNjAgQEAKICsjIENvcHly aWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTI3NDUsMTAg KzEyNzQyLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vc3VicmFuZ2UuZXhwCiArZGVsZXRlX2JyZWFrcG9pbnRzCiArZ2RiX3VubG9hZAog K2dkYl90ZXN0IHtwICRhICgzLCAyOjIpfSB7ID0gXCgyM1wpfQotSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5mOTAKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZjkw CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAw ICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3N1YnJhbmdlLmY5MAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5mOTAJ MjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjggQEAKICsh IENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTEy Nzc4LDEwICsxMjc3NSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmY5MAogKyAgcHRyID0+IGEKICsgIHdyaXRlICgqLCop IGEgICAgICAgICAgICAgICAgICEgYnJlYWstc3RhdGljCiArZW5kCi1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmdk Yi9zZWxmdGVzdC5leHAJMjAxMS0wNS0yNSAxNzowNDoyMS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAJMjAx MS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAz Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAkyMDExLTA3LTAzIDEwOjMz OjA3LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIw MAogQEAgLTkyLDYgKzkyLDEwIEBAIHByb2MgZG9fc3RlcHNfYW5kX25leHRzIHt9IHsKICAJCXNl dCBkZXNjcmlwdGlvbiAic3RlcCBvdmVyIHR0eWFyZyBpbml0aWFsaXphdGlvbiIKICAJCXNldCBj b21tYW5kICJzdGVwIgpAQCAtMTI3OTMsMTAgKzEyNzkwLDEwIEBAIEluZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAKICAJICAgIC1yZSAi LipwcmVfc3RhdF9jaGFpbiA9IG1ha2VfY29tbWFuZF9zdGF0c19jbGVhbnVwLiokZ2RiX3Byb21w dCAkIiB7CiAgCQlzZXQgZGVzY3JpcHRpb24gIm5leHQgb3ZlciBtYWtlX2NvbW1hbmRfc3RhdHNf Y2xlYW51cCBhbmQgZXZlcnl0aGluZyBpdCBjYWxscyIKICAJCXNldCBjb21tYW5kICJuZXh0Igot SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1z dGFsZS10eXBlLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2Ri Lm1pL21pMi12YXItc3RhbGUtdHlwZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUuYwkyMDExLTA1LTI1IDE3OjA1 OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0 ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC0wLDAgKzEsMjYgQEAKICsvKiBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEyODI0LDEwICsxMjgyMSwxMCBAQCBJbmRleDog Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5 cGUuYwogKwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmV4cAorSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmV4cAog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZh ci1zdGFsZS10eXBlLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysr IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10 eXBlLmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw1 NyBAQAogKyMgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAr IwpAQCAtMTI4ODYsMTAgKzEyODgzLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5leHAKICttaV9jcmVhdGVfdmFy b2JqICJ2bGEiICJ2bGEiICJjcmVhdGUgbG9jYWwgdmFyaWFibGUgdmxhIgogKwogK21pX2dkYl90 ZXN0ICItdmFyLXVwZGF0ZSAqIiAiXFxeZG9uZSxjaGFuZ2VsaXN0PS4qIiAiLXZhci11cGRhdGUg KiIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL3dh dGNocG9pbnQtbXVsdGkuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0 ZS9nZGIubXVsdGkvd2F0Y2hwb2ludC1tdWx0aS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS93YXRjaHBvaW50LW11bHRpLmMJMjAxMS0wNS0y NSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90 ZXN0c3VpdGUvZ2RiLm11bHRpL3dhdGNocG9pbnQtbXVsdGkuYwkyMDExLTA3LTAzIDEwOjMzOjEx LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw1OSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMg cGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMjk1MCwxMCArMTI5NDcsMTAg QEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvd2F0 Y2hwb2ludC1tdWx0aS5jCiArICBtYXJrZXJfZXhpdDIgKCk7CiArICByZXR1cm4gMDsKICt9Ci1J bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS93YXRjaHBv aW50LW11bHRpLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9n ZGIubXVsdGkvd2F0Y2hwb2ludC1tdWx0aS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL3dhdGNocG9pbnQtbXVsdGkuZXhwCTIwMTEtMDUt MjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIv dGVzdHN1aXRlL2dkYi5tdWx0aS93YXRjaHBvaW50LW11bHRpLmV4cAkyMDExLTA3LTAzIDEwOjMz OjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwxMTMgQEAKICsjIENvcHlyaWdodCAyMDEw IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTMwNDYsNyArMTMwNDMsNyBA QCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS93YXRj aHBvaW50LW11bHRpLmV4cAogKwlzZXR1cF9rZmFpbCBicmVha3BvaW50cy8xMjMxMiAqLSotKgog KwlwYXNzICR0ZXN0CiArICAgIH0KLSsgICAgLXJlICJIYXJkd2FyZSBhY2Nlc3MgXFwocmVhZC93 cml0ZVxcKSB3YXRjaHBvaW50IFxbMC05XF0rOiBjXHJcblxyXG5WYWx1ZSA9IDNcclxuKC4qIGlu ICk/X19ucHRsX2RlYXRoX2V2ZW50IC4qXHJcbiRnZGJfcHJvbXB0ICQiIHsKKysgICAgLXJlICJI YXJkd2FyZSBhY2Nlc3MgXFwocmVhZC93cml0ZVxcKSB3YXRjaHBvaW50IFxbMC05XF0rOiBjXHJc blxyXG5WYWx1ZSA9IDNcclxuKC4qIGluICk/XFwqPyhfX0dJXyk/X19ucHRsX2RlYXRoX2V2ZW50 IC4qXHJcbiRnZGJfcHJvbXB0ICQiIHsKICsJc2V0dXBfa2ZhaWwgYnJlYWtwb2ludHMvMTIzMTIg Ki0qLSoKICsJZmFpbCAkdGVzdAogKyAgICB9CkBAIC0xMzA2MiwxNiArMTMwNTksMTYgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvd2F0Y2hwb2lu dC1tdWx0aS5leHAKICsJc2V0dXBfa2ZhaWwgYnJlYWtwb2ludHMvMTIzMTIgKi0qLSoKICsJcGFz cyAkdGVzdAogKyAgICB9Ci0rICAgIC1yZSAiSGFyZHdhcmUgYWNjZXNzIFxcKHJlYWQvd3JpdGVc XCkgd2F0Y2hwb2ludCBcWzAtOVxdKzogYlxyXG5cclxuVmFsdWUgPSAyXHJcbiguKiBpbiApP19f bnB0bF9kZWF0aF9ldmVudCAuKlxyXG4kZ2RiX3Byb21wdCAkIiB7CisrICAgIC1yZSAiSGFyZHdh cmUgYWNjZXNzIFxcKHJlYWQvd3JpdGVcXCkgd2F0Y2hwb2ludCBcWzAtOVxdKzogYlxyXG5cclxu VmFsdWUgPSAyXHJcbiguKiBpbiApP1xcKj8oX19HSV8pP19fbnB0bF9kZWF0aF9ldmVudCAuKlxy XG4kZ2RiX3Byb21wdCAkIiB7CiArCXNldHVwX2tmYWlsIGJyZWFrcG9pbnRzLzEyMzEyICotKi0q CiArCWZhaWwgJHRlc3QKICsgICAgfQogK30KICsKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLWZ1bmMuYworSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVn aXN0ZXItZnVuYy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6 MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRl L2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci1mdW5jLmMJMjAxMS0wNS0yNSAxNzowNToyMS4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2Ri Lm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLWZ1bmMuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAw MDAwMCArMDIwMAogQEAgLTAsMCArMSwyMiBAQAogKy8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdE QiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTEzMDk1LDEwICsxMzA5MiwxMCBAQCBJbmRleDog Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdp c3Rlci1mdW5jLmMKICt7CiArICByZXR1cm4gYXJyWzBdOwogK30KLUluZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmMKK0lu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9t LXJlZ2lzdGVyLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUv Z2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAw MDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9h cnJheS1mcm9tLXJlZ2lzdGVyLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0wLDAgKzEsMjggQEAKICsvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUg ZGVidWdnZXIuCiArCkBAIC0xMzEyOCwxMCArMTMxMjUsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuYwogKwog KyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0 ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5leHAKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK LSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9t LXJlZ2lzdGVyLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0 ZXIuZXhwCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDMz IEBACiArIyBDb3B5cmlnaHQgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsj CkBAIC0xMzE2NiwxMCArMTMxNjMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwCiArIyBTZWVuIHJlZ3Jl c3Npb246CiArIyBBZGRyZXNzIHJlcXVlc3RlZCBmb3IgaWRlbnRpZmllciAiYXJyIiB3aGljaCBp cyBpbiByZWdpc3RlciAkcmRpCiArZ2RiX3Rlc3QgInAgYXJyXFswXF0iICJcXCRcWzAtOVxdKyA9 IDQyIgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2Fs L2FycmF5cy5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2Ri LnBhc2NhbC9hcnJheXMuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVz dHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAw MCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2Fs L2FycmF5cy5leHAJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAg KzEsMTA0IEBACiArIyBDb3B5cmlnaHQgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICsjCkBAIC0xMzI3NSwxMCArMTMyNzIsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5leHAKICt9CiArZ2RiX3Rl c3QgInByaW50IER5bkFyckNoYXIiICIuKiA9ICdhYmNkZWZnaGlqa2xtJyIgIlByaW50IGR5bmFt aWMgYXJyYXkgb2YgY2hhciIKICsKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0 c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMucGFzCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9n ZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLnBhcwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5wYXMJMjAxMS0wNS0yNSAx NzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0 c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMucGFzCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAw ICswMjAwCiBAQCAtMCwwICsxLDgyIEBACiArewogKyBDb3B5cmlnaHQgMjAwOCwgMjAwOSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTEzMzYyLDEwICsxMzM1OSwxMCBAQCBJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLnBh cwogKyAgcyA6PSAndGVzdCcjMCdzdHJpbmcnOwogKyAgd3JpdGVsbihzKTsgeyBzZXQgYnJlYWtw b2ludCAyIGhlcmUgfQogK2VuZC4KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0 c3VpdGUvZ2RiLnB5dGhvbi9weS1mcmFtZS5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAz L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1mcmFtZS5leHAKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1l LmV4cAkyMDExLTAyLTI2IDE1OjA2OjI4LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLmV4cAkyMDExLTA1LTI1 IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9n ZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWUuZXhwCTIwMTEtMDItMjYgMTU6MDY6Mjgu MDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dk Yi5weXRob24vcHktZnJhbWUuZXhwCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAw CiBAQCAtNzgsOCArNzgsNiBAQCBnZGJfdGVzdCAicHl0aG9uIHByaW50IGJmcmFtZSA9PSBnZGIu bmV3CiAgCiAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAncmVzdWx0ID0nLCBmMCA9PSBmMSIgIiA9 IEZhbHNlIiAidGVzdCBlcXVhbGl0eSBjb21wYXJpc29uIChmYWxzZSkiCkBAIC0xMzM4MSwxMCAr MTMzNzgsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5LWZyYW1lLmV4cAogIGdkYl90ZXN0ICJweXRob24gcHJpbnQgJ3Jlc3VsdCA9Jywg Z2RiLnNlbGVjdGVkX2ZyYW1lICgpID09IGYxIiAiID0gVHJ1ZSIgInRlc3QgZ2RiLnNlbGVjdGVk X2ZyYW1lIgogKwogK2dkYl90ZXN0ICJweXRob24gcHJpbnQgJ3Jlc3VsdCA9JywgZjAuYmxvY2sg KCkiICI8Z2RiLkJsb2NrIG9iamVjdCBhdCAweFxbXFs6eGRpZ2l0OlxdXF0rPiIgInRlc3QgRnJh bWUuYmxvY2siCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5w eXRob24vcHktdmFsdWUuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1 aXRlL2dkYi5weXRob24vcHktdmFsdWUuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4y MDExMDUyNS5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS12YWx1ZS5leHAJMjAxMS0w MS0wMSAxNjozMzo0OS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS12YWx1ZS5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4w MDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3Rlc3RzdWl0 ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAkyMDExLTAxLTAxIDE2OjMzOjQ5LjAwMDAwMDAwMCAr MDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5 LXZhbHVlLmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTMxOCw2 ICszMTgsMTUgQEAgcHJvYyB0ZXN0X3ZhbHVlX2FmdGVyX2RlYXRoIHt9IHsKICAgICAgInByaW50 IHZhbHVlJ3MgdHlwZSIKICB9CkBAIC0xMzQwOSwxMCArMTM0MDYsMTAgQEAgSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAogIAog ICMgVGhlIGZvbGxvd2luZyB0ZXN0IHJlY29tcGlsZXMgdGhlIGJpbmFyeSB0byB0ZXN0IGVpdGhl ciBDIG9yIEMrKwogICMgdmFsdWVzLiAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90 ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLWNoaWxkLmMKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3Jr LWNoaWxkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLWNoaWxkLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAw MDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvd2F0Y2hwb2ludC1mb3JrLWNoaWxkLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC0wLDAgKzEsMTI3IEBACiArLyogVGVzdCBjYXNlIGZvciBmb3Jnb3R0ZW4g aHctd2F0Y2hwb2ludHMgYWZ0ZXIgZm9yaygpLW9mZiBvZiBhIHByb2Nlc3MuCiArCkBAIC0xMzU0 MSwxMCArMTM1MzgsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0 ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmstY2hpbGQuYwogKyAgaSA9IHNpZ2FjdGlvbiAo U0lHVVNSMSwgJm9sZGFjdCwgTlVMTCk7CiArICBhc3NlcnQgKGkgPT0gMCk7CiArfQotSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50 LWZvcmstbXQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIu dGhyZWFkcy93YXRjaHBvaW50LWZvcmstbXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmstbXQuYwkyMDExLTA1 LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmstbXQuYwkyMDExLTA3LTAzIDEw OjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwxNzQgQEAKICsvKiBUZXN0IGNhc2Ug Zm9yIGZvcmdvdHRlbiBody13YXRjaHBvaW50cyBhZnRlciBmb3JrKCktb2ZmIG9mIGEgcHJvY2Vz cy4KICsKQEAgLTEzNzIwLDEwICsxMzcxNywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1tdC5jCiArICBtYXJr X2V4aXQgKCk7CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1wYXJlbnQuYworSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50 LWZvcmstcGFyZW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3Vp dGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLXBhcmVudC5jCTIwMTEtMDUtMjUgMTc6MDU6 MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRl L2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1wYXJlbnQuYwkyMDExLTA3LTAzIDEwOjMzOjEx LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw3NCBAQAogKy8qIFRlc3QgY2FzZSBmb3IgZm9y Z290dGVuIGh3LXdhdGNocG9pbnRzIGFmdGVyIGZvcmsoKS1vZmYgb2YgYSBwcm9jZXNzLgogKwpA QCAtMTM3OTksMTAgKzEzNzk2LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90 ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLXBhcmVudC5jCiArICAgICAgbWFy a2VyICgpOwogKyAgICB9CiArfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmstc3QuYworSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmstc3QuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93 YXRjaHBvaW50LWZvcmstc3QuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAor KysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBv aW50LWZvcmstc3QuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAs MCArMSw2MSBAQAogKy8qIFRlc3QgY2FzZSBmb3IgZm9yZ290dGVuIGh3LXdhdGNocG9pbnRzIGFm dGVyIGZvcmsoKS1vZmYgb2YgYSBwcm9jZXNzLgogKwpAQCAtMTM4NjUsMTAgKzEzODYyLDEwIEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0 Y2hwb2ludC1mb3JrLXN0LmMKICsgIG1hcmtfZXhpdCAoKTsKICsgIHJldHVybiAwOwogK30KLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hw b2ludC1mb3JrLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5leHAJMjAxMS0w NS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dk Yi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLmV4cAkyMDExLTA3LTAzIDEw OjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwxNDkgQEAKICsjIENvcHlyaWdodCAy MDA4LCAyMDA5LCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTQw MTksMTAgKzE0MDE2LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3Vp dGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLmV4cAogK30gZWxzZSB7CiArICAgIHVudGVz dGVkICJjaGlsZCIKICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRl L2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcw My9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5oCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysg Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQt Zm9yay5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5oCTIw MTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDMyIEBACiArLyog VGVzdCBjYXNlIGZvciBmb3Jnb3R0ZW4gaHctd2F0Y2hwb2ludHMgYWZ0ZXIgZm9yaygpLW9mZiBv ZiBhIHByb2Nlc3MuCiArCkBAIC0xNDA1NiwxMCArMTQwNTMsMTAgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuaAog KwogK2V4dGVybiB2b2lkIG1hcmtlciAodm9pZCk7CiArZXh0ZXJuIHZvaWQgZm9ya29mZiAoaW50 IG5yKTsKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRyYWNl L3N0YXAtdHJhY2UuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9n ZGIudHJhY2Uvc3RhcC10cmFjZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv dGVzdHN1aXRlL2dkYi50cmFjZS9zdGFwLXRyYWNlLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAw MDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLnRy YWNlL3N0YXAtdHJhY2UuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAg LTAsMCArMSw3MSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUg ZGVidWdnZXIuCiArCkBAIC0xNDEzMiwxMCArMTQxMjksMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudHJhY2Uvc3RhcC10cmFjZS5jCiArCiArICByZXR1 cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi50 cmFjZS9zdGFwLXRyYWNlLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3Rz dWl0ZS9nZGIudHJhY2Uvc3RhcC10cmFjZS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRyYWNlL3N0YXAtdHJhY2UuZXhwCTIwMTEtMDUtMjUgMTc6 MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1 aXRlL2dkYi50cmFjZS9zdGFwLXRyYWNlLmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAw MCArMDIwMAogQEAgLTAsMCArMSwxMjkgQEAKICsjIENvcHlyaWdodCAyMDExCiArIyBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTE0MjY2LDEwICsxNDI2MywxMCBAQCBJbmRleDog Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi50cmFjZS9zdGFwLXRyYWNlLmV4 cAogKwogKyMgRmluaXNoZWQhCiArZ2RiX3Rlc3QgInRmaW5kIG5vbmUiICIuKiIgIiIKLUluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAky MDExLTAzLTI1IDE0OjA4OjExLjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAw MCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9n ZGIuZXhwCTIwMTEtMDMtMjUgMTQ6MDg6MTEuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTEtMDctMDMgMTA6MzM6MTEu MDAwMDAwMDAwICswMjAwCiBAQCAtMTQxLDYgKzE0MSwxMSBAQCBwcm9jIGdkYl91bmxvYWQge30g ewogIAkgICAgc2VuZF9nZGIgInlcbiIKICAJICAgIGV4cF9jb250aW51ZQpAQCAtMTQyODIsMTAg KzE0Mjc5LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvbGli L2dkYi5leHAKICAJLXJlICJEaXNjYXJkIHN5bWJvbCB0YWJsZSBmcm9tIC4qeSBvciBuLiokIiB7 CiAgCSAgICBzZW5kX2dkYiAieVxuIgogIAkgICAgZXhwX2NvbnRpbnVlCi1JbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAJ MjAxMS0wMS0wMSAxNjozMzo1Mi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAw MDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9s aWIvcGFzY2FsLmV4cAkyMDExLTAxLTAxIDE2OjMzOjUyLjAwMDAwMDAwMCArMDEwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2FsLmV4cAkyMDExLTA3LTAz IDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTM3LDYgKzM3LDkgQEAgcHJvYyBwYXNjYWxf aW5pdCB7fSB7CiAgICAgIGdsb2JhbCBwYXNjYWxfY29tcGlsZXJfaXNfZnBjCiAgICAgIGdsb2Jh bCBncGNfY29tcGlsZXIKQEAgLTE0MzE3LDEwICsxNDMxNCwxMCBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCiAgICAgIH0KICAgICAgc2V0 IHBhc2NhbF9pbml0X2RvbmUgMQogIH0gICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi90aHJlYWQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3RocmVhZC5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi90aHJlYWQuYwkyMDExLTA0 LTE5IDE3OjI0OjQ5LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3RocmVhZC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcu Mi45MC4yMDExMDcwMy5vcmlnL2dkYi90aHJlYWQuYwkyMDExLTA0LTE5IDE3OjI0OjQ5LjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3RocmVhZC5jCTIwMTEtMDct MDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTQzOCw3ICsxNDM4LDggQEAgdXBkYXRl X3RocmVhZF9saXN0ICh2b2lkKQogICAgIG5vIHRocmVhZCBpcyBzZWxlY3RlZCwgb3Igbm8gdGhy ZWFkcyBleGlzdC4gICovCiAgCkBAIC0xNDM1NCwxMCArMTQzNTEsMTAgQEAgSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3RocmVhZC5jCiAtICBjcmVhdGVfaW50ZXJuYWx2YXJfdHlwZV9s YXp5ICgiX3RocmVhZCIsIHRocmVhZF9pZF9tYWtlX3ZhbHVlKTsKICsgIGNyZWF0ZV9pbnRlcm5h bHZhcl90eXBlX2xhenkgKCJfdGhyZWFkIiwgJnRocmVhZF9mdW5jcywgTlVMTCk7CiAgfQotSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3RvcC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDcwMy9nZGIvdG9wLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcv Z2RiL3RvcC5jCTIwMTEtMDMtMTIgMjM6NTk6MjQuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvdG9wLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAy MDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3RvcC5jCTIwMTEtMDMtMTIgMjM6 NTk6MjQuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdG9wLmMJ MjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zNDMsNiArMzQzLDkgQEAg dm9pZAogIHByZXBhcmVfZXhlY3V0ZV9jb21tYW5kICh2b2lkKQogIHsKQEAgLTE0MzY4LDEwICsx NDM2NSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdG9wLmMKICAKICAgIC8q IFdpdGggbXVsdGlwbGUgdGhyZWFkcyBydW5uaW5nIHdoaWxlIHRoZSBvbmUgd2UncmUgZXhhbWlu aW5nIGlzCiAgICAgICBzdG9wcGVkLCB0aGUgZGNhY2hlIGNhbiBnZXQgc3RhbGUgd2l0aG91dCB1 cyBiZWluZyBhYmxlIHRvIGRldGVjdAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Ry YWNlcG9pbnQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3RyYWNlcG9pbnQuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvdHJhY2Vwb2ludC5j CTIwMTEtMDUtMjAgMTY6Mzc6NDIuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvdHJhY2Vwb2ludC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAw CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi90cmFjZXBvaW50LmMJMjAxMS0wNy0w MiAyMTozMzoxMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90 cmFjZXBvaW50LmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xNjAz LDYgKzE2MDMsOCBAQCBzdGFydF90cmFjaW5nICh2b2lkKQogIAogICAgZm9yIChpeCA9IDA7IFZF Q19pdGVyYXRlIChicmVha3BvaW50X3AsIHRwX3ZlYywgaXgsIHQpOyBpeCsrKQpAQCAtMTQ0NTUs MTAgKzE0NDUyLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90cmFjZXBvaW50 LmMKICAKICAgIHRyYWNlZnJhbWVfbnVtYmVyID0gLTE7CiAgICB0cmFjZXBvaW50X251bWJlciA9 IC0xOwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3R5cGVwcmludC5jCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdHlwZXByaW50LmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3R5cGVwcmludC5jCTIwMTEtMDEtMTEgMjI6NTM6MjUu MDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdHlwZXByaW50LmMJ MjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEw NzAzLm9yaWcvZ2RiL3R5cGVwcmludC5jCTIwMTEtMDEtMTEgMjI6NTM6MjUuMDAwMDAwMDAwICsw MTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdHlwZXByaW50LmMJMjAxMS0wNy0wMyAx MDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zNiw2ICszNiw3IEBACiAgI2luY2x1ZGUgImdk Yl9zdHJpbmcuaCIKICAjaW5jbHVkZSAiZXhjZXB0aW9ucy5oIgpAQCAtMTQ1MTIsMTAgKzE0NTA5 LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90eXBlcHJpbnQuYwogIH0KICAK ICBzdGF0aWMgdm9pZAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3V0aWxzLmMKK0lu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi91dGlscy5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi91dGlscy5jCTIwMTEtMDUtMTcgMjM6MjY6MjguMDAw MDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdXRpbHMuYwkyMDExLTA1 LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3Jp Zy9nZGIvdXRpbHMuYwkyMDExLTA1LTE3IDIzOjI2OjI4LjAwMDAwMDAwMCArMDIwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA3MDMvZ2RiL3V0aWxzLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC0yMjQzLDYgKzIyNDMsMzYgQEAgc2V0X2JhdGNoX2ZsYWdfYW5kX21ha2Vf Y2xlYW51cF9yZXN0b3JlXwogICAgcmV0dXJuIGJhY2tfdG87CiAgfQpAQCAtMTQ1NTMsMTAgKzE0 NTUwLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi91dGlscy5jCiAgLyogU2V0 IHRoZSBzY3JlZW4gc2l6ZSBiYXNlZCBvbiBMSU5FU19QRVJfUEFHRSBhbmQgQ0hBUlNfUEVSX0xJ TkUuICAqLwogIAogIHN0YXRpYyB2b2lkCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv dmFsYXJpdGguYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3ZhbGFyaXRoLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3ZhbGFyaXRoLmMJMjAx MS0wMi0xOCAyMDoxMDo0Ni4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi92YWxhcml0aC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0g Z2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi92YWxhcml0aC5jCTIwMTEtMDItMTggMjA6MTA6 NDYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdmFsYXJpdGgu YwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTE5OCw3ICsxOTgsMTAg QEAgdmFsdWVfc3Vic2NyaXB0ZWRfcnZhbHVlIChzdHJ1Y3QgdmFsdWUgKgogICAgc3RydWN0IHR5 cGUgKmFycmF5X3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcnJheSkpOwogICAg c3RydWN0IHR5cGUgKmVsdF90eXBlID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9UQVJHRVRfVFlQRSAo YXJyYXlfdHlwZSkpOwpAQCAtMTQ1ODAsMTAgKzE0NTc3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi92YWxhcml0aC5jCiAgICByZXR1cm4gYmlub3BfdHlwZXNfdXNlcl9kZWZp bmVkX3AgKG9wLCB2YWx1ZV90eXBlIChhcmcxKSwgdmFsdWVfdHlwZSAoYXJnMikpOwogIH0KICAK LUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi92YWxvcHMuYworSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA3MDMvZ2RiL3ZhbG9wcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDEx MDUyNS5vcmlnL2dkYi92YWxvcHMuYwkyMDExLTAzLTI5IDE5OjA0OjMwLjAwMDAwMDAwMCArMDIw MAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3ZhbG9wcy5jCTIwMTEtMDUtMjUgMTc6MDU6 MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi92YWxv cHMuYwkyMDExLTAzLTI5IDE5OjA0OjMwLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAu MjAxMTA3MDMvZ2RiL3ZhbG9wcy5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAw CiBAQCAtNDcsNiArNDcsNyBAQAogICNpbmNsdWRlICJvYmpmaWxlcy5oIgogICNpbmNsdWRlICJz eW10YWIuaCIKQEAgLTE0NzM1LDEwICsxNDczMiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvdmFsb3BzLmMKICAgIGlmIChUWVBFX0NPREUgKGFycmF5X3R5cGUpID09IFRZUEVf Q09ERV9CSVRTVFJJTkcpCiAgICAgIHsKICAgICAgICBpbnQgaTsKLUluZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi92YWxwcmludC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIv dmFscHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIv dmFscHJpbnQuYwkyMDExLTA0LTI5IDIxOjIzOjA1LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3ZhbHByaW50LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAw MDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3ZhbHByaW50LmMJMjAx MS0wNC0yOSAyMToyMzowNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAz L2dkYi92YWxwcmludC5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAt MzYsNiArMzYsNyBAQAogICNpbmNsdWRlICJkZnAuaCIKICAjaW5jbHVkZSAicHl0aG9uL3B5dGhv bi5oIgpAQCAtMTQ4MDgsMTAgKzE0ODA1LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi92YWxwcmludC5jCiAgfQogIAogIC8qIFJlYWQgTEVOIGJ5dGVzIG9mIHRhcmdldCBtZW1v cnkgYXQgYWRkcmVzcyBNRU1BRERSLCBwbGFjaW5nIHRoZQotSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL3ZhbHVlLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi92YWx1ZS5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi92YWx1ZS5jCTIw MTEtMDItMjcgMjE6NTc6MTUuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvdmFsdWUuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdk Yi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvdmFsdWUuYwkyMDExLTAyLTI3IDIxOjU3OjE1LjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3ZhbHVlLmMJMjAxMS0w Ny0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00Myw2ICs0Myw3IEBACiAgI2luY2x1 ZGUgInB5dGhvbi9weXRob24uaCIKICAjaW5jbHVkZSA8Y3R5cGUuaD4KQEAgLTE1MDg3LDEwICsx NTA4NCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdmFsdWUuYwogKyAgb2Jz ZXJ2ZXJfYXR0YWNoX21hcmtfdXNlZCAodmFsdWVfdHlwZXNfbWFya191c2VkKTsKICsjZW5kaWYK ICB9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdmFsdWUuaAorSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA3MDMvZ2RiL3ZhbHVlLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIw MTEwNTI1Lm9yaWcvZ2RiL3ZhbHVlLmgJMjAxMS0wMy0wNCAyMTowNzoyMi4wMDAwMDAwMDAgKzAx MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi92YWx1ZS5oCTIwMTEtMDUtMjUgMTc6MDU6 MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi92YWx1 ZS5oCTIwMTEtMDMtMDQgMjE6MDc6MjIuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4y MDExMDcwMy9nZGIvdmFsdWUuaAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAog QEAgLTQ3Myw2ICs0NzMsMTAgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfZnJvbV9kZWNm bG9hdAogIAkJCQkJICBjb25zdCBnZGJfYnl0ZSAqZGVjYnl0ZXMpOwogIGV4dGVybiBzdHJ1Y3Qg dmFsdWUgKnZhbHVlX2Zyb21faGlzdG9yeV9yZWYgKGNoYXIgKiwgY2hhciAqKik7CkBAIC0xNTE1 OCwxMCArMTUxNTUsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3ZhbHVlLmgK ICAKICBleHRlcm4gc3RydWN0IGludGVybmFsdmFyICpsb29rdXBfaW50ZXJuYWx2YXIgKGNvbnN0 IGNoYXIgKm5hbWUpOwogIAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3dpbmRvd3Mt dGRlcC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvd2luZG93cy10ZGVwLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3dpbmRvd3MtdGRlcC5j CTIwMTEtMDEtMTIgMDI6MjM6MjkuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvd2luZG93cy10ZGVwLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAy MDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3dpbmRvd3MtdGRlcC5jCTIwMTEt MDEtMTIgMDI6MjM6MjkuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9n ZGIvd2luZG93cy10ZGVwLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBA IC0yNjgsNyArMjY4LDcgQEAgc3RhdGljIHN0cnVjdCBsdmFsX2Z1bmNzIHRsYl92YWx1ZV9mdW5j cwogICAgIGlmIHRoZXJlJ3Mgbm8gb2JqZWN0IGF2YWlsYWJsZS4gICovCiAgCkBAIC0xNTE5NCwx MCArMTUxOTEsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3dpbmRvd3MtdGRl cC5jCiAtICBjcmVhdGVfaW50ZXJuYWx2YXJfdHlwZV9sYXp5ICgiX3RsYiIsIHRsYl9tYWtlX3Zh bHVlKTsKICsgIGNyZWF0ZV9pbnRlcm5hbHZhcl90eXBlX2xhenkgKCJfdGxiIiwgJnRsYl9mdW5j cywgTlVMTCk7CiAgfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3hjb2ZmcmVhZC5j CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIveGNvZmZyZWFkLmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3hjb2ZmcmVhZC5jCTIwMTEtMDMtMDcg MTc6MTc6MjkuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIveGNv ZmZyZWFkLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4y LjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3hjb2ZmcmVhZC5jCTIwMTEtMDMtMDcgMTc6MTc6MjkuMDAw MDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIveGNvZmZyZWFkLmMJMjAx MS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zMDkwLDYgKzMwOTAsNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgeGNvZmZfc3ltX2ZuCiAgICBkZWZhdWx0X3N5bWZp bGVfc2VnbWVudHMsCS8qIEdldCBzZWdtZW50IGluZm9ybWF0aW9uIGZyb20gYSBmaWxlLiAgKi8K ICAgIGFpeF9wcm9jZXNzX2xpbmVub3MsCgpkaWZmIC0tZ2l0IGEvZ2RiLWJ6NzAxMTMxLXJlYWRs aW5lNjItMW9mMy5wYXRjaCBiL2dkYi1iejcwMTEzMS1yZWFkbGluZTYyLTFvZjMucGF0Y2gKaW5k ZXggZTkzZWJlMy4uNThiYTdiYyAxMDA2NDQKLS0tIGEvZ2RiLWJ6NzAxMTMxLXJlYWRsaW5lNjIt MW9mMy5wYXRjaAorKysgYi9nZGItYno3MDExMzEtcmVhZGxpbmU2Mi0xb2YzLnBhdGNoCkBAIC0x LDkgKzEsMTEgQEAKIGFyY2hlci1qYW5rcmF0b2NodmlsLXJlYWRsaW5lNjIKIGIxMzcwNmFiYmVl OTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIAotLS0tIGEvZ2RiL2NvbmZpZy5pbgotKysr IGIvZ2RiL2NvbmZpZy5pbgotQEAgLTk0Nyw5ICs5NDcsNiBAQAorSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA3MDMvZ2RiL2NvbmZpZy5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3 MDMub3JpZy9nZGIvY29uZmlnLmluCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAw CisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvY29uZmlnLmluCTIwMTEtMDctMDMgMTA6NDE6 MjEuMDAwMDAwMDAwICswMjAwCitAQCAtOTUzLDkgKzk1Myw2IEBACiAgLyogRGVmaW5lIHRvIGBp bnQnIGlmIDxzeXMvdHlwZXMuaD4gZG9lcyBub3QgZGVmaW5lLiAqLwogICN1bmRlZiBwaWRfdAog IApAQCAtMTMsOSArMTUsMTEgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0 ZjQzYQogIC8qIERlZmluZSB0byB0aGUgZXF1aXZhbGVudCBvZiB0aGUgQzk5ICdyZXN0cmljdCcg a2V5d29yZCwgb3IgdG8KICAgICBub3RoaW5nIGlmIHRoaXMgaXMgbm90IHN1cHBvcnRlZC4gIERv IG5vdCBkZWZpbmUgaWYgcmVzdHJpY3QgaXMKICAgICBzdXBwb3J0ZWQgZGlyZWN0bHkuICAqLwot LS0tIGEvZ2RiL2NvbmZpZ3VyZQotKysrIGIvZ2RiL2NvbmZpZ3VyZQotQEAgLTk3NDMsMzkgKzk3 NDMsNiBAQCBpZiB0ZXN0ICIkd2l0aF9zeXN0ZW1fcmVhZGxpbmUiID0geWVzOyB0aGVuCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvY29uZmlndXJlCis9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2Ri LTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9jb25maWd1cmUJMjAxMS0wNy0wMyAxMDo0MDo1My4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9jb25maWd1cmUJMjAx MS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xMDIzNSwzOSArMTAyMzUsNiBA QCBpZiB0ZXN0ICIkd2l0aF9zeXN0ZW1fcmVhZGxpbmUiID0geWVzOyB0CiAgICBSRUFETElORV9E RVBTPQogICAgUkVBRExJTkVfQ0ZMQUdTPQogICAgUkVBRExJTkVfVEVYSV9JTkNGTEFHPQpAQCAt NTUsOSArNTksMTEgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQog IGVsc2UKICAgIFJFQURMSU5FPSckKFJFQURMSU5FX0RJUikvbGlicmVhZGxpbmUuYScKICAgIFJF QURMSU5FX0RFUFM9JyQoUkVBRExJTkUpJwotLS0tIGEvZ2RiL2NvbmZpZ3VyZS5hYwotKysrIGIv Z2RiL2NvbmZpZ3VyZS5hYwotQEAgLTUzOSwyMSArNTM5LDYgQEAgaWYgdGVzdCAiJHdpdGhfc3lz dGVtX3JlYWRsaW5lIiA9IHllczsgdGhlbgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9n ZGIvY29uZmlndXJlLmFjCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysg Z2RiLTcuMi45MC4yMDExMDcwMy9nZGIvY29uZmlndXJlLmFjCTIwMTEtMDctMDMgMTA6NDE6MjEu MDAwMDAwMDAwICswMjAwCitAQCAtNzMyLDIxICs3MzIsNiBAQCBpZiB0ZXN0ICIkd2l0aF9zeXN0 ZW1fcmVhZGxpbmUiID0geWVzOyB0CiAgICBSRUFETElORV9ERVBTPQogICAgUkVBRExJTkVfQ0ZM QUdTPQogICAgUkVBRExJTkVfVEVYSV9JTkNGTEFHPQpAQCAtNzksOSArODUsMTEgQEAgYjEzNzA2 YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIGVsc2UKICAgIFJFQURMSU5FPSck KFJFQURMSU5FX0RJUikvbGlicmVhZGxpbmUuYScKICAgIFJFQURMSU5FX0RFUFM9JyQoUkVBRExJ TkUpJwotLS0tIGEvZ2RiL3R1aS90dWktaW8uYwotKysrIGIvZ2RiL3R1aS90dWktaW8uYwotQEAg LTEzMyw3ICsxMzMsNyBAQCBzdGF0aWMgRnVuY3Rpb24gKnR1aV9vbGRfcmxfZ2V0Y19mdW5jdGlv bjsKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90dWkvdHVpLWlvLmMKKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3R1aS90dWktaW8uYwkyMDExLTA3 LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L3R1aS90dWktaW8uYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAorQEAgLTEz Myw3ICsxMzMsNyBAQCBzdGF0aWMgRnVuY3Rpb24gKnR1aV9vbGRfcmxfZ2V0Y19mdW5jdGlvCiAg c3RhdGljIFZGdW5jdGlvbiAqdHVpX29sZF9ybF9yZWRpc3BsYXlfZnVuY3Rpb247CiAgc3RhdGlj IFZGdW5jdGlvbiAqdHVpX29sZF9ybF9wcmVwX3Rlcm1pbmFsOwogIHN0YXRpYyBWRnVuY3Rpb24g KnR1aV9vbGRfcmxfZGVwcmVwX3Rlcm1pbmFsOwpAQCAtOTAsNyArOTgsNyBAQCBiMTM3MDZhYmJl ZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgLyogUmVhZGxpbmUgb3V0cHV0IHN0 cmVhbS4KICAgICBTaG91bGQgYmUgcmVtb3ZlZCB3aGVuIHJlYWRsaW5lIGlzIGNsZWFuLiAgKi8K LUBAIC01MDYsOCArNTA2LDggQEAgdHVpX3JsX2Rpc3BsYXlfbWF0Y2hfbGlzdCAoY2hhciAqKm1h dGNoZXMsIGludCBsZW4sIGludCBtYXgpCitAQCAtNTA2LDggKzUwNiw4IEBAIHR1aV9ybF9kaXNw bGF5X21hdGNoX2xpc3QgKGNoYXIgKiptYXRjaGUKICB2b2lkCiAgdHVpX3NldHVwX2lvIChpbnQg bW9kZSkKICB7CkBAIC0xMjUsOCArMTMzLDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICAgICAgICBybF9hbHJlYWR5X3Byb21wdGVkID0gMDsKICAKICAgICAg ICAvKiBTYXZlIHR0eSBmb3IgU0lHQ09OVC4gICovCi0tLS0gYS9yZWFkbGluZS9DSEFOR0VMT0cK LSsrKyBiL3JlYWRsaW5lL0NIQU5HRUxPRworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVh ZGxpbmUvQ0hBTkdFTE9HCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmln L3JlYWRsaW5lL0NIQU5HRUxPRwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAor KysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvQ0hBTkdFTE9HCTIwMTEtMDctMDMgMTA6 NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtOTE4LDMgKzkxOCwxNzggQEAgY29uZmlndXJlLmlu CiAgCS0gY2hhbmdlZCByZWxlYXNlIHN0YXR1cyB0byBgcmVsZWFzZScKICAKQEAgLTMwNiw4ICsz MTYsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogKwkJCQkg ICAtLS0tLQogK3tleGFtcGxlcyxzaGxpYn0vTWFrZWZpbGUuaW4KICsJLSBDeWd3aW4tYmFzZWQg Y2hhbmdlcyBmcm9tIEVyaWMgQmxha2UgPGVibGFrZUByZWRoYXQuY29tPgotLS0tIGEvcmVhZGxp bmUvQ0hBTkdFUwotKysrIGIvcmVhZGxpbmUvQ0hBTkdFUworSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA3MDMvcmVhZGxpbmUvQ0hBTkdFUworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3 MDMub3JpZy9yZWFkbGluZS9DSEFOR0VTCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICsw MjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9DSEFOR0VTCTIwMTEtMDctMDMg MTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwzICsxLDMyMCBAQAogK1RoaXMgZG9jdW1l bnQgZGV0YWlscyB0aGUgY2hhbmdlcyBiZXR3ZWVuIHRoaXMgdmVyc2lvbiwgcmVhZGxpbmUtNi4y LAogK2FuZCB0aGUgcHJldmlvdXMgdmVyc2lvbiwgcmVhZGxpbmUtNi4xLgpAQCAtNjI5LDggKzY0 MSwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgVGhpcyBk b2N1bWVudCBkZXRhaWxzIHRoZSBjaGFuZ2VzIGJldHdlZW4gdGhpcyB2ZXJzaW9uLCByZWFkbGlu ZS01LjEsCiAgYW5kIHRoZSBwcmV2aW91cyB2ZXJzaW9uLCByZWFkbGluZS01LjAuCiAgCi0tLS0g YS9yZWFkbGluZS9DT1BZSU5HCi0rKysgYi9yZWFkbGluZS9DT1BZSU5HCitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDcwMy9yZWFkbGluZS9DT1BZSU5HCis9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45 MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL0NPUFlJTkcJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAw MDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL0NPUFlJTkcJMjAx MS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI4NSArMSw2MjYgQEAKIC0J CSAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogLQkJICAgICAgIFZlcnNpb24gMiwgSnVu ZSAxOTkxCkBAIC02NzIsMTQgKzY4NiwxNSBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAtdGhpcyBzZXJ2aWNlIGlmIHlvdSB3aXNoKSwgdGhhdCB5b3UgcmVjZWl2 ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0IGl0CiAtaWYgeW91IHdhbnQgaXQsIHRoYXQgeW91IGNh biBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQKIC1pbiBuZXcgZnJlZSBw cm9ncmFtczsgYW5kIHRoYXQgeW91IGtub3cgeW91IGNhbiBkbyB0aGVzZSB0aGluZ3MuCi0rdGhl bSBpZiB5b3Ugd2lzaCksIHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldCBp dCBpZiB5b3UKLSt3YW50IGl0LCB0aGF0IHlvdSBjYW4gY2hhbmdlIHRoZSBzb2Z0d2FyZSBvciB1 c2UgcGllY2VzIG9mIGl0IGluIG5ldwotK2ZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93 IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgotIAorLQogLSAgVG8gcHJvdGVjdCB5b3VyIHJpZ2h0 cywgd2UgbmVlZCB0byBtYWtlIHJlc3RyaWN0aW9ucyB0aGF0IGZvcmJpZAogLWFueW9uZSB0byBk ZW55IHlvdSB0aGVzZSByaWdodHMgb3IgdG8gYXNrIHlvdSB0byBzdXJyZW5kZXIgdGhlIHJpZ2h0 cy4KIC1UaGVzZSByZXN0cmljdGlvbnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxp dGllcyBmb3IgeW91IGlmIHlvdQogLWRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBzb2Z0d2FyZSwg b3IgaWYgeW91IG1vZGlmeSBpdC4KKyt0aGVtIGlmIHlvdSB3aXNoKSwgdGhhdCB5b3UgcmVjZWl2 ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0IGl0IGlmIHlvdQorK3dhbnQgaXQsIHRoYXQgeW91IGNh biBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CisrZnJlZSBw cm9ncmFtcywgYW5kIHRoYXQgeW91IGtub3cgeW91IGNhbiBkbyB0aGVzZSB0aGluZ3MuCisrCiAr ICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20g ZGVueWluZyB5b3UKICt0aGVzZSByaWdodHMgb3IgYXNraW5nIHlvdSB0byBzdXJyZW5kZXIgdGhl IHJpZ2h0cy4gIFRoZXJlZm9yZSwgeW91IGhhdmUKICtjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMg aWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBzb2Z0d2FyZSwgb3IgaWYKQEAgLTEzOTEs OSArMTQwNiw2IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIC10 aG9zZSBjb3VudHJpZXMsIHNvIHRoYXQgZGlzdHJpYnV0aW9uIGlzIHBlcm1pdHRlZCBvbmx5IGlu IG9yIGFtb25nCiAtY291bnRyaWVzIG5vdCB0aHVzIGV4Y2x1ZGVkLiAgSW4gc3VjaCBjYXNlLCB0 aGlzIExpY2Vuc2UgaW5jb3Jwb3JhdGVzCiAtdGhlIGxpbWl0YXRpb24gYXMgaWYgd3JpdHRlbiBp biB0aGUgYm9keSBvZiB0aGlzIExpY2Vuc2UuCi0tCi0tICA5LiBUaGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucwotLW9mIHRo ZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVy c2lvbnMgd2lsbAogK2V4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vu c2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCiArY292ZXJlZCB3b3JrIHNvIGFzIHRvIHNhdGlz Znkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzCiArTGljZW5zZSBh bmQgYW55IG90aGVyIHBlcnRpbmVudCBvYmxpZ2F0aW9ucywgdGhlbiBhcyBhIGNvbnNlcXVlbmNl IHlvdSBtYXkKQEAgLTE0MTQsNyArMTQyNiw5IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICtjb21iaW5hdGlvbiBhcyBzdWNoLgogKwogKyAgMTQuIFJldmlzZWQg VmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgotKworIAorLSAgOS4gVGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMKKy1vZiB0 aGUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4gIFN1Y2ggbmV3IHZl cnNpb25zIHdpbGwKICsgIFRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gbWF5IHB1Ymxpc2gg cmV2aXNlZCBhbmQvb3IgbmV3IHZlcnNpb25zIG9mCiArdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMgd2lsbAogIGJlIHNp bWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGlu IGRldGFpbCB0bwpAQCAtMTUxOCw3ICsxNTMyLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMw NTUyZGRkNjhkMWE0ZjQzYQogIAogICAgSWYgeW91IGRldmVsb3AgYSBuZXcgcHJvZ3JhbSwgYW5k IHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdAogIHBvc3NpYmxlIHVzZSB0byB0aGUg cHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKLUBAIC0y ODcsMTUgKzYyOCwxNSBAQCBmcmVlIHNvZnR3YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3Ry aWJ1dGUgYW5kIGNoYW5nZSB1bmRlciB0aGVzZSB0ZXJtcy4KK0BAIC0yODcsMTUgKzYyOCwxNSBA QCBmcmVlIHNvZnR3YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3RyCiAgCiAgICBUbyBkbyBz bywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gIEl0IGlzIHNh ZmVzdAogIHRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRv IG1vc3QgZWZmZWN0aXZlbHkKQEAgLTE1MzgsNyArMTU1Miw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0 ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KICAKICAgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi1AQCAtMzA0LDM2ICs2NDUsMzAgQEAgdGhlICJjb3B5 cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91 bmQuCitAQCAtMzA0LDM2ICs2NDUsMzAgQEAgdGhlICJjb3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9p bnRlciB0byB3aAogICAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgogIAogICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQpAQCAtMTU5NCw4ICsxNjA4LDEwIEBAIGIxMzcwNmFiYmVl OTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICt0aGUgbGlicmFyeS4gIElmIHRoaXMgaXMg d2hhdCB5b3Ugd2FudCB0byBkbywgdXNlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwKICtQdWJsaWMg TGljZW5zZSBpbnN0ZWFkIG9mIHRoaXMgTGljZW5zZS4gIEJ1dCBmaXJzdCwgcGxlYXNlIHJlYWQK ICs8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+LgotLS0t IGEvcmVhZGxpbmUvQ2hhbmdlTG9nLmdkYgotKysrIGIvcmVhZGxpbmUvQ2hhbmdlTG9nLmdkYgor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvQ2hhbmdlTG9nLmdkYgorPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9DaGFuZ2VMb2cuZ2Ri CTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDEx MDcwMy9yZWFkbGluZS9DaGFuZ2VMb2cuZ2RiCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAw ICswMjAwCiBAQCAtMSwzICsxLDEyIEBACiArMjAxMS0wNC0zMCAgSmFuIEtyYXRvY2h2aWwgIDxq YW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgogKwpAQCAtMTYwNiwxMSArMTYyMiwxMyBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArCiArCUltcG9ydGVkIHJlYWRs aW5lIDYuMiwgYW5kIHVwc3RyZWFtIHBhdGNoIDAwMS4KICsKLSAyMDExLTAzLTA0ICBNaWNoYWVs IFNueWRlciAgPG1zbnlkZXJAdm13YXJlLmNvbT4KKyAyMDExLTA2LTI3ICBKYW4gS3JhdG9jaHZp bCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CiAgCi0gCSogYmluZC5jIChybF9mdW5jdGlv bl9kdW1wZXIpOiBGcmVlIGFsbG9jYXRlZCBtZW1vcnkuCi0tLS0gYS9yZWFkbGluZS9JTlNUQUxM Ci0rKysgYi9yZWFkbGluZS9JTlNUQUxMCisgCUF2b2lkIGZyZWUgZnJvbSBhIHNpZ25hbCBoYW5k bGVyLgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvSU5TVEFMTAorPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9JTlNUQUxMCTIwMTEt MDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9y ZWFkbGluZS9JTlNUQUxMCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAt MSw3ICsxLDcgQEAKICBCYXNpYyBJbnN0YWxsYXRpb24KICA9PT09PT09PT09PT09PT09PT0KQEAg LTE2MjAsOCArMTYzOCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRm NDNhCiAgCiAgVGhlIHNpbXBsZXN0IHdheSB0byBjb21waWxlIHJlYWRsaW5lIGlzOgogIAotLS0t IGEvcmVhZGxpbmUvTUFOSUZFU1QKLSsrKyBiL3JlYWRsaW5lL01BTklGRVNUCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9NQU5JRkVTVAorPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03 LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9NQU5JRkVTVAkyMDExLTA3LTAzIDEwOjQwOjUz LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvTUFOSUZF U1QJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zLDYgKzMsNyBAQAog ICMKICBkb2MJCWQKQEAgLTE2NzcsMjcgKzE2OTcsMjEgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUy MmMwNTUyZGRkNjhkMWE0ZjQzYQogICMgZm9ybWF0dGVkIGRvY3VtZW50YXRpb24sIGZyb20gTUFO SUZFU1QuZG9jCiAgZG9jL3JlYWRsaW5lLnBzCQlmCiAgZG9jL2hpc3RvcnkucHMJCWYKLS0tLSBh L3JlYWRsaW5lL01ha2VmaWxlLmluCi0rKysgYi9yZWFkbGluZS9NYWtlZmlsZS5pbgorSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvTWFrZWZpbGUuaW4KKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0t LSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvTWFrZWZpbGUuaW4JMjAxMS0wNy0w MyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRs aW5lL01ha2VmaWxlLmluCTIwMTEtMDctMDMgMTA6NDM6MzYuMDAwMDAwMDAwICswMjAwCiBAQCAt MSwyMCArMSwyMCBAQAogICMjIC0qLSB0ZXh0IC0qLSAjIwogICMgTWFzdGVyIE1ha2VmaWxlIGZv ciB0aGUgR05VIHJlYWRsaW5lIGxpYnJhcnkuCiAtIyBDb3B5cmlnaHQgKEMpIDE5OTQtMjAwNCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsjIENvcHlyaWdodCAoQykgMTk5NC0yMDA5 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotIAotLSMgVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLS0jIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5Ci0tIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAyLCBvciAoYXQgeW91ciBvcHRpb24pCi0tIyBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKICsjICAg VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKICsjICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICsjICAgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKICsjICAgKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAKLS0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotLSMgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLS0j IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKLS0jIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisr CiArIyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAogKyMgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKyMgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkBAIC0xNzA2LDYgKzE3MjAsMTYg QEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogKyMgICBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQogKyMgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3 LmdudS5vcmcvbGljZW5zZXMvPi4KICAKKy0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CistIyBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor LSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0 IHlvdXIgb3B0aW9uKQorLSMgYW55IGxhdGVyIHZlcnNpb24uCistCistIyBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0jIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCistIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCistIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorLQogLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKIC0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3Qs IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAtIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1w bGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMSBVU0EuCkBAIC0xNzMwLDcgKzE3 NTQsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgQ1RBR1Mg PSBjdGFncyAtdHcKICAKICBDRkxBR1MgPSBAQ0ZMQUdTQAotQEAgLTEwMCw4ICsxMDAsNiBAQCBH Q0NfTElOVF9DRkxBR1MgPSAkKFhDQ0ZMQUdTKSAkKEdDQ19MSU5UX0ZMQUdTKSBAQ0ZMQUdTQCBA TE9DQUxfQ0ZMQUdTQAorQEAgLTEwMCw4ICsxMDAsNiBAQCBHQ0NfTElOVF9DRkxBR1MgPSAkKFhD Q0ZMQUdTKSAkKEdDQ19MSU5UCiAgTElCUkFSWV9OQU1FID0gbGlicmVhZGxpbmUuYQogIFNUQVRJ Q19MSUJTID0gbGlicmVhZGxpbmUuYSBsaWJoaXN0b3J5LmEKICAKQEAgLTE3MzksNyArMTc2Myw3 IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAjIFRoZSBDIGNv ZGUgc291cmNlIGZpbGVzIGZvciB0aGlzIGxpYnJhcnkuCiAgQ1NPVVJDRVMgPSAkKHNyY2Rpcikv cmVhZGxpbmUuYyAkKHNyY2RpcikvZnVubWFwLmMgJChzcmNkaXIpL2tleW1hcHMuYyBcCiAgCSAg ICQoc3JjZGlyKS92aV9tb2RlLmMgJChzcmNkaXIpL3BhcmVucy5jICQoc3JjZGlyKS9ybHR0eS5j IFwKLUBAIC0xMDksMjYgKzEwNywyOCBAQCBDU09VUkNFUyA9ICQoc3JjZGlyKS9yZWFkbGluZS5j ICQoc3JjZGlyKS9mdW5tYXAuYyAkKHNyY2Rpcikva2V5bWFwcy5jIFwKK0BAIC0xMDksMjYgKzEw NywyOCBAQCBDU09VUkNFUyA9ICQoc3JjZGlyKS9yZWFkbGluZS5jICQoc3JjZGlyCiAgCSAgICQo c3JjZGlyKS9kaXNwbGF5LmMgJChzcmNkaXIpL3NpZ25hbHMuYyAkKHNyY2RpcikvZW1hY3Nfa2V5 bWFwLmMgXAogIAkgICAkKHNyY2Rpcikvdmlfa2V5bWFwLmMgJChzcmNkaXIpL3V0aWwuYyAkKHNy Y2Rpcikva2lsbC5jIFwKICAJICAgJChzcmNkaXIpL3VuZG8uYyAkKHNyY2RpcikvbWFjcm8uYyAk KHNyY2RpcikvaW5wdXQuYyBcCkBAIC0xODAzLDcgKzE4MjcsNyBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgbGludDoJZm9yY2UKICAJJChNQUtFKSAkKE1G TEFHUykgQ0NGTEFHUz0nJChHQ0NfTElOVF9DRkxBR1MpJyBzdGF0aWMKLUBAIC0yMDAsNiArMTk2 LDcgQEAgc3RhbXAtaDogY29uZmlnLnN0YXR1cyAkKHNyY2RpcikvY29uZmlnLmguaW4KK0BAIC0y MDAsNiArMTk2LDcgQEAgc3RhbXAtaDogY29uZmlnLnN0YXR1cyAkKHNyY2RpcikvY29uZmlnLgog ICMkKHNyY2RpcikvY29uZmlndXJlOiAkKHNyY2RpcikvY29uZmlndXJlLmluCSMjIENvbW1lbnQt bWUtb3V0IGluIGRpc3RyaWJ1dGlvbgogICMJY2QgJChzcmNkaXIpICYmIGF1dG9jb25mCSMjIENv bW1lbnQtbWUtb3V0IGluIGRpc3RyaWJ1dGlvbgogIApAQCAtMTg0OSw3ICsxODczLDcgQEAgYjEz NzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAktJChNVikgJChERVNURElS KSQobGliZGlyKS9saWJyZWFkbGluZS5hICQoREVTVERJUikkKGxpYmRpcikvbGlicmVhZGxpbmUu b2xkCiAgCSQoSU5TVEFMTF9EQVRBKSBsaWJyZWFkbGluZS5hICQoREVTVERJUikkKGxpYmRpcikv bGlicmVhZGxpbmUuYQogIAktdGVzdCAtbiAiJChSQU5MSUIpIiAmJiAkKFJBTkxJQikgJChERVNU RElSKSQobGliZGlyKS9saWJyZWFkbGluZS5hCi1AQCAtMjUwLDcgKzI0Nyw3IEBAIGluc3RhbGxk aXJzOiAkKHNyY2Rpcikvc3VwcG9ydC9ta2luc3RhbGxkaXJzCitAQCAtMjUwLDcgKzI0Nyw3IEBA IGluc3RhbGxkaXJzOiAkKHNyY2Rpcikvc3VwcG9ydC9ta2luc3RhbGwKICAJCSQoREVTVERJUikk KGluY2x1ZGVkaXIpL3JlYWRsaW5lICQoREVTVERJUikkKGxpYmRpcikgXAogIAkJJChERVNURElS KSQoaW5mb2RpcikgJChERVNURElSKSQobWFuM2RpcikKICAKQEAgLTE4NTgsNyArMTg4Miw3IEBA IGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAJLXRlc3QgLW4gIiQo REVTVERJUikkKGxpYmRpcikiICYmIGNkICQoREVTVERJUikkKGxpYmRpcikgJiYgXAogIAkJJHtS TX0gbGlicmVhZGxpbmUuYSBsaWJyZWFkbGluZS5vbGQgbGliaGlzdG9yeS5hIGxpYmhpc3Rvcnku b2xkICQoU0hBUkVEX0xJQlMpCiAgCS0oIGNkIHNobGliOyAke01BS0V9ICR7TUZMQUdTfSBERVNU RElSPSR7REVTVERJUn0gdW5pbnN0YWxsICkKLUBAIC0yNjEsNiArMjU4LDEyIEBAIGluc3RhbGwt c2hhcmVkOiBpbnN0YWxsZGlycyBpbnN0YWxsLWhlYWRlcnMgc2hhcmVkIGluc3RhbGwtZG9jCitA QCAtMjYxLDYgKzI1OCwxMiBAQCBpbnN0YWxsLXNoYXJlZDogaW5zdGFsbGRpcnMgaW5zdGFsbC1o ZWFkCiAgdW5pbnN0YWxsLXNoYXJlZDogbWF5YmUtdW5pbnN0YWxsLWhlYWRlcnMKICAJLSggY2Qg c2hsaWI7ICR7TUFLRX0gJHtNRkxBR1N9IERFU1RESVI9JHtERVNURElSfSB1bmluc3RhbGwgKQog IApAQCAtMTkwMCwyNCArMTkyNCwyNCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2 OGQxYTRmNDNhCiAgY2hlY2s6CiAgaW5zdGFsbGNoZWNrOgogIAotQEAgLTQxNiw2ICs0MjEsOCBA QCB1dGlsLm86IHJlYWRsaW5lLmgga2V5bWFwcy5oIHJsdHlwZWRlZnMuaCBjaGFyZGVmcy5oIHRp bGRlLmggcmxzdGRjLmgKLSB2aV9tb2RlLm86IHJsZGVmcy5oICR7QlVJTERfRElSfS9jb25maWcu aCBybGNvbmYuaAorQEAgLTQxNyw3ICs0MjIsNyBAQCB2aV9tb2RlLm86IHJsZGVmcy5oICR7QlVJ TERfRElSfS9jb25maWcuCiAgdmlfbW9kZS5vOiByZWFkbGluZS5oIGtleW1hcHMuaCBybHR5cGVk ZWZzLmggY2hhcmRlZnMuaCB0aWxkZS5oCiAgdmlfbW9kZS5vOiBoaXN0b3J5LmggYW5zaV9zdGRs aWIuaCBybHN0ZGMuaAotK3hmcmVlLm86ICR7QlVJTERfRElSfS9jb25maWcuaAotK3hmcmVlLm86 IGFuc2lfc3RkbGliLmgKICB4bWFsbG9jLm86ICR7QlVJTERfRElSfS9jb25maWcuaAotIHhtYWxs b2MubzogYW5zaV9zdGRsaWIuaAorLXhtYWxsb2MubzogYW5zaV9zdGRsaWIuaCByZWFkbGluZS5o CisreG1hbGxvYy5vOiBhbnNpX3N0ZGxpYi5oCiAgCi1AQCAtNDc0LDYgKzQ4MSw3IEBAIHRpbGRl Lm86IHhtYWxsb2MuaAorIGJpbmQubzogcmxzaGVsbC5oCisgaGlzdGZpbGUubzogcmxzaGVsbC5o CitAQCAtNDc0LDYgKzQ3OSw3IEBAIHRpbGRlLm86IHhtYWxsb2MuaAogIHVuZG8ubzogeG1hbGxv Yy5oCiAgdXRpbC5vOiB4bWFsbG9jLmgKICB2aV9tb2RlLm86IHhtYWxsb2MuaAotK3hmcmVlLm86 IHhtYWxsb2MuaAorK3hmcmVlLm86IHhtYWxsb2MuaCByZWFkbGluZS5oCiAgeG1hbGxvYy5vOiB4 bWFsbG9jLmgKICAKICBjb21wbGV0ZS5vOiBybG1idXRpbC5oCi1AQCAtNTE1LDYgKzUyMyw3IEBA IHRpbGRlLm86ICQoc3JjZGlyKS90aWxkZS5jCitAQCAtNTE1LDYgKzUyMSw3IEBAIHRpbGRlLm86 ICQoc3JjZGlyKS90aWxkZS5jCiAgdW5kby5vOiAkKHNyY2RpcikvdW5kby5jCiAgdXRpbC5vOiAk KHNyY2RpcikvdXRpbC5jCiAgdmlfbW9kZS5vOiAkKHNyY2RpcikvdmlfbW9kZS5jCkBAIC0xOTI1 LDcgKzE5NDksNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAg eG1hbGxvYy5vOiAkKHNyY2RpcikveG1hbGxvYy5jCiAgCiAgaGlzdGV4cGFuZC5vOiAkKHNyY2Rp cikvaGlzdGV4cGFuZC5jCi1AQCAtNTQ5LDYgKzU1OCw3IEBAIHRpbGRlLm86IHRpbGRlLmMKK0BA IC01NDksNiArNTU2LDcgQEAgdGlsZGUubzogdGlsZGUuYwogIHVuZG8ubzogdW5kby5jCiAgdXRp bC5vOiB1dGlsLmMKICB2aV9tb2RlLm86IHZpX21vZGUuYwpAQCAtMTkzMyw4ICsxOTU3LDEwIEBA IGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICB4bWFsbG9jLm86IHht YWxsb2MuYwogIAogIGhpc3RleHBhbmQubzogaGlzdGV4cGFuZC5jCi0tLS0gYS9yZWFkbGluZS9O RVdTCi0rKysgYi9yZWFkbGluZS9ORVdTCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFk bGluZS9ORVdTCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRs aW5lL05FV1MJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNzAzL3JlYWRsaW5lL05FV1MJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAg KzAyMDAKIEBAIC0xLDMyICsxLDE5IEBACiAtVGhpcyBpcyBhIHRlcnNlIGRlc2NyaXB0aW9uIG9m IHRoZSBuZXcgZmVhdHVyZXMgYWRkZWQgdG8gcmVhZGxpbmUtNS4xIHNpbmNlCiAtdGhlIHJlbGVh c2Ugb2YgcmVhZGxpbmUtNS4wLgpAQCAtMTk4Miw4ICsyMDA4LDEwIEBAIGIxMzcwNmFiYmVlOTY0 NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICtlLiAgTmV3IGJpbmRhYmxlIHZhcmlhYmxlIGBt ZW51LWNvbXBsZXRlLWRpc3BsYXktcHJlZml4JyBjYXVzZXMgdGhlIG1lbnUKICsgICAgY29tcGxl dGlvbiBjb2RlIHRvIGRpc3BsYXkgdGhlIGNvbW1vbiBwcmVmaXggb2YgdGhlIHBvc3NpYmxlIGNv bXBsZXRpb25zCiArICAgIGJlZm9yZSBjeWNsaW5nIHRocm91Z2ggdGhlIGxpc3QsIGluc3RlYWQg b2YgYWZ0ZXIuCi0tLS0gYS9yZWFkbGluZS9SRUFETUUKLSsrKyBiL3JlYWRsaW5lL1JFQURNRQor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvUkVBRE1FCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist LS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL1JFQURNRQkyMDExLTA3LTAzIDEw OjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUv UkVBRE1FCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSw3ICsxLDcg QEAKICBJbnRyb2R1Y3Rpb24KICA9PT09PT09PT09PT0KQEAgLTE5OTMsNyArMjAyMSw3IEBAIGIx MzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICBUaGUgUmVhZGxpbmUg bGlicmFyeSBwcm92aWRlcyBhIHNldCBvZiBmdW5jdGlvbnMgZm9yIHVzZSBieSBhcHBsaWNhdGlv bnMKICB0aGF0IGFsbG93IHVzZXJzIHRvIGVkaXQgY29tbWFuZCBsaW5lcyBhcyB0aGV5IGFyZSB0 eXBlZCBpbi4gIEJvdGgKLUBAIC0xNiw4ICsxNiw5IEBAIG1heSBiZSB1c2VkIHdpdGhvdXQgUmVh ZGxpbmUgaW4gYXBwbGljYXRpb25zIHdoaWNoIGRlc2lyZSBpdHMKK0BAIC0xNiw4ICsxNiw5IEBA IG1heSBiZSB1c2VkIHdpdGhvdXQgUmVhZGxpbmUgaW4gYXBwbGljYXQKICBjYXBhYmlsaXRpZXMu CiAgCiAgVGhlIFJlYWRsaW5lIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZSwgZGlzdHJpYnV0ZWQg dW5kZXIgdGhlIHRlcm1zIG9mCkBAIC0yMDA1LDE0ICsyMDMzLDE2IEBAIGIxMzcwNmFiYmVlOTY0 NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICBUbyBidWlsZCB0aGUgbGlicmFyeSwgdHJ5 IHR5cGluZyBgLi9jb25maWd1cmUnLCB0aGVuIGBtYWtlJy4gIFRoZQogIGNvbmZpZ3VyYXRpb24g cHJvY2VzcyBpcyBhdXRvbWF0ZWQsIHNvIG5vIGZ1cnRoZXIgaW50ZXJ2ZW50aW9uIHNob3VsZAot QEAgLTE4Myw0ICsxODQsNCBAQCBsaXN0IChtaXJyb3JlZCB0byB0aGUgVXNlbmV0IG5ld3Nncm91 cCBnbnUuYmFzaC5idWcpIG9mdGVuIGNvbnRhaW5zCitAQCAtMTgzLDQgKzE4NCw0IEBAIGxpc3Qg KG1pcnJvcmVkIHRvIHRoZSBVc2VuZXQgbmV3c2dyb3VwIGcKICBSZWFkbGluZSBidWcgcmVwb3J0 cyBhbmQgZml4ZXMuIAogIAogIENoZXQgUmFtZXkKIC1jaGV0QHBvLmN3cnUuZWR1CiArY2hldC5y YW1leUBjYXNlLmVkdQotLS0tIGEvcmVhZGxpbmUvYWNsb2NhbC5tNAotKysrIGIvcmVhZGxpbmUv YWNsb2NhbC5tNAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvYWNsb2NhbC5t NAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9hY2xv Y2FsLm00CTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDcwMy9yZWFkbGluZS9hY2xvY2FsLm00CTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAw MDAwICswMjAwCiBAQCAtODAsNiArODAsOSBAQCBBQ19DQUNIRV9WQUwoYmFzaF9jdl90eXBlXyQx LAogICNpZiBIQVZFX0lOVFRZUEVTX0gKICAjaW5jbHVkZSA8aW50dHlwZXMuaD4KQEAgLTIyMjEs NyArMjI1MSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBB Q19DQUNIRV9DSEVDSyhbZm9yIG5sX2xhbmdpbmZvIGFuZCBDT0RFU0VUXSwgYmFzaF9jdl9sYW5n aW5mb19jb2Rlc2V0LAogIFtBQ19UUllfTElOSygKICBbI2luY2x1ZGUgPGxhbmdpbmZvLmg+XSwK LUBAIC0xNzA3LDYgKzE3MjYsNTAgQEAgaWYgdGVzdCAkYmFzaF9jdl9sYW5naW5mb19jb2Rlc2V0 ID0geWVzOyB0aGVuCitAQCAtMTcwNyw2ICsxNzI2LDUwIEBAIGlmIHRlc3QgJGJhc2hfY3ZfbGFu Z2luZm9fY29kZXNldCA9IHllczsKICAgIEFDX0RFRklORShIQVZFX0xBTkdJTkZPX0NPREVTRVQp CiAgZmkKICAKQEAgLTIyOTAsNyArMjMyMCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICBzdHJjYXNlY21wIHN0cmR1cCBzdHJ0b3VsIHRzZWFyY2ggX19hcmd6 X2NvdW50IF9fYXJnel9zdHJpbmdpZnkgX19hcmd6X25leHQgXAogIF9fZnNldGxvY2tpbmddKQog IAotQEAgLTM5NjQsMyArNDAyNywxNDMgQEAgQUNfREVGVU4oW2ptX0FDX1RZUEVfVU5TSUdORURf TE9OR19MT05HXSwKK0BAIC0zOTY0LDMgKzQwMjcsMTQzIEBAIEFDX0RFRlVOKFtqbV9BQ19UWVBF X1VOU0lHTkVEX0xPTkdfTE9OR10KICAgICAgICBbRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSB1bnNp Z25lZCBsb25nIGxvbmcgdHlwZS5dKQogICAgZmkKICBdKQpAQCAtMjQzNCw4ICsyNDY0LDEwIEBA IGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICtBQ19NU0dfUkVTVUxU KCRiYXNoX2N2X3dleGl0c3RhdHVzX29mZnNldCkKICtBQ19ERUZJTkVfVU5RVU9URUQoW1dFWElU U1RBVFVTX09GRlNFVF0sIFskYmFzaF9jdl93ZXhpdHN0YXR1c19vZmZzZXRdLCBbT2Zmc2V0IG9m IGV4aXQgc3RhdHVzIGluIHdhaXQgc3RhdHVzIHdvcmRdKQogK10pCi0tLS0gYS9yZWFkbGluZS9h bnNpX3N0ZGxpYi5oCi0rKysgYi9yZWFkbGluZS9hbnNpX3N0ZGxpYi5oCitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDcwMy9yZWFkbGluZS9hbnNpX3N0ZGxpYi5oCis9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2Ri LTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL2Fuc2lfc3RkbGliLmgJMjAxMS0wNy0wMyAx MDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5l L2Fuc2lfc3RkbGliLmgJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC02 LDE5ICs2LDE5IEBACiAgCiAgICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBC b3VybmUgQWdhaW4gU0hlbGwuCkBAIC0yNDY5LDggKzI1MDEsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2 ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogICNpZiAhZGVmaW5lZCAoX1NURExJQl9IXykK ICAjZGVmaW5lCV9TVERMSUJfSF8gMQotLS0tIGEvcmVhZGxpbmUvYmluZC5jCi0rKysgYi9yZWFk bGluZS9iaW5kLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2JpbmQuYwor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9iaW5kLmMJ MjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEw NzAzL3JlYWRsaW5lL2JpbmQuYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAog QEAgLTEsMjQgKzEsMjMgQEAKICAvKiBiaW5kLmMgLS0ga2V5IGJpbmRpbmcgYW5kIHN0YXJ0dXAg ZmlsZSBzdXBwb3J0IGZvciB0aGUgcmVhZGxpbmUgbGlicmFyeS4gKi8KICAKQEAgLTI1MDgsNyAr MjU0Miw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAj ZGVmaW5lIFJFQURMSU5FX0xJQlJBUlkKICAKLUBAIC04MCw3ICs3OSw3IEBAIHN0YXRpYyBpbnQg Z2xlYW5fa2V5X2Zyb21fbmFtZSBQQVJBTVMoKGNoYXIgKikpOworQEAgLTgwLDcgKzc5LDcgQEAg c3RhdGljIGludCBnbGVhbl9rZXlfZnJvbV9uYW1lIFBBUkFNUygoYwogIHN0YXRpYyBpbnQgZmlu ZF9ib29sZWFuX3ZhciBQQVJBTVMoKGNvbnN0IGNoYXIgKikpOwogIAogIHN0YXRpYyBjaGFyICpf cmxfZ2V0X3N0cmluZ192YXJpYWJsZV92YWx1ZSBQQVJBTVMoKGNvbnN0IGNoYXIgKikpOwpAQCAt MjUyNiw3ICsyNTYwLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQz YQogICAgICAgIHJldHVybiAtMTsKICAgICAgfQogICAgcmxfZ2VuZXJpY19iaW5kIChJU01BQ1Is IGtleXNlcSwgbWFjcm9fa2V5cywgbWFwKTsKLUBAIC0zNDcsNyArMzQ2LDcgQEAgcmxfZ2VuZXJp Y19iaW5kICh0eXBlLCBrZXlzZXEsIGRhdGEsIG1hcCkKK0BAIC0zNDcsNyArMzQ2LDcgQEAgcmxf Z2VuZXJpY19iaW5kICh0eXBlLCBrZXlzZXEsIGRhdGEsIG1hcAogICAgaWYgKGtleXNlcSA9PSAw IHx8ICprZXlzZXEgPT0gMCkKICAgICAgewogICAgICAgIGlmICh0eXBlID09IElTTUFDUikKQEAg LTI1MzUsNyArMjU2OSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0KICAKLUBAIC0zNTgsNyArMzU3LDcgQEAgcmxf Z2VuZXJpY19iaW5kICh0eXBlLCBrZXlzZXEsIGRhdGEsIG1hcCkKK0BAIC0zNTgsNyArMzU3LDcg QEAgcmxfZ2VuZXJpY19iaW5kICh0eXBlLCBrZXlzZXEsIGRhdGEsIG1hcAogICAgICAgS0VZUyBp bnRvIEtFWVNfTEVOLiAqLwogICAgaWYgKHJsX3RyYW5zbGF0ZV9rZXlzZXEgKGtleXNlcSwga2V5 cywgJmtleXNfbGVuKSkKICAgICAgewpAQCAtMjU0NCw3ICsyNTc4LDcgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAgICAgIHJldHVybiAtMTsKICAgICAgfQog IAotQEAgLTM3MCw3ICszNjksMTAgQEAgcmxfZ2VuZXJpY19iaW5kICh0eXBlLCBrZXlzZXEsIGRh dGEsIG1hcCkKK0BAIC0zNzAsNyArMzY5LDEwIEBAIHJsX2dlbmVyaWNfYmluZCAodHlwZSwga2V5 c2VxLCBkYXRhLCBtYXAKICAKICAgICAgICBpYyA9IHVjOwogICAgICAgIGlmIChpYyA8IDAgfHwg aWMgPj0gS0VZTUFQX1NJWkUpCkBAIC0yNTU2LDcgKzI1OTAsNyBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgICAgICAgaWYgKE1FVEFfQ0hBUiAoaWMpICYm IF9ybF9jb252ZXJ0X21ldGFfY2hhcnNfdG9fYXNjaWkpCiAgCXsKLUBAIC00MTEsMTEgKzQxMywx OCBAQCBybF9nZW5lcmljX2JpbmQgKHR5cGUsIGtleXNlcSwgZGF0YSwgbWFwKQorQEAgLTQxMSwx MSArNDEzLDE4IEBAIHJsX2dlbmVyaWNfYmluZCAodHlwZSwga2V5c2VxLCBkYXRhLCBtYXAKICAg ICAgICBlbHNlCiAgCXsKICAJICBpZiAobWFwW2ljXS50eXBlID09IElTTUFDUikKQEAgLTI1NzYs NyArMjYxMCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAJ ICAgIH0KICAKICAJICBtYXBbaWNdLmZ1bmN0aW9uID0gS0VZTUFQX1RPX0ZVTkNUSU9OIChkYXRh KTsKLUBAIC00MjQsNyArNDMzLDcgQEAgcmxfZ2VuZXJpY19iaW5kICh0eXBlLCBrZXlzZXEsIGRh dGEsIG1hcCkKK0BAIC00MjQsNyArNDMzLDcgQEAgcmxfZ2VuZXJpY19iaW5kICh0eXBlLCBrZXlz ZXEsIGRhdGEsIG1hcAogIAogICAgICAgIHJsX2JpbmRpbmdfa2V5bWFwID0gbWFwOwogICAgICB9 CkBAIC0yNjM1LDcgKzI2NjksNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQx YTRmNDNhCiAgCXsKICAJICAqcisrID0gJ1xcJzsKICAJICAqcisrID0gJ0MnOwotQEAgLTY3Miw3 ICs3MDAsNyBAQCBybF9mdW5jdGlvbl9vZl9rZXlzZXEgKGtleXNlcSwgbWFwLCB0eXBlKQorQEAg LTY3Miw3ICs3MDAsNyBAQCBybF9mdW5jdGlvbl9vZl9rZXlzZXEgKGtleXNlcSwgbWFwLCB0eXBl CiAgewogICAgcmVnaXN0ZXIgaW50IGk7CiAgCkBAIC0yNjQ0LDcgKzI2NzgsNyBAQCBiMTM3MDZh YmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICAgIG1hcCA9IF9ybF9rZXltYXA7 CiAgCiAgICBmb3IgKGkgPSAwOyBrZXlzZXEgJiYga2V5c2VxW2ldOyBpKyspCi1AQCAtNjgxLDI1 ICs3MDksMjcgQEAgcmxfZnVuY3Rpb25fb2Zfa2V5c2VxIChrZXlzZXEsIG1hcCwgdHlwZSkKK0BA IC02ODEsMjUgKzcwOSwyNyBAQCBybF9mdW5jdGlvbl9vZl9rZXlzZXEgKGtleXNlcSwgbWFwLCB0 eXBlCiAgCiAgICAgICAgaWYgKE1FVEFfQ0hBUiAoaWMpICYmIF9ybF9jb252ZXJ0X21ldGFfY2hh cnNfdG9fYXNjaWkpCiAgCXsKQEAgLTI2NzksNyArMjcxMyw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0 ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAJICAgIHsKICAJICAgICAgaWYgKHR5cGUpCiAgCQkq dHlwZSA9IElTS01BUDsKLUBAIC03MDksNyArNzM5LDEyIEBAIHJsX2Z1bmN0aW9uX29mX2tleXNl cSAoa2V5c2VxLCBtYXAsIHR5cGUpCitAQCAtNzA5LDcgKzczOSwxMiBAQCBybF9mdW5jdGlvbl9v Zl9rZXlzZXEgKGtleXNlcSwgbWFwLCB0eXBlCiAgCSAgZWxzZQogIAkgICAgbWFwID0gRlVOQ1RJ T05fVE9fS0VZTUFQIChtYXAsIGljKTsKICAJfQpAQCAtMjc0Miw3ICsyNzc2LDcgQEAgYjEzNzA2 YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICNpZiBkZWZpbmVkIChfX01TRE9T X18pCiAgICBpZiAoX3JsX3JlYWRfaW5pdF9maWxlIChmaWxlbmFtZSwgMCkgPT0gMCkKICAgICAg cmV0dXJuIDA7Ci1AQCAtODMyLDggKzg3MSw5IEBAIF9ybF9yZWFkX2luaXRfZmlsZSAoZmlsZW5h bWUsIGluY2x1ZGVfbGV2ZWwpCitAQCAtODMyLDggKzg3MSw5IEBAIF9ybF9yZWFkX2luaXRfZmls ZSAoZmlsZW5hbWUsIGluY2x1ZGVfbGUKICAKICAgIG9wZW5uYW1lID0gdGlsZGVfZXhwYW5kIChm aWxlbmFtZSk7CiAgICBidWZmZXIgPSBfcmxfcmVhZF9maWxlIChvcGVubmFtZSwgJmZpbGVfc2l6 ZSk7CkBAIC0yNzUzLDcgKzI3ODcsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2 OGQxYTRmNDNhCiAgICBpZiAoYnVmZmVyID09IDApCiAgICAgIHJldHVybiAoZXJybm8pOwogICAg Ci1AQCAtODgwLDcgKzkyMCw3IEBAIF9ybF9yZWFkX2luaXRfZmlsZSAoZmlsZW5hbWUsIGluY2x1 ZGVfbGV2ZWwpCitAQCAtODgwLDcgKzkyMCw3IEBAIF9ybF9yZWFkX2luaXRfZmlsZSAoZmlsZW5h bWUsIGluY2x1ZGVfbGUKICAgICAgICBjdXJyZW50X3JlYWRsaW5lX2luaXRfbGluZW5vKys7CiAg ICAgIH0KICAKQEAgLTI4NjQsNyArMjg5OCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICB9OwogIAogIHN0YXRpYyBpbnQKLUBAIC0xNDU4LDIzICsxNTA0LDI5 IEBAIHR5cGVkZWYgaW50IF9ybF9zdl9mdW5jX3QgUEFSQU1TKChjb25zdCBjaGFyICopKTsKK0BA IC0xNDU4LDIzICsxNTA0LDI5IEBAIHR5cGVkZWYgaW50IF9ybF9zdl9mdW5jX3QgUEFSQU1TKChj b25zdCAKICAvKiBGb3J3YXJkIGRlY2xhcmF0aW9ucyAqLwogIHN0YXRpYyBpbnQgc3ZfYmVsbF9z dHlsZSBQQVJBTVMoKGNvbnN0IGNoYXIgKikpOwogIHN0YXRpYyBpbnQgc3ZfY29tYmVnaW4gUEFS QU1TKChjb25zdCBjaGFyICopKTsKQEAgLTMwMDgsNyArMzA0Miw3IEBAIGIxMzcwNmFiYmVlOTY0 NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICB9CiAgCiAgc3RhdGljIGNoYXIgKgotQEAgLTE5 NDgsMTIgKzIwNDMsMTYgQEAgcmxfaW52b2tpbmdfa2V5c2Vxc19pbl9tYXAgKGZ1bmN0aW9uLCBt YXApCitAQCAtMTk0OCwxMiArMjA0MywxNiBAQCBybF9pbnZva2luZ19rZXlzZXFzX2luX21hcCAo ZnVuY3Rpb24sIG1hCiAgCQljaGFyICprZXluYW1lID0gKGNoYXIgKil4bWFsbG9jICg2ICsgc3Ry bGVuIChzZXFzW2ldKSk7CiAgCiAgCQlpZiAoa2V5ID09IEVTQykKQEAgLTMwMzEsNyArMzA2NSw3 IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAJCWVsc2UgaWYg KENUUkxfQ0hBUiAoa2V5KSkKICAJCSAgc3ByaW50ZiAoa2V5bmFtZSwgIlxcQy0lYyIsIF9ybF90 b19sb3dlciAoVU5DVFJMIChrZXkpKSk7CiAgCQllbHNlIGlmIChrZXkgPT0gUlVCT1VUKQotQEAg LTE5NzEsNyArMjA3MCw3IEBAIHJsX2ludm9raW5nX2tleXNlcXNfaW5fbWFwIChmdW5jdGlvbiwg bWFwKQorQEAgLTE5NzEsNyArMjA3MCw3IEBAIHJsX2ludm9raW5nX2tleXNlcXNfaW5fbWFwIChm dW5jdGlvbiwgbWEKICAJCSAgfQogIAkJCiAgCQlzdHJjYXQgKGtleW5hbWUsIHNlcXNbaV0pOwpA QCAtMzA0MCw3ICszMDc0LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0 ZjQzYQogIAogIAkJaWYgKHJlc3VsdF9pbmRleCArIDIgPiByZXN1bHRfc2l6ZSkKICAJCSAgewot QEAgLTE5ODMsNyArMjA4Miw3IEBAIHJsX2ludm9raW5nX2tleXNlcXNfaW5fbWFwIChmdW5jdGlv biwgbWFwKQorQEAgLTE5ODMsNyArMjA4Miw3IEBAIHJsX2ludm9raW5nX2tleXNlcXNfaW5fbWFw IChmdW5jdGlvbiwgbWEKICAJCXJlc3VsdFtyZXN1bHRfaW5kZXhdID0gKGNoYXIgKilOVUxMOwog IAkgICAgICB9CiAgCkBAIC0zMDc0LDcgKzMxMDgsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIy YzA1NTJkZGQ2OGQxYTRmNDNhCiAgCSAgICB9CiAgCX0KICAgICAgfQotQEAgLTIxMTEsOCArMjIx MCw4IEBAIF9ybF9tYWNyb19kdW1wZXJfaW50ZXJuYWwgKHByaW50X3JlYWRhYmx5LCBtYXAsIHBy ZWZpeCkKK0BAIC0yMTExLDggKzIyMTAsOCBAQCBfcmxfbWFjcm9fZHVtcGVyX2ludGVybmFsIChw cmludF9yZWFkYWJsCiAgCSAgICBmcHJpbnRmIChybF9vdXRzdHJlYW0sICIlcyVzIG91dHB1dHMg JXNcbiIsIHByZWZpeCA/IHByZWZpeCA6ICIiLAogIAkJCQkJCQlrZXluYW1lLAogIAkJCQkJCQlv dXQgPyBvdXQgOiAiIik7CkBAIC0zMDg1LDcgKzMxMTksNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRl NTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCSAgYnJlYWs7CiAgCWNhc2UgSVNGVU5DOgogIAkgIGJy ZWFrOwotQEAgLTIxMzUsMTMgKzIyMzQsMTMgQEAgX3JsX21hY3JvX2R1bXBlcl9pbnRlcm5hbCAo cHJpbnRfcmVhZGFibHksIG1hcCwgcHJlZml4KQorQEAgLTIxMzUsMTMgKzIyMzQsMTMgQEAgX3Js X21hY3JvX2R1bXBlcl9pbnRlcm5hbCAocHJpbnRfcmVhZGFibAogIAkJICBvdXQgPSAoY2hhciAq KXhtYWxsb2MgKHN0cmxlbiAoa2V5bmFtZSkgKyBwcmVmaXhfbGVuICsgMSk7CiAgCQkgIHN0cmNw eSAob3V0LCBwcmVmaXgpOwogIAkJICBzdHJjcHkgKG91dCArIHByZWZpeF9sZW4sIGtleW5hbWUp OwpAQCAtMzE1OCw4ICszMTkyLDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4 ZDFhNGY0M2EKICB7CiAgICB3aGlsZSAoKmFycmF5KQogICAgICB7Ci0tLS0gYS9yZWFkbGluZS9j YWxsYmFjay5jCi0rKysgYi9yZWFkbGluZS9jYWxsYmFjay5jCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDcwMy9yZWFkbGluZS9jYWxsYmFjay5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4y MDExMDcwMy5vcmlnL3JlYWRsaW5lL2NhbGxiYWNrLmMJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAw MDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2NhbGxiYWNrLmMJ MjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI0ICsxLDI0IEBACiAg LyogY2FsbGJhY2suYyAtLSBmdW5jdGlvbnMgdG8gdXNlIHJlYWRsaW5lIGFzIGFuIFggYGNhbGxi YWNrJyBtZWNoYW5pc20uICovCiAgCkBAIC0zMjg0LDkgKzMzMjAsNyBAQCBiMTM3MDZhYmJlZTk2 NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArCX0KICsjZW5kaWYKICsgICAgICBlbHNlIGlm IChSTF9JU1NUQVRFIChSTF9TVEFURV9OVU1FUklDQVJHKSkKLSAJewotLQkgIF9ybF9pbnRlcm5h bF9jaGFyX2NsZWFudXAgKCk7Ci0tCSAgX3JsX3dhbnRfcmVkaXNwbGF5ID0gMTsKKysJewogKwkg IGVvZiA9IF9ybF9hcmdfY2FsbGJhY2sgKF9ybF9hcmdjeHQpOwogKwkgIGlmIChlb2YgPT0gMCAm JiAoUkxfSVNTVEFURSAoUkxfU1RBVEVfTlVNRVJJQ0FSRykgPT0gMCkgJiYgUkxfSVNTVEFURSAo UkxfU1RBVEVfSU5QVVRQRU5ESU5HKSkKICsJICAgIHJsX2NhbGxiYWNrX3JlYWRfY2hhciAoKTsK QEAgLTMyOTUsNiArMzMyOSwxOSBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQx YTRmNDNhCiArCSAgICBfcmxfaW50ZXJuYWxfY2hhcl9jbGVhbnVwICgpOwogKwogKwkgIHJldHVy bjsKKysJfQorKyAgICAgIGVsc2UgaWYgKFJMX0lTU1RBVEUgKFJMX1NUQVRFX01VTFRJS0VZKSkK KyAJeworLQkgIF9ybF9pbnRlcm5hbF9jaGFyX2NsZWFudXAgKCk7CistCSAgX3JsX3dhbnRfcmVk aXNwbGF5ID0gMTsKKysJICBlb2YgPSBfcmxfZGlzcGF0Y2hfY2FsbGJhY2sgKF9ybF9rc2N4dCk7 CS8qIEZvciBub3cgKi8KKysJICB3aGlsZSAoKGVvZiA9PSAtMSB8fCBlb2YgPT0gLTIpICYmIFJM X0lTU1RBVEUgKFJMX1NUQVRFX01VTFRJS0VZKSAmJiBfcmxfa3NjeHQgJiYgKF9ybF9rc2N4dC0+ ZmxhZ3MgJiBLU0VRX0RJU1BBVENIRUQpKQorKwkgICAgZW9mID0gX3JsX2Rpc3BhdGNoX2NhbGxi YWNrIChfcmxfa3NjeHQpOworKwkgIGlmIChSTF9JU1NUQVRFIChSTF9TVEFURV9NVUxUSUtFWSkg PT0gMCkKKysJICAgIHsKKysJICAgICAgX3JsX2ludGVybmFsX2NoYXJfY2xlYW51cCAoKTsKKysJ ICAgICAgX3JsX3dhbnRfcmVkaXNwbGF5ID0gMTsKKysJICAgIH0KICAJfQogLSAgICB9CiAtICBl bHNlIGlmIChfcmxfY2FsbGJhY2tfZnVuYykKQEAgLTMzMDgsMjYgKzMzNTUsOSBAQCBiMTM3MDZh YmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAtICAgICAgLyogSWYgdGhlIGZ1bmN0 aW9uIGBkZXJlZ2lzdGVycycgaXRzZWxmLCBtYWtlIHN1cmUgdGhlIGRhdGEgaXMgY2xlYW5lZAog LQkgdXAuICovCiAtICAgICAgaWYgKF9ybF9jYWxsYmFja19mdW5jID09IDApCi0rICAgICAgZWxz ZSBpZiAoUkxfSVNTVEFURSAoUkxfU1RBVEVfTVVMVElLRVkpKQorKyAgICAgIGVsc2UgaWYgKF9y bF9jYWxsYmFja19mdW5jKQogIAl7CiAtCSAgaWYgKF9ybF9jYWxsYmFja19kYXRhKSAJCi0rCSAg ZW9mID0gX3JsX2Rpc3BhdGNoX2NhbGxiYWNrIChfcmxfa3NjeHQpOwkvKiBGb3Igbm93ICovCi0r CSAgd2hpbGUgKChlb2YgPT0gLTEgfHwgZW9mID09IC0yKSAmJiBSTF9JU1NUQVRFIChSTF9TVEFU RV9NVUxUSUtFWSkgJiYgX3JsX2tzY3h0ICYmIChfcmxfa3NjeHQtPmZsYWdzICYgS1NFUV9ESVNQ QVRDSEVEKSkKLSsJICAgIGVvZiA9IF9ybF9kaXNwYXRjaF9jYWxsYmFjayAoX3JsX2tzY3h0KTsK LSsJICBpZiAoUkxfSVNTVEFURSAoUkxfU1RBVEVfTVVMVElLRVkpID09IDApCi0gCSAgICB7Ci0t CSAgICAgIF9ybF9jYWxsYmFja19kYXRhX2Rpc3Bvc2UgKF9ybF9jYWxsYmFja19kYXRhKTsKLS0J ICAgICAgX3JsX2NhbGxiYWNrX2RhdGEgPSAwOwotKwkgICAgICBfcmxfaW50ZXJuYWxfY2hhcl9j bGVhbnVwICgpOwotKwkgICAgICBfcmxfd2FudF9yZWRpc3BsYXkgPSAxOwotIAkgICAgfQotLQkg IF9ybF9pbnRlcm5hbF9jaGFyX2NsZWFudXAgKCk7Ci0gCX0KLS0gICAgfQotLSAgZWxzZQotLSAg ICBlb2YgPSByZWFkbGluZV9pbnRlcm5hbF9jaGFyICgpOwotKyAgICAgIGVsc2UgaWYgKF9ybF9j YWxsYmFja19mdW5jKQotKwl7CiArCSAgLyogVGhpcyBhbGxvd3MgZnVuY3Rpb25zIHRoYXQgc2lt cGx5IG5lZWQgdG8gcmVhZCBhbiBhZGRpdGlvbmFsCiArCSAgICAgY2hhcmFjdGVyIChsaWtlIHF1 b3RlZC1pbnNlcnQpIHRvIHJlZ2lzdGVyIGEgZnVuY3Rpb24gdG8gYmUKICsJICAgICBjYWxsZWQg d2hlbiBpbnB1dCBpcyBhdmFpbGFibGUuICBfcmxfY2FsbGJhY2tfZGF0YSBpcyBzaW1wbHkgYQpA QCAtMzMzOCwxNSArMzM2OCwyMSBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQx YTRmNDNhCiArCSAgLyogSWYgdGhlIGZ1bmN0aW9uIGBkZXJlZ2lzdGVycycgaXRzZWxmLCBtYWtl IHN1cmUgdGhlIGRhdGEgaXMKICsJICAgICBjbGVhbmVkIHVwLiAqLwogKwkgIGlmIChfcmxfY2Fs bGJhY2tfZnVuYyA9PSAwKQotKwkgICAgeworIAkgICAgeworLQkgICAgICBfcmxfY2FsbGJhY2tf ZGF0YV9kaXNwb3NlIChfcmxfY2FsbGJhY2tfZGF0YSk7CistCSAgICAgIF9ybF9jYWxsYmFja19k YXRhID0gMDsKICsJICAgICAgaWYgKF9ybF9jYWxsYmFja19kYXRhKSAJCiArCQl7CiArCQkgIF9y bF9jYWxsYmFja19kYXRhX2Rpc3Bvc2UgKF9ybF9jYWxsYmFja19kYXRhKTsKICsJCSAgX3JsX2Nh bGxiYWNrX2RhdGEgPSAwOwogKwkJfQogKwkgICAgICBfcmxfaW50ZXJuYWxfY2hhcl9jbGVhbnVw ICgpOwotKwkgICAgfQotKwl9CisgCSAgICB9CistCSAgX3JsX2ludGVybmFsX2NoYXJfY2xlYW51 cCAoKTsKKyAJfQorLSAgICB9CistICBlbHNlCistICAgIGVvZiA9IHJlYWRsaW5lX2ludGVybmFs X2NoYXIgKCk7CiArICAgICAgZWxzZQogKwllb2YgPSByZWFkbGluZV9pbnRlcm5hbF9jaGFyICgp OwogIApAQCAtMzM5OSw4ICszNDM1LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRk ZDY4ZDFhNGY0M2EKICB9CiAgCiAgI2VuZGlmCi0tLS0gYS9yZWFkbGluZS9jaGFyZGVmcy5oCi0r KysgYi9yZWFkbGluZS9jaGFyZGVmcy5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFk bGluZS9jaGFyZGVmcy5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmln L3JlYWRsaW5lL2NoYXJkZWZzLmgJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2NoYXJkZWZzLmgJMjAxMS0wNy0wMyAx MDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI0ICsxLDIzIEBACiAgLyogY2hhcmRlZnMu aCAtLSBDaGFyYWN0ZXIgZGVmaW5pdGlvbnMgZm9yIHJlYWRsaW5lLiAqLwogIApAQCAtMzQzOCw4 ICszNDc2LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAK ICAjaWZuZGVmIF9DSEFSREVGU19IXwogICNkZWZpbmUgX0NIQVJERUZTX0hfCi0tLS0gYS9yZWFk bGluZS9jb21wYXQuYwotKysrIGIvcmVhZGxpbmUvY29tcGF0LmMKK0luZGV4OiBnZGItNy4yLjkw LjIwMTEwNzAzL3JlYWRsaW5lL2NvbXBhdC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4y MDExMDcwMy5vcmlnL3JlYWRsaW5lL2NvbXBhdC5jCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAw MDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9jb21wYXQuYwkyMDEx LTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjQgKzEsMjQgQEAKICAvKiBj b21wYXQuYyAtLSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmdW5jdGlvbnMuICovCiAgCkBAIC0z NDc4LDggKzM1MTgsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQz YQogICNkZWZpbmUgUkVBRExJTkVfTElCUkFSWQogIAogICNpZiBkZWZpbmVkIChIQVZFX0NPTkZJ R19IKQotLS0tIGEvcmVhZGxpbmUvY29tcGxldGUuYwotKysrIGIvcmVhZGxpbmUvY29tcGxldGUu YworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvY29tcGxldGUuYworPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9jb21wbGV0ZS5jCTIw MTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcw My9yZWFkbGluZS9jb21wbGV0ZS5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAw CiBAQCAtMSwyNCArMSwyNCBAQAogIC8qIGNvbXBsZXRlLmMgLS0gZmlsZW5hbWUgY29tcGxldGlv biBmb3IgcmVhZGxpbmUuICovCiAgCkBAIC0zNTI5LDcgKzM1NzEsNyBAQCBiMTM3MDZhYmJlZTk2 NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgc3RhdGljIGNoYXIgKipnZW5fY29tcGxl dGlvbl9tYXRjaGVzIFBBUkFNUygoY2hhciAqLCBpbnQsIGludCwgcmxfY29tcGVudHJ5X2Z1bmNf dCAqLCBpbnQsIGludCkpOwogIAotQEAgLTExOSw5ICsxMTksMTEgQEAgc3RhdGljIGNoYXIgKipy ZW1vdmVfZHVwbGljYXRlX21hdGNoZXMgUEFSQU1TKChjaGFyICoqKSk7CitAQCAtMTE5LDkgKzEx OSwxMSBAQCBzdGF0aWMgY2hhciAqKnJlbW92ZV9kdXBsaWNhdGVfbWF0Y2hlcyBQCiAgc3RhdGlj IHZvaWQgaW5zZXJ0X21hdGNoIFBBUkFNUygoY2hhciAqLCBpbnQsIGludCwgY2hhciAqKSk7CiAg c3RhdGljIGludCBhcHBlbmRfdG9fbWF0Y2ggUEFSQU1TKChjaGFyICosIGludCwgaW50LCBpbnQp KTsKICBzdGF0aWMgdm9pZCBpbnNlcnRfYWxsX21hdGNoZXMgUEFSQU1TKChjaGFyICoqLCBpbnQs IGNoYXIgKikpOwpAQCAtMzU4OCw3ICszNjMwLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMw NTUyZGRkNjhkMWE0ZjQzYQogIC8qIElmIG5vbi16ZXJvLCB0aGVuIHRoaXMgaXMgdGhlIGFkZHJl c3Mgb2YgYSBmdW5jdGlvbiB0byBjYWxsIHdoZW4KICAgICBjb21wbGV0aW5nIG9uIGEgZGlyZWN0 b3J5IG5hbWUuICBUaGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGgKICAgICB0aGUgYWRkcmVzcyBv ZiBhIHN0cmluZyAodGhlIGN1cnJlbnQgZGlyZWN0b3J5IG5hbWUpIGFzIGFuIGFyZy4gKi8KLUBA IC0xODAsNiArMjA2LDE3IEBAIHJsX2ljcHBmdW5jX3QgKnJsX2RpcmVjdG9yeV9jb21wbGV0aW9u X2hvb2sgPSAocmxfaWNwcGZ1bmNfdCAqKU5VTEw7CitAQCAtMTgwLDYgKzIwNiwxNyBAQCBybF9p Y3BwZnVuY190ICpybF9kaXJlY3RvcnlfY29tcGxldGlvbl9oCiAgCiAgcmxfaWNwcGZ1bmNfdCAq cmxfZGlyZWN0b3J5X3Jld3JpdGVfaG9vayA9IChybF9pY3BwZnVuY190ICopTlVMTDsKICAKQEAg LTM2MDYsNyArMzY0OCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICAvKiBOb24temVybyBtZWFucyByZWFkbGluZSBjb21wbGV0aW9uIGZ1bmN0aW9ucyBwZXJm b3JtIHRpbGRlIGV4cGFuc2lvbi4gKi8KICBpbnQgcmxfY29tcGxldGVfd2l0aF90aWxkZV9leHBh bnNpb24gPSAwOwogIAotQEAgLTE4OCw2ICsyMjUsMTAgQEAgaW50IHJsX2NvbXBsZXRlX3dpdGhf dGlsZGVfZXhwYW5zaW9uID0gMDsKK0BAIC0xODgsNiArMjI1LDEwIEBAIGludCBybF9jb21wbGV0 ZV93aXRoX3RpbGRlX2V4cGFuc2lvbiA9IDAKICAgICBjb21wbGV0ZXIuICovCiAgcmxfY29tcGVu dHJ5X2Z1bmNfdCAqcmxfY29tcGxldGlvbl9lbnRyeV9mdW5jdGlvbiA9IChybF9jb21wZW50cnlf ZnVuY190ICopTlVMTDsKICAKQEAgLTM4MjMsNyArMzg2NSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0 ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgICAgICBpZiAoZXh0ZW5zaW9uX2NoYXIpCiAgCXsK ICAJICBwdXRjIChleHRlbnNpb25fY2hhciwgcmxfb3V0c3RyZWFtKTsKLUBAIC05NTAsNyArMTA1 Myw3IEBAIGdlbl9jb21wbGV0aW9uX21hdGNoZXMgKHRleHQsIHN0YXJ0LCBlbmQsIG91cl9mdW5j LCBmb3VuZF9xdW90ZSwgcXVvdGVfY2hhcikKK0BAIC05NTAsNyArMTA1Myw3IEBAIGdlbl9jb21w bGV0aW9uX21hdGNoZXMgKHRleHQsIHN0YXJ0LCBlbmQKICAgICAgIHJsX2NvbXBlbnRyeV9mdW5j X3QgKm91cl9mdW5jOwogICAgICAgaW50IGZvdW5kX3F1b3RlLCBxdW90ZV9jaGFyOwogIHsKQEAg LTM4MzIsNyArMzg3NCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICAKICAgIHJsX2NvbXBsZXRpb25fZm91bmRfcXVvdGUgPSBmb3VuZF9xdW90ZTsKICAgIHJs X2NvbXBsZXRpb25fcXVvdGVfY2hhcmFjdGVyID0gcXVvdGVfY2hhcjsKLUBAIC05NjAsNyArMTA2 MywxMCBAQCBnZW5fY29tcGxldGlvbl9tYXRjaGVzICh0ZXh0LCBzdGFydCwgZW5kLCBvdXJfZnVu YywgZm91bmRfcXVvdGUsIHF1b3RlX2NoYXIpCitAQCAtOTYwLDcgKzEwNjMsMTAgQEAgZ2VuX2Nv bXBsZXRpb25fbWF0Y2hlcyAodGV4dCwgc3RhcnQsIGVuZAogICAgICAgdmFyaWFibGUgcmxfYXR0 ZW1wdGVkX2NvbXBsZXRpb25fZnVuY3Rpb24uICovCiAgICBpZiAocmxfYXR0ZW1wdGVkX2NvbXBs ZXRpb25fZnVuY3Rpb24pCiAgICAgIHsKQEAgLTM4NDMsNyArMzg4NSw3IEBAIGIxMzcwNmFiYmVl OTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAgICAgICBpZiAobWF0Y2hlcyB8fCBy bF9hdHRlbXB0ZWRfY29tcGxldGlvbl9vdmVyKQogIAl7Ci1AQCAtOTY5LDIxICsxMDc1LDkgQEAg Z2VuX2NvbXBsZXRpb25fbWF0Y2hlcyAodGV4dCwgc3RhcnQsIGVuZCwgb3VyX2Z1bmMsIGZvdW5k X3F1b3RlLCBxdW90ZV9jaGFyKQorQEAgLTk2OSwyMSArMTA3NSw5IEBAIGdlbl9jb21wbGV0aW9u X21hdGNoZXMgKHRleHQsIHN0YXJ0LCBlbmQKICAJfQogICAgICB9CiAgCkBAIC0zOTAyLDcgKzM5 NDQsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICAgICAg dGVtcF9hcnJheVsxXSA9IChjaGFyICopTlVMTDsKICAgICAgfQogICAgcmV0dXJuICh0ZW1wX2Fy cmF5KTsKLUBAIC0xMTE2LDcgKzEyMTAsOCBAQCBjb21wdXRlX2xjZF9vZl9tYXRjaGVzIChtYXRj aF9saXN0LCBtYXRjaGVzLCB0ZXh0KQorQEAgLTExMTYsNyArMTIxMCw4IEBAIGNvbXB1dGVfbGNk X29mX21hdGNoZXMgKG1hdGNoX2xpc3QsIG1hdGMKICAjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJ QllURSkKICAJICAgIGlmIChNQl9DVVJfTUFYID4gMSAmJiBybF9ieXRlX29yaWVudGVkID09IDAp CiAgCSAgICAgIHsKQEAgLTM5MTIsNyArMzk1NCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICAJCWlmICghX3JsX2NvbXBhcmVfY2hhcnMgKG1hdGNoX2xpc3Rb aV0sIHNpLCAmcHMxLCBtYXRjaF9saXN0W2krMV0sIHNpLCAmcHMyKSkKICAJCSAgYnJlYWs7CiAg CQllbHNlIGlmICgodiA9IF9ybF9nZXRfY2hhcl9sZW4gKCZtYXRjaF9saXN0W2ldW3NpXSwgJnBz X2JhY2spKSA+IDEpCi1AQCAtMTIyMCw3ICsxMzE1LDcgQEAgcG9zdHByb2Nlc3NfbWF0Y2hlcyAo bWF0Y2hlc3AsIG1hdGNoaW5nX2ZpbGVuYW1lcykKK0BAIC0xMjIwLDcgKzEzMTUsNyBAQCBwb3N0 cHJvY2Vzc19tYXRjaGVzIChtYXRjaGVzcCwgbWF0Y2hpbmdfCiAgICBpZiAocmxfaWdub3JlX2Nv bXBsZXRpb25fZHVwbGljYXRlcykKICAgICAgewogICAgICAgIHRlbXBfbWF0Y2hlcyA9IHJlbW92 ZV9kdXBsaWNhdGVfbWF0Y2hlcyAobWF0Y2hlcyk7CkBAIC0zOTIxLDcgKzM5NjMsNyBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICAgICAgbWF0Y2hlcyA9IHRl bXBfbWF0Y2hlczsKICAgICAgfQogIAotQEAgLTEyNTcsNiArMTM1MiwyMyBAQCBwb3N0cHJvY2Vz c19tYXRjaGVzIChtYXRjaGVzcCwgbWF0Y2hpbmdfZmlsZW5hbWVzKQorQEAgLTEyNTcsNiArMTM1 MiwyMyBAQCBwb3N0cHJvY2Vzc19tYXRjaGVzIChtYXRjaGVzcCwgbWF0Y2hpbmdfCiAgICByZXR1 cm4gKDEpOwogIH0KICAKQEAgLTM5NDUsNyArMzk4Nyw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1 MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAvKiBBIGNvbnZlbmllbmNlIGZ1bmN0aW9uIGZvciBkaXNw bGF5aW5nIGEgbGlzdCBvZiBzdHJpbmdzIGluCiAgICAgY29sdW1uYXIgZm9ybWF0IG9uIHJlYWRs aW5lJ3Mgb3V0cHV0IHN0cmVhbS4gIE1BVENIRVMgaXMgdGhlIGxpc3QKICAgICBvZiBzdHJpbmdz LCBpbiBhcmd2IGZvcm1hdCwgTEVOIGlzIHRoZSBudW1iZXIgb2Ygc3RyaW5ncyBpbiBNQVRDSEVT LAotQEAgLTEyNjYsMTcgKzEzNzgsMzggQEAgcmxfZGlzcGxheV9tYXRjaF9saXN0IChtYXRjaGVz LCBsZW4sIG1heCkKK0BAIC0xMjY2LDE3ICsxMzc4LDM4IEBAIHJsX2Rpc3BsYXlfbWF0Y2hfbGlz dCAobWF0Y2hlcywgbGVuLCBtYXgKICAgICAgIGNoYXIgKiptYXRjaGVzOwogICAgICAgaW50IGxl biwgbWF4OwogIHsKQEAgLTM5OTAsNyArNDAzMiw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICAgICAgIGxpbWl0IHdpbGwgYmUgMCBhbmQgYSBkaXZpZGUtYnkt emVybyBmYXVsdCB3aWxsIHJlc3VsdC4gKi8KICAgIGlmIChsaW1pdCA9PSAwKQogICAgICBsaW1p dCA9IDE7Ci1AQCAtMTI4OSw3ICsxNDIyLDcgQEAgcmxfZGlzcGxheV9tYXRjaF9saXN0IChtYXRj aGVzLCBsZW4sIG1heCkKK0BAIC0xMjg5LDcgKzE0MjIsNyBAQCBybF9kaXNwbGF5X21hdGNoX2xp c3QgKG1hdGNoZXMsIGxlbiwgbWF4CiAgCSAgIDAgPCBsZW4gPD0gbGltaXQgIGltcGxpZXMgIGNv dW50ID0gMS4gKi8KICAKICAgIC8qIFNvcnQgdGhlIGl0ZW1zIGlmIHRoZXkgYXJlIG5vdCBhbHJl YWR5IHNvcnRlZC4gKi8KQEAgLTM5OTksNyArNDA0MSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1 MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgICAgcXNvcnQgKG1hdGNoZXMgKyAxLCBsZW4sIHNpemVv ZiAoY2hhciAqKSwgKFFTRlVOQyAqKV9ybF9xc29ydF9zdHJpbmdfY29tcGFyZSk7CiAgCiAgICBy bF9jcmxmICgpOwotQEAgLTEzMDcsNyArMTQ0MCw3IEBAIHJsX2Rpc3BsYXlfbWF0Y2hfbGlzdCAo bWF0Y2hlcywgbGVuLCBtYXgpCitAQCAtMTMwNyw3ICsxNDQwLDcgQEAgcmxfZGlzcGxheV9tYXRj aF9saXN0IChtYXRjaGVzLCBsZW4sIG1heAogIAkgICAgICBlbHNlCiAgCQl7CiAgCQkgIHRlbXAg PSBwcmludGFibGVfcGFydCAobWF0Y2hlc1tsXSk7CkBAIC00MDA4LDcgKzQwNTAsNyBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgCQkgIGlmIChqICsgMSA8 IGxpbWl0KQogIAkJICAgIGZvciAoayA9IDA7IGsgPCBtYXggLSBwcmludGVkX2xlbjsgaysrKQot QEAgLTEzMzEsNyArMTQ2NCw3IEBAIHJsX2Rpc3BsYXlfbWF0Y2hfbGlzdCAobWF0Y2hlcywgbGVu LCBtYXgpCitAQCAtMTMzMSw3ICsxNDY0LDcgQEAgcmxfZGlzcGxheV9tYXRjaF9saXN0IChtYXRj aGVzLCBsZW4sIG1heAogICAgICAgIGZvciAoaSA9IDE7IG1hdGNoZXNbaV07IGkrKykKICAJewog IAkgIHRlbXAgPSBwcmludGFibGVfcGFydCAobWF0Y2hlc1tpXSk7CkBAIC00MDgzLDcgKzQxMjUs NyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICAgIH0KICB9 CiAgCi1AQCAtMTU3Miw3ICsxNzI0LDcgQEAgYXBwZW5kX3RvX21hdGNoICh0ZXh0LCBkZWxpbWl0 ZXIsIHF1b3RlX2NoYXIsIG5vbnRyaXZpYWxfbWF0Y2gpCitAQCAtMTU3Miw3ICsxNzI0LDcgQEAg YXBwZW5kX3RvX21hdGNoICh0ZXh0LCBkZWxpbWl0ZXIsIHF1b3RlXwogIAkgIGlmIChybF9wb2lu dCA9PSBybF9lbmQgJiYgdGVtcF9zdHJpbmdfaW5kZXgpCiAgCSAgICBybF9pbnNlcnRfdGV4dCAo dGVtcF9zdHJpbmcpOwogIAl9CkBAIC00MjEyLDcgKzQyNTQsNyBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICByZXR1cm4gMDsKICB9CiAgCi1AQCAtMTgxMyw2 ICsxOTkzLDcgQEAgcmxfY29tcGxldGlvbl9tYXRjaGVzICh0ZXh0LCBlbnRyeV9mdW5jdGlvbikK K0BAIC0xODEzLDYgKzE5OTMsNyBAQCBybF9jb21wbGV0aW9uX21hdGNoZXMgKHRleHQsIGVudHJ5 X2Z1bmN0CiAgICBtYXRjaF9saXN0ID0gKGNoYXIgKiopeG1hbGxvYyAoKG1hdGNoX2xpc3Rfc2l6 ZSArIDEpICogc2l6ZW9mIChjaGFyICopKTsKICAgIG1hdGNoX2xpc3RbMV0gPSAoY2hhciAqKU5V TEw7CiAgCkBAIC00MjIwLDcgKzQyNjIsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgICB3aGlsZSAoc3RyaW5nID0gKCplbnRyeV9mdW5jdGlvbikgKHRleHQs IG1hdGNoZXMpKQogICAgICB7CiAgICAgICAgaWYgKG1hdGNoZXMgKyAxID09IG1hdGNoX2xpc3Rf c2l6ZSkKLUBAIC0xODIyLDYgKzIwMDMsOCBAQCBybF9jb21wbGV0aW9uX21hdGNoZXMgKHRleHQs IGVudHJ5X2Z1bmN0aW9uKQorQEAgLTE4MjIsNiArMjAwMyw4IEBAIHJsX2NvbXBsZXRpb25fbWF0 Y2hlcyAodGV4dCwgZW50cnlfZnVuY3QKICAgICAgICBtYXRjaF9saXN0WysrbWF0Y2hlc10gPSBz dHJpbmc7CiAgICAgICAgbWF0Y2hfbGlzdFttYXRjaGVzICsgMV0gPSAoY2hhciAqKU5VTEw7CiAg ICAgIH0KQEAgLTQyMjksNyArNDI3MSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRk ZDY4ZDFhNGY0M2EKICAKICAgIC8qIElmIHRoZXJlIHdlcmUgYW55IG1hdGNoZXMsIHRoZW4gbG9v ayB0aHJvdWdoIHRoZW0gZmluZGluZyBvdXQgdGhlCiAgICAgICBsb3dlc3QgY29tbW9uIGRlbm9t aW5hdG9yLiAgVGhhdCB0aGVuIGJlY29tZXMgbWF0Y2hfbGlzdFswXS4gKi8KLUBAIC0xODI5LDcg KzIwMTIsNyBAQCBybF9jb21wbGV0aW9uX21hdGNoZXMgKHRleHQsIGVudHJ5X2Z1bmN0aW9uKQor QEAgLTE4MjksNyArMjAxMiw3IEBAIHJsX2NvbXBsZXRpb25fbWF0Y2hlcyAodGV4dCwgZW50cnlf ZnVuY3QKICAgICAgY29tcHV0ZV9sY2Rfb2ZfbWF0Y2hlcyAobWF0Y2hfbGlzdCwgbWF0Y2hlcywg dGV4dCk7CiAgICBlbHNlCQkJCS8qIFRoZXJlIHdlcmUgbm8gbWF0Y2hlcy4gKi8KICAgICAgewpA QCAtNDIzOCw3ICs0MjgwLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0 ZjQzYQogICAgICAgIG1hdGNoX2xpc3QgPSAoY2hhciAqKilOVUxMOwogICAgICB9CiAgICByZXR1 cm4gKG1hdGNoX2xpc3QpOwotQEAgLTE4OTUsNiArMjA3OCw2MiBAQCBybF91c2VybmFtZV9jb21w bGV0aW9uX2Z1bmN0aW9uICh0ZXh0LCBzdGF0ZSkKK0BAIC0xODk1LDYgKzIwNzgsNjIgQEAgcmxf dXNlcm5hbWVfY29tcGxldGlvbl9mdW5jdGlvbiAodGV4dCwgcwogICNlbmRpZiAvKiAhX19XSU4z Ml9fICYmICFfX09QRU5OVCAqLwogIH0KICAKQEAgLTQzMDEsNyArNDM0Myw3IEBAIGIxMzcwNmFi YmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAvKiBPa2F5LCBub3cgd2Ugd3JpdGUg dGhlIGVudHJ5X2Z1bmN0aW9uIGZvciBmaWxlbmFtZSBjb21wbGV0aW9uLiAgSW4gdGhlCiAgICAg Z2VuZXJhbCBjYXNlLiAgTm90ZSB0aGF0IGNvbXBsZXRpb24gaW4gdGhlIHNoZWxsIGlzIGEgbGl0 dGxlIGRpZmZlcmVudAogICAgIGJlY2F1c2Ugb2YgYWxsIHRoZSBwYXRobmFtZXMgdGhhdCBtdXN0 IGJlIGZvbGxvd2VkIHdoZW4gbG9va2luZyB1cCB0aGUKLUBAIC0xOTA5LDggKzIxNDgsOCBAQCBy bF9maWxlbmFtZV9jb21wbGV0aW9uX2Z1bmN0aW9uICh0ZXh0LCBzdGF0ZSkKK0BAIC0xOTA5LDgg KzIxNDgsOCBAQCBybF9maWxlbmFtZV9jb21wbGV0aW9uX2Z1bmN0aW9uICh0ZXh0LCBzCiAgICBz dGF0aWMgY2hhciAqZGlybmFtZSA9IChjaGFyICopTlVMTDsKICAgIHN0YXRpYyBjaGFyICp1c2Vy c19kaXJuYW1lID0gKGNoYXIgKilOVUxMOwogICAgc3RhdGljIGludCBmaWxlbmFtZV9sZW47CkBA IC00MzEyLDcgKzQzNTQsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRm NDNhCiAgICBzdHJ1Y3QgZGlyZW50ICplbnRyeTsKICAKICAgIC8qIElmIHdlIGRvbid0IGhhdmUg YW55IHN0YXRlLCB0aGVuIGRvIHNvbWUgaW5pdGlhbGl6YXRpb24uICovCi1AQCAtMTk2MSwyNiAr MjIwMCw1MiBAQCBybF9maWxlbmFtZV9jb21wbGV0aW9uX2Z1bmN0aW9uICh0ZXh0LCBzdGF0ZSkK K0BAIC0xOTYxLDI2ICsyMjAwLDUyIEBAIHJsX2ZpbGVuYW1lX2NvbXBsZXRpb25fZnVuY3Rpb24g KHRleHQsIHMKICAKICAgICAgICAvKiBXZSBhcmVuJ3QgZG9uZSB5ZXQuICBXZSBhbHNvIHN1cHBv cnQgdGhlICJ+dXNlciIgc3ludGF4LiAqLwogIApAQCAtNDM3Miw3ICs0NDE0LDcgQEAgYjEzNzA2 YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAgICAgIGZpbGVuYW1lX2xlbiA9 IHN0cmxlbiAoZmlsZW5hbWUpOwogIAogICAgICAgIHJsX2ZpbGVuYW1lX2NvbXBsZXRpb25fZGVz aXJlZCA9IDE7Ci1AQCAtMTk5NywzNyArMjI2MiwzMSBAQCBybF9maWxlbmFtZV9jb21wbGV0aW9u X2Z1bmN0aW9uICh0ZXh0LCBzdGF0ZSkKK0BAIC0xOTk3LDM3ICsyMjYyLDMxIEBAIHJsX2ZpbGVu YW1lX2NvbXBsZXRpb25fZnVuY3Rpb24gKHRleHQsIHMKICAgIGVudHJ5ID0gKHN0cnVjdCBkaXJl bnQgKilOVUxMOwogICAgd2hpbGUgKGRpcmVjdG9yeSAmJiAoZW50cnkgPSByZWFkZGlyIChkaXJl Y3RvcnkpKSkKICAgICAgewpAQCAtNDQyNCw3ICs0NDY2LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRk ZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAl9CiAgICAgIH0KICAKLUBAIC0yMDQwLDE3ICsyMjk5 LDE3IEBAIHJsX2ZpbGVuYW1lX2NvbXBsZXRpb25fZnVuY3Rpb24gKHRleHQsIHN0YXRlKQorQEAg LTIwNDAsMTcgKzIyOTksMTcgQEAgcmxfZmlsZW5hbWVfY29tcGxldGlvbl9mdW5jdGlvbiAodGV4 dCwgcwogIAl9CiAgICAgICAgaWYgKGRpcm5hbWUpCiAgCXsKQEAgLTQ0NDUsNyArNDQ4Nyw3IEBA IGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAJICB1c2Vyc19kaXJu YW1lID0gKGNoYXIgKilOVUxMOwogIAl9CiAgCi1AQCAtMjA4NCwyNyArMjM0MywzMCBAQCBybF9m aWxlbmFtZV9jb21wbGV0aW9uX2Z1bmN0aW9uICh0ZXh0LCBzdGF0ZSkKK0BAIC0yMDg0LDI3ICsy MzQzLDMwIEBAIHJsX2ZpbGVuYW1lX2NvbXBsZXRpb25fZnVuY3Rpb24gKHRleHQsIHMKICAJCXRl bXBbZGlybGVuKytdID0gJy8nOwogIAkgICAgfQogIApAQCAtNDczMSw4ICs0NzczLDEwIEBAIGIx MzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICsgICAgIGFyZ3VtZW50cyBm b3IgbWVudS1jb21wbGV0ZSwgYW5kIHZpY2UgdmVyc2EuICovCiArICByZXR1cm4gKHJsX21lbnVf Y29tcGxldGUgKC1jb3VudCwga2V5KSk7CiArfQotLS0tIGEvcmVhZGxpbmUvY29uZmlnLmguaW4K LSsrKyBiL3JlYWRsaW5lL2NvbmZpZy5oLmluCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9y ZWFkbGluZS9jb25maWcuaC5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMu b3JpZy9yZWFkbGluZS9jb25maWcuaC5pbgkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvY29uZmlnLmguaW4JMjAxMS0w Ny0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00LDYgKzQsOCBAQAogICAgIGNoYXJh Y3RlcnMsIGV2ZW4gaWYgdGhlIE9TIHN1cHBvcnRzIHRoZW0uICovCiAgI3VuZGVmIE5PX01VTFRJ QllURV9TVVBQT1JUCkBAIC00ODM1LDggKzQ4NzksMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUy MmMwNTUyZGRkNjhkMWE0ZjQzYQogICNpZiBkZWZpbmVkIChfX1NURENfXykgJiYgZGVmaW5lZCAo SEFWRV9TVERBUkdfSCkKICAjICBkZWZpbmUgUFJFRkVSX1NUREFSRwogICMgIGRlZmluZSBVU0Vf VkFSQVJHUwotLS0tIGEvcmVhZGxpbmUvY29uZmlndXJlCi0rKysgYi9yZWFkbGluZS9jb25maWd1 cmUKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2NvbmZpZ3VyZQorPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9jb25maWd1cmUJMjAx MS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAz L3JlYWRsaW5lL2NvbmZpZ3VyZQkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAog QEAgLTEsNyArMSw3IEBACiAgIyEgL2Jpbi9zaAogLSMgRnJvbSBjb25maWd1cmUuaW4gZm9yIFJl YWRsaW5lIDUuMSwgdmVyc2lvbiAyLjU5LgpAQCAtNDkzNCw3ICs0OTgwLDcgQEAgYjEzNzA2YWJi ZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIGdlbmVyYXRlZCBieSBHTlUgQXV0b2Nv bmYgMi42NC4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogIAogICAgJCAkMCAkQAotQEAg LTIyMTEsNyArMjIxMSw3IEBAIGFjX2NvbmZpZ3VyZT0iJFNIRUxMICRhY19hdXhfZGlyL2NvbmZp Z3VyZSIgICMgUGxlYXNlIGRvbid0IHVzZSB0aGlzIHZhci4KK0BAIC0yMjExLDcgKzIyMTEsNyBA QCBhY19jb25maWd1cmU9IiRTSEVMTCAkYWNfYXV4X2Rpci9jb25maWd1CiAgYWNfY29uZmlnX2hl YWRlcnM9IiRhY19jb25maWdfaGVhZGVycyBjb25maWcuaCIKICAKICAKQEAgLTQ5NDMsNyArNDk4 OSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAjIE1h a2Ugc3VyZSB3ZSBjYW4gcnVuIGNvbmZpZy5zdWIuCiAgJFNIRUxMICIkYWNfYXV4X2Rpci9jb25m aWcuc3ViIiBzdW40ID4vZGV2L251bGwgMj4mMSB8fAotQEAgLTM2MjIsMzkgKzM2MjIsNiBAQCAk YXNfZWNobyAiJGFjX2N2X3NhZmVfdG9fZGVmaW5lX19fZXh0ZW5zaW9uc19fIiA+JjY7IH0KK0BA IC0zNjIyLDM5ICszNjIyLDYgQEAgJGFzX2VjaG8gIiRhY19jdl9zYWZlX3RvX2RlZmluZV9fX2V4 dGVucwogIAogIAogIApAQCAtNDk4Myw3ICs1MDI5LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUy MmMwNTUyZGRkNjhkMWE0ZjQzYQogICMgSWYgd2UncmUgdXNpbmcgZ2NjIGFuZCB0aGUgdXNlciBo YXNuJ3Qgc3BlY2lmaWVkIENGTEFHUywgYWRkIC1PIHRvIENGTEFHUy4KICB0ZXN0IC1uICIkR0ND IiAmJiB0ZXN0IC1uICIkYXV0b19jZmxhZ3MiICYmIENGTEFHUz0iJENGTEFHUyAtTyIKICAKLUBA IC00MDU2LDYgKzQwMjMsNDAgQEAgaWYgdGVzdCAkYWNfY3ZfY19jaGFyX3Vuc2lnbmVkID0geWVz ICYmIHRlc3QgIiRHQ0MiICE9IHllczsgdGhlbgorQEAgLTQwNTYsNiArNDAyMyw0MCBAQCBpZiB0 ZXN0ICRhY19jdl9jX2NoYXJfdW5zaWduZWQgPSB5ZXMgJiYgCiAgCiAgZmkKICAKQEAgLTUyMzAs NyArNTI3Niw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAK ICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciB0 eXBlIG9mIHNpZ25hbCBmdW5jdGlvbnMiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciB0 eXBlIG9mIHNpZ25hbCBmdW5jdGlvbnMuLi4gIiA+JjY7IH0KLUBAIC01MDc4LDYgKzUyNzgsNDkg QEAgJGFzX2VjaG8gIiNkZWZpbmUgR1dJTlNaX0lOX1NZU19JT0NUTCAxIiA+PmNvbmZkZWZzLmgK K0BAIC01MDc4LDYgKzUyNzgsNDkgQEAgJGFzX2VjaG8gIiNkZWZpbmUgR1dJTlNaX0lOX1NZU19J T0NUTCAxIgogIGZpCiAgCiAgCkBAIC01MjgwLDcgKzUzMjYsNyBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v LSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyIHNpZ25hbCBoYW5kbGVycyBhcmUgb2YgdHlwZSB2 b2lkIiA+JjUKICAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHNpZ25hbCBoYW5kbGVycyBh cmUgb2YgdHlwZSB2b2lkLi4uICIgPiY2OyB9CiAgaWYgdGVzdCAiJHtiYXNoX2N2X3ZvaWRfc2ln aGFuZGxlcitzZXR9IiA9IHNldDsgdGhlbiA6Ci1AQCAtNTExNiw2ICs1MzU5LDcgQEAgJGFzX2Vj aG8gIiNkZWZpbmUgVk9JRF9TSUdIQU5ETEVSIDEiID4+Y29uZmRlZnMuaAorQEAgLTUxMTYsNiAr NTM1OSw3IEBAICRhc19lY2hvICIjZGVmaW5lIFZPSURfU0lHSEFORExFUiAxIiA+PmMKICAKICBm aQogIApAQCAtNTM3MSw3ICs1NDE3LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRk NjhkMWE0ZjQzYQogIAogIGZpCiAgCi1AQCAtNTY2OCw1NSArNTk1OCw4OSBAQCBpZiB0ZXN0ICJ4 JGFjX2N2X2Z1bmNfd2N3aWR0aCIgPSB4IiJ5ZXM7IHRoZW4gOgorQEAgLTU2NjgsNTUgKzU5NTgs ODkgQEAgaWYgdGVzdCAieCRhY19jdl9mdW5jX3djd2lkdGgiID0geCIieWVzOwogIAogIGZpCiAg CkBAIC01NDgzLDcgKzU1MjksNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQx YTRmNDNhCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2lu ZyBmb3IgbmxfbGFuZ2luZm8gYW5kIENPREVTRVQiID4mNQogICRhc19lY2hvX24gImNoZWNraW5n IGZvciBubF9sYW5naW5mbyBhbmQgQ09ERVNFVC4uLiAiID4mNjsgfQogIGlmIHRlc3QgIiR7YmFz aF9jdl9sYW5naW5mb19jb2Rlc2V0K3NldH0iID0gc2V0OyB0aGVuIDoKLUBAIC01NzQ4LDYgKzYw NzIsMTI2IEBAIGlmIHRlc3QgJGJhc2hfY3ZfbGFuZ2luZm9fY29kZXNldCA9IHllczsgdGhlbgor QEAgLTU3NDgsNiArNjA3MiwxMjYgQEAgaWYgdGVzdCAkYmFzaF9jdl9sYW5naW5mb19jb2Rlc2V0 ID0geWVzOwogIAogIGZpCiAgCkBAIC01NjEwLDcgKzU2NTYsNyBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgCiAgY2FzZSAiJGhvc3RfY3B1IiBpbgotQEAg LTYzNTcsNyArNjgwMSw3IEBAIGNhdCA+PiRDT05GSUdfU1RBVFVTIDw8XF9BQ0VPRiB8fCBhY193 cml0ZV9mYWlsPTEKK0BAIC02MzU3LDcgKzY4MDEsNyBAQCBjYXQgPj4kQ09ORklHX1NUQVRVUyA8 PFxfQUNFT0YgfHwgYWNfd3JpCiAgIyByZXBvcnQgYWN0dWFsIGlucHV0IHZhbHVlcyBvZiBDT05G SUdfRklMRVMgZXRjLiBpbnN0ZWFkIG9mIHRoZWlyCiAgIyB2YWx1ZXMgYWZ0ZXIgb3B0aW9ucyBo YW5kbGluZy4KICBhY19sb2c9IgpAQCAtNTYyOCw4ICs1Njc0LDEwIEBAIGIxMzcwNmFiYmVlOTY0 NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBjb25maWd1cmVkIGJ5ICQwLCBnZW5lcmF0ZWQg YnkgR05VIEF1dG9jb25mIDIuNjQsCiAgICB3aXRoIG9wdGlvbnMgXFwiYCRhc19lY2hvICIkYWNf Y29uZmlndXJlX2FyZ3MiIHwgc2VkICdzL14gLy87IHMvW1xcIiJcYFwkXS9cXFxcJi9nJ2BcXCIK ICAKLS0tLSBhL3JlYWRsaW5lL2NvbmZpZ3VyZS5pbgotKysrIGIvcmVhZGxpbmUvY29uZmlndXJl LmluCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9jb25maWd1cmUuaW4KKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvY29uZmlndXJl LmluCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4y MDExMDcwMy9yZWFkbGluZS9jb25maWd1cmUuaW4JMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC01LDI4ICs1LDI2IEBAIGRubCByZXBvcnQgYnVncyB0byBjaGV0QHBvLmN3 cnUuZWR1CiAgZG5sCiAgZG5sIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b2NvbmYgdG8gcHJv ZHVjZSBhIGNvbmZpZ3VyZSBzY3JpcHQuCkBAIC01NjQxLDI4ICs1Njg5LDMwIEBAIGIxMzcwNmFi YmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIC0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAtIyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBv cHRpb24pCiAtIyBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsjICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsjICAgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKLSsjICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNp b24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsjICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KLSAKKy0KIC0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIC0jIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIC0jIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCistCistIyBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSMg YWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdh cmUKKy0jIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9z dG9uLCBNQQorLSMgMDIxMTEtMTMwNywgVVNBLgorKyMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgICBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQorKyMgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lv biAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorKwogKyMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICsjICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICsjICAgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogKyMgICBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogIAotLSMgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK LS0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNv ZnR3YXJlCi0tIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAs IEJvc3RvbiwgTUEKLS0jIDAyMTExLTEzMDcsIFVTQS4KKy1BQ19SRVZJU0lPTihbZm9yIFJlYWRs aW5lIDUuMSwgdmVyc2lvbiAyLjU5XSkKICsjICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICsjICAgYWxvbmcgd2l0aCB0 aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u Ci0gCi0tQUNfUkVWSVNJT04oW2ZvciBSZWFkbGluZSA1LjEsIHZlcnNpb24gMi41OV0pCisrCiAr QUNfUkVWSVNJT04oW2ZvciBSZWFkbGluZSA2LjIsIHZlcnNpb24gMi42N10pCiAgCiAgbTRfaW5j bHVkZShbLi4vY29uZmlnL292ZXJyaWRlLm00XSkKQEAgLTU3NTMsOCArNTgwMywxMCBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgQkFTSF9IQVZFX1RJT0NTVEFU CiAgQkFTSF9IQVZFX0ZJT05SRUFECiAgQkFTSF9DSEVDS19TUEVFRF9UCi0tLS0gYS9yZWFkbGlu ZS9kaXNwbGF5LmMKLSsrKyBiL3JlYWRsaW5lL2Rpc3BsYXkuYworSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA3MDMvcmVhZGxpbmUvZGlzcGxheS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4y MDExMDcwMy5vcmlnL3JlYWRsaW5lL2Rpc3BsYXkuYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZGlzcGxheS5jCTIw MTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyNCArMSwyNCBAQAogIC8q IGRpc3BsYXkuYyAtLSByZWFkbGluZSByZWRpc3BsYXkgZmFjaWxpdHkuICovCiAgCkBAIC02NDcy LDExICs2NTI0LDExIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EK ICAgIHsKIC0gICAgY2hhciAqdnRlbXAgPSB2aXNpYmxlX2xpbmU7CiAtICAgIGludCAqaXRlbXAg PSB2aXNfbGJyZWFrcywgbnRlbXAgPSB2aXNfbGJzaXplOwotLQotLSAgICB2aXNpYmxlX2xpbmUg PSBpbnZpc2libGVfbGluZTsKLS0gICAgaW52aXNpYmxlX2xpbmUgPSB2dGVtcDsKICsgICAgc3Ry dWN0IGxpbmVfc3RhdGUgKnZ0ZW1wID0gbGluZV9zdGF0ZV92aXNpYmxlOwogIAorLSAgICB2aXNp YmxlX2xpbmUgPSBpbnZpc2libGVfbGluZTsKKy0gICAgaW52aXNpYmxlX2xpbmUgPSB2dGVtcDsK Ky0KIC0gICAgdmlzX2xicmVha3MgPSBpbnZfbGJyZWFrczsKIC0gICAgaW52X2xicmVha3MgPSBp dGVtcDsKIC0KQEAgLTY0OTUsNyArNjU0Nyw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICAgIF9ybF9yZWxlYXNlX3NpZ2ludCAoKTsKICB9CiAgCi1AQCAtMTE2 OSwxMiArMTI3NSwxMiBAQCB1cGRhdGVfbGluZSAob2xkLCBuZXcsIGN1cnJlbnRfbGluZSwgb21h eCwgbm1heCwgaW52X2JvdGxpbikKK0BAIC0xMTY5LDEyICsxMjc1LDEyIEBAIHVwZGF0ZV9saW5l IChvbGQsIG5ldywgY3VycmVudF9saW5lLCBvbWEKICAgICAgIGludCBjdXJyZW50X2xpbmUsIG9t YXgsIG5tYXgsIGludl9ib3RsaW47CiAgewogICAgcmVnaXN0ZXIgY2hhciAqb2ZkLCAqb2xzLCAq b2UsICpuZmQsICpubHMsICpuZTsKQEAgLTY1MTAsNyArNjU2Miw3IEBAIGIxMzcwNmFiYmVlOTY0 NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAjZW5kaWYKICAKICAgIC8qIElmIHdlJ3JlIGF0 IHRoZSByaWdodCBlZGdlIG9mIGEgdGVybWluYWwgdGhhdCBzdXBwb3J0cyB4biwgd2UncmUKLUBA IC0xMTg1LDcgKzEyOTEsNyBAQCB1cGRhdGVfbGluZSAob2xkLCBuZXcsIGN1cnJlbnRfbGluZSwg b21heCwgbm1heCwgaW52X2JvdGxpbikKK0BAIC0xMTg1LDcgKzEyOTEsNyBAQCB1cGRhdGVfbGlu ZSAob2xkLCBuZXcsIGN1cnJlbnRfbGluZSwgb21hCiAgICBpZiAoTUJfQ1VSX01BWCA+IDEgJiYg cmxfYnl0ZV9vcmllbnRlZCA9PSAwKQogICAgICB0ZW1wID0gX3JsX2xhc3RfY19wb3M7CiAgICBl bHNlCkBAIC02NTE5LDcgKzY1NzEsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2 OGQxYTRmNDNhCiAgICBpZiAodGVtcCA9PSBfcmxfc2NyZWVud2lkdGggJiYgX3JsX3Rlcm1fYXV0 b3dyYXAgJiYgIV9ybF9ob3Jpem9udGFsX3Njcm9sbF9tb2RlCiAgCSYmIF9ybF9sYXN0X3ZfcG9z ID09IGN1cnJlbnRfbGluZSAtIDEpCiAgICAgIHsKLUBAIC0xMjAwLDggKzEzMDYsOCBAQCB1cGRh dGVfbGluZSAob2xkLCBuZXcsIGN1cnJlbnRfbGluZSwgb21heCwgbm1heCwgaW52X2JvdGxpbikK K0BAIC0xMjAwLDggKzEzMDYsOCBAQCB1cGRhdGVfbGluZSAob2xkLCBuZXcsIGN1cnJlbnRfbGlu ZSwgb21hCiAgCSAgLyogVGhpcyBmaXhlcyBvbmx5IGRvdWJsZS1jb2x1bW4gY2hhcmFjdGVycywg YnV0IGlmIHRoZSB3cmFwcGVkCiAgCSAgICAgY2hhcmFjdGVyIGNvbXN1bWVzIG1vcmUgdGhhbiB0 aHJlZSBjb2x1bW5zLCBzcGFjZXMgd2lsbCBiZQogIAkgICAgIGluc2VydGVkIGluIHRoZSBzdHJp bmcgYnVmZmVyLiAqLwpAQCAtNjUzMCw3ICs2NTgyLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUy MmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogIAkgIG1lbXNldCAoJnBzLCAwLCBzaXplb2YgKG1ic3Rh dGVfdCkpOwogIAkgIHJldCA9IG1icnRvd2MgKCZ3YywgbmV3LCBNQl9DVVJfTUFYLCAmcHMpOwot QEAgLTEyMTcsNyArMTMyMyw3IEBAIHVwZGF0ZV9saW5lIChvbGQsIG5ldywgY3VycmVudF9saW5l LCBvbWF4LCBubWF4LCBpbnZfYm90bGluKQorQEAgLTEyMTcsNyArMTMyMyw3IEBAIHVwZGF0ZV9s aW5lIChvbGQsIG5ldywgY3VycmVudF9saW5lLCBvbWEKICAKICAJICBpZiAodGVtcHdpZHRoID4g MCkKICAJICAgIHsKQEAgLTY1MzksNyArNjU5MSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICAJICAgICAgYnl0ZXMgPSByZXQ7CiAgCSAgICAgIGZvciAoY291 bnQgPSAwOyBjb3VudCA8IGJ5dGVzOyBjb3VudCsrKQogIAkJcHV0YyAobmV3W2NvdW50XSwgcmxf b3V0c3RyZWFtKTsKLUBAIC0xMjI4LDEwICsxMzM0LDEzIEBAIHVwZGF0ZV9saW5lIChvbGQsIG5l dywgY3VycmVudF9saW5lLCBvbWF4LCBubWF4LCBpbnZfYm90bGluKQorQEAgLTEyMjgsMTAgKzEz MzQsMTMgQEAgdXBkYXRlX2xpbmUgKG9sZCwgbmV3LCBjdXJyZW50X2xpbmUsIG9tYQogIAkgICAg ICBpZiAocmV0ICE9IDAgJiYgYnl0ZXMgIT0gMCkKICAJCXsKICAJCSAgaWYgKE1CX0lOVkFMSURD SCAocmV0KSkKQEAgLTY1NTYsNyArNjYwOCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICAJCX0KICAJICAgIH0KICAJICBlbHNlCi1AQCAtMTI2NSw3ICsxMzc0 LDcgQEAgdXBkYXRlX2xpbmUgKG9sZCwgbmV3LCBjdXJyZW50X2xpbmUsIG9tYXgsIG5tYXgsIGlu dl9ib3RsaW4pCitAQCAtMTI2NSw3ICsxMzc0LDcgQEAgdXBkYXRlX2xpbmUgKG9sZCwgbmV3LCBj dXJyZW50X2xpbmUsIG9tYQogICAgICAgIC8qIFNlZSBpZiB0aGUgb2xkIGxpbmUgaXMgYSBzdWJz ZXQgb2YgdGhlIG5ldyBsaW5lLCBzbyB0aGF0IHRoZQogIAkgb25seSBjaGFuZ2UgaXMgYWRkaW5n IGNoYXJhY3RlcnMuICovCiAgICAgICAgdGVtcCA9IChvbWF4IDwgbm1heCkgPyBvbWF4IDogbm1h eDsKQEAgLTY1NjUsNyArNjYxNyw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4 ZDFhNGY0M2EKICAJewogIAkgIG9mZCA9IG9sZCArIHRlbXA7CiAgCSAgbmZkID0gbmV3ICsgdGVt cDsKLUBAIC0xNDA3LDMwICsxNTE2LDQ4IEBAIHVwZGF0ZV9saW5lIChvbGQsIG5ldywgY3VycmVu dF9saW5lLCBvbWF4LCBubWF4LCBpbnZfYm90bGluKQorQEAgLTE0MDcsMzAgKzE1MTYsNDggQEAg dXBkYXRlX2xpbmUgKG9sZCwgbmV3LCBjdXJyZW50X2xpbmUsIG9tYQogICAgICAgc2VxdWVuY2Vz IChsaWtlIGRyYXdpbmcgdGhlIGB1bmJvbGQnIHNlcXVlbmNlIHdpdGhvdXQgYSBjb3JyZXNwb25k aW5nCiAgICAgICBgYm9sZCcpIHRoYXQgbWFuaWZlc3RzIGl0c2VsZiBvbiBjZXJ0YWluIHRlcm1p bmFscy4gKi8KICAKQEAgLTY2MTgsNyArNjY3MCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICAKICAgIC8qIGlmIChsZW4gKG5ldykgPiBsZW4gKG9sZCkpCiAg ICAgICBsZW5kaWZmID09IGRpZmZlcmVuY2UgaW4gYnVmZmVyCi1AQCAtMTQzOCw3ICsxNTY1LDcg QEAgdXBkYXRlX2xpbmUgKG9sZCwgbmV3LCBjdXJyZW50X2xpbmUsIG9tYXgsIG5tYXgsIGludl9i b3RsaW4pCitAQCAtMTQzOCw3ICsxNTY1LDcgQEAgdXBkYXRlX2xpbmUgKG9sZCwgbmV3LCBjdXJy ZW50X2xpbmUsIG9tYQogICAgICAgV2hlbiBub3QgdXNpbmcgbXVsdGlieXRlIGNoYXJhY3RlcnMs IHRoZXNlIGFyZSBlcXVhbCAqLwogICAgbGVuZGlmZiA9IChubHMgLSBuZmQpIC0gKG9scyAtIG9m ZCk7CiAgICBpZiAoTUJfQ1VSX01BWCA+IDEgJiYgcmxfYnl0ZV9vcmllbnRlZCA9PSAwKQpAQCAt NjYyNyw3ICs2Njc5LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQz YQogICAgZWxzZQogICAgICBjb2xfbGVuZGlmZiA9IGxlbmRpZmY7CiAgCi1AQCAtMTQ2Myw3ICsx NTkwLDcgQEAgdXBkYXRlX2xpbmUgKG9sZCwgbmV3LCBjdXJyZW50X2xpbmUsIG9tYXgsIG5tYXgs IGludl9ib3RsaW4pCitAQCAtMTQ2Myw3ICsxNTkwLDcgQEAgdXBkYXRlX2xpbmUgKG9sZCwgbmV3 LCBjdXJyZW50X2xpbmUsIG9tYQogICAgLyogSW5zZXJ0IChkaWZmIChsZW4gKG9sZCksIGxlbiAo bmV3KSkgY2guICovCiAgICB0ZW1wID0gbmUgLSBuZmQ7CiAgICBpZiAoTUJfQ1VSX01BWCA+IDEg JiYgcmxfYnl0ZV9vcmllbnRlZCA9PSAwKQpAQCAtNjYzNiw3ICs2Njg4LDcgQEAgYjEzNzA2YWJi ZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAgZWxzZQogICAgICBjb2xfdGVtcCA9 IHRlbXA7CiAgCi1AQCAtMTQ3MSwyMiArMTU5OCw2MCBAQCB1cGRhdGVfbGluZSAob2xkLCBuZXcs IGN1cnJlbnRfbGluZSwgb21heCwgbm1heCwgaW52X2JvdGxpbikKK0BAIC0xNDcxLDIyICsxNTk4 LDYwIEBAIHVwZGF0ZV9saW5lIChvbGQsIG5ldywgY3VycmVudF9saW5lLCBvbWEKICAgICAgewog ICAgICAgIC8qIE5vbi16ZXJvIGlmIHdlJ3JlIGluY3JlYXNpbmcgdGhlIG51bWJlciBvZiBsaW5l cy4gKi8KICAgICAgICBpbnQgZ2wgPSBjdXJyZW50X2xpbmUgPj0gX3JsX3Zpc19ib3RsaW4gJiYg aW52X2JvdGxpbiA+IF9ybF92aXNfYm90bGluOwpAQCAtNjcwMCw3ICs2NzUyLDcgQEAgYjEzNzA2 YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAkgIGVsc2UgaWYgKChNQl9DVVJf TUFYID09IDEgfHwgcmxfYnl0ZV9vcmllbnRlZCAhPSAwKSAmJiAqb2xzID09IDAgJiYgbGVuZGlm ZiA+IDApCiAgCSAgICB7CiAgCSAgICAgIC8qIEF0IHRoZSBlbmQgb2YgYSBsaW5lIHRoZSBjaGFy YWN0ZXJzIGRvIG5vdCBoYXZlIHRvCi1AQCAtMTQ5OCwxMSArMTY2MywxNiBAQCB1cGRhdGVfbGlu ZSAob2xkLCBuZXcsIGN1cnJlbnRfbGluZSwgb21heCwgbm1heCwgaW52X2JvdGxpbikKK0BAIC0x NDk4LDExICsxNjYzLDE2IEBAIHVwZGF0ZV9saW5lIChvbGQsIG5ldywgY3VycmVudF9saW5lLCBv bWEKICAJICAgIH0KICAJICBlbHNlCiAgCSAgICB7CkBAIC02NzIwLDcgKzY3NzIsNyBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCSAgICAgIHJldHVybjsKICAJ ICAgIH0KICAJICAvKiBDb3B5IChuZXcpIGNoYXJzIHRvIHNjcmVlbiBmcm9tIGZpcnN0IGRpZmYg dG8gbGFzdCBtYXRjaC4gKi8KLUBAIC0xNTEwLDE1ICsxNjgwLDIzIEBAIHVwZGF0ZV9saW5lIChv bGQsIG5ldywgY3VycmVudF9saW5lLCBvbWF4LCBubWF4LCBpbnZfYm90bGluKQorQEAgLTE1MTAs MTUgKzE2ODAsMjMgQEAgdXBkYXRlX2xpbmUgKG9sZCwgbmV3LCBjdXJyZW50X2xpbmUsIG9tYQog IAkgIGlmICgodGVtcCAtIGxlbmRpZmYpID4gMCkKICAJICAgIHsKICAJICAgICAgX3JsX291dHB1 dF9zb21lX2NoYXJzIChuZmQgKyBsZW5kaWZmLCB0ZW1wIC0gbGVuZGlmZik7CkBAIC02NzQ5LDcg KzY4MDEsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCSAg ICB9CiAgCX0KICAgICAgICBlbHNlCi1AQCAtMTUzMCw2ICsxNzA4LDE0IEBAIHVwZGF0ZV9saW5l IChvbGQsIG5ldywgY3VycmVudF9saW5lLCBvbWF4LCBubWF4LCBpbnZfYm90bGluKQorQEAgLTE1 MzAsNiArMTcwOCwxNCBAQCB1cGRhdGVfbGluZSAob2xkLCBuZXcsIGN1cnJlbnRfbGluZSwgb21h CiAgCSAgICAgY2hhciBpbiB0aGUgY3VycmVudCBsaW5lICh3aGljaCBpbXBsaWVzIHdlIGp1c3Qg b3V0cHV0IHNvbWUgaW52aXNpYmxlCiAgCSAgICAgY2hhcmFjdGVycykgd2UgbmVlZCB0byBhZGp1 c3QgX3JsX2xhc3RfY19wb3MsIHNpbmNlIGl0IHJlcHJlc2VudHMKICAJICAgICBhIHBoeXNpY2Fs IGNoYXJhY3RlciBwb3NpdGlvbi4gKi8KQEAgLTY3NjQsNyArNjgxNiw3IEBAIGIxMzcwNmFiYmVl OTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAJfQogICAgICB9CiAgICBlbHNlCQkJCS8q IERlbGV0ZSBjaGFyYWN0ZXJzIGZyb20gbGluZS4gKi8KLUBAIC0xNTUxLDggKzE3MzcsMjIgQEAg dXBkYXRlX2xpbmUgKG9sZCwgbmV3LCBjdXJyZW50X2xpbmUsIG9tYXgsIG5tYXgsIGludl9ib3Rs aW4pCitAQCAtMTU1MSw4ICsxNzM3LDIyIEBAIHVwZGF0ZV9saW5lIChvbGQsIG5ldywgY3VycmVu dF9saW5lLCBvbWEKICAJICB0ZW1wID0gbmxzIC0gbmZkOwogIAkgIGlmICh0ZW1wID4gMCkKICAJ ICAgIHsKQEAgLTY3ODgsNyArNjg0MCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRk ZDY4ZDFhNGY0M2EKICAJICAgIH0KICAJfQogICAgICAgIC8qIE90aGVyd2lzZSwgcHJpbnQgb3Zl ciB0aGUgZXhpc3RpbmcgbWF0ZXJpYWwuICovCi1AQCAtMTU2MCwxNiArMTc2MCwzNyBAQCB1cGRh dGVfbGluZSAob2xkLCBuZXcsIGN1cnJlbnRfbGluZSwgb21heCwgbm1heCwgaW52X2JvdGxpbikK K0BAIC0xNTYwLDE2ICsxNzYwLDM3IEBAIHVwZGF0ZV9saW5lIChvbGQsIG5ldywgY3VycmVudF9s aW5lLCBvbWEKICAJewogIAkgIGlmICh0ZW1wID4gMCkKICAJICAgIHsKQEAgLTcxMDUsOCArNzE1 NywxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICB3aGls ZSAocG9pbnQgPCBzdGFydCkKICAgICAgewogICAgICAgIHRtcCA9IG1icmxlbiAoc3RyICsgcG9p bnQsIG1heCwgJnBzKTsKLS0tLSBhL3JlYWRsaW5lL2RvYy9DaGFuZ2VMb2cuZ2RiCi0rKysgYi9y ZWFkbGluZS9kb2MvQ2hhbmdlTG9nLmdkYgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVh ZGxpbmUvZG9jL0NoYW5nZUxvZy5nZGIKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEw NzAzLm9yaWcvcmVhZGxpbmUvZG9jL0NoYW5nZUxvZy5nZGIJMjAxMS0wNy0wMyAxMDo0MDo1My4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2RvYy9DaGFu Z2VMb2cuZ2RiCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwzICsx LDcgQEAKICsyMDExLTA0LTI1ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhh dC5jb20+CiArCkBAIC03MTE1LDggKzcxNjksMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMw NTUyZGRkNjhkMWE0ZjQzYQogIDIwMDYtMDQtMjQgIERhbmllbCBKYWNvYm93aXR6ICA8ZGFuQGNv ZGVzb3VyY2VyeS5jb20+CiAgCiAgCUltcG9ydGVkIHJlYWRsaW5lIDUuMSwgYW5kIHVwc3RyZWFt IHBhdGNoZXMgMDAxLTAwNC4KLS0tLSBhL3JlYWRsaW5lL2RvYy9NYWtlZmlsZS5pbgotKysrIGIv cmVhZGxpbmUvZG9jL01ha2VmaWxlLmluCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFk bGluZS9kb2MvTWFrZWZpbGUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAz Lm9yaWcvcmVhZGxpbmUvZG9jL01ha2VmaWxlLmluCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAw MDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9kb2MvTWFrZWZpbGUu aW4JMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI1ICsxLDI0IEBA CiAgIyBUaGlzIG1ha2VmaWxlIGZvciBSZWFkbGluZSBsaWJyYXJ5IGRvY3VtZW50YXRpb24gaXMg aW4gLSotIHRleHQgLSotIG1vZGUuCiAgIyBFbWFjcyBsaWtlcyBpdCB0aGF0IHdheS4KQEAgLTcx MjgsMjMgKzcxODQsMjUgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQz YQogLSMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKIC0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKIC0jIGFueSBsYXRlciB2ZXJzaW9uLgot KyMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQotKyMgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyMgICB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyMgICAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIAorLQogLSMgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAtIyBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgogLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQogLSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKy0KKy0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCistIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90 LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorLSMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVt cGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEgVVNBLgorKyMgICBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQorKyMgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgICAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgorKwogKyMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICsjICAgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICsjICAg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQogKyMgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot IAotLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKLS0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRl IHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0tIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxh Y2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMSBVU0EuCisrCiArIyAgIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAr IyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgogIApAQCAtNzE1NSw3ICs3MjEzLDcgQEAgYjEzNzA2YWJiZWU5NjQ2 ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogIHByZWZpeCA9IEBwcmVmaXhACiAgCi1AQCAt NjQsOSArNjMsOSBAQCBQU1BERiAgICAgICA9IGdzIC1zUEFQRVJTSVpFPSR7UEFQRVJTSVpFfSAt c0RFVklDRT1wZGZ3cml0ZSAtZE5PUEFVU0UgLWRCQVRDSCAtcworQEAgLTY0LDkgKzYzLDkgQEAg UFNQREYgICAgICAgPSBncyAtc1BBUEVSU0laRT0ke1BBUEVSU0laRQogIAogIFJMU1JDID0gJChz cmNkaXIpL3JsbWFuLnRleGkgJChzcmNkaXIpL3JsdXNlci50ZXhpIFwKICAJJChzcmNkaXIpL3Js dGVjaC50ZXhpICQoc3JjZGlyKS92ZXJzaW9uLnRleGkgXApAQCAtNzE2Nyw3ICs3MjI1LDcgQEAg YjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogICMgVGhpcyBzaG91 bGQgYmUgYSBwcm9ncmFtIHRoYXQgY29udmVydHMgdHJvZmYgdG8gYW4gYXNjaWktcmVhZGFibGUg Zm9ybWF0CiAgTlJPRkYgICAgICAgPSBncm9mZiAtVGFzY2lpCi1AQCAtODMsNyArODIsNyBAQCBQ REZPQkogPSByZWFkbGluZS5wZGYgaGlzdG9yeS5wZGYgcmx1c2VybWFuLnBkZgorQEAgLTgzLDcg KzgyLDcgQEAgUERGT0JKID0gcmVhZGxpbmUucGRmIGhpc3RvcnkucGRmIHJsdXNlcgogIAogIElO VEVSTUVESUFURV9PQkogPSBybG1hbi5kdmkKICAKQEAgLTcxNzYsNyArNzIzNCw3IEBAIGIxMzcw NmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAuU1VGRklYRVM6ICAgICAg LjAgLjMgLnBzIC50eHQgLmR2aSAuaHRtbCAucGRmCiAgCi1AQCAtOTksOSArOTgsMTEgQEAgRElT VF9ET0NTID0gJChEVklPQkopICQoUFNPQkopICQoSFRNTE9CSikgJChJTkZPT0JKKSAkKFRFWFRP QkopCitAQCAtOTksOSArOTgsMTEgQEAgRElTVF9ET0NTID0gJChEVklPQkopICQoUFNPQkopICQo SFRNTE9CSgogIAkkKFJNKSAkQAogIAktJHtEVklQREZ9ICQ8CiAgCkBAIC03MjE0LDggKzcyNzIs MTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAkJJChSTSkg JChESVNUX0RPQ1MpOyBcCiAgCWZpCiAgCi0tLS0gYS9yZWFkbGluZS9kb2MvZmRsLnRleGkKLSsr KyBiL3JlYWRsaW5lL2RvYy9mZGwudGV4aQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVh ZGxpbmUvZG9jL2ZkbC50ZXhpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5v cmlnL3JlYWRsaW5lL2RvYy9mZGwudGV4aQkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL2ZkbC50ZXhpCTIwMTEt MDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwxMyArMSwxMiBAQAogK0BjIFRo ZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UuCiArQGNlbnRlciBWZXJzaW9uIDEuMywg MyBOb3ZlbWJlciAyMDA4CkBAIC03MjM2LDcgKzcyOTYsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRl NTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkg YW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiAgb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50 LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93ZWQuCi1AQCAtMTEyLDYgKzExMSw5IEBAIGZv cm1hdHMgd2hpY2ggZG8gbm90IGhhdmUgYW55IHRpdGxlIHBhZ2UgYXMgc3VjaCwgYGBUaXRsZSBQ YWdlJycgbWVhbnMKK0BAIC0xMTIsNiArMTExLDkgQEAgZm9ybWF0cyB3aGljaCBkbyBub3QgaGF2 ZSBhbnkgdGl0bGUgcGFnZQogIHRoZSB0ZXh0IG5lYXIgdGhlIG1vc3QgcHJvbWluZW50IGFwcGVh cmFuY2Ugb2YgdGhlIHdvcmsncyB0aXRsZSwKICBwcmVjZWRpbmcgdGhlIGJlZ2lubmluZyBvZiB0 aGUgYm9keSBvZiB0aGUgdGV4dC4KICAKQEAgLTcyNDYsNyArNzMwNiw3IEBAIGIxMzcwNmFiYmVl OTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBBIHNlY3Rpb24gYGBFbnRpdGxlZCBYWVon JyBtZWFucyBhIG5hbWVkIHN1YnVuaXQgb2YgdGhlIERvY3VtZW50IHdob3NlCiAgdGl0bGUgZWl0 aGVyIGlzIHByZWNpc2VseSBYWVogb3IgY29udGFpbnMgWFlaIGluIHBhcmVudGhlc2VzIGZvbGxv d2luZwogIHRleHQgdGhhdCB0cmFuc2xhdGVzIFhZWiBpbiBhbm90aGVyIGxhbmd1YWdlLiAgKEhl cmUgWFlaIHN0YW5kcyBmb3IgYQotQEAgLTM0NCw3ICszNDYsNyBAQCBhbmQgaW5kZXBlbmRlbnQg ZG9jdW1lbnRzIG9yIHdvcmtzLCBpbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IKK0BA IC0zNDQsNyArMzQ2LDcgQEAgYW5kIGluZGVwZW5kZW50IGRvY3VtZW50cyBvciB3b3JrcywgaW4g bwogIGRpc3RyaWJ1dGlvbiBtZWRpdW0sIGlzIGNhbGxlZCBhbiBgYGFnZ3JlZ2F0ZScnIGlmIHRo ZSBjb3B5cmlnaHQKICByZXN1bHRpbmcgZnJvbSB0aGUgY29tcGlsYXRpb24gaXMgbm90IHVzZWQg dG8gbGltaXQgdGhlIGxlZ2FsIHJpZ2h0cwogIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzIGJl eW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4KQEAgLTcyOTMsNyArNzM1Myw3 IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICBAaXRlbQog IEZVVFVSRSBSRVZJU0lPTlMgT0YgVEhJUyBMSUNFTlNFCi1AQCAtNDA0LDExICs0MjMsNDYgQEAg Zm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCBzcGVjaWZp ZWQgdmVyc2lvbiBvcgorQEAgLTQwNCwxMSArNDIzLDQ2IEBAIGZvbGxvd2luZyB0aGUgdGVybXMg YW5kIGNvbmRpdGlvbnMgZWl0aGUKICBvZiBhbnkgbGF0ZXIgdmVyc2lvbiB0aGF0IGhhcyBiZWVu IHB1Ymxpc2hlZCAobm90IGFzIGEgZHJhZnQpIGJ5IHRoZQogIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbi4gIElmIHRoZSBEb2N1bWVudCBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbgogIG51bWJl ciBvZiB0aGlzIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlz aGVkIChub3QKQEAgLTczNDIsNyArNzQwMiw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICAKICBUbyB1c2UgdGhpcyBMaWNlbnNlIGluIGEgZG9jdW1lbnQgeW91 IGhhdmUgd3JpdHRlbiwgaW5jbHVkZSBhIGNvcHkgb2YKICB0aGUgTGljZW5zZSBpbiB0aGUgZG9j dW1lbnQgYW5kIHB1dCB0aGUgZm9sbG93aW5nIGNvcHlyaWdodCBhbmQKLUBAIC00MTgsMTYgKzQ3 MiwxNiBAQCBsaWNlbnNlIG5vdGljZXMganVzdCBhZnRlciB0aGUgdGl0bGUgcGFnZToKK0BAIC00 MTgsMTYgKzQ3MiwxNiBAQCBsaWNlbnNlIG5vdGljZXMganVzdCBhZnRlciB0aGUgdGl0bGUgcGFn CiAgQGdyb3VwCiAgICBDb3B5cmlnaHQgKEMpICBAdmFye3llYXJ9ICBAdmFye3lvdXIgbmFtZX0u CiAgICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQvb3IgbW9k aWZ5IHRoaXMgZG9jdW1lbnQKQEAgLTczNjMsOCArNzQyMywxMCBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgQHNtYWxsZXhhbXBsZQogIEBncm91cAotLS0t IGEvcmVhZGxpbmUvZG9jL2hpc3RvcnkuMwotKysrIGIvcmVhZGxpbmUvZG9jL2hpc3RvcnkuMwor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL2hpc3RvcnkuMworPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9kb2MvaGlzdG9yeS4z CTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDEx MDcwMy9yZWFkbGluZS9kb2MvaGlzdG9yeS4zCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAw ICswMjAwCiBAQCAtNiw5ICs2LDkgQEAKICAuXCIJQ2FzZSBXZXN0ZXJuIFJlc2VydmUgVW5pdmVy c2l0eQogIC5cIgljaGV0QGlucy5DV1JVLkVkdQpAQCAtNzQyMyw3ICs3NDg1LDcgQEAgYjEzNzA2 YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIC5JUiBzdHJpbmcgLgogIFRoZSB0 cmFpbGluZyBcZkI/XGZQIG1heSBiZSBvbWl0dGVkIGlmCiAgLkkgc3RyaW5nCi1AQCAtNTY5LDEw ICs1NzUsMTMgQEAgVGhlIG51bWJlciBvZiBlbnRyaWVzIGN1cnJlbnRseSBzdG9yZWQgaW4gdGhl IGhpc3RvcnkgbGlzdC4KK0BAIC01NjksMTAgKzU3NSwxMyBAQCBUaGUgbnVtYmVyIG9mIGVudHJp ZXMgY3VycmVudGx5IHN0b3JlZCBpCiAgVGhlIG1heGltdW0gbnVtYmVyIG9mIGhpc3RvcnkgZW50 cmllcy4gIFRoaXMgbXVzdCBiZSBjaGFuZ2VkIHVzaW5nCiAgXGZCc3RpZmxlX2hpc3RvcnkoKVxm UC4KICAKQEAgLTc0MzgsOCArNzUwMCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgCiAgLlZiIGNoYXIgaGlzdG9yeV9leHBhbnNpb25fY2hhcgogIFRoZSBj aGFyYWN0ZXIgdGhhdCBpbnRyb2R1Y2VzIGEgaGlzdG9yeSBldmVudC4gIFRoZSBkZWZhdWx0IGlz IFxmQiFcZlAuCi0tLS0gYS9yZWFkbGluZS9kb2MvaGlzdG9yeS50ZXhpCi0rKysgYi9yZWFkbGlu ZS9kb2MvaGlzdG9yeS50ZXhpCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9k b2MvaGlzdG9yeS50ZXhpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmln L3JlYWRsaW5lL2RvYy9oaXN0b3J5LnRleGkJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAg KzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2RvYy9oaXN0b3J5LnRleGkJ MjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00LDggKzQsNiBAQAogIEBz ZXR0aXRsZSBHTlUgSGlzdG9yeSBMaWJyYXJ5CiAgQGMgJSoqZW5kIG9mIGhlYWRlciAoVGhpcyBp cyBmb3IgcnVubmluZyBUZXhpbmZvIG9uIGEgcmVnaW9uLikKQEAgLTc0NDksNyArNzUxMyw3IEBA IGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBAaW5jbHVkZSB2ZXJz aW9uLnRleGkKICAKICBAY29weWluZwotQEAgLTE0LDcgKzEyLDcgQEAgVGhpcyBkb2N1bWVudCBk ZXNjcmliZXMgdGhlIEdOVSBIaXN0b3J5IGxpYnJhcnkKK0BAIC0xNCw3ICsxMiw3IEBAIFRoaXMg ZG9jdW1lbnQgZGVzY3JpYmVzIHRoZSBHTlUgSGlzdG9yeSAKICBhIHByb2dyYW1taW5nIHRvb2wg dGhhdCBwcm92aWRlcyBhIGNvbnNpc3RlbnQgdXNlciBpbnRlcmZhY2UgZm9yCiAgcmVjYWxsaW5n IGxpbmVzIG9mIHByZXZpb3VzbHkgdHlwZWQgaW5wdXQuCiAgCkBAIC03NTA1LDggKzc1NjksMTAg QEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogIEBpbmNsdWRl IGZkbC50ZXhpCiAgCi0tLS0gYS9yZWFkbGluZS9kb2MvaHN0ZWNoLnRleGkKLSsrKyBiL3JlYWRs aW5lL2RvYy9oc3RlY2gudGV4aQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUv ZG9jL2hzdGVjaC50ZXhpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmln L3JlYWRsaW5lL2RvYy9oc3RlY2gudGV4aQkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL2hzdGVjaC50ZXhpCTIw MTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSw3ICsxLDcgQEAKICBAaWdu b3JlCiAgVGhpcyBmaWxlIGRvY3VtZW50cyB0aGUgdXNlciBpbnRlcmZhY2UgdG8gdGhlIEdOVSBI aXN0b3J5IGxpYnJhcnkuCkBAIC03NTE2LDcgKzc1ODIsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRl NTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgQXV0aG9yZWQgYnkgQnJpYW4gRm94IGFuZCBDaGV0IFJh bWV5LgogIAogIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBtYWtlIGFuZCBkaXN0cmlidXRlIHZl cmJhdGltIGNvcGllcyBvZiB0aGlzIG1hbnVhbAotQEAgLTQyNiw2ICs0MjYsMTAgQEAgVGhlIG1h eGltdW0gbnVtYmVyIG9mIGhpc3RvcnkgZW50cmllcy4gIFRoaXMgbXVzdCBiZSBjaGFuZ2VkIHVz aW5nCitAQCAtNDI2LDYgKzQyNiwxMCBAQCBUaGUgbWF4aW11bSBudW1iZXIgb2YgaGlzdG9yeSBl bnRyaWVzLiAgCiAgSWYgbm9uLXplcm8sIHRpbWVzdGFtcHMgYXJlIHdyaXR0ZW4gdG8gdGhlIGhp c3RvcnkgZmlsZSwgc28gdGhleSBjYW4gYmUKICBwcmVzZXJ2ZWQgYmV0d2VlbiBzZXNzaW9ucy4g IFRoZSBkZWZhdWx0IHZhbHVlIGlzIDAsIG1lYW5pbmcgdGhhdAogIHRpbWVzdGFtcHMgYXJlIG5v dCBzYXZlZC4KQEAgLTc1MjcsOCArNzU5MywxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1 NTJkZGQ2OGQxYTRmNDNhCiAgQGVuZCBkZWZ0eXBldmFyCiAgCiAgQGRlZnR5cGV2YXIgY2hhciBo aXN0b3J5X2V4cGFuc2lvbl9jaGFyCi0tLS0gYS9yZWFkbGluZS9kb2MvaHN1c2VyLnRleGkKLSsr KyBiL3JlYWRsaW5lL2RvYy9oc3VzZXIudGV4aQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMv cmVhZGxpbmUvZG9jL2hzdXNlci50ZXhpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDEx MDcwMy5vcmlnL3JlYWRsaW5lL2RvYy9oc3VzZXIudGV4aQkyMDExLTA3LTAzIDEwOjQwOjUzLjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL2hzdXNl ci50ZXhpCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSw3ICsxLDcg QEAKICBAaWdub3JlCiAgVGhpcyBmaWxlIGRvY3VtZW50cyB0aGUgdXNlciBpbnRlcmZhY2UgdG8g dGhlIEdOVSBIaXN0b3J5IGxpYnJhcnkuCkBAIC03NTM4LDcgKzc2MDYsNyBAQCBiMTM3MDZhYmJl ZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgQXV0aG9yZWQgYnkgQnJpYW4gRm94IGFu ZCBDaGV0IFJhbWV5LgogIAogIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBtYWtlIGFuZCBkaXN0 cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGlzIG1hbnVhbAotQEAgLTk3LDcgKzk3LDExIEBA IHRvIGNvbnRhaW4gbm8gbW9yZSB0aGFuIEBlbnZ7JEhJU1RGSUxFU0laRX0KK0BAIC05Nyw3ICs5 NywxMSBAQCB0byBjb250YWluIG5vIG1vcmUgdGhhbiBAZW52eyRISVNURklMRVNJCiAgbGluZXMu ICBJZiBAZW52e0hJU1RGSUxFU0laRX0gaXMgbm90IHNldCwgbm8gdHJ1bmNhdGlvbiBpcyBwZXJm b3JtZWQuCiAgCiAgSWYgdGhlIEBlbnZ7SElTVFRJTUVGT1JNQVR9IGlzIHNldCwgdGhlIHRpbWUg c3RhbXAgaW5mb3JtYXRpb24KQEAgLTc1NjAsNyArNzYyOCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0 ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBAY29kZXtmYyAtcyBbQHZhcntwYXR9PUB2YXJ7cmVw fV0gW0B2YXJ7Y29tbWFuZH1dfQogIEBlbmQgZXhhbXBsZQogIAotQEAgLTI3Nyw3ICsyODEsMTAg QEAgdGhlbSwgc28gdGhhdCB0aGV5IGFyZSBhdmFpbGFibGUgZm9yIHN1YnNlcXVlbnQgcmVjYWxs LgorQEAgLTI3Nyw3ICsyODEsMTAgQEAgdGhlbSwgc28gdGhhdCB0aGV5IGFyZSBhdmFpbGFibGUg Zm9yIHN1YgogIFRoaXMgaXMgbW9zdCB1c2VmdWwgaW4gY29uanVuY3Rpb24gd2l0aCBSZWFkbGlu ZS4KICAKICBUaGUgc2hlbGwgYWxsb3dzIGNvbnRyb2wgb2YgdGhlIHZhcmlvdXMgY2hhcmFjdGVy cyB1c2VkIGJ5IHRoZQpAQCAtNzU3Miw3ICs3NjQwLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUy MmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBlbmQgaWZzZXQKICAKICBAbWVudQotQEAgLTI5Miw2ICsy OTksOCBAQCBoaXN0b3J5IGV4cGFuc2lvbiBtZWNoYW5pc20gd2l0aCB0aGUgQGNvZGV7aGlzdGNo YXJzfSB2YXJpYWJsZS4KK0BAIC0yOTIsNiArMjk5LDggQEAgaGlzdG9yeSBleHBhbnNpb24gbWVj aGFuaXNtIHdpdGggdGhlIEBjbwogIAogIEFuIGV2ZW50IGRlc2lnbmF0b3IgaXMgYSByZWZlcmVu Y2UgdG8gYSBjb21tYW5kIGxpbmUgZW50cnkgaW4gdGhlCiAgaGlzdG9yeSBsaXN0LgpAQCAtNzU5 OSw3ICs3NjY3LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQog IEBzYW1wez99IG1heSBiZSBvbWl0dGVkIGlmIHRoZSBAdmFye3N0cmluZ30gaXMgZm9sbG93ZWQg aW1tZWRpYXRlbHkgYnkKICBhIG5ld2xpbmUuCiAgCi1AQCAtNDEyLDcgKzQyNiw3IEBAIG9mIHRo ZSBmb2xsb3dpbmcgbW9kaWZpZXJzLCBlYWNoIHByZWNlZGVkIGJ5IGEgQHNhbXB7On0uCitAQCAt NDEyLDcgKzQyNiw3IEBAIG9mIHRoZSBmb2xsb3dpbmcgbW9kaWZpZXJzLCBlYWNoIHByZWNlZGUK ICBSZW1vdmUgYSB0cmFpbGluZyBwYXRobmFtZSBjb21wb25lbnQsIGxlYXZpbmcgb25seSB0aGUg aGVhZC4KICAKICBAaXRlbSB0CkBAIC03NjA4LDggKzc2NzYsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2 ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogIEBpdGVtIHIKICBSZW1vdmUgYSB0cmFpbGlu ZyBzdWZmaXggb2YgdGhlIGZvcm0gQHNhbXB7LkB2YXJ7c3VmZml4fX0sIGxlYXZpbmcKLS0tLSBh L3JlYWRsaW5lL2RvYy9pbmMtaGlzdC50ZXhpbmZvCi0rKysgL2Rldi9udWxsCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9kb2MvaW5jLWhpc3QudGV4aW5mbworPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9kb2MvaW5jLWhpc3QudGV4 aW5mbwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAogQEAgLTEsNDU3ICswLDAgQEAKIC1A aWdub3JlCiAtVGhpcyBmaWxlIGRvY3VtZW50cyB0aGUgdXNlciBpbnRlcmZhY2UgdG8gdGhlIEdO VSBIaXN0b3J5IGxpYnJhcnkuCkBAIC04MDY4LDggKzgxMzgsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2 ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogLUFwcGx5IHRoZSBmb2xsb3dpbmcgQHNhbXB7c30g bW9kaWZpZXIgb25jZSB0byBlYWNoIHdvcmQgaW4gdGhlIGV2ZW50LgogLQogLUBlbmQgdGFibGUK LS0tLSBhL3JlYWRsaW5lL2RvYy9yZWFkbGluZS4zCi0rKysgYi9yZWFkbGluZS9kb2MvcmVhZGxp bmUuMworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL3JlYWRsaW5lLjMK Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvZG9jL3Jl YWRsaW5lLjMJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNzAzL3JlYWRsaW5lL2RvYy9yZWFkbGluZS4zCTIwMTEtMDctMDMgMTA6NDE6MjEu MDAwMDAwMDAwICswMjAwCiBAQCAtNiw5ICs2LDkgQEAKICAuXCIJQ2FzZSBXZXN0ZXJuIFJlc2Vy dmUgVW5pdmVyc2l0eQogIC5cIgljaGV0QGlucy5DV1JVLkVkdQpAQCAtODA4Miw3ICs4MTU0LDcg QEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIC5cIgogIC5cIiBG aWxlIE5hbWUgbWFjcm8uICBUaGlzIHVzZWQgdG8gYmUgYC5QTicsIGZvciBQYXRoIE5hbWUsCiAg LlwiIGJ1dCBTdW4gZG9lc24ndCBzZWVtIHRvIGxpa2UgdGhhdCB2ZXJ5IG11Y2guCi1AQCAtMzQs OCArMzQsOCBAQCByZWFkbGluZSBcLSBnZXQgYSBsaW5lIGZyb20gYSB1c2VyIHdpdGggZWRpdGlu ZworQEAgLTM0LDggKzM0LDggQEAgcmVhZGxpbmUgXC0gZ2V0IGEgbGluZSBmcm9tIGEgdXNlciB3 aXRoIAogIFxmQnJlYWRsaW5lXGZQIChcZkljb25zdCBjaGFyICpwcm9tcHRcZlApOwogIC5maQog IC5TSCBDT1BZUklHSFQKQEAgLTgxMDIsNyArODE3NCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1 MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBrZXlzdHJva2VzLiAgQ29udHJvbCBrZXlzIGFyZSBkZW5v dGVkIGJ5IENcLVxmSWtleVxmUiwgZS5nLiwgQ1wtbgogIG1lYW5zIENvbnRyb2xcLU4uICBTaW1p bGFybHksIAogIC5JIG1ldGEKLUBAIC0xMTYsNiArMTE2LDggQEAgVGhlIG5hbWUgb2YgdGhpcyBm aWxlIGlzIHRha2VuIGZyb20gdGhlIHZhbHVlIG9mIHRoZQorQEAgLTExNiw2ICsxMTYsOCBAQCBU aGUgbmFtZSBvZiB0aGlzIGZpbGUgaXMgdGFrZW4gZnJvbSB0aGUgCiAgLkIgSU5QVVRSQwogIGVu dmlyb25tZW50IHZhcmlhYmxlLiAgSWYgdGhhdCB2YXJpYWJsZSBpcyB1bnNldCwgdGhlIGRlZmF1 bHQgaXMKICAuSVIgfi8uaW5wdXRyYyAuCkBAIC04MTExLDcgKzgxODMsNyBAQCBiMTM3MDZhYmJl ZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgV2hlbiBhIHByb2dyYW0gd2hpY2ggdXNl cyB0aGUgcmVhZGxpbmUgbGlicmFyeSBzdGFydHMgdXAsIHRoZQogIGluaXQgZmlsZSBpcyByZWFk LCBhbmQgdGhlIGtleSBiaW5kaW5ncyBhbmQgdmFyaWFibGVzIGFyZSBzZXQuCiAgVGhlcmUgYXJl IG9ubHkgYSBmZXcgYmFzaWMgY29uc3RydWN0cyBhbGxvd2VkIGluIHRoZQotQEAgLTE2OCw2ICsx NzAsOCBAQCBjb21tYW5kIG9yIHRoZSB0ZXh0IG9mIGEgbWFjcm8gYW5kIGEga2V5IHNlcXVlbmNl IHRvIHdoaWNoCitAQCAtMTY4LDYgKzE3MCw4IEBAIGNvbW1hbmQgb3IgdGhlIHRleHQgb2YgYSBt YWNybyBhbmQgYSBrZXkKICBpdCBzaG91bGQgYmUgYm91bmQuIFRoZSBuYW1lIG1heSBiZSBzcGVj aWZpZWQgaW4gb25lIG9mIHR3byB3YXlzOgogIGFzIGEgc3ltYm9saWMga2V5IG5hbWUsIHBvc3Np Ymx5IHdpdGggXGZJTWV0YVwtXGZQIG9yIFxmSUNvbnRyb2xcLVxmUAogIHByZWZpeGVzLCBvciBh cyBhIGtleSBzZXF1ZW5jZS4KQEAgLTgxOTYsNyArODI2OCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0 ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAuQiBob3Jpem9udGFsXC1zY3JvbGxcLW1vZGUgKE9m ZikKICBXaGVuIHNldCB0byBcZkJPblxmUCwgbWFrZXMgcmVhZGxpbmUgdXNlIGEgc2luZ2xlIGxp bmUgZm9yIGRpc3BsYXksCiAgc2Nyb2xsaW5nIHRoZSBpbnB1dCBob3Jpem9udGFsbHkgb24gYSBz aW5nbGUgc2NyZWVuIGxpbmUgd2hlbiBpdAotQEAgLTQ1MSw5ICs0ODgsMTUgQEAgaGF2ZSBhIHNs YXNoIGFwcGVuZGVkIChzdWJqZWN0IHRvIHRoZSB2YWx1ZSBvZgorQEAgLTQ1MSw5ICs0ODgsMTUg QEAgaGF2ZSBhIHNsYXNoIGFwcGVuZGVkIChzdWJqZWN0IHRvIHRoZSB2YQogIC5CIG1hdGNoXC1o aWRkZW5cLWZpbGVzIChPbikKICBUaGlzIHZhcmlhYmxlLCB3aGVuIHNldCB0byBcZkJPblxmUCwg Y2F1c2VzIHJlYWRsaW5lIHRvIG1hdGNoIGZpbGVzIHdob3NlIAogIG5hbWVzIGJlZ2luIHdpdGgg YSBgLicgKGhpZGRlbiBmaWxlcykgd2hlbiBwZXJmb3JtaW5nIGZpbGVuYW1lICAgICAKQEAgLTgy MTMsNyArODI4NSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EK ICAuQiBvdXRwdXRcLW1ldGEgKE9mZikKICBJZiBzZXQgdG8gXGZCT25cZlAsIHJlYWRsaW5lIHdp bGwgZGlzcGxheSBjaGFyYWN0ZXJzIHdpdGggdGhlCiAgZWlnaHRoIGJpdCBzZXQgZGlyZWN0bHkg cmF0aGVyIHRoYW4gYXMgYSBtZXRhLXByZWZpeGVkIGVzY2FwZQotQEAgLTQ2NywxMCArNTEwLDE2 IEBAIHRvIGRpc3BsYXkgYSBzY3JlZW5mdWwgb2YgcG9zc2libGUgY29tcGxldGlvbnMgYXQgYSB0 aW1lLgorQEAgLTQ2NywxMCArNTEwLDE2IEBAIHRvIGRpc3BsYXkgYSBzY3JlZW5mdWwgb2YgcG9z c2libGUgY29tcGwKICBJZiBzZXQgdG8gXGZCT25cZlAsIHJlYWRsaW5lIHdpbGwgZGlzcGxheSBj b21wbGV0aW9ucyB3aXRoIG1hdGNoZXMKICBzb3J0ZWQgaG9yaXpvbnRhbGx5IGluIGFscGhhYmV0 aWNhbCBvcmRlciwgcmF0aGVyIHRoYW4gZG93biB0aGUgc2NyZWVuLgogIC5UUApAQCAtODIzMSw3 ICs4MzAzLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIHdv cmRzIHdoaWNoIGhhdmUgbW9yZSB0aGFuIG9uZSBwb3NzaWJsZSBjb21wbGV0aW9uIGNhdXNlIHRo ZQogIG1hdGNoZXMgdG8gYmUgbGlzdGVkIGltbWVkaWF0ZWx5IGluc3RlYWQgb2YgcmluZ2luZyB0 aGUgYmVsbC4KICAuVFAKLUBAIC00NzgsMTIgKzUyNywyMCBAQCBtYXRjaGVzIHRvIGJlIGxpc3Rl ZCBpbW1lZGlhdGVseSBpbnN0ZWFkIG9mIHJpbmdpbmcgdGhlIGJlbGwuCitAQCAtNDc4LDEyICs1 MjcsMjAgQEAgbWF0Y2hlcyB0byBiZSBsaXN0ZWQgaW1tZWRpYXRlbHkgaW5zdGVhZAogIFRoaXMg YWx0ZXJzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBjb21wbGV0aW9uIGZ1bmN0aW9ucyBp bgogIGEgZmFzaGlvbiBzaW1pbGFyIHRvIFxmQnNob3dcLWFsbFwtaWZcLWFtYmlndW91c1xmUC4K ICBJZiBzZXQgdG8KQEAgLTgyNTMsNyArODMyNSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICAuQiB2aXNpYmxlXC1zdGF0cyAoT2ZmKQogIElmIHNldCB0byBc ZkJPblxmUCwgYSBjaGFyYWN0ZXIgZGVub3RpbmcgYSBmaWxlJ3MgdHlwZSBhcyByZXBvcnRlZCAg CiAgYnkgXGZJc3RhdFxmUCgyKSBpcyBhcHBlbmRlZCB0byB0aGUgZmlsZW5hbWUgd2hlbiBsaXN0 aW5nIHBvc3NpYmxlCi1AQCAtNTMwLDcgKzU4Nyw3IEBAIGxpYnJhcnkgc2V0cyB0aGUgXGZJYXBw bGljYXRpb24gbmFtZVxmUCwgYW5kIGFuIGluaXRpYWxpemF0aW9uCitAQCAtNTMwLDcgKzU4Nyw3 IEBAIGxpYnJhcnkgc2V0cyB0aGUgXGZJYXBwbGljYXRpb24gbmFtZVxmUCwKICBmaWxlIGNhbiB0 ZXN0IGZvciBhIHBhcnRpY3VsYXIgdmFsdWUuCiAgVGhpcyBjb3VsZCBiZSB1c2VkIHRvIGJpbmQg a2V5IHNlcXVlbmNlcyB0byBmdW5jdGlvbnMgdXNlZnVsIGZvcgogIGEgc3BlY2lmaWMgcHJvZ3Jh bS4gIEZvciBpbnN0YW5jZSwgdGhlIGZvbGxvd2luZyBjb21tYW5kIGFkZHMgYQpAQCAtODI2Miw3 ICs4MzM0LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIC5z cCAxCiAgLlJTCiAgLm5mCi1AQCAtNzA2LDEwICs3NjMsMTQgQEAgYXMgaWYgdGhlICIhXGZJblxm UCIgaGlzdG9yeSBleHBhbnNpb24gaGFkIGJlZW4gc3BlY2lmaWVkLgorQEAgLTcwNiwxMCArNzYz LDE0IEBAIGFzIGlmIHRoZSAiIVxmSW5cZlAiIGhpc3RvcnkgZXhwYW5zaW9uIGgKICAuQgogIHlh bmtcLWxhc3RcLWFyZyAoTVwtLlxeLCBNXC1fXF4pCiAgSW5zZXJ0IHRoZSBsYXN0IGFyZ3VtZW50 IHRvIHRoZSBwcmV2aW91cyBjb21tYW5kICh0aGUgbGFzdCB3b3JkIG9mCkBAIC04MjgwLDcgKzgz NTIsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgVGhlIGhp c3RvcnkgZXhwYW5zaW9uIGZhY2lsaXRpZXMgYXJlIHVzZWQgdG8gZXh0cmFjdCB0aGUgbGFzdCBh cmd1bWVudCwKICBhcyBpZiB0aGUgIiEkIiBoaXN0b3J5IGV4cGFuc2lvbiBoYWQgYmVlbiBzcGVj aWZpZWQuCiAgLlBECi1AQCAtODg0LDYgKzk0NSwxMiBAQCBvbmx5IGF0dGVtcHRzIGZpbGVuYW1l IGNvbXBsZXRpb24gdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzLgorQEAgLTg4NCw2ICs5NDUs MTIgQEAgb25seSBhdHRlbXB0cyBmaWxlbmFtZSBjb21wbGV0aW9uIHVuZGVyIAogIC5UUAogIC5C IHBvc3NpYmxlXC1jb21wbGV0aW9ucyAoTVwtPykKICBMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0 aW9ucyBvZiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQuCkBAIC04MzA1LDcgKzgzNzcsNyBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgLkIgZGVsZXRlXC1jaGFyXC1v clwtbGlzdAogIERlbGV0ZXMgdGhlIGNoYXJhY3RlciB1bmRlciB0aGUgY3Vyc29yIGlmIG5vdCBh dCB0aGUgYmVnaW5uaW5nIG9yCiAgZW5kIG9mIHRoZSBsaW5lIChsaWtlIFxmQmRlbGV0ZS1jaGFy XGZQKS4KLUBAIC05NzcsNiArMTA0OSwxNSBAQCBjaGFyYWN0ZXIuICBBIG5lZ2F0aXZlIGNvdW50 IHNlYXJjaGVzIGZvciBwcmV2aW91cyBvY2N1cnJlbmNlcy4KK0BAIC05NzcsNiArMTA0OSwxNSBA QCBjaGFyYWN0ZXIuICBBIG5lZ2F0aXZlIGNvdW50IHNlYXJjaGVzIGZvCiAgQSBjaGFyYWN0ZXIg aXMgcmVhZCBhbmQgcG9pbnQgaXMgbW92ZWQgdG8gdGhlIHByZXZpb3VzIG9jY3VycmVuY2Ugb2Yg dGhhdAogIGNoYXJhY3Rlci4gIEEgbmVnYXRpdmUgY291bnQgc2VhcmNoZXMgZm9yIHN1YnNlcXVl bnQgb2NjdXJyZW5jZXMuCiAgLlRQCkBAIC04MzIxLDggKzgzOTMsMTAgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIC5CIGluc2VydFwtY29tbWVudCAoTVwtIykK ICBXaXRob3V0IGEgbnVtZXJpYyBhcmd1bWVudCwgdGhlIHZhbHVlIG9mIHRoZSByZWFkbGluZQog IC5CIGNvbW1lbnRcLWJlZ2luCi0tLS0gYS9yZWFkbGluZS9kb2MvcmxtYW4udGV4aQotKysrIGIv cmVhZGxpbmUvZG9jL3JsbWFuLnRleGkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRs aW5lL2RvYy9ybG1hbi50ZXhpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5v cmlnL3JlYWRsaW5lL2RvYy9ybG1hbi50ZXhpCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAw ICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9kb2MvcmxtYW4udGV4aQky MDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTQsNyArNCw2IEBACiAgQHNl dHRpdGxlIEdOVSBSZWFkbGluZSBMaWJyYXJ5CiAgQGNvbW1lbnQgJSoqZW5kIG9mIGhlYWRlciAo VGhpcyBpcyBmb3IgcnVubmluZyBUZXhpbmZvIG9uIGEgcmVnaW9uLikKQEAgLTgzMzEsNyArODQw NSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICBAaW5j bHVkZSB2ZXJzaW9uLnRleGkKICAKLUBAIC0xNCw3ICsxMyw3IEBAIFRoaXMgbWFudWFsIGRlc2Ny aWJlcyB0aGUgR05VIFJlYWRsaW5lIExpYnJhcnkKK0BAIC0xNCw3ICsxMyw3IEBAIFRoaXMgbWFu dWFsIGRlc2NyaWJlcyB0aGUgR05VIFJlYWRsaW5lIEwKICBjb25zaXN0ZW5jeSBvZiB1c2VyIGlu dGVyZmFjZSBhY3Jvc3MgZGlzY3JldGUgcHJvZ3JhbXMgd2hpY2ggcHJvdmlkZQogIGEgY29tbWFu ZCBsaW5lIGludGVyZmFjZS4KICAKQEAgLTgzODcsOCArODQ2MSwxMCBAQCBiMTM3MDZhYmJlZTk2 NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgQGluY2x1ZGUgZmRsLnRleGkKICAKLS0t LSBhL3JlYWRsaW5lL2RvYy9ybHRlY2gudGV4aQotKysrIGIvcmVhZGxpbmUvZG9jL3JsdGVjaC50 ZXhpCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9kb2Mvcmx0ZWNoLnRleGkK Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvZG9jL3Js dGVjaC50ZXhpCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDcwMy9yZWFkbGluZS9kb2Mvcmx0ZWNoLnRleGkJMjAxMS0wNy0wMyAxMDo0MToy MS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDE0ICsxLDEzIEBACiAgQGNvbW1lbnQgJSoqc3RhcnQg b2YgaGVhZGVyIChUaGlzIGlzIGZvciBydW5uaW5nIFRleGluZm8gb24gYSByZWdpb24uKQogIEBz ZXRmaWxlbmFtZSBybHRlY2guaW5mbwpAQCAtODQwNSw3ICs4NDgxLDcgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0 byBtYWtlIGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZgogIHRoaXMgbWFudWFsIHBy b3ZpZGVkIHRoZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlCi1A QCAtMzUxLDYgKzM1MCwxMiBAQCBUaGUgQGNvZGV7cmxfc2V0X3Byb21wdCgpfSBmdW5jdGlvbiAo QHB4cmVme1JlZGlzcGxheX0pIG1heQorQEAgLTM1MSw2ICszNTAsMTIgQEAgVGhlIEBjb2Rle3Js X3NldF9wcm9tcHQoKX0gZnVuY3Rpb24gKEBweAogIGJlIHVzZWQgdG8gbW9kaWZ5IHRoZSBwcm9t cHQgc3RyaW5nIGFmdGVyIGNhbGxpbmcgQGNvZGV7cmVhZGxpbmUoKX0uCiAgQGVuZCBkZWZ0eXBl dmFyCiAgCkBAIC04NDQ4LDcgKzg1MjQsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgQGVuZCBkZWZ0eXBlZnVuCiAgCiAgQGRlZnR5cGVmdW4gS2V5bWFwIHJs X2NvcHlfa2V5bWFwIChLZXltYXAgbWFwKQotQEAgLTYxNyw3ICs2MzYsMTMgQEAgdGhlIE1ldGEg ZGlnaXRzIGJvdW5kIHRvIHByb2R1Y2UgbnVtZXJpYyBhcmd1bWVudHMuCitAQCAtNjE3LDcgKzYz NiwxMyBAQCB0aGUgTWV0YSBkaWdpdHMgYm91bmQgdG8gcHJvZHVjZSBudW1lcmljCiAgQGVuZCBk ZWZ0eXBlZnVuCiAgCiAgQGRlZnR5cGVmdW4gdm9pZCBybF9kaXNjYXJkX2tleW1hcCAoS2V5bWFw IGtleW1hcCkKQEAgLTg0NjMsNyArODUzOSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICBAZW5kIGRlZnR5cGVmdW4KICAKICBSZWFkbGluZSBoYXMgc2V2ZXJh bCBpbnRlcm5hbCBrZXltYXBzLiAgVGhlc2UgZnVuY3Rpb25zIGFsbG93IHlvdSB0bwotQEAgLTc5 Myw3ICs4MTgsOCBAQCBQcmludCB0aGUgbmFtZXMgb2YgYWxsIGJpbmRhYmxlIFJlYWRsaW5lIGZ1 bmN0aW9ucyB0byBAY29kZXtybF9vdXRzdHJlYW19LgorQEAgLTc5Myw3ICs4MTgsOCBAQCBQcmlu dCB0aGUgbmFtZXMgb2YgYWxsIGJpbmRhYmxlIFJlYWRsaW5lCiAgQGRlZnR5cGVmdW4ge2NvbnN0 IGNoYXIgKip9IHJsX2Z1bm1hcF9uYW1lcyAodm9pZCkKICBSZXR1cm4gYSBOVUxMIHRlcm1pbmF0 ZWQgYXJyYXkgb2Yga25vd24gZnVuY3Rpb24gbmFtZXMuICBUaGUgYXJyYXkgaXMKICBzb3J0ZWQu ICBUaGUgYXJyYXkgaXRzZWxmIGlzIGFsbG9jYXRlZCwgYnV0IG5vdCB0aGUgc3RyaW5ncyBpbnNp ZGUuICBZb3UKQEAgLTg0NzMsNyArODU0OSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICBAZW5kIGRlZnR5cGVmdW4KICAKICBAZGVmdHlwZWZ1biBpbnQgcmxf YWRkX2Z1bm1hcF9lbnRyeSAoY29uc3QgY2hhciAqbmFtZSwgcmxfY29tbWFuZF9mdW5jX3QgKmZ1 bmN0aW9uKQotQEAgLTEwMzMsOCArMTA1OSwxMCBAQCBwZW5kaW5nIGlucHV0IGhhcyBub3QgYWxy ZWFkeSBiZWVuIHJlYWQgd2l0aCBAY29kZXtybF9yZWFkX2tleSgpfS4KK0BAIC0xMDMzLDggKzEw NTksMTAgQEAgcGVuZGluZyBpbnB1dCBoYXMgbm90IGFscmVhZHkgYmVlbiByZWFkIAogIEBkZWZ0 eXBlZnVuIGludCBybF9zZXRfa2V5Ym9hcmRfaW5wdXRfdGltZW91dCAoaW50IHUpCiAgV2hpbGUg d2FpdGluZyBmb3Iga2V5Ym9hcmQgaW5wdXQgaW4gQGNvZGV7cmxfcmVhZF9rZXkoKX0sIFJlYWRs aW5lIHdpbGwKICB3YWl0IGZvciBAdmFye3V9IG1pY3Jvc2Vjb25kcyBmb3IgaW5wdXQgYmVmb3Jl IGNhbGxpbmcgYW55IGZ1bmN0aW9uCkBAIC04NTEzLDcgKzg1ODksNyBAQCBiMTM3MDZhYmJlZTk2 NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgQGRlZnR5cGVmdW4gdm9pZCBybF9yZXBsYWNl X2xpbmUgKGNvbnN0IGNoYXIgKnRleHQsIGludCBjbGVhcl91bmRvKQogIFJlcGxhY2UgdGhlIGNv bnRlbnRzIG9mIEBjb2Rle3JsX2xpbmVfYnVmZmVyfSB3aXRoIEB2YXJ7dGV4dH0uCiAgVGhlIHBv aW50IGFuZCBtYXJrIGFyZSBwcmVzZXJ2ZWQsIGlmIHBvc3NpYmxlLgotQEAgLTEwODIsNyArMTEz MCw3IEBAIElmIEB2YXJ7Y2xlYXJfdW5kb30gaXMgbm9uLXplcm8sIHRoZSB1bmRvIGxpc3QgYXNz b2NpYXRlZCB3aXRoIHRoZQorQEAgLTEwODIsNyArMTEzMCw3IEBAIElmIEB2YXJ7Y2xlYXJfdW5k b30gaXMgbm9uLXplcm8sIHRoZSB1bmQKICBjdXJyZW50IGxpbmUgaXMgY2xlYXJlZC4KICBAZW5k IGRlZnR5cGVmdW4KICAKQEAgLTg1MjIsNyArODU5OCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1 MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBFbnN1cmUgdGhhdCBAY29kZXtybF9saW5lX2J1ZmZlcn0g aGFzIGVub3VnaCBzcGFjZSB0byBob2xkIEB2YXJ7bGVufQogIGNoYXJhY3RlcnMsIHBvc3NpYmx5 IHJlYWxsb2NhdGluZyBpdCBpZiBuZWNlc3NhcnkuCiAgQGVuZCBkZWZ0eXBlZnVuCi1AQCAtMTEw OSw2ICsxMTU3LDkgQEAgb2Ygc3RyaW5ncywgaW4gYXJndiBmb3JtYXQsIHN1Y2ggYXMgYSBsaXN0 IG9mIGNvbXBsZXRpb24gbWF0Y2hlcy4KK0BAIC0xMTA5LDYgKzExNTcsOSBAQCBvZiBzdHJpbmdz LCBpbiBhcmd2IGZvcm1hdCwgc3VjaCBhcyBhIGxpCiAgaXMgdGhlIGxlbmd0aCBvZiB0aGUgbG9u Z2VzdCBzdHJpbmcgaW4gQGNvZGV7bWF0Y2hlc30uICBUaGlzIGZ1bmN0aW9uIHVzZXMKICB0aGUg c2V0dGluZyBvZiBAY29kZXtwcmludC1jb21wbGV0aW9ucy1ob3Jpem9udGFsbHl9IHRvIHNlbGVj dCBob3cgdGhlCiAgbWF0Y2hlcyBhcmUgZGlzcGxheWVkIChAcHhyZWZ7UmVhZGxpbmUgSW5pdCBG aWxlIFN5bnRheH0pLgpAQCAtODUzMiw3ICs4NjA4LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUy MmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBlbmQgZGVmdHlwZWZ1bgogIAogIFRoZSBmb2xsb3dpbmcg YXJlIGltcGxlbWVudGVkIGFzIG1hY3JvcywgZGVmaW5lZCBpbiBAY29kZXtjaGFyZGVmcy5ofS4K LUBAIC0xMzkyLDYgKzE0NDMsMTMgQEAgY2FsbCBAY29kZXtybF9yZXNpemVfdGVybWluYWwoKX0g b3IgQGNvZGV7cmxfc2V0X3NjcmVlbl9zaXplKCl9IHRvIGZvcmNlCitAQCAtMTM5Miw2ICsxNDQz LDEzIEBAIGNhbGwgQGNvZGV7cmxfcmVzaXplX3Rlcm1pbmFsKCl9IG9yIEBjb2QKICBSZWFkbGlu ZSB0byB1cGRhdGUgaXRzIGlkZWEgb2YgdGhlIHRlcm1pbmFsIHNpemUgd2hlbiBhIEBjb2Rle1NJ R1dJTkNIfQogIGlzIHJlY2VpdmVkLgogIApAQCAtODYwMiw3ICs4Njc4LDcgQEAgYjEzNzA2YWJi ZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBlbmQgZGVmdHlwZXZhcgogIAogIEBk ZWZ0eXBldmFyIHtybF9jb21wZGlzcF9mdW5jX3QgKn0gcmxfY29tcGxldGlvbl9kaXNwbGF5X21h dGNoZXNfaG9vawotQEAgLTE4MjIsNiArMTkxNCwxNSBAQCBpZiB0aGUgYXBwbGljYXRpb24ncyBj b21wbGV0aW9uIGZ1bmN0aW9uIHJldHVybnMgbm8gbWF0Y2hlcy4KK0BAIC0xODIyLDYgKzE5MTQs MTUgQEAgaWYgdGhlIGFwcGxpY2F0aW9uJ3MgY29tcGxldGlvbiBmdW5jdGlvbgogIEl0IHNob3Vs ZCBiZSBzZXQgb25seSBieSBhbiBhcHBsaWNhdGlvbidzIGNvbXBsZXRpb24gZnVuY3Rpb24uCiAg QGVuZCBkZWZ0eXBldmFyCiAgCkBAIC04NjE4LDcgKzg2OTQsNyBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgQGRlZnR5cGV2YXIgaW50IHJsX2NvbXBsZXRpb25f dHlwZQogIFNldCB0byBhIGNoYXJhY3RlciBkZXNjcmliaW5nIHRoZSB0eXBlIG9mIGNvbXBsZXRp b24gUmVhZGxpbmUgaXMgY3VycmVudGx5CiAgYXR0ZW1wdGluZzsgc2VlIHRoZSBkZXNjcmlwdGlv biBvZiBAY29kZXtybF9jb21wbGV0ZV9pbnRlcm5hbCgpfQotQEAgLTE4MzEsNiArMTkzMiwxMyBA QCBjb21wbGV0aW9uIGZ1bmN0aW9uIGlzIGNhbGxlZCwgYWxsb3dpbmcgc3VjaCBmdW5jdGlvbnMg dG8gcHJlc2VudAorQEAgLTE4MzEsNiArMTkzMiwxMyBAQCBjb21wbGV0aW9uIGZ1bmN0aW9uIGlz IGNhbGxlZCwgYWxsb3dpbmcgCiAgdGhlIHNhbWUgaW50ZXJmYWNlIGFzIEBjb2Rle3JsX2NvbXBs ZXRlKCl9LgogIEBlbmQgZGVmdHlwZXZhcgogIApAQCAtODgzMiw4ICs4OTA4LDEwIEBAIGIxMzcw NmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBpbnQKICB2YWxpZF9hcmd1bWVu dCAoY2FsbGVyLCBhcmcpCiAgICAgICBjaGFyICpjYWxsZXIsICphcmc7Ci0tLS0gYS9yZWFkbGlu ZS9kb2Mvcmx1c2VyLnRleGkKLSsrKyBiL3JlYWRsaW5lL2RvYy9ybHVzZXIudGV4aQorSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL3JsdXNlci50ZXhpCis9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL2RvYy9ybHVzZXIudGV4aQky MDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3 MDMvcmVhZGxpbmUvZG9jL3JsdXNlci50ZXhpCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAw ICswMjAwCiBAQCAtMSw3ICsxLDYgQEAKICBAY29tbWVudCAlKipzdGFydCBvZiBoZWFkZXIgKFRo aXMgaXMgZm9yIHJ1bm5pbmcgVGV4aW5mbyBvbiBhIHJlZ2lvbi4pCiAgQHNldGZpbGVuYW1lIHJs dXNlci5pbmZvCkBAIC04ODQyLDcgKzg5MjAsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1 NTJkZGQ2OGQxYTRmNDNhCiAgCiAgQGlnbm9yZQogIFRoaXMgZmlsZSBkb2N1bWVudHMgdGhlIGVu ZCB1c2VyIGludGVyZmFjZSB0byB0aGUgR05VIGNvbW1hbmQgbGluZQotQEAgLTEwLDcgKzksNyBA QCB1c2UgdGhlc2UgZmVhdHVyZXMuICBUaGVyZSBpcyBhIGRvY3VtZW50IGVudGl0bGVkICJyZWFk bGluZS50ZXhpbmZvIgorQEAgLTEwLDcgKzksNyBAQCB1c2UgdGhlc2UgZmVhdHVyZXMuICBUaGVy ZSBpcyBhIGRvY3VtZW50CiAgd2hpY2ggY29udGFpbnMgYm90aCBlbmQtdXNlciBhbmQgcHJvZ3Jh bW1lciBkb2N1bWVudGF0aW9uIGZvciB0aGUKICBHTlUgUmVhZGxpbmUgTGlicmFyeS4KICAKQEAg LTg4NjgsNyArODk0Niw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICBAZW5kIGlmc2V0CiAgCiAgQG1lbnUKLUBAIC0zMzYsNyArMzQ1LDkgQEAgZmlsZSBpcyB0 YWtlbiBmcm9tIHRoZSB2YWx1ZSBvZiB0aGUgc2hlbGwgdmFyaWFibGUgQGVudntJTlBVVFJDfS4g IElmCitAQCAtMzM2LDcgKzM0NSw5IEBAIGZpbGUgaXMgdGFrZW4gZnJvbSB0aGUgdmFsdWUgb2Yg dGhlIHNoZWwKICBAaWZjbGVhciBCYXNoRmVhdHVyZXMKICBmaWxlIGlzIHRha2VuIGZyb20gdGhl IHZhbHVlIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBAZW52e0lOUFVUUkN9LiAgSWYKICBA ZW5kIGlmY2xlYXIKQEAgLTg4NzksNyArODk1Nyw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICAKICBXaGVuIGEgcHJvZ3JhbSB3aGljaCB1c2VzIHRoZSBSZWFk bGluZSBsaWJyYXJ5IHN0YXJ0cyB1cCwgdGhlCiAgaW5pdCBmaWxlIGlzIHJlYWQsIGFuZCB0aGUg a2V5IGJpbmRpbmdzIGFyZSBzZXQuCi1AQCAtNDIwLDExICs0MzEsMzQgQEAgVGhlIHN0cmluZyB0 byBpbnNlcnQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgbGluZSB3aGVuIHRoZQorQEAgLTQyMCwx MSArNDMxLDM0IEBAIFRoZSBzdHJpbmcgdG8gaW5zZXJ0IGF0IHRoZSBiZWdpbm5pbmcgb2YKICBA Y29kZXtpbnNlcnQtY29tbWVudH0gY29tbWFuZCBpcyBleGVjdXRlZC4gIFRoZSBkZWZhdWx0IHZh bHVlCiAgaXMgQGNvZGV7IiMifS4KICAKQEAgLTg5MTQsNyArODk5Miw3IEBAIGIxMzcwNmFiYmVl OTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBAaXRlbSBjb21wbGV0aW9uLXF1ZXJ5LWl0 ZW1zCiAgQHZpbmRleCBjb21wbGV0aW9uLXF1ZXJ5LWl0ZW1zCiAgVGhlIG51bWJlciBvZiBwb3Nz aWJsZSBjb21wbGV0aW9ucyB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgdXNlciBpcwotQEAgLTQ1 NiwxMiArNDkwLDIzIEBAIGtleSBiaW5kaW5ncyBpcyB1c2VkLiAgQnkgZGVmYXVsdCwgUmVhZGxp bmUgc3RhcnRzIHVwIGluIEVtYWNzIGVkaXRpbmcKK0BAIC00NTYsMTIgKzQ5MCwyMyBAQCBrZXkg YmluZGluZ3MgaXMgdXNlZC4gIEJ5IGRlZmF1bHQsIFJlYWRsCiAgbW9kZSwgd2hlcmUgdGhlIGtl eXN0cm9rZXMgYXJlIG1vc3Qgc2ltaWxhciB0byBFbWFjcy4gIFRoaXMgdmFyaWFibGUgY2FuIGJl CiAgc2V0IHRvIGVpdGhlciBAc2FtcHtlbWFjc30gb3IgQHNhbXB7dml9LgogIApAQCAtODkzOCw3 ICs5MDE2LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBp dGVtIGV4cGFuZC10aWxkZQogIEB2aW5kZXggZXhwYW5kLXRpbGRlCiAgSWYgc2V0IHRvIEBzYW1w e29ufSwgdGlsZGUgZXhwYW5zaW9uIGlzIHBlcmZvcm1lZCB3aGVuIFJlYWRsaW5lCi1AQCAtNDY5 LDEwICs1MTQsMTYgQEAgYXR0ZW1wdHMgd29yZCBjb21wbGV0aW9uLiAgVGhlIGRlZmF1bHQgaXMg QHNhbXB7b2ZmfS4KK0BAIC00NjksMTAgKzUxNCwxNiBAQCBhdHRlbXB0cyB3b3JkIGNvbXBsZXRp b24uICBUaGUgZGVmYXVsdCBpCiAgCiAgQGl0ZW0gaGlzdG9yeS1wcmVzZXJ2ZS1wb2ludAogIEB2 aW5kZXggaGlzdG9yeS1wcmVzZXJ2ZS1wb2ludApAQCAtODk3NSw3ICs5MDUzLDcgQEAgYjEzNzA2 YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBpdGVtIG91dHB1dC1tZXRhCiAg QHZpbmRleCBvdXRwdXQtbWV0YQogIElmIHNldCB0byBAc2FtcHtvbn0sIFJlYWRsaW5lIHdpbGwg ZGlzcGxheSBjaGFyYWN0ZXJzIHdpdGggdGhlCi1AQCAtNTU2LDYgKzYxNCwxMyBAQCBJZiBzZXQg dG8gQHNhbXB7b259LCBSZWFkbGluZSB3aWxsIGRpc3BsYXkgY29tcGxldGlvbnMgd2l0aCBtYXRj aGVzCitAQCAtNTU2LDYgKzYxNCwxMyBAQCBJZiBzZXQgdG8gQHNhbXB7b259LCBSZWFkbGluZSB3 aWxsIGRpc3BsCiAgc29ydGVkIGhvcml6b250YWxseSBpbiBhbHBoYWJldGljYWwgb3JkZXIsIHJh dGhlciB0aGFuIGRvd24gdGhlIHNjcmVlbi4KICBUaGUgZGVmYXVsdCBpcyBAc2FtcHtvZmZ9Lgog IApAQCAtODk4OSw3ICs5MDY3LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogIEBpdGVtIHNob3ctYWxsLWlmLWFtYmlndW91cwogIEB2aW5kZXggc2hvdy1hbGwt aWYtYW1iaWd1b3VzCiAgVGhpcyBhbHRlcnMgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGNv bXBsZXRpb24gZnVuY3Rpb25zLiAgSWYKLUBAIC01NzUsNiArNjQwLDIwIEBAIGEgY29tbW9uIHBy ZWZpeCkgY2F1c2UgdGhlIG1hdGNoZXMgdG8gYmUgbGlzdGVkIGltbWVkaWF0ZWx5IGluc3RlYWQK K0BAIC01NzUsNiArNjQwLDIwIEBAIGEgY29tbW9uIHByZWZpeCkgY2F1c2UgdGhlIG1hdGNoZXMg dG8gYmUKICBvZiByaW5naW5nIHRoZSBiZWxsLgogIFRoZSBkZWZhdWx0IHZhbHVlIGlzIEBzYW1w e29mZn0uCiAgCkBAIC05MDUyLDcgKzkxMzAsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1 NTJkZGQ2OGQxYTRmNDNhCiAgCiAgQGl0ZW0gY2xlYXItc2NyZWVuIChDLWwpCiAgQ2xlYXIgdGhl IHNjcmVlbiBhbmQgcmVkcmF3IHRoZSBjdXJyZW50IGxpbmUsCi1AQCAtMTAyOSwxMCArMTEyMCwx NCBAQCBhcyBpZiB0aGUgQHNhbXB7IUB2YXJ7bn19IGhpc3RvcnkgZXhwYW5zaW9uIGhhZCBiZWVu IHNwZWNpZmllZC4KK0BAIC0xMDI5LDEwICsxMTIwLDE0IEBAIGFzIGlmIHRoZSBAc2FtcHshQHZh cntufX0gaGlzdG9yeSBleHBhbnMKICAKICBAaXRlbSB5YW5rLWxhc3QtYXJnIChNLS4gb3IgTS1f KQogIEluc2VydCBsYXN0IGFyZ3VtZW50IHRvIHRoZSBwcmV2aW91cyBjb21tYW5kICh0aGUgbGFz dCB3b3JkIG9mIHRoZQpAQCAtOTA3MCw3ICs5MTQ4LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUy MmMwNTUyZGRkNjhkMWE0ZjQzYQogIFRoZSBoaXN0b3J5IGV4cGFuc2lvbiBmYWNpbGl0aWVzIGFy ZSB1c2VkIHRvIGV4dHJhY3QgdGhlIGxhc3QgYXJndW1lbnQsCiAgYXMgaWYgdGhlIEBzYW1weyEk fSBoaXN0b3J5IGV4cGFuc2lvbiBoYWQgYmVlbiBzcGVjaWZpZWQuCiAgCi1AQCAtMTEzOCw2ICsx MjMzLDE3IEBAIFdvcmQgYm91bmRhcmllcyBhcmUgdGhlIHNhbWUgYXMgQGNvZGV7Zm9yd2FyZC13 b3JkfS4KK0BAIC0xMTM4LDYgKzEyMzMsMTcgQEAgV29yZCBib3VuZGFyaWVzIGFyZSB0aGUgc2Ft ZSBhcyBAY29kZXtmbwogIEtpbGwgdGhlIHdvcmQgYmVoaW5kIHBvaW50LgogIFdvcmQgYm91bmRh cmllcyBhcmUgdGhlIHNhbWUgYXMgQGNvZGV7YmFja3dhcmQtd29yZH0uCiAgCkBAIC05MTEwLDcg KzkxODgsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgQGl0 ZW0gZGVsZXRlLWNoYXItb3ItbGlzdCAoKQogIERlbGV0ZXMgdGhlIGNoYXJhY3RlciB1bmRlciB0 aGUgY3Vyc29yIGlmIG5vdCBhdCB0aGUgYmVnaW5uaW5nIG9yCiAgZW5kIG9mIHRoZSBsaW5lIChs aWtlIEBjb2Rle2RlbGV0ZS1jaGFyfSkuCi1AQCAtMTI5Myw2ICsxNDA3LDExIEBAIEF0dGVtcHQg Y29tcGxldGlvbiBvbiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQsIGNvbXBhcmluZworQEAgLTEyOTMs NiArMTQwNywxMSBAQCBBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRleHQgYmVmb3JlIHBvCiAg dGhlIHRleHQgYWdhaW5zdCBsaW5lcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QgZm9yIHBvc3NpYmxl CiAgY29tcGxldGlvbiBtYXRjaGVzLgogIApAQCAtOTEyMiw3ICs5MjAwLDcgQEAgYjEzNzA2YWJi ZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBpdGVtIGNvbXBsZXRlLWludG8tYnJh Y2VzIChNLUB7KQogIFBlcmZvcm0gZmlsZW5hbWUgY29tcGxldGlvbiBhbmQgaW5zZXJ0IHRoZSBs aXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zCiAgZW5jbG9zZWQgd2l0aGluIGJyYWNlcyBzbyB0 aGUgbGlzdCBpcyBhdmFpbGFibGUgdG8gdGhlIHNoZWxsCi1AQCAtMTM3Miw2ICsxNDkxLDE1IEBA IEEgY2hhcmFjdGVyIGlzIHJlYWQgYW5kIHBvaW50IGlzIG1vdmVkIHRvIHRoZSBwcmV2aW91cyBv Y2N1cnJlbmNlCitAQCAtMTM3Miw2ICsxNDkxLDE1IEBAIEEgY2hhcmFjdGVyIGlzIHJlYWQgYW5k IHBvaW50IGlzIG1vdmVkIHQKICBvZiB0aGF0IGNoYXJhY3Rlci4gIEEgbmVnYXRpdmUgY291bnQg c2VhcmNoZXMgZm9yIHN1YnNlcXVlbnQKICBvY2N1cnJlbmNlcy4KICAKQEAgLTkxNDcsNyArOTIy NSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICBAaWZz ZXQgQmFzaEZlYXR1cmVzCiAgSW4gb3JkZXIgdG8gc3dpdGNoIGludGVyYWN0aXZlbHkgYmV0d2Vl biBAY29kZXtlbWFjc30gYW5kIEBjb2Rle3ZpfQotQEAgLTE1MTUsMTAgKzE2NDMsMTUgQEAgdGhl IHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGZhY2lsaXRpZXMgYXJlIGludm9rZWQuCitAQCAtMTUx NSwxMCArMTY0MywxNSBAQCB0aGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZmFjaWxpdGllcyBh CiAgRmlyc3QsIHRoZSBjb21tYW5kIG5hbWUgaXMgaWRlbnRpZmllZC4KICBJZiBhIGNvbXBzcGVj IGhhcyBiZWVuIGRlZmluZWQgZm9yIHRoYXQgY29tbWFuZCwgdGhlCiAgY29tcHNwZWMgaXMgdXNl ZCB0byBnZW5lcmF0ZSB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBmb3IgdGhlIHdv cmQuCkBAIC05MTYzLDcgKzkyNDEsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2 OGQxYTRmNDNhCiAgCiAgT25jZSBhIGNvbXBzcGVjIGhhcyBiZWVuIGZvdW5kLCBpdCBpcyB1c2Vk IHRvIGdlbmVyYXRlIHRoZSBsaXN0IG9mCiAgbWF0Y2hpbmcgd29yZHMuCi1AQCAtMTU1NSw5ICsx Njg4LDkgQEAgY29tcGxldGVkLCBhbmQgdGhlIG1hdGNoaW5nIHdvcmRzIGJlY29tZSB0aGUgcG9z c2libGUgY29tcGxldGlvbnMuCitAQCAtMTU1NSw5ICsxNjg4LDkgQEAgY29tcGxldGVkLCBhbmQg dGhlIG1hdGNoaW5nIHdvcmRzIGJlY29tZQogIAogIEFmdGVyIHRoZXNlIG1hdGNoZXMgaGF2ZSBi ZWVuIGdlbmVyYXRlZCwgYW55IHNoZWxsIGZ1bmN0aW9uIG9yIGNvbW1hbmQKICBzcGVjaWZpZWQg d2l0aCB0aGUgQG9wdGlvbnstRn0gYW5kIEBvcHRpb257LUN9IG9wdGlvbnMgaXMgaW52b2tlZC4K QEAgLTkxODUsNyArOTI2Myw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFh NGY0M2EKICAoQHB4cmVme1Byb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zfSksIHRvIGdl bmVyYXRlIHRoZSBtYXRjaGVzLgogIEl0IG11c3QgcHV0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9u cyBpbiB0aGUgQGVudntDT01QUkVQTFl9IGFycmF5CiAgdmFyaWFibGUuCi1AQCAtMTYyMiw2ICsx NzU1LDMwIEBAIHRvIGNvbXBsZXRlZCBuYW1lcyB3aGljaCBhcmUgc3ltYm9saWMgbGlua3MgdG8g ZGlyZWN0b3JpZXMsIHN1YmplY3QgdG8KK0BAIC0xNjIyLDYgKzE3NTUsMzAgQEAgdG8gY29tcGxl dGVkIG5hbWVzIHdoaWNoIGFyZSBzeW1ib2xpYyBsaQogIHRoZSB2YWx1ZSBvZiB0aGUgQHZhcntt YXJrLWRpcmVjdG9yaWVzfSBSZWFkbGluZSB2YXJpYWJsZSwgcmVnYXJkbGVzcwogIG9mIHRoZSBz ZXR0aW5nIG9mIHRoZSBAdmFye21hcmstc3ltbGlua2VkLWRpcmVjdG9yaWVzfSBSZWFkbGluZSB2 YXJpYWJsZS4KICAKQEAgLTkyNDksNyArOTMyNyw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICAKICBPdGhlciBvcHRpb25zLCBpZiBzcGVjaWZpZWQsIGhhdmUg dGhlIGZvbGxvd2luZyBtZWFuaW5ncy4KICBUaGUgYXJndW1lbnRzIHRvIHRoZSBAb3B0aW9uey1H fSwgQG9wdGlvbnstV30sIGFuZCBAb3B0aW9uey1YfSBvcHRpb25zCi1AQCAtMTcwMiw5ICsxODY2 LDEwIEBAIFBlcmZvcm0gZGlyZWN0b3J5IG5hbWUgY29tcGxldGlvbiBpZiB0aGUgY29tcHNwZWMg Z2VuZXJhdGVzIG5vIG1hdGNoZXMuCitAQCAtMTcwMiw5ICsxODY2LDEwIEBAIFBlcmZvcm0gZGly ZWN0b3J5IG5hbWUgY29tcGxldGlvbiBpZiB0aGUKICAKICBAaXRlbSBmaWxlbmFtZXMKICBUZWxs IFJlYWRsaW5lIHRoYXQgdGhlIGNvbXBzcGVjIGdlbmVyYXRlcyBmaWxlbmFtZXMsIHNvIGl0IGNh biBwZXJmb3JtIGFueQpAQCAtOTI2Myw3ICs5MzQxLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUy MmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogIEBpdGVtIG5vc3BhY2UKICBUZWxsIFJlYWRsaW5lIG5v dCB0byBhcHBlbmQgYSBzcGFjZSAodGhlIGRlZmF1bHQpIHRvIHdvcmRzIGNvbXBsZXRlZCBhdAot QEAgLTE3OTgsMTcgKzE5NjMsNiBAQCBVc2VyIG5hbWVzLiAgTWF5IGFsc28gYmUgc3BlY2lmaWVk IGFzIEBvcHRpb257LXV9LgorQEAgLTE3OTgsMTcgKzE5NjMsNiBAQCBVc2VyIG5hbWVzLiAgTWF5 IGFsc28gYmUgc3BlY2lmaWVkIGFzIEBvCiAgTmFtZXMgb2YgYWxsIHNoZWxsIHZhcmlhYmxlcy4g IE1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBAb3B0aW9uey12fS4KICBAZW5kIHRhYmxlCiAgCkBA IC05Mjk4LDcgKzkzNzYsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRm NDNhCiAgCiAgQGl0ZW0gLVAgQHZhcntwcmVmaXh9CiAgQHZhcntwcmVmaXh9IGlzIGFkZGVkIGF0 IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBwb3NzaWJsZSBjb21wbGV0aW9uCi1AQCAtMTgzNCw2ICsx OTg0LDIxIEBAIGFmdGVyIGFsbCBvdGhlciBvcHRpb25zIGhhdmUgYmVlbiBhcHBsaWVkLgorQEAg LTE4MzQsNiArMTk4NCwyMSBAQCBhZnRlciBhbGwgb3RoZXIgb3B0aW9ucyBoYXZlIGJlZW4gYXBw bGllCiAgQGl0ZW0gLVMgQHZhcntzdWZmaXh9CiAgQHZhcntzdWZmaXh9IGlzIGFwcGVuZGVkIHRv IGVhY2ggcG9zc2libGUgY29tcGxldGlvbgogIGFmdGVyIGFsbCBvdGhlciBvcHRpb25zIGhhdmUg YmVlbiBhcHBsaWVkLgpAQCAtOTMyMCw3ICs5Mzk4LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUy MmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBlbmQgdGFibGUKICAKICBUaGUgcmV0dXJuIHZhbHVlIGlz IHRydWUgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbiBvcHRpb24KLUBA IC0xODQyLDUgKzIwMDcsMzEgQEAgYXJndW1lbnQsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byByZW1v dmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZm9yCitAQCAtMTg0Miw1ICsyMDA3LDMxIEBA IGFyZ3VtZW50LCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gcmVtb3ZlIGEKICBhIEB2YXJ7bmFtZX0g Zm9yIHdoaWNoIG5vIHNwZWNpZmljYXRpb24gZXhpc3RzLCBvcgogIGFuIGVycm9yIG9jY3VycyBh ZGRpbmcgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24uCiAgCkBAIC05MzUyLDggKzk0MzAsMTAg QEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBlbmQgdGFibGUK ICsKICBAZW5kIGlmc2V0Ci0tLS0gYS9yZWFkbGluZS9kb2Mvcmx1c2VybWFuLnRleGkKLSsrKyBi L3JlYWRsaW5lL2RvYy9ybHVzZXJtYW4udGV4aQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMv cmVhZGxpbmUvZG9jL3JsdXNlcm1hbi50ZXhpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4y MDExMDcwMy5vcmlnL3JlYWRsaW5lL2RvYy9ybHVzZXJtYW4udGV4aQkyMDExLTA3LTAzIDEwOjQw OjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9j L3JsdXNlcm1hbi50ZXhpCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAt NCw4ICs0LDYgQEAKICBAc2V0dGl0bGUgR05VIFJlYWRsaW5lIExpYnJhcnkKICBAY29tbWVudCAl KiplbmQgb2YgaGVhZGVyIChUaGlzIGlzIGZvciBydW5uaW5nIFRleGluZm8gb24gYSByZWdpb24u KQpAQCAtOTM2Myw3ICs5NDQzLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogIEBpbmNsdWRlIHZlcnNpb24udGV4aQogIAogIEBjb3B5aW5nCi1AQCAtMTQsNyAr MTIsNyBAQCBUaGlzIG1hbnVhbCBkZXNjcmliZXMgdGhlIGVuZCB1c2VyIGludGVyZmFjZSBvZiB0 aGUgR05VIFJlYWRsaW5lIExpYnJhcnkKK0BAIC0xNCw3ICsxMiw3IEBAIFRoaXMgbWFudWFsIGRl c2NyaWJlcyB0aGUgZW5kIHVzZXIgaW50ZXIKICBjb25zaXN0ZW5jeSBvZiB1c2VyIGludGVyZmFj ZSBhY3Jvc3MgZGlzY3JldGUgcHJvZ3JhbXMgd2hpY2ggcHJvdmlkZQogIGEgY29tbWFuZCBsaW5l IGludGVyZmFjZS4KICAKQEAgLTkzOTUsNyArOTQ3NSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1 MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBAZW5kIHF1b3RhdGlvbgogIEBlbmQgY29weWluZwogIAot QEAgLTcwLDE4ICs2OSwxNCBAQCBwcm9ncmFtcyB3aGljaCBwcm92aWRlIGEgY29tbWFuZCBsaW5l IGludGVyZmFjZS4KK0BAIC03MCwxOCArNjksMTQgQEAgcHJvZ3JhbXMgd2hpY2ggcHJvdmlkZSBh IGNvbW1hbmQgbGluZSBpbgogIAogIEBtZW51CiAgKiBDb21tYW5kIExpbmUgRWRpdGluZzo6CSAg IEdOVSBSZWFkbGluZSBVc2VyJ3MgTWFudWFsLgpAQCAtOTQxNyw4ICs5NDk3LDEwIEBAIGIxMzcw NmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICBAaW5jbHVkZSBmZGwudGV4 aQogIAotLS0tIGEvcmVhZGxpbmUvZG9jL3RleGkyZHZpCi0rKysgYi9yZWFkbGluZS9kb2MvdGV4 aTJkdmkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2RvYy90ZXhpMmR2aQor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9kb2MvdGV4 aTJkdmkJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNzAzL3JlYWRsaW5lL2RvYy90ZXhpMmR2aQkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAw MDAwMCArMDIwMAogQEAgLTUsMjAgKzUsMTggQEAKICAjIENvcHlyaWdodCAoQykgMTk5MiwgMTk5 MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMSwKICAjIDIwMDIsIDIw MDMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC05NDUwLDggKzk1MzIsMTAgQEAg YjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICMKICAjIE9yaWdpbmFs IGF1dGhvcjogTm9haCBGcmllZG1hbiA8ZnJpZWRtYW5AZ251Lm9yZz4uCiAgIwotLS0tIGEvcmVh ZGxpbmUvZG9jL3RleGkyaHRtbAotKysrIGIvcmVhZGxpbmUvZG9jL3RleGkyaHRtbAorSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL3RleGkyaHRtbAorPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor LS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9kb2MvdGV4aTJodG1sCTIwMTEt MDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9y ZWFkbGluZS9kb2MvdGV4aTJodG1sCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAw CiBAQCAtNywyMCArNywxOSBAQAogICMKICAjICAgIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCAg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC05NDYwLDE1ICs5NTQ0LDIxIEBAIGIx MzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIC0jICAgIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 CiAtIyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9m IHRoZSBMaWNlbnNlLCBvcgogLSMgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KLSsjICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKLSsjICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjICAgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsj ICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAjCistIwogLSMgICAgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCiAtIyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgogLSMgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogLSMgICAgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0jCistIyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSMgICAgYWxvbmcg d2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKy0j ICAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24s IE1BICAwMjExMS0xMzA3ICBVU0EKKy0jIAorKyMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgICBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorKyMgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz IG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgorKyMKICsjICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCiArIyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiArIyAgIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKQEAgLTk0NzYsMTEg Kzk1NjYsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArIwog KyMgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQogKyMgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2Vl IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAjCi0tIyAgICBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSMg ICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29m dHdhcmUKLS0jICAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMw LCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKLS0jIAorKyMKICAjLSMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwogIAogICMgVGhpcyByZXF1aXJlcyBwZXJsIHZlcnNpb24gNSBvciBoaWdoZXIKQEAg LTk0OTMsOCArOTU3OSwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRm NDNhCiAgCQkgIGlmICgkbGV2ZWwgPT0gMSAmJiAhJGZpcnN0X2luZGV4X2NoYXB0ZXIgJiYgCiAg CQkgICAgICAkbmFtZSA9fiAvaW5kZXgvaSk7CiAgCQlpZiAoJGluX3RvcCAmJiAvaGVhZGluZy8p ewotLS0tIGEvcmVhZGxpbmUvZG9jL3ZlcnNpb24udGV4aQotKysrIGIvcmVhZGxpbmUvZG9jL3Zl cnNpb24udGV4aQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL3ZlcnNp b24udGV4aQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGlu ZS9kb2MvdmVyc2lvbi50ZXhpCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisr KysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9kb2MvdmVyc2lvbi50ZXhpCTIwMTEtMDct MDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwxMCArMSwxMCBAQAogIEBpZ25vcmUK IC1Db3B5cmlnaHQgKEMpIDE5ODgtMjAwNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4g CkBAIC05NTEyLDggKzk2MDAsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogIAogLUBzZXQgTEFTVENIQU5HRSBGcmkgTm92IDExIDE5OjUwOjUxIEVTVCAyMDA1 CiArQHNldCBMQVNUQ0hBTkdFIE1vbiBTZXAgIDYgMjI6MDc6MTAgRURUIDIwMTAKLS0tLSBhL3Jl YWRsaW5lL2VtYWNzX2tleW1hcC5jCi0rKysgYi9yZWFkbGluZS9lbWFjc19rZXltYXAuYworSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZW1hY3Nfa2V5bWFwLmMKKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvZW1hY3Nfa2V5bWFwLmMJ MjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEw NzAzL3JlYWRsaW5lL2VtYWNzX2tleW1hcC5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAw ICswMjAwCiBAQCAtMSwyNCArMSwyMyBAQAogIC8qIGVtYWNzX2tleW1hcC5jIC0tIHRoZSBrZXlt YXAgZm9yIGVtYWNzX21vZGUgaW4gcmVhZGxpbmUgKCkuICovCiAgCkBAIC05NTUxLDggKzk2NDEs MTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogICNpZiAh ZGVmaW5lZCAoQlVGU0laKQogICNpbmNsdWRlIDxzdGRpby5oPgotLS0tIGEvcmVhZGxpbmUvZXhh bXBsZXMvQ2hhbmdlTG9nLmdkYgotKysrIGIvcmVhZGxpbmUvZXhhbXBsZXMvQ2hhbmdlTG9nLmdk YgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvQ2hhbmdlTG9n LmdkYgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9l eGFtcGxlcy9DaGFuZ2VMb2cuZ2RiCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAw CisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9leGFtcGxlcy9DaGFuZ2VMb2cuZ2Ri CTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwzICsxLDcgQEAKICsy MDExLTA0LTI1ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CiAr CkBAIC05NTYxLDggKzk2NTMsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogIDIwMDYtMDQtMjQgIERhbmllbCBKYWNvYm93aXR6ICA8ZGFuQGNvZGVzb3VyY2Vy eS5jb20+CiAgCiAgCUltcG9ydGVkIHJlYWRsaW5lIDUuMSwgYW5kIHVwc3RyZWFtIHBhdGNoZXMg MDAxLTAwNC4KLS0tLSBhL3JlYWRsaW5lL2V4YW1wbGVzL0lucHV0cmMKLSsrKyBiL3JlYWRsaW5l L2V4YW1wbGVzL0lucHV0cmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4 YW1wbGVzL0lucHV0cmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcv cmVhZGxpbmUvZXhhbXBsZXMvSW5wdXRyYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvSW5wdXRyYwky MDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTQsMjEgKzQsMjEgQEAKICAj IG9uIHdoaWNoIHByb2dyYW0gaXMgcnVubmluZywgb3Igd2hhdCB0ZXJtaW5hbCBpcyBhY3RpdmUu CiAgIwpAQCAtOTU5NywyOCArOTY5MSwyMiBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgCiAgIyBJbiBhbGwgcHJvZ3JhbXMsIGFsbCB0ZXJtaW5hbHMsIG1ha2Ug c3VyZSB0aGlzIGlzIGJvdW5kLgogICJcQy14XEMtciI6IHJlLXJlYWQtaW5pdC1maWxlCi0tLS0g YS9yZWFkbGluZS9leGFtcGxlcy9NYWtlZmlsZS5pbgotKysrIGIvcmVhZGxpbmUvZXhhbXBsZXMv TWFrZWZpbGUuaW4KK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVz L01ha2VmaWxlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3Jl YWRsaW5lL2V4YW1wbGVzL01ha2VmaWxlLmluCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAw ICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9leGFtcGxlcy9NYWtlZmls ZS5pbgkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMzAgKzEsNDYg QEAKICAjCiAgIyBUaGlzIGlzIHRoZSBNYWtlZmlsZSBmb3IgdGhlIHJlYWRsaW5lIGV4YW1wbGVz IHN1YmRpcmVjdG9yeS4KICAjCiAtIyBDb3B5cmlnaHQgKEMpIDE5OTQgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCiArIyBDb3B5cmlnaHQgKEMpIDE5OTQsMjAwOCwyMDA5IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgotIAotLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLS0jIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 Ci0tIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAo YXQgeW91ciBvcHRpb24pCi0tIyBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKICsjICAgVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKICsjICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKICsjICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKICsjICAgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAKLS0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotLSMgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLS0jIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLS0j IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCiArIyAgIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAogKyMgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgogKyMgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkBAIC05NjI3LDYgKzk3MTUsMTYgQEAgYjEzNzA2 YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogKyMgICBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKyMgICBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4KICAKKy0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CistIyBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLSMgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0 aW9uKQorLSMgYW55IGxhdGVyIHZlcnNpb24uCistCistIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0jIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCistIyBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCistIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLQog LSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKIC0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRv IHRoZSBGcmVlIFNvZnR3YXJlCiAtIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2Us IFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMSBVU0EuCkBAIC05NzI2LDggKzk4MjQsMTAgQEAg YjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAkkKFBVUklGWSkgJChD QykgJChMREZMQUdTKSAtbyAkQCBoaXN0ZXhhbXAubyAtbGhpc3RvcnkgJChURVJNQ0FQX0xJQikK ICAKICBjbGVhbiBtb3N0bHljbGVhbjoKLS0tLSAvZGV2L251bGwKLSsrKyBiL3JlYWRsaW5lL2V4 YW1wbGVzL2F1dG9jb25mL0JBU0hfQ0hFQ0tfTElCX1RFUk1DQVAKK0luZGV4OiBnZGItNy4yLjkw LjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL2F1dG9jb25mL0JBU0hfQ0hFQ0tfTElCX1RFUk1D QVAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAw MDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL2F1dG9j b25mL0JBU0hfQ0hFQ0tfTElCX1RFUk1DQVAJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAg KzAyMDAKIEBAIC0wLDAgKzEsNDAgQEAKICtBQ19ERUZVTihbQkFTSF9DSEVDS19MSUJfVEVSTUNB UF0sCiArWwpAQCAtOTc2OSw4ICs5ODY5LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICtURVJNQ0FQX0RFUD0KICtmaQogK10pCi0tLS0gL2Rldi9udWxsCi0r KysgYi9yZWFkbGluZS9leGFtcGxlcy9hdXRvY29uZi9STF9MSUJfUkVBRExJTkVfVkVSU0lPTgor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvYXV0b2NvbmYvUkxf TElCX1JFQURMSU5FX1ZFUlNJT04KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0w MSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRs aW5lL2V4YW1wbGVzL2F1dG9jb25mL1JMX0xJQl9SRUFETElORV9WRVJTSU9OCTIwMTEtMDctMDMg MTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDExOCBAQAogK2RubCBuZWVkOiBw cmVmaXggZXhlY19wcmVmaXggbGliZGlyIGluY2x1ZGVkaXIgQ0MgVEVSTUNBUF9MSUIKICtkbmwg cmVxdWlyZToKQEAgLTk4OTAsOCArOTk5MiwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1 NTJkZGQ2OGQxYTRmNDNhCiArCiArZmkKICtdKQotLS0tIC9kZXYvbnVsbAotKysrIGIvcmVhZGxp bmUvZXhhbXBsZXMvYXV0b2NvbmYvd2lfTElCX1JFQURMSU5FCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDcwMy9yZWFkbGluZS9leGFtcGxlcy9hdXRvY29uZi93aV9MSUJfUkVBRExJTkUKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL2F1dG9jb25mL3dpX0xJ Ql9SRUFETElORQkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCAr MSw3NiBAQAogK2RubCBCb3J1dCBSYXplbQogK2RubApAQCAtOTk2OSw4ICsxMDA3MywxMCBAQCBi MTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArICAgIExJQlM9IiRhY19z YXZlX0xJQlMiCiArICBmaQogK10pCi0tLS0gYS9yZWFkbGluZS9leGFtcGxlcy9leGNhbGxiYWNr LmMKLSsrKyBiL3JlYWRsaW5lL2V4YW1wbGVzL2V4Y2FsbGJhY2suYworSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvZXhjYWxsYmFjay5jCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist LS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL2V4YW1wbGVzL2V4Y2FsbGJhY2su YwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAx MTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvZXhjYWxsYmFjay5jCTIwMTEtMDctMDMgMTA6NDE6MjEu MDAwMDAwMDAwICswMjAwCiBAQCAtMzIsNiArMzIsOSBAQCBMZXQgbWUga25vdyB3aGF0IHlvdSB0 aGluay4KICAKICBKZWZmCkBAIC05OTgxLDggKzEwMDg3LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0 ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAjaWYgZGVmaW5lZCAoSEFWRV9DT05GSUdfSCkK ICAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0tLS0gYS9yZWFkbGluZS9leGFtcGxlcy9maWxlbWFuLmMK LSsrKyBiL3JlYWRsaW5lL2V4YW1wbGVzL2ZpbGVtYW4uYworSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvZmlsZW1hbi5jCis9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcu Mi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL2V4YW1wbGVzL2ZpbGVtYW4uYwkyMDExLTA3LTAz IDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxp bmUvZXhhbXBsZXMvZmlsZW1hbi5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAw CiBAQCAtMSwyMiArMSwyMyBAQAogLS8qIENvcHlyaWdodCAoQykgMTk4Ny0yMDAyIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKy8qIGZpbGVtYW4uYyAtIGZpbGUgbWFuYWdlciBleGFt cGxlIGZvciByZWFkbGluZSBsaWJyYXJ5LiAqLwpAQCAtMTAwMzcsOCArMTAxNDUsMTAgQEAgYjEz NzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogIC8qIFRoZSBuYW1lcyBv ZiBmdW5jdGlvbnMgdGhhdCBhY3R1YWxseSBkbyB0aGUgbWFuaXB1bGF0aW9uLiAqLwogIGludCBj b21fbGlzdCBQQVJBTVMoKGNoYXIgKikpOwotLS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvaGlzdGV4 YW1wLmMKLSsrKyBiL3JlYWRsaW5lL2V4YW1wbGVzL2hpc3RleGFtcC5jCitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDcwMy9yZWFkbGluZS9leGFtcGxlcy9oaXN0ZXhhbXAuYworPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor LS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9oaXN0ZXhhbXAu YwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAx MTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvaGlzdGV4YW1wLmMJMjAxMS0wNy0wMyAxMDo0MToyMS4w MDAwMDAwMDAgKzAyMDAKIEBAIC0xLDIyICsxLDIzIEBACiAtLyogQ29weXJpZ2h0IChDKSAxOTg3 LTIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArLyogaGlzdGV4YW1wLmMgLSBo aXN0b3J5IGxpYnJhcnkgZXhhbXBsZSBwcm9ncmFtLiAqLwpAQCAtMTAwNzUsOCArMTAxODUsMTAg QEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogICNpbmNsdWRl IDxzdGRpby5oPgogIAotLS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvbWFuZXhhbXAuYwotKysrIGIv cmVhZGxpbmUvZXhhbXBsZXMvbWFuZXhhbXAuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMv cmVhZGxpbmUvZXhhbXBsZXMvbWFuZXhhbXAuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAu MjAxMTA3MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9tYW5leGFtcC5jCTIwMTEtMDctMDMgMTA6 NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9l eGFtcGxlcy9tYW5leGFtcC5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBA QCAtMSwyNCArMSwyMyBAQAogIC8qIG1hbmV4YW1wLmMgLS0gVGhlIGV4YW1wbGVzIHdoaWNoIGFw cGVhciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhcmUgaGVyZS4gKi8KICAKQEAgLTEwMTEzLDggKzEw MjI1LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAj aW5jbHVkZSA8c3RkaW8uaD4KICAjaW5jbHVkZSA8cmVhZGxpbmUvcmVhZGxpbmUuaD4KLS0tLSBh L3JlYWRsaW5lL2V4YW1wbGVzL3JlYWRsaW5lYnVmLmgKLSsrKyBiL3JlYWRsaW5lL2V4YW1wbGVz L3JlYWRsaW5lYnVmLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1w bGVzL3JlYWRsaW5lYnVmLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9y aWcvcmVhZGxpbmUvZXhhbXBsZXMvcmVhZGxpbmVidWYuaAkyMDExLTA3LTAzIDEwOjQwOjUzLjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMv cmVhZGxpbmVidWYuaAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTgs NyArOCw3IEBACiAgICoKICAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQpAQCAtMTAxMjQsOCArMTAyMzgsMTAgQEAg YjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAqIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgICoKICAgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLS0tLSBhL3JlYWRsaW5l L2V4YW1wbGVzL3JsLmMKLSsrKyBiL3JlYWRsaW5lL2V4YW1wbGVzL3JsLmMKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL3JsLmMKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBn ZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvZXhhbXBsZXMvcmwuYwkyMDExLTA3LTAz IDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxp bmUvZXhhbXBsZXMvcmwuYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAg LTUsMjUgKzUsMjQgQEAKICAgKiB1c2FnZTogcmwgWy1wIHByb21wdF0gWy11IHVuaXRdIFstZCBk ZWZhdWx0XSBbLW4gbmNoYXJzXQogICAqLwpAQCAtMTAxNjMsOCArMTAyNzksMTAgQEAgYjEzNzA2 YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogICNpZiBkZWZpbmVkIChIQVZF X0NPTkZJR19IKQogICMgIGluY2x1ZGUgPGNvbmZpZy5oPgotLS0tIGEvcmVhZGxpbmUvZXhhbXBs ZXMvcmxjYXQuYwotKysrIGIvcmVhZGxpbmUvZXhhbXBsZXMvcmxjYXQuYworSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvcmxjYXQuYworPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0t IGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9ybGNhdC5jCTIwMTEt MDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9y ZWFkbGluZS9leGFtcGxlcy9ybGNhdC5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICsw MjAwCiBAQCAtNCwyNSArNCwyNCBAQAogICAqIHVzYWdlOiBybGNhdAogICAqLwpAQCAtMTAyMDIs OCArMTAzMjAsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQog IAogICNpZiBkZWZpbmVkIChIQVZFX0NPTkZJR19IKQogICMgIGluY2x1ZGUgPGNvbmZpZy5oPgot LS0tIC9kZXYvbnVsbAotKysrIGIvcmVhZGxpbmUvZXhhbXBsZXMvcmxldmVudC5jCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9leGFtcGxlcy9ybGV2ZW50LmMKKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysr KyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL3JsZXZlbnQuYwkyMDExLTA3 LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwxNjYgQEAKICsvKgogKyAq IHJsIC0gY29tbWFuZC1saW5lIGludGVyZmFjZSB0byByZWFkIGEgbGluZSBmcm9tIHRoZSBzdGFu ZGFyZCBpbnB1dApAQCAtMTAzNzEsOCArMTA0OTEsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUy MmMwNTUyZGRkNjhkMWE0ZjQzYQogKyAgcHJpbnRmICgiJXNcbiIsIHRlbXApOwogKyAgZXhpdCAo MCk7CiArfQotLS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9DaGFuZ2VMb2cKLSsrKyBiL3Jl YWRsaW5lL2V4YW1wbGVzL3JsZmUvQ2hhbmdlTG9nCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcw My9yZWFkbGluZS9leGFtcGxlcy9ybGZlL0NoYW5nZUxvZworPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03 LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9ybGZlL0NoYW5nZUxvZwkyMDEx LTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMv cmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9DaGFuZ2VMb2cJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAw MDAwMDAgKzAyMDAKIEBAIC0xLDE0ICsxLDMgQEAKIC0yMDA5LTA4LTIyICBSYWxmIFdpbGRlbmh1 ZXMgIDxSYWxmLldpbGRlbmh1ZXNAZ214LmRlPgogLQpAQCAtMTAzODgsOCArMTA1MTAsMTAgQEAg YjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIDIwMDQtMTEtMDQgIFBl ciBCb3RobmVyICA8cGVyQGJvdGhuZXIuY29tPgogIAogIAkqIHB0eS5jOiAgSW1wb3J0IGZyb20g c2NyZWVuLTQuMC4yLgotLS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9NYWtlZmlsZS5pbgot KysrIGIvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9NYWtlZmlsZS5pbgorSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9NYWtlZmlsZS5pbgorPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9ybGZlL01h a2VmaWxlLmluCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDcwMy9yZWFkbGluZS9leGFtcGxlcy9ybGZlL01ha2VmaWxlLmluCTIwMTEtMDct MDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMjUsNyArMjUsNyBAQCBDRkxBR1MgPSBA Q0ZMQUdTQAogIENQUEZMQUdTID0gQENQUEZMQUdTQAogICNMREZMQUdTID0gLUwkKFJFQURMSU5F X0RJUikKQEAgLTEwNDMyLDggKzEwNTU2LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgCiAgIyMjIERlcGVuZGVu Y2llczoKLS0tLSBhL3JlYWRsaW5lL2V4YW1wbGVzL3JsZmUvY29uZmlnLmguaW4KLSsrKyBiL3Jl YWRsaW5lL2V4YW1wbGVzL3JsZmUvY29uZmlnLmguaW4KK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NzAzL3JlYWRsaW5lL2V4YW1wbGVzL3JsZmUvY29uZmlnLmguaW4KKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBn ZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9jb25maWcuaC5p bgkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAx MTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9jb25maWcuaC5pbgkyMDExLTA3LTAzIDEwOjQx OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTM3MywzICszNzMsNyBAQAogICN1bmRlZiBQVFlSQU5H RTEKICAKQEAgLTEwNDQyLDggKzEwNTY4LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICsjdW5kZWYgSEFWRV9TWVNfU1RST1BUU19ICiArCiArI3VuZGVmIEhB VkVfU1lTX1dBSVRfSAotLS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9jb25maWd1cmUKLSsr KyBiL3JlYWRsaW5lL2V4YW1wbGVzL3JsZmUvY29uZmlndXJlCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDcwMy9yZWFkbGluZS9leGFtcGxlcy9ybGZlL2NvbmZpZ3VyZQorPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0t IGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9ybGZlL2NvbmZpZ3Vy ZQkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAx MTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9jb25maWd1cmUJMjAxMS0wNy0wMyAxMDo0MToy MS4wMDAwMDAwMDAgKzAyMDAKIEBAIC01NTIsNiArNTUyLDQyIEBAIFBBQ0tBR0VfQlVHUkVQT1JU PQogIFBBQ0tBR0VfVVJMPQogIApAQCAtMTA3NjQsOCArMTA4OTIsMTAgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIGFjX2NvbmZpZ19maWxlcz0iJGFjX2NvbmZp Z19maWxlcyBNYWtlZmlsZSIKICAKICBjYXQgPmNvbmZjYWNoZSA8PFxfQUNFT0YKLS0tLSBhL3Jl YWRsaW5lL2V4YW1wbGVzL3JsZmUvY29uZmlndXJlLmluCi0rKysgYi9yZWFkbGluZS9leGFtcGxl cy9ybGZlL2NvbmZpZ3VyZS5pbgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUv ZXhhbXBsZXMvcmxmZS9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIw MTEwNzAzLm9yaWcvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9jb25maWd1cmUuaW4JMjAxMS0wNy0w MyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRs aW5lL2V4YW1wbGVzL3JsZmUvY29uZmlndXJlLmluCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAw MDAwICswMjAwCiBAQCAtNDM3LDQgKzQzNyw2IEBAIG1haW4oKQogIAogIGZpCkBAIC0xMDc3Myw4 ICsxMDkwMywxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAr QUNfQ0hFQ0tfSEVBREVSUyhzeXMvc3Ryb3B0cy5oIHN5cy93YWl0LmgpCiArCiAgQUNfT1VUUFVU KE1ha2VmaWxlKQotLS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9leHRlcm4uaAotKysrIGIv cmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9leHRlcm4uaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3 MDMvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9leHRlcm4uaAorPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03 LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9ybGZlL2V4dGVybi5oCTIwMTEt MDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9y ZWFkbGluZS9leGFtcGxlcy9ybGZlL2V4dGVybi5oCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAw MDAwICswMjAwCiBAQCAtMjcsNyArMjcsMTQgQEAKICAjZGVmaW5lIF9fYXR0cmlidXRlX18oeCkK ICAjZW5kaWYKQEAgLTEwNzkxLDggKzEwOTIzLDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICBleHRlcm4gaW50ICAgT3BlblBUWSBfX1AoKGNoYXIgKiopKTsK ICBleHRlcm4gdm9pZCAgSW5pdFBUWSBfX1AoKGludCkpOwogLQotLS0tIGEvcmVhZGxpbmUvZXhh bXBsZXMvcmxmZS9vcy5oCi0rKysgYi9yZWFkbGluZS9leGFtcGxlcy9ybGZlL29zLmgKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL3JsZmUvb3MuaAorPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9ybGZl L29zLmgJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL3JsZmUvb3MuaAkyMDExLTA3LTAzIDEwOjQxOjIx LjAwMDAwMDAwMCArMDIwMAogQEAgLTE4Niw3ICsxODYsNyBAQCBleHRlcm4gaW50IGVycm5vOwog ICAqICAgIHRlcm1pbmFsIGhhbmRsaW5nCiAgICovCkBAIC0xMDgwMiwxMyArMTA5MzYsMTUgQEAg YjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICMgaW5jbHVkZSA8dGVy bWlvcy5oPgogICMgaWZkZWYgaHB1eAogICMgIGluY2x1ZGUgPGJzZHR0eS5oPgotQEAgLTUyNyw0 ICs1MjcsMyBAQCB0eXBlZGVmIHN0cnVjdCBmZF9zZXQgeyBpbnQgZmRzX2JpdHNbMV07IH0gZmRf c2V0OworQEAgLTUyNyw0ICs1MjcsMyBAQCB0eXBlZGVmIHN0cnVjdCBmZF9zZXQgeyBpbnQgZmRz X2JpdHNbMV07CiAgICogaG93IG1hbnkgY2hhcmFjdGVycyB5b3VyIHB0eSdzIGNhbiBidWZmZXIu CiAgICovCiAgI2RlZmluZSBJT1NJWkUJCTQwOTYKIC0KLS0tLSBhL3JlYWRsaW5lL2V4YW1wbGVz L3JsZmUvcHR5LmMKLSsrKyBiL3JlYWRsaW5lL2V4YW1wbGVzL3JsZmUvcHR5LmMKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL3JsZmUvcHR5LmMKKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9w dHkuYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAu MjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9wdHkuYwkyMDExLTA3LTAzIDEwOjQxOjIx LjAwMDAwMDAwMCArMDIwMAogQEAgLTIwLDEzICsyMCwxNSBAQAogICAqCiAgICoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAg LTEwODQwLDggKzEwOTc2LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFh NGY0M2EKICB9CiAgI2VuZGlmCiAtCi0tLS0gYS9yZWFkbGluZS9leGFtcGxlcy9ybGZlL3JsZmUu YwotKysrIGIvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9ybGZlLmMKK0luZGV4OiBnZGItNy4yLjkw LjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL3JsZmUvcmxmZS5jCis9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0g Z2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL2V4YW1wbGVzL3JsZmUvcmxmZS5jCTIw MTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcw My9yZWFkbGluZS9leGFtcGxlcy9ybGZlL3JsZmUuYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAw MDAwMCArMDIwMAogQEAgLTczLDYgKzczLDExIEBACiAgI2luY2x1ZGUgPHRlcm1pb3MuaD4KICAK QEAgLTEwODg0LDggKzExMDIyLDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4 ZDFhNGY0M2EKICAgICAgfQogIAogICAgaWYgKCF2aSkKLS0tLSBhL3JlYWRsaW5lL2V4YW1wbGVz L3JsdGVzdC5jCi0rKysgYi9yZWFkbGluZS9leGFtcGxlcy9ybHRlc3QuYworSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvcmx0ZXN0LmMKKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0t LSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvZXhhbXBsZXMvcmx0ZXN0LmMJMjAx MS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAz L3JlYWRsaW5lL2V4YW1wbGVzL3JsdGVzdC5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAw ICswMjAwCiBAQCAtNCwyNSArNCwyNCBAQAogIC8qCQkJCQkJCQkgICAgKi8KICAvKiAqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq ICovCkBAIC0xMDkyMyw4ICsxMTA2MywxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgCiAgI2lmIGRlZmluZWQgKEhBVkVfQ09ORklHX0gpCiAgI2luY2x1ZGUg PGNvbmZpZy5oPgotLS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvcmx2ZXJzaW9uLmMKLSsrKyBiL3Jl YWRsaW5lL2V4YW1wbGVzL3JsdmVyc2lvbi5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9y ZWFkbGluZS9leGFtcGxlcy9ybHZlcnNpb24uYworPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAu MjAxMTA3MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9ybHZlcnNpb24uYwkyMDExLTA3LTAzIDEw OjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUv ZXhhbXBsZXMvcmx2ZXJzaW9uLmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0yLDI1ICsyLDI0IEBACiAgICogcmx2ZXJzaW9uIC0tIHByaW50IG91dCByZWFkbGluZSdz IHZlcnNpb24gbnVtYmVyCiAgICovCkBAIC0xMDk2Miw4ICsxMTEwNCwxMCBAQCBiMTM3MDZhYmJl ZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgI2lmIGRlZmluZWQgKEhBVkVfQ09O RklHX0gpCiAgIyAgaW5jbHVkZSA8Y29uZmlnLmg+Ci0tLS0gYS9yZWFkbGluZS9mdW5tYXAuYwot KysrIGIvcmVhZGxpbmUvZnVubWFwLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRs aW5lL2Z1bm1hcC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3Jl YWRsaW5lL2Z1bm1hcC5jCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysg Z2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9mdW5tYXAuYwkyMDExLTA3LTAzIDEwOjQxOjIx LjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjQgKzEsMjQgQEAKICAvKiBmdW5tYXAuYyAtLSBhdHRh Y2ggbmFtZXMgdG8gZnVuY3Rpb25zLiAqLwogIApAQCAtMTEwNTgsOCArMTEyMDIsMTAgQEAgYjEz NzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAgeyAidmktZndvcmQiLCBy bF92aV9md29yZCB9LAogICAgeyAidmktZ290by1tYXJrIiwgcmxfdmlfZ290b19tYXJrIH0sCiAg ICB7ICJ2aS1pbnNlcnQtYmVnIiwgcmxfdmlfaW5zZXJ0X2JlZyB9LAotLS0tIGEvcmVhZGxpbmUv aGlzdGV4cGFuZC5jCi0rKysgYi9yZWFkbGluZS9oaXN0ZXhwYW5kLmMKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNzAzL3JlYWRsaW5lL2hpc3RleHBhbmQuYworPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03 LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9oaXN0ZXhwYW5kLmMJMjAxMS0wNy0wMyAxMDo0 MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2hp c3RleHBhbmQuYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjQg KzEsMjMgQEAKICAvKiBoaXN0ZXhwYW5kLmMgLS0gaGlzdG9yeSBleHBhbnNpb24uICovCiAgCkBA IC0xMTA4MiwxNSArMTEyMjgsMTYgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogLSAgIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKIC0gICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogLSAgIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KLSsgICBIaXN0b3J5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAKKy0KIC0gICBUaGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgb2Z0ZW4gc2hpcHBlZCB3aXRoIEdOVSBzb2Z0d2Fy ZSwgYW5kCiAtICAgaXMgZ2VuZXJhbGx5IGtlcHQgaW4gYSBmaWxlIGNhbGxlZCBDT1BZSU5HIG9y IExJQ0VOU0UuICBJZiB5b3UgZG8gbm90CiAtICAgaGF2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2Us IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAtICAgNTkgVGVtcGxlIFBs YWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEgVVNBLiAqLworKyAgIEhpc3RvcnkgaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorKwogKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiArICAgYWxvbmcgd2l0aCBIaXN0b3J5LiAgSWYgbm90LCBz ZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogKyovCkBAIC0xMTExOSw3ICsxMTI2 Niw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICBzdGF0 aWMgY2hhciAqcXVvdGVfYnJlYWtzIFBBUkFNUygoY2hhciAqKSk7CiAgCi1AQCAtMjQ2LDcgKzI0 NSw3IEBAIGdldF9oaXN0b3J5X2V2ZW50IChzdHJpbmcsIGNhbGxlcl9pbmRleCwgZGVsaW1pdGlu Z19xdW90ZSkKK0BAIC0yNDYsNyArMjQ1LDcgQEAgZ2V0X2hpc3RvcnlfZXZlbnQgKHN0cmluZywg Y2FsbGVyX2luZGV4LAogIAogICNkZWZpbmUgRkFJTF9TRUFSQ0goKSBcCiAgICBkbyB7IFwKQEAg LTExMTI4LDcgKzExMjc1LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0 ZjQzYQogICAgfSB3aGlsZSAoMCkKICAKICAgIC8qIElmIHRoZXJlIGlzIG5vIHNlYXJjaCBzdHJp bmcsIHRyeSB0byB1c2UgdGhlIHByZXZpb3VzIHNlYXJjaCBzdHJpbmcsCi1AQCAtMjU1LDcgKzI1 NCw3IEBAIGdldF9oaXN0b3J5X2V2ZW50IChzdHJpbmcsIGNhbGxlcl9pbmRleCwgZGVsaW1pdGlu Z19xdW90ZSkKK0BAIC0yNTUsNyArMjU0LDcgQEAgZ2V0X2hpc3RvcnlfZXZlbnQgKHN0cmluZywg Y2FsbGVyX2luZGV4LAogICAgICB7CiAgICAgICAgaWYgKHNlYXJjaF9zdHJpbmcpCiAgICAgICAg ICB7CkBAIC0xMTEzNyw3ICsxMTI4NCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRk ZDY4ZDFhNGY0M2EKICAgICAgICAgICAgdGVtcCA9IHNhdmVzdHJpbmcgKHNlYXJjaF9zdHJpbmcp OwogICAgICAgICAgfQogICAgICAgIGVsc2UKLUBAIC0yODYsNyArMjg1LDcgQEAgZ2V0X2hpc3Rv cnlfZXZlbnQgKHN0cmluZywgY2FsbGVyX2luZGV4LCBkZWxpbWl0aW5nX3F1b3RlKQorQEAgLTI4 Niw3ICsyODUsNyBAQCBnZXRfaGlzdG9yeV9ldmVudCAoc3RyaW5nLCBjYWxsZXJfaW5kZXgsCiAg CSAgICAgIHNlYXJjaF9tYXRjaCA9IGhpc3RvcnlfZmluZF93b3JkIChlbnRyeS0+bGluZSwgbG9j YWxfaW5kZXgpOwogIAkgICAgfQogIAkgIGVsc2UKQEAgLTExMTQ2LDcgKzExMjkzLDcgQEAgYjEz NzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogIAkgIHJldHVybiAoZW50 cnktPmxpbmUpOwogIAl9Ci1AQCAtMzA2LDE2ICszMDUsMjAgQEAgZ2V0X2hpc3RvcnlfZXZlbnQg KHN0cmluZywgY2FsbGVyX2luZGV4LCBkZWxpbWl0aW5nX3F1b3RlKQorQEAgLTMwNiwxNiArMzA1 LDIwIEBAIGdldF9oaXN0b3J5X2V2ZW50IChzdHJpbmcsIGNhbGxlcl9pbmRleCwKICAvKiBFeHRy YWN0IHRoZSBjb250ZW50cyBvZiBTVFJJTkcgYXMgaWYgaXQgaXMgZW5jbG9zZWQgaW4gc2luZ2xl IHF1b3Rlcy4KICAgICBTSU5ERVgsIHdoZW4gcGFzc2VkIGluLCBpcyB0aGUgb2Zmc2V0IG9mIHRo ZSBjaGFyYWN0ZXIgaW1tZWRpYXRlbHkKICAgICBmb2xsb3dpbmcgdGhlIG9wZW5pbmcgc2luZ2xl IHF1b3RlOyBvbiBleGl0LCBTSU5ERVggaXMgbGVmdCBwb2ludGluZwpAQCAtMTExODAsNyArMTEz MjcsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICBzdWJz dF9yaHMgPSBuZXc7CiAgICBzdWJzdF9yaHNfbGVuID0gajsKICB9Ci1AQCAtNTY0LDEyICs1Njcs MTIgQEAgaGlzdG9yeV9leHBhbmRfaW50ZXJuYWwgKHN0cmluZywgc3RhcnQsIGVuZF9pbmRleF9w dHIsIHJldF9zdHJpbmcsIGN1cnJlbnRfbGluZSkKK0BAIC01NjQsMTIgKzU2NywxMiBAQCBoaXN0 b3J5X2V4cGFuZF9pbnRlcm5hbCAoc3RyaW5nLCBzdGFydCwgCiAgI2lmIGRlZmluZWQgKEhBTkRM RV9NVUxUSUJZVEUpCiAgICAgICAgaWYgKE1CX0NVUl9NQVggPiAxICYmIHJsX2J5dGVfb3JpZW50 ZWQgPT0gMCkKICAJewpAQCAtMTExOTcsNyArMTEzNDQsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRl NTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCX0KICAgICAgICBlbHNlCiAgI2VuZGlmIC8qIEhBTkRM RV9NVUxUSUJZVEUgKi8JICAKLUBAIC01ODIsNyArNTg1LDcgQEAgaGlzdG9yeV9leHBhbmRfaW50 ZXJuYWwgKHN0cmluZywgc3RhcnQsIGVuZF9pbmRleF9wdHIsIHJldF9zdHJpbmcsIGN1cnJlbnRf bGluZSkKK0BAIC01ODIsNyArNTg1LDcgQEAgaGlzdG9yeV9leHBhbmRfaW50ZXJuYWwgKHN0cmlu Zywgc3RhcnQsIAogICAgaWYgKGV2ZW50ID09IDApCiAgICAgIHsKICAgICAgICAqcmV0X3N0cmlu ZyA9IGhpc3RfZXJyb3IgKHN0cmluZywgc3RhcnQsIGksIEVWRU5UX05PVF9GT1VORCk7CkBAIC0x MTIwNiw3ICsxMTM1Myw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICAgICAgICByZXR1cm4gKC0xKTsKICAgICAgfQogIAotQEAgLTU5Niw3ICs1OTksNyBAQCBo aXN0b3J5X2V4cGFuZF9pbnRlcm5hbCAoc3RyaW5nLCBzdGFydCwgZW5kX2luZGV4X3B0ciwgcmV0 X3N0cmluZywgY3VycmVudF9saW5lKQorQEAgLTU5Niw3ICs1OTksNyBAQCBoaXN0b3J5X2V4cGFu ZF9pbnRlcm5hbCAoc3RyaW5nLCBzdGFydCwgCiAgICBpZiAod29yZF9zcGVjID09IChjaGFyICop JmVycm9yX3BvaW50ZXIpCiAgICAgIHsKICAgICAgICAqcmV0X3N0cmluZyA9IGhpc3RfZXJyb3Ig KHN0cmluZywgc3RhcnRpbmdfaW5kZXgsIGksIEJBRF9XT1JEX1NQRUMpOwpAQCAtMTEyMTUsNyAr MTEzNjIsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICAg ICAgcmV0dXJuICgtMSk7CiAgICAgIH0KICAKLUBAIC02MjksOCArNjMyLDggQEAgaGlzdG9yeV9l eHBhbmRfaW50ZXJuYWwgKHN0cmluZywgc3RhcnQsIGVuZF9pbmRleF9wdHIsIHJldF9zdHJpbmcs IGN1cnJlbnRfbGluZSkKK0BAIC02MjksOCArNjMyLDggQEAgaGlzdG9yeV9leHBhbmRfaW50ZXJu YWwgKHN0cmluZywgc3RhcnQsIAogIAl7CiAgCWRlZmF1bHQ6CiAgCSAgKnJldF9zdHJpbmcgPSBo aXN0X2Vycm9yIChzdHJpbmcsIGkrMSwgaSsyLCBCQURfTU9ESUZJRVIpOwpAQCAtMTEyMjYsNyAr MTEzNzMsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCSAg cmV0dXJuIC0xOwogIAogIAljYXNlICdxJzoKLUBAIC02NTUsNyArNjU4LDcgQEAgaGlzdG9yeV9l eHBhbmRfaW50ZXJuYWwgKHN0cmluZywgc3RhcnQsIGVuZF9pbmRleF9wdHIsIHJldF9zdHJpbmcs IGN1cnJlbnRfbGluZSkKK0BAIC02NTUsNyArNjU4LDcgQEAgaGlzdG9yeV9leHBhbmRfaW50ZXJu YWwgKHN0cmluZywgc3RhcnQsIAogIAkgICAgewogIAkgICAgICB0c3RyKys7CiAgCSAgICAgIHQg PSBzYXZlc3RyaW5nICh0c3RyKTsKQEAgLTExMjM1LDcgKzExMzgyLDcgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAkgICAgICB0ZW1wID0gdDsKICAJICAgIH0K ICAJICBicmVhazsKLUBAIC02ODAsNyArNjgzLDcgQEAgaGlzdG9yeV9leHBhbmRfaW50ZXJuYWwg KHN0cmluZywgc3RhcnQsIGVuZF9pbmRleF9wdHIsIHJldF9zdHJpbmcsIGN1cnJlbnRfbGluZSkK K0BAIC02ODAsNyArNjgzLDcgQEAgaGlzdG9yeV9leHBhbmRfaW50ZXJuYWwgKHN0cmluZywgc3Rh cnQsIAogIAkgIGlmICh0c3RyKQogIAkgICAgewogIAkgICAgICB0ID0gc2F2ZXN0cmluZyAodHN0 cik7CkBAIC0xMTI0NCw3ICsxMTM5MSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRk ZDY4ZDFhNGY0M2EKICAJICAgICAgdGVtcCA9IHQ7CiAgCSAgICB9CiAgCSAgYnJlYWs7Ci1AQCAt NzU2LDggKzc1OSw4IEBAIGhpc3RvcnlfZXhwYW5kX2ludGVybmFsIChzdHJpbmcsIHN0YXJ0LCBl bmRfaW5kZXhfcHRyLCByZXRfc3RyaW5nLCBjdXJyZW50X2xpbmUpCitAQCAtNzU2LDggKzc1OSw4 IEBAIGhpc3RvcnlfZXhwYW5kX2ludGVybmFsIChzdHJpbmcsIHN0YXJ0LCAKICAJICAgIGlmIChz dWJzdF9saHNfbGVuID09IDApCiAgCSAgICAgIHsKICAJCSpyZXRfc3RyaW5nID0gaGlzdF9lcnJv ciAoc3RyaW5nLCBzdGFydGluZ19pbmRleCwgaSwgTk9fUFJFVl9TVUJTVCk7CkBAIC0xMTI1NSw3 ICsxMTQwMiw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAJ CXJldHVybiAtMTsKICAJICAgICAgfQogIAotQEAgLTc2Niw4ICs3NjksOCBAQCBoaXN0b3J5X2V4 cGFuZF9pbnRlcm5hbCAoc3RyaW5nLCBzdGFydCwgZW5kX2luZGV4X3B0ciwgcmV0X3N0cmluZywg Y3VycmVudF9saW5lKQorQEAgLTc2Niw4ICs3NjksOCBAQCBoaXN0b3J5X2V4cGFuZF9pbnRlcm5h bCAoc3RyaW5nLCBzdGFydCwgCiAgCSAgICBpZiAoc3Vic3RfbGhzX2xlbiA+IGxfdGVtcCkKICAJ ICAgICAgewogIAkJKnJldF9zdHJpbmcgPSBoaXN0X2Vycm9yIChzdHJpbmcsIHN0YXJ0aW5nX2lu ZGV4LCBpLCBTVUJTVF9GQUlMRUQpOwpAQCAtMTEyNjYsNyArMTE0MTMsNyBAQCBiMTM3MDZhYmJl ZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCQlyZXR1cm4gKC0xKTsKICAJICAgICAg fQogIAotQEAgLTgwOCw3ICs4MTEsNyBAQCBoaXN0b3J5X2V4cGFuZF9pbnRlcm5hbCAoc3RyaW5n LCBzdGFydCwgZW5kX2luZGV4X3B0ciwgcmV0X3N0cmluZywgY3VycmVudF9saW5lKQorQEAgLTgw OCw3ICs4MTEsNyBAQCBoaXN0b3J5X2V4cGFuZF9pbnRlcm5hbCAoc3RyaW5nLCBzdGFydCwgCiAg CQkJICAgICB0ZW1wICsgc2kgKyBzdWJzdF9saHNfbGVuLAogIAkJCSAgICAgbF90ZW1wIC0gKHNp ICsgc3Vic3RfbGhzX2xlbikpOwogIAkJICAgIG5ld19ldmVudFtsZW5dID0gJ1wwJzsKQEAgLTEx Mjc1LDcgKzExNDIyLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQz YQogIAkJICAgIHRlbXAgPSBuZXdfZXZlbnQ7CiAgCiAgCQkgICAgZmFpbGVkID0gMDsKLUBAIC04 NDQsOCArODQ3LDggQEAgaGlzdG9yeV9leHBhbmRfaW50ZXJuYWwgKHN0cmluZywgc3RhcnQsIGVu ZF9pbmRleF9wdHIsIHJldF9zdHJpbmcsIGN1cnJlbnRfbGluZSkKK0BAIC04NDQsOCArODQ3LDgg QEAgaGlzdG9yeV9leHBhbmRfaW50ZXJuYWwgKHN0cmluZywgc3RhcnQsIAogIAkgICAgICBjb250 aW51ZTsJCS8qIGRvbid0IHdhbnQgdG8gaW5jcmVtZW50IGkgKi8KICAKICAJICAgICpyZXRfc3Ry aW5nID0gaGlzdF9lcnJvciAoc3RyaW5nLCBzdGFydGluZ19pbmRleCwgaSwgU1VCU1RfRkFJTEVE KTsKQEAgLTExMjg2LDcgKzExNDMzLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRk NjhkMWE0ZjQzYQogIAkgICAgcmV0dXJuICgtMSk7CiAgCSAgfQogIAl9Ci1AQCAtODY2LDcgKzg2 OSw3IEBAIGhpc3RvcnlfZXhwYW5kX2ludGVybmFsIChzdHJpbmcsIHN0YXJ0LCBlbmRfaW5kZXhf cHRyLCByZXRfc3RyaW5nLCBjdXJyZW50X2xpbmUpCitAQCAtODY2LDcgKzg2OSw3IEBAIGhpc3Rv cnlfZXhwYW5kX2ludGVybmFsIChzdHJpbmcsIHN0YXJ0LCAKICAgICAgICBlbHNlCiAgCXggPSBz YXZlc3RyaW5nICh0ZW1wKTsKICAKQEAgLTExMjk1LDcgKzExNDQyLDcgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAgICAgIHRlbXAgPSB4OwogICAgICB9CiAg Ci1AQCAtODc0LDcgKzg3Nyw3IEBAIGhpc3RvcnlfZXhwYW5kX2ludGVybmFsIChzdHJpbmcsIHN0 YXJ0LCBlbmRfaW5kZXhfcHRyLCByZXRfc3RyaW5nLCBjdXJyZW50X2xpbmUpCitAQCAtODc0LDcg Kzg3Nyw3IEBAIGhpc3RvcnlfZXhwYW5kX2ludGVybmFsIChzdHJpbmcsIHN0YXJ0LCAKICAgIGlm IChuID49IHJlc3VsdF9sZW4pCiAgICAgIHJlc3VsdCA9IChjaGFyICopeHJlYWxsb2MgKHJlc3Vs dCwgbiArIDIpOwogICAgc3RyY3B5IChyZXN1bHQsIHRlbXApOwpAQCAtMTE0MjgsNyArMTE1NzUs NyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgICBpZiAo b25seV9wcmludGluZykKICAgICAgewotQEAgLTEzOTksOCArMTQwNSw4IEBAIGhpc3RvcnlfYXJn X2V4dHJhY3QgKGZpcnN0LCBsYXN0LCBzdHJpbmcpCitAQCAtMTM5OSw4ICsxNDA1LDggQEAgaGlz dG9yeV9hcmdfZXh0cmFjdCAoZmlyc3QsIGxhc3QsIHN0cmluZwogICAgICB9CiAgCiAgICBmb3Ig KGkgPSAwOyBpIDwgbGVuOyBpKyspCkBAIC0xMTU5OCw4ICsxMTc0NSwxMCBAQCBiMTM3MDZhYmJl ZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArICB4ZnJlZSAod29yZHMpOwogICAgcmV0 dXJuIHM7CiAgfQotLS0tIGEvcmVhZGxpbmUvaGlzdGZpbGUuYwotKysrIGIvcmVhZGxpbmUvaGlz dGZpbGUuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvaGlzdGZpbGUuYwor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9oaXN0Zmls ZS5jCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4y MDExMDcwMy9yZWFkbGluZS9oaXN0ZmlsZS5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAw ICswMjAwCiBAQCAtMSwyNCArMSwyMyBAQAogIC8qIGhpc3RmaWxlLmMgLSBmdW5jdGlvbnMgdG8g bWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBmaWxlLiAqLwogIApAQCAtMTE2MjIsMTUgKzExNzcxLDE2 IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIC0gICBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAtICAg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZSBHTlUKIC0gICBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0r ICAgSGlzdG9yeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCi0gCistCiAtICAgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGlzIG9mdGVuIHNoaXBwZWQgd2l0aCBHTlUgc29mdHdhcmUsIGFuZAogLSAgIGlzIGdlbmVy YWxseSBrZXB0IGluIGEgZmlsZSBjYWxsZWQgQ09QWUlORyBvciBMSUNFTlNFLiAgSWYgeW91IGRv IG5vdAogLSAgIGhhdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlLCB3cml0ZSB0byB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLAogLSAgIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0 b24sIE1BIDAyMTExIFVTQS4gKi8KKysgICBIaXN0b3J5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKICsgICBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQogKyAgIGFsb25nIHdpdGggSGlzdG9yeS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4KICsqLwpAQCAtMTE3MDksNyArMTE4NTksNyBAQCBiMTM3MDZhYmJlZTk2 NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICByZXR1cm4gcnY7CiAgfQogIAotQEAgLTQz NCw5ICs0NDAsMTAgQEAgaGlzdG9yeV9kb193cml0ZSAoZmlsZW5hbWUsIG5lbGVtZW50cywgb3Zl cndyaXRlKQorQEAgLTQzNCw5ICs0NDAsMTAgQEAgaGlzdG9yeV9kb193cml0ZSAoZmlsZW5hbWUs IG5lbGVtZW50cywgbwogICAgbW9kZSA9IG92ZXJ3cml0ZSA/IE9fV1JPTkxZfE9fQ1JFQVR8T19U UlVOQ3xPX0JJTkFSWSA6IE9fV1JPTkxZfE9fQVBQRU5EfE9fQklOQVJZOwogICNlbmRpZgogICAg b3V0cHV0ID0gaGlzdG9yeV9maWxlbmFtZSAoZmlsZW5hbWUpOwpAQCAtMTE3MzAsOCArMTE4ODAs MTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICNlbmRpZgog ICAgfQogIAotLS0tIGEvcmVhZGxpbmUvaGlzdGxpYi5oCi0rKysgYi9yZWFkbGluZS9oaXN0bGli LmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2hpc3RsaWIuaAorPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9oaXN0bGliLmgJMjAx MS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAz L3JlYWRsaW5lL2hpc3RsaWIuaAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAog QEAgLTEsMjMgKzEsMjMgQEAKICAvKiBoaXN0bGliLmggLS0gaW50ZXJuYWwgZGVmaW5pdGlvbnMg Zm9yIHRoZSBoaXN0b3J5IGxpYnJhcnkuICovCiAtLyogQ29weXJpZ2h0IChDKSAxOTg5LCAxOTky IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpAQCAtMTE3NDcsNyArMTE4OTksOSBAQCBi MTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICAgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkK IC0gICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAo YXQgeW91ciBvcHRpb24pCiAtICAgYW55IGxhdGVyIHZlcnNpb24uCi0tCisrICAgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IK KysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIAogLSAgIFRoZSBMaWJy YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1 dAogLSAgIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKIC0gICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlIEdOVQpAQCAtMTE3NTcsOSArMTE5MTEsNiBAQCBiMTM3MDZhYmJl ZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAtICAgaXMgZ2VuZXJhbGx5IGtlcHQgaW4g YSBmaWxlIGNhbGxlZCBDT1BZSU5HIG9yIExJQ0VOU0UuICBJZiB5b3UgZG8gbm90CiAtICAgaGF2 ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sCiAtICAgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEg VVNBLiAqLwotKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u IDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KLSsKICsgICBIaXN0b3J5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCiArICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkBAIC0xMTc3MSw4ICsxMTkyMiwx MCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgI2lmICFk ZWZpbmVkIChfSElTVExJQl9IXykKICAjZGVmaW5lIF9ISVNUTElCX0hfCi0tLS0gYS9yZWFkbGlu ZS9oaXN0b3J5LmMKLSsrKyBiL3JlYWRsaW5lL2hpc3RvcnkuYworSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA3MDMvcmVhZGxpbmUvaGlzdG9yeS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4y MDExMDcwMy5vcmlnL3JlYWRsaW5lL2hpc3RvcnkuYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvaGlzdG9yeS5jCTIw MTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyNCArMSwyMyBAQAogIC8q IGhpc3RvcnkuYyAtLSBzdGFuZGFsb25lIGhpc3RvcnkgbGlicmFyeSAqLwogIApAQCAtMTE3OTUs MTUgKzExOTQ4LDE2IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EK IC0gICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCiAtICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZSBHTlUKIC0gICBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCi0rICAgSGlzdG9yeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gCistCiAtICAgVGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGlzIG9mdGVuIHNoaXBwZWQgd2l0aCBHTlUgc29mdHdhcmUsIGFuZAog LSAgIGlzIGdlbmVyYWxseSBrZXB0IGluIGEgZmlsZSBjYWxsZWQgQ09QWUlORyBvciBMSUNFTlNF LiAgSWYgeW91IGRvIG5vdAogLSAgIGhhdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlLCB3cml0ZSB0 byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogLSAgIDU5IFRlbXBsZSBQbGFjZSwgU3Vp dGUgMzMwLCBCb3N0b24sIE1BIDAyMTExIFVTQS4gKi8KKysgICBIaXN0b3J5IGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysK ICsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQogKyAgIGFsb25nIHdpdGggSGlzdG9yeS4gIElmIG5vdCwgc2VlIDxodHRw Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICsqLwpAQCAtMTE4OTUsNyArMTIwNDksNyBAQCBi MTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICAKICAvKiBNYWtlIHRo ZSBoaXN0b3J5IGVudHJ5IGF0IFdISUNIIGhhdmUgTElORSBhbmQgREFUQS4gIFRoaXMgcmV0dXJu cwogICAgIHRoZSBvbGQgZW50cnkgc28geW91IGNhbiBkaXNwb3NlIG9mIHRoZSBkYXRhLiAgSW4g dGhlIGNhc2Ugb2YgYW4KLUBAIC0zNTQsNiArMzg3LDUxIEBAIHJlcGxhY2VfaGlzdG9yeV9lbnRy eSAod2hpY2gsIGxpbmUsIGRhdGEpCitAQCAtMzU0LDYgKzM4Nyw1MSBAQCByZXBsYWNlX2hpc3Rv cnlfZW50cnkgKHdoaWNoLCBsaW5lLCBkYXRhCiAgICByZXR1cm4gKG9sZF92YWx1ZSk7CiAgfQog IApAQCAtMTE5NTYsOCArMTIxMTAsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRk NjhkMWE0ZjQzYQogIGludAogIHVuc3RpZmxlX2hpc3RvcnkgKCkKICB7Ci0tLS0gYS9yZWFkbGlu ZS9oaXN0b3J5LmgKLSsrKyBiL3JlYWRsaW5lL2hpc3RvcnkuaAorSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA3MDMvcmVhZGxpbmUvaGlzdG9yeS5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4y MDExMDcwMy5vcmlnL3JlYWRsaW5lL2hpc3RvcnkuaAkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvaGlzdG9yeS5oCTIw MTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyMyArMSwyMyBAQAogIC8q IGhpc3RvcnkuaCAtLSB0aGUgbmFtZXMgb2YgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBjYWxsIGlu IGhpc3RvcnkuICovCiAtLyogQ29weXJpZ2h0IChDKSAxOTg5LTIwMDMgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCkBAIC0xMTk3Myw3ICsxMjEyOSw5IEBAIGIxMzcwNmFiYmVlOTY0NmY0 ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogLSAgIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikK IC0gICBhbnkgbGF0ZXIgdmVyc2lvbi4KLS0KKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgCiAtICAgVGhlIExpYnJhcnkgaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiAtICAgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogLSAgIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUgR05VCkBAIC0xMTk4Myw5ICsxMjE0MSw2IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKIC0gICBpcyBnZW5lcmFsbHkga2VwdCBpbiBhIGZpbGUgY2FsbGVkIENP UFlJTkcgb3IgTElDRU5TRS4gIElmIHlvdSBkbyBub3QKIC0gICBoYXZlIGEgY29weSBvZiB0aGUg bGljZW5zZSwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKIC0gICA1OSBU ZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMSBVU0EuICovCi0rICAgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z ZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwogKyAgIEhp c3RvcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK ICsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgogKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKQEAgLTExOTk3LDggKzEyMTUyLDEwIEBAIGIxMzcwNmFiYmVl OTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAjaWZuZGVmIF9ISVNUT1JZX0hfCiAg I2RlZmluZSBfSElTVE9SWV9IXwotLS0tIGEvcmVhZGxpbmUvaGlzdHNlYXJjaC5jCi0rKysgYi9y ZWFkbGluZS9oaXN0c2VhcmNoLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5l L2hpc3RzZWFyY2guYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9y ZWFkbGluZS9oaXN0c2VhcmNoLmMJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2hpc3RzZWFyY2guYwkyMDExLTA3LTAz IDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjQgKzEsMjMgQEAKICAvKiBoaXN0c2Vh cmNoLmMgLS0gc2VhcmNoaW5nIHRoZSBoaXN0b3J5IGxpc3QuICovCiAgCkBAIC0xMjAxNCw3ICsx MjE3MSw5IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgICBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQogLSAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKIC0gICBhbnkgbGF0ZXIgdmVyc2lvbi4KLS0KKysg ICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM aWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgCiAt ICAgVGhlIExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwgYnV0CiAtICAgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgogLSAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCkBAIC0xMjAyNCw5ICsxMjE4Myw2IEBA IGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIC0gICBpcyBnZW5lcmFs bHkga2VwdCBpbiBhIGZpbGUgY2FsbGVkIENPUFlJTkcgb3IgTElDRU5TRS4gIElmIHlvdSBkbyBu b3QKIC0gICBoYXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSwgd3JpdGUgdG8gdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwKIC0gICA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9u LCBNQSAwMjExMSBVU0EuICovCi0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgotKwogKyAgIEhpc3RvcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKyAgIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKQEAgLTEyMDM4 LDggKzEyMTk0LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EK ICAKICAjZGVmaW5lIFJFQURMSU5FX0xJQlJBUlkKICAKLS0tLSBhL3JlYWRsaW5lL2lucHV0LmMK LSsrKyBiL3JlYWRsaW5lL2lucHV0LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRs aW5lL2lucHV0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVh ZGxpbmUvaW5wdXQuYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvaW5wdXQuYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAw MDAwMDAwMCArMDIwMAogQEAgLTEsMjQgKzEsMjQgQEAKICAvKiBpbnB1dC5jIC0tIGNoYXJhY3Rl ciBpbnB1dCBmdW5jdGlvbnMgZm9yIHJlYWRsaW5lLiAqLwogIApAQCAtMTIzMTMsOCArMTI0NzEs MTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAgICB7CiAg ICAgICAgbWJbaV0gPSAoY2hhciljOwogICAgICAgIG1lbXNldCAoJnBzLCAwLCBzaXplb2YgKG1i c3RhdGVfdCkpOwotLS0tIGEvcmVhZGxpbmUvaXNlYXJjaC5jCi0rKysgYi9yZWFkbGluZS9pc2Vh cmNoLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2lzZWFyY2guYworPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9pc2VhcmNoLmMJ MjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEw NzAzL3JlYWRsaW5lL2lzZWFyY2guYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIw MAogQEAgLTEsMjkgKzEsMzAgQEAKICsvKiBpc2VhcmNoLmMgLSBpbmNyZW1lbnRhbCBzZWFyY2hp bmcgKi8KICsKQEAgLTEyMzM4LDE2ICsxMjQ5OCw2IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogLSAgIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKIC0gICBh bnkgbGF0ZXIgdmVyc2lvbi4KLS0KLS0gICBUaGUgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKLS0gICBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0tICAgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK LS0gICBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0tCi0tICAgVGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIG9mdGVuIHNoaXBwZWQgd2l0aCBHTlUgc29m dHdhcmUsIGFuZAotLSAgIGlzIGdlbmVyYWxseSBrZXB0IGluIGEgZmlsZSBjYWxsZWQgQ09QWUlO RyBvciBMSUNFTlNFLiAgSWYgeW91IGRvIG5vdAotLSAgIGhhdmUgYSBjb3B5IG9mIHRoZSBsaWNl bnNlLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAotLSAgIDU5IFRlbXBs ZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExIFVTQS4gKi8KICsgICB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv cgogKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiArCkBAIC0xMjM1OSwx MSArMTI1MDksMjAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQog KyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCiArICAgYWxvbmcgd2l0aCBSZWFkbGluZS4gIElmIG5vdCwgc2VlIDxodHRw Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICsqLwotKworIAorLSAgIFRoZSBMaWJyYXJ5IGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorLSAg IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKy0gICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlIEdOVQorLSAgIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKy0KKy0gICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgb2Z0ZW4gc2hp cHBlZCB3aXRoIEdOVSBzb2Z0d2FyZSwgYW5kCistICAgaXMgZ2VuZXJhbGx5IGtlcHQgaW4gYSBm aWxlIGNhbGxlZCBDT1BZSU5HIG9yIExJQ0VOU0UuICBJZiB5b3UgZG8gbm90CistICAgaGF2ZSBh IGNvcHkgb2YgdGhlIGxpY2Vuc2UsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sCistICAgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEgVVNB LiAqLwogICNkZWZpbmUgUkVBRExJTkVfTElCUkFSWQogIAogICNpZiBkZWZpbmVkIChIQVZFX0NP TkZJR19IKQotQEAgLTY4LDE0ICs2OSwxNCBAQCBzdGF0aWMgdm9pZCBfcmxfaXNlYXJjaF9maW5p IFBBUkFNUygoX3JsX3NlYXJjaF9jeHQgKikpOworQEAgLTY4LDE0ICs2OSwxNCBAQCBzdGF0aWMg dm9pZCBfcmxfaXNlYXJjaF9maW5pIFBBUkFNUygoX3JsCiAgc3RhdGljIGludCBfcmxfaXNlYXJj aF9jbGVhbnVwIFBBUkFNUygoX3JsX3NlYXJjaF9jeHQgKiwgaW50KSk7CiAgCiAgLyogTGFzdCBs aW5lIGZvdW5kIGJ5IHRoZSBjdXJyZW50IGluY3JlbWVudGFsIHNlYXJjaCwgc28gd2UgZG9uJ3Qg YGZpbmQnCkBAIC0xMjQwMCw3ICsxMjU1OSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICB9CiAgCiAgLyogU2VhcmNoIGJhY2t3YXJkcyB0aHJvdWdoIHRoZSBo aXN0b3J5IGxvb2tpbmcgZm9yIGEgc3RyaW5nIHdoaWNoIGlzIHR5cGVkCi1AQCAtMTkyLDcgKzE5 Niw3IEBAIHJsX2Rpc3BsYXlfc2VhcmNoIChzZWFyY2hfc3RyaW5nLCByZXZlcnNlX3AsIHdoZXJl KQorQEAgLTE5Miw3ICsxOTYsNyBAQCBybF9kaXNwbGF5X3NlYXJjaCAoc2VhcmNoX3N0cmluZywg cmV2ZXJzCiAgICBzdHJjcHkgKG1lc3NhZ2UgKyBtc2dsZW4sICInOiAiKTsKICAKICAgIHJsX21l c3NhZ2UgKCIlcyIsIG1lc3NhZ2UpOwpAQCAtMTI0MTgsNyArMTI1NzcsOCBAQCBiMTM3MDZhYmJl ZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAtICBpZiAoYyA+PSAwICYmIF9ybF9rZXlt YXBbY10udHlwZSA9PSBJU0ZVTkMpCiArCiArICBpZiAoYyA8IDApCi0rICAgIHsKKyAgICAgewor LSAgICAgIGYgPSBfcmxfa2V5bWFwW2NdLmZ1bmN0aW9uOwogKyAgICAgIGN4dC0+c2ZsYWdzIHw9 IFNGX0ZBSUxFRDsKICsgICAgICBjeHQtPmhpc3RvcnlfcG9zID0gY3h0LT5sYXN0X2ZvdW5kX2xp bmU7CiArICAgICAgcmV0dXJuIC0xOwpAQCAtMTI0MjgsOCArMTI1ODgsNyBAQCBiMTM3MDZhYmJl ZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArICAgICBUaGlzIGNhbiBiZSBhIHByb2Js ZW0gaWYgYyA9PSBFU0MgYW5kIHdlIHdhbnQgdG8gdGVybWluYXRlIHRoZQogKyAgICAgaW5jcmVt ZW50YWwgc2VhcmNoLCBzbyB3ZSBjaGVjayAqLwogKyAgaWYgKGMgPj0gMCAmJiBjeHQtPmtleW1h cFtjXS50eXBlID09IElTS01BUCAmJiBzdHJjaHIgKGN4dC0+c2VhcmNoX3Rlcm1pbmF0b3JzLCBj eHQtPmxhc3RjKSA9PSAwKQotICAgICB7Ci0tICAgICAgZiA9IF9ybF9rZXltYXBbY10uZnVuY3Rp b247CisrICAgIHsKICsgICAgICBjeHQtPmtleW1hcCA9IEZVTkNUSU9OX1RPX0tFWU1BUCAoY3h0 LT5rZXltYXAsIGMpOwogKyAgICAgIGN4dC0+c2ZsYWdzIHw9IFNGX0NIR0tNQVA7CiArICAgICAg LyogWFhYIC0gd2Ugc2hvdWxkIHByb2JhYmx5IHNhdmUgdGhpcyBzZXF1ZW5jZSwgc28gd2UgY2Fu IGRvCkBAIC0xMjQ4NSw4ICsxMjY0NCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgCSAgICAgdGltZSBybF9yZWFkX2tleSBpcyBjYWxsZWQuICovCiAgCSAg cmxfZXhlY3V0ZV9uZXh0IChjeHQtPmxhc3RjKTsKICAJICByZXR1cm4gKDApOwotLS0tIGEvcmVh ZGxpbmUva2V5bWFwcy5jCi0rKysgYi9yZWFkbGluZS9rZXltYXBzLmMKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNzAzL3JlYWRsaW5lL2tleW1hcHMuYworPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIu OTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9rZXltYXBzLmMJMjAxMS0wNy0wMyAxMDo0MDo1My4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2tleW1hcHMu YwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjMgKzEsMjQgQEAK ICAvKiBrZXltYXBzLmMgLS0gRnVuY3Rpb25zIGFuZCBrZXltYXBzIGZvciB0aGUgR05VIFJlYWRs aW5lIGxpYnJhcnkuICovCiAgCkBAIC0xMjUwMiwxNSArMTI2NjMsMTYgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogLSAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQogLSAgIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9u KSBhbnkKIC0gICBsYXRlciB2ZXJzaW9uLgotKyAgIFJlYWRsaW5lIGlzIGZyZWUgc29mdHdhcmU6 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQot KyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhl IExpY2Vuc2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAK Ky0KIC0gICBSZWFkbGluZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLCBidXQKIC0gICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAtICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKIC0gICBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrICAgUmVhZGxpbmUgaXMgZnJlZSBzb2Z0d2FyZTog eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cisr ICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg TGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKwog KyAgIFJlYWRsaW5lIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCiArICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKICsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkBAIC0xMjU3OCw4ICsxMjc0MCwxMCBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArICBybF9kaXNjYXJkX2tleW1h cCAobWFwKTsKICsgIHhmcmVlICgoY2hhciAqKW1hcCk7CiArfQotLS0tIGEvcmVhZGxpbmUva2V5 bWFwcy5oCi0rKysgYi9yZWFkbGluZS9rZXltYXBzLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NzAzL3JlYWRsaW5lL2tleW1hcHMuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3 MDMub3JpZy9yZWFkbGluZS9rZXltYXBzLmgJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAg KzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2tleW1hcHMuaAkyMDExLTA3 LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTIsMjMgKzIsMjIgQEAKICAKICAvKiBD b3B5cmlnaHQgKEMpIDE5ODcsIDE5ODksIDE5OTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCkBAIC0xMjYyNyw4ICsxMjc5MSwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgdHlwZWRlZiBLRVlNQVBfRU5UUlkgS0VZTUFQX0VOVFJZX0FSUkFZW0tF WU1BUF9TSVpFXTsKICB0eXBlZGVmIEtFWU1BUF9FTlRSWSAqS2V5bWFwOwogIAotLS0tIGEvcmVh ZGxpbmUva2lsbC5jCi0rKysgYi9yZWFkbGluZS9raWxsLmMKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNzAzL3JlYWRsaW5lL2tpbGwuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3 MDMub3JpZy9yZWFkbGluZS9raWxsLmMJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2tpbGwuYwkyMDExLTA3LTAzIDEw OjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTIsMjMgKzIsMjMgQEAKICAKICAvKiBDb3B5cmln aHQgKEMpIDE5OTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC0xMjY4NSw3ICsx Mjg1MSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgICAg ICBybF9raWxsX3Jpbmdbc2xvdF0gPSBuZXc7CiAgICAgIH0KICAgIGVsc2UKLUBAIC01ODIsNiAr NTgyLDcgQEAgcmxfeWFua19udGhfYXJnX2ludGVybmFsIChjb3VudCwgaWdub3JlLCBoaXN0b3J5 X3NraXApCitAQCAtNTgyLDYgKzU4Miw3IEBAIHJsX3lhbmtfbnRoX2FyZ19pbnRlcm5hbCAoY291 bnQsIGlnbm9yZSwKICAgIGlmICghYXJnIHx8ICEqYXJnKQogICAgICB7CiAgICAgICAgcmxfZGlu ZyAoKTsKQEAgLTEyNjkzLDcgKzEyODU5LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUy ZGRkNjhkMWE0ZjQzYQogICAgICAgIHJldHVybiAtMTsKICAgICAgfQogIAotQEAgLTYwMCw3ICs2 MDEsNyBAQCBybF95YW5rX250aF9hcmdfaW50ZXJuYWwgKGNvdW50LCBpZ25vcmUsIGhpc3Rvcnlf c2tpcCkKK0BAIC02MDAsNyArNjAxLDcgQEAgcmxfeWFua19udGhfYXJnX2ludGVybmFsIChjb3Vu dCwgaWdub3JlLAogICNlbmRpZiAvKiBWSV9NT0RFICovCiAgCiAgICBybF9pbnNlcnRfdGV4dCAo YXJnKTsKQEAgLTEyNzIwLDggKzEyODg2LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICAgICAgICBDbG9zZUNsaXBib2FyZCAoKTsKICAgICAgfQogICAgcmV0 dXJuICgwKTsKLS0tLSBhL3JlYWRsaW5lL21hY3JvLmMKLSsrKyBiL3JlYWRsaW5lL21hY3JvLmMK K0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL21hY3JvLmMKKz09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K Ky0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvbWFjcm8uYwkyMDExLTA3LTAz IDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxp bmUvbWFjcm8uYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjQg KzEsMjQgQEAKICAvKiBtYWNyby5jIC0tIGtleWJvYXJkIG1hY3JvcyBmb3IgcmVhZGxpbmUuICov CiAgCkBAIC0xMjc4Nyw4ICsxMjk1NSwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgICAgICAgY3VycmVudF9tYWNybyA9IChjaGFyICopIE5VTEw7CiAgICAg IH0KICAgIGN1cnJlbnRfbWFjcm9fc2l6ZSA9IGN1cnJlbnRfbWFjcm9faW5kZXggPSAwOwotLS0t IGEvcmVhZGxpbmUvbWJ1dGlsLmMKLSsrKyBiL3JlYWRsaW5lL21idXRpbC5jCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9tYnV0aWwuYworPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03 LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9tYnV0aWwuYwkyMDExLTA3LTAzIDEwOjQwOjUz LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvbWJ1dGls LmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI0ICsxLDI0IEBA CiAgLyogbWJ1dGlsLmMgLS0gcmVhZGxpbmUgbXVsdGlieXRlIGNoYXJhY3RlciB1dGlsaXR5IGZ1 bmN0aW9ucyAqLwogIApAQCAtMTI4MjcsNyArMTI5OTcsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRl NTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgI2RlZmluZSBSRUFETElORV9MSUJSQVJZCiAgCiAgI2lm IGRlZmluZWQgKEhBVkVfQ09ORklHX0gpCi1AQCAtNzcsNyArNzcsNyBAQCBfcmxfZmluZF9uZXh0 X21iY2hhcl9pbnRlcm5hbCAoc3RyaW5nLCBzZWVkLCBjb3VudCwgZmluZF9ub25femVybykKK0BA IC03Nyw3ICs3Nyw3IEBAIF9ybF9maW5kX25leHRfbWJjaGFyX2ludGVybmFsIChzdHJpbmcsIHMK ICAgICAgIGNoYXIgKnN0cmluZzsKICAgICAgIGludCBzZWVkLCBjb3VudCwgZmluZF9ub25femVy bzsKICB7CkBAIC0xMjgzNiw3ICsxMzAwNiw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICAgIG1ic3RhdGVfdCBwczsKICAgIGludCBwb2ludDsKICAgIHdjaGFy X3Qgd2M7Ci1AQCAtOTEsMTcgKzkxLDIxIEBAIF9ybF9maW5kX25leHRfbWJjaGFyX2ludGVybmFs IChzdHJpbmcsIHNlZWQsIGNvdW50LCBmaW5kX25vbl96ZXJvKQorQEAgLTkxLDE3ICs5MSwyMSBA QCBfcmxfZmluZF9uZXh0X21iY2hhcl9pbnRlcm5hbCAoc3RyaW5nLCBzCiAgICAgIHJldHVybiBz ZWVkOwogIAogICAgcG9pbnQgPSBzZWVkICsgX3JsX2FkanVzdF9wb2ludCAoc3RyaW5nLCBzZWVk LCAmcHMpOwpAQCAtMTI4NjIsNyArMTMwMzIsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1 NTJkZGQ2OGQxYTRmNDNhCiAgCSAgcG9pbnQrKzsKICAJICBjb3VudC0tOwogIAkgIC8qIHJlc2V0 IHN0YXRlcy4gKi8KLUBAIC0xMjgsMTIgKzEzMiwxMCBAQCBfcmxfZmluZF9uZXh0X21iY2hhcl9p bnRlcm5hbCAoc3RyaW5nLCBzZWVkLCBjb3VudCwgZmluZF9ub25femVybykKK0BAIC0xMjgsMTIg KzEzMiwxMCBAQCBfcmxfZmluZF9uZXh0X21iY2hhcl9pbnRlcm5hbCAoc3RyaW5nLCBzCiAgICBp ZiAoZmluZF9ub25femVybykKICAgICAgewogICAgICAgIHRtcCA9IG1icnRvd2MgKCZ3Yywgc3Ry aW5nICsgcG9pbnQsIHN0cmxlbiAoc3RyaW5nICsgcG9pbnQpLCAmcHMpOwpAQCAtMTI4NzYsOCAr MTMwNDYsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAl9 CiAgICAgIH0KICAKLS0tLSBhL3JlYWRsaW5lL21pc2MuYwotKysrIGIvcmVhZGxpbmUvbWlzYy5j CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9taXNjLmMKKz09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K Ky0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvbWlzYy5jCTIwMTEtMDctMDMg MTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGlu ZS9taXNjLmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI0ICsx LDI0IEBACiAgLyogbWlzYy5jIC0tIG1pc2NlbGxhbmVvdXMgYmluZGFibGUgcmVhZGxpbmUgZnVu Y3Rpb25zLiAqLwogIApAQCAtMTMwMjEsOCArMTMxOTMsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRk ZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICNlbmRpZiAvKiBWSV9NT0RFICovCiAgCiAgICByZXR1 cm4gMDsKLS0tLSBhL3JlYWRsaW5lL25scy5jCi0rKysgYi9yZWFkbGluZS9ubHMuYworSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvbmxzLmMKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvbmxzLmMJMjAxMS0wNy0wMyAxMDo0MDo1My4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL25scy5jCTIw MTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyNCArMSwyNCBAQAogIC8q IG5scy5jIC0tIHNrZWxldGFsIGludGVybmF0aW9uYWxpemF0aW9uIGNvZGUuICovCiAgCkBAIC0x MzA3MCw4ICsxMzI0NCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRm NDNhCiAgICByZXR1cm4gKGxlZ2FsX2xhbmdfdmFsdWVzW2ldID8gMSA6IDApOwogIAogICNlbmRp ZiAvKiAhSEFWRV9TRVRMT0NBTEUgKi8KLS0tLSBhL3JlYWRsaW5lL3BhcmVucy5jCi0rKysgYi9y ZWFkbGluZS9wYXJlbnMuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvcGFy ZW5zLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUv cGFyZW5zLmMJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNzAzL3JlYWRsaW5lL3BhcmVucy5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAw MDAwICswMjAwCiBAQCAtMSwyNCArMSwyNCBAQAogLS8qIHBhcmVucy5jIC0tIEltcGxlbWVudGF0 aW9uIG9mIG1hdGNoaW5nIHBhcmVudGhlc2VzIGZlYXR1cmUuICovCiArLyogcGFyZW5zLmMgLS0g aW1wbGVtZW50YXRpb24gb2YgbWF0Y2hpbmcgcGFyZW50aGVzZXMgZmVhdHVyZS4gKi8KQEAgLTEz MTM5LDE0ICsxMzMxNSwxOCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRm NDNhCiAgCiAgICAgICAgb3JpZ19wb2ludCA9IHJsX3BvaW50OwogICAgICAgIHJsX3BvaW50ID0g bWF0Y2hfcG9pbnQ7Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9yZWFkbGluZS9wYXRjaGxldmVsCitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9wYXRjaGxldmVsCis9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysg Z2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9wYXRjaGxldmVsCTIwMTEtMDctMDMgMTA6NDE6 MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDMgQEAKICsjIERvIG5vdCBlZGl0IC0tIGV4 aXN0cyBvbmx5IGZvciB1c2UgYnkgcGF0Y2gKICsKICsxCi0tLS0gYS9yZWFkbGluZS9wb3NpeGRp ci5oCi0rKysgYi9yZWFkbGluZS9wb3NpeGRpci5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcw My9yZWFkbGluZS9wb3NpeGRpci5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcw My5vcmlnL3JlYWRsaW5lL3Bvc2l4ZGlyLmgJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAg KzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3Bvc2l4ZGlyLmgJMjAxMS0w Ny0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00LDE5ICs0LDE5IEBACiAgCiAgICAg VGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCkBA IC0xMzE1NSwxNSArMTMzMzUsMTYgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogLSAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAtICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQogLSAgIGFueSBsYXRlciB2ZXJz aW9uLgotKyAgIEJhc2ggaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIAorLQogLSAgIEJhc2ggaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKIC0gICBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFO VEFCSUxJVFkKIC0gICBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUgR05VIEdlbmVyYWwgUHVibGljCiAtICAgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyAg IEJhc2ggaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgorKwogKyAgIEJhc2ggaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKyAgIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKQEAgLTEzMTc3 LDggKzEzMzU4LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EK ICAKICAvKiBUaGlzIGZpbGUgc2hvdWxkIGJlIGluY2x1ZGVkIGluc3RlYWQgb2YgPGRpcmVudC5o PiBvciA8c3lzL2Rpci5oPi4gKi8KICAKLS0tLSBhL3JlYWRsaW5lL3Bvc2l4am1wLmgKLSsrKyBi L3JlYWRsaW5lL3Bvc2l4am1wLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5l L3Bvc2l4am1wLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVh ZGxpbmUvcG9zaXhqbXAuaAkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysr IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvcG9zaXhqbXAuaAkyMDExLTA3LTAzIDEwOjQx OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTQsMTkgKzQsMTkgQEAKICAKICAgICBUaGlzIGZpbGUg aXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KQEAgLTEzMTg3LDE1 ICsxMzM3MCwxNiBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAt ICAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKIC0gICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCiAtICAgYW55IGxhdGVyIHZlcnNpb24uCi0rICAg QmFzaCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCi0gCistCiAtICAgQmFzaCBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAogLSAgIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWQog LSAgIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMKIC0gICBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrICAgQmFzaCBpcyBm cmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVy c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCisrCiArICAgQmFzaCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAogKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiArICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpAQCAtMTMyMDksOCArMTMzOTMs MTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogICNpZm5k ZWYgX1BPU0lYSk1QX0hfCiAgI2RlZmluZSBfUE9TSVhKTVBfSF8KLS0tLSAvZGV2L251bGwKLSsr KyBiL3JlYWRsaW5lL3Bvc2l4c2VsZWN0LmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3Jl YWRsaW5lL3Bvc2l4c2VsZWN0LmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0w MSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRs aW5lL3Bvc2l4c2VsZWN0LmgJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBA IC0wLDAgKzEsNDcgQEAKICsvKiBwb3NpeHNlbGVjdC5oIC0tIHdyYXBwZXIgZm9yIHNlbGVjdCgy KSBpbmNsdWRlcyBhbmQgZGVmaW5pdGlvbnMgKi8KICsKQEAgLTEzMjU5LDggKzEzNDQ1LDEwIEBA IGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICt9IHdoaWxlICgwKQog KwogKyNlbmRpZiAvKiBfUE9TSVhTRUxFQ1RfSF8gKi8KLS0tLSBhL3JlYWRsaW5lL3Bvc2l4c3Rh dC5oCi0rKysgYi9yZWFkbGluZS9wb3NpeHN0YXQuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3 MDMvcmVhZGxpbmUvcG9zaXhzdGF0LmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEw NzAzLm9yaWcvcmVhZGxpbmUvcG9zaXhzdGF0LmgJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAw MDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3Bvc2l4c3RhdC5oCTIw MTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNSwxOSArNSwxOSBAQAogIAog ICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxs LgpAQCAtMTMyNjksMTUgKzEzNDU3LDE2IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRk ZDY4ZDFhNGY0M2EKIC0gICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogLSAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKIC0gICBhbnkgbGF0ZXIg dmVyc2lvbi4KLSsgICBCYXNoIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rICAgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAKKy0KIC0gICBCYXNoIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiAt ICAgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVS Q0hBTlRBQklMSVRZCiAtICAgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYwogLSAgIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KysgICBCYXNoIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKICsgICBCYXNoIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiArICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICsgICBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkBAIC0x MzI5MSw4ICsxMzQ4MCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRm NDNhCiAgCiAgLyogVGhpcyBmaWxlIHNob3VsZCBiZSBpbmNsdWRlZCBpbnN0ZWFkIG9mIDxzeXMv c3RhdC5oPi4KICAgICBJdCByZWxpZXMgb24gdGhlIGxvY2FsIHN5cy9zdGF0LmggdG8gd29yayB0 aG91Z2guICovCi0tLS0gYS9yZWFkbGluZS9yZWFkbGluZS5jCi0rKysgYi9yZWFkbGluZS9yZWFk bGluZS5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9yZWFkbGluZS5jCis9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3JlYWRsaW5l LmMJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIw MTEwNzAzL3JlYWRsaW5lL3JlYWRsaW5lLmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAg KzAyMDAKIEBAIC0xLDI1ICsxLDI1IEBACiAgLyogcmVhZGxpbmUuYyAtLSBhIGdlbmVyYWwgZmFj aWxpdHkgZm9yIHJlYWRpbmcgbGluZXMgb2YgaW5wdXQKICAgICB3aXRoIGVtYWNzIHN0eWxlIGVk aXRpbmcgYW5kIGNvbXBsZXRpb24uICovCkBAIC0xMzU2Miw3ICsxMzc1Myw3IEBAIGIxMzcwNmFi YmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgIGlmIChyID09IDApCQkJLyogc3Vj Y2VzcyEgKi8KICAgICAgewogICAgICAgIF9ybF9rZXlzZXFfY2hhaW5fZGlzcG9zZSAoKTsKLUBA IC03MjQsNiArNzgwLDggQEAgX3JsX2Rpc3BhdGNoX3N1YnNlcSAoa2V5LCBtYXAsIGdvdF9zdWJz ZXEpCitAQCAtNzI0LDYgKzc4MCw4IEBAIF9ybF9kaXNwYXRjaF9zdWJzZXEgKGtleSwgbWFwLCBn b3Rfc3Vic2UKICAJICAgICByZW1lbWJlciB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkIGluIHRo aXMgdmFyaWFibGUuICovCiAgCSAgaWYgKHJsX3BlbmRpbmdfaW5wdXQgPT0gMCAmJiBtYXBba2V5 XS5mdW5jdGlvbiAhPSBybF9kaWdpdF9hcmd1bWVudCkKICAJICAgIHJsX2xhc3RfZnVuYyA9IG1h cFtrZXldLmZ1bmN0aW9uOwpAQCAtMTM1NzEsNyArMTM3NjIsNyBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCX0KICAgICAgICBlbHNlIGlmIChtYXBbQU5ZT1RI RVJLRVldLmZ1bmN0aW9uKQogIAl7Ci1AQCAtNzc4LDcgKzgzNiw3IEBAIF9ybF9kaXNwYXRjaF9z dWJzZXEgKGtleSwgbWFwLCBnb3Rfc3Vic2VxKQorQEAgLTc3OCw3ICs4MzYsNyBAQCBfcmxfZGlz cGF0Y2hfc3Vic2VxIChrZXksIG1hcCwgZ290X3N1YnNlCiAgCSAgICB7CiAgCSAgICAgIC8qIFJl dHVybiAwIG9ubHkgdGhlIGZpcnN0IHRpbWUsIHRvIGluZGljYXRlIHN1Y2Nlc3MgdG8KICAJCSBf cmxfY2FsbGJhY2tfcmVhZF9jaGFyLiAgVGhlIHJlc3Qgb2YgdGhlIHRpbWUsIHdlJ3JlIGNhbGxl ZApAQCAtMTM1ODAsNyArMTM3NzEsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2 OGQxYTRmNDNhCiAgCQkgc3BlY2lhbCBoYW5kbGluZyBpcyBuZWNlc3NhcnkuICovCiAgCSAgICAg IHIgPSBSTF9JU1NUQVRFIChSTF9TVEFURV9NVUxUSUtFWSkgPyAtMyA6IDA7CiAgCSAgICAgIGN4 dCA9IF9ybF9rZXlzZXFfY3h0X2FsbG9jICgpOwotQEAgLTg0Miw3ICs5MDAsNyBAQCBfcmxfc3Vi c2VxX3Jlc3VsdCAociwgbWFwLCBrZXksIGdvdF9zdWJzZXEpCitAQCAtODQyLDcgKzkwMCw3IEBA IF9ybF9zdWJzZXFfcmVzdWx0IChyLCBtYXAsIGtleSwgZ290X3N1YnMKICAgIEtleW1hcCBtOwog ICAgaW50IHR5cGUsIG50OwogICAgcmxfY29tbWFuZF9mdW5jX3QgKmZ1bmMsICpuZjsKQEAgLTEz NjAwLDggKzEzNzkxLDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICAgIGJpbmRfYXJyb3dfa2V5c19pbnRlcm5hbCAodmlfaW5zZXJ0aW9uX2tleW1hcCk7CiAg I2VuZGlmCiAgfQotLS0tIGEvcmVhZGxpbmUvcmVhZGxpbmUuaAotKysrIGIvcmVhZGxpbmUvcmVh ZGxpbmUuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvcmVhZGxpbmUuaAor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9yZWFkbGlu ZS5oCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4y MDExMDcwMy9yZWFkbGluZS9yZWFkbGluZS5oCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAw ICswMjAwCiBAQCAtMSwyNCArMSwyMyBAQAogIC8qIFJlYWRsaW5lLmggLS0gdGhlIG5hbWVzIG9m IGZ1bmN0aW9ucyBjYWxsYWJsZSBmcm9tIHdpdGhpbiByZWFkbGluZS4gKi8KICAKQEAgLTEzNjUy LDcgKzEzODQ1LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQog IAogIC8qIFJlYWRsaW5lIGRhdGEgc3RydWN0dXJlcy4gKi8KICAKLUBAIC05Niw2ICs5NSw3IEBA IGV4dGVybiBpbnQgcmxfZm9yd2FyZF93b3JkIFBBUkFNUygoaW50LCBpbnQpKTsKK0BAIC05Niw2 ICs5NSw3IEBAIGV4dGVybiBpbnQgcmxfZm9yd2FyZF93b3JkIFBBUkFNUygoaW50LCAKICBleHRl cm4gaW50IHJsX2JhY2t3YXJkX3dvcmQgUEFSQU1TKChpbnQsIGludCkpOwogIGV4dGVybiBpbnQg cmxfcmVmcmVzaF9saW5lIFBBUkFNUygoaW50LCBpbnQpKTsKICBleHRlcm4gaW50IHJsX2NsZWFy X3NjcmVlbiBQQVJBTVMoKGludCwgaW50KSk7CkBAIC0xMzY2MCw3ICsxMzg1Myw3IEBAIGIxMzcw NmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBleHRlcm4gaW50IHJsX2Fycm93 X2tleXMgUEFSQU1TKChpbnQsIGludCkpOwogIAogIC8qIEJpbmRhYmxlIGNvbW1hbmRzIGZvciBp bnNlcnRpbmcgYW5kIGRlbGV0aW5nIHRleHQuICovCi1AQCAtMTUxLDcgKzE1MSw5IEBAIGV4dGVy biBpbnQgcmxfZHVtcF92YXJpYWJsZXMgUEFSQU1TKChpbnQsIGludCkpOworQEAgLTE1MSw3ICsx NTEsOSBAQCBleHRlcm4gaW50IHJsX2R1bXBfdmFyaWFibGVzIFBBUkFNUygoaW50CiAgZXh0ZXJu IGludCBybF9jb21wbGV0ZSBQQVJBTVMoKGludCwgaW50KSk7CiAgZXh0ZXJuIGludCBybF9wb3Nz aWJsZV9jb21wbGV0aW9ucyBQQVJBTVMoKGludCwgaW50KSk7CiAgZXh0ZXJuIGludCBybF9pbnNl cnRfY29tcGxldGlvbnMgUEFSQU1TKChpbnQsIGludCkpOwpAQCAtMTM2NzAsNyArMTM4NjMsNyBA QCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgLyogQmluZGFi bGUgY29tbWFuZHMgZm9yIGtpbGxpbmcgYW5kIHlhbmtpbmcgdGV4dCwgYW5kIG1hbmFnaW5nIHRo ZSBraWxsIHJpbmcuICovCiAgZXh0ZXJuIGludCBybF9raWxsX3dvcmQgUEFSQU1TKChpbnQsIGlu dCkpOwotQEAgLTIzMyw2ICsyMzUsNyBAQCBleHRlcm4gaW50IHJsX3ZpX2FwcGVuZF9tb2RlIFBB UkFNUygoaW50LCBpbnQpKTsKK0BAIC0yMzMsNiArMjM1LDcgQEAgZXh0ZXJuIGludCBybF92aV9h cHBlbmRfbW9kZSBQQVJBTVMoKGludAogIGV4dGVybiBpbnQgcmxfdmlfYXBwZW5kX2VvbCBQQVJB TVMoKGludCwgaW50KSk7CiAgZXh0ZXJuIGludCBybF92aV9lb2ZfbWF5YmUgUEFSQU1TKChpbnQs IGludCkpOwogIGV4dGVybiBpbnQgcmxfdmlfaW5zZXJ0aW9uX21vZGUgUEFSQU1TKChpbnQsIGlu dCkpOwpAQCAtMTM2NzgsNyArMTM4NzEsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgZXh0ZXJuIGludCBybF92aV9tb3ZlbWVudF9tb2RlIFBBUkFNUygoaW50 LCBpbnQpKTsKICBleHRlcm4gaW50IHJsX3ZpX2FyZ19kaWdpdCBQQVJBTVMoKGludCwgaW50KSk7 CiAgZXh0ZXJuIGludCBybF92aV9jaGFuZ2VfY2FzZSBQQVJBTVMoKGludCwgaW50KSk7Ci1AQCAt NDIwLDYgKzQyMyw3IEBAIGV4dGVybiBpbnQgcmxfc2V0X2tleWJvYXJkX2lucHV0X3RpbWVvdXQg UEFSQU1TKChpbnQpKTsKK0BAIC00MjAsNiArNDIzLDcgQEAgZXh0ZXJuIGludCBybF9zZXRfa2V5 Ym9hcmRfaW5wdXRfdGltZW91dAogIGV4dGVybiB2b2lkIHJsX2V4dGVuZF9saW5lX2J1ZmZlciBQ QVJBTVMoKGludCkpOwogIGV4dGVybiBpbnQgcmxfZGluZyBQQVJBTVMoKHZvaWQpKTsKICBleHRl cm4gaW50IHJsX2FscGhhYmV0aWMgUEFSQU1TKChpbnQpKTsKQEAgLTEzNjg2LDcgKzEzODc5LDcg QEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogIC8qIFJlYWRs aW5lIHNpZ25hbCBoYW5kbGluZywgZnJvbSBzaWduYWxzLmMgKi8KICBleHRlcm4gaW50IHJsX3Nl dF9zaWduYWxzIFBBUkFNUygodm9pZCkpOwotQEAgLTQyNyw3ICs0MzEsOSBAQCBleHRlcm4gaW50 IHJsX2NsZWFyX3NpZ25hbHMgUEFSQU1TKCh2b2lkKSk7CitAQCAtNDI3LDcgKzQzMSw5IEBAIGV4 dGVybiBpbnQgcmxfY2xlYXJfc2lnbmFscyBQQVJBTVMoKHZvaWQKICBleHRlcm4gdm9pZCBybF9j bGVhbnVwX2FmdGVyX3NpZ25hbCBQQVJBTVMoKHZvaWQpKTsKICBleHRlcm4gdm9pZCBybF9yZXNl dF9hZnRlcl9zaWduYWwgUEFSQU1TKCh2b2lkKSk7CiAgZXh0ZXJuIHZvaWQgcmxfZnJlZV9saW5l X3N0YXRlIFBBUkFNUygodm9pZCkpOwpAQCAtMTM3ODEsNyArMTM5NzQsNyBAQCBiMTM3MDZhYmJl ZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgLyogSWYgbm9uLXplcm8sIGEgc2xhc2gg d2lsbCBiZSBhcHBlbmRlZCB0byBjb21wbGV0ZWQgZmlsZW5hbWVzIHRoYXQgYXJlCiAgICAgc3lt Ym9saWMgbGlua3MgdG8gZGlyZWN0b3J5IG5hbWVzLCBzdWJqZWN0IHRvIHRoZSB2YWx1ZSBvZiB0 aGUKICAgICBtYXJrLWRpcmVjdG9yaWVzIHZhcmlhYmxlICh3aGljaCBpcyB1c2VyLXNldHRhYmxl KS4gIFRoaXMgZXhpc3RzIHNvCi1AQCAtNzU3LDYgKzc5NiwxMCBAQCBleHRlcm4gaW50IHJsX2ln bm9yZV9jb21wbGV0aW9uX2R1cGxpY2F0ZXM7CitAQCAtNzU3LDYgKzc5NiwxMCBAQCBleHRlcm4g aW50IHJsX2lnbm9yZV9jb21wbGV0aW9uX2R1cGxpY2F0CiAgICAgY29tcGxldGlvbiBjaGFyYWN0 ZXIgd2lsbCBiZSBpbnNlcnRlZCBhcyBhbnkgb3RoZXIuICovCiAgZXh0ZXJuIGludCBybF9pbmhp Yml0X2NvbXBsZXRpb247CiAgCkBAIC0xMzgxOSw4ICsxNDAxMiw2IEBAIGIxMzcwNmFiYmVlOTY0 NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIC0jZGVmaW5lIFJMX1NUQVRFX1ZJTU9USU9OCTB4 MTAwMDAwCS8qIHJlYWRpbmcgdmkgbW90aW9uIGFyZyAqLwogLSNkZWZpbmUgUkxfU1RBVEVfTVVM VElLRVkJMHgyMDAwMDAJLyogcmVhZGluZyBtdWx0aXBsZS1rZXkgY29tbWFuZCAqLwogLSNkZWZp bmUgUkxfU1RBVEVfVklDTURPTkNFCTB4NDAwMDAwCS8qIGVudGVyZWQgdmkgY29tbWFuZCBtb2Rl IGF0IGxlYXN0IG9uY2UgKi8KLS0KLS0jZGVmaW5lIFJMX1NUQVRFX0RPTkUJCTB4ODAwMDAwCS8q IGRvbmU7IGFjY2VwdGVkIGxpbmUgKi8KICsjZGVmaW5lIFJMX1NUQVRFX0lOSVRJQUxJWklORwkw eDAwMDAwMDEJLyogaW5pdGlhbGl6aW5nICovCiArI2RlZmluZSBSTF9TVEFURV9JTklUSUFMSVpF RAkweDAwMDAwMDIJLyogaW5pdGlhbGl6YXRpb24gZG9uZSAqLwogKyNkZWZpbmUgUkxfU1RBVEVf VEVSTVBSRVBQRUQJMHgwMDAwMDA0CS8qIHRlcm1pbmFsIGlzIHByZXBwZWQgKi8KQEAgLTEzODQ1 LDEzICsxNDAzNiwxNiBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNh CiArI2RlZmluZSBSTF9TVEFURV9NVUxUSUtFWQkweDAyMDAwMDAJLyogcmVhZGluZyBtdWx0aXBs ZS1rZXkgY29tbWFuZCAqLwogKyNkZWZpbmUgUkxfU1RBVEVfVklDTURPTkNFCTB4MDQwMDAwMAkv KiBlbnRlcmVkIHZpIGNvbW1hbmQgbW9kZSBhdCBsZWFzdCBvbmNlICovCiArI2RlZmluZSBSTF9T VEFURV9SRURJU1BMQVlJTkcJMHgwODAwMDAwCS8qIHVwZGF0aW5nIHRlcm1pbmFsIGRpc3BsYXkg Ki8KLSsKKyAKKy0jZGVmaW5lIFJMX1NUQVRFX0RPTkUJCTB4ODAwMDAwCS8qIGRvbmU7IGFjY2Vw dGVkIGxpbmUgKi8KICsjZGVmaW5lIFJMX1NUQVRFX0RPTkUJCTB4MTAwMDAwMAkvKiBkb25lOyBh Y2NlcHRlZCBsaW5lICovCiAgCiAgI2RlZmluZSBSTF9TRVRTVEFURSh4KQkJKHJsX3JlYWRsaW5l X3N0YXRlIHw9ICh4KSkKICAjZGVmaW5lIFJMX1VOU0VUU1RBVEUoeCkJKHJsX3JlYWRsaW5lX3N0 YXRlICY9IH4oeCkpCi0tLS0gYS9yZWFkbGluZS9ybGNvbmYuaAotKysrIGIvcmVhZGxpbmUvcmxj b25mLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3JsY29uZi5oCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3JsY29uZi5oCTIw MTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcw My9yZWFkbGluZS9ybGNvbmYuaAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAog QEAgLTEsMjUgKzEsMjMgQEAKICAvKiBybGNvbmYuaCAtLSByZWFkbGluZSBjb25maWd1cmF0aW9u IGRlZmluaXRpb25zICovCiAgCkBAIC0xMzg3NiwxNSArMTQwNzAsMTYgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogLSAgIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIC0gICBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogLSAgIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsgICBSZWFkbGluZSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Ci0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCi0gCistCiAtICAgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIG9mdGVuIHNo aXBwZWQgd2l0aCBHTlUgc29mdHdhcmUsIGFuZAogLSAgIGlzIGdlbmVyYWxseSBrZXB0IGluIGEg ZmlsZSBjYWxsZWQgQ09QWUlORyBvciBMSUNFTlNFLiAgSWYgeW91IGRvIG5vdAogLSAgIGhhdmUg YSBjb3B5IG9mIHRoZSBsaWNlbnNlLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLAogLSAgIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExIFVT QS4gKi8KKysgICBSZWFkbGluZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCiArICAgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICsgICBhbG9uZyB3 aXRoIFJlYWRsaW5lLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LgogKyovCkBAIC0xMzkwNSw4ICsxNDEwMCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1 NTJkZGQ2OGQxYTRmNDNhCiAgLyogSWYgZGVmaW5lZCwgZXhwYW5kIHRhYnMgdG8gc3BhY2VzLiAq LwogICNkZWZpbmUgRElTUExBWV9UQUJTCiAgCi0tLS0gYS9yZWFkbGluZS9ybGRlZnMuaAotKysr IGIvcmVhZGxpbmUvcmxkZWZzLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5l L3JsZGVmcy5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRs aW5lL3JsZGVmcy5oCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2Ri LTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9ybGRlZnMuaAkyMDExLTA3LTAzIDEwOjQxOjIxLjAw MDAwMDAwMCArMDIwMAogQEAgLTIsMjYgKzIsMjQgQEAKICAgICBmb3IgcmVhZGxpbmUuICBUaGlz IHNob3VsZCBiZSBpbmNsdWRlZCBhZnRlciBhbnkgZmlsZXMgdGhhdCBkZWZpbmUKICAgICBzeXN0 ZW0tc3BlY2lmaWMgY29uc3RhbnRzIGxpa2UgX1BPU0lYX1ZFUlNJT04gb3IgVVNHLiAqLwpAQCAt MTM5MzIsMTUgKzE0MTI5LDE2IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFh NGY0M2EKIC0gICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCiAtICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKIC0gICBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCi0rICAgUmVhZGxpbmUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyAgIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsgICBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIAorLQogLSAgIFRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBvZnRlbiBzaGlwcGVkIHdpdGggR05VIHNvZnR3YXJl LCBhbmQKIC0gICBpcyBnZW5lcmFsbHkga2VwdCBpbiBhIGZpbGUgY2FsbGVkIENPUFlJTkcgb3Ig TElDRU5TRS4gIElmIHlvdSBkbyBub3QKIC0gICBoYXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSwg d3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKIC0gICA1OSBUZW1wbGUgUGxh Y2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMSBVU0EuICovCisrICAgUmVhZGxpbmUgaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorKwogKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiArICAgYWxvbmcgd2l0aCBSZWFkbGluZS4gIElmIG5vdCwg c2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICsqLwpAQCAtMTM5NTgsOCArMTQx NTYsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICNpZiBk ZWZpbmVkIChfUE9TSVhfVkVSU0lPTikgJiYgIWRlZmluZWQgKFRFUk1JT1NfTUlTU0lORykKICAj ICBkZWZpbmUgVEVSTUlPU19UVFlfRFJJVkVSCiAgI2Vsc2UKLS0tLSBhL3JlYWRsaW5lL3JsbWJ1 dGlsLmgKLSsrKyBiL3JlYWRsaW5lL3JsbWJ1dGlsLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NzAzL3JlYWRsaW5lL3JsbWJ1dGlsLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEw NzAzLm9yaWcvcmVhZGxpbmUvcmxtYnV0aWwuaAkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAw MCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvcmxtYnV0aWwuaAkyMDEx LTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjQgKzEsMjMgQEAKICAvKiBy bG1idXRpbC5oIC0tIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBtdWx0aWJ5dGUgY2hhcmFjdGVycy4g Ki8KICAKQEAgLTE0MDMyLDggKzE0MjMyLDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICAgICAgIC8qIHN5c3RlbSBpcyBzdXBwb3NlZCB0byBzdXBwb3J0IFhQ RzUgKi8KICAjICAgIGRlZmluZSBIQU5ETEVfTVVMVElCWVRFICAgICAgMQogICMgIGVuZGlmCi0t LS0gYS9yZWFkbGluZS9ybHByaXZhdGUuaAotKysrIGIvcmVhZGxpbmUvcmxwcml2YXRlLmgKK0lu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3JscHJpdmF0ZS5oCis9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3JscHJpdmF0ZS5oCTIwMTEt MDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9y ZWFkbGluZS9ybHByaXZhdGUuaAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAog QEAgLTEsMjUgKzEsMjQgQEAKICAvKiBybHByaXZhdGUuaCAtLSBmdW5jdGlvbnMgYW5kIHZhcmlh YmxlcyBnbG9iYWwgdG8gdGhlIHJlYWRsaW5lIGxpYnJhcnksCiAgCQkgIGJ1dCBub3QgaW50ZW5k ZWQgZm9yIHVzZSBieSBhcHBsaWNhdGlvbnMuICovCkBAIC0xNDE1NSw3ICsxNDM1Nyw3IEBAIGIx MzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAvKiBkaXNwbGF5LmMgKi8K ICBleHRlcm4gaW50IHJsX2Rpc3BsYXlfZml4ZWQ7CiAgCi1AQCAtMjA2LDYgKzI0Miw3IEBAIGV4 dGVybiB2b2lkIF9ybF9jYWxsYmFja19kYXRhX2Rpc3Bvc2UgUEFSQU1TKChfcmxfY2FsbGJhY2tf Z2VuZXJpY19hcmcgKikpOworQEAgLTIwNiw2ICsyNDIsNyBAQCBleHRlcm4gdm9pZCBfcmxfY2Fs bGJhY2tfZGF0YV9kaXNwb3NlIFBBCiAgLyogYmluZC5jICovCiAgCiAgLyogY29tcGxldGUuYyAq LwpAQCAtMTQxNjMsNyArMTQzNjUsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2 OGQxYTRmNDNhCiAgZXh0ZXJuIGNoYXIgX3JsX2ZpbmRfY29tcGxldGlvbl93b3JkIFBBUkFNUygo aW50ICosIGludCAqKSk7CiAgZXh0ZXJuIHZvaWQgX3JsX2ZyZWVfbWF0Y2hfbGlzdCBQQVJBTVMo KGNoYXIgKiopKTsKICAKLUBAIC0yNjEsNiArMjk4LDggQEAgZXh0ZXJuIHZvaWQgX3JsX3N0YXJ0 X3VzaW5nX2hpc3RvcnkgUEFSQU1TKCh2b2lkKSk7CitAQCAtMjYxLDYgKzI5OCw4IEBAIGV4dGVy biB2b2lkIF9ybF9zdGFydF91c2luZ19oaXN0b3J5IFBBUkEKICBleHRlcm4gaW50IF9ybF9mcmVl X3NhdmVkX2hpc3RvcnlfbGluZSBQQVJBTVMoKHZvaWQpKTsKICBleHRlcm4gdm9pZCBfcmxfc2V0 X2luc2VydF9tb2RlIFBBUkFNUygoaW50LCBpbnQpKTsKICAKQEAgLTE0MTcyLDcgKzE0Mzc0LDcg QEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIC8qIG5scy5jICov CiAgZXh0ZXJuIGludCBfcmxfaW5pdF9laWdodGJpdCBQQVJBTVMoKHZvaWQpKTsKICAKLUBAIC0y ODEsNiArMzIwLDE0IEBAIGV4dGVybiBpbnQgX3JsX3Jlc3RvcmVfdHR5X3NpZ25hbHMgUEFSQU1T KCh2b2lkKSk7CitAQCAtMjgxLDYgKzMyMCwxNCBAQCBleHRlcm4gaW50IF9ybF9yZXN0b3JlX3R0 eV9zaWduYWxzIFBBUkFNCiAgLyogc2VhcmNoLmMgKi8KICBleHRlcm4gaW50IF9ybF9uc2VhcmNo X2NhbGxiYWNrIFBBUkFNUygoX3JsX3NlYXJjaF9jeHQgKikpOwogIApAQCAtMTQxODcsNyArMTQz ODksNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgLyogdGVy bWluYWwuYyAqLwogIGV4dGVybiB2b2lkIF9ybF9nZXRfc2NyZWVuX3NpemUgUEFSQU1TKChpbnQs IGludCkpOwogIGV4dGVybiBpbnQgX3JsX2luaXRfdGVybWluYWxfaW8gUEFSQU1TKChjb25zdCBj aGFyICopKTsKLUBAIC0yOTgsNiArMzQ1LDcgQEAgZXh0ZXJuIHZvaWQgX3JsX3NldF9jdXJzb3Ig UEFSQU1TKChpbnQsIGludCkpOworQEAgLTI5OCw2ICszNDUsNyBAQCBleHRlcm4gdm9pZCBfcmxf c2V0X2N1cnNvciBQQVJBTVMoKGludCwgCiAgLyogdGV4dC5jICovCiAgZXh0ZXJuIHZvaWQgX3Js X2ZpeF9wb2ludCBQQVJBTVMoKGludCkpOwogIGV4dGVybiBpbnQgX3JsX3JlcGxhY2VfdGV4dCBQ QVJBTVMoKGNvbnN0IGNoYXIgKiwgaW50LCBpbnQpKTsKQEAgLTE0MTk1LDcgKzE0Mzk3LDcgQEAg YjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIGV4dGVybiBpbnQgX3Js X2luc2VydF9jaGFyIFBBUkFNUygoaW50LCBpbnQpKTsKICBleHRlcm4gaW50IF9ybF9vdmVyd3Jp dGVfY2hhciBQQVJBTVMoKGludCwgaW50KSk7CiAgZXh0ZXJuIGludCBfcmxfb3ZlcndyaXRlX3J1 Ym91dCBQQVJBTVMoKGludCwgaW50KSk7Ci1AQCAtMzA5LDggKzM1NywyNSBAQCBleHRlcm4gaW50 IF9ybF9jaGFyX3NlYXJjaF9pbnRlcm5hbCBQQVJBTVMoKGludCwgaW50LCBpbnQpKTsKK0BAIC0z MDksOCArMzU3LDI1IEBAIGV4dGVybiBpbnQgX3JsX2NoYXJfc2VhcmNoX2ludGVybmFsIFBBUkEK ICAjZW5kaWYKICBleHRlcm4gaW50IF9ybF9zZXRfbWFya19hdF9wb3MgUEFSQU1TKChpbnQpKTsK ICAKQEAgLTE0MjIxLDcgKzE0NDIzLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRk NjhkMWE0ZjQzYQogIGV4dGVybiBjaGFyICpfcmxfc3RyaW5kZXggUEFSQU1TKChjb25zdCBjaGFy ICosIGNvbnN0IGNoYXIgKikpOwogIGV4dGVybiBpbnQgX3JsX3Fzb3J0X3N0cmluZ19jb21wYXJl IFBBUkFNUygoY2hhciAqKiwgY2hhciAqKikpOwogIGV4dGVybiBpbnQgKF9ybF91cHBlcmNhc2Vf cCkgUEFSQU1TKChpbnQpKTsKLUBAIC0zMjcsMTQgKzM5MiwxNSBAQCBleHRlcm4gdm9pZCBfcmxf dmlfcmVzZXRfbGFzdCBQQVJBTVMoKHZvaWQpKTsKK0BAIC0zMjcsMTQgKzM5MiwxNSBAQCBleHRl cm4gdm9pZCBfcmxfdmlfcmVzZXRfbGFzdCBQQVJBTVMoKHZvCiAgZXh0ZXJuIHZvaWQgX3JsX3Zp X3NldF9sYXN0IFBBUkFNUygoaW50LCBpbnQsIGludCkpOwogIGV4dGVybiBpbnQgX3JsX3ZpX3Rl eHRtb2RfY29tbWFuZCBQQVJBTVMoKGludCkpOwogIGV4dGVybiB2b2lkIF9ybF92aV9kb25lX2lu c2VydGluZyBQQVJBTVMoKHZvaWQpKTsKQEAgLTE0MzE4LDggKzE0NTIwLDEwIEBAIGIxMzcwNmFi YmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICtleHRlcm4gX3JsX3ZpbW90aW9uX2N4 dCAqX3JsX3ZpbXZjeHQ7CiAgCiAgI2VuZGlmIC8qIF9STF9QUklWQVRFX0hfICovCi0tLS0gYS9y ZWFkbGluZS9ybHNoZWxsLmgKLSsrKyBiL3JlYWRsaW5lL3Jsc2hlbGwuaAorSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvcmxzaGVsbC5oCis9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcu Mi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3Jsc2hlbGwuaAkyMDExLTA3LTAzIDEwOjQwOjUz LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvcmxzaGVs bC5oCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyNCArMSwyMyBA QAogIC8qIHJsc2hlbGwuaCAtLSB1dGlsaXR5IGZ1bmN0aW9ucyBub3JtYWxseSBwcm92aWRlZCBi eSBiYXNoLiAqLwogIApAQCAtMTQzNTcsOCArMTQ1NjEsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRk ZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogICNpZiAhZGVmaW5lZCAoX1JMX1NIRUxMX0hfKQog ICNkZWZpbmUgX1JMX1NIRUxMX0hfCi0tLS0gYS9yZWFkbGluZS9ybHN0ZGMuaAotKysrIGIvcmVh ZGxpbmUvcmxzdGRjLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3Jsc3Rk Yy5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3Js c3RkYy5oCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDcwMy9yZWFkbGluZS9ybHN0ZGMuaAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAw MCArMDIwMAogQEAgLTEsMjMgKzEsMjMgQEAKIC0vKiBzdGRjLmggLS0gbWFjcm9zIHRvIG1ha2Ug c291cmNlIGNvbXBpbGUgb24gYm90aCBBTlNJIEMgYW5kIEsmUiBDCiAtICAgY29tcGlsZXJzLiAq LwpAQCAtMTQzNzUsMTUgKzE0NTgxLDE2IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRk ZDY4ZDFhNGY0M2EKIC0gICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogLSAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKIC0gICBhbnkgbGF0ZXIg dmVyc2lvbi4KLSsgICBSZWFkbGluZSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAg IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gCistCiAtICAgQmFzaCBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9V VAogLSAgIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m IE1FUkNIQU5UQUJJTElUWQogLSAgIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKIC0gICBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCisrICAgUmVhZGxpbmUgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKwogKyAgIFJlYWRsaW5lIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiArICAgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICsg ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCkBAIC0xNDM5Nyw4ICsxNDYwNCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1 NTJkZGQ2OGQxYTRmNDNhCiAgCiAgI2lmICFkZWZpbmVkIChfUkxfU1REQ19IXykKICAjZGVmaW5l IF9STF9TVERDX0hfCi0tLS0gYS9yZWFkbGluZS9ybHR0eS5jCi0rKysgYi9yZWFkbGluZS9ybHR0 eS5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9ybHR0eS5jCis9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3JsdHR5LmMJMjAxMS0w Ny0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3Jl YWRsaW5lL3JsdHR5LmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0z LDIzICszLDIzIEBACiAgCiAgLyogQ29weXJpZ2h0IChDKSAxOTkyLTIwMDUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC0xNDU0NCw3ICsxNDc1Myw3IEBAIGIxMzcwNmFiYmVlOTY0 NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAjaWYgZGVmaW5lZCAoVElPQ0xTRVQpCiAg ICBpZiAodGlvcC0+ZmxhZ3MgJiBMRkxBR19TRVQpCi1AQCAtMzAyLDcgKzIzNyw4IEBAIHByZXBh cmVfdGVybWluYWxfc2V0dGluZ3MgKG1ldGFfZmxhZywgb2xkdGlvLCB0aW9wKQorQEAgLTMwMiw3 ICsyMzcsOCBAQCBwcmVwYXJlX3Rlcm1pbmFsX3NldHRpbmdzIChtZXRhX2ZsYWcsIG9sCiAgICAg ICBpbnQgbWV0YV9mbGFnOwogICAgICAgVElPVFlQRSBvbGR0aW8sICp0aW9wOwogIHsKQEAgLTE0 NTk3LDcgKzE0ODA2LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQz YQogIAkgIHRpb3AtPmNfbGZsYWcgJj0gfkZMVVNITzsKICAJICBicmVhazsKICAjZWxzZQotQEAg LTU4MCw3ICs1MTYsMTAgQEAgcHJlcGFyZV90ZXJtaW5hbF9zZXR0aW5ncyAobWV0YV9mbGFnLCBv bGR0aW8sIHRpb3ApCitAQCAtNTgwLDcgKzUxNiwxMCBAQCBwcmVwYXJlX3Rlcm1pbmFsX3NldHRp bmdzIChtZXRhX2ZsYWcsIG9sCiAgICAgICBpbnQgbWV0YV9mbGFnOwogICAgICAgVElPVFlQRSBv bGR0aW8sICp0aW9wOwogIHsKQEAgLTE0NjY5LDggKzE0ODc4LDEwIEBAIGIxMzcwNmFiYmVlOTY0 NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAgIHR0eSA9IGZpbGVubyAocmxfaW5zdHJl YW0pOwogIAotLS0tIGEvcmVhZGxpbmUvcmx0dHkuaAotKysrIGIvcmVhZGxpbmUvcmx0dHkuaAor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvcmx0dHkuaAorPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor LS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9ybHR0eS5oCTIwMTEtMDctMDMg MTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGlu ZS9ybHR0eS5oCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyNSAr MSwyMyBAQAogIC8qIHJsdHR5LmggLSB0dHkgZHJpdmVyLXJlbGF0ZWQgZGVmaW5pdGlvbnMgdXNl ZCBieSBzb21lIGxpYnJhcnkgZmlsZXMuICovCiAgCkBAIC0xNDY5NSwxNSArMTQ5MDYsMTYgQEAg YjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogLSAgIFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIC0gICBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl IEdOVQogLSAgIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsgICBS ZWFkbGluZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCi0gCistCiAtICAgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGlzIG9mdGVuIHNoaXBwZWQgd2l0aCBHTlUgc29mdHdhcmUsIGFuZAogLSAgIGlzIGdlbmVyYWxs eSBrZXB0IGluIGEgZmlsZSBjYWxsZWQgQ09QWUlORyBvciBMSUNFTlNFLiAgSWYgeW91IGRvIG5v dAogLSAgIGhhdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLAogLSAgIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24s IE1BIDAyMTExIFVTQS4gKi8KKysgICBSZWFkbGluZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCiArICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK ICsgICBhbG9uZyB3aXRoIFJlYWRsaW5lLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+LgogKyovCkBAIC0xNDcxOCw4ICsxNDkzMCwxMCBAQCBiMTM3MDZhYmJlZTk2 NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAtZXh0ZXJuIHZvaWQgX3JsX3JlbGVhc2Vfc2ln aW50IFBBUkFNUygodm9pZCkpOwogLQogICNlbmRpZiAvKiBfUkxUVFlfSF8gKi8KLS0tLSBhL3Jl YWRsaW5lL3JsdHlwZWRlZnMuaAotKysrIGIvcmVhZGxpbmUvcmx0eXBlZGVmcy5oCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9ybHR5cGVkZWZzLmgKKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0t LSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvcmx0eXBlZGVmcy5oCTIwMTEtMDct MDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFk bGluZS9ybHR5cGVkZWZzLmgJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBA IC0xLDI0ICsxLDIzIEBACiAgLyogcmx0eXBlZGVmcy5oIC0tIFR5cGUgZGVjbGFyYXRpb25zIGZv ciByZWFkbGluZSBmdW5jdGlvbnMuICovCiAgCkBAIC0xNDc1Nyw4ICsxNDk3MSwxMCBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgI2lmbmRlZiBfUkxfVFlQ RURFRlNfSF8KICAjZGVmaW5lIF9STF9UWVBFREVGU19IXwotLS0tIGEvcmVhZGxpbmUvcmx3aW5z aXplLmgKLSsrKyBiL3JlYWRsaW5lL3Jsd2luc2l6ZS5oCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDcwMy9yZWFkbGluZS9ybHdpbnNpemUuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAx MTA3MDMub3JpZy9yZWFkbGluZS9ybHdpbnNpemUuaAkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvcmx3aW5zaXplLmgJ MjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI2ICsxLDI0IEBACiAg Lyogcmx3aW5zaXplLmggLS0gYW4gYXR0ZW1wdCB0byBpc29sYXRlIHNvbWUgb2YgdGhlIHN5c3Rl bS1zcGVjaWZpYyBkZWZpbmVzCiAgICAgZm9yIGBzdHJ1Y3Qgd2luc2l6ZScgYW5kIFRJT0NHV0lO U1ouICovCkBAIC0xNDc4NCwxNSArMTUwMDAsMTYgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMw NTUyZGRkNjhkMWE0ZjQzYQogLSAgIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKIC0gICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogLSAgIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsgICBSZWFkbGluZSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQot KyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gCistCiAt ICAgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIG9mdGVuIHNoaXBwZWQgd2l0aCBH TlUgc29mdHdhcmUsIGFuZAogLSAgIGlzIGdlbmVyYWxseSBrZXB0IGluIGEgZmlsZSBjYWxsZWQg Q09QWUlORyBvciBMSUNFTlNFLiAgSWYgeW91IGRvIG5vdAogLSAgIGhhdmUgYSBjb3B5IG9mIHRo ZSBsaWNlbnNlLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogLSAgIDU5 IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExIFVTQS4gKi8KKysgICBS ZWFkbGluZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisrCiArICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICsgICBhbG9uZyB3aXRoIFJlYWRsaW5l LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogKyovCkBAIC0x NDgwOSw4ICsxNTAyNiwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRm NDNhCiArI2VuZGlmCiAgCiArI2VuZGlmIC8qIF9STF9XSU5TSVpFX0ggKi8KLS0tLSBhL3JlYWRs aW5lL3NhdmVzdHJpbmcuYwotKysrIGIvcmVhZGxpbmUvc2F2ZXN0cmluZy5jCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9zYXZlc3RyaW5nLmMKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBn ZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvc2F2ZXN0cmluZy5jCTIwMTEtMDctMDMg MTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGlu ZS9zYXZlc3RyaW5nLmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0x LDI0ICsxLDI0IEBACiAtLyogc2F2ZXN0cmluZy5jICAqLwogKy8qIHNhdmVzdHJpbmcuYyAtIGZ1 bmN0aW9uIHZlcnNpb24gb2Ygc2F2ZXN0cmluZyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkg Ki8KQEAgLTE0ODYwLDggKzE1MDc5LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRk ZDY4ZDFhNGY0M2EKICsgIHN0cmNweSAocmV0LCBzKTsKICsgIHJldHVybiByZXQ7CiAgfQotLS0t IGEvcmVhZGxpbmUvc2VhcmNoLmMKLSsrKyBiL3JlYWRsaW5lL3NlYXJjaC5jCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9zZWFyY2guYworPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03 LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9zZWFyY2guYwkyMDExLTA3LTAzIDEwOjQwOjUz LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvc2VhcmNo LmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI1ICsxLDI0IEBA CiAgLyogc2VhcmNoLmMgLSBjb2RlIGZvciBub24taW5jcmVtZW50YWwgc2VhcmNoaW5nIGluIGVt YWNzIGFuZCB2aSBtb2Rlcy4gKi8KICAKQEAgLTE0ODc5LDE2ICsxNTEwMCw2IEBAIGIxMzcwNmFi YmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgICBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogLSAgIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3Vy IG9wdGlvbikKIC0gICBhbnkgbGF0ZXIgdmVyc2lvbi4KLS0KLS0gICBUaGUgTGlicmFyeSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKLS0gICBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Ci0tICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZSBHTlUKLS0gICBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCi0tCi0tICAgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIG9mdGVuIHNoaXBw ZWQgd2l0aCBHTlUgc29mdHdhcmUsIGFuZAotLSAgIGlzIGdlbmVyYWxseSBrZXB0IGluIGEgZmls ZSBjYWxsZWQgQ09QWUlORyBvciBMSUNFTlNFLiAgSWYgeW91IGRvIG5vdAotLSAgIGhhdmUgYSBj b3B5IG9mIHRoZSBsaWNlbnNlLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LAotLSAgIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExIFVTQS4g Ki8KICsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvcgogKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CiArCkBAIC0xNDkwMCw3ICsxNTExMSwxNiBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiArICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICsgICBhbG9uZyB3aXRoIFJlYWRsaW5lLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogKyovCi0rCisgCistICAg VGhlIExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwgYnV0CistICAgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgorLSAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCistICAgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgorLQorLSAgIFRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBpcyBvZnRlbiBzaGlwcGVkIHdpdGggR05VIHNvZnR3YXJlLCBhbmQKKy0gICBpcyBnZW5lcmFs bHkga2VwdCBpbiBhIGZpbGUgY2FsbGVkIENPUFlJTkcgb3IgTElDRU5TRS4gIElmIHlvdSBkbyBu b3QKKy0gICBoYXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSwgd3JpdGUgdG8gdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwKKy0gICA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9u LCBNQSAwMjExMSBVU0EuICovCiAgI2RlZmluZSBSRUFETElORV9MSUJSQVJZCiAgCiAgI2lmIGRl ZmluZWQgKEhBVkVfQ09ORklHX0gpCkBAIC0xNDkyMyw4ICsxNTE0MywxMCBAQCBiMTM3MDZhYmJl ZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgICBSTF9TRVRTVEFURShSTF9TVEFU RV9OU0VBUkNIKTsKICAKLS0tLSBhL3JlYWRsaW5lL3NoZWxsLmMKLSsrKyBiL3JlYWRsaW5lL3No ZWxsLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3NoZWxsLmMKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvc2hlbGwuYwkyMDEx LTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMv cmVhZGxpbmUvc2hlbGwuYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAg LTEsMjUgKzEsMjUgQEAKICAvKiBzaGVsbC5jIC0tIHJlYWRsaW5lIHV0aWxpdHkgZnVuY3Rpb25z IHRoYXQgYXJlIG5vcm1hbGx5IHByb3ZpZGVkIGJ5CiAgCSAgICAgIGJhc2ggd2hlbiByZWFkbGlu ZSBpcyBsaW5rZWQgYXMgcGFydCBvZiB0aGUgc2hlbGwuICovCkBAIC0xNDk3OSw4ICsxNTIwMSwx MCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgI2Vsc2UgLyog IUhBVkVfU0VURU5WICovCiAgIyAgaWYgZGVmaW5lZCAoSEFWRV9QVVRFTlYpCiAgICBiID0gKGNo YXIgKil4bWFsbG9jIChJTlRfU1RSTEVOX0JPVU5EIChpbnQpICsgc2l6ZW9mICgiTElORVM9Iikg KyAxKTsKLS0tLSBhL3JlYWRsaW5lL3NobGliL01ha2VmaWxlLmluCi0rKysgYi9yZWFkbGluZS9z aGxpYi9NYWtlZmlsZS5pbgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvc2hs aWIvTWFrZWZpbGUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcv cmVhZGxpbmUvc2hsaWIvTWFrZWZpbGUuaW4JMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAg KzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3NobGliL01ha2VmaWxlLmlu CTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyMSArMSwyMCBAQAog ICMjIC0qLSB0ZXh0IC0qLSAjIwogICMgTWFrZWZpbGUgZm9yIHRoZSBHTlUgcmVhZGxpbmUgbGli cmFyeSBzaGFyZWQgbGlicmFyeSBzdXBwb3J0LgpAQCAtMTQ5OTIsMjMgKzE1MjE2LDI1IEBAIGIx MzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIC0jIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAt IyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQg eW91ciBvcHRpb24pCiAtIyBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsjICAgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsj ICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh cyBwdWJsaXNoZWQgYnkKLSsjICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVy IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsjICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KLSAKKy0KIC0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIC0jIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIC0jIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCistCistIyBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQorLSMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUg U29mdHdhcmUKKy0jIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMw LCBCb3N0b24sIE1BIDAyMTExIFVTQS4KKysjICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjICAgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKKysjICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKKysjICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KKysKICsjICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCiArIyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiArIyAgIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICsjICAgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAKLS0jIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0tIyBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2Fy ZQotLSMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3Rv biwgTUEgMDIxMTEgVVNBLgorKwogKyMgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKyMgICBhbG9uZyB3aXRoIHRoaXMg cHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAK QEAgLTE1MDQwLDcgKzE1MjY2LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogIAogICMgU3VwcG9ydCBhbiBhbHRlcm5hdGUgZGVzdGluYXRpb24gcm9vdCBkaXJl Y3RvcnkgZm9yIHBhY2thZ2UgYnVpbGRpbmcKICBERVNURElSID0KLUBAIC0xMjIsOCArMTIyLDYg QEAgU0hBUkVEX1JFQURMSU5FID0gJChTSExJQl9MSUJQUkVGKXJlYWRsaW5lJChTSExJQl9ET1Qp JChTSExJQl9MSUJWRVJTSU9OKQorQEAgLTEyMiw4ICsxMjIsNiBAQCBTSEFSRURfUkVBRExJTkUg PSAkKFNITElCX0xJQlBSRUYpcmVhZGxpCiAgU0hBUkVEX0hJU1RPUlkgPSAkKFNITElCX0xJQlBS RUYpaGlzdG9yeSQoU0hMSUJfRE9UKSQoU0hMSUJfTElCVkVSU0lPTikKICBTSEFSRURfTElCUyA9 ICQoU0hBUkVEX1JFQURMSU5FKSAkKFNIQVJFRF9ISVNUT1JZKQogIApAQCAtMTUwNDksNyArMTUy NzUsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgIyBUaGUg QyBjb2RlIHNvdXJjZSBmaWxlcyBmb3IgdGhpcyBsaWJyYXJ5LgogIENTT1VSQ0VTID0gJCh0b3Bk aXIpL3JlYWRsaW5lLmMgJCh0b3BkaXIpL2Z1bm1hcC5jICQodG9wZGlyKS9rZXltYXBzLmMgXAog IAkgICAkKHRvcGRpcikvdmlfbW9kZS5jICQodG9wZGlyKS9wYXJlbnMuYyAkKHRvcGRpcikvcmx0 dHkuYyBcCi1AQCAtMTMxLDEyICsxMjksMTIgQEAgQ1NPVVJDRVMgPSAkKHRvcGRpcikvcmVhZGxp bmUuYyAkKHRvcGRpcikvZnVubWFwLmMgJCh0b3BkaXIpL2tleW1hcHMuYyBcCitAQCAtMTMxLDEy ICsxMjksMTIgQEAgQ1NPVVJDRVMgPSAkKHRvcGRpcikvcmVhZGxpbmUuYyAkKHRvcGRpcgogIAkg ICAkKHRvcGRpcikvZGlzcGxheS5jICQodG9wZGlyKS9zaWduYWxzLmMgJCh0b3BkaXIpL2VtYWNz X2tleW1hcC5jIFwKICAJICAgJCh0b3BkaXIpL3ZpX2tleW1hcC5jICQodG9wZGlyKS91dGlsLmMg JCh0b3BkaXIpL2tpbGwuYyBcCiAgCSAgICQodG9wZGlyKS91bmRvLmMgJCh0b3BkaXIpL21hY3Jv LmMgJCh0b3BkaXIpL2lucHV0LmMgXApAQCAtMTUxMTIsNyArMTUzMzgsNyBAQCBiMTM3MDZhYmJl ZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCUBlY2hvIHVuaW5zdGFsbDogeW91IG1h eSBuZWVkIHRvIHJ1biBsZGNvbmZpZwogIAogIGNsZWFuIG1vc3RseWNsZWFuOglmb3JjZQotQEAg LTMyMiw2ICszMTcsOCBAQCB2aV9tb2RlLnNvOiAkKHRvcGRpcikvcmxkZWZzLmggJHtCVUlMRF9E SVJ9L2NvbmZpZy5oICQodG9wZGlyKS9ybGNvbmYuaAorQEAgLTMyMiw2ICszMTcsOCBAQCB2aV9t b2RlLnNvOiAkKHRvcGRpcikvcmxkZWZzLmggJHtCVUlMRF9ECiAgdmlfbW9kZS5zbzogJCh0b3Bk aXIpL3JlYWRsaW5lLmggJCh0b3BkaXIpL2tleW1hcHMuaCAkKHRvcGRpcikvY2hhcmRlZnMuaAog IHZpX21vZGUuc286ICQodG9wZGlyKS9oaXN0b3J5LmggJCh0b3BkaXIpL2Fuc2lfc3RkbGliLmgg JCh0b3BkaXIpL3RpbGRlLmgKICB2aV9tb2RlLnNvOiAkKHRvcGRpcikvcmx0eXBlZGVmcy5oCkBA IC0xNTE0NSw4ICsxNTM3MSwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQx YTRmNDNhCiAgeG1hbGxvYy5zbzogeG1hbGxvYy5jCiAgCiAgaGlzdGV4cGFuZC5zbzogaGlzdGV4 cGFuZC5jCi0tLS0gYS9yZWFkbGluZS9zaWduYWxzLmMKLSsrKyBiL3JlYWRsaW5lL3NpZ25hbHMu YworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvc2lnbmFscy5jCis9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3NpZ25hbHMuYwkyMDEx LTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMv cmVhZGxpbmUvc2lnbmFscy5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBA QCAtMSwyNCArMSwyNCBAQAogIC8qIHNpZ25hbHMuYyAtLSBzaWduYWwgaGFuZGxpbmcgc3VwcG9y dCBmb3IgcmVhZGxpbmUuICovCiAgCkBAIC0xNTIwMSw3ICsxNTQyOSw3IEBAIGIxMzcwNmFiYmVl OTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAjaWYgIWRlZmluZWQgKFJFVFNJR1RZUEUp CiAgIyAgaWYgZGVmaW5lZCAoVk9JRF9TSUdIQU5ETEVSKQogICMgICAgZGVmaW5lIFJFVFNJR1RZ UEUgdm9pZAotQEAgLTgwLDYgKzgxLDkgQEAgdHlwZWRlZiBzdHJ1Y3QgeyBTaWdIYW5kbGVyICpz YV9oYW5kbGVyOyBpbnQgc2FfbWFzaywgc2FfZmxhZ3M7IH0gc2lnaGFuZGxlcl9jeHQKK0BAIC04 MCw2ICs4MSw5IEBAIHR5cGVkZWYgc3RydWN0IHsgU2lnSGFuZGxlciAqc2FfaGFuZGxlcjsKICBz dGF0aWMgU2lnSGFuZGxlciAqcmxfc2V0X3NpZ2hhbmRsZXIgUEFSQU1TKChpbnQsIFNpZ0hhbmRs ZXIgKiwgc2lnaGFuZGxlcl9jeHQgKikpOwogIHN0YXRpYyB2b2lkIHJsX21heWJlX3NldF9zaWdo YW5kbGVyIFBBUkFNUygoaW50LCBTaWdIYW5kbGVyICosIHNpZ2hhbmRsZXJfY3h0ICopKTsKICAK QEAgLTE1Mjg3LDcgKzE1NTE1LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogICAgICAgIHNpZ3Byb2NtYXNrIChTSUdfQkxPQ0ssIChzaWdzZXRfdCAqKU5VTEws ICZzZXQpOwogICAgICAgIHNpZ2RlbHNldCAoJnNldCwgc2lnKTsKICAjZWxzZSAvKiAhSEFWRV9Q T1NJWF9TSUdOQUxTICovCi1AQCAtMjUxLDExICsyOTYsMTEgQEAgcmxfc2V0X3NpZ2hhbmRsZXIg KHNpZywgaGFuZGxlciwgb2hhbmRsZXIpCitAQCAtMjUxLDExICsyOTYsMTEgQEAgcmxfc2V0X3Np Z2hhbmRsZXIgKHNpZywgaGFuZGxlciwgb2hhbmRsZQogICAgc3RydWN0IHNpZ2FjdGlvbiBhY3Q7 CiAgCiAgICBhY3Quc2FfaGFuZGxlciA9IGhhbmRsZXI7CkBAIC0xNTUyOSwxMCArMTU3NTcsMTAg QEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogKwogKyAgX3JsX291 dHB1dF9zb21lX2NoYXJzIChjc3RyLCBjc2xlbik7CiArfQotb2xkIG1vZGUgMTAwNzU1Ci1uZXcg bW9kZSAxMDA2NDQKLS0tLSBhL3JlYWRsaW5lL3N1cHBvcnQvY29uZmlnLmd1ZXNzCi0rKysgYi9y ZWFkbGluZS9zdXBwb3J0L2NvbmZpZy5ndWVzcworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMv cmVhZGxpbmUvc3VwcG9ydC9jb25maWcuZ3Vlc3MKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkw LjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvc3VwcG9ydC9jb25maWcuZ3Vlc3MJMjAxMS0wNy0wMyAx MDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5l L3N1cHBvcnQvY29uZmlnLmd1ZXNzCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAw CiBAQCAtMSw5ICsxLDEwIEBACiAgIyEgL2Jpbi9zaAogICMgQXR0ZW1wdCB0byBndWVzcyBhIGNh bm9uaWNhbCBzeXN0ZW0gbmFtZS4KQEAgLTE1NjA3LDcgKzE1ODM1LDcgQEAgbmV3IG1vZGUgMTAw NjQ0CiAgCiAgIyBUaGlzIGlzIG5lZWRlZCB0byBmaW5kIHVuYW1lIG9uIGEgUHlyYW1pZCBPU3gg d2hlbiBydW4gaW4gdGhlIEJTRCB1bml2ZXJzZS4KICAjIChnaGF6aUBub2MucnV0Z2Vycy5lZHUg MTk5NC0wOC0yNCkKLUBAIC0xNTgsNiArMTYxLDcgQEAgY2FzZSAiJHtVTkFNRV9NQUNISU5FfTok e1VOQU1FX1NZU1RFTX06JHtVTkFNRV9SRUxFQVNFfToke1VOQU1FX1ZFUlNJT059IiBpbgorQEAg LTE1OCw2ICsxNjEsNyBAQCBjYXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfTok CiAgCSAgICBhcm0qKSBtYWNoaW5lPWFybS11bmtub3duIDs7CiAgCSAgICBzaDNlbCkgbWFjaGlu ZT1zaGwtdW5rbm93biA7OwogIAkgICAgc2gzZWIpIG1hY2hpbmU9c2gtdW5rbm93biA7OwpAQCAt MTU2MTUsNyArMTU4NDMsNyBAQCBuZXcgbW9kZSAxMDA2NDQKICAJICAgICopIG1hY2hpbmU9JHtV TkFNRV9NQUNISU5FX0FSQ0h9LXVua25vd24gOzsKICAJZXNhYwogIAkjIFRoZSBPcGVyYXRpbmcg U3lzdGVtIGluY2x1ZGluZyBvYmplY3QgZm9ybWF0LCBpZiBpdCBoYXMgc3dpdGNoZWQKLUBAIC0x OTYsNjggKzIwMCwzMiBAQCBjYXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfTok e1VOQU1FX1JFTEVBU0V9OiR7VU5BTUVfVkVSU0lPTn0iIGluCitAQCAtMTk2LDY4ICsyMDAsMzIg QEAgY2FzZSAiJHtVTkFNRV9NQUNISU5FfToke1VOQU1FX1NZU1RFTX06JAogIAkjIGNvbnRhaW5z IHJlZHVuZGFudCBpbmZvcm1hdGlvbiwgdGhlIHNob3J0ZXIgZm9ybToKICAJIyBDUFVfVFlQRS1N QU5VRkFDVFVSRVItT1BFUkFUSU5HX1NZU1RFTSBpcyB1c2VkLgogIAllY2hvICIke21hY2hpbmV9 LSR7b3N9JHtyZWxlYXNlfSIKQEAgLTE1NzAyLDcgKzE1OTMwLDcgQEAgbmV3IG1vZGUgMTAwNjQ0 CiAgCSMgQWNjb3JkaW5nIHRvIENvbXBhcSwgL3Vzci9zYmluL3BzcmluZm8gaGFzIGJlZW4gYXZh aWxhYmxlIG9uCiAgCSMgT1NGLzEgYW5kIFRydTY0IHN5c3RlbXMgcHJvZHVjZWQgc2luY2UgMTk5 NS4gIEkgaG9wZSB0aGF0CiAgCSMgY292ZXJzIG1vc3Qgc3lzdGVtcyBydW5uaW5nIHRvZGF5LiAg VGhpcyBjb2RlIHBpcGVzIHRoZSBDUFUKLUBAIC0yOTUsNDUgKzI2Myw0OSBAQCBjYXNlICIke1VO QU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfToke1VOQU1FX1JFTEVBU0V9OiR7VU5BTUVfVkVS U0lPTn0iIGluCitAQCAtMjk1LDQ1ICsyNjMsNDkgQEAgY2FzZSAiJHtVTkFNRV9NQUNISU5FfTok e1VOQU1FX1NZU1RFTX06JAogIAkgICAgIkVWNy45ICgyMTM2NEEpIikKICAJCVVOQU1FX01BQ0hJ TkU9ImFscGhhZXY3OSIgOzsKICAJZXNhYwpAQCAtMTU3NjYsNyArMTU5OTQsNyBAQCBuZXcgbW9k ZSAxMDA2NDQKICAgICAgUHlyYW1pZCo6T1N4KjoqOiogfCBNSVMqOk9TeCo6KjoqIHwgTUlTKjpT TVBfREMtT1N4KjoqOiopCiAgCSMgYWtlZUB3cGRpczAzLndwYWZiLmFmLm1pbCAoRWFybGUgRi4g QWtlKSBjb250cmlidXRlZCBNSVMgYW5kIE5JTEUuCiAgCWlmIHRlc3QgImAoL2Jpbi91bml2ZXJz ZSkgMj4vZGV2L251bGxgIiA9IGF0dCA7IHRoZW4KLUBAIC0zNDEsMzIgKzMxMywzMiBAQCBjYXNl ICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfToke1VOQU1FX1JFTEVBU0V9OiR7VU5B TUVfVkVSU0lPTn0iIGluCitAQCAtMzQxLDMyICszMTMsMzIgQEAgY2FzZSAiJHtVTkFNRV9NQUNI SU5FfToke1VOQU1FX1NZU1RFTX06JAogIAllbHNlCiAgCQllY2hvIHB5cmFtaWQtcHlyYW1pZC1i c2QKICAJZmkKQEAgLTE1ODA5LDcgKzE2MDM3LDcgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgICAgIHN1 bjQqOlN1bk9TOio6KikKICAJY2FzZSAiYC91c3IvYmluL2FyY2ggLWtgIiBpbgogIAkgICAgU2Vy aWVzKnxTNCopCi1AQCAtMzc1LDEwICszNDcsMTAgQEAgY2FzZSAiJHtVTkFNRV9NQUNISU5FfTok e1VOQU1FX1NZU1RFTX06JHtVTkFNRV9SRUxFQVNFfToke1VOQU1FX1ZFUlNJT059IiBpbgorQEAg LTM3NSwxMCArMzQ3LDEwIEBAIGNhc2UgIiR7VU5BTUVfTUFDSElORX06JHtVTkFNRV9TWVNURU19 OiQKICAJZXNhYwogIAkjIEphcGFuZXNlIExhbmd1YWdlIHZlcnNpb25zIGhhdmUgYSB2ZXJzaW9u IG51bWJlciBsaWtlIGA0LjEuMy1KTCcuCiAgCWVjaG8gc3BhcmMtc3VuLXN1bm9zYGVjaG8gJHtV TkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvLS9fLydgCkBAIC0xNTgyMiw3ICsxNjA1MCw3IEBAIG5l dyBtb2RlIDEwMDY0NAogICAgICBzdW4qOio6NC4yQlNEOiopCiAgCVVOQU1FX1JFTEVBU0U9YChz ZWQgMXEgL2V0Yy9tb3RkIHwgYXdrICd7cHJpbnQgc3Vic3RyKCQ1LDEsMyl9JykgMj4vZGV2L251 bGxgCiAgCXRlc3QgIngke1VOQU1FX1JFTEVBU0V9IiA9ICJ4IiAmJiBVTkFNRV9SRUxFQVNFPTMK LUBAIC0zOTAsMTAgKzM2MiwxMCBAQCBjYXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lT VEVNfToke1VOQU1FX1JFTEVBU0V9OiR7VU5BTUVfVkVSU0lPTn0iIGluCitAQCAtMzkwLDEwICsz NjIsMTAgQEAgY2FzZSAiJHtVTkFNRV9NQUNISU5FfToke1VOQU1FX1NZU1RFTX06JAogIAkJZWNo byBzcGFyYy1zdW4tc3Vub3Mke1VOQU1FX1JFTEVBU0V9CiAgCQk7OwogIAllc2FjCkBAIC0xNTgz NSw3ICsxNjA2Myw3IEBAIG5ldyBtb2RlIDEwMDY0NAogICAgICAjIFRoZSBzaXR1YXRpb24gZm9y IE1pTlQgaXMgYSBsaXR0bGUgY29uZnVzaW5nLiAgVGhlIG1hY2hpbmUgbmFtZQogICAgICAjIGNh biBiZSB2aXJ0dWFsbHkgZXZlcnl0aGluZyAoZXZlcnl0aGluZyB3aGljaCBpcyBub3QKICAgICAg IyAiYXRhcmlzdCIgb3IgImF0YXJpc3RlIiBhdCBsZWFzdCBzaG91bGQgaGF2ZSBhIHByb2Nlc3Nv cgotQEAgLTQwNCw0MCArMzc2LDQwIEBAIGNhc2UgIiR7VU5BTUVfTUFDSElORX06JHtVTkFNRV9T WVNURU19OiR7VU5BTUVfUkVMRUFTRX06JHtVTkFNRV9WRVJTSU9OfSIgaW4KK0BAIC00MDQsNDAg KzM3Niw0MCBAQCBjYXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfTokCiAgICAg ICMgYmUgbm8gcHJvYmxlbS4KICAgICAgYXRhcmlzdFtlXToqTWlOVDoqOiogfCBhdGFyaXN0W2Vd OiptaW50Oio6KiB8IGF0YXJpc3RbZV06KlRPUzoqOiopCiAgICAgICAgICBlY2hvIG02OGstYXRh cmktbWludCR7VU5BTUVfUkVMRUFTRX0KQEAgLTE1ODg4LDcgKzE2MTE2LDcgQEAgbmV3IG1vZGUg MTAwNjQ0CiAgICAgIG1pcHM6KjoqOlVNSVBTIHwgbWlwczoqOio6UklTQ29zKQogIAlldmFsICRz ZXRfY2NfZm9yX2J1aWxkCiAgCXNlZCAncy9eCS8vJyA8PCBFT0YgPiRkdW1teS5jCi1AQCAtNDYx LDMyICs0MzMsMzMgQEAgY2FzZSAiJHtVTkFNRV9NQUNISU5FfToke1VOQU1FX1NZU1RFTX06JHtV TkFNRV9SRUxFQVNFfToke1VOQU1FX1ZFUlNJT059IiBpbgorQEAgLTQ2MSwzMiArNDMzLDMzIEBA IGNhc2UgIiR7VU5BTUVfTUFDSElORX06JHtVTkFNRV9TWVNURU19OiQKICAJICBleGl0ICgtMSk7 CiAgCX0KICBFT0YKQEAgLTE2ODc3LDcgKzE3MTA1LDcgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgICAg IGVzYWMKICBmaQogIAotQEAgLTE0MTAsNyArMTQ4Nyw5IEBAIFRoaXMgc2NyaXB0LCBsYXN0IG1v ZGlmaWVkICR0aW1lc3RhbXAsIGhhcyBmYWlsZWQgdG8gcmVjb2duaXplCitAQCAtMTQxMCw3ICsx NDg3LDkgQEAgVGhpcyBzY3JpcHQsIGxhc3QgbW9kaWZpZWQgJHRpbWVzdGFtcCwgaAogIHRoZSBv cGVyYXRpbmcgc3lzdGVtIHlvdSBhcmUgdXNpbmcuIEl0IGlzIGFkdmlzZWQgdGhhdCB5b3UKICBk b3dubG9hZCB0aGUgbW9zdCB1cCB0byBkYXRlIHZlcnNpb24gb2YgdGhlIGNvbmZpZyBzY3JpcHRz IGZyb20KICAKQEAgLTE2ODg4LDEwICsxNzExNiwxMCBAQCBuZXcgbW9kZSAxMDA2NDQKICAKICBJ ZiB0aGUgdmVyc2lvbiB5b3UgcnVuICgkMCkgaXMgYWxyZWFkeSB1cCB0byBkYXRlLCBwbGVhc2UK ICBzZW5kIHRoZSBmb2xsb3dpbmcgZGF0YSBhbmQgYW55IGluZm9ybWF0aW9uIHlvdSB0aGluayBt aWdodCBiZQotb2xkIG1vZGUgMTAwNzU1Ci1uZXcgbW9kZSAxMDA2NDQKLS0tLSBhL3JlYWRsaW5l L3N1cHBvcnQvY29uZmlnLnJwYXRoCi0rKysgYi9yZWFkbGluZS9zdXBwb3J0L2NvbmZpZy5ycGF0 aAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvc3VwcG9ydC9jb25maWcucnBh dGgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvc3Vw cG9ydC9jb25maWcucnBhdGgJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysr KyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3N1cHBvcnQvY29uZmlnLnJwYXRoCTIwMTEt MDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNiwxOSArNiwxOCBAQAogICMgICBU YWtlbiBmcm9tIEdOVSBsaWJ0b29sLCAyMDAxCiAgIyAgIE9yaWdpbmFsbHkgYnkgR29yZG9uIE1h dHppZ2tlaXQgPGdvcmRAZ251LmFpLm1pdC5lZHU+LCAxOTk2CkBAIC0xNjkxOSwxMCArMTcxNDcs MTAgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgIwogICMgICBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRv IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaWYgeW91CiAgIyAgIGRpc3RyaWJ1dGUg dGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFtIHRoYXQgY29udGFpbnMgYQotb2xkIG1vZGUg MTAwNzU1Ci1uZXcgbW9kZSAxMDA2NDQKLS0tLSBhL3JlYWRsaW5lL3N1cHBvcnQvY29uZmlnLnN1 YgotKysrIGIvcmVhZGxpbmUvc3VwcG9ydC9jb25maWcuc3ViCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDcwMy9yZWFkbGluZS9zdXBwb3J0L2NvbmZpZy5zdWIKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvc3VwcG9ydC9jb25maWcuc3ViCTIwMTEtMDct MDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFk bGluZS9zdXBwb3J0L2NvbmZpZy5zdWIJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAy MDAKIEBAIC0xLDkgKzEsMTAgQEAKICAjISAvYmluL3NoCiAgIyBDb25maWd1cmF0aW9uIHZhbGlk YXRpb24gc3Vicm91dGluZSBzY3JpcHQuCkBAIC0xNjk1NSw3ICsxNzE4Myw3IEBAIG5ldyBtb2Rl IDEwMDY0NAogICMgUGxlYXNlIHNlbmQgcGF0Y2hlcyB0byA8Y29uZmlnLXBhdGNoZXNAZ251Lm9y Zz4uICBTdWJtaXQgYSBjb250ZXh0CiAgIyBkaWZmIGFuZCBhIHByb3Blcmx5IGZvcm1hdHRlZCBD aGFuZ2VMb2cgZW50cnkuCiAgIwotQEAgLTcwLDggKzcyLDggQEAgUmVwb3J0IGJ1Z3MgYW5kIHBh dGNoZXMgdG8gPGNvbmZpZy1wYXRjaGVzQGdudS5vcmc+LiIKK0BAIC03MCw4ICs3Miw4IEBAIFJl cG9ydCBidWdzIGFuZCBwYXRjaGVzIHRvIDxjb25maWctcGF0Y2gKICB2ZXJzaW9uPSJcCiAgR05V IGNvbmZpZy5zdWIgKCR0aW1lc3RhbXApCiAgCkBAIC0xNzUyOCw4ICsxNzc1NiwxMCBAQCBuZXcg bW9kZSAxMDA2NDQKICAKICAjIExvY2FsIHZhcmlhYmxlczoKICAjIGV2YWw6IChhZGQtaG9vayAn d3JpdGUtZmlsZS1ob29rcyAndGltZS1zdGFtcCkKLS0tLSBhL3JlYWRsaW5lL3N1cHBvcnQvbWtk aXJzCi0rKysgYi9yZWFkbGluZS9zdXBwb3J0L21rZGlycworSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA3MDMvcmVhZGxpbmUvc3VwcG9ydC9ta2RpcnMKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkw LjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvc3VwcG9ydC9ta2RpcnMJMjAxMS0wNy0wMyAxMDo0MDo1 My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3N1cHBv cnQvbWtkaXJzCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNywxOSAr NywxOCBAQAogIAogICMgQ29weXJpZ2h0IChDKSAxOTk2LTIwMDIgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCkBAIC0xNzU2MCw4ICsxNzc5MCwxMCBAQCBuZXcgbW9kZSAxMDA2NDQKICAK ICBmb3IgZGlyCiAgZG8KLS0tLSBhL3JlYWRsaW5lL3N1cHBvcnQvbWtkaXN0Ci0rKysgYi9yZWFk bGluZS9zdXBwb3J0L21rZGlzdAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUv c3VwcG9ydC9ta2Rpc3QKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcv cmVhZGxpbmUvc3VwcG9ydC9ta2Rpc3QJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3N1cHBvcnQvbWtkaXN0CTIwMTEt MDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTIsMTkgKzEyLDE5IEBACiAgCiAg IyBDb3B5cmlnaHQgKEMpIDE5OTYtMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K QEAgLTE3NTkzLDggKzE3ODI1LDEwIEBAIG5ldyBtb2RlIDEwMDY0NAogIAogIFNSQ0RJUj1zcmMK ICBST09UTkFNRT1iYXNoCi0tLS0gYS9yZWFkbGluZS9zdXBwb3J0L3NobGliLWluc3RhbGwKLSsr KyBiL3JlYWRsaW5lL3N1cHBvcnQvc2hsaWItaW5zdGFsbAorSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA3MDMvcmVhZGxpbmUvc3VwcG9ydC9zaGxpYi1pbnN0YWxsCis9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2Ri LTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3N1cHBvcnQvc2hsaWItaW5zdGFsbAkyMDEx LTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMv cmVhZGxpbmUvc3VwcG9ydC9zaGxpYi1pbnN0YWxsCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAw MDAwICswMjAwCiBAQCAtMyw3ICszLDcgQEAKICAjIHNobGliLWluc3RhbGwgLSBpbnN0YWxsIGEg c2hhcmVkIGxpYnJhcnkgYW5kIGRvIGFueSBuZWNlc3NhcnkgaG9zdC1zcGVjaWZpYwogICMJCSAg cG9zdC1pbnN0YWxsYXRpb24gY29uZmlndXJhdGlvbiAobGlrZSBsZGNvbmZpZykKQEAgLTE3NjM4 LDcgKzE3ODcyLDcgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgCUlNUExJQk5BTUU9YGVjaG8gJHtMSUJO QU1FfSBcCiAgCQl8IHNlZCAtZSAncyxeY3lnLGxpYiwnIC1lICdzLFswLTldKi5kbGwkLC5kbGwu YSwnYAogIAlpZiBbIC16ICIkdW5pbnN0YWxsIiBdOyB0aGVuCi1AQCAtMTE0LDggKzExNiw4IEBA IElOU1RBTExfTElOSzI9JyR7ZWNob30gY2QgJElOU1RBTExESVIgJiYgJHtlY2hvfSAke0xOfSAk TElCTkFNRSAkTElOSzInCitAQCAtMTE0LDggKzExNiw4IEBAIElOU1RBTExfTElOSzI9JyR7ZWNo b30gY2QgJElOU1RBTExESVIgJiYKICAjCiAgIyBDcmVhdGUgc3ltbGlua3MgdG8gdGhlIGluc3Rh bGxlZCBsaWJyYXJ5LiAgVGhpcyBzZWN0aW9uIGlzIGluY29tcGxldGUuCiAgIwpAQCAtMTc2Njcs NyArMTc5MDEsNyBAQCBuZXcgbW9kZSAxMDA2NDQKICAJIyBsaWJuYW1lLnNvIC0+IGxpYm5hbWUu c28uTQogIAkke2VjaG99ICR7Uk19ICR7SU5TVEFMTERJUn0vJExJTksxCiAgCWlmIFsgLXogIiR1 bmluc3RhbGwiIF07IHRoZW4KLUBAIC0xNTMsNyArMTU1LDcgQEAgc29sYXJpczIqfGFpeDQuWzIt OV0qfG9zZip8aXJpeFs1Nl0qfHN5c3ZbNDVdKnxkZ3V4KikKK0BAIC0xNTMsNyArMTU1LDcgQEAg c29sYXJpczIqfGFpeDQuWzItOV0qfG9zZip8aXJpeFs1Nl0qfHN5cwogIAogIAogICMgRnJlZUJT RCAzLnggYW5kIGFib3ZlIGNhbiBoYXZlIGVpdGhlciBhLm91dCBvciBFTEYgc2hhcmVkIGxpYnJh cmllcwpAQCAtMTc2NzYsNyArMTc5MTAsNyBAQCBuZXcgbW9kZSAxMDA2NDQKICAJaWYgWyAteCAv dXNyL2Jpbi9vYmpmb3JtYXQgXSAmJiBbICJgL3Vzci9iaW4vb2JqZm9ybWF0YCIgPSAiZWxmIiBd OyB0aGVuCiAgCQkjIGxpYm5hbWUuc28gLT4gbGlibmFtZS5zby5NCiAgCQkke2VjaG99ICR7Uk19 ICR7SU5TVEFMTERJUn0vJExJTksxCi1AQCAtMTc1LDYgKzE3NywxNCBAQCBmcmVlYnNkWzMtOV0q fGZyZWVic2RlbGZbMy05XSp8ZnJlZWJzZGFvdXRbMy05XSopCitAQCAtMTc1LDYgKzE3NywxNCBA QCBmcmVlYnNkWzMtOV0qfGZyZWVic2RlbGZbMy05XSp8ZnJlZWJzZGFvCiAgCWZpCiAgCTs7CiAg CkBAIC0xNzcwMCwyNyArMTc5MzQsMTkgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgCSMgTGlua3MgdG8g LmRsbHMgZG9uJ3Qgd29yay4gIEhlbmNlIHNob2JqLWNvbmYgdXNlZCBETExWRVJTSU9OLmRsbAog IAkjIGluc3RlYWQgb2Ygc28uU0hMSUJfTUFKT1IuU0hMSUJfTUlOT1IuICBUaGUgcG9zdGluc3Rh bGwgYWJvdmUKICAJIyB0b29rIGNhcmUgb2YgZXZlcnl0aGluZyBlbHNlLgotb2xkIG1vZGUgMTAw NzU1Ci1uZXcgbW9kZSAxMDA2NDQKLS0tLSBhL3JlYWRsaW5lL3N1cHBvcnQvc2hvYmotY29uZgot KysrIGIvcmVhZGxpbmUvc3VwcG9ydC9zaG9iai1jb25mCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDcwMy9yZWFkbGluZS9zdXBwb3J0L3Nob2JqLWNvbmYKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4y LjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvc3VwcG9ydC9zaG9iai1jb25mCTIwMTEtMDctMDMg MTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGlu ZS9zdXBwb3J0L3Nob2JqLWNvbmYJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0xMCwyMSArMTAsMjMgQEAKICAjIENoZXQgUmFtZXkKICAjIGNoZXRAcG8uY3dydS5lZHUK ICAKIC0jIENvcHlyaWdodCAoQykgMTk5Ni0yMDAyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogKyMgICBDb3B5cmlnaHQgKEMpIDE5OTYtMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KLSAjCi0tIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotLSMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLS0jIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlv bikKLS0jIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKICsjICAgVGhpcyBmaWxlIGlzIHBhcnQgb2Yg R05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCi0gIwotLSMgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0tIyBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgotLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQotLSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KKysjCiArIyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiArIyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiArIyAgIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y CkBAIC0xNzczNCw2ICsxNzk2MCwxNiBAQCBuZXcgbW9kZSAxMDA2NDQKICsjICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK ICsjICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCiAgIworLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy0jIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cist IyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQg eW91ciBvcHRpb24pCistIyBhbnkgbGF0ZXIgdmVyc2lvbi4KKy0jCistIyBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0jIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCistIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCistIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorLSMKIC0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAtIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90 LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogLSMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVt cGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEgVVNBLgpAQCAtMTc3OTksNyAr MTgwMzUsNyBAQCBuZXcgbW9kZSAxMDA2NDQKICAJU0hPQkpfTEQ9JyR7Q0N9JwogIAogIAlpZiBb IC14IC91c3IvYmluL29iamZvcm1hdCBdICYmIFsgImAvdXNyL2Jpbi9vYmpmb3JtYXRgIiA9ICJl bGYiIF07IHRoZW4KLUBAIC0xNDEsNyArMTQ1LDM1IEBAIGZyZWVic2RbMy05XSp8ZnJlZWJzZGVs ZlszLTldKnxmcmVlYnNkYW91dFszLTldKnxkcmFnb25mbHkqKQorQEAgLTE0MSw3ICsxNDUsMzUg QEAgZnJlZWJzZFszLTldKnxmcmVlYnNkZWxmWzMtOV0qfGZyZWVic2RhbwogIAlmaQogIAk7Owog IApAQCAtMTc4NjIsNyArMTgwOTgsNyBAQCBuZXcgbW9kZSAxMDA2NDQKICAJU0hPQkpfQ0ZMQUdT PS1mcGljCiAgCVNIT0JKX0xEPSdsZCcKICAJU0hPQkpfTERGTEFHUz0nLWJkeW5hbWljIC1ibm9l bnRyeSAtYmV4cGFsbCcKLUBAIC0yNDEsNyArMjczLDcgQEAgYWl4NC5bMi05XSotKmdjYyopCQkj IGxpZ2h0bHkgdGVzdGVkIGJ5IGppa0BjaXNjby5jb20KK0BAIC0yNDEsNyArMjczLDcgQEAgYWl4 NC5bMi05XSotKmdjYyopCQkjIGxpZ2h0bHkgdGVzdGVkIGJ5IAogIAlTSExJQl9MSUJWRVJTSU9O PSckKFNITElCX0xJQlNVRkYpLiQoU0hMSUJfTUFKT1IpJwogIAk7OwogIApAQCAtMTc5MjksOCAr MTgxNjUsMTAgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgCTs7CiAgCiAgIwotLS0tIGEvcmVhZGxpbmUv c3VwcG9ydC93Y3dpZHRoLmMKLSsrKyBiL3JlYWRsaW5lL3N1cHBvcnQvd2N3aWR0aC5jCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9zdXBwb3J0L3djd2lkdGguYworPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9zdXBwb3J0L3djd2lk dGguYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAu MjAxMTA3MDMvcmVhZGxpbmUvc3VwcG9ydC93Y3dpZHRoLmMJMjAxMS0wNy0wMyAxMDo0MToyMS4w MDAwMDAwMDAgKzAyMDAKIEBAIC0xLDIxICsxLDczIEBACiAgLyoKIC0gKiBUaGlzIGlzIGFuIGlt cGxlbWVudGF0aW9uIG9mIHdjd2lkdGgoKSBhbmQgd2Nzd2lkdGgoKSBhcyBkZWZpbmVkIGluCkBA IC0xODAxMyw3ICsxODI1MSw3IEBAIG5ldyBtb2RlIDEwMDY0NAogIH07CiAgCiAgLyogYXV4aWxp YXJ5IGZ1bmN0aW9uIGZvciBiaW5hcnkgc2VhcmNoIGluIGludGVydmFsIHRhYmxlICovCi1AQCAt MzksNyArOTEsNyBAQCBzdGF0aWMgaW50IGJpc2VhcmNoKHdjaGFyX3QgdWNzLCBjb25zdCBzdHJ1 Y3QgaW50ZXJ2YWwgKnRhYmxlLCBpbnQgbWF4KSB7CitAQCAtMzksNyArOTEsNyBAQCBzdGF0aWMg aW50IGJpc2VhcmNoKHdjaGFyX3QgdWNzLCBjb25zdCBzCiAgfQogIAogIApAQCAtMTgwMjIsNyAr MTgyNjAsNyBAQCBuZXcgbW9kZSAxMDA2NDQKICAgKiBjaGFyYWN0ZXIgYXMgZm9sbG93czoKICAg KgogICAqICAgIC0gVGhlIG51bGwgY2hhcmFjdGVyIChVKzAwMDApIGhhcyBhIGNvbHVtbiB3aWR0 aCBvZiAwLgotQEAgLTUxLDYgKzEwMyw4IEBAIHN0YXRpYyBpbnQgYmlzZWFyY2god2NoYXJfdCB1 Y3MsIGNvbnN0IHN0cnVjdCBpbnRlcnZhbCAqdGFibGUsIGludCBtYXgpIHsKK0BAIC01MSw2ICsx MDMsOCBAQCBzdGF0aWMgaW50IGJpc2VhcmNoKHdjaGFyX3QgdWNzLCBjb25zdCBzCiAgICogICAg ICBjYXRlZ29yeSBjb2RlIE1uIG9yIE1lIGluIHRoZSBVbmljb2RlIGRhdGFiYXNlKSBoYXZlIGEK ICAgKiAgICAgIGNvbHVtbiB3aWR0aCBvZiAwLgogICAqCkBAIC0xODAzMSw3ICsxODI2OSw3IEBA IG5ldyBtb2RlIDEwMDY0NAogICAqICAgIC0gT3RoZXIgZm9ybWF0IGNoYXJhY3RlcnMgKGdlbmVy YWwgY2F0ZWdvcnkgY29kZSBDZiBpbiB0aGUgVW5pY29kZQogICAqICAgICAgZGF0YWJhc2UpIGFu ZCBaRVJPIFdJRFRIIFNQQUNFIChVKzIwMEIpIGhhdmUgYSBjb2x1bW4gd2lkdGggb2YgMC4KICAg KgotQEAgLTU4LDcgKzExMiw3IEBAIHN0YXRpYyBpbnQgYmlzZWFyY2god2NoYXJfdCB1Y3MsIGNv bnN0IHN0cnVjdCBpbnRlcnZhbCAqdGFibGUsIGludCBtYXgpIHsKK0BAIC01OCw3ICsxMTIsNyBA QCBzdGF0aWMgaW50IGJpc2VhcmNoKHdjaGFyX3QgdWNzLCBjb25zdCBzCiAgICogICAgICBoYXZl IGEgY29sdW1uIHdpZHRoIG9mIDAuCiAgICoKICAgKiAgICAtIFNwYWNpbmcgY2hhcmFjdGVycyBp biB0aGUgRWFzdCBBc2lhbiBXaWRlIChXKSBvciBFYXN0IEFzaWFuCkBAIC0xODA0MCw3ICsxODI3 OCw3IEBAIG5ldyBtb2RlIDEwMDY0NAogICAqICAgICAgUmVwb3J0ICMxMSBoYXZlIGEgY29sdW1u IHdpZHRoIG9mIDIuCiAgICoKICAgKiAgICAtIEFsbCByZW1haW5pbmcgY2hhcmFjdGVycyAoaW5j bHVkaW5nIGFsbCBwcmludGFibGUKLUBAIC02OSw0NCArMTIzLDU5IEBAIHN0YXRpYyBpbnQgYmlz ZWFyY2god2NoYXJfdCB1Y3MsIGNvbnN0IHN0cnVjdCBpbnRlcnZhbCAqdGFibGUsIGludCBtYXgp IHsKK0BAIC02OSw0NCArMTIzLDU5IEBAIHN0YXRpYyBpbnQgYmlzZWFyY2god2NoYXJfdCB1Y3Ms IGNvbnN0IHMKICAgKiBpbiBJU08gMTA2NDYuCiAgICovCiAgCkBAIC0xODE2NCw3ICsxODQwMiw3 IEBAIG5ldyBtb2RlIDEwMDY0NAogICAgICAgIHJldHVybiAtMTsKICAgICAgZWxzZQogICAgICAg IHdpZHRoICs9IHc7Ci1AQCAtMTUxLDIwICsyMjMsMjEgQEAgaW50IHdjc3dpZHRoKGNvbnN0IHdj aGFyX3QgKnB3Y3MsIHNpemVfdCBuKQorQEAgLTE1MSwyMCArMjIzLDIxIEBAIGludCB3Y3N3aWR0 aChjb25zdCB3Y2hhcl90ICpwd2NzLCBzaXplX3QKICAKICAKICAvKgpAQCAtMTgyOTAsOCArMTg1 MjgsMTAgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgICAgICAgcmV0dXJuIC0xOwogICAgICBlbHNlCiAg ICAgICAgd2lkdGggKz0gdzsKLS0tLSBhL3JlYWRsaW5lL3RjYXAuaAotKysrIGIvcmVhZGxpbmUv dGNhcC5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS90Y2FwLmgKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvdGNhcC5oCTIwMTEt MDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9y ZWFkbGluZS90Y2FwLmgJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0x LDI1ICsxLDIzIEBACiAgLyogdGNhcC5oIC0tIHRlcm1jYXAgbGlicmFyeSBmdW5jdGlvbnMgYW5k IHZhcmlhYmxlcy4gKi8KICAKQEAgLTE4MzA5LDcgKzE4NTQ5LDkgQEAgbmV3IG1vZGUgMTAwNjQ0 CiAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKIC0gICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCiAtICAgYW55IGxhdGVyIHZlcnNpb24u Ci0tCisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorIAogLSAgIFRoZSBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsIGJ1dAogLSAgIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIC0gICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQpAQCAtMTgzMTksOSArMTg1 NjEsNiBAQCBuZXcgbW9kZSAxMDA2NDQKIC0gICBpcyBnZW5lcmFsbHkga2VwdCBpbiBhIGZpbGUg Y2FsbGVkIENPUFlJTkcgb3IgTElDRU5TRS4gIElmIHlvdSBkbyBub3QKIC0gICBoYXZlIGEgY29w eSBvZiB0aGUgbGljZW5zZSwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwK IC0gICA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMSBVU0EuICov Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgot KwogKyAgIFJlYWRsaW5lIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCiArICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKICsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkBAIC0xODMzMyw4ICsxODU3MiwxMCBAQCBu ZXcgbW9kZSAxMDA2NDQKICAKICAjaWYgIWRlZmluZWQgKF9STFRDQVBfSF8pCiAgI2RlZmluZSBf UkxUQ0FQX0hfCi0tLS0gYS9yZWFkbGluZS90ZXJtaW5hbC5jCi0rKysgYi9yZWFkbGluZS90ZXJt aW5hbC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS90ZXJtaW5hbC5jCis9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3Rlcm1pbmFs LmMJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIw MTEwNzAzL3JlYWRsaW5lL3Rlcm1pbmFsLmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAg KzAyMDAKIEBAIC0xLDI0ICsxLDI0IEBACiAgLyogdGVybWluYWwuYyAtLSBjb250cm9sbGluZyB0 aGUgdGVybWluYWwgd2l0aCB0ZXJtY2FwLiAqLwogIApAQCAtMTg0MDMsNyArMTg2NDQsNyBAQCBu ZXcgbW9kZSAxMDA2NDQKICAKICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyoJCQkJCQkJCSAgICAqLwotQEAg LTkzLDEyICsxMDcsMTIgQEAgc3RhdGljIGNoYXIgKnRlcm1fc3RyaW5nX2J1ZmZlciA9IChjaGFy ICopTlVMTDsKK0BAIC05MywxMiArMTA3LDEyIEBAIHN0YXRpYyBjaGFyICp0ZXJtX3N0cmluZ19i dWZmZXIgPSAoY2hhciAKICAKICBzdGF0aWMgaW50IHRjYXBfaW5pdGlhbGl6ZWQ7CiAgCkBAIC0x ODU1MCw4ICsxODc5MSwxMCBAQCBuZXcgbW9kZSAxMDA2NDQKICAgICAgewogICAgICAgIHN3aXRj aCAoX3JsX2JlbGxfcHJlZmVyZW5jZSkKICAgICAgICAgIHsKLS0tLSBhL3JlYWRsaW5lL3RleHQu YwotKysrIGIvcmVhZGxpbmUvdGV4dC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFk bGluZS90ZXh0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVh ZGxpbmUvdGV4dC5jCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2Ri LTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS90ZXh0LmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAw MDAwMDAgKzAyMDAKIEBAIC0xLDI0ICsxLDI0IEBACiAgLyogdGV4dC5jIC0tIHRleHQgaGFuZGxp bmcgY29tbWFuZHMgZm9yIHJlYWRsaW5lLiAqLwogIApAQCAtMTg1OTAsNyArMTg4MzMsNyBAQCBu ZXcgbW9kZSAxMDA2NDQKICAjZGVmaW5lIFJFQURMSU5FX0xJQlJBUlkKICAKICAjaWYgZGVmaW5l ZCAoSEFWRV9DT05GSUdfSCkKLUBAIC02Nyw2ICs2NywxMCBAQCBzdGF0aWMgaW50IF9ybF9pbnNl cnRfbmV4dF9jYWxsYmFjayBQQVJBTVMoKF9ybF9jYWxsYmFja19nZW5lcmljX2FyZyAqKSk7CitA QCAtNjcsNiArNjcsMTAgQEAgc3RhdGljIGludCBfcmxfaW5zZXJ0X25leHRfY2FsbGJhY2sgUEFS QQogIHN0YXRpYyBpbnQgX3JsX2NoYXJfc2VhcmNoX2NhbGxiYWNrIFBBUkFNUygoX3JsX2NhbGxi YWNrX2dlbmVyaWNfYXJnICopKTsKICAjZW5kaWYKICAKQEAgLTE4OTI1LDcgKzE5MTY4LDcgQEAg bmV3IG1vZGUgMTAwNjQ0CiAgI2VuZGlmCiAgCiAgICByZXR1cm4gMDsKLUBAIC0xNDU5LDYgKzE1 MTUsOSBAQCBfcmxfY2hhcl9zZWFyY2hfaW50ZXJuYWwgKGNvdW50LCBkaXIsIHNjaGFyKQorQEAg LTE0NTksNiArMTUxNSw5IEBAIF9ybF9jaGFyX3NlYXJjaF9pbnRlcm5hbCAoY291bnQsIGRpciwg c2MKICAgIGludCBwcmVwb3M7CiAgI2VuZGlmCiAgCkBAIC0xODk1NSw4ICsxOTE5OCwxMCBAQCBu ZXcgbW9kZSAxMDA2NDQKICAgIGlmIChjb3VudCA8IDApCiAgICAgIHJldHVybiAoX3JsX2NoYXJf c2VhcmNoX2ludGVybmFsICgtY291bnQsIGJkaXIsIGMpKTsKICAgIGVsc2UKLS0tLSBhL3JlYWRs aW5lL3RpbGRlLmMKLSsrKyBiL3JlYWRsaW5lL3RpbGRlLmMKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNzAzL3JlYWRsaW5lL3RpbGRlLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEw NzAzLm9yaWcvcmVhZGxpbmUvdGlsZGUuYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvdGlsZGUuYwkyMDExLTA3LTAz IDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjMgKzEsMjMgQEAKICAvKiB0aWxkZS5j IC0tIFRpbGRlIGV4cGFuc2lvbiBjb2RlICh+L2ZvbyA6PSAkSE9NRS9mb28pLiAqLwogIApAQCAt MTg5NzIsMTUgKzE5MjE3LDE2IEBAIG5ldyBtb2RlIDEwMDY0NAogLSAgIHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQog LSAgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlv dXIgb3B0aW9uKSBhbnkKIC0gICBsYXRlciB2ZXJzaW9uLgotKyAgIFJlYWRsaW5lIGlzIGZyZWUg c29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQotKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u IDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KLSAKKy0KIC0gICBSZWFkbGluZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKIC0gICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAtICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKIC0gICBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrICAgUmVhZGxpbmUgaXMgZnJlZSBz b2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g MyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgorKwogKyAgIFJlYWRsaW5lIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCiArICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkBAIC0xOTA1MSw4ICsxOTI5Nywx MCBAQCBuZXcgbW9kZSAxMDA2NDQKICAgIGVuZHB3ZW50ICgpOwogICNlbmRpZgogICAgcmV0dXJu IChkaXJuYW1lKTsKLS0tLSBhL3JlYWRsaW5lL3RpbGRlLmgKLSsrKyBiL3JlYWRsaW5lL3RpbGRl LmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3RpbGRlLmgKKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvdGlsZGUuaAkyMDExLTA3 LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVh ZGxpbmUvdGlsZGUuaAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEs MjUgKzEsMjQgQEAKICAvKiB0aWxkZS5oOiBFeHRlcm5hbGx5IGF2YWlsYWJsZSB2YXJpYWJsZXMg YW5kIGZ1bmN0aW9uIGluIGxpYnRpbGRlLmEuICovCiAgCkBAIC0xOTA2OSw3ICsxOTMxNyw5IEBA IG5ldyBtb2RlIDEwMDY0NAogICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAtICAgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQogLSAgIGFu eSBsYXRlciB2ZXJzaW9uLgotLQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVp dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KKyAKIC0gICBUaGUgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKIC0gICBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAtICAgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK QEAgLTE5MDc5LDkgKzE5MzI5LDYgQEAgbmV3IG1vZGUgMTAwNjQ0CiAtICAgaXMgZ2VuZXJhbGx5 IGtlcHQgaW4gYSBmaWxlIGNhbGxlZCBDT1BZSU5HIG9yIExJQ0VOU0UuICBJZiB5b3UgZG8gbm90 CiAtICAgaGF2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sCiAtICAgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3Rvbiwg TUEgMDIxMTEgVVNBLiAqLwotKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhl ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KLSsKICsgICBSZWFkbGluZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiArICAgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpAQCAtMTkwOTMs OCArMTkzNDAsMTAgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgCiAgI2lmICFkZWZpbmVkIChfVElMREVf SF8pCiAgIyAgZGVmaW5lIF9USUxERV9IXwotLS0tIGEvcmVhZGxpbmUvdW5kby5jCi0rKysgYi9y ZWFkbGluZS91bmRvLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3VuZG8u YworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS91bmRv LmMJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIw MTEwNzAzL3JlYWRsaW5lL3VuZG8uYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIw MAogQEAgLTEsMjUgKzEsMjUgQEAKICAvKiByZWFkbGluZS5jIC0tIGEgZ2VuZXJhbCBmYWNpbGl0 eSBmb3IgcmVhZGluZyBsaW5lcyBvZiBpbnB1dAogICAgIHdpdGggZW1hY3Mgc3R5bGUgZWRpdGlu ZyBhbmQgY29tcGxldGlvbi4gKi8KQEAgLTE5MTQzLDcgKzE5MzkyLDcgQEAgbmV3IG1vZGUgMTAw NjQ0CiAgLyogTm9uLXplcm8gdGVsbHMgcmxfZGVsZXRlX3RleHQgYW5kIHJsX2luc2VydF90ZXh0 IHRvIG5vdCBhZGQgdG8KICAgICB0aGUgdW5kbyBsaXN0LiAqLwogIGludCBfcmxfZG9pbmdfYW5f dW5kbyA9IDA7Ci1AQCAtNjYsMTkgKzY4LDM1IEBAIFVORE9fTElTVCAqcmxfdW5kb19saXN0ID0g KFVORE9fTElTVCAqKU5VTEw7CitAQCAtNjYsMTkgKzY4LDM1IEBAIFVORE9fTElTVCAqcmxfdW5k b19saXN0ID0gKFVORE9fTElTVCAqKU4KICAvKgkJCQkJCQkJICAgICovCiAgLyogKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAq LwogIApAQCAtMTkyODYsOCArMTk1MzUsMTAgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgICAgIHJsX2Rp bmcgKCk7CiAgICBlbHNlCiAgICAgIHsKLS0tLSBhL3JlYWRsaW5lL3V0aWwuYwotKysrIGIvcmVh ZGxpbmUvdXRpbC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS91dGlsLmMK Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvdXRpbC5j CTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDEx MDcwMy9yZWFkbGluZS91dGlsLmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0xLDI0ICsxLDI0IEBACiAgLyogdXRpbC5jIC0tIHJlYWRsaW5lIHV0aWxpdHkgZnVuY3Rp b25zICovCiAgCkBAIC0xOTQ4OCwxMSArMTk3MzksMTEgQEAgbmV3IG1vZGUgMTAwNjQ0CiAtICBy ZWdpc3RlciBjaGFyIGNoMSwgY2gyOwogKyAgcmVnaXN0ZXIgY2hhciAqczEsICpzMjsKICsgIGlu dCBkOwotIAotLSAgd2hpbGUgKGNvdW50KQorKwogKyAgaWYgKGNvdW50IDw9IDAgfHwgKHN0cmlu ZzEgPT0gc3RyaW5nMikpCiArICAgIHJldHVybiAwOwotKworIAorLSAgd2hpbGUgKGNvdW50KQog KyAgczEgPSBzdHJpbmcxOwogKyAgczIgPSBzdHJpbmcyOwogKyAgZG8KQEAgLTE5NTI3LDExICsx OTc3OCwxMSBAQCBuZXcgbW9kZSAxMDA2NDQKICsKICsgIHMxID0gc3RyaW5nMTsKICsgIHMyID0g c3RyaW5nMjsKLSAKLS0gIHdoaWxlICgqc3RyaW5nMSAmJiAqc3RyaW5nMikKKysKICsgIGlmIChz MSA9PSBzMikKICsgICAgcmV0dXJuIDA7Ci0rCisgCistICB3aGlsZSAoKnN0cmluZzEgJiYgKnN0 cmluZzIpCiArICB3aGlsZSAoKGQgPSBfcmxfdG9fbG93ZXIgKCpzMSkgLSBfcmxfdG9fbG93ZXIg KCpzMikpID09IDApCiAgICAgIHsKIC0gICAgICBjaDEgPSAqc3RyaW5nMSsrOwpAQCAtMTk2MjYs OCArMTk4NzcsMTAgQEAgbmV3IG1vZGUgMTAwNjQ0CiArfQogKwogKyNlbmRpZgotLS0tIGEvcmVh ZGxpbmUvdmlfa2V5bWFwLmMKLSsrKyBiL3JlYWRsaW5lL3ZpX2tleW1hcC5jCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS92aV9rZXltYXAuYworPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdk Yi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS92aV9rZXltYXAuYwkyMDExLTA3LTAzIDEw OjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUv dmlfa2V5bWFwLmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI0 ICsxLDIzIEBACiAgLyogdmlfa2V5bWFwLmMgLS0gdGhlIGtleW1hcCBmb3IgdmlfbW9kZSBpbiBy ZWFkbGluZSAoKS4gKi8KICAKQEAgLTE5NjY1LDcgKzE5OTE4LDcgQEAgbmV3IG1vZGUgMTAwNjQ0 CiAgCiAgI2lmICFkZWZpbmVkIChCVUZTSVopCiAgI2luY2x1ZGUgPHN0ZGlvLmg+Ci1AQCAtMTUx LDcgKzE1MCw3IEBAIEtFWU1BUF9FTlRSWV9BUlJBWSB2aV9tb3ZlbWVudF9rZXltYXAgPSB7CitA QCAtMTUxLDcgKzE1MCw3IEBAIEtFWU1BUF9FTlRSWV9BUlJBWSB2aV9tb3ZlbWVudF9rZXltYXAg PSAKICAgIHsgSVNGVU5DLCBybF92aV9jaGFyX3NlYXJjaCB9LAkJLyogZiAqLwogICAgeyBJU0ZV TkMsIChybF9jb21tYW5kX2Z1bmNfdCAqKTB4MCB9LAkJLyogZyAqLwogICAgeyBJU0ZVTkMsIHJs X2JhY2t3YXJkX2NoYXIgfSwJCQkvKiBoICovCkBAIC0xOTY3NCw3ICsxOTkyNyw3IEBAIG5ldyBt b2RlIDEwMDY0NAogICAgeyBJU0ZVTkMsIHJsX2dldF9uZXh0X2hpc3RvcnkgfSwJCS8qIGogKi8K ICAgIHsgSVNGVU5DLCBybF9nZXRfcHJldmlvdXNfaGlzdG9yeSB9LAkJLyogayAqLwogICAgeyBJ U0ZVTkMsIHJsX2ZvcndhcmRfY2hhciB9LAkJCS8qIGwgKi8KLUBAIC0zMjcsOSArMzI2LDkgQEAg S0VZTUFQX0VOVFJZX0FSUkFZIHZpX2luc2VydGlvbl9rZXltYXAgPSB7CitAQCAtMzI3LDkgKzMy Niw5IEBAIEtFWU1BUF9FTlRSWV9BUlJBWSB2aV9pbnNlcnRpb25fa2V5bWFwID0KICAgIHsgSVNG VU5DLCBybF9pbnNlcnQgfSwJCQkvKiBDb250cm9sLWsgKi8KICAgIHsgSVNGVU5DLCBybF9pbnNl cnQgfSwJCQkvKiBDb250cm9sLWwgKi8KICAgIHsgSVNGVU5DLCBybF9uZXdsaW5lIH0sCQkJLyog Q29udHJvbC1tICovCkBAIC0xOTY4Niw4ICsxOTkzOSwxMCBAQCBuZXcgbW9kZSAxMDA2NDQKICAg IHsgSVNGVU5DLCBybF9pbnNlcnQgfSwJCQkvKiBDb250cm9sLXEgKi8KICAgIHsgSVNGVU5DLCBy bF9yZXZlcnNlX3NlYXJjaF9oaXN0b3J5IH0sCS8qIENvbnRyb2wtciAqLwogICAgeyBJU0ZVTkMs IHJsX2ZvcndhcmRfc2VhcmNoX2hpc3RvcnkgfSwJLyogQ29udHJvbC1zICovCi0tLS0gYS9yZWFk bGluZS92aV9tb2RlLmMKLSsrKyBiL3JlYWRsaW5lL3ZpX21vZGUuYworSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA3MDMvcmVhZGxpbmUvdmlfbW9kZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45 MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3ZpX21vZGUuYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvdmlfbW9kZS5j CTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyNSArMSwyNSBAQAog IC8qIHZpX21vZGUuYyAtLSBBIHZpIGVtdWxhdGlvbiBtb2RlIGZvciBCYXNoLgogICAgIERlcml2 ZWQgZnJvbSBjb2RlIHdyaXR0ZW4gYnkgSmVmZiBTcGFya2VzIChqc3Bhcmtlc0BibnIuY2EpLiAg Ki8KQEAgLTE5NzQyLDcgKzE5OTk3LDcgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgCiAgLyogS2V5bWFw IHVzZWQgZm9yIHZpIHJlcGxhY2UgY2hhcmFjdGVycy4gIENyZWF0ZWQgZHluYW1pY2FsbHkgc2lu Y2UKICAgICByYXJlbHkgdXNlZC4gKi8KLUBAIC0xMDEsNyArMTAzLDcgQEAgc3RhdGljIGludCBf cmxfdmlfbGFzdF9rZXlfYmVmb3JlX2luc2VydDsKK0BAIC0xMDEsNyArMTAzLDcgQEAgc3RhdGlj IGludCBfcmxfdmlfbGFzdF9rZXlfYmVmb3JlX2luc2VydAogIHN0YXRpYyBpbnQgdmlfcmVkb2lu ZzsKICAKICAvKiBUZXh0IG1vZGlmaWNhdGlvbiBjb21tYW5kcy4gIFRoZXNlIGFyZSB0aGUgYHJl ZG9hYmxlJyBjb21tYW5kcy4gKi8KQEAgLTE5NzY4LDcgKzIwMDIzLDcgQEAgbmV3IG1vZGUgMTAw NjQ0CiAgc3RhdGljIGludCBfcmxfdmlfY2FsbGJhY2tfZ2V0Y2hhciBQQVJBTVMoKGNoYXIgKiwg aW50KSk7CiAgCiAgI2lmIGRlZmluZWQgKFJFQURMSU5FX0NBTExCQUNLUykKLUBAIC0xMjQsMTIg KzEzMCwyMyBAQCBzdGF0aWMgaW50IF9ybF92aV9jYWxsYmFja19jaGFuZ2VfY2hhciBQQVJBTVMo KF9ybF9jYWxsYmFja19nZW5lcmljX2FyZyAqKSk7CitAQCAtMTI0LDEyICsxMzAsMjMgQEAgc3Rh dGljIGludCBfcmxfdmlfY2FsbGJhY2tfY2hhbmdlX2NoYXIgUAogIHN0YXRpYyBpbnQgX3JsX3Zp X2NhbGxiYWNrX2NoYXJfc2VhcmNoIFBBUkFNUygoX3JsX2NhbGxiYWNrX2dlbmVyaWNfYXJnICop KTsKICAjZW5kaWYKICAKQEAgLTIwMDYxLDcgKzIwMzE2LDcgQEAgbmV3IG1vZGUgMTAwNjQ0CiAr CXJsX251bWVyaWNfYXJnID0gX3JsX2RpZ2l0X3ZhbHVlIChjKTsKICsgICAgICBybF9leHBsaWNp dF9hcmcgPSAxOwogKyAgICAgIHJldHVybiAxOwkJLyoga2VlcCBnb2luZyAqLwotKyAgICB9Cisg ICAgIH0KICsgIGVsc2UKICsgICAgewogKyAgICAgIHJsX2NsZWFyX21lc3NhZ2UgKCk7CkBAIC0y MDA4OCw5ICsyMDM0Myw4IEBAIG5ldyBtb2RlIDEwMDY0NAogKyAgICAgIHIgPSBfcmxfdmlfYXJn X2Rpc3BhdGNoIChjKTsKICsgICAgICBpZiAociA8PSAwKQogKwlicmVhazsKLSAgICAgfQotIAot LSAgX3JsX3ZpX2xhc3RfbW90aW9uID0gYzsKKysgICAgfQorKwogKyAgUkxfVU5TRVRTVEFURShS TF9TVEFURV9OVU1FUklDQVJHKTsKICsgIHJldHVybiAoMCk7CiArfQpAQCAtMjAxMjcsNyArMjAz ODEsOCBAQCBuZXcgbW9kZSAxMDA2NDQKICt7CiArICB4ZnJlZSAobSk7CiArfQotKworIAorLSAg X3JsX3ZpX2xhc3RfbW90aW9uID0gYzsKICtzdGF0aWMgaW50CiArcmxfZG9tb3ZlX21vdGlvbl9j YWxsYmFjayAobSkKICsgICAgIF9ybF92aW1vdGlvbl9jeHQgKm07CkBAIC0yMDIwMiwyOCArMjA0 NTcsMjggQEAgbmV3IG1vZGUgMTAwNjQ0CiArI2VuZGlmCiArICAgICAgLyogU2hvdWxkIGRvIGV2 ZXJ5dGhpbmcsIGluY2x1ZGluZyB0dXJuaW5nIG9mZiBSTF9TVEFURV9WSU1PVElPTiAqLwogKyAg ICAgIHJldHVybiAocmxfZG9tb3ZlX21vdGlvbl9jYWxsYmFjayAobSkpOwotICAgICB9Ci0tCi0t ICBjID0gVU5NRVRBIChjKTsKLS0KLS0gIGlmIChfcmxfZGlnaXRfcCAoYykpCisrICAgIH0KICsg IGVsc2UgaWYgKG0tPmtleSA9PSBjICYmIChtLT5rZXkgPT0gJ2QnIHx8IG0tPmtleSA9PSAneScg fHwgbS0+a2V5ID09ICdjJykpCi0gICAgIHsKLS0gICAgICBpZiAocmxfZXhwbGljaXRfYXJnKQot LQlybF9udW1lcmljX2FyZyA9IChybF9udW1lcmljX2FyZyAqIDEwKSArIF9ybF9kaWdpdF92YWx1 ZSAoYyk7Ci0tICAgICAgZWxzZQotLQlybF9udW1lcmljX2FyZyA9IF9ybF9kaWdpdF92YWx1ZSAo Yyk7CisrICAgIHsKICsgICAgICBybF9tYXJrID0gcmxfZW5kOwogKyAgICAgIHJsX2JlZ19vZl9s aW5lICgxLCBjKTsKICsgICAgICBfcmxfdmlfbGFzdF9tb3Rpb24gPSBjOwogKyAgICAgIFJMX1VO U0VUU1RBVEUgKFJMX1NUQVRFX1ZJTU9USU9OKTsKICsgICAgICByZXR1cm4gKHZpZG9tb3ZlX2Rp c3BhdGNoIChtKSk7Ci0rICAgIH0KKyAgICAgfQorLQorLSAgYyA9IFVOTUVUQSAoYyk7CistCist ICBpZiAoX3JsX2RpZ2l0X3AgKGMpKQogKyNpZiBkZWZpbmVkIChSRUFETElORV9DQUxMQkFDS1Mp CiArICAvKiBYWFggLSB0aGVzZSBuZWVkIHRvIGhhbmRsZSBybF91bml2ZXJzYWxfYXJndW1lbnQg YmluZGluZ3MgKi8KICsgIC8qIFJlYWRpbmcgdmkgbW90aW9uIGNoYXIgY29udGludWluZyBudW1l cmljIGFyZ3VtZW50ICovCiArICBlbHNlIGlmIChfcmxfZGlnaXRfcCAoYykgJiYgUkxfSVNTVEFU RSAoUkxfU1RBVEVfQ0FMTEJBQ0spICYmIFJMX1ZJTU9WRU5VTUFSRygpKQotKyAgICB7CisgICAg IHsKKy0gICAgICBpZiAocmxfZXhwbGljaXRfYXJnKQorLQlybF9udW1lcmljX2FyZyA9IChybF9u dW1lcmljX2FyZyAqIDEwKSArIF9ybF9kaWdpdF92YWx1ZSAoYyk7CistICAgICAgZWxzZQorLQly bF9udW1lcmljX2FyZyA9IF9ybF9kaWdpdF92YWx1ZSAoYyk7CiArICAgICAgcmV0dXJuIChfcmxf dmlfYXJnX2Rpc3BhdGNoIChjKSk7CiArICAgIH0KICsgIC8qIFJlYWRpbmUgdmkgbW90aW9uIGNo YXIgc3RhcnRpbmcgbnVtZXJpYyBhcmd1bWVudCAqLwpAQCAtMjAzNTksMTAgKzIwNjE0LDEwIEBA IG5ldyBtb2RlIDEwMDY0NAogIHsKIC0gIGludCBjLCBzdGFydF9wb3M7CiArICBpbnQgYywgcjsK LSsKKyAKICsgIF9ybF92aW12Y3h0ID0gX3JsX212Y3h0X2FsbG9jIChWSU1fREVMRVRFLCBrZXkp OwogKyAgX3JsX3ZpbXZjeHQtPnN0YXJ0ID0gcmxfcG9pbnQ7Ci0gCisrCiArICBybF9tYXJrID0g cmxfcG9pbnQ7CiAgICBpZiAoX3JsX3VwcGVyY2FzZV9wIChrZXkpKQogLSAgICBybF9zdHVmZl9j aGFyICgnJCcpOwpAQCAtMjA2MzcsMjkgKzIwODkyLDMyIEBAIG5ldyBtb2RlIDEwMDY0NAogLSAg ICAgICAgY2FzZSAndCc6CiAtICAgICAgICAgIF9ybF9jc19vcmlnX2RpciA9IF9ybF9jc19kaXIg PSBGVE87CiAtICAgICAgICAgIGJyZWFrOwotKwl7Ci0rCWNhc2UgJ3QnOgotKwkgIF9ybF9jc19v cmlnX2RpciA9IF9ybF9jc19kaXIgPSBGVE87Ci0rCSAgYnJlYWs7Ci0gCistCiAtICAgICAgICBj YXNlICdUJzoKIC0gICAgICAgICAgX3JsX2NzX29yaWdfZGlyID0gX3JsX2NzX2RpciA9IEJUTzsK IC0gICAgICAgICAgYnJlYWs7Ci0rCWNhc2UgJ1QnOgotKwkgIF9ybF9jc19vcmlnX2RpciA9IF9y bF9jc19kaXIgPSBCVE87Ci0rCSAgYnJlYWs7Ci0gCistCiAtICAgICAgICBjYXNlICdmJzoKIC0g ICAgICAgICAgX3JsX2NzX29yaWdfZGlyID0gX3JsX2NzX2RpciA9IEZGSU5EOwogLSAgICAgICAg ICBicmVhazsKLSsJY2FzZSAnZic6Ci0rCSAgX3JsX2NzX29yaWdfZGlyID0gX3JsX2NzX2RpciA9 IEZGSU5EOwotKwkgIGJyZWFrOwotIAorLQogLSAgICAgICAgY2FzZSAnRic6CiAtICAgICAgICAg IF9ybF9jc19vcmlnX2RpciA9IF9ybF9jc19kaXIgPSBCRklORDsKIC0gICAgICAgICAgYnJlYWs7 CiAtICAgICAgICB9CisrCXsKKysJY2FzZSAndCc6CisrCSAgX3JsX2NzX29yaWdfZGlyID0gX3Js X2NzX2RpciA9IEZUTzsKKysJICBicmVhazsKKysKKysJY2FzZSAnVCc6CisrCSAgX3JsX2NzX29y aWdfZGlyID0gX3JsX2NzX2RpciA9IEJUTzsKKysJICBicmVhazsKKysKKysJY2FzZSAnZic6Cisr CSAgX3JsX2NzX29yaWdfZGlyID0gX3JsX2NzX2RpciA9IEZGSU5EOworKwkgIGJyZWFrOworKwog KwljYXNlICdGJzoKICsJICBfcmxfY3Nfb3JpZ19kaXIgPSBfcmxfY3NfZGlyID0gQkZJTkQ7CiAr CSAgYnJlYWs7CkBAIC0yMDc5Niw5ICsyMTA1NCwxMSBAQCBuZXcgbW9kZSAxMDA2NDQKICAgICAg ewogICAgICAgIHJsX2RpbmcgKCk7CiAgICAgICAgcmV0dXJuIC0xOwotLS0tIC9kZXYvbnVsbAot KysrIGIvcmVhZGxpbmUveGZyZWUuYwotQEAgLTAsMCArMSw1MCBAQAorSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA3MDMvcmVhZGxpbmUveGZyZWUuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3 MDMvcmVhZGxpbmUveGZyZWUuYwkyMDExLTA3LTAzIDEwOjQ0OjQ1LjAwMDAwMDAwMCArMDIwMAor QEAgLTAsMCArMSw1NyBAQAogKy8qIHhmcmVlLmMgLS0gc2FmZSB2ZXJzaW9uIG9mIGZyZWUgdGhh dCBpZ25vcmVzIGF0dGVtcHRzIHRvIGZyZWUgTlVMICovCiArCiArLyogQ29weXJpZ2h0IChDKSAx OTkxLTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC0yMDgzMiw3ICsyMTA5 MiwxMCBAQCBuZXcgbW9kZSAxMDA2NDQKICsjICBpbmNsdWRlICJhbnNpX3N0ZGxpYi5oIgogKyNl bmRpZiAvKiBIQVZFX1NURExJQl9IICovCiArCisrI2luY2x1ZGUgPHN0ZGlvLmg+CisrCiArI2lu Y2x1ZGUgInhtYWxsb2MuaCIKKysjaW5jbHVkZSAicmVhZGxpbmUuaCIKICsKICsvKiAqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq ICovCiArLyoJCQkJCQkJCSAgICAqLwpAQCAtMjA4NDYsMTEgKzIxMTA5LDE3IEBAIG5ldyBtb2Rl IDEwMDY0NAogK3hmcmVlIChzdHJpbmcpCiArICAgICBQVFJfVCBzdHJpbmc7CiAreworKyAgLyog TGVhayBhIGJpdC4gICovCisrICBpZiAoUkxfSVNTVEFURShSTF9TVEFURV9TSUdIQU5ETEVSKSkK KysgICAgcmV0dXJuOworKwogKyAgaWYgKHN0cmluZykKICsgICAgZnJlZSAoc3RyaW5nKTsKICt9 Ci0tLS0gYS9yZWFkbGluZS94bWFsbG9jLmMKLSsrKyBiL3JlYWRsaW5lL3htYWxsb2MuYworSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUveG1hbGxvYy5jCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist LS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3htYWxsb2MuYwkyMDExLTA3LTAz IDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxp bmUveG1hbGxvYy5jCTIwMTEtMDctMDMgMTA6NDM6NTQuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwy MyArMSwyNCBAQAogIC8qIHhtYWxsb2MuYyAtLSBzYWZlIHZlcnNpb25zIG9mIG1hbGxvYyBhbmQg cmVhbGxvYyAqLwogIApAQCAtMjA4NjYsMTUgKzIxMTM1LDE2IEBAIG5ldyBtb2RlIDEwMDY0NAog LSAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5IHRoZQogLSAgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkKIC0gICBsYXRlciB2ZXJzaW9uLgotKyAg IFJlYWRsaW5lIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAKKy0KIC0gICBSZWFkbGluZSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKIC0gICBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAtICAgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZSBHTlUKIC0gICBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrICAg UmVhZGxpbmUgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgorKwogKyAgIFJlYWRsaW5lIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiArICAgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICsgICBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkBA IC0yMDg4OSwyMiArMjExNTksNTAgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgI2RlZmluZSBSRUFETElO RV9MSUJSQVJZCiAgCiAgI2lmIGRlZmluZWQgKEhBVkVfQ09ORklHX0gpCi1AQCAtNzYsMTMgKzc3 LDMgQEAgeHJlYWxsb2MgKHBvaW50ZXIsIGJ5dGVzKQorQEAgLTMzLDcgKzM0LDYgQEAKKyAjZW5k aWYgLyogSEFWRV9TVERMSUJfSCAqLworIAorICNpbmNsdWRlICJ4bWFsbG9jLmgiCistI2luY2x1 ZGUgInJlYWRsaW5lLmgiCisgCisgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworIC8qCQkJCQkJCQkgICAgKi8KK0BA IC00MSw5ICs0MSw2IEBACisgLyoJCQkJCQkJCSAgICAqLworIC8qICoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKyAKKy0v KiB4bWFsbG9jIGFuZCB4cmVhbGxvYyBhcmUgcHJvdmlkZWQgYnkgR0RCLiAgKi8KKy0jaWYgMAor LQorIHN0YXRpYyB2b2lkCisgbWVtb3J5X2Vycm9yX2FuZF9hYm9ydCAoZm5hbWUpCisgICAgICBj aGFyICpmbmFtZTsKK0BAIC04MCwyMSArNzcsMyBAQCB4cmVhbGxvYyAocG9pbnRlciwgYnl0ZXMp CiAgICAgIG1lbW9yeV9lcnJvcl9hbmRfYWJvcnQgKCJ4cmVhbGxvYyIpOwogICAgcmV0dXJuICh0 ZW1wKTsKICB9CiAtCistLyogeG1hbGxvYyBhbmQgeHJlYWxsb2MgYXJlIHByb3ZpZGVkIGJ5IEdE Qi4gICovCistI2VuZGlmIC8qIDAgKi8KKy0KIC0vKiBVc2UgdGhpcyBhcyB0aGUgZnVuY3Rpb24g dG8gY2FsbCB3aGVuIGFkZGluZyB1bndpbmQgcHJvdGVjdHMgc28gd2UKIC0gICBkb24ndCBuZWVk IHRvIGtub3cgd2hhdCBmcmVlKCkgcmV0dXJucy4gKi8KIC12b2lkCiAteGZyZWUgKHN0cmluZykK IC0gICAgIFBUUl9UIHN0cmluZzsKIC17CistICAvKiBMZWFrIGEgYml0LiAgKi8KKy0gIGlmIChS TF9JU1NUQVRFKFJMX1NUQVRFX1NJR0hBTkRMRVIpKQorLSAgICByZXR1cm47CistCistI3VuZGVm IGZyZWUKIC0gIGlmIChzdHJpbmcpCiAtICAgIGZyZWUgKHN0cmluZyk7CiAtfQotLS0tIGEvcmVh ZGxpbmUveG1hbGxvYy5oCi0rKysgYi9yZWFkbGluZS94bWFsbG9jLmgKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNzAzL3JlYWRsaW5lL3htYWxsb2MuaAorPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIu OTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS94bWFsbG9jLmgJMjAxMS0wNy0wMyAxMDo0MDo1My4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3htYWxsb2Mu aAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjQgKzEsMjMgQEAK ICAvKiB4bWFsbG9jLmggLS0gbWVtb3J5IGFsbG9jYXRpb24gdGhhdCBhYm9ydHMgb24gZXJyb3Jz LiAqLwogIApAQCAtMjA5NDIsMyArMjEyNDAsMTMgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgCiAgI2lm ICFkZWZpbmVkIChfWE1BTExPQ19IXykKICAjZGVmaW5lIF9YTUFMTE9DX0hfCitAQCAtNDIsOSAr NDEsNiBAQAorIC8qIHhtYWxsb2MgYW5kIHhyZWFsbG9jIHNob3VsZCBiZSBhbHNvIHByb3RlY3Rl ZCBmcm9tIFJMX1NUQVRFX1NJR0hBTkRMRVIuICAqLworICNkZWZpbmUgeGZyZWUgeGZyZWVfcmVh ZGxpbmUKKyAKKy0vKiByZWFkbGluZS01LjEgYmFja3BvcnQuICAqLworLSNkZWZpbmUgZnJlZSB4 ZnJlZQorLQorIGV4dGVybiBQVFJfVCB4bWFsbG9jIFBBUkFNUygoc2l6ZV90KSk7CisgZXh0ZXJu IFBUUl9UIHhyZWFsbG9jIFBBUkFNUygodm9pZCAqLCBzaXplX3QpKTsKKyBleHRlcm4gdm9pZCB4 ZnJlZSBQQVJBTVMoKHZvaWQgKikpOwoKZGlmZiAtLWdpdCBhL2dkYi5zcGVjIGIvZ2RiLnNwZWMK aW5kZXggMjVhODMyZC4uYjdlNTNhNSAxMDA2NDQKLS0tIGEvZ2RiLnNwZWMKKysrIGIvZ2RiLnNw ZWMKQEAgLTIzLDExICsyMywxMSBAQCBOYW1lOiBnZGIlez9fd2l0aF9kZWJ1ZzotZGVidWd9CiAj IFNldCB2ZXJzaW9uIHRvIGNvbnRlbnRzIG9mIGdkYi92ZXJzaW9uLmluLgogIyBOT1RFOiB0aGUg RlNGIGdkYiB2ZXJzaW9ucyBhcmUgbnVtYmVyZWQgTi5NIGZvciBvZmZpY2lhbCByZWxlYXNlcywg bGlrZSA2LjMKICMgYW5kLCBzaW5jZSBKYW51YXJ5IDIwMDUsIFguWS5aLmRhdGUgZm9yIGRhaWx5 IHNuYXBzaG90cywgbGlrZSA2LjMuNTAuMjAwNTAxMTIgIyAoZGFpbHkgc25hcHNob3QgZnJvbSBt YWlsaW5lKSwgb3IgNi4zLjAuMjAwNDAxMTIgKGhlYWQgb2YgdGhlIHJlbGVhc2UgYnJhbmNoKS4K LVZlcnNpb246IDcuMi45MC4yMDExMDUyNQorVmVyc2lvbjogNy4yLjkwLjIwMTEwNzAzCiAKICMg VGhlIHJlbGVhc2UgYWx3YXlzIGNvbnRhaW5zIGEgbGVhZGluZyByZXNlcnZlZCBudW1iZXIsIHN0 YXJ0IGl0IGF0IDEuCiAjIGB1cHN0cmVhbScgaXMgbm90IGEgcGFydCBvZiBgbmFtZScgdG8gc3Rh eSBmdWxseSBycG0gZGVwZW5kZW5jaWVzIGNvbXBhdGlibGUgZm9yIHRoZSB0ZXN0aW5nLgotUmVs ZWFzZTogMzklez9fd2l0aF91cHN0cmVhbToudXBzdHJlYW19JXs/ZGlzdH0KK1JlbGVhc2U6IDQw JXs/X3dpdGhfdXBzdHJlYW06LnVwc3RyZWFtfSV7P2Rpc3R9CiAKIExpY2Vuc2U6IEdQTHYzKyBh bmQgR1BMdjMrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMdjIrIGFuZCBHUEx2Misgd2l0aCBleGNl cHRpb25zIGFuZCBHUEwrIGFuZCBMR1BMdjIrIGFuZCBCU0QgYW5kIFB1YmxpYyBEb21haW4KIEdy b3VwOiBEZXZlbG9wbWVudC9EZWJ1Z2dlcnMKQEAgLTEyNjUsNiArMTI2NSwxMCBAQCBmaQogJXtf aW5mb2Rpcn0vZ2RiLmluZm8qCiAKICVjaGFuZ2Vsb2cKKyogU3VuIEp1bCAgMyAyMDExIEphbiBL cmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuMi45MC4yMDExMDcwMy00 MC5mYzE1CistIFJlYmFzZSB0byBGU0YgR0RCIDcuMi45MC4yMDExMDcwMyAod2hpY2ggaXMgYSA3 LjMgcHJlLXJlbGVhc2UpLgorICAtIEFkanVzdCB0aGUgYHByaW50IGVycm5vJyBwYXRjaCBkdWUg dG8gdGhlIERXX0FUX2xpbmthZ2VfbmFtZSBmb2xsb3dpbmcgYWdhaW4uCisKICogRnJpIEp1biAy NCAyMDExIEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuMi45 MC4yMDExMDUyNS0zOS5mYzE1CiAtIEZpeCBpbnN0YWxsLWluZm8gZm9yIHRoZSBnZGItZG9jIHN1 YnBhY2thZ2UgKEJaIDcxNTIyOCkuCiAKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwpp bmRleCA5OGYxYTA0Li4wMmUyZmZmIDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMK QEAgLTEsMiArMSwyIEBACiAwNGU1YzRiMWI5ZTYzMzQyMmNjNDg5OTBmZTYxOTU4ZCAgbGlic3Rk YysrLXYzLXB5dGhvbi1yMTU1OTc4LnRhci5iejIKLWI2MTI4ZWIwMzQxZGY1NmQ2NmYwYTM1NThl YmM5ODk5ICBnZGItNy4yLjkwLjIwMTEwNTI1LnRhci5iejIKK2JlNjUyMmFkZTFhYzc4YTE2YjEw ZWExNjEyMTU4ZDBhICBnZGItNy4yLjkwLjIwMTEwNzAzLnRhci5iejIK