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] fix-dup-patch: Rebase to FSF GDB 7.2.90.20110703 (which is a 7.3 pre-release). Date: Thu, 23 Jul 2026 18:29:59 GMT Message-ID: <178483139956.1.3056659957060441527.rpms-gdb-e6e9cf3987dc@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: e6e9cf3987dc51070b7b58db9967209f23a8c3d3 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGZpeC1kdXAtcGF0Y2gKICAgICAg ICAgICAgQ29tbWl0IDogZTZlOWNmMzk4N2RjNTEwNzBiN2I1OGRiOTk2NzIwOWYyM2E4YzNkMwog ICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0 LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxMS0wNy0wM1QxNzoyMjoyMyswMjowMAogICAg ICAgICAgICBTdGF0cyAgOiArMTUzMS8tMTI1NiBpbiA2IGZpbGUocykKICAgICAgICAgICAgVVJM ICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nZGIvYy9lNmU5Y2YzOTg3 ZGM1MTA3MGI3YjU4ZGI5OTY3MjA5ZjIzYThjM2QzP2JyYW5jaD1maXgtZHVwLXBhdGNoCgogICAg ICAgICAgICBMb2c6CiAgICAgICAgICAgIFJlYmFzZSB0byBGU0YgR0RCIDcuMi45MC4yMDExMDcw MyAod2hpY2ggaXMgYSA3LjMgcHJlLXJlbGVhc2UpLgpBZGp1c3QgdGhlIGBwcmludCBlcnJubycg cGF0Y2ggZHVlIHRvIHRoZSBEV19BVF9saW5rYWdlX25hbWUgZm9sbG93aW5nIGFnYWluLgoKLS0t CmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCBjMjYzYzdkLi5jMTY0 M2NmIDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTEsMiArMSwy IEBACiAvbGlic3RkYysrLXYzLXB5dGhvbi1yMTU1OTc4LnRhci5iejIKLS9nZGItNy4yLjkwLjIw MTEwNTI1LnRhci5iejIKKy9nZGItNy4yLjkwLjIwMTEwNzAzLnRhci5iejIKCmRpZmYgLS1naXQg YS9nZGItNi41LWJ6MTg1MzM3LXJlc29sdmUtdGxzLXdpdGhvdXQtZGVidWdpbmZvLXYyLnBhdGNo IGIvZ2RiLTYuNS1iejE4NTMzNy1yZXNvbHZlLXRscy13aXRob3V0LWRlYnVnaW5mby12Mi5wYXRj aAppbmRleCA5OTQzZTYwLi5mYTJmNGVkIDEwMDY0NAotLS0gYS9nZGItNi41LWJ6MTg1MzM3LXJl c29sdmUtdGxzLXdpdGhvdXQtZGVidWdpbmZvLXYyLnBhdGNoCisrKyBiL2dkYi02LjUtYnoxODUz MzctcmVzb2x2ZS10bHMtd2l0aG91dC1kZWJ1Z2luZm8tdjIucGF0Y2gKQEAgLTMyLDUxICszMiwx NyBAQCBnbGliYy1kZWJ1Z2luZm8tMi43LTIueDg2XzY0OiAvdXNyL2xpYi9kZWJ1Zy9saWI2NC9s aWJjLnNvLjYuZGVidWc6CiAgIDw4MWEyPiAgICAgRFdfQVRfbmFtZSAgICAgICAgOiAoaW5kaXJl Y3Qgc3RyaW5nLCBvZmZzZXQ6IDB4MjgwZSk6IF9fZXJybm9fbG9jYXRpb24KICAgPDgxYTg+ICAg ICBEV19BVF9NSVBTX2xpbmthZ2VfbmFtZTogKGluZGlyZWN0IHN0cmluZywgb2Zmc2V0OiAweDI4 MDgpOiAqX19HSV9fX2Vycm5vX2xvY2F0aW9uCiAKLUluZGV4OiBnZGItNy4yL2dkYi9wcmludGNt ZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi5vcmlnL2dkYi9wcmludGNtZC5jCTIwMTEtMDMt MjkgMTA6NTU6MzIuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi9nZGIvcHJpbnRjbWQuYwky MDExLTAzLTI5IDEwOjU2OjAwLjAwMDAwMDAwMCArMDIwMAotQEAgLTk0NywxMCArOTQ3LDEwIEBA IHZhbGlkYXRlX2Zvcm1hdCAoc3RydWN0IGZvcm1hdF9kYXRhIGZtdCwKLSBzdGF0aWMgdm9pZAot IHByaW50X2NvbW1hbmRfMSAoY2hhciAqZXhwLCBpbnQgaW5zcGVjdCwgaW50IHZvaWRwcmludCkK LSB7Ci0tICBzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwcjsKLSAgIHN0cnVjdCBjbGVhbnVwICpvbGRf Y2hhaW4gPSAwOwotICAgY2hhciBmb3JtYXQgPSAwOwotLSAgc3RydWN0IHZhbHVlICp2YWw7Ci0r ICAvKiBGYWxzZSBHQ0Mgd2FybmluZyBkdWUgdG8gdGhlIFRSWV9DQVRDSC4gICovCi0rICBzdHJ1 Y3QgdmFsdWUgKnZhbCA9IE5VTEw7Ci0gICBzdHJ1Y3QgZm9ybWF0X2RhdGEgZm10OwotICAgaW50 IGNsZWFudXAgPSAwOwotIAotQEAgLTk3MSwxMCArOTcxLDI1IEBAIHByaW50X2NvbW1hbmRfMSAo Y2hhciAqZXhwLCBpbnQgaW5zcGVjdCwKKy0tLSBhL2dkYi9wcmludGNtZC5jCisrKysgYi9nZGIv cHJpbnRjbWQuYworQEAgLTk2Nyw2ICs5NjcsOCBAQCBwcmludF9jb21tYW5kXzEgKGNoYXIgKmV4 cCwgaW50IGluc3BlY3QsIGludCB2b2lkcHJpbnQpCiAgCiAgICBpZiAoZXhwICYmICpleHApCiAg ICAgIHsKLSsgICAgICBzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwcjsKLSsgICAgICB2b2xhdGlsZSBz dHJ1Y3QgZ2RiX2V4Y2VwdGlvbiBleGNlcHQ7Ci0rCisrICAgICAgaWYgKHN0cmNtcCAoZXhwLCAi ZXJybm8iKSA9PSAwKQorKwlleHAgPSAiKigoaW50ICooKikgKHZvaWQpKSBfX2Vycm5vX2xvY2F0 aW9uKSAoKSI7CiAgICAgICAgZXhwciA9IHBhcnNlX2V4cHJlc3Npb24gKGV4cCk7Ci0tICAgICAg b2xkX2NoYWluID0gbWFrZV9jbGVhbnVwIChmcmVlX2N1cnJlbnRfY29udGVudHMsICZleHByKTsK LSsgICAgICBvbGRfY2hhaW4gPSBtYWtlX2NsZWFudXAgKHhmcmVlLCBleHByKTsKKyAgICAgICBv bGRfY2hhaW4gPSBtYWtlX2NsZWFudXAgKGZyZWVfY3VycmVudF9jb250ZW50cywgJmV4cHIpOwog ICAgICAgIGNsZWFudXAgPSAxOwotLSAgICAgIHZhbCA9IGV2YWx1YXRlX2V4cHJlc3Npb24gKGV4 cHIpOwotKyAgICAgIFRSWV9DQVRDSCAoZXhjZXB0LCBSRVRVUk5fTUFTS19FUlJPUikKLSsJewot KwkgIHZhbCA9IGV2YWx1YXRlX2V4cHJlc3Npb24gKGV4cHIpOwotKwl9Ci0rICAgICAgaWYgKGV4 Y2VwdC5yZWFzb24gPCAwKQotKwl7Ci0rCSAgaWYgKHN0cmNtcCAoZXhwLCAiZXJybm8iKSAhPSAw KQotKwkgICAgdGhyb3dfZXhjZXB0aW9uIChleGNlcHQpOwotKwotKwkgIGV4cHIgPSBwYXJzZV9l eHByZXNzaW9uICgiKigoaW50ICooKikgKHZvaWQpKSBfX2Vycm5vX2xvY2F0aW9uKSAoKSIpOwot KwkgIG1ha2VfY2xlYW51cCAoeGZyZWUsIGV4cHIpOwotKwkgIHZhbCA9IGV2YWx1YXRlX2V4cHJl c3Npb24gKGV4cHIpOwotKwl9Ci0gICAgIH0KLSAgIGVsc2UKLSAgICAgdmFsID0gYWNjZXNzX3Zh bHVlX2hpc3RvcnkgKDApOwogSW5kZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYy L2R3Mi1lcnJuby5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6 MDAuMDAwMDAwMDAwICswMDAwCgpkaWZmIC0tZ2l0IGEvZ2RiLWFyY2hlci5wYXRjaCBiL2dkYi1h cmNoZXIucGF0Y2gKaW5kZXggNmJmOTE2OC4uNzhiNGU1YSAxMDA2NDQKLS0tIGEvZ2RiLWFyY2hl ci5wYXRjaAorKysgYi9nZGItYXJjaGVyLnBhdGNoCkBAIC0xMSwxMCArMTEsMTAgQEAgYXJjaGVy LXRyb21leS1weXRob24KIGFyY2hlci1zZXJnaW9kai1zdGFwLWZlZG9yYTE1amsKIAogCi1JbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9iZmQvZWxmLWJmZC5oCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDcwMy9iZmQvZWxmLWJmZC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUy NS5vcmlnL2JmZC9lbGYtYmZkLmgJMjAxMS0wMy0xNCAxNjo1NDo1Ny4wMDAwMDAwMDAgKzAxMDAK LSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2JmZC9lbGYtYmZkLmgJMjAxMS0wNS0yNSAxNzowNToy MS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvYmZkL2VsZi1i ZmQuaAkyMDExLTAzLTE0IDE2OjU0OjU3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAu MjAxMTA3MDMvYmZkL2VsZi1iZmQuaAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIw MAogQEAgLTE0NzYsNiArMTQ3NiwxNSBAQCBlbnVtCiAgICBUYWdfY29tcGF0aWJpbGl0eSA9IDMy CiAgfTsKQEAgLTQzLDEwICs0MywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9iZmQv ZWxmLWJmZC5oCiAgICAvKiBUcnVlIGlmIHRoZSBiZmQgY29udGFpbnMgc3ltYm9scyB0aGF0IGhh dmUgdGhlIFNUVF9HTlVfSUZVTkMKICAgICAgIHN5bWJvbCB0eXBlLiAgVXNlZCB0byBzZXQgdGhl IG9zYWJpIGZpZWxkIGluIHRoZSBFTEYgaGVhZGVyCiAgICAgICBzdHJ1Y3R1cmUuICAqLwotSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvYmZkL2VsZi5jCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDcwMy9iZmQvZWxmLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcv YmZkL2VsZi5jCTIwMTEtMDMtMTQgMTY6NTQ6NTguMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcu Mi45MC4yMDExMDUyNS9iZmQvZWxmLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAy MDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvYmZkL2VsZi5jCTIwMTEtMDMtMTQgMTY6 NTQ6NTguMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9iZmQvZWxmLmMJ MjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC04NDE2LDYgKzg0MTYsMzcg QEAgZWxmb2JqX2dyb2tfZ251X25vdGUgKGJmZCAqYWJmZCwgRWxmX0ludAogICAgICB9CiAgfQpA QCAtOTgsMTAgKzk4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2JmZC9lbGYuYwog IAkgIGJyZWFrOwogIAl9CiAgCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvTWFrZWZp bGUuaW4KK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9NYWtlZmlsZS5pbgogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvTWFrZWZpbGUuaW4JMjAxMS0w My0zMCAwODo1NTozOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9NYWtlZmlsZS5pbgkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdk Yi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvTWFrZWZpbGUuaW4JMjAxMS0wMy0zMCAwODo1NToz OS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9NYWtlZmlsZS5p bgkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTcyMSw4ICs3MjEsOCBA QCBTRklMRVMgPSBhZGEtZXhwLnkgYWRhLWxhbmcuYyBhZGEtdHlwZXByCiAgCXNlbnRpbmVsLWZy YW1lLmMgXAogIAlzZXJpYWwuYyBzZXItYmFzZS5jIHNlci11bml4LmMgXApAQCAtMTQ0LDEwICsx NDQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL01ha2VmaWxlLmluCiAgY29u ZmlnLnN0YXR1czogJChzcmNkaXIpL2NvbmZpZ3VyZSBjb25maWd1cmUudGd0IGNvbmZpZ3VyZS5o b3N0CiAgCSQoU0hFTEwpIGNvbmZpZy5zdGF0dXMgLS1yZWNoZWNrCiAgCi1JbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvTkVXUworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL05F V1MKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL05FV1MJMjAx MS0wMy0zMSAxNjozMjo0OC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9ORVdTCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcu Mi45MC4yMDExMDcwMy5vcmlnL2dkYi9ORVdTCTIwMTEtMDMtMzEgMTY6MzI6NDguMDAwMDAwMDAw ICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvTkVXUwkyMDExLTA3LTAzIDEwOjMz OjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTM2LDYgKzM2LDEwIEBACiAgICBJbml0aWFsIHN1cHBv cnQgZm9yIHRoZSBPcGVuQ0wgQyBsYW5ndWFnZSAoaHR0cDovL3d3dy5raHJvbm9zLm9yZy9vcGVu Y2wpCiAgICBoYXMgYmVlbiBpbnRlZ3JhdGVkIGludG8gR0RCLgpAQCAtMTU5LDEwICsxNTksMTAg QEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL05FV1MKICAqIFB5dGhvbiBzY3JpcHRp bmcKICAKICAgICoqIFRoZSBmdW5jdGlvbiBnZGIuV3JpdGUgbm93IGFjY2VwdHMgYW4gb3B0aW9u YWwga2V5d29yZCAnc3RyZWFtJy4KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9hZGEt bGFuZy5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvYWRhLWxhbmcuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvYWRhLWxhbmcuYwkyMDExLTA1 LTE3IDIzOjI2OjA4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L2FkYS1sYW5nLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL2FkYS1sYW5nLmMJMjAxMS0wNS0xNyAyMzoyNjowOC4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9hZGEtbGFuZy5jCTIw MTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTE0MjEsNiArMTE0MjEsNyBA QCBhZGFfb3BlcmF0b3JfbGVuZ3RoIChjb25zdCBzdHJ1Y3QgZXhwcmVzCiAgCiAgc3RhdGljIGlu dApAQCAtMTg5LDEwICsxODksMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2Fk YS1sYW5nLmMKICAgICAgICAmJiAoKm9iamZpbGVfZnVuYykgKFRZUEVfT0JKRklMRSAodHlwZSks IGRhdGEpKQogICAgICByZXR1cm4gMTsKICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9hbWQ2NC1saW51eC1uYXQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2FtZDY0 LWxpbnV4LW5hdC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dk Yi9hbWQ2NC1saW51eC1uYXQuYwkyMDExLTAxLTA3IDIwOjM2OjE1LjAwMDAwMDAwMCArMDEwMAot KysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2FtZDY0LWxpbnV4LW5hdC5jCTIwMTEtMDUtMjUg MTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dk Yi9hbWQ2NC1saW51eC1uYXQuYwkyMDExLTAxLTA3IDIwOjM2OjE1LjAwMDAwMDAwMCArMDEwMAor KysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2FtZDY0LWxpbnV4LW5hdC5jCTIwMTEtMDctMDMg MTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMjY1LDE4ICsyNjUsMTEgQEAgYW1kNjRfbGlu dXhfc3RvcmVfaW5mZXJpb3JfcmVnaXN0ZXJzIChzdAogIAwKICAvKiBTdXBwb3J0IGZvciBkZWJ1 ZyByZWdpc3RlcnMuICAqLwpAQCAtNDExLDEwICs0MTEsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL2FtZDY0LWxpbnV4LW5hdC5jCiAgfQogIAwKICAKLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9heC1nZGIuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L2F4LWdkYi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9h eC1nZGIuYwkyMDExLTAyLTI0IDA4OjM5OjQ3LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL2F4LWdkYi5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICsw MjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9heC1nZGIuYwkyMDExLTAyLTI0 IDA4OjM5OjQ3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2F4 LWdkYi5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMjAwMSw3ICsy MDAxLDggQEAgZ2VuX2V4cHIgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIHVuaW9uIAogIAogICAg ICBjYXNlIE9QX0lOVEVSTkFMVkFSOgpAQCAtNDM0LDEwICs0MzQsMTAgQEAgSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL2F4LWdkYi5jCiAgCSAgZXJyb3IgKF8oIiQlcyBpcyBub3QgYSB0 cmFjZSBzdGF0ZSB2YXJpYWJsZTsgR0RCIGFnZW50ICIKICAJCSAgICJleHByZXNzaW9ucyBjYW5u b3QgdXNlIGNvbnZlbmllbmNlIHZhcmlhYmxlcy4iKSwgbmFtZSk7CiAgICAgICAgfQotSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2Jsb2NrLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NzAzL2dkYi9ibG9jay5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmln L2dkYi9ibG9jay5jCTIwMTEtMDEtMDEgMTY6MzI6NTcuMDAwMDAwMDAwICswMTAwCi0rKysgZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvYmxvY2suYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAw MCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvYmxvY2suYwkyMDExLTAx LTAxIDE2OjMyOjU3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L2Jsb2NrLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zMjIsMyAr MzIyLDIxIEBAIGFsbG9jYXRlX2Jsb2NrIChzdHJ1Y3Qgb2JzdGFjayAqb2JzdGFjaykKICAKICAg IHJldHVybiBibDsKQEAgLTQ2MCwxMCArNDYwLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9ibG9jay5jCiArCiArICByZXR1cm4gU1lNQk9MX1NZTVRBQiAoZnVuYyktPm9iamZp bGU7CiArfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2Jsb2NrLmgKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9ibG9jay5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45 MC4yMDExMDUyNS5vcmlnL2dkYi9ibG9jay5oCTIwMTEtMDEtMDEgMTY6MzI6NTcuMDAwMDAwMDAw ICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYmxvY2suaAkyMDExLTA1LTI1IDE3 OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIv YmxvY2suaAkyMDExLTAxLTAxIDE2OjMyOjU3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIu OTAuMjAxMTA3MDMvZ2RiL2Jsb2NrLmgJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAy MDAKIEBAIC0xNjcsNCArMTY3LDYgQEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBibG9jayAqYmxvY2tf Z2xvYmFsXwogIAogIGV4dGVybiBzdHJ1Y3QgYmxvY2sgKmFsbG9jYXRlX2Jsb2NrIChzdHJ1Y3Qg b2JzdGFjayAqb2JzdGFjayk7CkBAIC00NzEsMTAgKzQ3MSwxMCBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvYmxvY2suaAogK2V4dGVybiBzdHJ1Y3Qgb2JqZmlsZSAqYmxvY2tfb2Jq ZmlsZSAoY29uc3Qgc3RydWN0IGJsb2NrICpibG9jayk7CiArCiAgI2VuZGlmIC8qIEJMT0NLX0gg Ki8KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9icmVha3BvaW50LmMKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9icmVha3BvaW50LmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2JyZWFrcG9pbnQuYwkyMDExLTA1LTE3IDIzOjI1OjU2 LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2JyZWFrcG9pbnQu YwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAx MTA3MDMub3JpZy9nZGIvYnJlYWtwb2ludC5jCTIwMTEtMDctMDIgMjE6MzM6MDkuMDAwMDAwMDAw ICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvYnJlYWtwb2ludC5jCTIwMTEtMDct MDMgMTA6MzU6MDkuMDAwMDAwMDAwICswMjAwCiBAQCAtNjMsNiArNjMsOCBAQAogICNpbmNsdWRl ICJqaXQuaCIKICAjaW5jbHVkZSAieG1sLXN5c2NhbGwuaCIKQEAgLTcwOCw3ICs3MDgsNyBAQCBJ bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYnJlYWtwb2ludC5jCiAgCiAgICAvKiBTdG9y ZSB0aGUgcHJvZ3JhbSBzcGFjZSB0aGF0IHdhcyB1c2VkIHRvIHNldCB0aGUgYnJlYWtwb2ludCwg Zm9yCiAgICAgICBicmVha3BvaW50IHJlc2V0dGluZy4gICovCi1AQCAtNzA1Nyw2ICs3MTcyLDcg QEAgY2xvbmVfbW9tZW50YXJ5X2JyZWFrcG9pbnQgKHN0cnVjdCBicmVhaworQEAgLTcwNTYsNiAr NzE3MSw3IEBAIGNsb25lX21vbWVudGFyeV9icmVha3BvaW50IChzdHJ1Y3QgYnJlYWsKICAgIGNv cHktPmxvYy0+YWRkcmVzcyA9IG9yaWctPmxvYy0+YWRkcmVzczsKICAgIGNvcHktPmxvYy0+c2Vj dGlvbiA9IG9yaWctPmxvYy0+c2VjdGlvbjsKICAgIGNvcHktPmxvYy0+cHNwYWNlID0gb3JpZy0+ bG9jLT5wc3BhY2U7CkBAIC03MTYsNyArNzE2LDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL2JyZWFrcG9pbnQuYwogIAogICAgaWYgKG9yaWctPnNvdXJjZV9maWxlID09IE5VTEwp CiAgICAgIGNvcHktPnNvdXJjZV9maWxlID0gTlVMTDsKLUBAIC03MjgwLDYgKzczOTYsNyBAQCBh ZGRfbG9jYXRpb25fdG9fYnJlYWtwb2ludCAoc3RydWN0IGJyZWFrCitAQCAtNzI3OSw2ICs3Mzk1 LDcgQEAgYWRkX2xvY2F0aW9uX3RvX2JyZWFrcG9pbnQgKHN0cnVjdCBicmVhawogICAgbG9jLT5h ZGRyZXNzID0gYWRqdXN0X2JyZWFrcG9pbnRfYWRkcmVzcyAobG9jLT5nZGJhcmNoLAogIAkJCQkJ ICAgIGxvYy0+cmVxdWVzdGVkX2FkZHJlc3MsIGItPnR5cGUpOwogICAgbG9jLT5wc3BhY2UgPSBz YWwtPnBzcGFjZTsKQEAgLTcyNCw3ICs3MjQsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvYnJlYWtwb2ludC5jCiAgICBnZGJfYXNzZXJ0IChsb2MtPnBzcGFjZSAhPSBOVUxMKTsK ICAgIGxvYy0+c2VjdGlvbiA9IHNhbC0+c2VjdGlvbjsKICAKLUBAIC03NjI5LDYgKzc3NDYsMTYg QEAgY3JlYXRlX2JyZWFrcG9pbnRzX3NhbCAoc3RydWN0IGdkYmFyY2ggKgorQEAgLTc2MjgsNiAr Nzc0NSwxNiBAQCBjcmVhdGVfYnJlYWtwb2ludHNfc2FsIChzdHJ1Y3QgZ2RiYXJjaCAqCiAgewog ICAgaW50IGk7CiAgCkBAIC03NDEsNyArNzQxLDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL2JyZWFrcG9pbnQuYwogICAgZm9yIChpID0gMDsgaSA8IHNhbHMubmVsdHM7ICsraSkK ICAgICAgewogICAgICAgIHN0cnVjdCBzeW10YWJzX2FuZF9saW5lcyBleHBhbmRlZCA9IAotQEAg LTgxNTQsNyArODI4MSw3IEBAIGNyZWF0ZV9icmVha3BvaW50IChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXIKK0BAIC04MTQ4LDcgKzgyNzUsNyBAQCBjcmVhdGVfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyCiAgICAgICAgICBtZW50aW9uIChiKTsKICAgICAgfQogICAgCkBAIC03NTAsNyAr NzUwLDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2JyZWFrcG9pbnQuYwogICAg ICB7CiAgICAgICAgd2FybmluZyAoXygiTXVsdGlwbGUgYnJlYWtwb2ludHMgd2VyZSBzZXQuXG5V c2UgdGhlICIKICAJCSAiXCJkZWxldGVcIiBjb21tYW5kIHRvIGRlbGV0ZSB1bndhbnRlZCBicmVh a3BvaW50cy4iKSk7Ci1AQCAtOTAyNiw2ICs5MTUzLDcgQEAgd2F0Y2hfY29tbWFuZF8xIChjaGFy ICphcmcsIGludCBhY2Nlc3NmbAorQEAgLTkwMjAsNiArOTE0Nyw3IEBAIHdhdGNoX2NvbW1hbmRf MSAoY2hhciAqYXJnLCBpbnQgYWNjZXNzZmwKICAgIGIgPSBzZXRfcmF3X2JyZWFrcG9pbnRfd2l0 aG91dF9sb2NhdGlvbiAoTlVMTCwgYnBfdHlwZSk7CiAgICBzZXRfYnJlYWtwb2ludF9udW1iZXIg KGludGVybmFsLCBiKTsKICAgIGItPnRocmVhZCA9IHRocmVhZDsKQEAgLTc1OCw3ICs3NTgsNyBA QCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYnJlYWtwb2ludC5jCiAgICBiLT5kaXNw b3NpdGlvbiA9IGRpc3BfZG9udHRvdWNoOwogICAgYi0+ZXhwID0gZXhwOwogICAgYi0+ZXhwX3Zh bGlkX2Jsb2NrID0gZXhwX3ZhbGlkX2Jsb2NrOwotQEAgLTEwMTg4LDYgKzEwMzE2LDkgQEAgdXBk YXRlX2dsb2JhbF9sb2NhdGlvbl9saXN0IChpbnQgc2hvdWxkXworQEAgLTEwMTgyLDYgKzEwMzEw LDkgQEAgdXBkYXRlX2dsb2JhbF9sb2NhdGlvbl9saXN0IChpbnQgc2hvdWxkXwogICAgICAgIGlu dCBrZWVwX2luX3RhcmdldCA9IDA7CiAgICAgICAgaW50IHJlbW92ZWQgPSAwOwogIApAQCAtNzY4 LDcgKzc2OCw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9icmVha3BvaW50LmMK ICAgICAgICAvKiBTa2lwIExPQ1AgZW50cmllcyB3aGljaCB3aWxsIGRlZmluaXRlbHkgbmV2ZXIg YmUgbmVlZGVkLgogIAkgU3RvcCBlaXRoZXIgYXQgb3IgYmVpbmcgdGhlIG9uZSBtYXRjaGluZyBP TERfTE9DLiAgKi8KICAgICAgICB3aGlsZSAobG9jcCA8IGJwX2xvY2F0aW9uICsgYnBfbG9jYXRp b25fY291bnQKLUBAIC0xMDk1MiwxMiArMTEwODMsMTQgQEAgdXBkYXRlX2JyZWFrcG9pbnRfbG9j YXRpb25zIChzdHJ1Y3QgYnJlYQorQEAgLTEwOTQ2LDEyICsxMTA3NywxNCBAQCB1cGRhdGVfYnJl YWtwb2ludF9sb2NhdGlvbnMgKHN0cnVjdCBicmVhCiAgICAgT24gcmV0dXJuLCBGT1VORCB3aWxs IGJlIDEgaWYgYW55IFNhTCB3YXMgZm91bmQsIHplcm8gb3RoZXJ3aXNlLiAgKi8KICAKICBzdGF0 aWMgc3RydWN0IHN5bXRhYnNfYW5kX2xpbmVzCkBAIC03NzcsMjUgKzc3NywyNCBAQCBJbmRleDog Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYnJlYWtwb2ludC5jCiArCQkgICAgIGludCAqcHJlX2V4 cGFuZGVkKQogIHsKICAgIGNoYXIgKnM7Ci0gICBpbnQgbWFya2VyX3NwZWMsIG5vdF9mb3VuZDsK KyAgIGludCBtYXJrZXJfc3BlYzsKICAgIHN0cnVjdCBzeW10YWJzX2FuZF9saW5lcyBzYWxzID0g ezB9OwogICAgc3RydWN0IGdkYl9leGNlcHRpb24gZTsKICsgIGludCBteV9wcmVfZXhwYW5kZWQg PSAwOwogIAogICAgcyA9IGFkZHJfc3RyaW5nOwogICAgbWFya2VyX3NwZWMgPSBiLT50eXBlID09 IGJwX3N0YXRpY190cmFjZXBvaW50ICYmIGlzX21hcmtlcl9zcGVjIChzKTsKLUBAIC0xMDk3Niw4 ICsxMTEwOSwyNyBAQCBhZGRyX3N0cmluZ190b19zYWxzIChzdHJ1Y3QgYnJlYWtwb2ludCAqCitA QCAtMTA5NzAsNyArMTExMDMsMjcgQEAgYWRkcl9zdHJpbmdfdG9fc2FscyAoc3RydWN0IGJyZWFr cG9pbnQgKgogIAkgICAgZXJyb3IgKF8oIm1hcmtlciAlcyBub3QgZm91bmQiKSwgYi0+c3RhdGlj X3RyYWNlX21hcmtlcl9pZCk7CiAgCX0KICAgICAgICBlbHNlCi0tCXNhbHMgPSBkZWNvZGVfbGlu ZV8xICgmcywgMSwgKHN0cnVjdCBzeW10YWIgKikgTlVMTCwgMCwKLS0JCQkgICAgICBOVUxMLCAm bm90X2ZvdW5kKTsKKy0Jc2FscyA9IGRlY29kZV9saW5lXzEgKCZzLCAxLCAoc3RydWN0IHN5bXRh YiAqKSBOVUxMLCAwLCBOVUxMKTsKICsJewogKwkgIHN0cnVjdCBsaW5lc3BlY19yZXN1bHQgY2Fu b25pY2FsOwogKwogKwkgIGluaXRfbGluZXNwZWNfcmVzdWx0ICgmY2Fub25pY2FsKTsKICsJICBz YWxzID0gZGVjb2RlX2xpbmVfMSAoJnMsIDEsIChzdHJ1Y3Qgc3ltdGFiICopIE5VTEwsIDAsCi0r CQkJCSZjYW5vbmljYWwsICZub3RfZm91bmQpOworKwkJCQkmY2Fub25pY2FsKTsKICsKICsJICAv KiBXZSBkb24ndCBuZWVkIHRoZSBjb250ZW50cy4gICovCiArCSAgaWYgKGNhbm9uaWNhbC5jYW5v bmljYWwpCkBAIC04MTQsMTYgKzgxMywxNiBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvYnJlYWtwb2ludC5jCiAgICAgIH0KICAgIGlmIChlLnJlYXNvbiA8IDApCiAgICAgIHsKLUBA IC0xMTAxMCw3ICsxMTE2Miw3IEBAIGFkZHJfc3RyaW5nX3RvX3NhbHMgKHN0cnVjdCBicmVha3Bv aW50ICoKK0BAIC0xMTAwMyw3ICsxMTE1Niw3IEBAIGFkZHJfc3RyaW5nX3RvX3NhbHMgKHN0cnVj dCBicmVha3BvaW50ICoKICAKLSAgIGlmICghbm90X2ZvdW5kKQorICAgaWYgKGUucmVhc29uID09 IDAgfHwgZS5lcnJvciAhPSBOT1RfRk9VTkRfRVJST1IpCiAgICAgIHsKIC0gICAgICBnZGJfYXNz ZXJ0IChzYWxzLm5lbHRzID09IDEpOwogKyAgICAgIGdkYl9hc3NlcnQgKG15X3ByZV9leHBhbmRl ZCB8fCBzYWxzLm5lbHRzID09IDEpOwogIAogICAgICAgIHJlc29sdmVfc2FsX3BjICgmc2Fscy5z YWxzWzBdKTsKICAgICAgICBpZiAoYi0+Y29uZGl0aW9uX25vdF9wYXJzZWQgJiYgcyAmJiBzWzBd KQotQEAgLTExMDQ5LDIyICsxMTIwMSwyNyBAQCByZV9zZXRfYnJlYWtwb2ludCAoc3RydWN0IGJy ZWFrcG9pbnQgKmIpCitAQCAtMTEwNDQsMjIgKzExMTk3LDI3IEBAIHJlX3NldF9icmVha3BvaW50 IChzdHJ1Y3QgYnJlYWtwb2ludCAqYikKICAgIHN0cnVjdCBzeW10YWJzX2FuZF9saW5lcyBleHBh bmRlZCA9IHswfTsKICAgIHN0cnVjdCBzeW10YWJzX2FuZF9saW5lcyBleHBhbmRlZF9lbmQgPSB7 MH07CiAgICBzdHJ1Y3QgY2xlYW51cCAqY2xlYW51cHMgPSBtYWtlX2NsZWFudXAgKG51bGxfY2xl YW51cCwgTlVMTCk7CkBAIC04NTQsNyArODUzLDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL2JyZWFrcG9pbnQuYwogICAgICAgIGlmIChmb3VuZCkKICAJewogIAkgIG1ha2VfY2xl YW51cCAoeGZyZWUsIHNhbHNfZW5kLnNhbHMpOwotQEAgLTEyNTAxLDYgKzEyNjU4LDI0IEBAIGFs bF90cmFjZXBvaW50cyAodm9pZCkKK0BAIC0xMjQ5Niw2ICsxMjY1NCwyNCBAQCBhbGxfdHJhY2Vw b2ludHMgKHZvaWQpCiAgICByZXR1cm4gdHBfdmVjOwogIH0KICAKQEAgLTg3OSw3ICs4NzgsNyBA QCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYnJlYWtwb2ludC5jCiAgDAogIC8qIFRo aXMgaGVscCBzdHJpbmcgaXMgdXNlZCBmb3IgdGhlIGJyZWFrLCBoYnJlYWssIHRicmVhayBhbmQg dGhicmVhawogICAgIGNvbW1hbmRzLiAgSXQgaXMgZGVmaW5lZCBhcyBhIG1hY3JvIHRvIHByZXZl bnQgZHVwbGljYXRpb24uCi1AQCAtMTMxMzYsNCArMTMzMTEsNyBAQCByYW5nZSAoaW5jbHVkaW5n IFNUQVJULUxPQ0FUSU9OIGFuZCBFTkQtCitAQCAtMTMxMzEsNCArMTMzMDcsNyBAQCByYW5nZSAo aW5jbHVkaW5nIFNUQVJULUxPQ0FUSU9OIGFuZCBFTkQtCiAgICBhdXRvbWF0aWNfaGFyZHdhcmVf YnJlYWtwb2ludHMgPSAxOwogIAogICAgb2JzZXJ2ZXJfYXR0YWNoX2Fib3V0X3RvX3Byb2NlZWQg KGJyZWFrcG9pbnRfYWJvdXRfdG9fcHJvY2VlZCk7CkBAIC04ODcsMTAgKzg4NiwxMCBAQCBJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYnJlYWtwb2ludC5jCiArICBvYnNlcnZlcl9hdHRh Y2hfbWFya191c2VkIChicmVha3BvaW50X3R5cGVzX21hcmtfdXNlZCk7CiArI2VuZGlmCiAgfQot SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2JyZWFrcG9pbnQuaAorSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA3MDMvZ2RiL2JyZWFrcG9pbnQuaAogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIu OTAuMjAxMTA1MjUub3JpZy9nZGIvYnJlYWtwb2ludC5oCTIwMTEtMDUtMTcgMjM6MjU6NTYuMDAw MDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYnJlYWtwb2ludC5oCTIw MTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcw My5vcmlnL2dkYi9icmVha3BvaW50LmgJMjAxMS0wNS0xNyAyMzoyNTo1Ni4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9icmVha3BvaW50LmgJMjAxMS0wNy0wMyAx MDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zNjMsNiArMzYzLDExIEBAIHN0cnVjdCBicF9s b2NhdGlvbgogICAgICAgcHJvY2Vzc29yJ3MgYXJjaGl0ZWN0dWFsIGNvbnN0cmFpbnRzLiAgKi8K ICAgIENPUkVfQUREUiByZXF1ZXN0ZWRfYWRkcmVzczsKQEAgLTkxNSwxMCArOTE0LDEwIEBAIElu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9icmVha3BvaW50LmgKICtleHRlcm4gdm9pZCBt b2RpZnlfc2VtYXBob3JlIChzdHJ1Y3QgYnBfbG9jYXRpb24gKmxvY2F0aW9uLCBpbnQgc2V0KTsK ICsKICAjZW5kaWYgLyogIWRlZmluZWQgKEJSRUFLUE9JTlRfSCkgKi8KLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9jLXR5cGVwcmludC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcw My9nZGIvYy10eXBlcHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUu b3JpZy9nZGIvYy10eXBlcHJpbnQuYwkyMDExLTAzLTIyIDE4OjM1OjIyLjAwMDAwMDAwMCArMDEw MAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2MtdHlwZXByaW50LmMJMjAxMS0wNS0yNSAx NzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2Ri L2MtdHlwZXByaW50LmMJMjAxMS0wMy0yMiAxODozNToyMi4wMDAwMDAwMDAgKzAxMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9jLXR5cGVwcmludC5jCTIwMTEtMDctMDMgMTA6MzM6MTEu MDAwMDAwMDAwICswMjAwCiBAQCAtNjI1LDkgKzYyNSwxNCBAQCBjX3R5cGVfcHJpbnRfdmFyc3Bl Y19zdWZmaXggKHN0cnVjdCB0eXBlCiAgCSAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiKSIp OwogIApAQCAtOTM3LDEwICs5MzYsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L2MtdHlwZXByaW50LmMKICAJZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiXSIpOwogIAogIAlj X3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpLCBzdHJl YW0sCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvY2xpL2NsaS11dGlscy5jCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvY2xpL2NsaS11dGlscy5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9jbGkvY2xpLXV0aWxzLmMJMjAxMS0wMy0x NiAyMjoxMjoxMi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9j bGkvY2xpLXV0aWxzLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBn ZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL2NsaS9jbGktdXRpbHMuYwkyMDExLTAzLTE2IDIy OjEyOjEyLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2NsaS9j bGktdXRpbHMuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTI0NSwz ICsyNDUsMzIgQEAgcmVtb3ZlX3RyYWlsaW5nX3doaXRlc3BhY2UgKGNvbnN0IGNoYXIgKgogIAog ICAgcmV0dXJuIHM7CkBAIC05NzQsMTAgKzk3MywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvY2xpL2NsaS11dGlscy5jCiArCiArICByZXR1cm4gY29weTsKICt9Ci1JbmRleDog Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvY2xpL2NsaS11dGlscy5oCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDcwMy9nZGIvY2xpL2NsaS11dGlscy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45 MC4yMDExMDUyNS5vcmlnL2dkYi9jbGkvY2xpLXV0aWxzLmgJMjAxMS0wMy0xNiAyMjoxMjoxMi4w MDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9jbGkvY2xpLXV0aWxz LmgJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIw MTEwNzAzLm9yaWcvZ2RiL2NsaS9jbGktdXRpbHMuaAkyMDExLTAzLTE2IDIyOjEyOjEyLjAwMDAw MDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2NsaS9jbGktdXRpbHMuaAky MDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTEwMyw0ICsxMDMsMTEgQEAg ZXh0ZXJuIGNoYXIgKnNraXBfdG9fc3BhY2UgKGNoYXIgKmlucCk7CiAgICAgU1RBUlQuICAqLwog IApAQCAtOTkwLDEwICs5ODksMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2Ns aS9jbGktdXRpbHMuaAogK2V4dGVybiBjaGFyICpleHRyYWN0X2FyZyAoY2hhciAqKmFyZyk7CiAr CiAgI2VuZGlmIC8qIENMSV9VVElMU19IICovCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvY29mZnJlYWQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2NvZmZyZWFkLmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2NvZmZyZWFkLmMJ MjAxMS0wMy0xNyAxNDoxOToyMy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9jb2ZmcmVhZC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCist LS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9jb2ZmcmVhZC5jCTIwMTEtMDMtMTcgMTQ6 MTk6MjMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvY29mZnJl YWQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTIxOTMsNiArMjE5 Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBjb2ZmX3N5bV9mbnMKICAKICAgIGRl ZmF1bHRfc3ltZmlsZV9yZWxvY2F0ZSwJLyogc3ltX3JlbG9jYXRlOiBSZWxvY2F0ZSBhIGRlYnVn CkBAIC0xMDAyLDEwICsxMDAxLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9j b2ZmcmVhZC5jCiAgICAmcHN5bV9mdW5jdGlvbnMKICB9OwogIAotSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDcwMy9nZGIvZGF0YS1kaXJlY3RvcnkvTWFrZWZpbGUuaW4KID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmlu CTIwMTEtMDItMDQgMTk6MzQ6NDEuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvZGF0YS1kaXJlY3RvcnkvTWFrZWZpbGUuaW4JMjAxMS0wNS0yNSAxNzowNToyMS4w MDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL2RhdGEtZGly ZWN0b3J5L01ha2VmaWxlLmluCTIwMTEtMDItMDQgMTk6MzQ6NDEuMDAwMDAwMDAwICswMTAwCisr KysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZGF0YS1kaXJlY3RvcnkvTWFrZWZpbGUuaW4JMjAx MS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC01MiwxMSArNTIsMjMgQEAgU1lT Q0FMTFNfRklMRVMgPSBcCiAgUFlUSE9OX0RJUiA9IHB5dGhvbgogIFBZVEhPTl9JTlNUQUxMX0RJ UiA9ICQoREVTVERJUikkKEdEQl9EQVRBRElSKS8kKFBZVEhPTl9ESVIpCkBAIC0xMDMzLDEwICsx MDMyLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kYXRhLWRpcmVjdG9yeS9N YWtlZmlsZS5pbgogIAogIEZMQUdTX1RPX1BBU1MgPSBcCiAgCSJwcmVmaXg9JChwcmVmaXgpIiBc Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZGJ4cmVhZC5jCitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDcwMy9nZGIvZGJ4cmVhZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4y MDExMDUyNS5vcmlnL2dkYi9kYnhyZWFkLmMJMjAxMS0wMy0yMyAxOToyMzo1NC4wMDAwMDAwMDAg KzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kYnhyZWFkLmMJMjAxMS0wNS0yNSAx NzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2Ri L2RieHJlYWQuYwkyMDExLTAzLTIzIDE5OjIzOjU0LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA3MDMvZ2RiL2RieHJlYWQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAw MCArMDIwMAogQEAgLTEsNiArMSw2IEBACiAgLyogUmVhZCBkYnggc3ltYm9sIHRhYmxlcyBhbmQg Y29udmVydCB0byBpbnRlcm5hbCBmb3JtYXQsIGZvciBHREIuCiAgICAgQ29weXJpZ2h0IChDKSAx OTg2LCAxOTg3LCAxOTg4LCAxOTg5LCAxOTkwLCAxOTkxLCAxOTkyLCAxOTkzLCAxOTk0LCAxOTk1 LApAQCAtMTA1MywxMCArMTA1MiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv ZGJ4cmVhZC5jCiAgICAmcHN5bV9mdW5jdGlvbnMKICB9OwogIAotSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL2RlZnMuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2RlZnMu aAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZGVmcy5oCTIw MTEtMDMtMzEgMTY6MzI6NDguMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvZGVmcy5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2Ri LTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9kZWZzLmgJMjAxMS0wMy0zMSAxNjozMjo0OC4wMDAw MDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9kZWZzLmgJMjAxMS0wNy0w MyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zOTgsNiArMzk4LDggQEAgZXh0ZXJuIHN0 cnVjdCBjbGVhbnVwICptYWtlX2NsZWFudXBfcmVzdAogIGV4dGVybiBzdHJ1Y3QgY2xlYW51cCAq CiAgICBzZXRfYmF0Y2hfZmxhZ19hbmRfbWFrZV9jbGVhbnVwX3Jlc3RvcmVfcGFnZV9pbmZvICh2 b2lkKTsKQEAgLTEwNjYsMTAgKzEwNjUsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL2RlZnMuaAogIGV4dGVybiBjaGFyICpnZGJfcmVhbHBhdGggKGNvbnN0IGNoYXIgKik7CiAg ZXh0ZXJuIGNoYXIgKnhmdWxscGF0aCAoY29uc3QgY2hhciAqKTsKICAKLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9kb2MvZ2RiLnRleGluZm8KK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NzAzL2dkYi9kb2MvZ2RiLnRleGluZm8KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEw NTI1Lm9yaWcvZ2RiL2RvYy9nZGIudGV4aW5mbwkyMDExLTA1LTE3IDIzOjI3OjQ4LjAwMDAwMDAw MCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2RvYy9nZGIudGV4aW5mbwkyMDEx LTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMu b3JpZy9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTEtMDctMDIgMjE6NTk6MjkuMDAwMDAwMDAwICsw MjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTEtMDct MDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTE3Nyw2ICsxMTc3LDE2IEBAIGZvciBy ZW1vdGUgZGVidWdnaW5nLgogIFJ1biB1c2luZyBAdmFye2RldmljZX0gZm9yIHlvdXIgcHJvZ3Jh bSdzIHN0YW5kYXJkIGlucHV0IGFuZCBvdXRwdXQuCiAgQGMgRklYTUU6IGtpbmdkb24gdGhpbmtz IHRoZXJlIGlzIG1vcmUgdG8gLXR0eS4gIEludmVzdGlnYXRlLgpAQCAtMTIwNCw3ICsxMjAzLDcg QEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2RvYy9nZGIudGV4aW5mbwogIEBpdGVt ICRfc2RhdGEKICBAdmluZGV4ICRfc2RhdGFAcnssIGNvbGxlY3R9CiAgQ29sbGVjdCBzdGF0aWMg dHJhY2Vwb2ludCBtYXJrZXIgc3BlY2lmaWMgZGF0YS4gIE9ubHkgYXZhaWxhYmxlIGZvcgotQEAg LTIwNzEwLDggKzIwODAyLDYgQEAgY29udGFpbmluZyBAY29kZXtlbmR9LiAgRm9yIGV4YW1wbGU6 CitAQCAtMjA3MjAsOCArMjA4MTIsNiBAQCBjb250YWluaW5nIEBjb2Rle2VuZH0uICBGb3IgZXhh bXBsZToKICAKICBAc21hbGxleGFtcGxlCiAgKEB2YWx1ZXtHREJQfSkgcHl0aG9uCkBAIC0xMjEz LDcgKzEyMTIsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZG9jL2dkYi50ZXhp bmZvCiAgPnByaW50IDIzCiAgPmVuZAogIDIzCi1AQCAtMjA3MjQsNiArMjA4MTQsMTQgQEAgaW4g YSBQeXRob24gc2NyaXB0LiAgVGhpcyBjYW4gYmUgY29udHJvbAorQEAgLTIwNzM0LDYgKzIwODI0 LDE0IEBAIGluIGEgUHl0aG9uIHNjcmlwdC4gIFRoaXMgY2FuIGJlIGNvbnRyb2wKICBweXRob24g cHJpbnQtc3RhY2t9OiBpZiBAY29kZXtvbn0sIHRoZSBkZWZhdWx0LCB0aGVuIFB5dGhvbiBzdGFj awogIHByaW50aW5nIGlzIGVuYWJsZWQ7IGlmIEBjb2Rle29mZn0sIHRoZW4gUHl0aG9uIHN0YWNr IHByaW50aW5nIGlzCiAgZGlzYWJsZWQuCkBAIC0xMjI4LDcgKzEyMjcsNyBAQCBJbmRleDogZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvZG9jL2dkYi50ZXhpbmZvCiAgQGVuZCB0YWJsZQogIAogIEl0 IGlzIGFsc28gcG9zc2libGUgdG8gZXhlY3V0ZSBhIFB5dGhvbiBzY3JpcHQgZnJvbSB0aGUgQHZh bHVle0dEQk59Ci1AQCAtMjA3NDUsNiArMjA4NDMsMTQgQEAgYW5kIHRodXMgaXMgYWx3YXlzIGF2 YWlsYWJsZS4KK0BAIC0yMDc1NSw2ICsyMDg1MywxNCBAQCBhbmQgdGh1cyBpcyBhbHdheXMgYXZh aWxhYmxlLgogIEBjaW5kZXggcHl0aG9uIGFwaQogIEBjaW5kZXggcHJvZ3JhbW1pbmcgaW4gcHl0 aG9uCiAgCkBAIC0xMjQzLDEwICsxMjQyLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9kb2MvZ2RiLnRleGluZm8KICBAY2luZGV4IHB5dGhvbiBzdGRvdXQKICBAY2luZGV4IHB5 dGhvbiBwYWdpbmF0aW9uCiAgQXQgc3RhcnR1cCwgQHZhbHVle0dEQk59IG92ZXJyaWRlcyBQeXRo b24ncyBAY29kZXtzeXMuc3Rkb3V0fSBhbmQKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9kb2MvZ2RiaW50LnRleGluZm8KK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9kb2Mv Z2RiaW50LnRleGluZm8KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcv Z2RiL2RvYy9nZGJpbnQudGV4aW5mbwkyMDExLTAyLTA0IDIwOjEwOjEyLjAwMDAwMDAwMCArMDEw MAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2RvYy9nZGJpbnQudGV4aW5mbwkyMDExLTA1 LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3Jp Zy9nZGIvZG9jL2dkYmludC50ZXhpbmZvCTIwMTEtMDItMDQgMjA6MTA6MTIuMDAwMDAwMDAwICsw MTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZG9jL2dkYmludC50ZXhpbmZvCTIwMTEt MDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMjEwNCw2ICsyMTA0LDE4IEBAIHRp bWUsIGFuZCBzbyB3ZSBhdHRlbXB0IHRvIGhhbmRsZSBzeW1ib2wKICB3ZSBjcmVhdGUgQGRmbntw YXJ0aWFsIHN5bWJvbCB0YWJsZXN9IGNvbnNpc3Rpbmcgb2Ygb25seSBzZWxlY3RlZAogIHN5bWJv bHMsIGFuZCBvbmx5IGV4cGFuZCB0aGVtIHRvIGZ1bGwgc3ltYm9sIHRhYmxlcyB3aGVuIG5lY2Vz c2FyeS4KQEAgLTEzNzIsMTAgKzEzNzEsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL2RvYy9nZGJpbnQudGV4aW5mbwogIAogIAogIEBub2RlIExhbmd1YWdlIFN1cHBvcnQKLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kb2Mvb2JzZXJ2ZXIudGV4aQorSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA3MDMvZ2RiL2RvYy9vYnNlcnZlci50ZXhpCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9kb2Mvb2JzZXJ2ZXIudGV4aQkyMDExLTAxLTA1 IDA2OjA5OjU0LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2Rv Yy9vYnNlcnZlci50ZXhpCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0g Z2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9kb2Mvb2JzZXJ2ZXIudGV4aQkyMDExLTAxLTA1 IDA2OjA5OjU0LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2Rv Yy9vYnNlcnZlci50ZXhpCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAt MjIzLDYgKzIyMywxMSBAQCBCeXRlcyBmcm9tIEB2YXJ7ZGF0YX0gdG8gQHZhcntkYXRhfSArIEB2 CiAgdG8gdGhlIGN1cnJlbnQgaW5mZXJpb3IgYXQgQHZhcnthZGRyfS4KICBAZW5kIGRlZnR5cGVm dW4KQEAgLTEzODgsMTAgKzEzODcsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L2RvYy9vYnNlcnZlci50ZXhpCiAgQGRlZnR5cGVmdW4gdm9pZCB0ZXN0X25vdGlmaWNhdGlvbiAo aW50IEB2YXJ7c29tZWFyZ30pCiAgVGhpcyBvYnNlcnZlciBpcyB1c2VkIGZvciBpbnRlcm5hbCB0 ZXN0aW5nLiAgRG8gbm90IHVzZS4gIAogIFNlZSB0ZXN0c3VpdGUvZ2RiLmdkYi9vYnNlcnZlci5l eHAuCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYyZXhwci5jCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZHdhcmYyZXhwci5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9kd2FyZjJleHByLmMJMjAxMS0wNS0xMyAyMDo1NDo0 Ny4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJleHBy LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIw MTEwNzAzLm9yaWcvZ2RiL2R3YXJmMmV4cHIuYwkyMDExLTA1LTEzIDIwOjU0OjQ3LjAwMDAwMDAw MCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2R3YXJmMmV4cHIuYwkyMDExLTA3 LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTkxMiw2ICs5MTIsMTMgQEAgZXhlY3V0 ZV9zdGFja19vcCAoc3RydWN0IGR3YXJmX2V4cHJfY29udAogIAkgIGN0eC0+bnVtX3BpZWNlcyA9 IDA7CiAgCSAgZ290byBhYm9ydF9leHByZXNzaW9uOwpAQCAtMTQwNiwxMCArMTQwNSwxMCBAQCBJ bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYyZXhwci5jCiAgCWRlZmF1bHQ6CiAg CSAgZXJyb3IgKF8oIlVuaGFuZGxlZCBkd2FyZiBleHByZXNzaW9uIG9wY29kZSAweCV4IiksIG9w KTsKICAJfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMmV4cHIuaAorSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2R3YXJmMmV4cHIuaAogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZHdhcmYyZXhwci5oCTIwMTEtMDItMjcgMTc6 MjU6MzcuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYy ZXhwci5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45 MC4yMDExMDcwMy5vcmlnL2dkYi9kd2FyZjJleHByLmgJMjAxMS0wMi0yNyAxNzoyNTozNy4wMDAw MDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9kd2FyZjJleHByLmgJMjAx MS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xMTQsOSArMTE0LDE1IEBAIHN0 cnVjdCBkd2FyZl9leHByX2NvbnRleHQKICAjaWYgMAogICAgLyogTm90IHlldCBpbXBsZW1lbnRl ZC4gICovCkBAIC0xNDI3LDEwICsxNDI2LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9kd2FyZjJleHByLmgKICAKICAgIC8qIFRoZSBjdXJyZW50IGRlcHRoIG9mIGR3YXJmIGV4 cHJlc3Npb24gcmVjdXJzaW9uLCB2aWEgRFdfT1BfY2FsbCosCiAgICAgICBEV19PUF9mYnJlZywg RFdfT1BfcHVzaF9vYmplY3RfYWRkcmVzcywgZXRjLiwgYW5kIHRoZSBtYXhpbXVtCi1JbmRleDog Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYybG9jLmMKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNzAzL2dkYi9kd2FyZjJsb2MuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1 MjUub3JpZy9nZGIvZHdhcmYybG9jLmMJMjAxMS0wMy0yMiAyMjowNjozMy4wMDAwMDAwMDAgKzAx MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJsb2MuYwkyMDExLTA1LTI1IDE3 OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIv ZHdhcmYybG9jLmMJMjAxMS0wMy0yMiAyMjowNjozMy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny4yLjkwLjIwMTEwNzAzL2dkYi9kd2FyZjJsb2MuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAw MDAwMCArMDIwMAogQEAgLTEzNCw2ICsxMzQsOSBAQCBzdHJ1Y3QgZHdhcmZfZXhwcl9iYXRvbgog IHsKICAgIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZTsKQEAgLTE3ODQsMTAgKzE3ODMsMTAgQEAg SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMmxvYy5jCiArICBtaXNzaW5nX2Rl c2NyaWJlX2xvY2F0aW9uLAogKyAgbWlzc2luZ190cmFjZXBvaW50X3Zhcl9yZWYKICt9OwotSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMmxvYy5oCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDcwMy9nZGIvZHdhcmYybG9jLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIw MTEwNTI1Lm9yaWcvZ2RiL2R3YXJmMmxvYy5oCTIwMTEtMDItMTcgMTc6MjA6NDQuMDAwMDAwMDAw ICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYybG9jLmgJMjAxMS0wNS0y NSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcv Z2RiL2R3YXJmMmxvYy5oCTIwMTEtMDItMTcgMTc6MjA6NDQuMDAwMDAwMDAwICswMTAwCisrKysg Z2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZHdhcmYybG9jLmgJMjAxMS0wNy0wMyAxMDozMzoxMS4w MDAwMDAwMDAgKzAyMDAKIEBAIC0xMDcsNiArMTA3LDE1IEBAIHN0cnVjdCBkd2FyZjJfbG9jbGlz dF9iYXRvbgogIAogIGV4dGVybiBjb25zdCBzdHJ1Y3Qgc3ltYm9sX2NvbXB1dGVkX29wcyBkd2Fy ZjJfbG9jZXhwcl9mdW5jczsKQEAgLTE4MDQsMTEgKzE4MDMsMTEgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL2R3YXJmMmxvYy5oCiAgCiAgLyogQ29tcGlsZSBhIERXQVJGIGxvY2F0 aW9uIGV4cHJlc3Npb24gdG8gYW4gYWdlbnQgZXhwcmVzc2lvbi4KICAgICAKLUluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NzAzL2dkYi9kd2FyZjJyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1 Lm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLTA1LTE3IDIzOjI2OjM5LjAwMDAwMDAwMCArMDIw MAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLTA1LTI1IDE3 OjA2OjA2LjAwMDAwMDAwMCArMDIwMAotQEAgLTEyMTksNiArMTIxOSw5IEBAIHN0YXRpYyB2b2lk IGZpbGxfaW5fbG9jbGlzdF9iYXRvbiAoc3RydWMKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9y aWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLTA3LTAyIDIxOjU5OjI5LjAwMDAwMDAwMCArMDIwMAor KysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLTA3LTAzIDEwOjMz OjExLjAwMDAwMDAwMCArMDIwMAorQEAgLTEyMjIsNiArMTIyMiw5IEBAIHN0YXRpYyB2b2lkIGZp bGxfaW5fbG9jbGlzdF9iYXRvbiAoc3RydWMKICAJCQkJICAgc3RydWN0IGR3YXJmMl9sb2NsaXN0 X2JhdG9uICpiYXRvbiwKICAJCQkJICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cik7CiAgCkBAIC0x ODE4LDcgKzE4MTcsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYycmVh ZC5jCiAgc3RhdGljIHZvaWQgZHdhcmYyX3N5bWJvbF9tYXJrX2NvbXB1dGVkIChzdHJ1Y3QgYXR0 cmlidXRlICphdHRyLAogIAkJCQkJIHN0cnVjdCBzeW1ib2wgKnN5bSwKICAJCQkJCSBzdHJ1Y3Qg ZHdhcmYyX2N1ICpjdSk7Ci1AQCAtMTI1Myw2ICsxMjU2LDkgQEAgc3RhdGljIHZvaWQgYWdlX2Nh Y2hlZF9jb21wX3VuaXRzICh2b2lkKQorQEAgLTEyNTYsNiArMTI1OSw5IEBAIHN0YXRpYyB2b2lk IGFnZV9jYWNoZWRfY29tcF91bml0cyAodm9pZCkKICAKICBzdGF0aWMgdm9pZCBmcmVlX29uZV9j YWNoZWRfY29tcF91bml0ICh2b2lkICopOwogIApAQCAtMTgyOCw3ICsxODI3LDcgQEAgSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMnJlYWQuYwogIHN0YXRpYyBzdHJ1Y3QgdHlw ZSAqc2V0X2RpZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKiwgc3RydWN0IHR5cGUgKiwKICAJCQkJ ICBzdHJ1Y3QgZHdhcmYyX2N1ICopOwogIAotQEAgLTEyNzcsNiArMTI4Myw5IEBAIHN0YXRpYyBz dHJ1Y3QgdHlwZSAqZ2V0X2RpZV90eXBlX2F0X29mZnMKK0BAIC0xMjgwLDYgKzEyODYsOSBAQCBz dGF0aWMgc3RydWN0IHR5cGUgKmdldF9kaWVfdHlwZV9hdF9vZmZzCiAgCiAgc3RhdGljIHN0cnVj dCB0eXBlICpnZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYy X2N1ICpjdSk7CiAgCkBAIC0xODM4LDcgKzE4MzcsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvZHdhcmYycmVhZC5jCiAgc3RhdGljIHZvaWQgZHdhcmYyX3JlbGVhc2VfcXVldWUg KHZvaWQgKmR1bW15KTsKICAKICBzdGF0aWMgdm9pZCBxdWV1ZV9jb21wX3VuaXQgKHN0cnVjdCBk d2FyZjJfcGVyX2N1X2RhdGEgKnBlcl9jdSwKLUBAIC03NDU1LDYgKzc0NjQsMjkgQEAgcHJvY2Vz c19lbnVtZXJhdGlvbl9zY29wZSAoc3RydWN0IGRpZV9pbgorQEAgLTc1NDIsNiArNzU1MSwyOSBA QCBwcm9jZXNzX2VudW1lcmF0aW9uX3Njb3BlIChzdHJ1Y3QgZGllX2luCiAgICBuZXdfc3ltYm9s IChkaWUsIHRoaXNfdHlwZSwgY3UpOwogIH0KICAKQEAgLTE4NjgsNyArMTg2Nyw3IEBAIEluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMKICAvKiBFeHRyYWN0IGFsbCBp bmZvcm1hdGlvbiBmcm9tIGEgRFdfVEFHX2FycmF5X3R5cGUgRElFIGFuZCBwdXQgaXQgaW4KICAg ICB0aGUgRElFJ3MgdHlwZSBmaWVsZC4gIEZvciBub3csIHRoaXMgb25seSBoYW5kbGVzIG9uZSBk aW1lbnNpb25hbAogICAgIGFycmF5cy4gICovCi1AQCAtNzQ2OCw3ICs3NTAwLDcgQEAgcmVhZF9h cnJheV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgcworQEAgLTc1NTUsNyArNzU4Nyw3IEBA IHJlYWRfYXJyYXlfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHMKICAgIHN0cnVjdCB0eXBl ICplbGVtZW50X3R5cGUsICpyYW5nZV90eXBlLCAqaW5kZXhfdHlwZTsKICAgIHN0cnVjdCB0eXBl ICoqcmFuZ2VfdHlwZXMgPSBOVUxMOwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKQEAgLTE4 NzcsNyArMTg3Niw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFk LmMKICAgIHN0cnVjdCBjbGVhbnVwICpiYWNrX3RvOwogICAgY2hhciAqbmFtZTsKICAKLUBAIC03 NTIxLDE3ICs3NTUzLDE5IEBAIHJlYWRfYXJyYXlfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUs IHMKK0BAIC03NjA4LDE3ICs3NjQwLDE5IEBAIHJlYWRfYXJyYXlfdHlwZSAoc3RydWN0IGRpZV9p bmZvICpkaWUsIHMKICAgIHR5cGUgPSBlbGVtZW50X3R5cGU7CiAgCiAgICBpZiAocmVhZF9hcnJh eV9vcmRlciAoZGllLCBjdSkgPT0gRFdfT1JEX2NvbF9tYWpvcikKQEAgLTE5MDgsNyArMTkwNyw3 IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMKICAKICAgIC8q IFVuZGVyc3RhbmQgRHdhcmYyIHN1cHBvcnQgZm9yIHZlY3RvciB0eXBlcyAobGlrZSB0aGV5IG9j Y3VyIG9uCiAgICAgICB0aGUgUG93ZXJQQyB3LyBBbHRpVmVjKS4gIEdjYyBqdXN0IGFkZHMgYW5v dGhlciBhdHRyaWJ1dGUgdG8gdGhlCi1AQCAtODAxNSwyOSArODA0OSwxMTQgQEAgcmVhZF90YWdf c3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZAorQEAgLTgxMDIsMjkgKzgxMzYsMTE0IEBA IHJlYWRfdGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmQKICAgIHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoID0gZ2V0X29iamZpbGVfYXJjaCAob2JqZmlsZSk7CiAgICBzdHJ1Y3QgdHlw ZSAqdHlwZSwgKnJhbmdlX3R5cGUsICppbmRleF90eXBlLCAqY2hhcl90eXBlOwogICAgc3RydWN0 IGF0dHJpYnV0ZSAqYXR0cjsKQEAgLTIwMzYsNyArMjAzNSw3IEBAIEluZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMKICAgIGNoYXJfdHlwZSA9IGxhbmd1YWdlX3N0cmlu Z19jaGFyX3R5cGUgKGN1LT5sYW5ndWFnZV9kZWZuLCBnZGJhcmNoKTsKICAgIHR5cGUgPSBjcmVh dGVfc3RyaW5nX3R5cGUgKE5VTEwsIGNoYXJfdHlwZSwgcmFuZ2VfdHlwZSk7CiAgCi1AQCAtODMy Miw4ICs4NDQxLDcgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZQor QEAgLTg0MDksOCArODUyOCw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZv ICpkaWUKICAgIHN0cnVjdCB0eXBlICpiYXNlX3R5cGU7CiAgICBzdHJ1Y3QgdHlwZSAqcmFuZ2Vf dHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CkBAIC0yMDQ2LDMwICsyMDQ1LDE4IEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMKICAgIGNoYXIgKm5h bWU7CiAgICBMT05HRVNUIG5lZ2F0aXZlX21hc2s7CiAgCi1AQCAtODMzNiw1MyArODQ1NCwxMjYg QEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZQorQEAgLTg0MjMsNTMg Kzg1NDEsMTI2IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUKICAg IGlmIChyYW5nZV90eXBlKQogICAgICByZXR1cm4gcmFuZ2VfdHlwZTsKICAKIC0gIGlmIChjdS0+ bGFuZ3VhZ2UgPT0gbGFuZ3VhZ2VfZm9ydHJhbikKLS0gICAgewotLSAgICAgIC8qIEZPUlRSQU4g aW1wbGllcyBhIGxvd2VyIGJvdW5kIG9mIDEsIGlmIG5vdCBnaXZlbi4gICovCi0tICAgICAgbG93 ID0gMTsKLS0gICAgfQogKyAgLyogTE9XX0JPVU5EIGFuZCBISUdIX0JPVU5EIGFyZSBzZXQgZm9y IHJlYWwgYmVsb3cuICAqLwogKyAgcmFuZ2VfdHlwZSA9IGNyZWF0ZV9yYW5nZV90eXBlIChOVUxM LCBiYXNlX3R5cGUsIDAsIC0xKTsKICsgIFRZUEVfVU5TSUdORUQgKHJhbmdlX3R5cGUpID0gMDsK LSAKLS0gIC8qIEZJWE1FOiBGb3IgdmFyaWFibGUgc2l6ZWQgYXJyYXlzIGVpdGhlciBvZiB0aGVz ZSBjb3VsZCBiZQotLSAgICAgYSB2YXJpYWJsZSByYXRoZXIgdGhhbiBhIGNvbnN0YW50IHZhbHVl LiAgV2UnbGwgYWxsb3cgaXQsCi0tICAgICBidXQgd2UgZG9uJ3Qga25vdyBob3cgdG8gaGFuZGxl IGl0LiAgKi8KLS0gIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9sb3dlcl9ib3VuZCwg Y3UpOwotLSAgaWYgKGF0dHIpCi0tICAgIGxvdyA9IGR3YXJmMl9nZXRfYXR0cl9jb25zdGFudF92 YWx1ZSAoYXR0ciwgMCk7CisrCiArICBuZWdhdGl2ZV9tYXNrID0gCiArICAgIChMT05HRVNUKSAt MSA8PCAoVFlQRV9MRU5HVEggKGJhc2VfdHlwZSkgKiBUQVJHRVRfQ0hBUl9CSVQgLSAxKTsKLSAK LS0gIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF91cHBlcl9ib3VuZCwgY3UpOwotLSAg aWYgKGF0dHIpCisrCiArICAvKiBFeGNsdWRlIGxhbmd1YWdlX2FkYSBmcm9tIGFueSBUWVBFX0RZ TkFNSUMgY29uc3RydWN0cyBiZWxvdy4gIEdEQiBBZGEKICsgICAgIHN1cHBvcnRzIGltcGxlbWVu dHMgdGhlIGR5bmFtaWMgYm91bmRzIGluIGEgbm9uLURXQVJGIHdheSBhbmQgdGhlCiArICAgICBl eGlzdGluZyBEV0FSRiBkeW5hbWljIGJvdW5kcyBhcmUgaW52YWxpZCwgbGVhZGluZyB0byBtZW1v cnkgYWNjZXNzCkBAIC0yMDc4LDQwICsyMDY1LDMzIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9kd2FyZjJyZWFkLmMKICsgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9s b3dlcl9ib3VuZCwgY3UpOwogKyAgaWYgKGF0dHIgJiYgYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRy KSAmJiBjdS0+bGFuZ3VhZ2UgIT0gbGFuZ3VhZ2VfYWRhKQogICAgICB7Ci0tICAgICAgaWYgKGF0 dHItPmZvcm0gPT0gRFdfRk9STV9ibG9jazEgfHwgaXNfcmVmX2F0dHIgKGF0dHIpKQotLSAgICAg ICAgewotLSAgICAgICAgICAvKiBHQ0MgZW5jb2RlcyBhcnJheXMgd2l0aCB1bnNwZWNpZmllZCBv ciBkeW5hbWljIGxlbmd0aAotLSAgICAgICAgICAgICB3aXRoIGEgRFdfRk9STV9ibG9jazEgYXR0 cmlidXRlIG9yIGEgcmVmZXJlbmNlIGF0dHJpYnV0ZS4KLS0gICAgICAgICAgICAgRklYTUU6IEdE QiBkb2VzIG5vdCB5ZXQga25vdyBob3cgdG8gaGFuZGxlIGR5bmFtaWMKLS0gICAgICAgICAgICAg YXJyYXlzIHByb3Blcmx5LCB0cmVhdCB0aGVtIGFzIGFycmF5cyB3aXRoIHVuc3BlY2lmaWVkCi0t ICAgICAgICAgICAgIGxlbmd0aCBmb3Igbm93LgotLQotLSAgICAgICAgICAgICBGSVhNRTogamlt Yi8yMDAzLTA5LTIyOiBHREIgZG9lcyBub3QgcmVhbGx5IGtub3cKLS0gICAgICAgICAgICAgaG93 IHRvIGhhbmRsZSBhcnJheXMgb2YgdW5zcGVjaWZpZWQgbGVuZ3RoCi0tICAgICAgICAgICAgIGVp dGhlcjsgd2UganVzdCByZXByZXNlbnQgdGhlbSBhcyB6ZXJvLWxlbmd0aAotLSAgICAgICAgICAg ICBhcnJheXMuICBDaG9vc2UgYW4gYXBwcm9wcmlhdGUgdXBwZXIgYm91bmQgZ2l2ZW4KLS0gICAg ICAgICAgICAgdGhlIGxvd2VyIGJvdW5kIHdlJ3ZlIGNvbXB1dGVkIGFib3ZlLiAgKi8KLS0gICAg ICAgICAgaGlnaCA9IGxvdyAtIDE7Ci0tICAgICAgICB9Ci0tICAgICAgZWxzZQotLSAgICAgICAg aGlnaCA9IGR3YXJmMl9nZXRfYXR0cl9jb25zdGFudF92YWx1ZSAoYXR0ciwgMSk7CistICAgICAg LyogRk9SVFJBTiBpbXBsaWVzIGEgbG93ZXIgYm91bmQgb2YgMSwgaWYgbm90IGdpdmVuLiAgKi8K Ky0gICAgICBsb3cgPSAxOwogKyAgICAgIFRZUEVfUkFOR0VfREFUQSAocmFuZ2VfdHlwZSktPmxv dy5raW5kID0gUkFOR0VfQk9VTkRfS0lORF9EV0FSRl9CTE9DSzsKICsgICAgICBUWVBFX1JBTkdF X0RBVEEgKHJhbmdlX3R5cGUpLT5sb3cudS5kd2FyZl9ibG9jayA9CiArCQkJCQlkd2FyZjJfYXR0 cl90b19sb2NleHByX2JhdG9uIChhdHRyLCBjdSk7CiArICAgICAgVFlQRV9EWU5BTUlDIChyYW5n ZV90eXBlKSA9IDE7CiArICAgICAgLyogRm9yIHNldHRpbmcgYSBkZWZhdWx0IGlmIERXX0FUX1VQ UEVSX0JPVU5EIHdvdWxkIGJlIG1pc3NpbmcuICAqLwogKyAgICAgIGxvdyA9IDA7Ci0rICAgIH0K KyAgICAgfQogKyAgZWxzZSBpZiAoYXR0ciAmJiBpc19yZWZfYXR0ciAoYXR0cikgJiYgY3UtPmxh bmd1YWdlICE9IGxhbmd1YWdlX2FkYSkKICsgICAgewogKyAgICAgIHN0cnVjdCBkaWVfaW5mbyAq dGFyZ2V0X2RpZTsKICsgICAgICBzdHJ1Y3QgZHdhcmYyX2N1ICp0YXJnZXRfY3UgPSBjdTsKICsg ICAgICBzdHJ1Y3QgYXR0cmlidXRlICp0YXJnZXRfbG9jX2F0dHI7Ci0rCisgCistICAvKiBGSVhN RTogRm9yIHZhcmlhYmxlIHNpemVkIGFycmF5cyBlaXRoZXIgb2YgdGhlc2UgY291bGQgYmUKKy0g ICAgIGEgdmFyaWFibGUgcmF0aGVyIHRoYW4gYSBjb25zdGFudCB2YWx1ZS4gIFdlJ2xsIGFsbG93 IGl0LAorLSAgICAgYnV0IHdlIGRvbid0IGtub3cgaG93IHRvIGhhbmRsZSBpdC4gICovCistICBh dHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfbG93ZXJfYm91bmQsIGN1KTsKKy0gIGlmIChh dHRyKQorLSAgICBsb3cgPSBkd2FyZjJfZ2V0X2F0dHJfY29uc3RhbnRfdmFsdWUgKGF0dHIsIDAp OwogKyAgICAgIHRhcmdldF9kaWUgPSBmb2xsb3dfZGllX3JlZl9vcl9zaWcgKGRpZSwgYXR0ciwg JnRhcmdldF9jdSk7CiArICAgICAgZ2RiX2Fzc2VydCAodGFyZ2V0X2N1LT5vYmpmaWxlID09IGN1 LT5vYmpmaWxlKTsKICsgICAgICB0YXJnZXRfbG9jX2F0dHIgPSBkd2FyZjJfYXR0ciAodGFyZ2V0 X2RpZSwgRFdfQVRfbG9jYXRpb24sIHRhcmdldF9jdSk7Ci0rCisgCistICBhdHRyID0gZHdhcmYy X2F0dHIgKGRpZSwgRFdfQVRfdXBwZXJfYm91bmQsIGN1KTsKKy0gIGlmIChhdHRyKQogKyAgICAg IFRZUEVfUkFOR0VfREFUQSAocmFuZ2VfdHlwZSktPmxvdy5raW5kID0gUkFOR0VfQk9VTkRfS0lO RF9EV0FSRl9MT0NMSVNUOwogKyAgICAgIFRZUEVfUkFOR0VfREFUQSAocmFuZ2VfdHlwZSktPmxv dy51LmR3YXJmX2xvY2xpc3QubG9jbGlzdAogKyAgICAgICAgPSBkd2FyZjJfYXR0cl90b19sb2Ns aXN0X2JhdG9uICh0YXJnZXRfbG9jX2F0dHIsIHRhcmdldF9jdSk7CkBAIC0yMTIwLDE3ICsyMTAw LDI5IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMKICsgICAg ICBUWVBFX0RZTkFNSUMgKHJhbmdlX3R5cGUpID0gMTsKICsgICAgICAvKiBGb3Igc2V0dGluZyBh IGRlZmF1bHQgaWYgRFdfQVRfVVBQRVJfQk9VTkQgd291bGQgYmUgbWlzc2luZy4gICovCiArICAg ICAgbG93ID0gMDsKLSAgICAgfQotICAgZWxzZQorKyAgICB9CisrICBlbHNlCiAgICAgIHsKLS0g ICAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfY291bnQsIGN1KTsKLS0gICAgICBp ZiAoYXR0cikKKy0gICAgICBpZiAoYXR0ci0+Zm9ybSA9PSBEV19GT1JNX2Jsb2NrMSB8fCBpc19y ZWZfYXR0ciAoYXR0cikpCistICAgICAgICB7CistICAgICAgICAgIC8qIEdDQyBlbmNvZGVzIGFy cmF5cyB3aXRoIHVuc3BlY2lmaWVkIG9yIGR5bmFtaWMgbGVuZ3RoCistICAgICAgICAgICAgIHdp dGggYSBEV19GT1JNX2Jsb2NrMSBhdHRyaWJ1dGUgb3IgYSByZWZlcmVuY2UgYXR0cmlidXRlLgor LSAgICAgICAgICAgICBGSVhNRTogR0RCIGRvZXMgbm90IHlldCBrbm93IGhvdyB0byBoYW5kbGUg ZHluYW1pYworLSAgICAgICAgICAgICBhcnJheXMgcHJvcGVybHksIHRyZWF0IHRoZW0gYXMgYXJy YXlzIHdpdGggdW5zcGVjaWZpZWQKKy0gICAgICAgICAgICAgbGVuZ3RoIGZvciBub3cuCistCist ICAgICAgICAgICAgIEZJWE1FOiBqaW1iLzIwMDMtMDktMjI6IEdEQiBkb2VzIG5vdCByZWFsbHkg a25vdworLSAgICAgICAgICAgICBob3cgdG8gaGFuZGxlIGFycmF5cyBvZiB1bnNwZWNpZmllZCBs ZW5ndGgKKy0gICAgICAgICAgICAgZWl0aGVyOyB3ZSBqdXN0IHJlcHJlc2VudCB0aGVtIGFzIHpl cm8tbGVuZ3RoCistICAgICAgICAgICAgIGFycmF5cy4gIENob29zZSBhbiBhcHByb3ByaWF0ZSB1 cHBlciBib3VuZCBnaXZlbgorLSAgICAgICAgICAgICB0aGUgbG93ZXIgYm91bmQgd2UndmUgY29t cHV0ZWQgYWJvdmUuICAqLworLSAgICAgICAgICBoaWdoID0gbG93IC0gMTsKKy0gICAgICAgIH0K ICsgICAgICBpZiAoYXR0ciAmJiBhdHRyX2Zvcm1faXNfY29uc3RhbnQgKGF0dHIpKQogKwlsb3cg PSBkd2FyZjJfZ2V0X2F0dHJfY29uc3RhbnRfdmFsdWUgKGF0dHIsIDApOwotKyAgICAgIGVsc2UK LSAJewotLQkgIGludCBjb3VudCA9IGR3YXJmMl9nZXRfYXR0cl9jb25zdGFudF92YWx1ZSAoYXR0 ciwgMSk7Ci0tCSAgaGlnaCA9IGxvdyArIGNvdW50IC0gMTsKKyAgICAgICBlbHNlCistICAgICAg ICBoaWdoID0gZHdhcmYyX2dldF9hdHRyX2NvbnN0YW50X3ZhbHVlIChhdHRyLCAxKTsKKysJewog KwkgIGlmIChjdS0+bGFuZ3VhZ2UgPT0gbGFuZ3VhZ2VfZm9ydHJhbikKICsJICAgIHsKICsJICAg ICAgLyogRk9SVFJBTiBpbXBsaWVzIGEgbG93ZXIgYm91bmQgb2YgMSwgaWYgbm90IGdpdmVuLiAg Ki8KQEAgLTIxNDIsMjUgKzIxMzQsMzAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L2R3YXJmMnJlYWQuYwogKwkJIExBTkdVQUdFX0MgYW5kIExBTkdVQUdFX0NQTFVTLiAgKi8KICsJ ICAgICAgbG93ID0gMDsKICsJICAgIH0KLSAJfQorKwl9CiArICAgICAgaWYgKCFUWVBFX1VOU0lH TkVEIChiYXNlX3R5cGUpICYmIChsb3cgJiBuZWdhdGl2ZV9tYXNrKSkKICsJbG93IHw9IG5lZ2F0 aXZlX21hc2s7CiArICAgICAgVFlQRV9MT1dfQk9VTkQgKHJhbmdlX3R5cGUpID0gbG93OwogKyAg ICAgIGlmIChsb3cgPj0gMCkKICsJVFlQRV9VTlNJR05FRCAocmFuZ2VfdHlwZSkgPSAxOwotKyAg ICB9CisgICAgIH0KKy0gIGVsc2UKICsKICsgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19B VF91cHBlcl9ib3VuZCwgY3UpOwogKyAgaWYgKCFhdHRyIHx8ICghYXR0cl9mb3JtX2lzX2Jsb2Nr IChhdHRyKSAmJiAhYXR0cl9mb3JtX2lzX2NvbnN0YW50IChhdHRyKQogKwkJJiYgIWlzX3JlZl9h dHRyIChhdHRyKSkpCi0rICAgIHsKLSsgICAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdf QVRfY291bnQsIGN1KTsKKyAgICAgeworICAgICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBE V19BVF9jb3VudCwgY3UpOworLSAgICAgIGlmIChhdHRyKQorLQl7CistCSAgaW50IGNvdW50ID0g ZHdhcmYyX2dldF9hdHRyX2NvbnN0YW50X3ZhbHVlIChhdHRyLCAxKTsKKy0JICBoaWdoID0gbG93 ICsgY291bnQgLSAxOwogKyAgICAgIC8qIEl0IGRvZXMgbm90IGh1cnQgYnV0IGl0IGlzIG5lZWRs ZXNzbHkgaW5lZmZlY3RpdmUgaW4gY2hlY2tfdHlwZWRlZi4gICovCiArICAgICAgaWYgKGF0dHIg JiYgKGF0dHJfZm9ybV9pc19ibG9jayAoYXR0cikgfHwgYXR0cl9mb3JtX2lzX2NvbnN0YW50IChh dHRyKSkpCiArICAgICAgCXsKICsJICBUWVBFX1JBTkdFX0hJR0hfQk9VTkRfSVNfQ09VTlQgKHJh bmdlX3R5cGUpID0gMTsKICsJICBUWVBFX0RZTkFNSUMgKHJhbmdlX3R5cGUpID0gMTsKLSsJfQor IAl9CiArICAgICAgLyogUGFzcyBpdCBub3cgYXMgdGhlIHJlZ3VsYXIgRFdfQVRfdXBwZXJfYm91 bmQuICAqLwogKyAgICB9CiArCkBAIC0yMjA4LDcgKzIyMDUsNyBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvZHdhcmYycmVhZC5jCiAgICAgIH0KICAKICAgIC8qIER3YXJmLTIgc3Bl Y2lmaWNhdGlvbnMgZXhwbGljaXRseSBhbGxvd3MgdG8gY3JlYXRlIHN1YnJhbmdlIHR5cGVzCi1A QCAtODQyMywyNCArODYxNCw0MSBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5m byAqZGllCitAQCAtODUxMCwyNCArODcwMSw0MSBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVj dCBkaWVfaW5mbyAqZGllCiAgCX0KICAgICAgfQogIApAQCAtMjI2OCw3ICsyMjY1LDcgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMnJlYWQuYwogIAogICAgbmFtZSA9IGR3 YXJmMl9uYW1lIChkaWUsIGN1KTsKICAgIGlmIChuYW1lKQotQEAgLTEwOTg1LDEwICsxMTE5Mywx MiBAQCB2YXJfZGVjb2RlX2xvY2F0aW9uIChzdHJ1Y3QgYXR0cmlidXRlICphCitAQCAtMTEwNzIs MTAgKzExMjgwLDEyIEBAIHZhcl9kZWNvZGVfbG9jYXRpb24gKHN0cnVjdCBhdHRyaWJ1dGUgKmEK ICAgICAgIChpLmUuIHdoZW4gdGhlIHZhbHVlIG9mIGEgcmVnaXN0ZXIgb3IgbWVtb3J5IGxvY2F0 aW9uIGlzCiAgICAgICByZWZlcmVuY2VkLCBvciBhIHRocmVhZC1sb2NhbCBibG9jaywgZXRjLiku ICBUaGVuIGFnYWluLCBpdCBtaWdodAogICAgICAgbm90IGJlIHdvcnRod2hpbGUuICBJJ20gYXNz dW1pbmcgdGhhdCBpdCBpc24ndCB1bmxlc3MgcGVyZm9ybWFuY2UKQEAgLTIyODMsNyArMjI4MCw3 IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMKICAKICAgIGlm IChTWU1CT0xfQ09NUFVURURfT1BTIChzeW0pID09ICZkd2FyZjJfbG9jbGlzdF9mdW5jcykKICAg ICAgY3UtPmhhc19sb2NsaXN0ID0gMTsKLUBAIC0xMTAyOSw2ICsxMTIzOSw4IEBAIG5ld19zeW1i b2xfZnVsbCAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHMKK0BAIC0xMTExNiw2ICsxMTMyNiw4IEBA IG5ld19zeW1ib2xfZnVsbCAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHMKICAgICAgICBlbHNlCiAg CXN5bSA9IE9CU1RBQ0tfWkFMTE9DICgmb2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLCBzdHJ1Y3Qg c3ltYm9sKTsKICAgICAgICBPQkpTVEFUIChvYmpmaWxlLCBuX3N5bXMrKyk7CkBAIC0yMjkyLDcg KzIyODksNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYycmVhZC5jCiAg CiAgICAgICAgLyogQ2FjaGUgdGhpcyBzeW1ib2wncyBuYW1lIGFuZCB0aGUgbmFtZSdzIGRlbWFu Z2xlZCBmb3JtIChpZiBhbnkpLiAgKi8KICAgICAgICBTWU1CT0xfU0VUX0xBTkdVQUdFIChzeW0s IGN1LT5sYW5ndWFnZSk7Ci1AQCAtMTE4MDEsNiArMTIwMTMsOSBAQCByZWFkX3R5cGVfZGllXzEg KHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCitAQCAtMTE4ODgsNiArMTIxMDAsOSBAQCByZWFkX3R5 cGVfZGllXzEgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCiAgICAgICAgYnJlYWs7CiAgICAgIH0K ICAKQEAgLTIzMDIsNyArMjI5OSw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9k d2FyZjJyZWFkLmMKICAgIHJldHVybiB0aGlzX3R5cGU7CiAgfQogIAotQEAgLTE0NjU1LDYxICsx NDg3MCw5OSBAQCBmaWxsX2luX2xvY2xpc3RfYmF0b24gKHN0cnVjdCBkd2FyZjJfY3UgCitAQCAt MTQ3NDIsNjEgKzE0OTU3LDk5IEBAIGZpbGxfaW5fbG9jbGlzdF9iYXRvbiAoc3RydWN0IGR3YXJm Ml9jdSAKICAgIGJhdG9uLT5iYXNlX2FkZHJlc3MgPSBjdS0+YmFzZV9hZGRyZXNzOwogIH0KICAK QEAgLTIzNDksNyArMjM0Niw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2Fy ZjJyZWFkLmMKICsKICsgIHJldHVybiBiYXRvbjsKICt9Ci0rCisgCiArc3RhdGljIHN0cnVjdCBk d2FyZjJfbG9jbGlzdF9iYXRvbiAqCiArZHdhcmYyX2F0dHJfdG9fbG9jbGlzdF9iYXRvbiAoc3Ry dWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiArewpAQCAtMjM2Miw3 ICsyMzU5LDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMnJlYWQuYwog KwogKyAgZHdhcmYyX3JlYWRfc2VjdGlvbiAoZHdhcmYyX3Blcl9vYmpmaWxlLT5vYmpmaWxlLAog KwkJICAgICAgICZkd2FyZjJfcGVyX29iamZpbGUtPmxvYyk7Ci0gCisrCiArICBpZiAoIShhdHRy X2Zvcm1faXNfc2VjdGlvbl9vZmZzZXQgKGF0dHIpCiArCS8qICIuZGVidWdfbG9jIiBtYXkgbm90 IGV4aXN0IGF0IGFsbCwgb3IgdGhlIG9mZnNldCBtYXkgYmUgb3V0c2lkZQogKwkgICB0aGUgc2Vj dGlvbi4gIElmIHNvLCBmYWxsIHRocm91Z2ggdG8gdGhlIGNvbXBsYWludCBpbiB0aGUKQEAgLTI0 NDUsNyArMjQ0Miw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFk LmMKICAgICAgfQogIH0KICAKLUBAIC0xNTA1OCw2ICsxNTMxMSwyNSBAQCBvZmZzZXRfYW5kX3R5 cGVfZXEgKGNvbnN0IHZvaWQgKml0ZW1fbGhzCitAQCAtMTUxNDUsNiArMTUzOTgsMjUgQEAgb2Zm c2V0X2FuZF90eXBlX2VxIChjb25zdCB2b2lkICppdGVtX2xocwogICAgcmV0dXJuIG9mc19saHMt Pm9mZnNldCA9PSBvZnNfcmhzLT5vZmZzZXQ7CiAgfQogIApAQCAtMjQ3MSw3ICsyNDY4LDcgQEAg SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMnJlYWQuYwogIC8qIFNldCB0aGUg dHlwZSBhc3NvY2lhdGVkIHdpdGggRElFIHRvIFRZUEUuICBTYXZlIGl0IGluIENVJ3MgaGFzaAog ICAgIHRhYmxlIGlmIG5lY2Vzc2FyeS4gIEZvciBjb252ZW5pZW5jZSwgcmV0dXJuIFRZUEUuCiAg Ci1AQCAtMTUwODMsNiArMTUzNTUsOCBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAq ZGllLCBzdHJ1CitAQCAtMTUxNzAsNiArMTU0NDIsOCBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBk aWVfaW5mbyAqZGllLCBzdHJ1CiAgICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSA9IGN1LT5vYmpm aWxlOwogICAgaHRhYl90ICp0eXBlX2hhc2hfcHRyOwogIApAQCAtMjQ4MCwxMCArMjQ3NywxMCBA QCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYycmVhZC5jCiAgICAvKiBGb3Ig QWRhIHR5cGVzLCBtYWtlIHN1cmUgdGhhdCB0aGUgZ25hdC1zcGVjaWZpYyBkYXRhIGlzIGFsd2F5 cwogICAgICAgaW5pdGlhbGl6ZWQgKGlmIG5vdCBhbHJlYWR5IHNldCkuICBUaGVyZSBhcmUgYSBm ZXcgdHlwZXMgd2hlcmUKICAgICAgIHdlIHNob3VsZCBub3QgYmUgZG9pbmcgc28sIGJlY2F1c2Ug dGhlIHR5cGUtc3BlY2lmaWMgYXJlYSBpcwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L2VsZnJlYWQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2VsZnJlYWQuYwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZWxmcmVhZC5jCTIwMTEt MDUtMDMgMTg6MjU6MjAuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvZWxmcmVhZC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2Ri LTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9lbGZyZWFkLmMJMjAxMS0wNS0wMyAxODoyNToyMC4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9lbGZyZWFkLmMJMjAx MS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00Myw2ICs0MywxMiBAQAogICNp bmNsdWRlICJpbmZjYWxsLmgiCiAgI2luY2x1ZGUgImdkYnRocmVhZC5oIgpAQCAtMjgxOSwxMCAr MjgxNiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZWxmcmVhZC5jCiAgICBh ZGRfc3ltdGFiX2ZucyAoJmVsZl9zeW1fZm5zKTsKICAKICAgIGVsZl9vYmpmaWxlX2dudV9pZnVu Y19jYWNoZV9kYXRhID0gcmVnaXN0ZXJfb2JqZmlsZV9kYXRhICgpOwotSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL2V2YWwuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2V2 YWwuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZXZhbC5j CTIwMTEtMDMtMjggMjI6MjE6MDMuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvZXZhbC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0g Z2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9ldmFsLmMJMjAxMS0wMy0yOCAyMjoyMTowMy4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9ldmFsLmMJMjAxMS0w Ny0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00NCw2ICs0NCw3IEBACiAgI2luY2x1 ZGUgIm9iamZpbGVzLmgiCiAgI2luY2x1ZGUgInB5dGhvbi9weXRob24uaCIKQEAgLTMzMDcsMTAg KzMzMDQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2V2YWwuYwogLSAgcmV0 dXJuIG5kaW1lbjsKICsKICB9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZi1leHAu eQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2YtZXhwLnkKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2YtZXhwLnkJMjAxMS0wMy0xOCAxNDo1MTo0 MS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9mLWV4cC55CTIw MTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcw My5vcmlnL2dkYi9mLWV4cC55CTIwMTEtMDMtMTggMTQ6NTE6NDEuMDAwMDAwMDAwICswMTAwCisr KysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZi1leHAueQkyMDExLTA3LTAzIDEwOjMzOjExLjAw MDAwMDAwMCArMDIwMAogQEAgLTI5Myw3ICsyOTMsOSBAQCBhcmdsaXN0IDoJc3VicmFuZ2UKICAJ CQl7IGFyZ2xpc3RfbGVuID0gMTsgfQogIAk7CkBAIC0zMzIyLDEwICszMzE5LDEwIEBAIEluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9mLWV4cC55CiAgCQkJeyBhcmdsaXN0X2xlbisrOyB9 CiAgCTsKICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9mLWxhbmcuaAorSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2YtbGFuZy5oCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu Mi45MC4yMDExMDUyNS5vcmlnL2dkYi9mLWxhbmcuaAkyMDExLTAxLTA3IDIwOjM2OjE2LjAwMDAw MDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2YtbGFuZy5oCTIwMTEtMDUt MjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmln L2dkYi9mLWxhbmcuaAkyMDExLTAxLTA3IDIwOjM2OjE2LjAwMDAwMDAwMCArMDEwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA3MDMvZ2RiL2YtbGFuZy5oCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAw MDAwICswMjAwCiBAQCAtMjgsNiArMjgsMTAgQEAgZXh0ZXJuIHZvaWQgZl9lcnJvciAoY2hhciAq KTsJLyogRGVmaW5lZAogIGV4dGVybiB2b2lkIGZfcHJpbnRfdHlwZSAoc3RydWN0IHR5cGUgKiwg Y29uc3QgY2hhciAqLCBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCiAgCQkJICBpbnQpOwpAQCAtMzMz NywxMCArMzMzNCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZi1sYW5nLmgK ICBleHRlcm4gaW50IGZfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqLCBjb25zdCBnZGJfYnl0ZSAq LCBpbnQsIENPUkVfQUREUiwKICAJCQlzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCiAgCQkJY29uc3Qg c3RydWN0IHZhbHVlICosCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZi10eXBlcHJp bnQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2YtdHlwZXByaW50LmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2YtdHlwZXByaW50LmMJMjAx MS0wMS0wNyAyMDozNjoxNi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9mLXR5cGVwcmludC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCist LS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9mLXR5cGVwcmludC5jCTIwMTEtMDEtMDcg MjA6MzY6MTYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZi10 eXBlcHJpbnQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTMyLDcg KzMyLDcgQEAKICAjaW5jbHVkZSAiZ2RiY29yZS5oIgogICNpbmNsdWRlICJ0YXJnZXQuaCIKQEAg LTM0MDUsMTAgKzM0MDIsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2YtdHlw ZXByaW50LmMKICAgIHN3aXRjaCAoVFlQRV9DT0RFICh0eXBlKSkKICAgICAgewogICAgICBjYXNl IFRZUEVfQ09ERV9BUlJBWToKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9mLXZhbHBy aW50LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9mLXZhbHByaW50LmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2YtdmFscHJpbnQuYwkyMDEx LTAyLTA3IDE4OjQ5OjMyLjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL2YtdmFscHJpbnQuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0t IGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvZi12YWxwcmludC5jCTIwMTEtMDItMDcgMTg6 NDk6MzIuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZi12YWxw cmludC5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtNTQsMTUgKzU0 LDE3IEBAIGludCBmNzdfYXJyYXlfb2Zmc2V0X3RibFtNQVhfRk9SVFJBTl9ESU0KICAvKiBUaGUg Zm9sbG93aW5nIG1hY3JvIGdpdmVzIHVzIHRoZSBzaXplIG9mIHRoZSBudGggZGltZW5zaW9uLCBX aGVyZSAKICAgICBuIGlzIDEgYmFzZWQuICAqLwpAQCAtMzU0NCwxMCArMzU0MSwxMCBAQCBJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZi12YWxwcmludC5jCiAgICBDSEVDS19UWVBFREVG ICh0eXBlKTsKICAgIHN3aXRjaCAoVFlQRV9DT0RFICh0eXBlKSkKICAgICAgewotSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL2ZpbmR2YXIuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3 MDMvZ2RiL2ZpbmR2YXIuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3Jp Zy9nZGIvZmluZHZhci5jCTIwMTEtMDMtMTggMTk6NDI6NDEuMDAwMDAwMDAwICswMTAwCi0rKysg Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZmluZHZhci5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAw MDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9maW5kdmFyLmMJ MjAxMS0wMy0xOCAxOTo0Mjo0MS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEw NzAzL2dkYi9maW5kdmFyLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBA IC0zNSw2ICszNSw3IEBACiAgI2luY2x1ZGUgInVzZXItcmVncy5oIgogICNpbmNsdWRlICJibG9j ay5oIgpAQCAtMzY5MywxMCArMzY5MCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvZmluZHZhci5jCiAgCQkJCSAgICAgIHZhbHVlX2NvbnRlbnRzX3JhdyAodiksICZvcHRpbSwK ICAJCQkJICAgICAgJnVuYXZhaWwpOwogICAgICB9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvZ2RiaW5pdC5pbgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2dkYmluaXQu aW4KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2dkYmluaXQu aW4JMjAwOS0xMC0wNSAxNTo0Njo1Mi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi9nZGJpbml0LmluCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAw CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9nZGJpbml0LmluCTIwMDktMTAtMDUg MTU6NDY6NTIuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvZ2Ri aW5pdC5pbgkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsNSArMSwx NSBAQAogIGVjaG8gU2V0dGluZyB1cCB0aGUgZW52aXJvbm1lbnQgZm9yIGRlYnVnZ2luZyBnZGIu XG4KICAKQEAgLTM3MTMsMTAgKzM3MTAsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL2dkYmluaXQuaW4KICBzZXQgY29tcGxhaW50cyAxCiAgCiAgYiBpbnRlcm5hbF9lcnJvcgot SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2dkYnR5cGVzLmMKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNzAzL2dkYi9nZGJ0eXBlcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4y MDExMDUyNS5vcmlnL2dkYi9nZGJ0eXBlcy5jCTIwMTEtMDMtMjggMjI6MjE6MDMuMDAwMDAwMDAw ICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZ2RidHlwZXMuYwkyMDExLTA1LTI1 IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9n ZGIvZ2RidHlwZXMuYwkyMDExLTAzLTI4IDIyOjIxOjAzLjAwMDAwMDAwMCArMDIwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA3MDMvZ2RiL2dkYnR5cGVzLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAw MDAwMDAgKzAyMDAKIEBAIC0zOSw2ICszOSw5IEBACiAgI2luY2x1ZGUgImNwLWFiaS5oIgogICNp bmNsdWRlICJnZGJfYXNzZXJ0LmgiCkBAIC00NjI3LDEwICs0NjI0LDEwIEBAIEluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi9nZGJ0eXBlcy5jCiAgICBvYmpmaWxlX3R5cGVfZGF0YSA9IHJl Z2lzdGVyX29iamZpbGVfZGF0YSAoKTsKICAKICAgIGFkZF9zZXRzaG93X3ppbnRlZ2VyX2NtZCAo Im92ZXJsb2FkIiwgbm9fY2xhc3MsICZvdmVybG9hZF9kZWJ1ZywKLUluZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9nZGJ0eXBlcy5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIv Z2RidHlwZXMuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIv Z2RidHlwZXMuaAkyMDExLTAzLTI4IDIyOjIxOjAzLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL2dkYnR5cGVzLmgJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAw MDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL2dkYnR5cGVzLmgJMjAx MS0wMy0yOCAyMjoyMTowMy4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAz L2dkYi9nZGJ0eXBlcy5oCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAt MjE1LDYgKzIxNSwxMSBAQCBlbnVtIHR5cGVfaW5zdGFuY2VfZmxhZ192YWx1ZQogIAogICNkZWZp bmUgVFlQRV9UQVJHRVRfU1RVQih0KQkoVFlQRV9NQUlOX1RZUEUgKHQpLT5mbGFnX3RhcmdldF9z dHViKQpAQCAtNDg2NSwxMCArNDg2MiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvZ2RidHlwZXMuaAogKyNlbmRpZgogKwogICNlbmRpZiAvKiBHREJUWVBFU19IICovCi1JbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvaTM4Ni1saW51eC1uYXQuYworSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA3MDMvZ2RiL2kzODYtbGludXgtbmF0LmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2kzODYtbGludXgtbmF0LmMJMjAxMS0wMi0yNyAxNzoy NTozNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9pMzg2LWxp bnV4LW5hdC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcu Mi45MC4yMDExMDcwMy5vcmlnL2dkYi9pMzg2LWxpbnV4LW5hdC5jCTIwMTEtMDItMjcgMTc6MjU6 MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvaTM4Ni1saW51 eC1uYXQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTY0OSwyMiAr NjQ5LDEzIEBAIGkzODZfbGludXhfc3RvcmVfaW5mZXJpb3JfcmVnaXN0ZXJzIChzdHIKICB9CiAg DApAQCAtNTA3MywxMCArNTA3MCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv aTM4Ni1saW51eC1uYXQuYwogIH0KICAMCiAgCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvaTM4Ni1uYXQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2kzODYtbmF0LmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2kzODYtbmF0LmMJ MjAxMS0wMi0yNiAyMzowNDo1MS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9pMzg2LW5hdC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCist LS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9pMzg2LW5hdC5jCTIwMTEtMDItMjYgMjM6 MDQ6NTEuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvaTM4Ni1u YXQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTI1LDYgKzI1LDcg QEAKICAjaW5jbHVkZSAiZ2RiY21kLmgiCiAgI2luY2x1ZGUgInRhcmdldC5oIgpAQCAtNTQyOCwx MCArNTQyNSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvaTM4Ni1uYXQuYwog IH0KICAKICB2b2lkCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvaTM4Ni1uYXQuaAor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2kzODYtbmF0LmgKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2kzODYtbmF0LmgJMjAxMS0wMS0wOSAwNDow ODo1Ni4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9pMzg2LW5h dC5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4y MDExMDcwMy5vcmlnL2dkYi9pMzg2LW5hdC5oCTIwMTEtMDEtMDkgMDQ6MDg6NTYuMDAwMDAwMDAw ICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvaTM4Ni1uYXQuaAkyMDExLTA3LTAz IDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTc4LDYgKzc4LDI4IEBAIHN0cnVjdCBpMzg2 X2RyX2xvd190eXBlIAogIAogIGV4dGVybiBzdHJ1Y3QgaTM4Nl9kcl9sb3dfdHlwZSBpMzg2X2Ry X2xvdzsKQEAgLTU0NjEsMTAgKzU0NTgsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL2kzODYtbmF0LmgKICAvKiBVc2UgdGhpcyBmdW5jdGlvbiB0byBzZXQgaTM4Nl9kcl9sb3cg ZGVidWdfcmVnaXN0ZXJfbGVuZ3RoIGZpZWxkCiAgICAgcmF0aGVyIHRoYW4gc2V0dGluZyBpdCBk aXJlY3RseSB0byBjaGVjayB0aGF0IHRoZSBsZW5ndGggaXMgb25seQogICAgIHNldCBvbmNlLiAg SXQgYWxzbyBlbmFibGVzIHRoZSAnbWFpbnQgc2V0L3Nob3cgc2hvdy1kZWJ1Zy1yZWdzJyAKLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9pbmZydW4uYworSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA3MDMvZ2RiL2luZnJ1bi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUy NS5vcmlnL2dkYi9pbmZydW4uYwkyMDExLTA0LTIwIDE5OjA0OjMyLjAwMDAwMDAwMCArMDIwMAot KysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2luZnJ1bi5jCTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9pbmZydW4u YwkyMDExLTA2LTAzIDE3OjMyOjEzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAx MTA3MDMvZ2RiL2luZnJ1bi5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBA QCAtNTQsNiArNTQsOCBAQAogICNpbmNsdWRlICJpbmxpbmUtZnJhbWUuaCIKICAjaW5jbHVkZSAi aml0LmgiCkBAIC01NDgzLDcgKzU0ODAsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvaW5mcnVuLmMKICAKICBzdGF0aWMgdm9pZCBzdG9wX3N0ZXBwaW5nIChzdHJ1Y3QgZXhlY3V0 aW9uX2NvbnRyb2xfc3RhdGUgKmVjcyk7CiAgc3RhdGljIHZvaWQgcHJlcGFyZV90b193YWl0IChz dHJ1Y3QgZXhlY3V0aW9uX2NvbnRyb2xfc3RhdGUgKmVjcyk7Ci1AQCAtNDE2NCw5ICs0MTY2LDE3 IEBAIHByb2Nlc3NfZXZlbnRfc3RvcF90ZXN0OgorQEAgLTQxNjksOSArNDE3MSwxNyBAQCBwcm9j ZXNzX2V2ZW50X3N0b3BfdGVzdDoKICAKICAJaWYgKHdoYXQuaXNfbG9uZ2ptcCkKICAJICB7CkBA IC01NTA0LDcgKzU1MDEsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvaW5mcnVu LmMKICAJICAgICAgewogIAkJaWYgKGRlYnVnX2luZnJ1bikKICAJCSAgZnByaW50Zl91bmZpbHRl cmVkIChnZGJfc3RkbG9nLAotQEAgLTQxODQsMTIgKzQxOTQsNyBAQCBwcm9jZXNzX2V2ZW50X3N0 b3BfdGVzdDoKK0BAIC00MTg5LDEyICs0MTk5LDcgQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3Q6 CiAgCSAgICBpbnNlcnRfbG9uZ2ptcF9yZXN1bWVfYnJlYWtwb2ludCAoZ2RiYXJjaCwgam1wX2J1 Zl9wYyk7CiAgCSAgfQogIAllbHNlCkBAIC01NTE4LDcgKzU1MTUsNyBAQCBJbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvaW5mcnVuLmMKICAJa2VlcF9nb2luZyAoZWNzKTsKICAJcmV0dXJu OwogIAotQEAgLTUyNjMsMTUgKzUyNjgsNjUgQEAgaW5zZXJ0X2V4Y2VwdGlvbl9yZXN1bWVfYnJl YWtwb2ludCAoc3RydQorQEAgLTUyNjgsMTUgKzUyNzMsNjUgQEAgaW5zZXJ0X2V4Y2VwdGlvbl9y ZXN1bWVfYnJlYWtwb2ludCAoc3RydQogICAgICB9CiAgfQogIApAQCAtNTU4NSw3ICs1NTgyLDcg QEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2luZnJ1bi5jCiAgCiAgICBUUllfQ0FU Q0ggKGUsIFJFVFVSTl9NQVNLX0VSUk9SKQogICAgICB7Ci1AQCAtNjI1Myw3ICs2MzA4LDggQEAg c3RhdGljIHN0cnVjdCBsdmFsX2Z1bmNzIHNpZ2luZm9fdmFsdWVfZgorQEAgLTYyNTgsNyArNjMx Myw4IEBAIHN0YXRpYyBzdHJ1Y3QgbHZhbF9mdW5jcyBzaWdpbmZvX3ZhbHVlX2YKICAgICBpZiB0 aGVyZSdzIG5vIG9iamVjdCBhdmFpbGFibGUuICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUg KgpAQCAtNTU5NSw3ICs1NTkyLDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2lu ZnJ1bi5jCiAgewogICAgaWYgKHRhcmdldF9oYXNfc3RhY2sKICAgICAgICAmJiAhcHRpZF9lcXVh bCAoaW5mZXJpb3JfcHRpZCwgbnVsbF9wdGlkKQotQEAgLTY4MjEsNiArNjg3NywxNSBAQCBzaG93 X3NjaGVkdWxlX211bHRpcGxlIChzdHJ1Y3QgdWlfZmlsZSAqCitAQCAtNjgyNiw2ICs2ODgyLDE1 IEBAIHNob3dfc2NoZWR1bGVfbXVsdGlwbGUgKHN0cnVjdCB1aV9maWxlICoKICAJCQkgICAgIm9m IGFsbCBwcm9jZXNzZXMgaXMgJXMuXG4iKSwgdmFsdWUpOwogIH0KICAKQEAgLTU2MTEsNyArNTYw OCw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9pbmZydW4uYwogIHZvaWQKICBf aW5pdGlhbGl6ZV9pbmZydW4gKHZvaWQpCiAgewotQEAgLTcwOTMsNyArNzE1OCw3IEBAIFRlbGxz IGdkYiB3aGV0aGVyIHRvIGRldGFjaCB0aGUgY2hpbGQgb2YKK0BAIC03MDk4LDcgKzcxNjMsNyBA QCBUZWxscyBnZGIgd2hldGhlciB0byBkZXRhY2ggdGhlIGNoaWxkIG9mCiAgICAgICB2YWx1ZSB3 aXRoIGEgdm9pZCB0eXBlZCB2YWx1ZSwgYW5kIHdoZW4gd2UgZ2V0IGhlcmUsIGdkYmFyY2gKICAg ICAgIGlzbid0IGluaXRpYWxpemVkIHlldC4gIEF0IHRoaXMgcG9pbnQsIHdlJ3JlIHF1aXRlIHN1 cmUgdGhlcmUKICAgICAgIGlzbid0IGFub3RoZXIgY29udmVuaWVuY2UgdmFyaWFibGUgb2YgdGhl IHNhbWUgbmFtZS4gICovCkBAIC01NjIwLDEwICs1NjE3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9pbmZydW4uYwogIAogICAgYWRkX3NldHNob3dfYm9vbGVhbl9jbWQgKCJv YnNlcnZlciIsIG5vX2NsYXNzLAogIAkJCSAgICZvYnNlcnZlcl9tb2RlXzEsIF8oIlwKLUluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9saW5lc3BlYy5jCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDcwMy9nZGIvbGluZXNwZWMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1 MjUub3JpZy9nZGIvbGluZXNwZWMuYwkyMDExLTAzLTI1IDE4OjEzOjEyLjAwMDAwMDAwMCArMDEw MAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2xpbmVzcGVjLmMJMjAxMS0wNS0yNSAxNzow NToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL2xp bmVzcGVjLmMJMjAxMS0wNy0wMiAyMjoxMzowOC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNzAzL2dkYi9saW5lc3BlYy5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAw ICswMjAwCiBAQCAtNDMsNiArNDMsNyBAQAogICNpbmNsdWRlICJhcmNoLXV0aWxzLmgiCiAgI2lu Y2x1ZGUgPGN0eXBlLmg+CkBAIC01NjMyLDcgKzU2MjksNyBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvbGluZXNwZWMuYwogIAogIC8qIFdlIHNoYXJlIHRoaXMgb25lIHdpdGggc3lt dGFiLmMsIGJ1dCBpdCBpcyBub3QgZXhwb3J0ZWQgd2lkZWx5LiAgKi8KICAKLUBAIC03NjIsNiAr NzYzLDcgQEAga2VlcF9uYW1lX2luZm8gKGNoYXIgKnB0cikKK0BAIC03ODYsNiArNzg3LDcgQEAg a2VlcF9uYW1lX2luZm8gKGNoYXIgKnAsIGludCBvbl9ib3VuZGFyeQogICAgIFBDIHJldHVybmVk IGlzIDAuCiAgICAgRklMRTpGVU5DVElPTiAtLSBsaWtld2lzZSwgYnV0IHByZWZlciBmdW5jdGlv bnMgaW4gdGhhdCBmaWxlLgogICAgICpFWFBSIC0tIGxpbmUgaW4gd2hpY2ggYWRkcmVzcyBFWFBS IGFwcGVhcnMuCkBAIC01NjQwLDcgKzU2MzcsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvbGluZXNwZWMuYwogIAogICAgIFRoaXMgbWF5IGFsbCBiZSBmb2xsb3dlZCBieSBhbiAi aWYgRVhQUiIsIHdoaWNoIHdlIGlnbm9yZS4KICAKLUBAIC04MzcsNiArODM5LDkgQEAgZGVjb2Rl X2xpbmVfMSAoY2hhciAqKmFyZ3B0ciwgaW50IGZ1bmZpcgorQEAgLTg1NCw2ICs4NTYsOSBAQCBk ZWNvZGVfbGluZV8xIChjaGFyICoqYXJncHRyLCBpbnQgZnVuZmlyCiAgICBpZiAoKiphcmdwdHIg PT0gJyonKQogICAgICByZXR1cm4gZGVjb2RlX2luZGlyZWN0IChhcmdwdHIpOwogIApAQCAtNTY1 MCwxMCArNTY0NywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbGluZXNwZWMu YwogICAgaXNfcXVvdGVkID0gKHN0cmNociAoZ2V0X2dkYl9jb21wbGV0ZXJfcXVvdGVfY2hhcmFj dGVycyAoKSwKICAJCSAgICAgICAqKmFyZ3B0cikgIT0gTlVMTCk7CiAgCi1JbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvbGluZXNwZWMuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMv Z2RiL2xpbmVzcGVjLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcv Z2RiL2xpbmVzcGVjLmgJMjAxMS0wMy0yNCAyMDo0NzoxNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9saW5lc3BlYy5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAw MDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9saW5lc3BlYy5o CTIwMTEtMDctMDIgMjE6MzM6MDkuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDEx MDcwMy9nZGIvbGluZXNwZWMuaAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAog QEAgLTMwLDYgKzMwLDEwIEBAIHN0cnVjdCBsaW5lc3BlY19yZXN1bHQKICAgICAgIGRpc3BsYXkg bWVjaGFuaXNtIHdvdWxkIGRvIHRoZSB3cm9uZyB0aGluZy4gICovCiAgICBpbnQgc3BlY2lhbF9k aXNwbGF5OwpAQCAtNTY2NSwxMCArNTY2MiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvbGluZXNwZWMuaAogICAgLyogSWYgbm9uLU5VTEwsIGFuIGFycmF5IG9mIGNhbm9uaWNh bCBuYW1lcyBmb3IgcmV0dXJuZWQKICAgICAgIHN5bXRhYl9hbmRfbGluZSBvYmplY3RzLiAgVGhl IGFycmF5IGhhcyBhcyBtYW55IGVsZW1lbnRzIGFzIHRoZQogICAgICAgYG5lbHRzJyBmaWVsZCBp biB0aGUgc3ltdGFic19hbmRfbGluZSByZXR1cm5lZCBieSBkZWNvZGVfbGluZV8xLgotSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2xpbnV4LW5hdC5jCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDcwMy9nZGIvbGludXgtbmF0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEw NTI1Lm9yaWcvZ2RiL2xpbnV4LW5hdC5jCTIwMTEtMDQtMjkgMTg6MDI6MTAuMDAwMDAwMDAwICsw MjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbGludXgtbmF0LmMJMjAxMS0wNS0yNSAx NzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2Ri L2xpbnV4LW5hdC5jCTIwMTEtMDQtMjkgMTg6MDI6MTAuMDAwMDAwMDAwICswMjAwCisrKysgZ2Ri LTcuMi45MC4yMDExMDcwMy9nZGIvbGludXgtbmF0LmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAw MDAwMDAgKzAyMDAKIEBAIC0xMjcyLDYgKzEyNzIsNjQgQEAgaXRlcmF0ZV9vdmVyX2x3cHMgKHB0 aWRfdCBmaWx0ZXIsCiAgICByZXR1cm4gTlVMTDsKICB9CkBAIC01NzM0LDEwICs1NzMxLDEwIEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9saW51eC1uYXQuYwogIC8qIFVwZGF0ZSBv dXIgaW50ZXJuYWwgc3RhdGUgd2hlbiBjaGFuZ2luZyBmcm9tIG9uZSBjaGVja3BvaW50IHRvCiAg ICAgYW5vdGhlciBpbmRpY2F0ZWQgYnkgTkVXX1BUSUQuICBXZSBjYW4gb25seSBzd2l0Y2ggc2lu Z2xlLXRocmVhZGVkCiAgICAgYXBwbGljYXRpb25zLCBzbyB3ZSBvbmx5IGNyZWF0ZSBvbmUgbmV3 IExXUCwgYW5kIHRoZSBwcmV2aW91cyBsaXN0Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvbGludXgtbmF0LmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9saW51eC1uYXQu aAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvbGludXgtbmF0 LmgJMjAxMS0wMS0wNSAyMzoyMjo0OS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi9saW51eC1uYXQuaAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIw MAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvbGludXgtbmF0LmgJMjAxMS0wMS0w NSAyMzoyMjo0OS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9s aW51eC1uYXQuaAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTE0MCw2 ICsxNDAsMTEgQEAgc3RydWN0IGx3cF9pbmZvICppdGVyYXRlX292ZXJfbHdwcyAocHRpZAogIAkJ CQkJCSAgICAgdm9pZCAqKSwgCiAgCQkJCSAgICB2b2lkICpkYXRhKTsKQEAgLTU3NTAsMTAgKzU3 NDcsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2xpbnV4LW5hdC5oCiAgLyog Q3JlYXRlIGEgcHJvdG90eXBlIGdlbmVyaWMgR05VL0xpbnV4IHRhcmdldC4gIFRoZSBjbGllbnQg Y2FuCiAgICAgb3ZlcnJpZGUgaXQgd2l0aCBsb2NhbCBtZXRob2RzLiAgKi8KICBzdHJ1Y3QgdGFy Z2V0X29wcyAqIGxpbnV4X3RhcmdldCAodm9pZCk7Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvbWFjaG9yZWFkLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9tYWNob3Jl YWQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvbWFjaG9y ZWFkLmMJMjAxMS0wMy0wNyAxNzoxNzoyOS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9tYWNob3JlYWQuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCAr MDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvbWFjaG9yZWFkLmMJMjAxMS0w My0wNyAxNzoxNzoyOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dk Yi9tYWNob3JlYWQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTg0 OSw2ICs4NDksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgbWFjaG9fc3ltX2ZuCiAg ICBkZWZhdWx0X3N5bWZpbGVfc2VnbWVudHMsCS8qIEdldCBzZWdtZW50IGluZm9ybWF0aW9uIGZy b20gYSBmaWxlLiAgKi8KICAgIE5VTEwsCkBAIC01NzYyLDEwICs1NzU5LDEwIEBAIEluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9tYWNob3JlYWQuYwogICAgJnBzeW1fZnVuY3Rpb25zCiAg fTsKICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9tYWluLmMKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNzAzL2dkYi9tYWluLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIw MTEwNTI1Lm9yaWcvZ2RiL21haW4uYwkyMDExLTAzLTA3IDE5OjM0OjMxLjAwMDAwMDAwMCArMDEw MAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL21haW4uYwkyMDExLTA1LTI1IDE3OjA1OjIx LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvbWFpbi5j CTIwMTEtMDMtMDcgMTk6MzQ6MzEuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDEx MDcwMy9nZGIvbWFpbi5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAt MzksNiArMzksNyBAQAogIAogICNpbmNsdWRlICJpbnRlcnBzLmgiCkBAIC01OTEzLDEwICs1OTEw LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9tYWluLmMKICAgIC0tcXVpZXQg ICAgICAgICAgICBEbyBub3QgcHJpbnQgdmVyc2lvbiBudW1iZXIgb24gc3RhcnR1cC5cblwKICAg IC0tcmVhZG5vdyAgICAgICAgICBGdWxseSByZWFkIHN5bWJvbCBmaWxlcyBvbiBmaXJzdCBhY2Nl c3MuXG5cCiAgIiksIHN0cmVhbSk7Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbWkv bWktY21kLXZhci5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvbWkvbWktY21kLXZh ci5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9taS9taS1j bWQtdmFyLmMJMjAxMS0wMS0xMiAyMjowOTozOS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9taS9taS1jbWQtdmFyLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAw MDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL21pL21pLWNtZC12 YXIuYwkyMDExLTAxLTEyIDIyOjA5OjM5LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAu MjAxMTA3MDMvZ2RiL21pL21pLWNtZC12YXIuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAw MCArMDIwMAogQEAgLTcwNyw3ICs3MDcsNiBAQCBtaV9jbWRfdmFyX3VwZGF0ZSAoY2hhciAqY29t bWFuZCwgY2hhciAqCiAgICAgIH0KICAgIGVsc2UKQEAgLTU5MjUsMTAgKzU5MjIsMTAgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL21pL21pLWNtZC12YXIuYwogICAgICAgIHN0cnVj dCB2YXJvYmogKnZhciA9IHZhcm9ial9nZXRfaGFuZGxlIChuYW1lKTsKICAKICAgICAgICB2YXJv YmpfdXBkYXRlX29uZSAodmFyLCBwcmludF92YWx1ZXMsIDEgLyogZXhwbGljaXQgKi8pOwotSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL21pcHNyZWFkLmMKK0luZGV4OiBnZGItNy4yLjkw LjIwMTEwNzAzL2dkYi9taXBzcmVhZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDEx MDUyNS5vcmlnL2dkYi9taXBzcmVhZC5jCTIwMTEtMDMtMDcgMTc6MTc6MjkuMDAwMDAwMDAwICsw MTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbWlwc3JlYWQuYwkyMDExLTA1LTI1IDE3 OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIv bWlwc3JlYWQuYwkyMDExLTAzLTA3IDE3OjE3OjI5LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA3MDMvZ2RiL21pcHNyZWFkLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC00MDIsNiArNDAyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzeW1fZm5z IGVjb2ZmX3N5bV9mbgogICAgZGVmYXVsdF9zeW1maWxlX3NlZ21lbnRzLAkvKiBHZXQgc2VnbWVu dCBpbmZvcm1hdGlvbiBmcm9tIGEgZmlsZS4gICovCiAgICBOVUxMLApAQCAtNTkzNywxMCArNTkz NCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbWlwc3JlYWQuYwogICAgJnBz eW1fZnVuY3Rpb25zCiAgfTsKICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9vYmpm aWxlcy5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvb2JqZmlsZXMuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvb2JqZmlsZXMuYwkyMDExLTA0 LTI1IDIzOjI1OjE4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L29iamZpbGVzLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL29iamZpbGVzLmMJMjAxMS0wNC0yNSAyMzoyNToxOC4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9vYmpmaWxlcy5jCTIw MTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtODQ2LDYgKzg0NiwxMSBAQCBv YmpmaWxlX3JlbG9jYXRlMSAoc3RydWN0IG9iamZpbGUgKm9iamZpCiAgCQkJCW9ial9zZWN0aW9u X2FkZHIgKHMpKTsKICAgICAgfQpAQCAtNTk1MywxMCArNTk1MCwxMCBAQCBJbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvb2JqZmlsZXMuYwogICAgLyogRGF0YSBjaGFuZ2VkLiAgKi8KICAg IHJldHVybiAxOwogIH0KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9wLXZhbHByaW50 LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9wLXZhbHByaW50LmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3AtdmFscHJpbnQuYwkyMDExLTAz LTE1IDE3OjAwOjU2LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3AtdmFscHJpbnQuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdk Yi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvcC12YWxwcmludC5jCTIwMTEtMDMtMTUgMTc6MDA6 NTYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcC12YWxwcmlu dC5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMzksNiArMzksNyBA QAogICNpbmNsdWRlICJjcC1hYmkuaCIKICAjaW5jbHVkZSAiY3Atc3VwcG9ydC5oIgpAQCAtNjAz MywxMCArNjAzMCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcC12YWxwcmlu dC5jCiAgICByZXR1cm4gKDApOwogIH0KICAMCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvcGFyc2UuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3BhcnNlLmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3BhcnNlLmMJMjAxMS0wMy0y OCAyMjoyMTowMy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9w YXJzZS5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45 MC4yMDExMDcwMy5vcmlnL2dkYi9wYXJzZS5jCTIwMTEtMDMtMjggMjI6MjE6MDMuMDAwMDAwMDAw ICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcGFyc2UuYwkyMDExLTA3LTAzIDEw OjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTE1MDIsNiArMTUwMiw3IEBAIHBhcnNlcl9mcHJp bnRmIChGSUxFICp4LCBjb25zdCBjaGFyICp5LCAKICAKICBpbnQKQEAgLTYxNDIsMTAgKzYxMzks MTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3BhcnNlLmMKICAKICB2b2lkCiAg X2luaXRpYWxpemVfcGFyc2UgKHZvaWQpCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv cGFyc2VyLWRlZnMuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3BhcnNlci1kZWZz LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3BhcnNlci1k ZWZzLmgJMjAxMS0wMS0xMCAyMTozODo0OS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9wYXJzZXItZGVmcy5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAw ICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9wYXJzZXItZGVmcy5oCTIw MTEtMDEtMTAgMjE6Mzg6NDkuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcw My9nZGIvcGFyc2VyLWRlZnMuaAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAog QEAgLTE5NCw2ICsxOTQsOCBAQCBleHRlcm4gdm9pZCBvcGVyYXRvcl9sZW5ndGhfc3RhbmRhcmQg KGNvCiAgCQkJCSAgICAgIGludCAqKTsKICAKQEAgLTYxNzQsMTAgKzYxNzEsMTAgQEAgSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3BhcnNlci1kZWZzLmgKICsjZW5kaWYKICsKICAjZW5k aWYgLyogUEFSU0VSX0RFRlNfSCAqLwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Bw Yy1saW51eC1uYXQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3BwYy1saW51eC1u YXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvcHBjLWxp bnV4LW5hdC5jCTIwMTEtMDQtMTggMjM6Mjk6MTguMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvcHBjLWxpbnV4LW5hdC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAw MDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9wcGMtbGludXgt bmF0LmMJMjAxMS0wNC0xOCAyMzoyOToxOC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNzAzL2dkYi9wcGMtbGludXgtbmF0LmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC0xNjM3LDYgKzE2MzcsMTQgQEAgYm9va2VfcmVtb3ZlX3BvaW50IChzdHJ1 Y3QgcHBjX2h3X2JyZWFrcAogICAgaHdfYnJlYWtzW2ldLmh3X2JyZWFrID0gTlVMTDsKICB9CkBA IC02MzIxLDEwICs2MzE4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9wcGMt bGludXgtbmF0LmMKICAgICAgfQogIAogICAgcmV0dXJuIHJldDsKLUluZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9wcmludGNtZC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIv cHJpbnRjbWQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIv cHJpbnRjbWQuYwkyMDExLTAzLTIyIDE1OjM5OjQwLjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3ByaW50Y21kLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAw MDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3ByaW50Y21kLmMJMjAx MS0wMy0yMiAxNTozOTo0MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAz L2dkYi9wcmludGNtZC5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAt OTc1LDYgKzk3NSwxMSBAQCBwcmludF9jb21tYW5kXzEgKGNoYXIgKmV4cCwgaW50IGluc3BlY3Qs CiAgICBlbHNlCiAgICAgIHZhbCA9IGFjY2Vzc192YWx1ZV9oaXN0b3J5ICgwKTsKQEAgLTYzNzEs MTAgKzYzNjgsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3ByaW50Y21kLmMK ICsgIG9ic2VydmVyX2F0dGFjaF9tYXJrX3VzZWQgKHByaW50X3R5cGVzX21hcmtfdXNlZCk7CiAr I2VuZGlmCiAgfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2Ri L0ZyYW1lSXRlcmF0b3IucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9weXRob24v bGliL2dkYi9GcmFtZUl0ZXJhdG9yLnB5CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvcHl0aG9uL2xpYi9nZGIvRnJhbWVJdGVyYXRvci5weQkyMDExLTA1LTI1IDE3OjA1OjIxLjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3B5dGhvbi9saWIvZ2Ri L0ZyYW1lSXRlcmF0b3IucHkJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBA IC0wLDAgKzEsMzMgQEAKICsjIEl0ZXJhdG9yIG92ZXIgZnJhbWVzLgogKwpAQCAtNjQwOSwxMCAr NjQwNiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIv RnJhbWVJdGVyYXRvci5weQogKyAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KICsgICAg ICAgIHNlbGYuZnJhbWUgPSByZXN1bHQub2xkZXIgKCkKICsgICAgICAgIHJldHVybiByZXN1bHQK LUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9GcmFtZVdyYXBw ZXIucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9weXRob24vbGliL2dkYi9GcmFt ZVdyYXBwZXIucHkKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGli L2dkYi9GcmFtZVdyYXBwZXIucHkJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9weXRob24vbGliL2dkYi9GcmFtZVdyYXBwZXIu cHkJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMTEyIEBA CiArIyBXcmFwcGVyIEFQSSBmb3IgZnJhbWVzLgogKwpAQCAtNjUyNiwxMCArNjUyMywxMCBAQCBJ bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvRnJhbWVXcmFwcGVy LnB5CiArCiArICAgIGRlZiBfX2dldGF0dHJfXyAoc2VsZiwgbmFtZSk6CiArICAgICAgICByZXR1 cm4gZ2V0YXR0ciAoc2VsZi5mcmFtZSwgbmFtZSkKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9weXRob24vbGliL2dkYi9iYWNrdHJhY2UucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NzAzL2dkYi9weXRob24vbGliL2dkYi9iYWNrdHJhY2UucHkKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9iYWNrdHJhY2UucHkJMjAxMS0wNS0yNSAxNzow NToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9weXRob24v bGliL2dkYi9iYWNrdHJhY2UucHkJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0wLDAgKzEsNDIgQEAKICsjIEZpbHRlcmluZyBiYWNrdHJhY2UuCiArCkBAIC02NTczLDEw ICs2NTcwLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dk Yi9iYWNrdHJhY2UucHkKICsgICAgICAgIHJldHVybiBpdGVyCiArICAgIHJldHVybiBmcmFtZV9m aWx0ZXIgKGl0ZXIpCiArCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xp Yi9nZGIvY29tbWFuZC9hbGlhcy5weQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3B5 dGhvbi9saWIvZ2RiL2NvbW1hbmQvYWxpYXMucHkKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2FsaWFzLnB5CTIwMTEtMDUtMjUgMTc6MDU6 MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xp Yi9nZGIvY29tbWFuZC9hbGlhcy5weQkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIw MAogQEAgLTAsMCArMSw1OSBAQAogKyMgQWxpYXMgY29tbWFuZC4KICsKQEAgLTY2MzcsMTAgKzY2 MzQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2Nv bW1hbmQvYWxpYXMucHkKICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaGlzIGNvbW1h bmQgaXMgYW4gYWxpYXMgZm9yICclcycuIiAlIHRhcmdldCkKICsKICtBbGlhc0NvbW1hbmQoKQot SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvYmFj a3RyYWNlLnB5CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xpYi9nZGIv Y29tbWFuZC9iYWNrdHJhY2UucHkKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0w MSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9w eXRob24vbGliL2dkYi9jb21tYW5kL2JhY2t0cmFjZS5weQkyMDExLTA1LTI1IDE3OjA1OjIxLjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3B5dGhvbi9saWIvZ2Ri L2NvbW1hbmQvYmFja3RyYWNlLnB5CTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAw CiBAQCAtMCwwICsxLDEwNiBAQAogKyMgTmV3IGJhY2t0cmFjZSBjb21tYW5kLgogKwpAQCAtNjc0 OCwxMCArNjc0NSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xp Yi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkKICsgICAgICAgICAgICBwYWlyWzFdLmRlc2NyaWJl IChzeXMuc3Rkb3V0LCBmdWxsKQogKwogK0ZpbHRlcmluZ0JhY2t0cmFjZSgpCi1JbmRleDogZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9pZ25vcmVfZXJyb3Jz LnB5CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFu ZC9pZ25vcmVfZXJyb3JzLnB5CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0 aG9uL2xpYi9nZGIvY29tbWFuZC9pZ25vcmVfZXJyb3JzLnB5CTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xpYi9n ZGIvY29tbWFuZC9pZ25vcmVfZXJyb3JzLnB5CTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAw ICswMjAwCiBAQCAtMCwwICsxLDM3IEBACiArIyBJZ25vcmUgZXJyb3JzIGluIHVzZXIgY29tbWFu ZHMuCiArCkBAIC02NzkwLDEwICs2Nzg3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2lnbm9yZV9lcnJvcnMucHkKICsgICAgICAgICAg ICBwYXNzCiArCiArSWdub3JlRXJyb3JzQ29tbWFuZCAoKQotSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvcGFob2xlLnB5CitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9wYWhvbGUucHkKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK LSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL3BhaG9s ZS5weQkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAu MjAxMTA3MDMvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvcGFob2xlLnB5CTIwMTEtMDctMDMg MTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDc1IEBACiArIyBwYWhvbGUgY29t bWFuZCBmb3IgZ2RiCiArCkBAIC02ODcwLDEwICs2ODY3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL3BhaG9sZS5weQogKyAgICAgICAg c2VsZi5wYWhvbGUgKHR5cGUsIDAsICcnKQogKwogK1BhaG9sZSgpCi1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9yZXF1aXJlLnB5CitJbmRleDog Z2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9yZXF1aXJlLnB5 CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAw ICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFu ZC9yZXF1aXJlLnB5CTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2Ri LTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9yZXF1aXJlLnB5CTIw MTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDU3IEBACiArIyBE ZW1hbmQtbG9hZGluZyBjb21tYW5kcy4KICsKQEAgLTY5MzIsMTAgKzY5MjksMTAgQEAgSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvcmVxdWlyZS5w eQogK1JlcXVpcmVDb21tYW5kKCkKICtSZXF1aXJlU3ViY29tbWFuZCgiY29tbWFuZCIpCiArUmVx dWlyZVN1YmNvbW1hbmQoImZ1bmN0aW9uIikKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9weXRob24vbGliL2dkYi9jb21tYW5kL3VwdG8ucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NzAzL2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL3VwdG8ucHkKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL3VwdG8ucHkJMjAxMS0wNS0y NSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9w eXRob24vbGliL2dkYi9jb21tYW5kL3VwdG8ucHkJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC0wLDAgKzEsMTI5IEBACiArIyB1cHRvIGNvbW1hbmQuCiArCkBAIC03MDY2 LDE2ICs3MDYzLDE2IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGli L2dkYi9jb21tYW5kL3VwdG8ucHkKICtVcHRvU291cmNlQ29tbWFuZCAoKQogK1VwdG9PYmplY3RD b21tYW5kICgpCiArVXB0b1doZXJlQ29tbWFuZCAoKQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL19faW5pdF9fLnB5CitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vX19pbml0X18ucHkKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9f X2luaXRfXy5weQkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA3MDMvZ2RiL3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL19faW5pdF9fLnB5CTIw MTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxIEBACiArCi1JbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vY2FsbGVy X2lzLnB5CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xpYi9nZGIvZnVu Y3Rpb24vY2FsbGVyX2lzLnB5CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0 aG9uL2xpYi9nZGIvZnVuY3Rpb24vY2FsbGVyX2lzLnB5CTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAw MDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xpYi9nZGIv ZnVuY3Rpb24vY2FsbGVyX2lzLnB5CTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAw CiBAQCAtMCwwICsxLDU4IEBACiArIyBDYWxsZXItaXMgZnVuY3Rpb25zLgogKwpAQCAtNzEzNSwx MCArNzEzMiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9n ZGIvZnVuY3Rpb24vY2FsbGVyX2lzLnB5CiArCiArQ2FsbGVySXMoKQogK0NhbGxlck1hdGNoZXMo KQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9u L2luX3Njb3BlLnB5CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvcHl0aG9uL2xpYi9n ZGIvZnVuY3Rpb24vaW5fc2NvcGUucHkKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9pbl9zY29wZS5weQkyMDExLTA1LTI1IDE3OjA1OjIx LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3B5dGhvbi9saWIv Z2RiL2Z1bmN0aW9uL2luX3Njb3BlLnB5CTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICsw MjAwCiBAQCAtMCwwICsxLDQ3IEBACiArIyBJbi1zY29wZSBmdW5jdGlvbi4KICsKQEAgLTcxODcs MTAgKzcxODQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIv Z2RiL2Z1bmN0aW9uL2luX3Njb3BlLnB5CiArCXJldHVybiB3YW50ZWQgPT0gZm91bmQKICsKICtJ blNjb3BlICgpCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL3B5LXR5cGUu YworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3B5dGhvbi9weS10eXBlLmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3B5dGhvbi9weS10eXBlLmMJ MjAxMS0wMS0yNiAyMTo1Mzo0NS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9weXRob24vcHktdHlwZS5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICsw MjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi9weXRob24vcHktdHlwZS5jCTIw MTEtMDEtMjYgMjE6NTM6NDUuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcw My9nZGIvcHl0aG9uL3B5LXR5cGUuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIw MAogQEAgLTI5LDYgKzI5LDggQEAKICAjaW5jbHVkZSAibGFuZ3VhZ2UuaCIKICAjaW5jbHVkZSAi dmVjLmgiCkBAIC03Mzg1LDEwICs3MzgyLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9weXRob24vcHktdHlwZS5jCiAgfQogIAogIAwKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9weXRob24vcHktdmFsdWUuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L3B5dGhvbi9weS12YWx1ZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5v cmlnL2dkYi9weXRob24vcHktdmFsdWUuYwkyMDExLTAzLTE4IDE3OjA5OjU3LjAwMDAwMDAwMCAr MDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCTIwMTEt MDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5v cmlnL2dkYi9weXRob24vcHktdmFsdWUuYwkyMDExLTAzLTE4IDE3OjA5OjU3LjAwMDAwMDAwMCAr MDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCTIwMTEt MDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMjgsNiArMjgsNyBAQAogICNpbmNs dWRlICJpbmZjYWxsLmgiCiAgI2luY2x1ZGUgImV4cHJlc3Npb24uaCIKQEAgLTc0MjgsMTAgKzc0 MjUsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9weS12YWx1ZS5j CiAgfQogIAogIAwKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vcHl0aG9u LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9weXRob24vcHl0aG9uLmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3B5dGhvbi9weXRob24uYwky MDExLTAzLTE4IDA5OjQ0OjQ3LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3B5dGhvbi9weXRob24uYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIw MAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvcHl0aG9uL3B5dGhvbi5jCTIwMTEt MDctMDIgMjE6MzM6MTAuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9n ZGIvcHl0aG9uL3B5dGhvbi5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBA QCAtNDksOCArNDksMTEgQEAgc3RhdGljIGludCBnZGJweV9zaG91bGRfcHJpbnRfc3RhY2sgPSAx OwogICNpbmNsdWRlICJsaW5lc3BlYy5oIgogICNpbmNsdWRlICJzb3VyY2UuaCIKQEAgLTc1MDcs MTAgKzc1MDQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9weXRo b24uYwogICAgeyAicGFyYW1ldGVyIiwgZ2RicHlfcGFyYW1ldGVyLCBNRVRIX1ZBUkFSR1MsCiAg ICAgICJSZXR1cm4gYSBnZGIgcGFyYW1ldGVyJ3MgdmFsdWUiIH0sCiAgCi1JbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL3B5dGhvbi5oCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDcwMy9nZGIvcHl0aG9uL3B5dGhvbi5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDEx MDUyNS5vcmlnL2dkYi9weXRob24vcHl0aG9uLmgJMjAxMS0wMy0xNCAxNzowOTo1NC4wMDAwMDAw MDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vcHl0aG9uLmgJMjAx MS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAz Lm9yaWcvZ2RiL3B5dGhvbi9weXRob24uaAkyMDExLTAzLTE0IDE3OjA5OjU0LjAwMDAwMDAwMCAr MDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3B5dGhvbi9weXRob24uaAkyMDExLTA3 LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTMyLDYgKzMyLDggQEAgdm9pZCBldmFs X3B5dGhvbl9mcm9tX2NvbnRyb2xfY29tbWFuZCAocwogIAogIHZvaWQgc291cmNlX3B5dGhvbl9z Y3JpcHQgKEZJTEUgKnN0cmVhbSwgY29uc3QgY2hhciAqZmlsZSk7CkBAIC03NTIwLDEwICs3NTE3 LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vcHl0aG9uLmgKICBp bnQgYXBwbHlfdmFsX3ByZXR0eV9wcmludGVyIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2Ri X2J5dGUgKnZhbGFkZHIsCiAgCQkJICAgICAgaW50IGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERS IGFkZHJlc3MsCiAgCQkJICAgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2Us Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc29tcmVhZC5jCitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDcwMy9nZGIvc29tcmVhZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4y MDExMDUyNS5vcmlnL2dkYi9zb21yZWFkLmMJMjAxMS0wMy0wNyAxNzoxNzoyOS4wMDAwMDAwMDAg KzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zb21yZWFkLmMJMjAxMS0wNS0yNSAx NzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2Ri L3NvbXJlYWQuYwkyMDExLTAzLTA3IDE3OjE3OjI5LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA3MDMvZ2RiL3NvbXJlYWQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAw MCArMDIwMAogQEAgLTQzOSw2ICs0MzksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMg c29tX3N5bV9mbnMgCiAgICBkZWZhdWx0X3N5bWZpbGVfc2VnbWVudHMsCS8qIEdldCBzZWdtZW50 IGluZm9ybWF0aW9uIGZyb20gYSBmaWxlLiAgKi8KICAgIE5VTEwsCkBAIC03NTMyLDEwICs3NTI5 LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zb21yZWFkLmMKICAgICZwc3lt X2Z1bmN0aW9ucwogIH07CiAgCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc3RhY2su YworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3N0YWNrLmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3N0YWNrLmMJMjAxMS0wMy0xOCAxOTo0ODo1 Ni4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zdGFjay5jCTIw MTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcw My5vcmlnL2dkYi9zdGFjay5jCTIwMTEtMDMtMTggMTk6NDg6NTYuMDAwMDAwMDAwICswMTAwCisr KysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvc3RhY2suYwkyMDExLTA3LTAzIDEwOjMzOjExLjAw MDAwMDAwMCArMDIwMAogQEAgLTM2Niw2ICszNjYsNyBAQCBwcmludF9mcmFtZV9hcmdzIChzdHJ1 Y3Qgc3ltYm9sICpmdW5jLCBzCiAgCSAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGNvbnN0 IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpsYW5ndWFnZTsKQEAgLTc1NTgsMTAgKzc1NTUsMTAgQEAg SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N0YWNrLmMKICAJCSAgdWlfb3V0X2ZpZWxk X3N0cmVhbSAodWlvdXQsICJ2YWx1ZSIsIHN0Yik7CiAgCSAgICAgICAgfQogIAkgICAgICBlbHNl Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc3RhcC1wcm9iZS5jCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDcwMy9nZGIvc3RhcC1wcm9iZS5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9u dWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvc3RhcC1wcm9iZS5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICsw MjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvc3RhcC1wcm9iZS5jCTIwMTEtMDctMDMg MTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDIwNDEgQEAKICsvKiBTeXN0ZW1U YXAgcHJvYmUgc3VwcG9ydCBmb3IgR0RCLgogKwpAQCAtOTYwNCwxMCArOTYwMSwxMCBAQCBJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc3RhcC1wcm9iZS5jCiArICBjcmVhdGVfaW50ZXJu YWx2YXJfdHlwZV9sYXp5ICgiX3Byb2JlX2FyZzkiLCAmcHJvYmVfZnVuY3MsCiArCQkJCSh2b2lk ICopICh1aW50cHRyX3QpIDkpOwogK30KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9z dGFwLXByb2JlLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9zdGFwLXByb2JlLmgK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAg KzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zdGFwLXByb2JlLmgJMjAxMS0wNS0y NSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9z dGFwLXByb2JlLmgJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAg KzEsMTA5IEBACiArLyogU3lzdGVtVGFwIHByb2JlIHN1cHBvcnQgZm9yIEdEQi4KICsKQEAgLTk3 MTgsMTAgKzk3MTUsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N0YXAtcHJv YmUuaAogKwkJCQkJICAgICAgIGludCBuKTsKICsKICsjZW5kaWYgLyogIWRlZmluZWQgKFNUQVBf UFJPQkVfSCkgKi8KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zeW1maWxlLmgKK0lu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9zeW1maWxlLmgKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3N5bWZpbGUuaAkyMDExLTA0LTI1IDIzOjI1OjE4 LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N5bWZpbGUuaAky MDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3 MDMub3JpZy9nZGIvc3ltZmlsZS5oCTIwMTEtMDQtMjUgMjM6MjU6MTguMDAwMDAwMDAwICswMjAw CisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvc3ltZmlsZS5oCTIwMTEtMDctMDMgMTA6MzM6 MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMzEsNiArMzEsMTEgQEAgc3RydWN0IG9iamZpbGU7CiAg c3RydWN0IG9ial9zZWN0aW9uOwogIHN0cnVjdCBvYnN0YWNrOwpAQCAtOTc5OCwxMCArOTc5NSwx MCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc3ltZmlsZS5oCiAgICAvKiBUaGUg InF1aWNrIiAoYWthIHBhcnRpYWwpIHN5bWJvbCBmdW5jdGlvbnMgZm9yIHRoaXMgc3ltYm9sCiAg ICAgICByZWFkZXIuICAqLwogICAgY29uc3Qgc3RydWN0IHF1aWNrX3N5bWJvbF9mdW5jdGlvbnMg KnFmOwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N5bXRhYi5jCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDcwMy9nZGIvc3ltdGFiLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkw LjIwMTEwNTI1Lm9yaWcvZ2RiL3N5bXRhYi5jCTIwMTEtMDUtMDYgMTc6MTM6MzcuMDAwMDAwMDAw ICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc3ltdGFiLmMJMjAxMS0wNS0yNSAx NzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2Ri L3N5bXRhYi5jCTIwMTEtMDctMDIgMjI6MDM6NDMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDcwMy9nZGIvc3ltdGFiLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAg KzAyMDAKIEBAIC03NzAsNiArNzcwLDcgQEAgaW5pdF9zYWwgKHN0cnVjdCBzeW10YWJfYW5kX2xp bmUgKnNhbCkKICAgIHNhbC0+ZW5kID0gMDsKICAgIHNhbC0+ZXhwbGljaXRfcGMgPSAwOwpAQCAt OTgxMCwxMCArOTgwNywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc3ltdGFi LmMKICB9CiAgDAogIAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N5bXRhYi5oCitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvc3ltdGFiLmgKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3N5bXRhYi5oCTIwMTEtMDUtMDYgMTc6MTM6Mzcu MDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc3ltdGFiLmgJMjAx MS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAz Lm9yaWcvZ2RiL3N5bXRhYi5oCTIwMTEtMDUtMDYgMTc6MTM6MzcuMDAwMDAwMDAwICswMjAwCisr KysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvc3ltdGFiLmgJMjAxMS0wNy0wMyAxMDozMzoxMS4w MDAwMDAwMDAgKzAyMDAKIEBAIC0xMTE4LDYgKzExMTgsMTAgQEAgc3RydWN0IHN5bXRhYl9hbmRf bGluZQogICAgQ09SRV9BRERSIGVuZDsKICAgIGludCBleHBsaWNpdF9wYzsKQEAgLTk4MjUsMTAg Kzk4MjIsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N5bXRhYi5oCiAgfTsK ICAKICBleHRlcm4gdm9pZCBpbml0X3NhbCAoc3RydWN0IHN5bXRhYl9hbmRfbGluZSAqc2FsKTsK LUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0 LXZsYS1wb2ludGVyLWZvby5TCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci1mb28uUwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXItZm9v LlMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIw MTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLWZvby5TCTIw MTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDQ1NyBAQAogKwku ZmlsZQkieDg2XzY0LXZsYS1wb2ludGVyLmMiCiArCS5zZWN0aW9uCS5kZWJ1Z19hYmJyZXYsIiIs QHByb2diaXRzCkBAIC0xMDI4NywxMCArMTAyODQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXItZm9vLlMKICsJ LnN0cmluZwkiR05VIEMgNC4zLjIgMjAwODExMDUgKFJlZCBIYXQgNC4zLjItNykiCiArCS5pZGVu dAkiR0NDOiAoR05VKSA0LjMuMiAyMDA4MTEwNSAoUmVkIEhhdCA0LjMuMi03KSIKICsJLnNlY3Rp b24JLm5vdGUuR05VLXN0YWNrLCIiLEBwcm9nYml0cwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYworSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50 ZXIuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC94ODZfNjQtdmxhLXBvaW50ZXIuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIw MAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQt dmxhLXBvaW50ZXIuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAs MCArMSw0MyBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVi dWdnZXIuCiArCkBAIC0xMDMzNSwxMCArMTAzMzIsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYwogK30KICsK ICsjZW5kaWYKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gveDg2XzY0LXZsYS1wb2ludGVyLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuZXhwCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAt LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRl ci5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLmV4cAky MDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw2NiBAQAogKyMg Q29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMDQw NiwxMCArMTA0MDMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuZXhwCiArCiArZ2RiX3Rlc3QgIndoYXRpcyAq YXJyYXkiICJ0eXBlID0gY2hhciBcXFxbNzhcXFxdIiAic2Vjb25kOiB3aGF0aXMgKmFycmF5Igog K2dkYl90ZXN0ICJwdHlwZSAqYXJyYXkiICJ0eXBlID0gY2hhciBcXFxbNzhcXFxdIiAic2Vjb25k OiBwdHlwZSAqYXJyYXkiCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi1mb28uUworSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYtZm9vLlMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0 LXZsYS10eXBlZGVmLWZvby5TCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisr KysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEt dHlwZWRlZi1mb28uUwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAs MCArMSw0NTUgQEAKICsJLmZpbGUJIng4Nl82NC12bGEtdHlwZWRlZi5jIgogKwkuc2VjdGlvbgku ZGVidWdfYWJicmV2LCIiLEBwcm9nYml0cwpAQCAtMTA4NjYsMTAgKzEwODYzLDEwIEBAIEluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10 eXBlZGVmLWZvby5TCiArCS5zdHJpbmcJIkdOVSBDIDQuMy4yIDIwMDgxMTA1IChSZWQgSGF0IDQu My4yLTcpIgogKwkuaWRlbnQJIkdDQzogKEdOVSkgNC4zLjIgMjAwODExMDUgKFJlZCBIYXQgNC4z LjItNykiCiArCS5zZWN0aW9uCS5ub3RlLkdOVS1zdGFjaywiIixAcHJvZ2JpdHMKLUluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBl ZGVmLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv eDg2XzY0LXZsYS10eXBlZGVmLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0w MSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90 ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmMJMjAxMS0wNS0yNSAxNzowNToy MS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUv Z2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC0wLDAgKzEsNDMgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2Yg R0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTA5MTQsMTAgKzEwOTExLDEwIEBAIEluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10 eXBlZGVmLmMKICt9CiArCiArI2VuZGlmCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv dGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5leHAKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4 cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94 ODZfNjQtdmxhLXR5cGVkZWYuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAw CisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12 bGEtdHlwZWRlZi5leHAJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0w LDAgKzEsNjQgQEAKICsjIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogKwpAQCAtMTA5ODMsMTAgKzEwOTgwLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAogK2dkYl90 ZXN0ICJ3aGF0aXMgYXJyYXkiICJ0eXBlID0gYXJyYXlfdCIgInNlY29uZDogd2hhdGlzIGFycmF5 IgogKwogK2dkYl90ZXN0ICJwdHlwZSBhcnJheSIgInR5cGUgPSBjaGFyIFxcXFs3OFxcXF0iICJz ZWNvbmQ6IHB0eXBlIGFycmF5IgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkw LjIwMTEwNTI1Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5jCTIwMTEtMDEt MDEgMTY6MzM6NDAuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAw MDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9hcnJheWlkeC5jCTIwMTEtMDEtMDEgMTY6MzM6NDAuMDAwMDAwMDAwICswMTAwCisrKysg Z2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMJMjAx MS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xNyw2ICsxNywxMyBAQAogIAog IGludCBhcnJheVtdID0gezEsIDIsIDMsIDR9OwpAQCAtMTEwMDEsMTAgKzEwOTk4LDEwIEBAIElu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHgu YwogIGludAogIG1haW4gKHZvaWQpCiAgewotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguZXhwCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHgu ZXhwCTIwMTEtMDEtMDEgMTY6MzM6NDAuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAkyMDExLTA1LTI1IDE3 OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAkyMDExLTAxLTAxIDE2OjMzOjQwLjAwMDAw MDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9hcnJheWlkeC5leHAJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC01 Nyw0ICs1NywxMiBAQCBnZGJfdGVzdCAicHJpbnQgYXJyYXkiIFwKICAgICAgICAgICAiXFx7XFxc WzBcXFxdID0gMSwgXFxcWzFcXFxdID0gMiwgXFxcWzJcXFxdID0gMywgXFxcWzNcXFxdID0gNFxc fSIgXAogICAgICAgICAgICJQcmludCBhcnJheSB3aXRoIGFycmF5LWluZGV4ZXMgb24iCkBAIC0x MTAxOSwxMCArMTEwMTYsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAKICsJdW5zdXBwb3J0ZWQgIiR0ZXN0IChubyBHQ0Mp IgogKyAgICB9CiArfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9kZWZhdWx0LmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9kZWZhdWx0LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAx MTA1MjUub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RlZmF1bHQuZXhwCTIwMTEtMDItMTUg MjI6MTc6NTIuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2RlZmF1bHQuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAw ICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvZGVmYXVsdC5leHAJMjAxMS0wMi0xNSAyMjoxNzo1Mi4wMDAwMDAwMDAgKzAxMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGVmYXVsdC5leHAJMjAx MS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC02MDcsNiArNjA3LDE3IEBAIGdk Yl90ZXN0X2xpc3RfZXhhY3QgInNob3cgY29udmVuaWVuY2UiICIKICAJeyRfc2RhdGEgPSB2b2lk fSBcCiAgCXskX3NpZ2luZm8gPSB2b2lkfSBcCkBAIC0xMTA0MSwxMCArMTEwMzgsMTAgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kZWZhdWx0LmV4 cAogICAgICB9CiAgCiAgI3Rlc3Qgc2hvdyBkaXJlY3RvcmllcwotSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVz cy5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2lu dGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3MuYwkyMDEx LTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5jCTIwMTEt MDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDIwIEBACiArLyogVGhp cyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTExMDY2 LDEwICsxMTA2MywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmMKICtzdHJ1Y3QgewogKyAgaW50 IGZpZWxkOwogK30gc3RhdGljc3RydWN0ID0geyAxIH07Ci1JbmRleDogZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmV4 cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRl cm5hbC12YXItZmllbGQtYWRkcmVzcy5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3MuZXhwCTIw MTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcw My9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmV4cAky MDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwyNiBAQAogKyMg Q29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMTA5 NywxMCArMTEwOTQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5leHAKICsKICtnZGJfdGVzdCB7 c2V0ICR2YXJzdHJ1Y3QgPSBzdGF0aWNzdHJ1Y3R9CiArZ2RiX3Rlc3Qge3AgJHZhcnN0cnVjdC5m aWVsZH0gIiA9IDEiCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3N0YXAtcHJvYmUuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9zdGFwLXByb2JlLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9iZS5jCTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3N0YXAtcHJvYmUuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAog QEAgLTAsMCArMSw2OSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBH TlUgZGVidWdnZXIuCiArCkBAIC0xMTE3MSwxMCArMTExNjgsMTAgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGFwLXByb2JlLmMKICsgIG0xKCk7 CiArICBtMigpOwogK30KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2Uvc3RhcC1wcm9iZS5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9iZS5leHAKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9iZS5leHAJMjAxMS0wNS0yNSAx NzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9iZS5leHAJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC0wLDAgKzEsNzIgQEAKICsjIENvcHlyaWdodCAoQykgMjAxMSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTExMjQ4LDEwICsxMTI0NSwxMCBAQCBJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3N0YXAtcHJvYmUu ZXhwCiArICAgIHJldHVybiAtMQogK30KICtzdGFwX3Rlc3QgIi1EVVNFX1BST0JFUyIKLUluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93 LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvdmxh LW92ZXJmbG93LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvdmxhLW92ZXJmbG93LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92 ZXJmbG93LmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEs MzAgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2Vy LgogKwpAQCAtMTEyODMsMTAgKzExMjgwLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmMKICsKICsgIHJldHVybiAwOwog K30KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvdmxh LW92ZXJmbG93LmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS92bGEtb3ZlcmZsb3cuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVyZmxvdy5leHAJMjAxMS0wNS0yNSAxNzowNToy MS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCAr MDIwMAogQEAgLTAsMCArMSwxMDkgQEAKICsjIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTEzOTcsMTAgKzExMzk0LDEwIEBAIEluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAog K2dkYl90ZXN0ICJidCIgImluIFxbXiBcXSphYm9ydCBcXCguKiBpbiBtYWluIFxcKC4qIiAiQmFj a3RyYWNlIGFmdGVyIGFib3J0KCkiCiArCiArdmVyYm9zZSAtbG9nICJrYl9mb3VuZCBpbiBidCBh ZnRlciBhYm9ydCgpID0gW2V4cHIgW21lbW9yeV92X3BhZ2VzX2dldF0gKiAkcGFnZXNpemUgLyAx MDI0XSIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv dmxhLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv dmxhLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAw MDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvdmxhLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMJMjAxMS0wNy0wMyAxMDoz MzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNTUgQEAKICsvKiBUaGlzIHRlc3RjYXNl IGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTE0NTcsMTAgKzExNDU0 LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv dmxhLmMKICsgIGZvbyAoNzgpOwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhwCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS5leHAKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0t LSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmV4cAkyMDExLTA1LTI1 IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhwCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICsw MjAwCiBAQCAtMCwwICsxLDYyIEBACiArIyBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KICsKQEAgLTExNTI0LDEwICsxMTUyMSwxMCBAQCBJbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS5leHAKICtnZGJfdGVzdCAi cCB0ZW1wMSIgIiA9ICcxJyA8cmVwZWF0cyA3OCB0aW1lcz4iICJzZWNvbmQ6IHByaW50IHRlbXAx IgogK2dkYl90ZXN0ICJwIHRlbXAyIiAiID0gJzInIDxyZXBlYXRzIDc4IHRpbWVzPiIgInNlY29u ZDogcHJpbnQgdGVtcDIiCiArZ2RiX3Rlc3QgInAgdGVtcDMiICIgPSAnMycgPHJlcGVhdHMgNDgg dGltZXM+IiAic2Vjb25kOiBwcmludCB0ZW1wMyIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25leHRvdmVydGhyb3cuZXhwCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uZXh0b3ZlcnRocm93LmV4cAogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9u ZXh0b3ZlcnRocm93LmV4cAkyMDExLTAxLTAxIDE2OjMzOjQ0LjAwMDAwMDAwMCArMDEwMAotKysr IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbmV4dG92ZXJ0aHJvdy5l eHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIw MTEwNzAzLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbmV4dG92ZXJ0aHJvdy5leHAJMjAxMS0w MS0wMSAxNjozMzo0NC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dk Yi90ZXN0c3VpdGUvZ2RiLmNwL25leHRvdmVydGhyb3cuZXhwCTIwMTEtMDctMDMgMTA6MzM6MTEu MDAwMDAwMDAwICswMjAwCiBAQCAtNTMsNiArNTMsMTcgQEAgZ2RiX3Rlc3RfbXVsdGlwbGUgInBy aW50IF9VbndpbmRfRGVidWdIbwogICAgICB9CiAgfQpAQCAtMTE1NDYsMTAgKzExNTQzLDEwIEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25leHRvdmVy dGhyb3cuZXhwCiAgICAgIHVuc3VwcG9ydGVkICJuZXh0b3ZlcnRocm93LmV4cCBjb3VsZCBub3Qg ZmluZCBfVW53aW5kX0RlYnVnSG9vayIKICAgICAgcmV0dXJuIC0xCiAgfQotSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0 LlMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9k dzItYm91bmQtbG9jbGlzdC5TCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuUwkyMDExLTA1LTI1IDE3OjA1OjIx LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LlMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC0wLDAgKzEsMjQ2IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9m IEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTExNzk3LDEwICsxMTc5NCwxMCBAQCBJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5k LWxvY2xpc3QuUwogKwkuc3RyaW5nCQkiY2hhciIKICsuTHVpbnRfc3RyOgogKwkuc3RyaW5nCQki dW5zaWduZWQgaW50IgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3 MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LmV4cAogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3Vu ZC1sb2NsaXN0LmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2Ns aXN0LmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw1 NCBAQAogKyMgQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAr CkBAIC0xMTg1NiwxMCArMTE4NTMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LmV4cAogKwogKyMgVGhlIHJl Z2lzdGVyIGNvbnRhaW5zIHVucHJlZGljdGFibGUgdmFsdWUgLSB0aGUgYXJyYXkgc2l6ZS4KICtn ZGJfdGVzdCAicHR5cGUgcmVnX3N0cmluZyIge3R5cGUgPSBjaGFyIFxbLT9bMC05XStcXX0KLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3Ry aXBwZWQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdh cmYyL2R3Mi1zdHJpcHBlZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAw MDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmR3 YXJmMi9kdzItc3RyaXBwZWQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAog QEAgLTAsMCArMSw0MiBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBH TlUgZGVidWdnZXIuCiArCkBAIC0xMTkwMywxMCArMTE5MDAsMTAgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5jCiArICBm dW5jMSAoMSwgMik7CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmV4cAorSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5leHAK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAg KzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9k dzItc3RyaXBwZWQuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysg Z2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVk LmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw3OSBA QAogKyMgQ29weXJpZ2h0IDIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBA IC0xMTk4NywxMCArMTE5ODQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rl c3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5leHAKICtnZGJfdGVzdCAic3RlcCIgXAog KyAgICAgICAgICJmdW5jLiogXFwoLipcXCkgYXQgLioiIFwKICsgICAgICAgICAic3RlcCIKLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3Ry dWN0LW1lbWJlci1kYXRhLWxvY2F0aW9uLlMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dk Yi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0aW9uLlMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAg KzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9k dzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0aW9uLlMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAw MDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmR3 YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0aW9uLlMJMjAxMS0wNy0wMyAxMDozMzox MS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsODMgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlz IHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTIwNzUsMTAgKzEyMDcyLDEw IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9k dzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0CiArCiArCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5h dG9yICovCiArCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICovCi1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0 YS1sb2NhdGlvbi5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0aW9uLmV4cAogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3Qt bWVtYmVyLWRhdGEtbG9jYXRpb24uZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICsw MjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcy LXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5leHAJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAw MDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMzcgQEAKICsjIENvcHlyaWdodCAyMDA5IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTIxMTcsMTAgKzEyMTE0LDEwIEBAIEluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0 LW1lbWJlci1kYXRhLWxvY2F0CiArY2xlYW5fcmVzdGFydCAkYmluZmlsZQogKwogK2dkYl90ZXN0 ICJwdHlwZSBzdHJ1Y3Qgc29tZV9zdHJ1Y3QiICJ0eXBlID0gc3RydWN0IHNvbWVfc3RydWN0IHtc W1xyXG4gXHRcXSp2b2lkIGZpZWxkO1xbXHJcbiBcdFxdKn0iCi1JbmRleDogZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5leHAKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3Ry aWRlLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9kd2FyZi1zdHJpZGUuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICsw MjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3 YXJmLXN0cmlkZS5leHAJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0w LDAgKzEsNDIgQEAKICsjIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogKwpAQCAtMTIxNjQsMTAgKzEyMTYxLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4cAogK2dkYl9jb250 aW51ZV90b19icmVha3BvaW50ICJicmVhay1oZXJlIiAiLipicmVhay1oZXJlLioiCiArZ2RiX3Rl c3QgInAgYzQwcHQoMSkiICIgPSAnMC1oZWxsby4qIgogK2dkYl90ZXN0ICJwIGM0MHB0KDIpIiAi ID0gJzEtaGVsbG8uKiIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmY5MAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZjkwCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAt LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5m OTAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIw MTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmY5MAkyMDExLTA3 LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw0MCBAQAogKyEgQ29weXJp Z2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMTIyMDksMTAg KzEyMjA2LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vZHdhcmYtc3RyaWRlLmY5MAogKyAgcHJpbnQgKiwgYzQwcHQgICEgYnJlYWstaGVy ZQogKwogK2VuZCBwcm9ncmFtIHJlcHJvCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUtc3R1Yi5mOTAKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1v dGhlci1mcmFtZS1zdHViLmY5MAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZyYW1lLXN0dWIuZjkwCTIwMTEtMDUt MjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUtc3R1Yi5mOTAJMjAxMS0w Ny0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjQgQEAKICshIENvcHly aWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTEyMjM4LDEw ICsxMjIzNSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUtc3R1Yi5mOQogKyAgcmVhbCA6OiBkdW1teQog KyAgZHVtbXkgPSAxCiArZW5kIHN1YnJvdXRpbmUgYmFyCi1JbmRleDogZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwCitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFt aWMtb3RoZXItZnJhbWUuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwCTIwMTEtMDUtMjUgMTc6 MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwCTIwMTEtMDctMDMgMTA6MzM6 MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDM3IEBACiArIyBDb3B5cmlnaHQgMjAxMCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEyMjgwLDEwICsxMjI3NywxMCBA QCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5 bmFtaWMtb3RoZXItZnJhbWUuZXhwCiArfQogKwogK2dkYl90ZXN0ICJidCIge2ZvbyBcKHN0cmlu Zz0naGVsbG8nLip9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkwCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkwCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5 bmFtaWMtb3RoZXItZnJhbWUuZjkwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAw CisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFt aWMtb3RoZXItZnJhbWUuZjkwCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBA QCAtMCwwICsxLDM2IEBACiArISBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICshCkBAIC0xMjMyMSwxMCArMTIzMTgsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZyYW1lLmY5 MAogKyAgZW5kIGludGVyZmFjZQogKyAgY2FsbCBmb28gKCdoZWxsbycpCiArZW5kCi1JbmRleDog Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMuZXhw CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5 bmFtaWMuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2R5bmFtaWMuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAw CisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFt aWMuZXhwCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDE0 NSBAQAogKyMgQ29weXJpZ2h0IDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAr CkBAIC0xMjQ3MSwxMCArMTI0NjgsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmV4cAogK2dkYl90ZXN0ICJwIHZhcnQoMyw4 KSIgIlxcJFxbMC05XF0qID0gOSIKICsjIG1hcHMgdG8gZm9vOjp2YXJ5KDEsMykKICtnZGJfdGVz dCAicCB2YXJ0KDIsOSkiICJcXCRcWzAtOVxdKiA9IDEwIgotSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5MAorSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5MAogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5h bWljLmY5MAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIu OTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5MAkyMDExLTA3 LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw5OCBAQAogKyEgQ29weXJp Z2h0IDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMTI1NzQsMTAg KzEyNTcxLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vZHluYW1pYy5mOTAKICsgIGlmICh4ICgxLCAxKSAubmUuIDggLm9yLiB4ICgyLCAy KSAubmUuIDkgLm9yLiB4ICgxLCAyKSAubmUuIDQpIGNhbGwgYWJvcnQKICsgIGlmICh4ICgzLCAx KSAubmUuIDEwKSBjYWxsIGFib3J0CiArZW5kCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5nLmV4cAogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQog LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhwCTIw MTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcw My9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5leHAJMjAxMS0wNy0wMyAxMDozMzox MS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNTkgQEAKICsjIENvcHlyaWdodCAyMDA4IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTI2MzgsMTAgKzEyNjM1LDEwIEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3Ry aW5nLmV4cAogK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2YXItZmluaXNoIgogK2dkYl90 ZXN0ICJwIGUiICJcXCRcWzAtOVxdKiA9ICdlICAgJyIgInAgZSByZS1zZXQiCiArZ2RiX3Rlc3Qg InAgZiIgIlxcJFxbMC05XF0qID0gXFwoXFwoICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAg JywgJ2YgICAnLCAnZiAgICcsICdmICAgJ1xcKSBcXCggJ2YyICAnLCAnZiAgICcsICdmICAgJywg J2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnXFwpIFxcKCAnZiAgICcsICdmICAgJywgJ2Yg ICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICdcXCkgXFwpIiAicCAqZiByZS1zZXQi Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0 cmluZy5mOTAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vc3RyaW5nLmY5MAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAw OjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAw ICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3N0cmluZy5mOTAJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAg KzEsMzcgQEAKICshIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogKyEKQEAgLTEyNjgwLDEwICsxMjY3NywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5mOTAKICsgIGggPSAnaCcKICsgIGNh bGwgZm9vIChnLCBoKQogK2VuZAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAz L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZXhwCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmV4cAkyMDEx LTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAJMjAxMS0wNy0wMyAxMDozMzox MS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNjAgQEAKICsjIENvcHlyaWdodCAyMDExIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTI3NDUsMTAgKzEyNzQyLDEwIEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3Vi cmFuZ2UuZXhwCiArZGVsZXRlX2JyZWFrcG9pbnRzCiArZ2RiX3VubG9hZAogK2dkYl90ZXN0IHtw ICRhICgzLCAyOjIpfSB7ID0gXCgyM1wpfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5mOTAKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZjkwCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysg Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmY5 MAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAx MTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5mOTAJMjAxMS0wNy0wMyAx MDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjggQEAKICshIENvcHlyaWdodCAy MDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTEyNzc4LDEwICsxMjc3 NSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3N1YnJhbmdlLmY5MAogKyAgcHRyID0+IGEKICsgIHdyaXRlICgqLCopIGEgICAgICAgICAg ICAgICAgICEgYnJlYWstc3RhdGljCiArZW5kCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5l eHAJMjAxMS0wNS0yNSAxNzowNDoyMS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAJMjAxMS0wNS0yNSAxNzow NToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3Rl c3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAkyMDExLTA3LTAzIDEwOjMzOjA3LjAwMDAwMDAw MCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL3Nl bGZ0ZXN0LmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTkyLDYg KzkyLDEwIEBAIHByb2MgZG9fc3RlcHNfYW5kX25leHRzIHt9IHsKICAJCXNldCBkZXNjcmlwdGlv biAic3RlcCBvdmVyIHR0eWFyZyBpbml0aWFsaXphdGlvbiIKICAJCXNldCBjb21tYW5kICJzdGVw IgpAQCAtMTI3OTMsMTAgKzEyNzkwLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAKICAJICAgIC1yZSAiLipwcmVfc3RhdF9j aGFpbiA9IG1ha2VfY29tbWFuZF9zdGF0c19jbGVhbnVwLiokZ2RiX3Byb21wdCAkIiB7CiAgCQlz ZXQgZGVzY3JpcHRpb24gIm5leHQgb3ZlciBtYWtlX2NvbW1hbmRfc3RhdHNfY2xlYW51cCBhbmQg ZXZlcnl0aGluZyBpdCBjYWxscyIKICAJCXNldCBjb21tYW5kICJuZXh0IgotSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmMK K0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXIt c3RhbGUtdHlwZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6 MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRl L2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAw MCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWky LXZhci1zdGFsZS10eXBlLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBA IC0wLDAgKzEsMjYgQEAKICsvKiBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICsKQEAgLTEyODI0LDEwICsxMjgyMSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUuYwogKwogKyAg cmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9n ZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMv Z2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmV4cAogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQog LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBl LmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAu MjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmV4cAkyMDEx LTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw1NyBAQAogKyMgQ29w eXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIwpAQCAtMTI4ODYs MTAgKzEyODgzLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUv Z2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5leHAKICttaV9jcmVhdGVfdmFyb2JqICJ2bGEiICJ2 bGEiICJjcmVhdGUgbG9jYWwgdmFyaWFibGUgdmxhIgogKwogK21pX2dkYl90ZXN0ICItdmFyLXVw ZGF0ZSAqIiAiXFxeZG9uZSxjaGFuZ2VsaXN0PS4qIiAiLXZhci11cGRhdGUgKiIKLUluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL3dhdGNocG9pbnQtbXVs dGkuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkv d2F0Y2hwb2ludC1tdWx0aS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVz dHN1aXRlL2dkYi5tdWx0aS93YXRjaHBvaW50LW11bHRpLmMJMjAxMS0wNS0yNSAxNzowNToyMS4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2Ri Lm11bHRpL3dhdGNocG9pbnQtbXVsdGkuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCAr MDIwMAogQEAgLTAsMCArMSw1OSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIs IHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMjk1MCwxMCArMTI5NDcsMTAgQEAgSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvd2F0Y2hwb2ludC1tdWx0 aS5jCiArICBtYXJrZXJfZXhpdDIgKCk7CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS93YXRjaHBvaW50LW11bHRpLmV4 cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvd2F0 Y2hwb2ludC1tdWx0aS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0 c3VpdGUvZ2RiLm11bHRpL3dhdGNocG9pbnQtbXVsdGkuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dk Yi5tdWx0aS93YXRjaHBvaW50LW11bHRpLmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAw MCArMDIwMAogQEAgLTAsMCArMSwxMTMgQEAKICsjIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTMwNDYsNyArMTMwNDMsNyBAQCBJbmRleDogZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS93YXRjaHBvaW50LW11bHRp LmV4cAogKwlzZXR1cF9rZmFpbCBicmVha3BvaW50cy8xMjMxMiAqLSotKgogKwlwYXNzICR0ZXN0 CiArICAgIH0KLSsgICAgLXJlICJIYXJkd2FyZSBhY2Nlc3MgXFwocmVhZC93cml0ZVxcKSB3YXRj aHBvaW50IFxbMC05XF0rOiBjXHJcblxyXG5WYWx1ZSA9IDNcclxuKC4qIGluICk/X19ucHRsX2Rl YXRoX2V2ZW50IC4qXHJcbiRnZGJfcHJvbXB0ICQiIHsKKysgICAgLXJlICJIYXJkd2FyZSBhY2Nl c3MgXFwocmVhZC93cml0ZVxcKSB3YXRjaHBvaW50IFxbMC05XF0rOiBjXHJcblxyXG5WYWx1ZSA9 IDNcclxuKC4qIGluICk/XFwqPyhfX0dJXyk/X19ucHRsX2RlYXRoX2V2ZW50IC4qXHJcbiRnZGJf cHJvbXB0ICQiIHsKICsJc2V0dXBfa2ZhaWwgYnJlYWtwb2ludHMvMTIzMTIgKi0qLSoKICsJZmFp bCAkdGVzdAogKyAgICB9CkBAIC0xMzA2MiwxNiArMTMwNTksMTYgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvd2F0Y2hwb2ludC1tdWx0aS5leHAK ICsJc2V0dXBfa2ZhaWwgYnJlYWtwb2ludHMvMTIzMTIgKi0qLSoKICsJcGFzcyAkdGVzdAogKyAg ICB9Ci0rICAgIC1yZSAiSGFyZHdhcmUgYWNjZXNzIFxcKHJlYWQvd3JpdGVcXCkgd2F0Y2hwb2lu dCBcWzAtOVxdKzogYlxyXG5cclxuVmFsdWUgPSAyXHJcbiguKiBpbiApP19fbnB0bF9kZWF0aF9l dmVudCAuKlxyXG4kZ2RiX3Byb21wdCAkIiB7CisrICAgIC1yZSAiSGFyZHdhcmUgYWNjZXNzIFxc KHJlYWQvd3JpdGVcXCkgd2F0Y2hwb2ludCBcWzAtOVxdKzogYlxyXG5cclxuVmFsdWUgPSAyXHJc biguKiBpbiApP1xcKj8oX19HSV8pP19fbnB0bF9kZWF0aF9ldmVudCAuKlxyXG4kZ2RiX3Byb21w dCAkIiB7CiArCXNldHVwX2tmYWlsIGJyZWFrcG9pbnRzLzEyMzEyICotKi0qCiArCWZhaWwgJHRl c3QKICsgICAgfQogK30KICsKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3Vp dGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLWZ1bmMuYworSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXItZnVuYy5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAw ICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJy YXktZnJvbS1yZWdpc3Rlci1mdW5jLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1m cm9tLXJlZ2lzdGVyLWZ1bmMuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAog QEAgLTAsMCArMSwyMiBAQAogKy8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBk ZWJ1Z2dlci4KICsKQEAgLTEzMDk1LDEwICsxMzA5MiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci1mdW5jLmMK ICt7CiArICByZXR1cm4gYXJyWzBdOwogK30KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmMKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAg KzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJh eS1mcm9tLXJlZ2lzdGVyLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysr KyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJl Z2lzdGVyLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEs MjggQEAKICsvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiAr CkBAIC0xMzEyOCwxMCArMTMxMjUsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuYwogKwogKyAgcmV0dXJuIDA7 CiArfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2Fy cmF5LWZyb20tcmVnaXN0ZXIuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVz dHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5leHAKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmV4 cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAx MTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwCTIwMTEt MDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDMzIEBACiArIyBDb3B5 cmlnaHQgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsjCkBAIC0xMzE2Niwx MCArMTMxNjMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9n ZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwCiArIyBTZWVuIHJlZ3Jlc3Npb246CiArIyBB ZGRyZXNzIHJlcXVlc3RlZCBmb3IgaWRlbnRpZmllciAiYXJyIiB3aGljaCBpcyBpbiByZWdpc3Rl ciAkcmRpCiArZ2RiX3Rlc3QgInAgYXJyXFswXF0iICJcXCRcWzAtOVxdKyA9IDQyIgotSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5leHAK K0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJh eXMuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5w YXNjYWwvYXJyYXlzLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysr IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5leHAJ MjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMTA0IEBACiAr IyBDb3B5cmlnaHQgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsj CkBAIC0xMzI3NSwxMCArMTMyNzIsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5leHAKICt9CiArZ2RiX3Rlc3QgInByaW50IER5 bkFyckNoYXIiICIuKiA9ICdhYmNkZWZnaGlqa2xtJyIgIlByaW50IGR5bmFtaWMgYXJyYXkgb2Yg Y2hhciIKICsKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnBh c2NhbC9hcnJheXMucGFzCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRl L2dkYi5wYXNjYWwvYXJyYXlzLnBhcwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5wYXMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAw MDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLnBh c2NhbC9hcnJheXMucGFzCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAt MCwwICsxLDgyIEBACiArewogKyBDb3B5cmlnaHQgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KQEAgLTEzMzYyLDEwICsxMzM1OSwxMCBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLnBhcwogKyAgcyA6PSAn dGVzdCcjMCdzdHJpbmcnOwogKyAgd3JpdGVsbihzKTsgeyBzZXQgYnJlYWtwb2ludCAyIGhlcmUg fQogK2VuZC4KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnB5 dGhvbi9weS1mcmFtZS5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3Vp dGUvZ2RiLnB5dGhvbi9weS1mcmFtZS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIw MTEwNTI1Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLmV4cAkyMDExLTAy LTI2IDE1OjA2OjI4LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAw MDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvdGVzdHN1aXRl L2dkYi5weXRob24vcHktZnJhbWUuZXhwCTIwMTEtMDItMjYgMTU6MDY6MjguMDAwMDAwMDAwICsw MTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHkt ZnJhbWUuZXhwCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtNzgsOCAr NzgsNiBAQCBnZGJfdGVzdCAicHl0aG9uIHByaW50IGJmcmFtZSA9PSBnZGIubmV3CiAgCiAgZ2Ri X3Rlc3QgInB5dGhvbiBwcmludCAncmVzdWx0ID0nLCBmMCA9PSBmMSIgIiA9IEZhbHNlIiAidGVz dCBlcXVhbGl0eSBjb21wYXJpc29uIChmYWxzZSkiCkBAIC0xMzM4MSwxMCArMTMzNzgsMTAgQEAg SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZy YW1lLmV4cAogIGdkYl90ZXN0ICJweXRob24gcHJpbnQgJ3Jlc3VsdCA9JywgZ2RiLnNlbGVjdGVk X2ZyYW1lICgpID09IGYxIiAiID0gVHJ1ZSIgInRlc3QgZ2RiLnNlbGVjdGVkX2ZyYW1lIgogKwog K2dkYl90ZXN0ICJweXRob24gcHJpbnQgJ3Jlc3VsdCA9JywgZjAuYmxvY2sgKCkiICI8Z2RiLkJs b2NrIG9iamVjdCBhdCAweFxbXFs6eGRpZ2l0OlxdXF0rPiIgInRlc3QgRnJhbWUuYmxvY2siCi1J bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdmFs dWUuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5weXRo b24vcHktdmFsdWUuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmln L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS12YWx1ZS5leHAJMjAxMS0wMS0wMSAxNjozMzo0 OS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUv Z2RiLnB5dGhvbi9weS12YWx1ZS5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAy MDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9u L3B5LXZhbHVlLmV4cAkyMDExLTAxLTAxIDE2OjMzOjQ5LjAwMDAwMDAwMCArMDEwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAky MDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTMxOCw2ICszMTgsMTUgQEAg cHJvYyB0ZXN0X3ZhbHVlX2FmdGVyX2RlYXRoIHt9IHsKICAgICAgInByaW50IHZhbHVlJ3MgdHlw ZSIKICB9CkBAIC0xMzQwOSwxMCArMTM0MDYsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAogIAogICMgVGhlIGZvbGxv d2luZyB0ZXN0IHJlY29tcGlsZXMgdGhlIGJpbmFyeSB0byB0ZXN0IGVpdGhlciBDIG9yIEMrKwog ICMgdmFsdWVzLiAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLWNoaWxkLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NzAzL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLWNoaWxkLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0 Y2hwb2ludC1mb3JrLWNoaWxkLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hw b2ludC1mb3JrLWNoaWxkLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBA IC0wLDAgKzEsMTI3IEBACiArLyogVGVzdCBjYXNlIGZvciBmb3Jnb3R0ZW4gaHctd2F0Y2hwb2lu dHMgYWZ0ZXIgZm9yaygpLW9mZiBvZiBhIHByb2Nlc3MuCiArCkBAIC0xMzU0MSwxMCArMTM1Mzgs MTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFk cy93YXRjaHBvaW50LWZvcmstY2hpbGQuYwogKyAgaSA9IHNpZ2FjdGlvbiAoU0lHVVNSMSwgJm9s ZGFjdCwgTlVMTCk7CiArICBhc3NlcnQgKGkgPT0gMCk7CiArfQotSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmstbXQuYwor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRj aHBvaW50LWZvcmstbXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAw OjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmstbXQuYwkyMDExLTA1LTI1IDE3OjA1OjIx LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmstbXQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAw MDAwMCArMDIwMAogQEAgLTAsMCArMSwxNzQgQEAKICsvKiBUZXN0IGNhc2UgZm9yIGZvcmdvdHRl biBody13YXRjaHBvaW50cyBhZnRlciBmb3JrKCktb2ZmIG9mIGEgcHJvY2Vzcy4KICsKQEAgLTEz NzIwLDEwICsxMzcxNywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1 aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1tdC5jCiArICBtYXJrX2V4aXQgKCk7CiAr ICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRl L2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1wYXJlbnQuYworSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmstcGFyZW50 LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAw MDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVh ZHMvd2F0Y2hwb2ludC1mb3JrLXBhcmVudC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAw ICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRz L3dhdGNocG9pbnQtZm9yay1wYXJlbnQuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCAr MDIwMAogQEAgLTAsMCArMSw3NCBAQAogKy8qIFRlc3QgY2FzZSBmb3IgZm9yZ290dGVuIGh3LXdh dGNocG9pbnRzIGFmdGVyIGZvcmsoKS1vZmYgb2YgYSBwcm9jZXNzLgogKwpAQCAtMTM3OTksMTAg KzEzNzk2LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLXBhcmVudC5jCiArICAgICAgbWFya2VyICgpOwogKyAg ICB9CiArfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhy ZWFkcy93YXRjaHBvaW50LWZvcmstc3QuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmstc3QuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQog LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZv cmstc3QuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIu OTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmstc3Qu YwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw2MSBAQAog Ky8qIFRlc3QgY2FzZSBmb3IgZm9yZ290dGVuIGh3LXdhdGNocG9pbnRzIGFmdGVyIGZvcmsoKS1v ZmYgb2YgYSBwcm9jZXNzLgogKwpAQCAtMTM4NjUsMTAgKzEzODYyLDEwIEBAIEluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3Jr LXN0LmMKICsgIG1hcmtfZXhpdCAoKTsKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLmV4 cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93 YXRjaHBvaW50LWZvcmsuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVz dHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5leHAJMjAxMS0wNS0yNSAxNzowNToy MS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUv Z2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAw MDAwMCArMDIwMAogQEAgLTAsMCArMSwxNDkgQEAKICsjIENvcHlyaWdodCAyMDA4LCAyMDA5LCAy MDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTQwMTksMTAgKzE0MDE2 LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVh ZHMvd2F0Y2hwb2ludC1mb3JrLmV4cAogK30gZWxzZSB7CiArICAgIHVudGVzdGVkICJjaGlsZCIK ICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRz L3dhdGNocG9pbnQtZm9yay5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1 aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5oCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9u dWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5oCTIwMTEt MDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9n ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5oCTIwMTEtMDctMDMgMTA6 MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDMyIEBACiArLyogVGVzdCBjYXNlIGZv ciBmb3Jnb3R0ZW4gaHctd2F0Y2hwb2ludHMgYWZ0ZXIgZm9yaygpLW9mZiBvZiBhIHByb2Nlc3Mu CiArCkBAIC0xNDA1NiwxMCArMTQwNTMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuaAogKwogK2V4dGVybiB2 b2lkIG1hcmtlciAodm9pZCk7CiArZXh0ZXJuIHZvaWQgZm9ya29mZiAoaW50IG5yKTsKLUluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRyYWNlL3N0YXAtdHJhY2Uu YworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudHJhY2Uvc3Rh cC10cmFjZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dk Yi50cmFjZS9zdGFwLXRyYWNlLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLnRyYWNlL3N0YXAtdHJh Y2UuYwkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw3MSBA QAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiAr CkBAIC0xNDEzMiwxMCArMTQxMjksMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIudHJhY2Uvc3RhcC10cmFjZS5jCiArCiArICByZXR1cm4gMDsKICt9Ci1J bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi50cmFjZS9zdGFwLXRy YWNlLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudHJh Y2Uvc3RhcC10cmFjZS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0 c3VpdGUvZ2RiLnRyYWNlL3N0YXAtdHJhY2UuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAw MDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi50cmFj ZS9zdGFwLXRyYWNlLmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAg LTAsMCArMSwxMjkgQEAKICsjIENvcHlyaWdodCAyMDExCiArIyBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KQEAgLTE0MjY2LDEwICsxNDI2MywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi50cmFjZS9zdGFwLXRyYWNlLmV4cAogKwogKyMgRmlu aXNoZWQhCiArZ2RiX3Rlc3QgInRmaW5kIG5vbmUiICIuKiIgIiIKLUluZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNzAzL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4y LjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDExLTAzLTI1IDE0 OjA4OjExLjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3Rz dWl0ZS9saWIvZ2RiLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0t IGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTEt MDMtMjUgMTQ6MDg6MTEuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9n ZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICsw MjAwCiBAQCAtMTQxLDYgKzE0MSwxMSBAQCBwcm9jIGdkYl91bmxvYWQge30gewogIAkgICAgc2Vu ZF9nZGIgInlcbiIKICAJICAgIGV4cF9jb250aW51ZQpAQCAtMTQyODIsMTAgKzE0Mjc5LDEwIEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKICAJ LXJlICJEaXNjYXJkIHN5bWJvbCB0YWJsZSBmcm9tIC4qeSBvciBuLiokIiB7CiAgCSAgICBzZW5k X2dkYiAieVxuIgogIAkgICAgZXhwX2NvbnRpbnVlCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcw My9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45 MC4yMDExMDUyNS5vcmlnL2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAJMjAxMS0wMS0wMSAx NjozMzo1Mi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0 c3VpdGUvbGliL3Bhc2NhbC5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAK Ky0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2FsLmV4 cAkyMDExLTAxLTAxIDE2OjMzOjUyLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAx MTA3MDMvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2FsLmV4cAkyMDExLTA3LTAzIDEwOjMzOjExLjAw MDAwMDAwMCArMDIwMAogQEAgLTM3LDYgKzM3LDkgQEAgcHJvYyBwYXNjYWxfaW5pdCB7fSB7CiAg ICAgIGdsb2JhbCBwYXNjYWxfY29tcGlsZXJfaXNfZnBjCiAgICAgIGdsb2JhbCBncGNfY29tcGls ZXIKQEAgLTE0MzE3LDEwICsxNDMxNCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCiAgICAgIH0KICAgICAgc2V0IHBhc2NhbF9pbml0 X2RvbmUgMQogIH0gICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90aHJlYWQuYwor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3RocmVhZC5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi90aHJlYWQuYwkyMDExLTA0LTE5IDE3OjI0OjQ5 LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3RocmVhZC5jCTIw MTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcw My5vcmlnL2dkYi90aHJlYWQuYwkyMDExLTA0LTE5IDE3OjI0OjQ5LjAwMDAwMDAwMCArMDIwMAor KysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3RocmVhZC5jCTIwMTEtMDctMDMgMTA6MzM6MTEu MDAwMDAwMDAwICswMjAwCiBAQCAtMTQzOCw3ICsxNDM4LDggQEAgdXBkYXRlX3RocmVhZF9saXN0 ICh2b2lkKQogICAgIG5vIHRocmVhZCBpcyBzZWxlY3RlZCwgb3Igbm8gdGhyZWFkcyBleGlzdC4g ICovCiAgCkBAIC0xNDM1NCwxMCArMTQzNTEsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3RocmVhZC5jCiAtICBjcmVhdGVfaW50ZXJuYWx2YXJfdHlwZV9sYXp5ICgiX3RocmVh ZCIsIHRocmVhZF9pZF9tYWtlX3ZhbHVlKTsKICsgIGNyZWF0ZV9pbnRlcm5hbHZhcl90eXBlX2xh enkgKCJfdGhyZWFkIiwgJnRocmVhZF9mdW5jcywgTlVMTCk7CiAgfQotSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL3RvcC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdG9w LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3RvcC5jCTIw MTEtMDMtMTIgMjM6NTk6MjQuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvdG9wLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3RvcC5jCTIwMTEtMDMtMTIgMjM6NTk6MjQuMDAwMDAw MDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdG9wLmMJMjAxMS0wNy0wMyAx MDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zNDMsNiArMzQzLDkgQEAgdm9pZAogIHByZXBh cmVfZXhlY3V0ZV9jb21tYW5kICh2b2lkKQogIHsKQEAgLTE0MzY4LDEwICsxNDM2NSwxMCBAQCBJ bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdG9wLmMKICAKICAgIC8qIFdpdGggbXVsdGlw bGUgdGhyZWFkcyBydW5uaW5nIHdoaWxlIHRoZSBvbmUgd2UncmUgZXhhbWluaW5nIGlzCiAgICAg ICBzdG9wcGVkLCB0aGUgZGNhY2hlIGNhbiBnZXQgc3RhbGUgd2l0aG91dCB1cyBiZWluZyBhYmxl IHRvIGRldGVjdAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3RyYWNlcG9pbnQuYwor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3RyYWNlcG9pbnQuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvdHJhY2Vwb2ludC5jCTIwMTEtMDUtMjAg MTY6Mzc6NDIuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdHJh Y2Vwb2ludC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcu Mi45MC4yMDExMDcwMy5vcmlnL2dkYi90cmFjZXBvaW50LmMJMjAxMS0wNy0wMiAyMTozMzoxMC4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90cmFjZXBvaW50LmMJ MjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xNjAzLDYgKzE2MDMsOCBA QCBzdGFydF90cmFjaW5nICh2b2lkKQogIAogICAgZm9yIChpeCA9IDA7IFZFQ19pdGVyYXRlIChi cmVha3BvaW50X3AsIHRwX3ZlYywgaXgsIHQpOyBpeCsrKQpAQCAtMTQ0NTUsMTAgKzE0NDUyLDEw IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90cmFjZXBvaW50LmMKICAKICAgIHRy YWNlZnJhbWVfbnVtYmVyID0gLTE7CiAgICB0cmFjZXBvaW50X251bWJlciA9IC0xOwotSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3R5cGVwcmludC5jCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDcwMy9nZGIvdHlwZXByaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEw NTI1Lm9yaWcvZ2RiL3R5cGVwcmludC5jCTIwMTEtMDEtMTEgMjI6NTM6MjUuMDAwMDAwMDAwICsw MTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdHlwZXByaW50LmMJMjAxMS0wNS0yNSAx NzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2Ri L3R5cGVwcmludC5jCTIwMTEtMDEtMTEgMjI6NTM6MjUuMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuMi45MC4yMDExMDcwMy9nZGIvdHlwZXByaW50LmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAw MDAwMDAgKzAyMDAKIEBAIC0zNiw2ICszNiw3IEBACiAgI2luY2x1ZGUgImdkYl9zdHJpbmcuaCIK ICAjaW5jbHVkZSAiZXhjZXB0aW9ucy5oIgpAQCAtMTQ1MTIsMTAgKzE0NTA5LDEwIEBAIEluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90eXBlcHJpbnQuYwogIH0KICAKICBzdGF0aWMgdm9p ZAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3V0aWxzLmMKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNzAzL2dkYi91dGlscy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDEx MDUyNS5vcmlnL2dkYi91dGlscy5jCTIwMTEtMDUtMTcgMjM6MjY6MjguMDAwMDAwMDAwICswMjAw Ci0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdXRpbHMuYwkyMDExLTA1LTI1IDE3OjA1OjIx LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvdXRpbHMu YwkyMDExLTA1LTE3IDIzOjI2OjI4LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAx MTA3MDMvZ2RiL3V0aWxzLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBA IC0yMjQzLDYgKzIyNDMsMzYgQEAgc2V0X2JhdGNoX2ZsYWdfYW5kX21ha2VfY2xlYW51cF9yZXN0 b3JlXwogICAgcmV0dXJuIGJhY2tfdG87CiAgfQpAQCAtMTQ1NTMsMTAgKzE0NTUwLDEwIEBAIElu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi91dGlscy5jCiAgLyogU2V0IHRoZSBzY3JlZW4g c2l6ZSBiYXNlZCBvbiBMSU5FU19QRVJfUEFHRSBhbmQgQ0hBUlNfUEVSX0xJTkUuICAqLwogIAog IHN0YXRpYyB2b2lkCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdmFsYXJpdGguYwor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3ZhbGFyaXRoLmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3ZhbGFyaXRoLmMJMjAxMS0wMi0xOCAyMDox MDo0Ni4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi92YWxhcml0 aC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4y MDExMDcwMy5vcmlnL2dkYi92YWxhcml0aC5jCTIwMTEtMDItMTggMjA6MTA6NDYuMDAwMDAwMDAw ICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdmFsYXJpdGguYwkyMDExLTA3LTAz IDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTE5OCw3ICsxOTgsMTAgQEAgdmFsdWVfc3Vi c2NyaXB0ZWRfcnZhbHVlIChzdHJ1Y3QgdmFsdWUgKgogICAgc3RydWN0IHR5cGUgKmFycmF5X3R5 cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcnJheSkpOwogICAgc3RydWN0IHR5cGUg KmVsdF90eXBlID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9UQVJHRVRfVFlQRSAoYXJyYXlfdHlwZSkp OwpAQCAtMTQ1ODAsMTAgKzE0NTc3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi92YWxhcml0aC5jCiAgICByZXR1cm4gYmlub3BfdHlwZXNfdXNlcl9kZWZpbmVkX3AgKG9wLCB2 YWx1ZV90eXBlIChhcmcxKSwgdmFsdWVfdHlwZSAoYXJnMikpOwogIH0KICAKLUluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi92YWxvcHMuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMv Z2RiL3ZhbG9wcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dk Yi92YWxvcHMuYwkyMDExLTAzLTI5IDE5OjA0OjMwLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3ZhbG9wcy5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAw ICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi92YWxvcHMuYwkyMDExLTAz LTI5IDE5OjA0OjMwLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L3ZhbG9wcy5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtNDcsNiAr NDcsNyBAQAogICNpbmNsdWRlICJvYmpmaWxlcy5oIgogICNpbmNsdWRlICJzeW10YWIuaCIKQEAg LTE0NzM1LDEwICsxNDczMiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdmFs b3BzLmMKICAgIGlmIChUWVBFX0NPREUgKGFycmF5X3R5cGUpID09IFRZUEVfQ09ERV9CSVRTVFJJ TkcpCiAgICAgIHsKICAgICAgICBpbnQgaTsKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi92YWxwcmludC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvdmFscHJpbnQuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvdmFscHJpbnQuYwky MDExLTA0LTI5IDIxOjIzOjA1LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3ZhbHByaW50LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0t LSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3ZhbHByaW50LmMJMjAxMS0wNC0yOSAyMToy MzowNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi92YWxwcmlu dC5jCTIwMTEtMDctMDMgMTA6MzM6MTEuMDAwMDAwMDAwICswMjAwCiBAQCAtMzYsNiArMzYsNyBA QAogICNpbmNsdWRlICJkZnAuaCIKICAjaW5jbHVkZSAicHl0aG9uL3B5dGhvbi5oIgpAQCAtMTQ4 MDgsMTAgKzE0ODA1LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi92YWxwcmlu dC5jCiAgfQogIAogIC8qIFJlYWQgTEVOIGJ5dGVzIG9mIHRhcmdldCBtZW1vcnkgYXQgYWRkcmVz cyBNRU1BRERSLCBwbGFjaW5nIHRoZQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Zh bHVlLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi92YWx1ZS5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi92YWx1ZS5jCTIwMTEtMDItMjcgMjE6 NTc6MTUuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdmFsdWUu YwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAx MTA3MDMub3JpZy9nZGIvdmFsdWUuYwkyMDExLTAyLTI3IDIxOjU3OjE1LjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3ZhbHVlLmMJMjAxMS0wNy0wMyAxMDozMzox MS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00Myw2ICs0Myw3IEBACiAgI2luY2x1ZGUgInB5dGhvbi9w eXRob24uaCIKICAjaW5jbHVkZSA8Y3R5cGUuaD4KQEAgLTE1MDg3LDEwICsxNTA4NCwxMCBAQCBJ bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdmFsdWUuYwogKyAgb2JzZXJ2ZXJfYXR0YWNo X21hcmtfdXNlZCAodmFsdWVfdHlwZXNfbWFya191c2VkKTsKICsjZW5kaWYKICB9Ci1JbmRleDog Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdmFsdWUuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3 MDMvZ2RiL3ZhbHVlLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcv Z2RiL3ZhbHVlLmgJMjAxMS0wMy0wNCAyMTowNzoyMi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi92YWx1ZS5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAw ICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL2dkYi92YWx1ZS5oCTIwMTEtMDMt MDQgMjE6MDc6MjIuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIv dmFsdWUuaAkyMDExLTA3LTAzIDEwOjMzOjExLjAwMDAwMDAwMCArMDIwMAogQEAgLTQ3Myw2ICs0 NzMsMTAgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfZnJvbV9kZWNmbG9hdAogIAkJCQkJ ICBjb25zdCBnZGJfYnl0ZSAqZGVjYnl0ZXMpOwogIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVl X2Zyb21faGlzdG9yeV9yZWYgKGNoYXIgKiwgY2hhciAqKik7CkBAIC0xNTE1OCwxMCArMTUxNTUs MTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3ZhbHVlLmgKICAKICBleHRlcm4g c3RydWN0IGludGVybmFsdmFyICpsb29rdXBfaW50ZXJuYWx2YXIgKGNvbnN0IGNoYXIgKm5hbWUp OwogIAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3dpbmRvd3MtdGRlcC5jCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvd2luZG93cy10ZGVwLmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3dpbmRvd3MtdGRlcC5jCTIwMTEtMDEtMTIg MDI6MjM6MjkuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvd2lu ZG93cy10ZGVwLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3dpbmRvd3MtdGRlcC5jCTIwMTEtMDEtMTIgMDI6MjM6 MjkuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIvd2luZG93cy10 ZGVwLmMJMjAxMS0wNy0wMyAxMDozMzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0yNjgsNyArMjY4 LDcgQEAgc3RhdGljIHN0cnVjdCBsdmFsX2Z1bmNzIHRsYl92YWx1ZV9mdW5jcwogICAgIGlmIHRo ZXJlJ3Mgbm8gb2JqZWN0IGF2YWlsYWJsZS4gICovCiAgCkBAIC0xNTE5NCwxMCArMTUxOTEsMTAg QEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3dpbmRvd3MtdGRlcC5jCiAtICBjcmVh dGVfaW50ZXJuYWx2YXJfdHlwZV9sYXp5ICgiX3RsYiIsIHRsYl9tYWtlX3ZhbHVlKTsKICsgIGNy ZWF0ZV9pbnRlcm5hbHZhcl90eXBlX2xhenkgKCJfdGxiIiwgJnRsYl9mdW5jcywgTlVMTCk7CiAg fQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3hjb2ZmcmVhZC5jCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDcwMy9nZGIveGNvZmZyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4y LjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3hjb2ZmcmVhZC5jCTIwMTEtMDMtMDcgMTc6MTc6MjkuMDAw MDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIveGNvZmZyZWFkLmMJMjAx MS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAz Lm9yaWcvZ2RiL3hjb2ZmcmVhZC5jCTIwMTEtMDMtMDcgMTc6MTc6MjkuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9nZGIveGNvZmZyZWFkLmMJMjAxMS0wNy0wMyAxMDoz MzoxMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zMDkwLDYgKzMwOTAsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHN5bV9mbnMgeGNvZmZfc3ltX2ZuCiAgICBkZWZhdWx0X3N5bWZpbGVfc2VnbWVudHMs CS8qIEdldCBzZWdtZW50IGluZm9ybWF0aW9uIGZyb20gYSBmaWxlLiAgKi8KICAgIGFpeF9wcm9j ZXNzX2xpbmVub3MsCgpkaWZmIC0tZ2l0IGEvZ2RiLWJ6NzAxMTMxLXJlYWRsaW5lNjItMW9mMy5w YXRjaCBiL2dkYi1iejcwMTEzMS1yZWFkbGluZTYyLTFvZjMucGF0Y2gKaW5kZXggZTkzZWJlMy4u NThiYTdiYyAxMDA2NDQKLS0tIGEvZ2RiLWJ6NzAxMTMxLXJlYWRsaW5lNjItMW9mMy5wYXRjaAor KysgYi9nZGItYno3MDExMzEtcmVhZGxpbmU2Mi0xb2YzLnBhdGNoCkBAIC0xLDkgKzEsMTEgQEAK IGFyY2hlci1qYW5rcmF0b2NodmlsLXJlYWRsaW5lNjIKIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKIAotLS0tIGEvZ2RiL2NvbmZpZy5pbgotKysrIGIvZ2RiL2NvbmZp Zy5pbgotQEAgLTk0Nyw5ICs5NDcsNiBAQAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2Ri L2NvbmZpZy5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIv Y29uZmlnLmluCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDcwMy9nZGIvY29uZmlnLmluCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAw ICswMjAwCitAQCAtOTUzLDkgKzk1Myw2IEBACiAgLyogRGVmaW5lIHRvIGBpbnQnIGlmIDxzeXMv dHlwZXMuaD4gZG9lcyBub3QgZGVmaW5lLiAqLwogICN1bmRlZiBwaWRfdAogIApAQCAtMTMsOSAr MTUsMTEgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIC8qIERl ZmluZSB0byB0aGUgZXF1aXZhbGVudCBvZiB0aGUgQzk5ICdyZXN0cmljdCcga2V5d29yZCwgb3Ig dG8KICAgICBub3RoaW5nIGlmIHRoaXMgaXMgbm90IHN1cHBvcnRlZC4gIERvIG5vdCBkZWZpbmUg aWYgcmVzdHJpY3QgaXMKICAgICBzdXBwb3J0ZWQgZGlyZWN0bHkuICAqLwotLS0tIGEvZ2RiL2Nv bmZpZ3VyZQotKysrIGIvZ2RiL2NvbmZpZ3VyZQotQEAgLTk3NDMsMzkgKzk3NDMsNiBAQCBpZiB0 ZXN0ICIkd2l0aF9zeXN0ZW1fcmVhZGxpbmUiID0geWVzOyB0aGVuCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDcwMy9nZGIvY29uZmlndXJlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDEx MDcwMy5vcmlnL2dkYi9jb25maWd1cmUJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL2dkYi9jb25maWd1cmUJMjAxMS0wNy0wMyAxMDo0 MToyMS4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xMDIzNSwzOSArMTAyMzUsNiBAQCBpZiB0ZXN0ICIk d2l0aF9zeXN0ZW1fcmVhZGxpbmUiID0geWVzOyB0CiAgICBSRUFETElORV9ERVBTPQogICAgUkVB RExJTkVfQ0ZMQUdTPQogICAgUkVBRExJTkVfVEVYSV9JTkNGTEFHPQpAQCAtNTUsOSArNTksMTEg QEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIGVsc2UKICAgIFJF QURMSU5FPSckKFJFQURMSU5FX0RJUikvbGlicmVhZGxpbmUuYScKICAgIFJFQURMSU5FX0RFUFM9 JyQoUkVBRExJTkUpJwotLS0tIGEvZ2RiL2NvbmZpZ3VyZS5hYwotKysrIGIvZ2RiL2NvbmZpZ3Vy ZS5hYwotQEAgLTUzOSwyMSArNTM5LDYgQEAgaWYgdGVzdCAiJHdpdGhfc3lzdGVtX3JlYWRsaW5l IiA9IHllczsgdGhlbgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL2NvbmZpZ3VyZS5h YworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9nZGIvY29uZmlndXJl LmFjCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4y MDExMDcwMy9nZGIvY29uZmlndXJlLmFjCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICsw MjAwCitAQCAtNzMyLDIxICs3MzIsNiBAQCBpZiB0ZXN0ICIkd2l0aF9zeXN0ZW1fcmVhZGxpbmUi ID0geWVzOyB0CiAgICBSRUFETElORV9ERVBTPQogICAgUkVBRExJTkVfQ0ZMQUdTPQogICAgUkVB RExJTkVfVEVYSV9JTkNGTEFHPQpAQCAtNzksOSArODUsMTEgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRk ZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIGVsc2UKICAgIFJFQURMSU5FPSckKFJFQURMSU5FX0RJ UikvbGlicmVhZGxpbmUuYScKICAgIFJFQURMSU5FX0RFUFM9JyQoUkVBRExJTkUpJwotLS0tIGEv Z2RiL3R1aS90dWktaW8uYwotKysrIGIvZ2RiL3R1aS90dWktaW8uYwotQEAgLTEzMyw3ICsxMzMs NyBAQCBzdGF0aWMgRnVuY3Rpb24gKnR1aV9vbGRfcmxfZ2V0Y19mdW5jdGlvbjsKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNzAzL2dkYi90dWkvdHVpLWlvLmMKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNzAzLm9yaWcvZ2RiL3R1aS90dWktaW8uYwkyMDExLTA3LTAzIDEwOjQwOjUz LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvZ2RiL3R1aS90dWktaW8u YwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAorQEAgLTEzMyw3ICsxMzMsNyBA QCBzdGF0aWMgRnVuY3Rpb24gKnR1aV9vbGRfcmxfZ2V0Y19mdW5jdGlvCiAgc3RhdGljIFZGdW5j dGlvbiAqdHVpX29sZF9ybF9yZWRpc3BsYXlfZnVuY3Rpb247CiAgc3RhdGljIFZGdW5jdGlvbiAq dHVpX29sZF9ybF9wcmVwX3Rlcm1pbmFsOwogIHN0YXRpYyBWRnVuY3Rpb24gKnR1aV9vbGRfcmxf ZGVwcmVwX3Rlcm1pbmFsOwpAQCAtOTAsNyArOTgsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIy YzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgLyogUmVhZGxpbmUgb3V0cHV0IHN0cmVhbS4KICAgICBT aG91bGQgYmUgcmVtb3ZlZCB3aGVuIHJlYWRsaW5lIGlzIGNsZWFuLiAgKi8KLUBAIC01MDYsOCAr NTA2LDggQEAgdHVpX3JsX2Rpc3BsYXlfbWF0Y2hfbGlzdCAoY2hhciAqKm1hdGNoZXMsIGludCBs ZW4sIGludCBtYXgpCitAQCAtNTA2LDggKzUwNiw4IEBAIHR1aV9ybF9kaXNwbGF5X21hdGNoX2xp c3QgKGNoYXIgKiptYXRjaGUKICB2b2lkCiAgdHVpX3NldHVwX2lvIChpbnQgbW9kZSkKICB7CkBA IC0xMjUsOCArMTMzLDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICAgICAgICBybF9hbHJlYWR5X3Byb21wdGVkID0gMDsKICAKICAgICAgICAvKiBTYXZlIHR0 eSBmb3IgU0lHQ09OVC4gICovCi0tLS0gYS9yZWFkbGluZS9DSEFOR0VMT0cKLSsrKyBiL3JlYWRs aW5lL0NIQU5HRUxPRworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvQ0hBTkdF TE9HCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL0NI QU5HRUxPRwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIu OTAuMjAxMTA3MDMvcmVhZGxpbmUvQ0hBTkdFTE9HCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAw MDAwICswMjAwCiBAQCAtOTE4LDMgKzkxOCwxNzggQEAgY29uZmlndXJlLmluCiAgCS0gY2hhbmdl ZCByZWxlYXNlIHN0YXR1cyB0byBgcmVsZWFzZScKICAKQEAgLTMwNiw4ICszMTYsMTAgQEAgYjEz NzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogKwkJCQkgICAtLS0tLQogK3tl eGFtcGxlcyxzaGxpYn0vTWFrZWZpbGUuaW4KICsJLSBDeWd3aW4tYmFzZWQgY2hhbmdlcyBmcm9t IEVyaWMgQmxha2UgPGVibGFrZUByZWRoYXQuY29tPgotLS0tIGEvcmVhZGxpbmUvQ0hBTkdFUwot KysrIGIvcmVhZGxpbmUvQ0hBTkdFUworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxp bmUvQ0hBTkdFUworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFk bGluZS9DSEFOR0VTCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2Ri LTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9DSEFOR0VTCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAw MDAwMDAwICswMjAwCiBAQCAtMSwzICsxLDMyMCBAQAogK1RoaXMgZG9jdW1lbnQgZGV0YWlscyB0 aGUgY2hhbmdlcyBiZXR3ZWVuIHRoaXMgdmVyc2lvbiwgcmVhZGxpbmUtNi4yLAogK2FuZCB0aGUg cHJldmlvdXMgdmVyc2lvbiwgcmVhZGxpbmUtNi4xLgpAQCAtNjI5LDggKzY0MSwxMCBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgVGhpcyBkb2N1bWVudCBkZXRh aWxzIHRoZSBjaGFuZ2VzIGJldHdlZW4gdGhpcyB2ZXJzaW9uLCByZWFkbGluZS01LjEsCiAgYW5k IHRoZSBwcmV2aW91cyB2ZXJzaW9uLCByZWFkbGluZS01LjAuCiAgCi0tLS0gYS9yZWFkbGluZS9D T1BZSU5HCi0rKysgYi9yZWFkbGluZS9DT1BZSU5HCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcw My9yZWFkbGluZS9DT1BZSU5HCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5v cmlnL3JlYWRsaW5lL0NPUFlJTkcJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL0NPUFlJTkcJMjAxMS0wNy0wMyAxMDo0 MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI4NSArMSw2MjYgQEAKIC0JCSAgICBHTlUgR0VO RVJBTCBQVUJMSUMgTElDRU5TRQogLQkJICAgICAgIFZlcnNpb24gMiwgSnVuZSAxOTkxCkBAIC02 NzIsMTQgKzY4NiwxNSBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNh CiAtdGhpcyBzZXJ2aWNlIGlmIHlvdSB3aXNoKSwgdGhhdCB5b3UgcmVjZWl2ZSBzb3VyY2UgY29k ZSBvciBjYW4gZ2V0IGl0CiAtaWYgeW91IHdhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhl IHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQKIC1pbiBuZXcgZnJlZSBwcm9ncmFtczsgYW5k IHRoYXQgeW91IGtub3cgeW91IGNhbiBkbyB0aGVzZSB0aGluZ3MuCi0rdGhlbSBpZiB5b3Ugd2lz aCksIHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldCBpdCBpZiB5b3UKLSt3 YW50IGl0LCB0aGF0IHlvdSBjYW4gY2hhbmdlIHRoZSBzb2Z0d2FyZSBvciB1c2UgcGllY2VzIG9m IGl0IGluIG5ldwotK2ZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8g dGhlc2UgdGhpbmdzLgotIAorLQogLSAgVG8gcHJvdGVjdCB5b3VyIHJpZ2h0cywgd2UgbmVlZCB0 byBtYWtlIHJlc3RyaWN0aW9ucyB0aGF0IGZvcmJpZAogLWFueW9uZSB0byBkZW55IHlvdSB0aGVz ZSByaWdodHMgb3IgdG8gYXNrIHlvdSB0byBzdXJyZW5kZXIgdGhlIHJpZ2h0cy4KIC1UaGVzZSBy ZXN0cmljdGlvbnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IgeW91 IGlmIHlvdQogLWRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBzb2Z0d2FyZSwgb3IgaWYgeW91IG1v ZGlmeSBpdC4KKyt0aGVtIGlmIHlvdSB3aXNoKSwgdGhhdCB5b3UgcmVjZWl2ZSBzb3VyY2UgY29k ZSBvciBjYW4gZ2V0IGl0IGlmIHlvdQorK3dhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhl IHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CisrZnJlZSBwcm9ncmFtcywgYW5k IHRoYXQgeW91IGtub3cgeW91IGNhbiBkbyB0aGVzZSB0aGluZ3MuCisrCiArICBUbyBwcm90ZWN0 IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UK ICt0aGVzZSByaWdodHMgb3IgYXNraW5nIHlvdSB0byBzdXJyZW5kZXIgdGhlIHJpZ2h0cy4gIFRo ZXJlZm9yZSwgeW91IGhhdmUKICtjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgaWYgeW91IGRpc3Ry aWJ1dGUgY29waWVzIG9mIHRoZSBzb2Z0d2FyZSwgb3IgaWYKQEAgLTEzOTEsOSArMTQwNiw2IEBA IGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIC10aG9zZSBjb3VudHJp ZXMsIHNvIHRoYXQgZGlzdHJpYnV0aW9uIGlzIHBlcm1pdHRlZCBvbmx5IGluIG9yIGFtb25nCiAt Y291bnRyaWVzIG5vdCB0aHVzIGV4Y2x1ZGVkLiAgSW4gc3VjaCBjYXNlLCB0aGlzIExpY2Vuc2Ug aW5jb3Jwb3JhdGVzCiAtdGhlIGxpbWl0YXRpb24gYXMgaWYgd3JpdHRlbiBpbiB0aGUgYm9keSBv ZiB0aGlzIExpY2Vuc2UuCi0tCi0tICA5LiBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1h eSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucwotLW9mIHRoZSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMgd2lsbAog K2V4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3Ug Y2Fubm90IGNvbnZleSBhCiArY292ZXJlZCB3b3JrIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5l b3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzCiArTGljZW5zZSBhbmQgYW55IG90aGVy IHBlcnRpbmVudCBvYmxpZ2F0aW9ucywgdGhlbiBhcyBhIGNvbnNlcXVlbmNlIHlvdSBtYXkKQEAg LTE0MTQsNyArMTQyNiw5IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICtjb21iaW5hdGlvbiBhcyBzdWNoLgogKwogKyAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2Yg dGhpcyBMaWNlbnNlLgotKworIAorLSAgOS4gVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBt YXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMKKy1vZiB0aGUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4gIFN1Y2ggbmV3IHZlcnNpb25zIHdpbGwK ICsgIFRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gbWF5IHB1Ymxpc2ggcmV2aXNlZCBhbmQv b3IgbmV3IHZlcnNpb25zIG9mCiArdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20g dGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMgd2lsbAogIGJlIHNpbWlsYXIgaW4gc3Bp cml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwpA QCAtMTUxOCw3ICsxNTMyLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0 ZjQzYQogIAogICAgSWYgeW91IGRldmVsb3AgYSBuZXcgcHJvZ3JhbSwgYW5kIHlvdSB3YW50IGl0 IHRvIGJlIG9mIHRoZSBncmVhdGVzdAogIHBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUg YmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKLUBAIC0yODcsMTUgKzYyOCwx NSBAQCBmcmVlIHNvZnR3YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3RyaWJ1dGUgYW5kIGNo YW5nZSB1bmRlciB0aGVzZSB0ZXJtcy4KK0BAIC0yODcsMTUgKzYyOCwxNSBAQCBmcmVlIHNvZnR3 YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3RyCiAgCiAgICBUbyBkbyBzbywgYXR0YWNoIHRo ZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gIEl0IGlzIHNhZmVzdAogIHRvIGF0 dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0 aXZlbHkKQEAgLTE1MzgsNyArMTU1Miw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRk ZDY4ZDFhNGY0M2EKICAgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAK ICAgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCi1AQCAtMzA0LDM2ICs2NDUsMzAgQEAgdGhlICJjb3B5cmlnaHQiIGxpbmUg YW5kIGEgcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuCitAQCAtMzA0 LDM2ICs2NDUsMzAgQEAgdGhlICJjb3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3aAog ICAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogIAogICAg ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQpAQCAtMTU5NCw4ICsxNjA4LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICt0aGUgbGlicmFyeS4gIElmIHRoaXMgaXMgd2hhdCB5b3Ugd2Fu dCB0byBkbywgdXNlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwKICtQdWJsaWMgTGljZW5zZSBpbnN0 ZWFkIG9mIHRoaXMgTGljZW5zZS4gIEJ1dCBmaXJzdCwgcGxlYXNlIHJlYWQKICs8aHR0cDovL3d3 dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+LgotLS0tIGEvcmVhZGxpbmUv Q2hhbmdlTG9nLmdkYgotKysrIGIvcmVhZGxpbmUvQ2hhbmdlTG9nLmdkYgorSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvQ2hhbmdlTG9nLmdkYgorPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdk Yi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9DaGFuZ2VMb2cuZ2RiCTIwMTEtMDctMDMg MTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGlu ZS9DaGFuZ2VMb2cuZ2RiCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAt MSwzICsxLDEyIEBACiArMjAxMS0wNC0zMCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZp bEByZWRoYXQuY29tPgogKwpAQCAtMTYwNiwxMSArMTYyMiwxMyBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArCiArCUltcG9ydGVkIHJlYWRsaW5lIDYuMiwgYW5k IHVwc3RyZWFtIHBhdGNoIDAwMS4KICsKLSAyMDExLTAzLTA0ICBNaWNoYWVsIFNueWRlciAgPG1z bnlkZXJAdm13YXJlLmNvbT4KKyAyMDExLTA2LTI3ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0 b2NodmlsQHJlZGhhdC5jb20+CiAgCi0gCSogYmluZC5jIChybF9mdW5jdGlvbl9kdW1wZXIpOiBG cmVlIGFsbG9jYXRlZCBtZW1vcnkuCi0tLS0gYS9yZWFkbGluZS9JTlNUQUxMCi0rKysgYi9yZWFk bGluZS9JTlNUQUxMCisgCUF2b2lkIGZyZWUgZnJvbSBhIHNpZ25hbCBoYW5kbGVyLgorSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvSU5TVEFMTAorPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdk Yi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9JTlNUQUxMCTIwMTEtMDctMDMgMTA6NDA6 NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9JTlNU QUxMCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSw3ICsxLDcgQEAK ICBCYXNpYyBJbnN0YWxsYXRpb24KICA9PT09PT09PT09PT09PT09PT0KQEAgLTE2MjAsOCArMTYz OCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgVGhl IHNpbXBsZXN0IHdheSB0byBjb21waWxlIHJlYWRsaW5lIGlzOgogIAotLS0tIGEvcmVhZGxpbmUv TUFOSUZFU1QKLSsrKyBiL3JlYWRsaW5lL01BTklGRVNUCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDcwMy9yZWFkbGluZS9NQU5JRkVTVAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3 MDMub3JpZy9yZWFkbGluZS9NQU5JRkVTVAkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvTUFOSUZFU1QJMjAxMS0wNy0w MyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zLDYgKzMsNyBAQAogICMKICBkb2MJCWQK QEAgLTE2NzcsMjcgKzE2OTcsMjEgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogICMgZm9ybWF0dGVkIGRvY3VtZW50YXRpb24sIGZyb20gTUFOSUZFU1QuZG9jCiAg ZG9jL3JlYWRsaW5lLnBzCQlmCiAgZG9jL2hpc3RvcnkucHMJCWYKLS0tLSBhL3JlYWRsaW5lL01h a2VmaWxlLmluCi0rKysgYi9yZWFkbGluZS9NYWtlZmlsZS5pbgorSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA3MDMvcmVhZGxpbmUvTWFrZWZpbGUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkw LjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvTWFrZWZpbGUuaW4JMjAxMS0wNy0wMyAxMDo0MDo1My4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL01ha2VmaWxl LmluCTIwMTEtMDctMDMgMTA6NDM6MzYuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyMCArMSwyMCBA QAogICMjIC0qLSB0ZXh0IC0qLSAjIwogICMgTWFzdGVyIE1ha2VmaWxlIGZvciB0aGUgR05VIHJl YWRsaW5lIGxpYnJhcnkuCiAtIyBDb3B5cmlnaHQgKEMpIDE5OTQtMjAwNCBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KICsjIENvcHlyaWdodCAoQykgMTk5NC0yMDA5IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgotIAotLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLS0jIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0t IyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQg eW91ciBvcHRpb24pCi0tIyBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKICsjICAgVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK ICsjICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKICsjICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKICsjICAgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KLSAKLS0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLS0jIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLS0jIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCiArIyAgIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAogKyMgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgogKyMgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkBAIC0xNzA2LDYgKzE3MjAsMTYgQEAgYjEzNzA2YWJi ZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogKyMgICBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKyMgICBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4KICAKKy0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CistIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLSMgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9u KQorLSMgYW55IGxhdGVyIHZlcnNpb24uCistCistIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0jIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCistIyBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl CistIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLQogLSMg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UKIC0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRo ZSBGcmVlIFNvZnR3YXJlCiAtIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1 aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMSBVU0EuCkBAIC0xNzMwLDcgKzE3NTQsNyBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgQ1RBR1MgPSBjdGFncyAtdHcK ICAKICBDRkxBR1MgPSBAQ0ZMQUdTQAotQEAgLTEwMCw4ICsxMDAsNiBAQCBHQ0NfTElOVF9DRkxB R1MgPSAkKFhDQ0ZMQUdTKSAkKEdDQ19MSU5UX0ZMQUdTKSBAQ0ZMQUdTQCBATE9DQUxfQ0ZMQUdT QAorQEAgLTEwMCw4ICsxMDAsNiBAQCBHQ0NfTElOVF9DRkxBR1MgPSAkKFhDQ0ZMQUdTKSAkKEdD Q19MSU5UCiAgTElCUkFSWV9OQU1FID0gbGlicmVhZGxpbmUuYQogIFNUQVRJQ19MSUJTID0gbGli cmVhZGxpbmUuYSBsaWJoaXN0b3J5LmEKICAKQEAgLTE3MzksNyArMTc2Myw3IEBAIGIxMzcwNmFi YmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAjIFRoZSBDIGNvZGUgc291cmNlIGZp bGVzIGZvciB0aGlzIGxpYnJhcnkuCiAgQ1NPVVJDRVMgPSAkKHNyY2RpcikvcmVhZGxpbmUuYyAk KHNyY2RpcikvZnVubWFwLmMgJChzcmNkaXIpL2tleW1hcHMuYyBcCiAgCSAgICQoc3JjZGlyKS92 aV9tb2RlLmMgJChzcmNkaXIpL3BhcmVucy5jICQoc3JjZGlyKS9ybHR0eS5jIFwKLUBAIC0xMDks MjYgKzEwNywyOCBAQCBDU09VUkNFUyA9ICQoc3JjZGlyKS9yZWFkbGluZS5jICQoc3JjZGlyKS9m dW5tYXAuYyAkKHNyY2Rpcikva2V5bWFwcy5jIFwKK0BAIC0xMDksMjYgKzEwNywyOCBAQCBDU09V UkNFUyA9ICQoc3JjZGlyKS9yZWFkbGluZS5jICQoc3JjZGlyCiAgCSAgICQoc3JjZGlyKS9kaXNw bGF5LmMgJChzcmNkaXIpL3NpZ25hbHMuYyAkKHNyY2RpcikvZW1hY3Nfa2V5bWFwLmMgXAogIAkg ICAkKHNyY2Rpcikvdmlfa2V5bWFwLmMgJChzcmNkaXIpL3V0aWwuYyAkKHNyY2Rpcikva2lsbC5j IFwKICAJICAgJChzcmNkaXIpL3VuZG8uYyAkKHNyY2RpcikvbWFjcm8uYyAkKHNyY2RpcikvaW5w dXQuYyBcCkBAIC0xODAzLDcgKzE4MjcsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgCiAgbGludDoJZm9yY2UKICAJJChNQUtFKSAkKE1GTEFHUykgQ0NGTEFH Uz0nJChHQ0NfTElOVF9DRkxBR1MpJyBzdGF0aWMKLUBAIC0yMDAsNiArMTk2LDcgQEAgc3RhbXAt aDogY29uZmlnLnN0YXR1cyAkKHNyY2RpcikvY29uZmlnLmguaW4KK0BAIC0yMDAsNiArMTk2LDcg QEAgc3RhbXAtaDogY29uZmlnLnN0YXR1cyAkKHNyY2RpcikvY29uZmlnLgogICMkKHNyY2Rpcikv Y29uZmlndXJlOiAkKHNyY2RpcikvY29uZmlndXJlLmluCSMjIENvbW1lbnQtbWUtb3V0IGluIGRp c3RyaWJ1dGlvbgogICMJY2QgJChzcmNkaXIpICYmIGF1dG9jb25mCSMjIENvbW1lbnQtbWUtb3V0 IGluIGRpc3RyaWJ1dGlvbgogIApAQCAtMTg0OSw3ICsxODczLDcgQEAgYjEzNzA2YWJiZWU5NjQ2 ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAktJChNVikgJChERVNURElSKSQobGliZGlyKS9s aWJyZWFkbGluZS5hICQoREVTVERJUikkKGxpYmRpcikvbGlicmVhZGxpbmUub2xkCiAgCSQoSU5T VEFMTF9EQVRBKSBsaWJyZWFkbGluZS5hICQoREVTVERJUikkKGxpYmRpcikvbGlicmVhZGxpbmUu YQogIAktdGVzdCAtbiAiJChSQU5MSUIpIiAmJiAkKFJBTkxJQikgJChERVNURElSKSQobGliZGly KS9saWJyZWFkbGluZS5hCi1AQCAtMjUwLDcgKzI0Nyw3IEBAIGluc3RhbGxkaXJzOiAkKHNyY2Rp cikvc3VwcG9ydC9ta2luc3RhbGxkaXJzCitAQCAtMjUwLDcgKzI0Nyw3IEBAIGluc3RhbGxkaXJz OiAkKHNyY2Rpcikvc3VwcG9ydC9ta2luc3RhbGwKICAJCSQoREVTVERJUikkKGluY2x1ZGVkaXIp L3JlYWRsaW5lICQoREVTVERJUikkKGxpYmRpcikgXAogIAkJJChERVNURElSKSQoaW5mb2Rpcikg JChERVNURElSKSQobWFuM2RpcikKICAKQEAgLTE4NTgsNyArMTg4Miw3IEBAIGIxMzcwNmFiYmVl OTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAJLXRlc3QgLW4gIiQoREVTVERJUikkKGxp YmRpcikiICYmIGNkICQoREVTVERJUikkKGxpYmRpcikgJiYgXAogIAkJJHtSTX0gbGlicmVhZGxp bmUuYSBsaWJyZWFkbGluZS5vbGQgbGliaGlzdG9yeS5hIGxpYmhpc3Rvcnkub2xkICQoU0hBUkVE X0xJQlMpCiAgCS0oIGNkIHNobGliOyAke01BS0V9ICR7TUZMQUdTfSBERVNURElSPSR7REVTVERJ Un0gdW5pbnN0YWxsICkKLUBAIC0yNjEsNiArMjU4LDEyIEBAIGluc3RhbGwtc2hhcmVkOiBpbnN0 YWxsZGlycyBpbnN0YWxsLWhlYWRlcnMgc2hhcmVkIGluc3RhbGwtZG9jCitAQCAtMjYxLDYgKzI1 OCwxMiBAQCBpbnN0YWxsLXNoYXJlZDogaW5zdGFsbGRpcnMgaW5zdGFsbC1oZWFkCiAgdW5pbnN0 YWxsLXNoYXJlZDogbWF5YmUtdW5pbnN0YWxsLWhlYWRlcnMKICAJLSggY2Qgc2hsaWI7ICR7TUFL RX0gJHtNRkxBR1N9IERFU1RESVI9JHtERVNURElSfSB1bmluc3RhbGwgKQogIApAQCAtMTkwMCwy NCArMTkyNCwyNCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAg Y2hlY2s6CiAgaW5zdGFsbGNoZWNrOgogIAotQEAgLTQxNiw2ICs0MjEsOCBAQCB1dGlsLm86IHJl YWRsaW5lLmgga2V5bWFwcy5oIHJsdHlwZWRlZnMuaCBjaGFyZGVmcy5oIHRpbGRlLmggcmxzdGRj LmgKLSB2aV9tb2RlLm86IHJsZGVmcy5oICR7QlVJTERfRElSfS9jb25maWcuaCBybGNvbmYuaAor QEAgLTQxNyw3ICs0MjIsNyBAQCB2aV9tb2RlLm86IHJsZGVmcy5oICR7QlVJTERfRElSfS9jb25m aWcuCiAgdmlfbW9kZS5vOiByZWFkbGluZS5oIGtleW1hcHMuaCBybHR5cGVkZWZzLmggY2hhcmRl ZnMuaCB0aWxkZS5oCiAgdmlfbW9kZS5vOiBoaXN0b3J5LmggYW5zaV9zdGRsaWIuaCBybHN0ZGMu aAotK3hmcmVlLm86ICR7QlVJTERfRElSfS9jb25maWcuaAotK3hmcmVlLm86IGFuc2lfc3RkbGli LmgKICB4bWFsbG9jLm86ICR7QlVJTERfRElSfS9jb25maWcuaAotIHhtYWxsb2MubzogYW5zaV9z dGRsaWIuaAorLXhtYWxsb2MubzogYW5zaV9zdGRsaWIuaCByZWFkbGluZS5oCisreG1hbGxvYy5v OiBhbnNpX3N0ZGxpYi5oCiAgCi1AQCAtNDc0LDYgKzQ4MSw3IEBAIHRpbGRlLm86IHhtYWxsb2Mu aAorIGJpbmQubzogcmxzaGVsbC5oCisgaGlzdGZpbGUubzogcmxzaGVsbC5oCitAQCAtNDc0LDYg KzQ3OSw3IEBAIHRpbGRlLm86IHhtYWxsb2MuaAogIHVuZG8ubzogeG1hbGxvYy5oCiAgdXRpbC5v OiB4bWFsbG9jLmgKICB2aV9tb2RlLm86IHhtYWxsb2MuaAotK3hmcmVlLm86IHhtYWxsb2MuaAor K3hmcmVlLm86IHhtYWxsb2MuaCByZWFkbGluZS5oCiAgeG1hbGxvYy5vOiB4bWFsbG9jLmgKICAK ICBjb21wbGV0ZS5vOiBybG1idXRpbC5oCi1AQCAtNTE1LDYgKzUyMyw3IEBAIHRpbGRlLm86ICQo c3JjZGlyKS90aWxkZS5jCitAQCAtNTE1LDYgKzUyMSw3IEBAIHRpbGRlLm86ICQoc3JjZGlyKS90 aWxkZS5jCiAgdW5kby5vOiAkKHNyY2RpcikvdW5kby5jCiAgdXRpbC5vOiAkKHNyY2RpcikvdXRp bC5jCiAgdmlfbW9kZS5vOiAkKHNyY2RpcikvdmlfbW9kZS5jCkBAIC0xOTI1LDcgKzE5NDksNyBA QCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgeG1hbGxvYy5vOiAk KHNyY2RpcikveG1hbGxvYy5jCiAgCiAgaGlzdGV4cGFuZC5vOiAkKHNyY2RpcikvaGlzdGV4cGFu ZC5jCi1AQCAtNTQ5LDYgKzU1OCw3IEBAIHRpbGRlLm86IHRpbGRlLmMKK0BAIC01NDksNiArNTU2 LDcgQEAgdGlsZGUubzogdGlsZGUuYwogIHVuZG8ubzogdW5kby5jCiAgdXRpbC5vOiB1dGlsLmMK ICB2aV9tb2RlLm86IHZpX21vZGUuYwpAQCAtMTkzMyw4ICsxOTU3LDEwIEBAIGIxMzcwNmFiYmVl OTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICB4bWFsbG9jLm86IHhtYWxsb2MuYwogIAog IGhpc3RleHBhbmQubzogaGlzdGV4cGFuZC5jCi0tLS0gYS9yZWFkbGluZS9ORVdTCi0rKysgYi9y ZWFkbGluZS9ORVdTCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9ORVdTCis9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL05FV1MJMjAx MS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAz L3JlYWRsaW5lL05FV1MJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0x LDMyICsxLDE5IEBACiAtVGhpcyBpcyBhIHRlcnNlIGRlc2NyaXB0aW9uIG9mIHRoZSBuZXcgZmVh dHVyZXMgYWRkZWQgdG8gcmVhZGxpbmUtNS4xIHNpbmNlCiAtdGhlIHJlbGVhc2Ugb2YgcmVhZGxp bmUtNS4wLgpAQCAtMTk4Miw4ICsyMDA4LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICtlLiAgTmV3IGJpbmRhYmxlIHZhcmlhYmxlIGBtZW51LWNvbXBsZXRl LWRpc3BsYXktcHJlZml4JyBjYXVzZXMgdGhlIG1lbnUKICsgICAgY29tcGxldGlvbiBjb2RlIHRv IGRpc3BsYXkgdGhlIGNvbW1vbiBwcmVmaXggb2YgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zCiAr ICAgIGJlZm9yZSBjeWNsaW5nIHRocm91Z2ggdGhlIGxpc3QsIGluc3RlYWQgb2YgYWZ0ZXIuCi0t LS0gYS9yZWFkbGluZS9SRUFETUUKLSsrKyBiL3JlYWRsaW5lL1JFQURNRQorSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvUkVBRE1FCis9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45 MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL1JFQURNRQkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvUkVBRE1FCTIwMTEt MDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSw3ICsxLDcgQEAKICBJbnRyb2R1 Y3Rpb24KICA9PT09PT09PT09PT0KQEAgLTE5OTMsNyArMjAyMSw3IEBAIGIxMzcwNmFiYmVlOTY0 NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICBUaGUgUmVhZGxpbmUgbGlicmFyeSBwcm92 aWRlcyBhIHNldCBvZiBmdW5jdGlvbnMgZm9yIHVzZSBieSBhcHBsaWNhdGlvbnMKICB0aGF0IGFs bG93IHVzZXJzIHRvIGVkaXQgY29tbWFuZCBsaW5lcyBhcyB0aGV5IGFyZSB0eXBlZCBpbi4gIEJv dGgKLUBAIC0xNiw4ICsxNiw5IEBAIG1heSBiZSB1c2VkIHdpdGhvdXQgUmVhZGxpbmUgaW4gYXBw bGljYXRpb25zIHdoaWNoIGRlc2lyZSBpdHMKK0BAIC0xNiw4ICsxNiw5IEBAIG1heSBiZSB1c2Vk IHdpdGhvdXQgUmVhZGxpbmUgaW4gYXBwbGljYXQKICBjYXBhYmlsaXRpZXMuCiAgCiAgVGhlIFJl YWRsaW5lIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZSwgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRl cm1zIG9mCkBAIC0yMDA1LDE0ICsyMDMzLDE2IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICAKICBUbyBidWlsZCB0aGUgbGlicmFyeSwgdHJ5IHR5cGluZyBgLi9j b25maWd1cmUnLCB0aGVuIGBtYWtlJy4gIFRoZQogIGNvbmZpZ3VyYXRpb24gcHJvY2VzcyBpcyBh dXRvbWF0ZWQsIHNvIG5vIGZ1cnRoZXIgaW50ZXJ2ZW50aW9uIHNob3VsZAotQEAgLTE4Myw0ICsx ODQsNCBAQCBsaXN0IChtaXJyb3JlZCB0byB0aGUgVXNlbmV0IG5ld3Nncm91cCBnbnUuYmFzaC5i dWcpIG9mdGVuIGNvbnRhaW5zCitAQCAtMTgzLDQgKzE4NCw0IEBAIGxpc3QgKG1pcnJvcmVkIHRv IHRoZSBVc2VuZXQgbmV3c2dyb3VwIGcKICBSZWFkbGluZSBidWcgcmVwb3J0cyBhbmQgZml4ZXMu IAogIAogIENoZXQgUmFtZXkKIC1jaGV0QHBvLmN3cnUuZWR1CiArY2hldC5yYW1leUBjYXNlLmVk dQotLS0tIGEvcmVhZGxpbmUvYWNsb2NhbC5tNAotKysrIGIvcmVhZGxpbmUvYWNsb2NhbC5tNAor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvYWNsb2NhbC5tNAorPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9hY2xvY2FsLm00CTIwMTEt MDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9y ZWFkbGluZS9hY2xvY2FsLm00CTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBA QCAtODAsNiArODAsOSBAQCBBQ19DQUNIRV9WQUwoYmFzaF9jdl90eXBlXyQxLAogICNpZiBIQVZF X0lOVFRZUEVTX0gKICAjaW5jbHVkZSA8aW50dHlwZXMuaD4KQEAgLTIyMjEsNyArMjI1MSw3IEBA IGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBBQ19DQUNIRV9DSEVD SyhbZm9yIG5sX2xhbmdpbmZvIGFuZCBDT0RFU0VUXSwgYmFzaF9jdl9sYW5naW5mb19jb2Rlc2V0 LAogIFtBQ19UUllfTElOSygKICBbI2luY2x1ZGUgPGxhbmdpbmZvLmg+XSwKLUBAIC0xNzA3LDYg KzE3MjYsNTAgQEAgaWYgdGVzdCAkYmFzaF9jdl9sYW5naW5mb19jb2Rlc2V0ID0geWVzOyB0aGVu CitAQCAtMTcwNyw2ICsxNzI2LDUwIEBAIGlmIHRlc3QgJGJhc2hfY3ZfbGFuZ2luZm9fY29kZXNl dCA9IHllczsKICAgIEFDX0RFRklORShIQVZFX0xBTkdJTkZPX0NPREVTRVQpCiAgZmkKICAKQEAg LTIyOTAsNyArMjMyMCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICBzdHJjYXNlY21wIHN0cmR1cCBzdHJ0b3VsIHRzZWFyY2ggX19hcmd6X2NvdW50IF9fYXJn el9zdHJpbmdpZnkgX19hcmd6X25leHQgXAogIF9fZnNldGxvY2tpbmddKQogIAotQEAgLTM5NjQs MyArNDAyNywxNDMgQEAgQUNfREVGVU4oW2ptX0FDX1RZUEVfVU5TSUdORURfTE9OR19MT05HXSwK K0BAIC0zOTY0LDMgKzQwMjcsMTQzIEBAIEFDX0RFRlVOKFtqbV9BQ19UWVBFX1VOU0lHTkVEX0xP TkdfTE9OR10KICAgICAgICBbRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSB1bnNpZ25lZCBsb25nIGxv bmcgdHlwZS5dKQogICAgZmkKICBdKQpAQCAtMjQzNCw4ICsyNDY0LDEwIEBAIGIxMzcwNmFiYmVl OTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICtBQ19NU0dfUkVTVUxUKCRiYXNoX2N2X3dl eGl0c3RhdHVzX29mZnNldCkKICtBQ19ERUZJTkVfVU5RVU9URUQoW1dFWElUU1RBVFVTX09GRlNF VF0sIFskYmFzaF9jdl93ZXhpdHN0YXR1c19vZmZzZXRdLCBbT2Zmc2V0IG9mIGV4aXQgc3RhdHVz IGluIHdhaXQgc3RhdHVzIHdvcmRdKQogK10pCi0tLS0gYS9yZWFkbGluZS9hbnNpX3N0ZGxpYi5o Ci0rKysgYi9yZWFkbGluZS9hbnNpX3N0ZGxpYi5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcw My9yZWFkbGluZS9hbnNpX3N0ZGxpYi5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDEx MDcwMy5vcmlnL3JlYWRsaW5lL2Fuc2lfc3RkbGliLmgJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAw MDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2Fuc2lfc3RkbGli LmgJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC02LDE5ICs2LDE5IEBA CiAgCiAgICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4g U0hlbGwuCkBAIC0yNDY5LDggKzI1MDEsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUy ZGRkNjhkMWE0ZjQzYQogIAogICNpZiAhZGVmaW5lZCAoX1NURExJQl9IXykKICAjZGVmaW5lCV9T VERMSUJfSF8gMQotLS0tIGEvcmVhZGxpbmUvYmluZC5jCi0rKysgYi9yZWFkbGluZS9iaW5kLmMK K0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2JpbmQuYworPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor LS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9iaW5kLmMJMjAxMS0wNy0wMyAx MDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5l L2JpbmQuYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjQgKzEs MjMgQEAKICAvKiBiaW5kLmMgLS0ga2V5IGJpbmRpbmcgYW5kIHN0YXJ0dXAgZmlsZSBzdXBwb3J0 IGZvciB0aGUgcmVhZGxpbmUgbGlicmFyeS4gKi8KICAKQEAgLTI1MDgsNyArMjU0Miw3IEBAIGIx MzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAjZGVmaW5lIFJFQURM SU5FX0xJQlJBUlkKICAKLUBAIC04MCw3ICs3OSw3IEBAIHN0YXRpYyBpbnQgZ2xlYW5fa2V5X2Zy b21fbmFtZSBQQVJBTVMoKGNoYXIgKikpOworQEAgLTgwLDcgKzc5LDcgQEAgc3RhdGljIGludCBn bGVhbl9rZXlfZnJvbV9uYW1lIFBBUkFNUygoYwogIHN0YXRpYyBpbnQgZmluZF9ib29sZWFuX3Zh ciBQQVJBTVMoKGNvbnN0IGNoYXIgKikpOwogIAogIHN0YXRpYyBjaGFyICpfcmxfZ2V0X3N0cmlu Z192YXJpYWJsZV92YWx1ZSBQQVJBTVMoKGNvbnN0IGNoYXIgKikpOwpAQCAtMjUyNiw3ICsyNTYw LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAgICAgIHJl dHVybiAtMTsKICAgICAgfQogICAgcmxfZ2VuZXJpY19iaW5kIChJU01BQ1IsIGtleXNlcSwgbWFj cm9fa2V5cywgbWFwKTsKLUBAIC0zNDcsNyArMzQ2LDcgQEAgcmxfZ2VuZXJpY19iaW5kICh0eXBl LCBrZXlzZXEsIGRhdGEsIG1hcCkKK0BAIC0zNDcsNyArMzQ2LDcgQEAgcmxfZ2VuZXJpY19iaW5k ICh0eXBlLCBrZXlzZXEsIGRhdGEsIG1hcAogICAgaWYgKGtleXNlcSA9PSAwIHx8ICprZXlzZXEg PT0gMCkKICAgICAgewogICAgICAgIGlmICh0eXBlID09IElTTUFDUikKQEAgLTI1MzUsNyArMjU2 OSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgICAgICBy ZXR1cm4gLTE7CiAgICAgIH0KICAKLUBAIC0zNTgsNyArMzU3LDcgQEAgcmxfZ2VuZXJpY19iaW5k ICh0eXBlLCBrZXlzZXEsIGRhdGEsIG1hcCkKK0BAIC0zNTgsNyArMzU3LDcgQEAgcmxfZ2VuZXJp Y19iaW5kICh0eXBlLCBrZXlzZXEsIGRhdGEsIG1hcAogICAgICAgS0VZUyBpbnRvIEtFWVNfTEVO LiAqLwogICAgaWYgKHJsX3RyYW5zbGF0ZV9rZXlzZXEgKGtleXNlcSwga2V5cywgJmtleXNfbGVu KSkKICAgICAgewpAQCAtMjU0NCw3ICsyNTc4LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMw NTUyZGRkNjhkMWE0ZjQzYQogICAgICAgIHJldHVybiAtMTsKICAgICAgfQogIAotQEAgLTM3MCw3 ICszNjksMTAgQEAgcmxfZ2VuZXJpY19iaW5kICh0eXBlLCBrZXlzZXEsIGRhdGEsIG1hcCkKK0BA IC0zNzAsNyArMzY5LDEwIEBAIHJsX2dlbmVyaWNfYmluZCAodHlwZSwga2V5c2VxLCBkYXRhLCBt YXAKICAKICAgICAgICBpYyA9IHVjOwogICAgICAgIGlmIChpYyA8IDAgfHwgaWMgPj0gS0VZTUFQ X1NJWkUpCkBAIC0yNTU2LDcgKzI1OTAsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgCiAgICAgICAgaWYgKE1FVEFfQ0hBUiAoaWMpICYmIF9ybF9jb252ZXJ0 X21ldGFfY2hhcnNfdG9fYXNjaWkpCiAgCXsKLUBAIC00MTEsMTEgKzQxMywxOCBAQCBybF9nZW5l cmljX2JpbmQgKHR5cGUsIGtleXNlcSwgZGF0YSwgbWFwKQorQEAgLTQxMSwxMSArNDEzLDE4IEBA IHJsX2dlbmVyaWNfYmluZCAodHlwZSwga2V5c2VxLCBkYXRhLCBtYXAKICAgICAgICBlbHNlCiAg CXsKICAJICBpZiAobWFwW2ljXS50eXBlID09IElTTUFDUikKQEAgLTI1NzYsNyArMjYxMCw3IEBA IGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAJICAgIH0KICAKICAJ ICBtYXBbaWNdLmZ1bmN0aW9uID0gS0VZTUFQX1RPX0ZVTkNUSU9OIChkYXRhKTsKLUBAIC00MjQs NyArNDMzLDcgQEAgcmxfZ2VuZXJpY19iaW5kICh0eXBlLCBrZXlzZXEsIGRhdGEsIG1hcCkKK0BA IC00MjQsNyArNDMzLDcgQEAgcmxfZ2VuZXJpY19iaW5kICh0eXBlLCBrZXlzZXEsIGRhdGEsIG1h cAogIAogICAgICAgIHJsX2JpbmRpbmdfa2V5bWFwID0gbWFwOwogICAgICB9CkBAIC0yNjM1LDcg KzI2NjksNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCXsK ICAJICAqcisrID0gJ1xcJzsKICAJICAqcisrID0gJ0MnOwotQEAgLTY3Miw3ICs3MDAsNyBAQCBy bF9mdW5jdGlvbl9vZl9rZXlzZXEgKGtleXNlcSwgbWFwLCB0eXBlKQorQEAgLTY3Miw3ICs3MDAs NyBAQCBybF9mdW5jdGlvbl9vZl9rZXlzZXEgKGtleXNlcSwgbWFwLCB0eXBlCiAgewogICAgcmVn aXN0ZXIgaW50IGk7CiAgCkBAIC0yNjQ0LDcgKzI2NzgsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRl NTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICAgIG1hcCA9IF9ybF9rZXltYXA7CiAgCiAgICBmb3Ig KGkgPSAwOyBrZXlzZXEgJiYga2V5c2VxW2ldOyBpKyspCi1AQCAtNjgxLDI1ICs3MDksMjcgQEAg cmxfZnVuY3Rpb25fb2Zfa2V5c2VxIChrZXlzZXEsIG1hcCwgdHlwZSkKK0BAIC02ODEsMjUgKzcw OSwyNyBAQCBybF9mdW5jdGlvbl9vZl9rZXlzZXEgKGtleXNlcSwgbWFwLCB0eXBlCiAgCiAgICAg ICAgaWYgKE1FVEFfQ0hBUiAoaWMpICYmIF9ybF9jb252ZXJ0X21ldGFfY2hhcnNfdG9fYXNjaWkp CiAgCXsKQEAgLTI2NzksNyArMjcxMyw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRk ZDY4ZDFhNGY0M2EKICAJICAgIHsKICAJICAgICAgaWYgKHR5cGUpCiAgCQkqdHlwZSA9IElTS01B UDsKLUBAIC03MDksNyArNzM5LDEyIEBAIHJsX2Z1bmN0aW9uX29mX2tleXNlcSAoa2V5c2VxLCBt YXAsIHR5cGUpCitAQCAtNzA5LDcgKzczOSwxMiBAQCBybF9mdW5jdGlvbl9vZl9rZXlzZXEgKGtl eXNlcSwgbWFwLCB0eXBlCiAgCSAgZWxzZQogIAkgICAgbWFwID0gRlVOQ1RJT05fVE9fS0VZTUFQ IChtYXAsIGljKTsKICAJfQpAQCAtMjc0Miw3ICsyNzc2LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRk ZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICNpZiBkZWZpbmVkIChfX01TRE9TX18pCiAgICBpZiAo X3JsX3JlYWRfaW5pdF9maWxlIChmaWxlbmFtZSwgMCkgPT0gMCkKICAgICAgcmV0dXJuIDA7Ci1A QCAtODMyLDggKzg3MSw5IEBAIF9ybF9yZWFkX2luaXRfZmlsZSAoZmlsZW5hbWUsIGluY2x1ZGVf bGV2ZWwpCitAQCAtODMyLDggKzg3MSw5IEBAIF9ybF9yZWFkX2luaXRfZmlsZSAoZmlsZW5hbWUs IGluY2x1ZGVfbGUKICAKICAgIG9wZW5uYW1lID0gdGlsZGVfZXhwYW5kIChmaWxlbmFtZSk7CiAg ICBidWZmZXIgPSBfcmxfcmVhZF9maWxlIChvcGVubmFtZSwgJmZpbGVfc2l6ZSk7CkBAIC0yNzUz LDcgKzI3ODcsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAg ICBpZiAoYnVmZmVyID09IDApCiAgICAgIHJldHVybiAoZXJybm8pOwogICAgCi1AQCAtODgwLDcg KzkyMCw3IEBAIF9ybF9yZWFkX2luaXRfZmlsZSAoZmlsZW5hbWUsIGluY2x1ZGVfbGV2ZWwpCitA QCAtODgwLDcgKzkyMCw3IEBAIF9ybF9yZWFkX2luaXRfZmlsZSAoZmlsZW5hbWUsIGluY2x1ZGVf bGUKICAgICAgICBjdXJyZW50X3JlYWRsaW5lX2luaXRfbGluZW5vKys7CiAgICAgIH0KICAKQEAg LTI4NjQsNyArMjg5OCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICB9OwogIAogIHN0YXRpYyBpbnQKLUBAIC0xNDU4LDIzICsxNTA0LDI5IEBAIHR5cGVkZWYg aW50IF9ybF9zdl9mdW5jX3QgUEFSQU1TKChjb25zdCBjaGFyICopKTsKK0BAIC0xNDU4LDIzICsx NTA0LDI5IEBAIHR5cGVkZWYgaW50IF9ybF9zdl9mdW5jX3QgUEFSQU1TKChjb25zdCAKICAvKiBG b3J3YXJkIGRlY2xhcmF0aW9ucyAqLwogIHN0YXRpYyBpbnQgc3ZfYmVsbF9zdHlsZSBQQVJBTVMo KGNvbnN0IGNoYXIgKikpOwogIHN0YXRpYyBpbnQgc3ZfY29tYmVnaW4gUEFSQU1TKChjb25zdCBj aGFyICopKTsKQEAgLTMwMDgsNyArMzA0Miw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICB9CiAgCiAgc3RhdGljIGNoYXIgKgotQEAgLTE5NDgsMTIgKzIwNDMs MTYgQEAgcmxfaW52b2tpbmdfa2V5c2Vxc19pbl9tYXAgKGZ1bmN0aW9uLCBtYXApCitAQCAtMTk0 OCwxMiArMjA0MywxNiBAQCBybF9pbnZva2luZ19rZXlzZXFzX2luX21hcCAoZnVuY3Rpb24sIG1h CiAgCQljaGFyICprZXluYW1lID0gKGNoYXIgKil4bWFsbG9jICg2ICsgc3RybGVuIChzZXFzW2ld KSk7CiAgCiAgCQlpZiAoa2V5ID09IEVTQykKQEAgLTMwMzEsNyArMzA2NSw3IEBAIGIxMzcwNmFi YmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAJCWVsc2UgaWYgKENUUkxfQ0hBUiAo a2V5KSkKICAJCSAgc3ByaW50ZiAoa2V5bmFtZSwgIlxcQy0lYyIsIF9ybF90b19sb3dlciAoVU5D VFJMIChrZXkpKSk7CiAgCQllbHNlIGlmIChrZXkgPT0gUlVCT1VUKQotQEAgLTE5NzEsNyArMjA3 MCw3IEBAIHJsX2ludm9raW5nX2tleXNlcXNfaW5fbWFwIChmdW5jdGlvbiwgbWFwKQorQEAgLTE5 NzEsNyArMjA3MCw3IEBAIHJsX2ludm9raW5nX2tleXNlcXNfaW5fbWFwIChmdW5jdGlvbiwgbWEK ICAJCSAgfQogIAkJCiAgCQlzdHJjYXQgKGtleW5hbWUsIHNlcXNbaV0pOwpAQCAtMzA0MCw3ICsz MDc0LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogIAkJ aWYgKHJlc3VsdF9pbmRleCArIDIgPiByZXN1bHRfc2l6ZSkKICAJCSAgewotQEAgLTE5ODMsNyAr MjA4Miw3IEBAIHJsX2ludm9raW5nX2tleXNlcXNfaW5fbWFwIChmdW5jdGlvbiwgbWFwKQorQEAg LTE5ODMsNyArMjA4Miw3IEBAIHJsX2ludm9raW5nX2tleXNlcXNfaW5fbWFwIChmdW5jdGlvbiwg bWEKICAJCXJlc3VsdFtyZXN1bHRfaW5kZXhdID0gKGNoYXIgKilOVUxMOwogIAkgICAgICB9CiAg CkBAIC0zMDc0LDcgKzMxMDgsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQx YTRmNDNhCiAgCSAgICB9CiAgCX0KICAgICAgfQotQEAgLTIxMTEsOCArMjIxMCw4IEBAIF9ybF9t YWNyb19kdW1wZXJfaW50ZXJuYWwgKHByaW50X3JlYWRhYmx5LCBtYXAsIHByZWZpeCkKK0BAIC0y MTExLDggKzIyMTAsOCBAQCBfcmxfbWFjcm9fZHVtcGVyX2ludGVybmFsIChwcmludF9yZWFkYWJs CiAgCSAgICBmcHJpbnRmIChybF9vdXRzdHJlYW0sICIlcyVzIG91dHB1dHMgJXNcbiIsIHByZWZp eCA/IHByZWZpeCA6ICIiLAogIAkJCQkJCQlrZXluYW1lLAogIAkJCQkJCQlvdXQgPyBvdXQgOiAi Iik7CkBAIC0zMDg1LDcgKzMxMTksNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2 OGQxYTRmNDNhCiAgCSAgYnJlYWs7CiAgCWNhc2UgSVNGVU5DOgogIAkgIGJyZWFrOwotQEAgLTIx MzUsMTMgKzIyMzQsMTMgQEAgX3JsX21hY3JvX2R1bXBlcl9pbnRlcm5hbCAocHJpbnRfcmVhZGFi bHksIG1hcCwgcHJlZml4KQorQEAgLTIxMzUsMTMgKzIyMzQsMTMgQEAgX3JsX21hY3JvX2R1bXBl cl9pbnRlcm5hbCAocHJpbnRfcmVhZGFibAogIAkJICBvdXQgPSAoY2hhciAqKXhtYWxsb2MgKHN0 cmxlbiAoa2V5bmFtZSkgKyBwcmVmaXhfbGVuICsgMSk7CiAgCQkgIHN0cmNweSAob3V0LCBwcmVm aXgpOwogIAkJICBzdHJjcHkgKG91dCArIHByZWZpeF9sZW4sIGtleW5hbWUpOwpAQCAtMzE1OCw4 ICszMTkyLDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICB7 CiAgICB3aGlsZSAoKmFycmF5KQogICAgICB7Ci0tLS0gYS9yZWFkbGluZS9jYWxsYmFjay5jCi0r KysgYi9yZWFkbGluZS9jYWxsYmFjay5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFk bGluZS9jYWxsYmFjay5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmln L3JlYWRsaW5lL2NhbGxiYWNrLmMJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2NhbGxiYWNrLmMJMjAxMS0wNy0wMyAx MDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI0ICsxLDI0IEBACiAgLyogY2FsbGJhY2su YyAtLSBmdW5jdGlvbnMgdG8gdXNlIHJlYWRsaW5lIGFzIGFuIFggYGNhbGxiYWNrJyBtZWNoYW5p c20uICovCiAgCkBAIC0zMjg0LDkgKzMzMjAsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1 NTJkZGQ2OGQxYTRmNDNhCiArCX0KICsjZW5kaWYKICsgICAgICBlbHNlIGlmIChSTF9JU1NUQVRF IChSTF9TVEFURV9OVU1FUklDQVJHKSkKLSAJewotLQkgIF9ybF9pbnRlcm5hbF9jaGFyX2NsZWFu dXAgKCk7Ci0tCSAgX3JsX3dhbnRfcmVkaXNwbGF5ID0gMTsKKysJewogKwkgIGVvZiA9IF9ybF9h cmdfY2FsbGJhY2sgKF9ybF9hcmdjeHQpOwogKwkgIGlmIChlb2YgPT0gMCAmJiAoUkxfSVNTVEFU RSAoUkxfU1RBVEVfTlVNRVJJQ0FSRykgPT0gMCkgJiYgUkxfSVNTVEFURSAoUkxfU1RBVEVfSU5Q VVRQRU5ESU5HKSkKICsJICAgIHJsX2NhbGxiYWNrX3JlYWRfY2hhciAoKTsKQEAgLTMyOTUsNiAr MzMyOSwxOSBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArCSAg ICBfcmxfaW50ZXJuYWxfY2hhcl9jbGVhbnVwICgpOwogKwogKwkgIHJldHVybjsKKysJfQorKyAg ICAgIGVsc2UgaWYgKFJMX0lTU1RBVEUgKFJMX1NUQVRFX01VTFRJS0VZKSkKKyAJeworLQkgIF9y bF9pbnRlcm5hbF9jaGFyX2NsZWFudXAgKCk7CistCSAgX3JsX3dhbnRfcmVkaXNwbGF5ID0gMTsK KysJICBlb2YgPSBfcmxfZGlzcGF0Y2hfY2FsbGJhY2sgKF9ybF9rc2N4dCk7CS8qIEZvciBub3cg Ki8KKysJICB3aGlsZSAoKGVvZiA9PSAtMSB8fCBlb2YgPT0gLTIpICYmIFJMX0lTU1RBVEUgKFJM X1NUQVRFX01VTFRJS0VZKSAmJiBfcmxfa3NjeHQgJiYgKF9ybF9rc2N4dC0+ZmxhZ3MgJiBLU0VR X0RJU1BBVENIRUQpKQorKwkgICAgZW9mID0gX3JsX2Rpc3BhdGNoX2NhbGxiYWNrIChfcmxfa3Nj eHQpOworKwkgIGlmIChSTF9JU1NUQVRFIChSTF9TVEFURV9NVUxUSUtFWSkgPT0gMCkKKysJICAg IHsKKysJICAgICAgX3JsX2ludGVybmFsX2NoYXJfY2xlYW51cCAoKTsKKysJICAgICAgX3JsX3dh bnRfcmVkaXNwbGF5ID0gMTsKKysJICAgIH0KICAJfQogLSAgICB9CiAtICBlbHNlIGlmIChfcmxf Y2FsbGJhY2tfZnVuYykKQEAgLTMzMDgsMjYgKzMzNTUsOSBAQCBiMTM3MDZhYmJlZTk2NDZmNGRl NTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAtICAgICAgLyogSWYgdGhlIGZ1bmN0aW9uIGBkZXJlZ2lz dGVycycgaXRzZWxmLCBtYWtlIHN1cmUgdGhlIGRhdGEgaXMgY2xlYW5lZAogLQkgdXAuICovCiAt ICAgICAgaWYgKF9ybF9jYWxsYmFja19mdW5jID09IDApCi0rICAgICAgZWxzZSBpZiAoUkxfSVNT VEFURSAoUkxfU1RBVEVfTVVMVElLRVkpKQorKyAgICAgIGVsc2UgaWYgKF9ybF9jYWxsYmFja19m dW5jKQogIAl7CiAtCSAgaWYgKF9ybF9jYWxsYmFja19kYXRhKSAJCi0rCSAgZW9mID0gX3JsX2Rp c3BhdGNoX2NhbGxiYWNrIChfcmxfa3NjeHQpOwkvKiBGb3Igbm93ICovCi0rCSAgd2hpbGUgKChl b2YgPT0gLTEgfHwgZW9mID09IC0yKSAmJiBSTF9JU1NUQVRFIChSTF9TVEFURV9NVUxUSUtFWSkg JiYgX3JsX2tzY3h0ICYmIChfcmxfa3NjeHQtPmZsYWdzICYgS1NFUV9ESVNQQVRDSEVEKSkKLSsJ ICAgIGVvZiA9IF9ybF9kaXNwYXRjaF9jYWxsYmFjayAoX3JsX2tzY3h0KTsKLSsJICBpZiAoUkxf SVNTVEFURSAoUkxfU1RBVEVfTVVMVElLRVkpID09IDApCi0gCSAgICB7Ci0tCSAgICAgIF9ybF9j YWxsYmFja19kYXRhX2Rpc3Bvc2UgKF9ybF9jYWxsYmFja19kYXRhKTsKLS0JICAgICAgX3JsX2Nh bGxiYWNrX2RhdGEgPSAwOwotKwkgICAgICBfcmxfaW50ZXJuYWxfY2hhcl9jbGVhbnVwICgpOwot KwkgICAgICBfcmxfd2FudF9yZWRpc3BsYXkgPSAxOwotIAkgICAgfQotLQkgIF9ybF9pbnRlcm5h bF9jaGFyX2NsZWFudXAgKCk7Ci0gCX0KLS0gICAgfQotLSAgZWxzZQotLSAgICBlb2YgPSByZWFk bGluZV9pbnRlcm5hbF9jaGFyICgpOwotKyAgICAgIGVsc2UgaWYgKF9ybF9jYWxsYmFja19mdW5j KQotKwl7CiArCSAgLyogVGhpcyBhbGxvd3MgZnVuY3Rpb25zIHRoYXQgc2ltcGx5IG5lZWQgdG8g cmVhZCBhbiBhZGRpdGlvbmFsCiArCSAgICAgY2hhcmFjdGVyIChsaWtlIHF1b3RlZC1pbnNlcnQp IHRvIHJlZ2lzdGVyIGEgZnVuY3Rpb24gdG8gYmUKICsJICAgICBjYWxsZWQgd2hlbiBpbnB1dCBp cyBhdmFpbGFibGUuICBfcmxfY2FsbGJhY2tfZGF0YSBpcyBzaW1wbHkgYQpAQCAtMzMzOCwxNSAr MzM2OCwyMSBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArCSAg LyogSWYgdGhlIGZ1bmN0aW9uIGBkZXJlZ2lzdGVycycgaXRzZWxmLCBtYWtlIHN1cmUgdGhlIGRh dGEgaXMKICsJICAgICBjbGVhbmVkIHVwLiAqLwogKwkgIGlmIChfcmxfY2FsbGJhY2tfZnVuYyA9 PSAwKQotKwkgICAgeworIAkgICAgeworLQkgICAgICBfcmxfY2FsbGJhY2tfZGF0YV9kaXNwb3Nl IChfcmxfY2FsbGJhY2tfZGF0YSk7CistCSAgICAgIF9ybF9jYWxsYmFja19kYXRhID0gMDsKICsJ ICAgICAgaWYgKF9ybF9jYWxsYmFja19kYXRhKSAJCiArCQl7CiArCQkgIF9ybF9jYWxsYmFja19k YXRhX2Rpc3Bvc2UgKF9ybF9jYWxsYmFja19kYXRhKTsKICsJCSAgX3JsX2NhbGxiYWNrX2RhdGEg PSAwOwogKwkJfQogKwkgICAgICBfcmxfaW50ZXJuYWxfY2hhcl9jbGVhbnVwICgpOwotKwkgICAg fQotKwl9CisgCSAgICB9CistCSAgX3JsX2ludGVybmFsX2NoYXJfY2xlYW51cCAoKTsKKyAJfQor LSAgICB9CistICBlbHNlCistICAgIGVvZiA9IHJlYWRsaW5lX2ludGVybmFsX2NoYXIgKCk7CiAr ICAgICAgZWxzZQogKwllb2YgPSByZWFkbGluZV9pbnRlcm5hbF9jaGFyICgpOwogIApAQCAtMzM5 OSw4ICszNDM1LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EK ICB9CiAgCiAgI2VuZGlmCi0tLS0gYS9yZWFkbGluZS9jaGFyZGVmcy5oCi0rKysgYi9yZWFkbGlu ZS9jaGFyZGVmcy5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9jaGFyZGVm cy5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL2No YXJkZWZzLmgJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNzAzL3JlYWRsaW5lL2NoYXJkZWZzLmgJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAw MDAwMDAgKzAyMDAKIEBAIC0xLDI0ICsxLDIzIEBACiAgLyogY2hhcmRlZnMuaCAtLSBDaGFyYWN0 ZXIgZGVmaW5pdGlvbnMgZm9yIHJlYWRsaW5lLiAqLwogIApAQCAtMzQzOCw4ICszNDc2LDEwIEBA IGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAjaWZuZGVmIF9D SEFSREVGU19IXwogICNkZWZpbmUgX0NIQVJERUZTX0hfCi0tLS0gYS9yZWFkbGluZS9jb21wYXQu YwotKysrIGIvcmVhZGxpbmUvY29tcGF0LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3Jl YWRsaW5lL2NvbXBhdC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmln L3JlYWRsaW5lL2NvbXBhdC5jCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisr KysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9jb21wYXQuYwkyMDExLTA3LTAzIDEwOjQx OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjQgKzEsMjQgQEAKICAvKiBjb21wYXQuYyAtLSBi YWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmdW5jdGlvbnMuICovCiAgCkBAIC0zNDc4LDggKzM1MTgs MTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICNkZWZpbmUg UkVBRExJTkVfTElCUkFSWQogIAogICNpZiBkZWZpbmVkIChIQVZFX0NPTkZJR19IKQotLS0tIGEv cmVhZGxpbmUvY29tcGxldGUuYwotKysrIGIvcmVhZGxpbmUvY29tcGxldGUuYworSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvY29tcGxldGUuYworPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdk Yi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9jb21wbGV0ZS5jCTIwMTEtMDctMDMgMTA6 NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9j b21wbGV0ZS5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyNCAr MSwyNCBAQAogIC8qIGNvbXBsZXRlLmMgLS0gZmlsZW5hbWUgY29tcGxldGlvbiBmb3IgcmVhZGxp bmUuICovCiAgCkBAIC0zNTI5LDcgKzM1NzEsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1 NTJkZGQ2OGQxYTRmNDNhCiAgCiAgc3RhdGljIGNoYXIgKipnZW5fY29tcGxldGlvbl9tYXRjaGVz IFBBUkFNUygoY2hhciAqLCBpbnQsIGludCwgcmxfY29tcGVudHJ5X2Z1bmNfdCAqLCBpbnQsIGlu dCkpOwogIAotQEAgLTExOSw5ICsxMTksMTEgQEAgc3RhdGljIGNoYXIgKipyZW1vdmVfZHVwbGlj YXRlX21hdGNoZXMgUEFSQU1TKChjaGFyICoqKSk7CitAQCAtMTE5LDkgKzExOSwxMSBAQCBzdGF0 aWMgY2hhciAqKnJlbW92ZV9kdXBsaWNhdGVfbWF0Y2hlcyBQCiAgc3RhdGljIHZvaWQgaW5zZXJ0 X21hdGNoIFBBUkFNUygoY2hhciAqLCBpbnQsIGludCwgY2hhciAqKSk7CiAgc3RhdGljIGludCBh cHBlbmRfdG9fbWF0Y2ggUEFSQU1TKChjaGFyICosIGludCwgaW50LCBpbnQpKTsKICBzdGF0aWMg dm9pZCBpbnNlcnRfYWxsX21hdGNoZXMgUEFSQU1TKChjaGFyICoqLCBpbnQsIGNoYXIgKikpOwpA QCAtMzU4OCw3ICszNjMwLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0 ZjQzYQogIC8qIElmIG5vbi16ZXJvLCB0aGVuIHRoaXMgaXMgdGhlIGFkZHJlc3Mgb2YgYSBmdW5j dGlvbiB0byBjYWxsIHdoZW4KICAgICBjb21wbGV0aW5nIG9uIGEgZGlyZWN0b3J5IG5hbWUuICBU aGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGgKICAgICB0aGUgYWRkcmVzcyBvZiBhIHN0cmluZyAo dGhlIGN1cnJlbnQgZGlyZWN0b3J5IG5hbWUpIGFzIGFuIGFyZy4gKi8KLUBAIC0xODAsNiArMjA2 LDE3IEBAIHJsX2ljcHBmdW5jX3QgKnJsX2RpcmVjdG9yeV9jb21wbGV0aW9uX2hvb2sgPSAocmxf aWNwcGZ1bmNfdCAqKU5VTEw7CitAQCAtMTgwLDYgKzIwNiwxNyBAQCBybF9pY3BwZnVuY190ICpy bF9kaXJlY3RvcnlfY29tcGxldGlvbl9oCiAgCiAgcmxfaWNwcGZ1bmNfdCAqcmxfZGlyZWN0b3J5 X3Jld3JpdGVfaG9vayA9IChybF9pY3BwZnVuY190ICopTlVMTDsKICAKQEAgLTM2MDYsNyArMzY0 OCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAvKiBOb24t emVybyBtZWFucyByZWFkbGluZSBjb21wbGV0aW9uIGZ1bmN0aW9ucyBwZXJmb3JtIHRpbGRlIGV4 cGFuc2lvbi4gKi8KICBpbnQgcmxfY29tcGxldGVfd2l0aF90aWxkZV9leHBhbnNpb24gPSAwOwog IAotQEAgLTE4OCw2ICsyMjUsMTAgQEAgaW50IHJsX2NvbXBsZXRlX3dpdGhfdGlsZGVfZXhwYW5z aW9uID0gMDsKK0BAIC0xODgsNiArMjI1LDEwIEBAIGludCBybF9jb21wbGV0ZV93aXRoX3RpbGRl X2V4cGFuc2lvbiA9IDAKICAgICBjb21wbGV0ZXIuICovCiAgcmxfY29tcGVudHJ5X2Z1bmNfdCAq cmxfY29tcGxldGlvbl9lbnRyeV9mdW5jdGlvbiA9IChybF9jb21wZW50cnlfZnVuY190ICopTlVM TDsKICAKQEAgLTM4MjMsNyArMzg2NSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRk ZDY4ZDFhNGY0M2EKICAgICAgICBpZiAoZXh0ZW5zaW9uX2NoYXIpCiAgCXsKICAJICBwdXRjIChl eHRlbnNpb25fY2hhciwgcmxfb3V0c3RyZWFtKTsKLUBAIC05NTAsNyArMTA1Myw3IEBAIGdlbl9j b21wbGV0aW9uX21hdGNoZXMgKHRleHQsIHN0YXJ0LCBlbmQsIG91cl9mdW5jLCBmb3VuZF9xdW90 ZSwgcXVvdGVfY2hhcikKK0BAIC05NTAsNyArMTA1Myw3IEBAIGdlbl9jb21wbGV0aW9uX21hdGNo ZXMgKHRleHQsIHN0YXJ0LCBlbmQKICAgICAgIHJsX2NvbXBlbnRyeV9mdW5jX3QgKm91cl9mdW5j OwogICAgICAgaW50IGZvdW5kX3F1b3RlLCBxdW90ZV9jaGFyOwogIHsKQEAgLTM4MzIsNyArMzg3 NCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAgIHJs X2NvbXBsZXRpb25fZm91bmRfcXVvdGUgPSBmb3VuZF9xdW90ZTsKICAgIHJsX2NvbXBsZXRpb25f cXVvdGVfY2hhcmFjdGVyID0gcXVvdGVfY2hhcjsKLUBAIC05NjAsNyArMTA2MywxMCBAQCBnZW5f Y29tcGxldGlvbl9tYXRjaGVzICh0ZXh0LCBzdGFydCwgZW5kLCBvdXJfZnVuYywgZm91bmRfcXVv dGUsIHF1b3RlX2NoYXIpCitAQCAtOTYwLDcgKzEwNjMsMTAgQEAgZ2VuX2NvbXBsZXRpb25fbWF0 Y2hlcyAodGV4dCwgc3RhcnQsIGVuZAogICAgICAgdmFyaWFibGUgcmxfYXR0ZW1wdGVkX2NvbXBs ZXRpb25fZnVuY3Rpb24uICovCiAgICBpZiAocmxfYXR0ZW1wdGVkX2NvbXBsZXRpb25fZnVuY3Rp b24pCiAgICAgIHsKQEAgLTM4NDMsNyArMzg4NSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICAKICAgICAgICBpZiAobWF0Y2hlcyB8fCBybF9hdHRlbXB0ZWRf Y29tcGxldGlvbl9vdmVyKQogIAl7Ci1AQCAtOTY5LDIxICsxMDc1LDkgQEAgZ2VuX2NvbXBsZXRp b25fbWF0Y2hlcyAodGV4dCwgc3RhcnQsIGVuZCwgb3VyX2Z1bmMsIGZvdW5kX3F1b3RlLCBxdW90 ZV9jaGFyKQorQEAgLTk2OSwyMSArMTA3NSw5IEBAIGdlbl9jb21wbGV0aW9uX21hdGNoZXMgKHRl eHQsIHN0YXJ0LCBlbmQKICAJfQogICAgICB9CiAgCkBAIC0zOTAyLDcgKzM5NDQsNyBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICAgICAgdGVtcF9hcnJheVsx XSA9IChjaGFyICopTlVMTDsKICAgICAgfQogICAgcmV0dXJuICh0ZW1wX2FycmF5KTsKLUBAIC0x MTE2LDcgKzEyMTAsOCBAQCBjb21wdXRlX2xjZF9vZl9tYXRjaGVzIChtYXRjaF9saXN0LCBtYXRj aGVzLCB0ZXh0KQorQEAgLTExMTYsNyArMTIxMCw4IEBAIGNvbXB1dGVfbGNkX29mX21hdGNoZXMg KG1hdGNoX2xpc3QsIG1hdGMKICAjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKICAJICAg IGlmIChNQl9DVVJfTUFYID4gMSAmJiBybF9ieXRlX29yaWVudGVkID09IDApCiAgCSAgICAgIHsK QEAgLTM5MTIsNyArMzk1NCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFh NGY0M2EKICAJCWlmICghX3JsX2NvbXBhcmVfY2hhcnMgKG1hdGNoX2xpc3RbaV0sIHNpLCAmcHMx LCBtYXRjaF9saXN0W2krMV0sIHNpLCAmcHMyKSkKICAJCSAgYnJlYWs7CiAgCQllbHNlIGlmICgo diA9IF9ybF9nZXRfY2hhcl9sZW4gKCZtYXRjaF9saXN0W2ldW3NpXSwgJnBzX2JhY2spKSA+IDEp Ci1AQCAtMTIyMCw3ICsxMzE1LDcgQEAgcG9zdHByb2Nlc3NfbWF0Y2hlcyAobWF0Y2hlc3AsIG1h dGNoaW5nX2ZpbGVuYW1lcykKK0BAIC0xMjIwLDcgKzEzMTUsNyBAQCBwb3N0cHJvY2Vzc19tYXRj aGVzIChtYXRjaGVzcCwgbWF0Y2hpbmdfCiAgICBpZiAocmxfaWdub3JlX2NvbXBsZXRpb25fZHVw bGljYXRlcykKICAgICAgewogICAgICAgIHRlbXBfbWF0Y2hlcyA9IHJlbW92ZV9kdXBsaWNhdGVf bWF0Y2hlcyAobWF0Y2hlcyk7CkBAIC0zOTIxLDcgKzM5NjMsNyBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICAgICAgbWF0Y2hlcyA9IHRlbXBfbWF0Y2hlczsK ICAgICAgfQogIAotQEAgLTEyNTcsNiArMTM1MiwyMyBAQCBwb3N0cHJvY2Vzc19tYXRjaGVzICht YXRjaGVzcCwgbWF0Y2hpbmdfZmlsZW5hbWVzKQorQEAgLTEyNTcsNiArMTM1MiwyMyBAQCBwb3N0 cHJvY2Vzc19tYXRjaGVzIChtYXRjaGVzcCwgbWF0Y2hpbmdfCiAgICByZXR1cm4gKDEpOwogIH0K ICAKQEAgLTM5NDUsNyArMzk4Nyw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4 ZDFhNGY0M2EKICAvKiBBIGNvbnZlbmllbmNlIGZ1bmN0aW9uIGZvciBkaXNwbGF5aW5nIGEgbGlz dCBvZiBzdHJpbmdzIGluCiAgICAgY29sdW1uYXIgZm9ybWF0IG9uIHJlYWRsaW5lJ3Mgb3V0cHV0 IHN0cmVhbS4gIE1BVENIRVMgaXMgdGhlIGxpc3QKICAgICBvZiBzdHJpbmdzLCBpbiBhcmd2IGZv cm1hdCwgTEVOIGlzIHRoZSBudW1iZXIgb2Ygc3RyaW5ncyBpbiBNQVRDSEVTLAotQEAgLTEyNjYs MTcgKzEzNzgsMzggQEAgcmxfZGlzcGxheV9tYXRjaF9saXN0IChtYXRjaGVzLCBsZW4sIG1heCkK K0BAIC0xMjY2LDE3ICsxMzc4LDM4IEBAIHJsX2Rpc3BsYXlfbWF0Y2hfbGlzdCAobWF0Y2hlcywg bGVuLCBtYXgKICAgICAgIGNoYXIgKiptYXRjaGVzOwogICAgICAgaW50IGxlbiwgbWF4OwogIHsK QEAgLTM5OTAsNyArNDAzMiw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFh NGY0M2EKICAgICAgIGxpbWl0IHdpbGwgYmUgMCBhbmQgYSBkaXZpZGUtYnktemVybyBmYXVsdCB3 aWxsIHJlc3VsdC4gKi8KICAgIGlmIChsaW1pdCA9PSAwKQogICAgICBsaW1pdCA9IDE7Ci1AQCAt MTI4OSw3ICsxNDIyLDcgQEAgcmxfZGlzcGxheV9tYXRjaF9saXN0IChtYXRjaGVzLCBsZW4sIG1h eCkKK0BAIC0xMjg5LDcgKzE0MjIsNyBAQCBybF9kaXNwbGF5X21hdGNoX2xpc3QgKG1hdGNoZXMs IGxlbiwgbWF4CiAgCSAgIDAgPCBsZW4gPD0gbGltaXQgIGltcGxpZXMgIGNvdW50ID0gMS4gKi8K ICAKICAgIC8qIFNvcnQgdGhlIGl0ZW1zIGlmIHRoZXkgYXJlIG5vdCBhbHJlYWR5IHNvcnRlZC4g Ki8KQEAgLTM5OTksNyArNDA0MSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4 ZDFhNGY0M2EKICAgICAgcXNvcnQgKG1hdGNoZXMgKyAxLCBsZW4sIHNpemVvZiAoY2hhciAqKSwg KFFTRlVOQyAqKV9ybF9xc29ydF9zdHJpbmdfY29tcGFyZSk7CiAgCiAgICBybF9jcmxmICgpOwot QEAgLTEzMDcsNyArMTQ0MCw3IEBAIHJsX2Rpc3BsYXlfbWF0Y2hfbGlzdCAobWF0Y2hlcywgbGVu LCBtYXgpCitAQCAtMTMwNyw3ICsxNDQwLDcgQEAgcmxfZGlzcGxheV9tYXRjaF9saXN0IChtYXRj aGVzLCBsZW4sIG1heAogIAkgICAgICBlbHNlCiAgCQl7CiAgCQkgIHRlbXAgPSBwcmludGFibGVf cGFydCAobWF0Y2hlc1tsXSk7CkBAIC00MDA4LDcgKzQwNTAsNyBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgCQkgIGlmIChqICsgMSA8IGxpbWl0KQogIAkJ ICAgIGZvciAoayA9IDA7IGsgPCBtYXggLSBwcmludGVkX2xlbjsgaysrKQotQEAgLTEzMzEsNyAr MTQ2NCw3IEBAIHJsX2Rpc3BsYXlfbWF0Y2hfbGlzdCAobWF0Y2hlcywgbGVuLCBtYXgpCitAQCAt MTMzMSw3ICsxNDY0LDcgQEAgcmxfZGlzcGxheV9tYXRjaF9saXN0IChtYXRjaGVzLCBsZW4sIG1h eAogICAgICAgIGZvciAoaSA9IDE7IG1hdGNoZXNbaV07IGkrKykKICAJewogIAkgIHRlbXAgPSBw cmludGFibGVfcGFydCAobWF0Y2hlc1tpXSk7CkBAIC00MDgzLDcgKzQxMjUsNyBAQCBiMTM3MDZh YmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICAgIH0KICB9CiAgCi1AQCAtMTU3 Miw3ICsxNzI0LDcgQEAgYXBwZW5kX3RvX21hdGNoICh0ZXh0LCBkZWxpbWl0ZXIsIHF1b3RlX2No YXIsIG5vbnRyaXZpYWxfbWF0Y2gpCitAQCAtMTU3Miw3ICsxNzI0LDcgQEAgYXBwZW5kX3RvX21h dGNoICh0ZXh0LCBkZWxpbWl0ZXIsIHF1b3RlXwogIAkgIGlmIChybF9wb2ludCA9PSBybF9lbmQg JiYgdGVtcF9zdHJpbmdfaW5kZXgpCiAgCSAgICBybF9pbnNlcnRfdGV4dCAodGVtcF9zdHJpbmcp OwogIAl9CkBAIC00MjEyLDcgKzQyNTQsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgICByZXR1cm4gMDsKICB9CiAgCi1AQCAtMTgxMyw2ICsxOTkzLDcgQEAg cmxfY29tcGxldGlvbl9tYXRjaGVzICh0ZXh0LCBlbnRyeV9mdW5jdGlvbikKK0BAIC0xODEzLDYg KzE5OTMsNyBAQCBybF9jb21wbGV0aW9uX21hdGNoZXMgKHRleHQsIGVudHJ5X2Z1bmN0CiAgICBt YXRjaF9saXN0ID0gKGNoYXIgKiopeG1hbGxvYyAoKG1hdGNoX2xpc3Rfc2l6ZSArIDEpICogc2l6 ZW9mIChjaGFyICopKTsKICAgIG1hdGNoX2xpc3RbMV0gPSAoY2hhciAqKU5VTEw7CiAgCkBAIC00 MjIwLDcgKzQyNjIsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNh CiAgICB3aGlsZSAoc3RyaW5nID0gKCplbnRyeV9mdW5jdGlvbikgKHRleHQsIG1hdGNoZXMpKQog ICAgICB7CiAgICAgICAgaWYgKG1hdGNoZXMgKyAxID09IG1hdGNoX2xpc3Rfc2l6ZSkKLUBAIC0x ODIyLDYgKzIwMDMsOCBAQCBybF9jb21wbGV0aW9uX21hdGNoZXMgKHRleHQsIGVudHJ5X2Z1bmN0 aW9uKQorQEAgLTE4MjIsNiArMjAwMyw4IEBAIHJsX2NvbXBsZXRpb25fbWF0Y2hlcyAodGV4dCwg ZW50cnlfZnVuY3QKICAgICAgICBtYXRjaF9saXN0WysrbWF0Y2hlc10gPSBzdHJpbmc7CiAgICAg ICAgbWF0Y2hfbGlzdFttYXRjaGVzICsgMV0gPSAoY2hhciAqKU5VTEw7CiAgICAgIH0KQEAgLTQy MjksNyArNDI3MSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EK ICAKICAgIC8qIElmIHRoZXJlIHdlcmUgYW55IG1hdGNoZXMsIHRoZW4gbG9vayB0aHJvdWdoIHRo ZW0gZmluZGluZyBvdXQgdGhlCiAgICAgICBsb3dlc3QgY29tbW9uIGRlbm9taW5hdG9yLiAgVGhh dCB0aGVuIGJlY29tZXMgbWF0Y2hfbGlzdFswXS4gKi8KLUBAIC0xODI5LDcgKzIwMTIsNyBAQCBy bF9jb21wbGV0aW9uX21hdGNoZXMgKHRleHQsIGVudHJ5X2Z1bmN0aW9uKQorQEAgLTE4MjksNyAr MjAxMiw3IEBAIHJsX2NvbXBsZXRpb25fbWF0Y2hlcyAodGV4dCwgZW50cnlfZnVuY3QKICAgICAg Y29tcHV0ZV9sY2Rfb2ZfbWF0Y2hlcyAobWF0Y2hfbGlzdCwgbWF0Y2hlcywgdGV4dCk7CiAgICBl bHNlCQkJCS8qIFRoZXJlIHdlcmUgbm8gbWF0Y2hlcy4gKi8KICAgICAgewpAQCAtNDIzOCw3ICs0 MjgwLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAgICAg IG1hdGNoX2xpc3QgPSAoY2hhciAqKilOVUxMOwogICAgICB9CiAgICByZXR1cm4gKG1hdGNoX2xp c3QpOwotQEAgLTE4OTUsNiArMjA3OCw2MiBAQCBybF91c2VybmFtZV9jb21wbGV0aW9uX2Z1bmN0 aW9uICh0ZXh0LCBzdGF0ZSkKK0BAIC0xODk1LDYgKzIwNzgsNjIgQEAgcmxfdXNlcm5hbWVfY29t cGxldGlvbl9mdW5jdGlvbiAodGV4dCwgcwogICNlbmRpZiAvKiAhX19XSU4zMl9fICYmICFfX09Q RU5OVCAqLwogIH0KICAKQEAgLTQzMDEsNyArNDM0Myw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1 MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAvKiBPa2F5LCBub3cgd2Ugd3JpdGUgdGhlIGVudHJ5X2Z1 bmN0aW9uIGZvciBmaWxlbmFtZSBjb21wbGV0aW9uLiAgSW4gdGhlCiAgICAgZ2VuZXJhbCBjYXNl LiAgTm90ZSB0aGF0IGNvbXBsZXRpb24gaW4gdGhlIHNoZWxsIGlzIGEgbGl0dGxlIGRpZmZlcmVu dAogICAgIGJlY2F1c2Ugb2YgYWxsIHRoZSBwYXRobmFtZXMgdGhhdCBtdXN0IGJlIGZvbGxvd2Vk IHdoZW4gbG9va2luZyB1cCB0aGUKLUBAIC0xOTA5LDggKzIxNDgsOCBAQCBybF9maWxlbmFtZV9j b21wbGV0aW9uX2Z1bmN0aW9uICh0ZXh0LCBzdGF0ZSkKK0BAIC0xOTA5LDggKzIxNDgsOCBAQCBy bF9maWxlbmFtZV9jb21wbGV0aW9uX2Z1bmN0aW9uICh0ZXh0LCBzCiAgICBzdGF0aWMgY2hhciAq ZGlybmFtZSA9IChjaGFyICopTlVMTDsKICAgIHN0YXRpYyBjaGFyICp1c2Vyc19kaXJuYW1lID0g KGNoYXIgKilOVUxMOwogICAgc3RhdGljIGludCBmaWxlbmFtZV9sZW47CkBAIC00MzEyLDcgKzQz NTQsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICBzdHJ1 Y3QgZGlyZW50ICplbnRyeTsKICAKICAgIC8qIElmIHdlIGRvbid0IGhhdmUgYW55IHN0YXRlLCB0 aGVuIGRvIHNvbWUgaW5pdGlhbGl6YXRpb24uICovCi1AQCAtMTk2MSwyNiArMjIwMCw1MiBAQCBy bF9maWxlbmFtZV9jb21wbGV0aW9uX2Z1bmN0aW9uICh0ZXh0LCBzdGF0ZSkKK0BAIC0xOTYxLDI2 ICsyMjAwLDUyIEBAIHJsX2ZpbGVuYW1lX2NvbXBsZXRpb25fZnVuY3Rpb24gKHRleHQsIHMKICAK ICAgICAgICAvKiBXZSBhcmVuJ3QgZG9uZSB5ZXQuICBXZSBhbHNvIHN1cHBvcnQgdGhlICJ+dXNl ciIgc3ludGF4LiAqLwogIApAQCAtNDM3Miw3ICs0NDE0LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRk ZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAgICAgIGZpbGVuYW1lX2xlbiA9IHN0cmxlbiAoZmls ZW5hbWUpOwogIAogICAgICAgIHJsX2ZpbGVuYW1lX2NvbXBsZXRpb25fZGVzaXJlZCA9IDE7Ci1A QCAtMTk5NywzNyArMjI2MiwzMSBAQCBybF9maWxlbmFtZV9jb21wbGV0aW9uX2Z1bmN0aW9uICh0 ZXh0LCBzdGF0ZSkKK0BAIC0xOTk3LDM3ICsyMjYyLDMxIEBAIHJsX2ZpbGVuYW1lX2NvbXBsZXRp b25fZnVuY3Rpb24gKHRleHQsIHMKICAgIGVudHJ5ID0gKHN0cnVjdCBkaXJlbnQgKilOVUxMOwog ICAgd2hpbGUgKGRpcmVjdG9yeSAmJiAoZW50cnkgPSByZWFkZGlyIChkaXJlY3RvcnkpKSkKICAg ICAgewpAQCAtNDQyNCw3ICs0NDY2LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRk NjhkMWE0ZjQzYQogIAl9CiAgICAgIH0KICAKLUBAIC0yMDQwLDE3ICsyMjk5LDE3IEBAIHJsX2Zp bGVuYW1lX2NvbXBsZXRpb25fZnVuY3Rpb24gKHRleHQsIHN0YXRlKQorQEAgLTIwNDAsMTcgKzIy OTksMTcgQEAgcmxfZmlsZW5hbWVfY29tcGxldGlvbl9mdW5jdGlvbiAodGV4dCwgcwogIAl9CiAg ICAgICAgaWYgKGRpcm5hbWUpCiAgCXsKQEAgLTQ0NDUsNyArNDQ4Nyw3IEBAIGIxMzcwNmFiYmVl OTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAJICB1c2Vyc19kaXJuYW1lID0gKGNoYXIg KilOVUxMOwogIAl9CiAgCi1AQCAtMjA4NCwyNyArMjM0MywzMCBAQCBybF9maWxlbmFtZV9jb21w bGV0aW9uX2Z1bmN0aW9uICh0ZXh0LCBzdGF0ZSkKK0BAIC0yMDg0LDI3ICsyMzQzLDMwIEBAIHJs X2ZpbGVuYW1lX2NvbXBsZXRpb25fZnVuY3Rpb24gKHRleHQsIHMKICAJCXRlbXBbZGlybGVuKytd ID0gJy8nOwogIAkgICAgfQogIApAQCAtNDczMSw4ICs0NzczLDEwIEBAIGIxMzcwNmFiYmVlOTY0 NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICsgICAgIGFyZ3VtZW50cyBmb3IgbWVudS1jb21w bGV0ZSwgYW5kIHZpY2UgdmVyc2EuICovCiArICByZXR1cm4gKHJsX21lbnVfY29tcGxldGUgKC1j b3VudCwga2V5KSk7CiArfQotLS0tIGEvcmVhZGxpbmUvY29uZmlnLmguaW4KLSsrKyBiL3JlYWRs aW5lL2NvbmZpZy5oLmluCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9jb25m aWcuaC5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGlu ZS9jb25maWcuaC5pbgkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvY29uZmlnLmguaW4JMjAxMS0wNy0wMyAxMDo0MToy MS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00LDYgKzQsOCBAQAogICAgIGNoYXJhY3RlcnMsIGV2ZW4g aWYgdGhlIE9TIHN1cHBvcnRzIHRoZW0uICovCiAgI3VuZGVmIE5PX01VTFRJQllURV9TVVBQT1JU CkBAIC00ODM1LDggKzQ4NzksMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogICNpZiBkZWZpbmVkIChfX1NURENfXykgJiYgZGVmaW5lZCAoSEFWRV9TVERBUkdf SCkKICAjICBkZWZpbmUgUFJFRkVSX1NUREFSRwogICMgIGRlZmluZSBVU0VfVkFSQVJHUwotLS0t IGEvcmVhZGxpbmUvY29uZmlndXJlCi0rKysgYi9yZWFkbGluZS9jb25maWd1cmUKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2NvbmZpZ3VyZQorPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdk Yi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9jb25maWd1cmUJMjAxMS0wNy0wMyAxMDo0 MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2Nv bmZpZ3VyZQkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsNyArMSw3 IEBACiAgIyEgL2Jpbi9zaAogLSMgRnJvbSBjb25maWd1cmUuaW4gZm9yIFJlYWRsaW5lIDUuMSwg dmVyc2lvbiAyLjU5LgpAQCAtNDkzNCw3ICs0OTgwLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUy MmMwNTUyZGRkNjhkMWE0ZjQzYQogIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42NC4gIElu dm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogIAogICAgJCAkMCAkQAotQEAgLTIyMTEsNyArMjIx MSw3IEBAIGFjX2NvbmZpZ3VyZT0iJFNIRUxMICRhY19hdXhfZGlyL2NvbmZpZ3VyZSIgICMgUGxl YXNlIGRvbid0IHVzZSB0aGlzIHZhci4KK0BAIC0yMjExLDcgKzIyMTEsNyBAQCBhY19jb25maWd1 cmU9IiRTSEVMTCAkYWNfYXV4X2Rpci9jb25maWd1CiAgYWNfY29uZmlnX2hlYWRlcnM9IiRhY19j b25maWdfaGVhZGVycyBjb25maWcuaCIKICAKICAKQEAgLTQ5NDMsNyArNDk4OSw3IEBAIGIxMzcw NmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAjIE1ha2Ugc3VyZSB3ZSBj YW4gcnVuIGNvbmZpZy5zdWIuCiAgJFNIRUxMICIkYWNfYXV4X2Rpci9jb25maWcuc3ViIiBzdW40 ID4vZGV2L251bGwgMj4mMSB8fAotQEAgLTM2MjIsMzkgKzM2MjIsNiBAQCAkYXNfZWNobyAiJGFj X2N2X3NhZmVfdG9fZGVmaW5lX19fZXh0ZW5zaW9uc19fIiA+JjY7IH0KK0BAIC0zNjIyLDM5ICsz NjIyLDYgQEAgJGFzX2VjaG8gIiRhY19jdl9zYWZlX3RvX2RlZmluZV9fX2V4dGVucwogIAogIAog IApAQCAtNDk4Myw3ICs1MDI5LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogICMgSWYgd2UncmUgdXNpbmcgZ2NjIGFuZCB0aGUgdXNlciBoYXNuJ3Qgc3BlY2lm aWVkIENGTEFHUywgYWRkIC1PIHRvIENGTEFHUy4KICB0ZXN0IC1uICIkR0NDIiAmJiB0ZXN0IC1u ICIkYXV0b19jZmxhZ3MiICYmIENGTEFHUz0iJENGTEFHUyAtTyIKICAKLUBAIC00MDU2LDYgKzQw MjMsNDAgQEAgaWYgdGVzdCAkYWNfY3ZfY19jaGFyX3Vuc2lnbmVkID0geWVzICYmIHRlc3QgIiRH Q0MiICE9IHllczsgdGhlbgorQEAgLTQwNTYsNiArNDAyMyw0MCBAQCBpZiB0ZXN0ICRhY19jdl9j X2NoYXJfdW5zaWduZWQgPSB5ZXMgJiYgCiAgCiAgZmkKICAKQEAgLTUyMzAsNyArNTI3Niw3IEBA IGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICB7ICRhc19lY2hv ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciB0eXBlIG9mIHNpZ25h bCBmdW5jdGlvbnMiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciB0eXBlIG9mIHNpZ25h bCBmdW5jdGlvbnMuLi4gIiA+JjY7IH0KLUBAIC01MDc4LDYgKzUyNzgsNDkgQEAgJGFzX2VjaG8g IiNkZWZpbmUgR1dJTlNaX0lOX1NZU19JT0NUTCAxIiA+PmNvbmZkZWZzLmgKK0BAIC01MDc4LDYg KzUyNzgsNDkgQEAgJGFzX2VjaG8gIiNkZWZpbmUgR1dJTlNaX0lOX1NZU19JT0NUTCAxIgogIGZp CiAgCiAgCkBAIC01MjgwLDcgKzUzMjYsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBj aGVja2luZyB3aGV0aGVyIHNpZ25hbCBoYW5kbGVycyBhcmUgb2YgdHlwZSB2b2lkIiA+JjUKICAk YXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHNpZ25hbCBoYW5kbGVycyBhcmUgb2YgdHlwZSB2 b2lkLi4uICIgPiY2OyB9CiAgaWYgdGVzdCAiJHtiYXNoX2N2X3ZvaWRfc2lnaGFuZGxlcitzZXR9 IiA9IHNldDsgdGhlbiA6Ci1AQCAtNTExNiw2ICs1MzU5LDcgQEAgJGFzX2VjaG8gIiNkZWZpbmUg Vk9JRF9TSUdIQU5ETEVSIDEiID4+Y29uZmRlZnMuaAorQEAgLTUxMTYsNiArNTM1OSw3IEBAICRh c19lY2hvICIjZGVmaW5lIFZPSURfU0lHSEFORExFUiAxIiA+PmMKICAKICBmaQogIApAQCAtNTM3 MSw3ICs1NDE3LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQog IAogIGZpCiAgCi1AQCAtNTY2OCw1NSArNTk1OCw4OSBAQCBpZiB0ZXN0ICJ4JGFjX2N2X2Z1bmNf d2N3aWR0aCIgPSB4IiJ5ZXM7IHRoZW4gOgorQEAgLTU2NjgsNTUgKzU5NTgsODkgQEAgaWYgdGVz dCAieCRhY19jdl9mdW5jX3djd2lkdGgiID0geCIieWVzOwogIAogIGZpCiAgCkBAIC01NDgzLDcg KzU1MjksNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgeyAk YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgbmxfbGFu Z2luZm8gYW5kIENPREVTRVQiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciBubF9sYW5n aW5mbyBhbmQgQ09ERVNFVC4uLiAiID4mNjsgfQogIGlmIHRlc3QgIiR7YmFzaF9jdl9sYW5naW5m b19jb2Rlc2V0K3NldH0iID0gc2V0OyB0aGVuIDoKLUBAIC01NzQ4LDYgKzYwNzIsMTI2IEBAIGlm IHRlc3QgJGJhc2hfY3ZfbGFuZ2luZm9fY29kZXNldCA9IHllczsgdGhlbgorQEAgLTU3NDgsNiAr NjA3MiwxMjYgQEAgaWYgdGVzdCAkYmFzaF9jdl9sYW5naW5mb19jb2Rlc2V0ID0geWVzOwogIAog IGZpCiAgCkBAIC01NjEwLDcgKzU2NTYsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgCiAgCiAgY2FzZSAiJGhvc3RfY3B1IiBpbgotQEAgLTYzNTcsNyArNjgw MSw3IEBAIGNhdCA+PiRDT05GSUdfU1RBVFVTIDw8XF9BQ0VPRiB8fCBhY193cml0ZV9mYWlsPTEK K0BAIC02MzU3LDcgKzY4MDEsNyBAQCBjYXQgPj4kQ09ORklHX1NUQVRVUyA8PFxfQUNFT0YgfHwg YWNfd3JpCiAgIyByZXBvcnQgYWN0dWFsIGlucHV0IHZhbHVlcyBvZiBDT05GSUdfRklMRVMgZXRj LiBpbnN0ZWFkIG9mIHRoZWlyCiAgIyB2YWx1ZXMgYWZ0ZXIgb3B0aW9ucyBoYW5kbGluZy4KICBh Y19sb2c9IgpAQCAtNTYyOCw4ICs1Njc0LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICBjb25maWd1cmVkIGJ5ICQwLCBnZW5lcmF0ZWQgYnkgR05VIEF1dG9j b25mIDIuNjQsCiAgICB3aXRoIG9wdGlvbnMgXFwiYCRhc19lY2hvICIkYWNfY29uZmlndXJlX2Fy Z3MiIHwgc2VkICdzL14gLy87IHMvW1xcIiJcYFwkXS9cXFxcJi9nJ2BcXCIKICAKLS0tLSBhL3Jl YWRsaW5lL2NvbmZpZ3VyZS5pbgotKysrIGIvcmVhZGxpbmUvY29uZmlndXJlLmluCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0t LSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvY29uZmlndXJlLmluCTIwMTEtMDct MDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFk bGluZS9jb25maWd1cmUuaW4JMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBA IC01LDI4ICs1LDI2IEBAIGRubCByZXBvcnQgYnVncyB0byBjaGV0QHBvLmN3cnUuZWR1CiAgZG5s CiAgZG5sIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b2NvbmYgdG8gcHJvZHVjZSBhIGNvbmZp Z3VyZSBzY3JpcHQuCkBAIC01NjQxLDI4ICs1Njg5LDMwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1 MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIC0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAtIyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCiAtIyBh bnkgbGF0ZXIgdmVyc2lvbi4KLSsjICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsjICAgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsj ICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg TGljZW5zZSwgb3IKLSsjICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAK Ky0KIC0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAogLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKIC0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIC0jIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCistCistIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSMgYWxvbmcgd2l0aCB0 aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKy0jIEZvdW5k YXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQQorLSMg MDIxMTEtMTMwNywgVVNBLgorKyMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgICBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMg ICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM aWNlbnNlLCBvcgorKyMgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKwog KyMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKICsjICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKICsjICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogKyMgICBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogIAotLSMgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLS0jIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0tIyBG b3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEK LS0jIDAyMTExLTEzMDcsIFVTQS4KKy1BQ19SRVZJU0lPTihbZm9yIFJlYWRsaW5lIDUuMSwgdmVy c2lvbiAyLjU5XSkKICsjICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICsjICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0u ICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gCi0tQUNfUkVW SVNJT04oW2ZvciBSZWFkbGluZSA1LjEsIHZlcnNpb24gMi41OV0pCisrCiArQUNfUkVWSVNJT04o W2ZvciBSZWFkbGluZSA2LjIsIHZlcnNpb24gMi42N10pCiAgCiAgbTRfaW5jbHVkZShbLi4vY29u ZmlnL292ZXJyaWRlLm00XSkKQEAgLTU3NTMsOCArNTgwMywxMCBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgQkFTSF9IQVZFX1RJT0NTVEFUCiAgQkFTSF9IQVZF X0ZJT05SRUFECiAgQkFTSF9DSEVDS19TUEVFRF9UCi0tLS0gYS9yZWFkbGluZS9kaXNwbGF5LmMK LSsrKyBiL3JlYWRsaW5lL2Rpc3BsYXkuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVh ZGxpbmUvZGlzcGxheS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmln L3JlYWRsaW5lL2Rpc3BsYXkuYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAor KysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZGlzcGxheS5jCTIwMTEtMDctMDMgMTA6 NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyNCArMSwyNCBAQAogIC8qIGRpc3BsYXkuYyAt LSByZWFkbGluZSByZWRpc3BsYXkgZmFjaWxpdHkuICovCiAgCkBAIC02NDcyLDExICs2NTI0LDEx IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgIHsKIC0gICAg Y2hhciAqdnRlbXAgPSB2aXNpYmxlX2xpbmU7CiAtICAgIGludCAqaXRlbXAgPSB2aXNfbGJyZWFr cywgbnRlbXAgPSB2aXNfbGJzaXplOwotLQotLSAgICB2aXNpYmxlX2xpbmUgPSBpbnZpc2libGVf bGluZTsKLS0gICAgaW52aXNpYmxlX2xpbmUgPSB2dGVtcDsKICsgICAgc3RydWN0IGxpbmVfc3Rh dGUgKnZ0ZW1wID0gbGluZV9zdGF0ZV92aXNpYmxlOwogIAorLSAgICB2aXNpYmxlX2xpbmUgPSBp bnZpc2libGVfbGluZTsKKy0gICAgaW52aXNpYmxlX2xpbmUgPSB2dGVtcDsKKy0KIC0gICAgdmlz X2xicmVha3MgPSBpbnZfbGJyZWFrczsKIC0gICAgaW52X2xicmVha3MgPSBpdGVtcDsKIC0KQEAg LTY0OTUsNyArNjU0Nyw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICAgIF9ybF9yZWxlYXNlX3NpZ2ludCAoKTsKICB9CiAgCi1AQCAtMTE2OSwxMiArMTI3NSwx MiBAQCB1cGRhdGVfbGluZSAob2xkLCBuZXcsIGN1cnJlbnRfbGluZSwgb21heCwgbm1heCwgaW52 X2JvdGxpbikKK0BAIC0xMTY5LDEyICsxMjc1LDEyIEBAIHVwZGF0ZV9saW5lIChvbGQsIG5ldywg Y3VycmVudF9saW5lLCBvbWEKICAgICAgIGludCBjdXJyZW50X2xpbmUsIG9tYXgsIG5tYXgsIGlu dl9ib3RsaW47CiAgewogICAgcmVnaXN0ZXIgY2hhciAqb2ZkLCAqb2xzLCAqb2UsICpuZmQsICpu bHMsICpuZTsKQEAgLTY1MTAsNyArNjU2Miw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICAjZW5kaWYKICAKICAgIC8qIElmIHdlJ3JlIGF0IHRoZSByaWdodCBl ZGdlIG9mIGEgdGVybWluYWwgdGhhdCBzdXBwb3J0cyB4biwgd2UncmUKLUBAIC0xMTg1LDcgKzEy OTEsNyBAQCB1cGRhdGVfbGluZSAob2xkLCBuZXcsIGN1cnJlbnRfbGluZSwgb21heCwgbm1heCwg aW52X2JvdGxpbikKK0BAIC0xMTg1LDcgKzEyOTEsNyBAQCB1cGRhdGVfbGluZSAob2xkLCBuZXcs IGN1cnJlbnRfbGluZSwgb21hCiAgICBpZiAoTUJfQ1VSX01BWCA+IDEgJiYgcmxfYnl0ZV9vcmll bnRlZCA9PSAwKQogICAgICB0ZW1wID0gX3JsX2xhc3RfY19wb3M7CiAgICBlbHNlCkBAIC02NTE5 LDcgKzY1NzEsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAg ICBpZiAodGVtcCA9PSBfcmxfc2NyZWVud2lkdGggJiYgX3JsX3Rlcm1fYXV0b3dyYXAgJiYgIV9y bF9ob3Jpem9udGFsX3Njcm9sbF9tb2RlCiAgCSYmIF9ybF9sYXN0X3ZfcG9zID09IGN1cnJlbnRf bGluZSAtIDEpCiAgICAgIHsKLUBAIC0xMjAwLDggKzEzMDYsOCBAQCB1cGRhdGVfbGluZSAob2xk LCBuZXcsIGN1cnJlbnRfbGluZSwgb21heCwgbm1heCwgaW52X2JvdGxpbikKK0BAIC0xMjAwLDgg KzEzMDYsOCBAQCB1cGRhdGVfbGluZSAob2xkLCBuZXcsIGN1cnJlbnRfbGluZSwgb21hCiAgCSAg LyogVGhpcyBmaXhlcyBvbmx5IGRvdWJsZS1jb2x1bW4gY2hhcmFjdGVycywgYnV0IGlmIHRoZSB3 cmFwcGVkCiAgCSAgICAgY2hhcmFjdGVyIGNvbXN1bWVzIG1vcmUgdGhhbiB0aHJlZSBjb2x1bW5z LCBzcGFjZXMgd2lsbCBiZQogIAkgICAgIGluc2VydGVkIGluIHRoZSBzdHJpbmcgYnVmZmVyLiAq LwpAQCAtNjUzMCw3ICs2NTgyLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogIAogIAkgIG1lbXNldCAoJnBzLCAwLCBzaXplb2YgKG1ic3RhdGVfdCkpOwogIAkg IHJldCA9IG1icnRvd2MgKCZ3YywgbmV3LCBNQl9DVVJfTUFYLCAmcHMpOwotQEAgLTEyMTcsNyAr MTMyMyw3IEBAIHVwZGF0ZV9saW5lIChvbGQsIG5ldywgY3VycmVudF9saW5lLCBvbWF4LCBubWF4 LCBpbnZfYm90bGluKQorQEAgLTEyMTcsNyArMTMyMyw3IEBAIHVwZGF0ZV9saW5lIChvbGQsIG5l dywgY3VycmVudF9saW5lLCBvbWEKICAKICAJICBpZiAodGVtcHdpZHRoID4gMCkKICAJICAgIHsK QEAgLTY1MzksNyArNjU5MSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFh NGY0M2EKICAJICAgICAgYnl0ZXMgPSByZXQ7CiAgCSAgICAgIGZvciAoY291bnQgPSAwOyBjb3Vu dCA8IGJ5dGVzOyBjb3VudCsrKQogIAkJcHV0YyAobmV3W2NvdW50XSwgcmxfb3V0c3RyZWFtKTsK LUBAIC0xMjI4LDEwICsxMzM0LDEzIEBAIHVwZGF0ZV9saW5lIChvbGQsIG5ldywgY3VycmVudF9s aW5lLCBvbWF4LCBubWF4LCBpbnZfYm90bGluKQorQEAgLTEyMjgsMTAgKzEzMzQsMTMgQEAgdXBk YXRlX2xpbmUgKG9sZCwgbmV3LCBjdXJyZW50X2xpbmUsIG9tYQogIAkgICAgICBpZiAocmV0ICE9 IDAgJiYgYnl0ZXMgIT0gMCkKICAJCXsKICAJCSAgaWYgKE1CX0lOVkFMSURDSCAocmV0KSkKQEAg LTY1NTYsNyArNjYwOCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICAJCX0KICAJICAgIH0KICAJICBlbHNlCi1AQCAtMTI2NSw3ICsxMzc0LDcgQEAgdXBkYXRl X2xpbmUgKG9sZCwgbmV3LCBjdXJyZW50X2xpbmUsIG9tYXgsIG5tYXgsIGludl9ib3RsaW4pCitA QCAtMTI2NSw3ICsxMzc0LDcgQEAgdXBkYXRlX2xpbmUgKG9sZCwgbmV3LCBjdXJyZW50X2xpbmUs IG9tYQogICAgICAgIC8qIFNlZSBpZiB0aGUgb2xkIGxpbmUgaXMgYSBzdWJzZXQgb2YgdGhlIG5l dyBsaW5lLCBzbyB0aGF0IHRoZQogIAkgb25seSBjaGFuZ2UgaXMgYWRkaW5nIGNoYXJhY3RlcnMu ICovCiAgICAgICAgdGVtcCA9IChvbWF4IDwgbm1heCkgPyBvbWF4IDogbm1heDsKQEAgLTY1NjUs NyArNjYxNyw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAJ ewogIAkgIG9mZCA9IG9sZCArIHRlbXA7CiAgCSAgbmZkID0gbmV3ICsgdGVtcDsKLUBAIC0xNDA3 LDMwICsxNTE2LDQ4IEBAIHVwZGF0ZV9saW5lIChvbGQsIG5ldywgY3VycmVudF9saW5lLCBvbWF4 LCBubWF4LCBpbnZfYm90bGluKQorQEAgLTE0MDcsMzAgKzE1MTYsNDggQEAgdXBkYXRlX2xpbmUg KG9sZCwgbmV3LCBjdXJyZW50X2xpbmUsIG9tYQogICAgICAgc2VxdWVuY2VzIChsaWtlIGRyYXdp bmcgdGhlIGB1bmJvbGQnIHNlcXVlbmNlIHdpdGhvdXQgYSBjb3JyZXNwb25kaW5nCiAgICAgICBg Ym9sZCcpIHRoYXQgbWFuaWZlc3RzIGl0c2VsZiBvbiBjZXJ0YWluIHRlcm1pbmFscy4gKi8KICAK QEAgLTY2MTgsNyArNjY3MCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFh NGY0M2EKICAKICAgIC8qIGlmIChsZW4gKG5ldykgPiBsZW4gKG9sZCkpCiAgICAgICBsZW5kaWZm ID09IGRpZmZlcmVuY2UgaW4gYnVmZmVyCi1AQCAtMTQzOCw3ICsxNTY1LDcgQEAgdXBkYXRlX2xp bmUgKG9sZCwgbmV3LCBjdXJyZW50X2xpbmUsIG9tYXgsIG5tYXgsIGludl9ib3RsaW4pCitAQCAt MTQzOCw3ICsxNTY1LDcgQEAgdXBkYXRlX2xpbmUgKG9sZCwgbmV3LCBjdXJyZW50X2xpbmUsIG9t YQogICAgICAgV2hlbiBub3QgdXNpbmcgbXVsdGlieXRlIGNoYXJhY3RlcnMsIHRoZXNlIGFyZSBl cXVhbCAqLwogICAgbGVuZGlmZiA9IChubHMgLSBuZmQpIC0gKG9scyAtIG9mZCk7CiAgICBpZiAo TUJfQ1VSX01BWCA+IDEgJiYgcmxfYnl0ZV9vcmllbnRlZCA9PSAwKQpAQCAtNjYyNyw3ICs2Njc5 LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAgZWxzZQog ICAgICBjb2xfbGVuZGlmZiA9IGxlbmRpZmY7CiAgCi1AQCAtMTQ2Myw3ICsxNTkwLDcgQEAgdXBk YXRlX2xpbmUgKG9sZCwgbmV3LCBjdXJyZW50X2xpbmUsIG9tYXgsIG5tYXgsIGludl9ib3RsaW4p CitAQCAtMTQ2Myw3ICsxNTkwLDcgQEAgdXBkYXRlX2xpbmUgKG9sZCwgbmV3LCBjdXJyZW50X2xp bmUsIG9tYQogICAgLyogSW5zZXJ0IChkaWZmIChsZW4gKG9sZCksIGxlbiAobmV3KSkgY2guICov CiAgICB0ZW1wID0gbmUgLSBuZmQ7CiAgICBpZiAoTUJfQ1VSX01BWCA+IDEgJiYgcmxfYnl0ZV9v cmllbnRlZCA9PSAwKQpAQCAtNjYzNiw3ICs2Njg4LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUy MmMwNTUyZGRkNjhkMWE0ZjQzYQogICAgZWxzZQogICAgICBjb2xfdGVtcCA9IHRlbXA7CiAgCi1A QCAtMTQ3MSwyMiArMTU5OCw2MCBAQCB1cGRhdGVfbGluZSAob2xkLCBuZXcsIGN1cnJlbnRfbGlu ZSwgb21heCwgbm1heCwgaW52X2JvdGxpbikKK0BAIC0xNDcxLDIyICsxNTk4LDYwIEBAIHVwZGF0 ZV9saW5lIChvbGQsIG5ldywgY3VycmVudF9saW5lLCBvbWEKICAgICAgewogICAgICAgIC8qIE5v bi16ZXJvIGlmIHdlJ3JlIGluY3JlYXNpbmcgdGhlIG51bWJlciBvZiBsaW5lcy4gKi8KICAgICAg ICBpbnQgZ2wgPSBjdXJyZW50X2xpbmUgPj0gX3JsX3Zpc19ib3RsaW4gJiYgaW52X2JvdGxpbiA+ IF9ybF92aXNfYm90bGluOwpAQCAtNjcwMCw3ICs2NzUyLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRk ZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAkgIGVsc2UgaWYgKChNQl9DVVJfTUFYID09IDEgfHwg cmxfYnl0ZV9vcmllbnRlZCAhPSAwKSAmJiAqb2xzID09IDAgJiYgbGVuZGlmZiA+IDApCiAgCSAg ICB7CiAgCSAgICAgIC8qIEF0IHRoZSBlbmQgb2YgYSBsaW5lIHRoZSBjaGFyYWN0ZXJzIGRvIG5v dCBoYXZlIHRvCi1AQCAtMTQ5OCwxMSArMTY2MywxNiBAQCB1cGRhdGVfbGluZSAob2xkLCBuZXcs IGN1cnJlbnRfbGluZSwgb21heCwgbm1heCwgaW52X2JvdGxpbikKK0BAIC0xNDk4LDExICsxNjYz LDE2IEBAIHVwZGF0ZV9saW5lIChvbGQsIG5ldywgY3VycmVudF9saW5lLCBvbWEKICAJICAgIH0K ICAJICBlbHNlCiAgCSAgICB7CkBAIC02NzIwLDcgKzY3NzIsNyBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCSAgICAgIHJldHVybjsKICAJICAgIH0KICAJICAv KiBDb3B5IChuZXcpIGNoYXJzIHRvIHNjcmVlbiBmcm9tIGZpcnN0IGRpZmYgdG8gbGFzdCBtYXRj aC4gKi8KLUBAIC0xNTEwLDE1ICsxNjgwLDIzIEBAIHVwZGF0ZV9saW5lIChvbGQsIG5ldywgY3Vy cmVudF9saW5lLCBvbWF4LCBubWF4LCBpbnZfYm90bGluKQorQEAgLTE1MTAsMTUgKzE2ODAsMjMg QEAgdXBkYXRlX2xpbmUgKG9sZCwgbmV3LCBjdXJyZW50X2xpbmUsIG9tYQogIAkgIGlmICgodGVt cCAtIGxlbmRpZmYpID4gMCkKICAJICAgIHsKICAJICAgICAgX3JsX291dHB1dF9zb21lX2NoYXJz IChuZmQgKyBsZW5kaWZmLCB0ZW1wIC0gbGVuZGlmZik7CkBAIC02NzQ5LDcgKzY4MDEsNyBAQCBi MTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCSAgICB9CiAgCX0KICAg ICAgICBlbHNlCi1AQCAtMTUzMCw2ICsxNzA4LDE0IEBAIHVwZGF0ZV9saW5lIChvbGQsIG5ldywg Y3VycmVudF9saW5lLCBvbWF4LCBubWF4LCBpbnZfYm90bGluKQorQEAgLTE1MzAsNiArMTcwOCwx NCBAQCB1cGRhdGVfbGluZSAob2xkLCBuZXcsIGN1cnJlbnRfbGluZSwgb21hCiAgCSAgICAgY2hh ciBpbiB0aGUgY3VycmVudCBsaW5lICh3aGljaCBpbXBsaWVzIHdlIGp1c3Qgb3V0cHV0IHNvbWUg aW52aXNpYmxlCiAgCSAgICAgY2hhcmFjdGVycykgd2UgbmVlZCB0byBhZGp1c3QgX3JsX2xhc3Rf Y19wb3MsIHNpbmNlIGl0IHJlcHJlc2VudHMKICAJICAgICBhIHBoeXNpY2FsIGNoYXJhY3RlciBw b3NpdGlvbi4gKi8KQEAgLTY3NjQsNyArNjgxNiw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICAJfQogICAgICB9CiAgICBlbHNlCQkJCS8qIERlbGV0ZSBjaGFy YWN0ZXJzIGZyb20gbGluZS4gKi8KLUBAIC0xNTUxLDggKzE3MzcsMjIgQEAgdXBkYXRlX2xpbmUg KG9sZCwgbmV3LCBjdXJyZW50X2xpbmUsIG9tYXgsIG5tYXgsIGludl9ib3RsaW4pCitAQCAtMTU1 MSw4ICsxNzM3LDIyIEBAIHVwZGF0ZV9saW5lIChvbGQsIG5ldywgY3VycmVudF9saW5lLCBvbWEK ICAJICB0ZW1wID0gbmxzIC0gbmZkOwogIAkgIGlmICh0ZW1wID4gMCkKICAJICAgIHsKQEAgLTY3 ODgsNyArNjg0MCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EK ICAJICAgIH0KICAJfQogICAgICAgIC8qIE90aGVyd2lzZSwgcHJpbnQgb3ZlciB0aGUgZXhpc3Rp bmcgbWF0ZXJpYWwuICovCi1AQCAtMTU2MCwxNiArMTc2MCwzNyBAQCB1cGRhdGVfbGluZSAob2xk LCBuZXcsIGN1cnJlbnRfbGluZSwgb21heCwgbm1heCwgaW52X2JvdGxpbikKK0BAIC0xNTYwLDE2 ICsxNzYwLDM3IEBAIHVwZGF0ZV9saW5lIChvbGQsIG5ldywgY3VycmVudF9saW5lLCBvbWEKICAJ ewogIAkgIGlmICh0ZW1wID4gMCkKICAJICAgIHsKQEAgLTcxMDUsOCArNzE1NywxMCBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICB3aGlsZSAocG9pbnQgPCBz dGFydCkKICAgICAgewogICAgICAgIHRtcCA9IG1icmxlbiAoc3RyICsgcG9pbnQsIG1heCwgJnBz KTsKLS0tLSBhL3JlYWRsaW5lL2RvYy9DaGFuZ2VMb2cuZ2RiCi0rKysgYi9yZWFkbGluZS9kb2Mv Q2hhbmdlTG9nLmdkYgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL0No YW5nZUxvZy5nZGIKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVh ZGxpbmUvZG9jL0NoYW5nZUxvZy5nZGIJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2RvYy9DaGFuZ2VMb2cuZ2RiCTIw MTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwzICsxLDcgQEAKICsyMDEx LTA0LTI1ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CiArCkBA IC03MTE1LDggKzcxNjksMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0 ZjQzYQogIDIwMDYtMDQtMjQgIERhbmllbCBKYWNvYm93aXR6ICA8ZGFuQGNvZGVzb3VyY2VyeS5j b20+CiAgCiAgCUltcG9ydGVkIHJlYWRsaW5lIDUuMSwgYW5kIHVwc3RyZWFtIHBhdGNoZXMgMDAx LTAwNC4KLS0tLSBhL3JlYWRsaW5lL2RvYy9NYWtlZmlsZS5pbgotKysrIGIvcmVhZGxpbmUvZG9j L01ha2VmaWxlLmluCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9kb2MvTWFr ZWZpbGUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxp bmUvZG9jL01ha2VmaWxlLmluCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisr KysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9kb2MvTWFrZWZpbGUuaW4JMjAxMS0wNy0w MyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI1ICsxLDI0IEBACiAgIyBUaGlzIG1h a2VmaWxlIGZvciBSZWFkbGluZSBsaWJyYXJ5IGRvY3VtZW50YXRpb24gaXMgaW4gLSotIHRleHQg LSotIG1vZGUuCiAgIyBFbWFjcyBsaWtlcyBpdCB0aGF0IHdheS4KQEAgLTcxMjgsMjMgKzcxODQs MjUgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogLSMgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKIC0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIs IG9yIChhdCB5b3VyIG9wdGlvbikKIC0jIGFueSBsYXRlciB2ZXJzaW9uLgotKyMgICBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQotKyMgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyMgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyMgICAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgotIAorLQogLSMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAtIyBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogLSMgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQogLSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0KKy0j IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCistIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0 aGUgRnJlZSBTb2Z0d2FyZQorLSMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBT dWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEgVVNBLgorKyMgICBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgICBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQorKyMgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVy c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgorKwogKyMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICsjICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICsjICAgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogKyMgICBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIAotLSMgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UKLS0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVl IFNvZnR3YXJlCi0tIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMz MCwgQm9zdG9uLCBNQSAwMjExMSBVU0EuCisrCiArIyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiArIyAgIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LgogIApAQCAtNzE1NSw3ICs3MjEzLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUy ZGRkNjhkMWE0ZjQzYQogIAogIHByZWZpeCA9IEBwcmVmaXhACiAgCi1AQCAtNjQsOSArNjMsOSBA QCBQU1BERiAgICAgICA9IGdzIC1zUEFQRVJTSVpFPSR7UEFQRVJTSVpFfSAtc0RFVklDRT1wZGZ3 cml0ZSAtZE5PUEFVU0UgLWRCQVRDSCAtcworQEAgLTY0LDkgKzYzLDkgQEAgUFNQREYgICAgICAg PSBncyAtc1BBUEVSU0laRT0ke1BBUEVSU0laRQogIAogIFJMU1JDID0gJChzcmNkaXIpL3JsbWFu LnRleGkgJChzcmNkaXIpL3JsdXNlci50ZXhpIFwKICAJJChzcmNkaXIpL3JsdGVjaC50ZXhpICQo c3JjZGlyKS92ZXJzaW9uLnRleGkgXApAQCAtNzE2Nyw3ICs3MjI1LDcgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogICMgVGhpcyBzaG91bGQgYmUgYSBwcm9n cmFtIHRoYXQgY29udmVydHMgdHJvZmYgdG8gYW4gYXNjaWktcmVhZGFibGUgZm9ybWF0CiAgTlJP RkYgICAgICAgPSBncm9mZiAtVGFzY2lpCi1AQCAtODMsNyArODIsNyBAQCBQREZPQkogPSByZWFk bGluZS5wZGYgaGlzdG9yeS5wZGYgcmx1c2VybWFuLnBkZgorQEAgLTgzLDcgKzgyLDcgQEAgUERG T0JKID0gcmVhZGxpbmUucGRmIGhpc3RvcnkucGRmIHJsdXNlcgogIAogIElOVEVSTUVESUFURV9P QkogPSBybG1hbi5kdmkKICAKQEAgLTcxNzYsNyArNzIzNCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0 ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAuU1VGRklYRVM6ICAgICAgLjAgLjMgLnBzIC50 eHQgLmR2aSAuaHRtbCAucGRmCiAgCi1AQCAtOTksOSArOTgsMTEgQEAgRElTVF9ET0NTID0gJChE VklPQkopICQoUFNPQkopICQoSFRNTE9CSikgJChJTkZPT0JKKSAkKFRFWFRPQkopCitAQCAtOTks OSArOTgsMTEgQEAgRElTVF9ET0NTID0gJChEVklPQkopICQoUFNPQkopICQoSFRNTE9CSgogIAkk KFJNKSAkQAogIAktJHtEVklQREZ9ICQ8CiAgCkBAIC03MjE0LDggKzcyNzIsMTAgQEAgYjEzNzA2 YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAkJJChSTSkgJChESVNUX0RPQ1Mp OyBcCiAgCWZpCiAgCi0tLS0gYS9yZWFkbGluZS9kb2MvZmRsLnRleGkKLSsrKyBiL3JlYWRsaW5l L2RvYy9mZGwudGV4aQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL2Zk bC50ZXhpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5l L2RvYy9mZGwudGV4aQkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL2ZkbC50ZXhpCTIwMTEtMDctMDMgMTA6NDE6 MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwxMyArMSwxMiBAQAogK0BjIFRoZSBHTlUgRnJlZSBE b2N1bWVudGF0aW9uIExpY2Vuc2UuCiArQGNlbnRlciBWZXJzaW9uIDEuMywgMyBOb3ZlbWJlciAy MDA4CkBAIC03MjM2LDcgKzcyOTYsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2 OGQxYTRmNDNhCiAgCiAgRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1 dGUgdmVyYmF0aW0gY29waWVzCiAgb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdp bmcgaXQgaXMgbm90IGFsbG93ZWQuCi1AQCAtMTEyLDYgKzExMSw5IEBAIGZvcm1hdHMgd2hpY2gg ZG8gbm90IGhhdmUgYW55IHRpdGxlIHBhZ2UgYXMgc3VjaCwgYGBUaXRsZSBQYWdlJycgbWVhbnMK K0BAIC0xMTIsNiArMTExLDkgQEAgZm9ybWF0cyB3aGljaCBkbyBub3QgaGF2ZSBhbnkgdGl0bGUg cGFnZQogIHRoZSB0ZXh0IG5lYXIgdGhlIG1vc3QgcHJvbWluZW50IGFwcGVhcmFuY2Ugb2YgdGhl IHdvcmsncyB0aXRsZSwKICBwcmVjZWRpbmcgdGhlIGJlZ2lubmluZyBvZiB0aGUgYm9keSBvZiB0 aGUgdGV4dC4KICAKQEAgLTcyNDYsNyArNzMwNiw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICBBIHNlY3Rpb24gYGBFbnRpdGxlZCBYWVonJyBtZWFucyBhIG5h bWVkIHN1YnVuaXQgb2YgdGhlIERvY3VtZW50IHdob3NlCiAgdGl0bGUgZWl0aGVyIGlzIHByZWNp c2VseSBYWVogb3IgY29udGFpbnMgWFlaIGluIHBhcmVudGhlc2VzIGZvbGxvd2luZwogIHRleHQg dGhhdCB0cmFuc2xhdGVzIFhZWiBpbiBhbm90aGVyIGxhbmd1YWdlLiAgKEhlcmUgWFlaIHN0YW5k cyBmb3IgYQotQEAgLTM0NCw3ICszNDYsNyBAQCBhbmQgaW5kZXBlbmRlbnQgZG9jdW1lbnRzIG9y IHdvcmtzLCBpbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IKK0BAIC0zNDQsNyArMzQ2 LDcgQEAgYW5kIGluZGVwZW5kZW50IGRvY3VtZW50cyBvciB3b3JrcywgaW4gbwogIGRpc3RyaWJ1 dGlvbiBtZWRpdW0sIGlzIGNhbGxlZCBhbiBgYGFnZ3JlZ2F0ZScnIGlmIHRoZSBjb3B5cmlnaHQK ICByZXN1bHRpbmcgZnJvbSB0aGUgY29tcGlsYXRpb24gaXMgbm90IHVzZWQgdG8gbGltaXQgdGhl IGxlZ2FsIHJpZ2h0cwogIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzIGJleW9uZCB3aGF0IHRo ZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4KQEAgLTcyOTMsNyArNzM1Myw3IEBAIGIxMzcwNmFi YmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICBAaXRlbQogIEZVVFVSRSBSRVZJ U0lPTlMgT0YgVEhJUyBMSUNFTlNFCi1AQCAtNDA0LDExICs0MjMsNDYgQEAgZm9sbG93aW5nIHRo ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCBzcGVjaWZpZWQgdmVyc2lvbiBv cgorQEAgLTQwNCwxMSArNDIzLDQ2IEBAIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlv bnMgZWl0aGUKICBvZiBhbnkgbGF0ZXIgdmVyc2lvbiB0aGF0IGhhcyBiZWVuIHB1Ymxpc2hlZCAo bm90IGFzIGEgZHJhZnQpIGJ5IHRoZQogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRo ZSBEb2N1bWVudCBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbgogIG51bWJlciBvZiB0aGlzIExp Y2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIChub3QKQEAg LTczNDIsNyArNzQwMiw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICAKICBUbyB1c2UgdGhpcyBMaWNlbnNlIGluIGEgZG9jdW1lbnQgeW91IGhhdmUgd3JpdHRl biwgaW5jbHVkZSBhIGNvcHkgb2YKICB0aGUgTGljZW5zZSBpbiB0aGUgZG9jdW1lbnQgYW5kIHB1 dCB0aGUgZm9sbG93aW5nIGNvcHlyaWdodCBhbmQKLUBAIC00MTgsMTYgKzQ3MiwxNiBAQCBsaWNl bnNlIG5vdGljZXMganVzdCBhZnRlciB0aGUgdGl0bGUgcGFnZToKK0BAIC00MTgsMTYgKzQ3Miwx NiBAQCBsaWNlbnNlIG5vdGljZXMganVzdCBhZnRlciB0aGUgdGl0bGUgcGFnCiAgQGdyb3VwCiAg ICBDb3B5cmlnaHQgKEMpICBAdmFye3llYXJ9ICBAdmFye3lvdXIgbmFtZX0uCiAgICBQZXJtaXNz aW9uIGlzIGdyYW50ZWQgdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoaXMgZG9j dW1lbnQKQEAgLTczNjMsOCArNzQyMywxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgCiAgQHNtYWxsZXhhbXBsZQogIEBncm91cAotLS0tIGEvcmVhZGxpbmUv ZG9jL2hpc3RvcnkuMwotKysrIGIvcmVhZGxpbmUvZG9jL2hpc3RvcnkuMworSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL2hpc3RvcnkuMworPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdk Yi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9kb2MvaGlzdG9yeS4zCTIwMTEtMDctMDMg MTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGlu ZS9kb2MvaGlzdG9yeS4zCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAt Niw5ICs2LDkgQEAKICAuXCIJQ2FzZSBXZXN0ZXJuIFJlc2VydmUgVW5pdmVyc2l0eQogIC5cIglj aGV0QGlucy5DV1JVLkVkdQpAQCAtNzQyMyw3ICs3NDg1LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRk ZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIC5JUiBzdHJpbmcgLgogIFRoZSB0cmFpbGluZyBcZkI/ XGZQIG1heSBiZSBvbWl0dGVkIGlmCiAgLkkgc3RyaW5nCi1AQCAtNTY5LDEwICs1NzUsMTMgQEAg VGhlIG51bWJlciBvZiBlbnRyaWVzIGN1cnJlbnRseSBzdG9yZWQgaW4gdGhlIGhpc3RvcnkgbGlz dC4KK0BAIC01NjksMTAgKzU3NSwxMyBAQCBUaGUgbnVtYmVyIG9mIGVudHJpZXMgY3VycmVudGx5 IHN0b3JlZCBpCiAgVGhlIG1heGltdW0gbnVtYmVyIG9mIGhpc3RvcnkgZW50cmllcy4gIFRoaXMg bXVzdCBiZSBjaGFuZ2VkIHVzaW5nCiAgXGZCc3RpZmxlX2hpc3RvcnkoKVxmUC4KICAKQEAgLTc0 MzgsOCArNzUwMCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNh CiAgCiAgLlZiIGNoYXIgaGlzdG9yeV9leHBhbnNpb25fY2hhcgogIFRoZSBjaGFyYWN0ZXIgdGhh dCBpbnRyb2R1Y2VzIGEgaGlzdG9yeSBldmVudC4gIFRoZSBkZWZhdWx0IGlzIFxmQiFcZlAuCi0t LS0gYS9yZWFkbGluZS9kb2MvaGlzdG9yeS50ZXhpCi0rKysgYi9yZWFkbGluZS9kb2MvaGlzdG9y eS50ZXhpCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9kb2MvaGlzdG9yeS50 ZXhpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL2Rv Yy9oaXN0b3J5LnRleGkJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2RvYy9oaXN0b3J5LnRleGkJMjAxMS0wNy0wMyAx MDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00LDggKzQsNiBAQAogIEBzZXR0aXRsZSBHTlUg SGlzdG9yeSBMaWJyYXJ5CiAgQGMgJSoqZW5kIG9mIGhlYWRlciAoVGhpcyBpcyBmb3IgcnVubmlu ZyBUZXhpbmZvIG9uIGEgcmVnaW9uLikKQEAgLTc0NDksNyArNzUxMyw3IEBAIGIxMzcwNmFiYmVl OTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBAaW5jbHVkZSB2ZXJzaW9uLnRleGkKICAK ICBAY29weWluZwotQEAgLTE0LDcgKzEyLDcgQEAgVGhpcyBkb2N1bWVudCBkZXNjcmliZXMgdGhl IEdOVSBIaXN0b3J5IGxpYnJhcnkKK0BAIC0xNCw3ICsxMiw3IEBAIFRoaXMgZG9jdW1lbnQgZGVz Y3JpYmVzIHRoZSBHTlUgSGlzdG9yeSAKICBhIHByb2dyYW1taW5nIHRvb2wgdGhhdCBwcm92aWRl cyBhIGNvbnNpc3RlbnQgdXNlciBpbnRlcmZhY2UgZm9yCiAgcmVjYWxsaW5nIGxpbmVzIG9mIHBy ZXZpb3VzbHkgdHlwZWQgaW5wdXQuCiAgCkBAIC03NTA1LDggKzc1NjksMTAgQEAgYjEzNzA2YWJi ZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogIEBpbmNsdWRlIGZkbC50ZXhpCiAg Ci0tLS0gYS9yZWFkbGluZS9kb2MvaHN0ZWNoLnRleGkKLSsrKyBiL3JlYWRsaW5lL2RvYy9oc3Rl Y2gudGV4aQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL2hzdGVjaC50 ZXhpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL2Rv Yy9oc3RlY2gudGV4aQkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL2hzdGVjaC50ZXhpCTIwMTEtMDctMDMgMTA6 NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSw3ICsxLDcgQEAKICBAaWdub3JlCiAgVGhpcyBm aWxlIGRvY3VtZW50cyB0aGUgdXNlciBpbnRlcmZhY2UgdG8gdGhlIEdOVSBIaXN0b3J5IGxpYnJh cnkuCkBAIC03NTE2LDcgKzc1ODIsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2 OGQxYTRmNDNhCiAgQXV0aG9yZWQgYnkgQnJpYW4gRm94IGFuZCBDaGV0IFJhbWV5LgogIAogIFBl cm1pc3Npb24gaXMgZ3JhbnRlZCB0byBtYWtlIGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGll cyBvZiB0aGlzIG1hbnVhbAotQEAgLTQyNiw2ICs0MjYsMTAgQEAgVGhlIG1heGltdW0gbnVtYmVy IG9mIGhpc3RvcnkgZW50cmllcy4gIFRoaXMgbXVzdCBiZSBjaGFuZ2VkIHVzaW5nCitAQCAtNDI2 LDYgKzQyNiwxMCBAQCBUaGUgbWF4aW11bSBudW1iZXIgb2YgaGlzdG9yeSBlbnRyaWVzLiAgCiAg SWYgbm9uLXplcm8sIHRpbWVzdGFtcHMgYXJlIHdyaXR0ZW4gdG8gdGhlIGhpc3RvcnkgZmlsZSwg c28gdGhleSBjYW4gYmUKICBwcmVzZXJ2ZWQgYmV0d2VlbiBzZXNzaW9ucy4gIFRoZSBkZWZhdWx0 IHZhbHVlIGlzIDAsIG1lYW5pbmcgdGhhdAogIHRpbWVzdGFtcHMgYXJlIG5vdCBzYXZlZC4KQEAg LTc1MjcsOCArNzU5MywxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRm NDNhCiAgQGVuZCBkZWZ0eXBldmFyCiAgCiAgQGRlZnR5cGV2YXIgY2hhciBoaXN0b3J5X2V4cGFu c2lvbl9jaGFyCi0tLS0gYS9yZWFkbGluZS9kb2MvaHN1c2VyLnRleGkKLSsrKyBiL3JlYWRsaW5l L2RvYy9oc3VzZXIudGV4aQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9j L2hzdXNlci50ZXhpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3Jl YWRsaW5lL2RvYy9oc3VzZXIudGV4aQkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIw MAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL2hzdXNlci50ZXhpCTIwMTEt MDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSw3ICsxLDcgQEAKICBAaWdub3Jl CiAgVGhpcyBmaWxlIGRvY3VtZW50cyB0aGUgdXNlciBpbnRlcmZhY2UgdG8gdGhlIEdOVSBIaXN0 b3J5IGxpYnJhcnkuCkBAIC03NTM4LDcgKzc2MDYsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIy YzA1NTJkZGQ2OGQxYTRmNDNhCiAgQXV0aG9yZWQgYnkgQnJpYW4gRm94IGFuZCBDaGV0IFJhbWV5 LgogIAogIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBtYWtlIGFuZCBkaXN0cmlidXRlIHZlcmJh dGltIGNvcGllcyBvZiB0aGlzIG1hbnVhbAotQEAgLTk3LDcgKzk3LDExIEBAIHRvIGNvbnRhaW4g bm8gbW9yZSB0aGFuIEBlbnZ7JEhJU1RGSUxFU0laRX0KK0BAIC05Nyw3ICs5NywxMSBAQCB0byBj b250YWluIG5vIG1vcmUgdGhhbiBAZW52eyRISVNURklMRVNJCiAgbGluZXMuICBJZiBAZW52e0hJ U1RGSUxFU0laRX0gaXMgbm90IHNldCwgbm8gdHJ1bmNhdGlvbiBpcyBwZXJmb3JtZWQuCiAgCiAg SWYgdGhlIEBlbnZ7SElTVFRJTUVGT1JNQVR9IGlzIHNldCwgdGhlIHRpbWUgc3RhbXAgaW5mb3Jt YXRpb24KQEAgLTc1NjAsNyArNzYyOCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRk ZDY4ZDFhNGY0M2EKICBAY29kZXtmYyAtcyBbQHZhcntwYXR9PUB2YXJ7cmVwfV0gW0B2YXJ7Y29t bWFuZH1dfQogIEBlbmQgZXhhbXBsZQogIAotQEAgLTI3Nyw3ICsyODEsMTAgQEAgdGhlbSwgc28g dGhhdCB0aGV5IGFyZSBhdmFpbGFibGUgZm9yIHN1YnNlcXVlbnQgcmVjYWxsLgorQEAgLTI3Nyw3 ICsyODEsMTAgQEAgdGhlbSwgc28gdGhhdCB0aGV5IGFyZSBhdmFpbGFibGUgZm9yIHN1YgogIFRo aXMgaXMgbW9zdCB1c2VmdWwgaW4gY29uanVuY3Rpb24gd2l0aCBSZWFkbGluZS4KICAKICBUaGUg c2hlbGwgYWxsb3dzIGNvbnRyb2wgb2YgdGhlIHZhcmlvdXMgY2hhcmFjdGVycyB1c2VkIGJ5IHRo ZQpAQCAtNzU3Miw3ICs3NjQwLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogIEBlbmQgaWZzZXQKICAKICBAbWVudQotQEAgLTI5Miw2ICsyOTksOCBAQCBoaXN0 b3J5IGV4cGFuc2lvbiBtZWNoYW5pc20gd2l0aCB0aGUgQGNvZGV7aGlzdGNoYXJzfSB2YXJpYWJs ZS4KK0BAIC0yOTIsNiArMjk5LDggQEAgaGlzdG9yeSBleHBhbnNpb24gbWVjaGFuaXNtIHdpdGgg dGhlIEBjbwogIAogIEFuIGV2ZW50IGRlc2lnbmF0b3IgaXMgYSByZWZlcmVuY2UgdG8gYSBjb21t YW5kIGxpbmUgZW50cnkgaW4gdGhlCiAgaGlzdG9yeSBsaXN0LgpAQCAtNzU5OSw3ICs3NjY3LDcg QEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBzYW1wez99IG1h eSBiZSBvbWl0dGVkIGlmIHRoZSBAdmFye3N0cmluZ30gaXMgZm9sbG93ZWQgaW1tZWRpYXRlbHkg YnkKICBhIG5ld2xpbmUuCiAgCi1AQCAtNDEyLDcgKzQyNiw3IEBAIG9mIHRoZSBmb2xsb3dpbmcg bW9kaWZpZXJzLCBlYWNoIHByZWNlZGVkIGJ5IGEgQHNhbXB7On0uCitAQCAtNDEyLDcgKzQyNiw3 IEBAIG9mIHRoZSBmb2xsb3dpbmcgbW9kaWZpZXJzLCBlYWNoIHByZWNlZGUKICBSZW1vdmUgYSB0 cmFpbGluZyBwYXRobmFtZSBjb21wb25lbnQsIGxlYXZpbmcgb25seSB0aGUgaGVhZC4KICAKICBA aXRlbSB0CkBAIC03NjA4LDggKzc2NzYsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUy ZGRkNjhkMWE0ZjQzYQogIAogIEBpdGVtIHIKICBSZW1vdmUgYSB0cmFpbGluZyBzdWZmaXggb2Yg dGhlIGZvcm0gQHNhbXB7LkB2YXJ7c3VmZml4fX0sIGxlYXZpbmcKLS0tLSBhL3JlYWRsaW5lL2Rv Yy9pbmMtaGlzdC50ZXhpbmZvCi0rKysgL2Rldi9udWxsCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDcwMy9yZWFkbGluZS9kb2MvaW5jLWhpc3QudGV4aW5mbworPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03 LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9kb2MvaW5jLWhpc3QudGV4aW5mbwkyMDExLTA3 LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAw OjAwOjAwLjAwMDAwMDAwMCArMDAwMAogQEAgLTEsNDU3ICswLDAgQEAKIC1AaWdub3JlCiAtVGhp cyBmaWxlIGRvY3VtZW50cyB0aGUgdXNlciBpbnRlcmZhY2UgdG8gdGhlIEdOVSBIaXN0b3J5IGxp YnJhcnkuCkBAIC04MDY4LDggKzgxMzgsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUy ZGRkNjhkMWE0ZjQzYQogLUFwcGx5IHRoZSBmb2xsb3dpbmcgQHNhbXB7c30gbW9kaWZpZXIgb25j ZSB0byBlYWNoIHdvcmQgaW4gdGhlIGV2ZW50LgogLQogLUBlbmQgdGFibGUKLS0tLSBhL3JlYWRs aW5lL2RvYy9yZWFkbGluZS4zCi0rKysgYi9yZWFkbGluZS9kb2MvcmVhZGxpbmUuMworSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL3JlYWRsaW5lLjMKKz09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K Ky0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvZG9jL3JlYWRsaW5lLjMJMjAx MS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAz L3JlYWRsaW5lL2RvYy9yZWFkbGluZS4zCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICsw MjAwCiBAQCAtNiw5ICs2LDkgQEAKICAuXCIJQ2FzZSBXZXN0ZXJuIFJlc2VydmUgVW5pdmVyc2l0 eQogIC5cIgljaGV0QGlucy5DV1JVLkVkdQpAQCAtODA4Miw3ICs4MTU0LDcgQEAgYjEzNzA2YWJi ZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIC5cIgogIC5cIiBGaWxlIE5hbWUgbWFj cm8uICBUaGlzIHVzZWQgdG8gYmUgYC5QTicsIGZvciBQYXRoIE5hbWUsCiAgLlwiIGJ1dCBTdW4g ZG9lc24ndCBzZWVtIHRvIGxpa2UgdGhhdCB2ZXJ5IG11Y2guCi1AQCAtMzQsOCArMzQsOCBAQCBy ZWFkbGluZSBcLSBnZXQgYSBsaW5lIGZyb20gYSB1c2VyIHdpdGggZWRpdGluZworQEAgLTM0LDgg KzM0LDggQEAgcmVhZGxpbmUgXC0gZ2V0IGEgbGluZSBmcm9tIGEgdXNlciB3aXRoIAogIFxmQnJl YWRsaW5lXGZQIChcZkljb25zdCBjaGFyICpwcm9tcHRcZlApOwogIC5maQogIC5TSCBDT1BZUklH SFQKQEAgLTgxMDIsNyArODE3NCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4 ZDFhNGY0M2EKICBrZXlzdHJva2VzLiAgQ29udHJvbCBrZXlzIGFyZSBkZW5vdGVkIGJ5IENcLVxm SWtleVxmUiwgZS5nLiwgQ1wtbgogIG1lYW5zIENvbnRyb2xcLU4uICBTaW1pbGFybHksIAogIC5J IG1ldGEKLUBAIC0xMTYsNiArMTE2LDggQEAgVGhlIG5hbWUgb2YgdGhpcyBmaWxlIGlzIHRha2Vu IGZyb20gdGhlIHZhbHVlIG9mIHRoZQorQEAgLTExNiw2ICsxMTYsOCBAQCBUaGUgbmFtZSBvZiB0 aGlzIGZpbGUgaXMgdGFrZW4gZnJvbSB0aGUgCiAgLkIgSU5QVVRSQwogIGVudmlyb25tZW50IHZh cmlhYmxlLiAgSWYgdGhhdCB2YXJpYWJsZSBpcyB1bnNldCwgdGhlIGRlZmF1bHQgaXMKICAuSVIg fi8uaW5wdXRyYyAuCkBAIC04MTExLDcgKzgxODMsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIy YzA1NTJkZGQ2OGQxYTRmNDNhCiAgV2hlbiBhIHByb2dyYW0gd2hpY2ggdXNlcyB0aGUgcmVhZGxp bmUgbGlicmFyeSBzdGFydHMgdXAsIHRoZQogIGluaXQgZmlsZSBpcyByZWFkLCBhbmQgdGhlIGtl eSBiaW5kaW5ncyBhbmQgdmFyaWFibGVzIGFyZSBzZXQuCiAgVGhlcmUgYXJlIG9ubHkgYSBmZXcg YmFzaWMgY29uc3RydWN0cyBhbGxvd2VkIGluIHRoZQotQEAgLTE2OCw2ICsxNzAsOCBAQCBjb21t YW5kIG9yIHRoZSB0ZXh0IG9mIGEgbWFjcm8gYW5kIGEga2V5IHNlcXVlbmNlIHRvIHdoaWNoCitA QCAtMTY4LDYgKzE3MCw4IEBAIGNvbW1hbmQgb3IgdGhlIHRleHQgb2YgYSBtYWNybyBhbmQgYSBr ZXkKICBpdCBzaG91bGQgYmUgYm91bmQuIFRoZSBuYW1lIG1heSBiZSBzcGVjaWZpZWQgaW4gb25l IG9mIHR3byB3YXlzOgogIGFzIGEgc3ltYm9saWMga2V5IG5hbWUsIHBvc3NpYmx5IHdpdGggXGZJ TWV0YVwtXGZQIG9yIFxmSUNvbnRyb2xcLVxmUAogIHByZWZpeGVzLCBvciBhcyBhIGtleSBzZXF1 ZW5jZS4KQEAgLTgxOTYsNyArODI2OCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRk ZDY4ZDFhNGY0M2EKICAuQiBob3Jpem9udGFsXC1zY3JvbGxcLW1vZGUgKE9mZikKICBXaGVuIHNl dCB0byBcZkJPblxmUCwgbWFrZXMgcmVhZGxpbmUgdXNlIGEgc2luZ2xlIGxpbmUgZm9yIGRpc3Bs YXksCiAgc2Nyb2xsaW5nIHRoZSBpbnB1dCBob3Jpem9udGFsbHkgb24gYSBzaW5nbGUgc2NyZWVu IGxpbmUgd2hlbiBpdAotQEAgLTQ1MSw5ICs0ODgsMTUgQEAgaGF2ZSBhIHNsYXNoIGFwcGVuZGVk IChzdWJqZWN0IHRvIHRoZSB2YWx1ZSBvZgorQEAgLTQ1MSw5ICs0ODgsMTUgQEAgaGF2ZSBhIHNs YXNoIGFwcGVuZGVkIChzdWJqZWN0IHRvIHRoZSB2YQogIC5CIG1hdGNoXC1oaWRkZW5cLWZpbGVz IChPbikKICBUaGlzIHZhcmlhYmxlLCB3aGVuIHNldCB0byBcZkJPblxmUCwgY2F1c2VzIHJlYWRs aW5lIHRvIG1hdGNoIGZpbGVzIHdob3NlIAogIG5hbWVzIGJlZ2luIHdpdGggYSBgLicgKGhpZGRl biBmaWxlcykgd2hlbiBwZXJmb3JtaW5nIGZpbGVuYW1lICAgICAKQEAgLTgyMTMsNyArODI4NSw3 IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAuQiBvdXRwdXRc LW1ldGEgKE9mZikKICBJZiBzZXQgdG8gXGZCT25cZlAsIHJlYWRsaW5lIHdpbGwgZGlzcGxheSBj aGFyYWN0ZXJzIHdpdGggdGhlCiAgZWlnaHRoIGJpdCBzZXQgZGlyZWN0bHkgcmF0aGVyIHRoYW4g YXMgYSBtZXRhLXByZWZpeGVkIGVzY2FwZQotQEAgLTQ2NywxMCArNTEwLDE2IEBAIHRvIGRpc3Bs YXkgYSBzY3JlZW5mdWwgb2YgcG9zc2libGUgY29tcGxldGlvbnMgYXQgYSB0aW1lLgorQEAgLTQ2 NywxMCArNTEwLDE2IEBAIHRvIGRpc3BsYXkgYSBzY3JlZW5mdWwgb2YgcG9zc2libGUgY29tcGwK ICBJZiBzZXQgdG8gXGZCT25cZlAsIHJlYWRsaW5lIHdpbGwgZGlzcGxheSBjb21wbGV0aW9ucyB3 aXRoIG1hdGNoZXMKICBzb3J0ZWQgaG9yaXpvbnRhbGx5IGluIGFscGhhYmV0aWNhbCBvcmRlciwg cmF0aGVyIHRoYW4gZG93biB0aGUgc2NyZWVuLgogIC5UUApAQCAtODIzMSw3ICs4MzAzLDcgQEAg YjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIHdvcmRzIHdoaWNoIGhh dmUgbW9yZSB0aGFuIG9uZSBwb3NzaWJsZSBjb21wbGV0aW9uIGNhdXNlIHRoZQogIG1hdGNoZXMg dG8gYmUgbGlzdGVkIGltbWVkaWF0ZWx5IGluc3RlYWQgb2YgcmluZ2luZyB0aGUgYmVsbC4KICAu VFAKLUBAIC00NzgsMTIgKzUyNywyMCBAQCBtYXRjaGVzIHRvIGJlIGxpc3RlZCBpbW1lZGlhdGVs eSBpbnN0ZWFkIG9mIHJpbmdpbmcgdGhlIGJlbGwuCitAQCAtNDc4LDEyICs1MjcsMjAgQEAgbWF0 Y2hlcyB0byBiZSBsaXN0ZWQgaW1tZWRpYXRlbHkgaW5zdGVhZAogIFRoaXMgYWx0ZXJzIHRoZSBk ZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBjb21wbGV0aW9uIGZ1bmN0aW9ucyBpbgogIGEgZmFzaGlv biBzaW1pbGFyIHRvIFxmQnNob3dcLWFsbFwtaWZcLWFtYmlndW91c1xmUC4KICBJZiBzZXQgdG8K QEAgLTgyNTMsNyArODMyNSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFh NGY0M2EKICAuQiB2aXNpYmxlXC1zdGF0cyAoT2ZmKQogIElmIHNldCB0byBcZkJPblxmUCwgYSBj aGFyYWN0ZXIgZGVub3RpbmcgYSBmaWxlJ3MgdHlwZSBhcyByZXBvcnRlZCAgCiAgYnkgXGZJc3Rh dFxmUCgyKSBpcyBhcHBlbmRlZCB0byB0aGUgZmlsZW5hbWUgd2hlbiBsaXN0aW5nIHBvc3NpYmxl Ci1AQCAtNTMwLDcgKzU4Nyw3IEBAIGxpYnJhcnkgc2V0cyB0aGUgXGZJYXBwbGljYXRpb24gbmFt ZVxmUCwgYW5kIGFuIGluaXRpYWxpemF0aW9uCitAQCAtNTMwLDcgKzU4Nyw3IEBAIGxpYnJhcnkg c2V0cyB0aGUgXGZJYXBwbGljYXRpb24gbmFtZVxmUCwKICBmaWxlIGNhbiB0ZXN0IGZvciBhIHBh cnRpY3VsYXIgdmFsdWUuCiAgVGhpcyBjb3VsZCBiZSB1c2VkIHRvIGJpbmQga2V5IHNlcXVlbmNl cyB0byBmdW5jdGlvbnMgdXNlZnVsIGZvcgogIGEgc3BlY2lmaWMgcHJvZ3JhbS4gIEZvciBpbnN0 YW5jZSwgdGhlIGZvbGxvd2luZyBjb21tYW5kIGFkZHMgYQpAQCAtODI2Miw3ICs4MzM0LDcgQEAg YjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIC5zcCAxCiAgLlJTCiAg Lm5mCi1AQCAtNzA2LDEwICs3NjMsMTQgQEAgYXMgaWYgdGhlICIhXGZJblxmUCIgaGlzdG9yeSBl eHBhbnNpb24gaGFkIGJlZW4gc3BlY2lmaWVkLgorQEAgLTcwNiwxMCArNzYzLDE0IEBAIGFzIGlm IHRoZSAiIVxmSW5cZlAiIGhpc3RvcnkgZXhwYW5zaW9uIGgKICAuQgogIHlhbmtcLWxhc3RcLWFy ZyAoTVwtLlxeLCBNXC1fXF4pCiAgSW5zZXJ0IHRoZSBsYXN0IGFyZ3VtZW50IHRvIHRoZSBwcmV2 aW91cyBjb21tYW5kICh0aGUgbGFzdCB3b3JkIG9mCkBAIC04MjgwLDcgKzgzNTIsNyBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgVGhlIGhpc3RvcnkgZXhwYW5z aW9uIGZhY2lsaXRpZXMgYXJlIHVzZWQgdG8gZXh0cmFjdCB0aGUgbGFzdCBhcmd1bWVudCwKICBh cyBpZiB0aGUgIiEkIiBoaXN0b3J5IGV4cGFuc2lvbiBoYWQgYmVlbiBzcGVjaWZpZWQuCiAgLlBE Ci1AQCAtODg0LDYgKzk0NSwxMiBAQCBvbmx5IGF0dGVtcHRzIGZpbGVuYW1lIGNvbXBsZXRpb24g dW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzLgorQEAgLTg4NCw2ICs5NDUsMTIgQEAgb25seSBh dHRlbXB0cyBmaWxlbmFtZSBjb21wbGV0aW9uIHVuZGVyIAogIC5UUAogIC5CIHBvc3NpYmxlXC1j b21wbGV0aW9ucyAoTVwtPykKICBMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUg dGV4dCBiZWZvcmUgcG9pbnQuCkBAIC04MzA1LDcgKzgzNzcsNyBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgLkIgZGVsZXRlXC1jaGFyXC1vclwtbGlzdAogIERl bGV0ZXMgdGhlIGNoYXJhY3RlciB1bmRlciB0aGUgY3Vyc29yIGlmIG5vdCBhdCB0aGUgYmVnaW5u aW5nIG9yCiAgZW5kIG9mIHRoZSBsaW5lIChsaWtlIFxmQmRlbGV0ZS1jaGFyXGZQKS4KLUBAIC05 NzcsNiArMTA0OSwxNSBAQCBjaGFyYWN0ZXIuICBBIG5lZ2F0aXZlIGNvdW50IHNlYXJjaGVzIGZv ciBwcmV2aW91cyBvY2N1cnJlbmNlcy4KK0BAIC05NzcsNiArMTA0OSwxNSBAQCBjaGFyYWN0ZXIu ICBBIG5lZ2F0aXZlIGNvdW50IHNlYXJjaGVzIGZvCiAgQSBjaGFyYWN0ZXIgaXMgcmVhZCBhbmQg cG9pbnQgaXMgbW92ZWQgdG8gdGhlIHByZXZpb3VzIG9jY3VycmVuY2Ugb2YgdGhhdAogIGNoYXJh Y3Rlci4gIEEgbmVnYXRpdmUgY291bnQgc2VhcmNoZXMgZm9yIHN1YnNlcXVlbnQgb2NjdXJyZW5j ZXMuCiAgLlRQCkBAIC04MzIxLDggKzgzOTMsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMw NTUyZGRkNjhkMWE0ZjQzYQogIC5CIGluc2VydFwtY29tbWVudCAoTVwtIykKICBXaXRob3V0IGEg bnVtZXJpYyBhcmd1bWVudCwgdGhlIHZhbHVlIG9mIHRoZSByZWFkbGluZQogIC5CIGNvbW1lbnRc LWJlZ2luCi0tLS0gYS9yZWFkbGluZS9kb2MvcmxtYW4udGV4aQotKysrIGIvcmVhZGxpbmUvZG9j L3JsbWFuLnRleGkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2RvYy9ybG1h bi50ZXhpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5l L2RvYy9ybG1hbi50ZXhpCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysg Z2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9kb2MvcmxtYW4udGV4aQkyMDExLTA3LTAzIDEw OjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTQsNyArNCw2IEBACiAgQHNldHRpdGxlIEdOVSBS ZWFkbGluZSBMaWJyYXJ5CiAgQGNvbW1lbnQgJSoqZW5kIG9mIGhlYWRlciAoVGhpcyBpcyBmb3Ig cnVubmluZyBUZXhpbmZvIG9uIGEgcmVnaW9uLikKQEAgLTgzMzEsNyArODQwNSw3IEBAIGIxMzcw NmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICBAaW5jbHVkZSB2ZXJzaW9u LnRleGkKICAKLUBAIC0xNCw3ICsxMyw3IEBAIFRoaXMgbWFudWFsIGRlc2NyaWJlcyB0aGUgR05V IFJlYWRsaW5lIExpYnJhcnkKK0BAIC0xNCw3ICsxMyw3IEBAIFRoaXMgbWFudWFsIGRlc2NyaWJl cyB0aGUgR05VIFJlYWRsaW5lIEwKICBjb25zaXN0ZW5jeSBvZiB1c2VyIGludGVyZmFjZSBhY3Jv c3MgZGlzY3JldGUgcHJvZ3JhbXMgd2hpY2ggcHJvdmlkZQogIGEgY29tbWFuZCBsaW5lIGludGVy ZmFjZS4KICAKQEAgLTgzODcsOCArODQ2MSwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1 NTJkZGQ2OGQxYTRmNDNhCiAgCiAgQGluY2x1ZGUgZmRsLnRleGkKICAKLS0tLSBhL3JlYWRsaW5l L2RvYy9ybHRlY2gudGV4aQotKysrIGIvcmVhZGxpbmUvZG9jL3JsdGVjaC50ZXhpCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9kb2Mvcmx0ZWNoLnRleGkKKz09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K Ky0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvZG9jL3JsdGVjaC50ZXhpCTIw MTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcw My9yZWFkbGluZS9kb2Mvcmx0ZWNoLnRleGkJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAg KzAyMDAKIEBAIC0xLDE0ICsxLDEzIEBACiAgQGNvbW1lbnQgJSoqc3RhcnQgb2YgaGVhZGVyIChU aGlzIGlzIGZvciBydW5uaW5nIFRleGluZm8gb24gYSByZWdpb24uKQogIEBzZXRmaWxlbmFtZSBy bHRlY2guaW5mbwpAQCAtODQwNSw3ICs4NDgxLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMw NTUyZGRkNjhkMWE0ZjQzYQogIAogIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBtYWtlIGFuZCBk aXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZgogIHRoaXMgbWFudWFsIHByb3ZpZGVkIHRoZSBj b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlCi1AQCAtMzUxLDYgKzM1 MCwxMiBAQCBUaGUgQGNvZGV7cmxfc2V0X3Byb21wdCgpfSBmdW5jdGlvbiAoQHB4cmVme1JlZGlz cGxheX0pIG1heQorQEAgLTM1MSw2ICszNTAsMTIgQEAgVGhlIEBjb2Rle3JsX3NldF9wcm9tcHQo KX0gZnVuY3Rpb24gKEBweAogIGJlIHVzZWQgdG8gbW9kaWZ5IHRoZSBwcm9tcHQgc3RyaW5nIGFm dGVyIGNhbGxpbmcgQGNvZGV7cmVhZGxpbmUoKX0uCiAgQGVuZCBkZWZ0eXBldmFyCiAgCkBAIC04 NDQ4LDcgKzg1MjQsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNh CiAgQGVuZCBkZWZ0eXBlZnVuCiAgCiAgQGRlZnR5cGVmdW4gS2V5bWFwIHJsX2NvcHlfa2V5bWFw IChLZXltYXAgbWFwKQotQEAgLTYxNyw3ICs2MzYsMTMgQEAgdGhlIE1ldGEgZGlnaXRzIGJvdW5k IHRvIHByb2R1Y2UgbnVtZXJpYyBhcmd1bWVudHMuCitAQCAtNjE3LDcgKzYzNiwxMyBAQCB0aGUg TWV0YSBkaWdpdHMgYm91bmQgdG8gcHJvZHVjZSBudW1lcmljCiAgQGVuZCBkZWZ0eXBlZnVuCiAg CiAgQGRlZnR5cGVmdW4gdm9pZCBybF9kaXNjYXJkX2tleW1hcCAoS2V5bWFwIGtleW1hcCkKQEAg LTg0NjMsNyArODUzOSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICBAZW5kIGRlZnR5cGVmdW4KICAKICBSZWFkbGluZSBoYXMgc2V2ZXJhbCBpbnRlcm5hbCBr ZXltYXBzLiAgVGhlc2UgZnVuY3Rpb25zIGFsbG93IHlvdSB0bwotQEAgLTc5Myw3ICs4MTgsOCBA QCBQcmludCB0aGUgbmFtZXMgb2YgYWxsIGJpbmRhYmxlIFJlYWRsaW5lIGZ1bmN0aW9ucyB0byBA Y29kZXtybF9vdXRzdHJlYW19LgorQEAgLTc5Myw3ICs4MTgsOCBAQCBQcmludCB0aGUgbmFtZXMg b2YgYWxsIGJpbmRhYmxlIFJlYWRsaW5lCiAgQGRlZnR5cGVmdW4ge2NvbnN0IGNoYXIgKip9IHJs X2Z1bm1hcF9uYW1lcyAodm9pZCkKICBSZXR1cm4gYSBOVUxMIHRlcm1pbmF0ZWQgYXJyYXkgb2Yg a25vd24gZnVuY3Rpb24gbmFtZXMuICBUaGUgYXJyYXkgaXMKICBzb3J0ZWQuICBUaGUgYXJyYXkg aXRzZWxmIGlzIGFsbG9jYXRlZCwgYnV0IG5vdCB0aGUgc3RyaW5ncyBpbnNpZGUuICBZb3UKQEAg LTg0NzMsNyArODU0OSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICBAZW5kIGRlZnR5cGVmdW4KICAKICBAZGVmdHlwZWZ1biBpbnQgcmxfYWRkX2Z1bm1hcF9l bnRyeSAoY29uc3QgY2hhciAqbmFtZSwgcmxfY29tbWFuZF9mdW5jX3QgKmZ1bmN0aW9uKQotQEAg LTEwMzMsOCArMTA1OSwxMCBAQCBwZW5kaW5nIGlucHV0IGhhcyBub3QgYWxyZWFkeSBiZWVuIHJl YWQgd2l0aCBAY29kZXtybF9yZWFkX2tleSgpfS4KK0BAIC0xMDMzLDggKzEwNTksMTAgQEAgcGVu ZGluZyBpbnB1dCBoYXMgbm90IGFscmVhZHkgYmVlbiByZWFkIAogIEBkZWZ0eXBlZnVuIGludCBy bF9zZXRfa2V5Ym9hcmRfaW5wdXRfdGltZW91dCAoaW50IHUpCiAgV2hpbGUgd2FpdGluZyBmb3Ig a2V5Ym9hcmQgaW5wdXQgaW4gQGNvZGV7cmxfcmVhZF9rZXkoKX0sIFJlYWRsaW5lIHdpbGwKICB3 YWl0IGZvciBAdmFye3V9IG1pY3Jvc2Vjb25kcyBmb3IgaW5wdXQgYmVmb3JlIGNhbGxpbmcgYW55 IGZ1bmN0aW9uCkBAIC04NTEzLDcgKzg1ODksNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1 NTJkZGQ2OGQxYTRmNDNhCiAgQGRlZnR5cGVmdW4gdm9pZCBybF9yZXBsYWNlX2xpbmUgKGNvbnN0 IGNoYXIgKnRleHQsIGludCBjbGVhcl91bmRvKQogIFJlcGxhY2UgdGhlIGNvbnRlbnRzIG9mIEBj b2Rle3JsX2xpbmVfYnVmZmVyfSB3aXRoIEB2YXJ7dGV4dH0uCiAgVGhlIHBvaW50IGFuZCBtYXJr IGFyZSBwcmVzZXJ2ZWQsIGlmIHBvc3NpYmxlLgotQEAgLTEwODIsNyArMTEzMCw3IEBAIElmIEB2 YXJ7Y2xlYXJfdW5kb30gaXMgbm9uLXplcm8sIHRoZSB1bmRvIGxpc3QgYXNzb2NpYXRlZCB3aXRo IHRoZQorQEAgLTEwODIsNyArMTEzMCw3IEBAIElmIEB2YXJ7Y2xlYXJfdW5kb30gaXMgbm9uLXpl cm8sIHRoZSB1bmQKICBjdXJyZW50IGxpbmUgaXMgY2xlYXJlZC4KICBAZW5kIGRlZnR5cGVmdW4K ICAKQEAgLTg1MjIsNyArODU5OCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4 ZDFhNGY0M2EKICBFbnN1cmUgdGhhdCBAY29kZXtybF9saW5lX2J1ZmZlcn0gaGFzIGVub3VnaCBz cGFjZSB0byBob2xkIEB2YXJ7bGVufQogIGNoYXJhY3RlcnMsIHBvc3NpYmx5IHJlYWxsb2NhdGlu ZyBpdCBpZiBuZWNlc3NhcnkuCiAgQGVuZCBkZWZ0eXBlZnVuCi1AQCAtMTEwOSw2ICsxMTU3LDkg QEAgb2Ygc3RyaW5ncywgaW4gYXJndiBmb3JtYXQsIHN1Y2ggYXMgYSBsaXN0IG9mIGNvbXBsZXRp b24gbWF0Y2hlcy4KK0BAIC0xMTA5LDYgKzExNTcsOSBAQCBvZiBzdHJpbmdzLCBpbiBhcmd2IGZv cm1hdCwgc3VjaCBhcyBhIGxpCiAgaXMgdGhlIGxlbmd0aCBvZiB0aGUgbG9uZ2VzdCBzdHJpbmcg aW4gQGNvZGV7bWF0Y2hlc30uICBUaGlzIGZ1bmN0aW9uIHVzZXMKICB0aGUgc2V0dGluZyBvZiBA Y29kZXtwcmludC1jb21wbGV0aW9ucy1ob3Jpem9udGFsbHl9IHRvIHNlbGVjdCBob3cgdGhlCiAg bWF0Y2hlcyBhcmUgZGlzcGxheWVkIChAcHhyZWZ7UmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheH0p LgpAQCAtODUzMiw3ICs4NjA4LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogIEBlbmQgZGVmdHlwZWZ1bgogIAogIFRoZSBmb2xsb3dpbmcgYXJlIGltcGxlbWVu dGVkIGFzIG1hY3JvcywgZGVmaW5lZCBpbiBAY29kZXtjaGFyZGVmcy5ofS4KLUBAIC0xMzkyLDYg KzE0NDMsMTMgQEAgY2FsbCBAY29kZXtybF9yZXNpemVfdGVybWluYWwoKX0gb3IgQGNvZGV7cmxf c2V0X3NjcmVlbl9zaXplKCl9IHRvIGZvcmNlCitAQCAtMTM5Miw2ICsxNDQzLDEzIEBAIGNhbGwg QGNvZGV7cmxfcmVzaXplX3Rlcm1pbmFsKCl9IG9yIEBjb2QKICBSZWFkbGluZSB0byB1cGRhdGUg aXRzIGlkZWEgb2YgdGhlIHRlcm1pbmFsIHNpemUgd2hlbiBhIEBjb2Rle1NJR1dJTkNIfQogIGlz IHJlY2VpdmVkLgogIApAQCAtODYwMiw3ICs4Njc4LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUy MmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBlbmQgZGVmdHlwZXZhcgogIAogIEBkZWZ0eXBldmFyIHty bF9jb21wZGlzcF9mdW5jX3QgKn0gcmxfY29tcGxldGlvbl9kaXNwbGF5X21hdGNoZXNfaG9vawot QEAgLTE4MjIsNiArMTkxNCwxNSBAQCBpZiB0aGUgYXBwbGljYXRpb24ncyBjb21wbGV0aW9uIGZ1 bmN0aW9uIHJldHVybnMgbm8gbWF0Y2hlcy4KK0BAIC0xODIyLDYgKzE5MTQsMTUgQEAgaWYgdGhl IGFwcGxpY2F0aW9uJ3MgY29tcGxldGlvbiBmdW5jdGlvbgogIEl0IHNob3VsZCBiZSBzZXQgb25s eSBieSBhbiBhcHBsaWNhdGlvbidzIGNvbXBsZXRpb24gZnVuY3Rpb24uCiAgQGVuZCBkZWZ0eXBl dmFyCiAgCkBAIC04NjE4LDcgKzg2OTQsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgQGRlZnR5cGV2YXIgaW50IHJsX2NvbXBsZXRpb25fdHlwZQogIFNldCB0 byBhIGNoYXJhY3RlciBkZXNjcmliaW5nIHRoZSB0eXBlIG9mIGNvbXBsZXRpb24gUmVhZGxpbmUg aXMgY3VycmVudGx5CiAgYXR0ZW1wdGluZzsgc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiBAY29kZXty bF9jb21wbGV0ZV9pbnRlcm5hbCgpfQotQEAgLTE4MzEsNiArMTkzMiwxMyBAQCBjb21wbGV0aW9u IGZ1bmN0aW9uIGlzIGNhbGxlZCwgYWxsb3dpbmcgc3VjaCBmdW5jdGlvbnMgdG8gcHJlc2VudAor QEAgLTE4MzEsNiArMTkzMiwxMyBAQCBjb21wbGV0aW9uIGZ1bmN0aW9uIGlzIGNhbGxlZCwgYWxs b3dpbmcgCiAgdGhlIHNhbWUgaW50ZXJmYWNlIGFzIEBjb2Rle3JsX2NvbXBsZXRlKCl9LgogIEBl bmQgZGVmdHlwZXZhcgogIApAQCAtODgzMiw4ICs4OTA4LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0 ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBpbnQKICB2YWxpZF9hcmd1bWVudCAoY2FsbGVyLCBh cmcpCiAgICAgICBjaGFyICpjYWxsZXIsICphcmc7Ci0tLS0gYS9yZWFkbGluZS9kb2Mvcmx1c2Vy LnRleGkKLSsrKyBiL3JlYWRsaW5lL2RvYy9ybHVzZXIudGV4aQorSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA3MDMvcmVhZGxpbmUvZG9jL3JsdXNlci50ZXhpCis9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcu Mi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL2RvYy9ybHVzZXIudGV4aQkyMDExLTA3LTAzIDEw OjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUv ZG9jL3JsdXNlci50ZXhpCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAt MSw3ICsxLDYgQEAKICBAY29tbWVudCAlKipzdGFydCBvZiBoZWFkZXIgKFRoaXMgaXMgZm9yIHJ1 bm5pbmcgVGV4aW5mbyBvbiBhIHJlZ2lvbi4pCiAgQHNldGZpbGVuYW1lIHJsdXNlci5pbmZvCkBA IC04ODQyLDcgKzg5MjAsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRm NDNhCiAgCiAgQGlnbm9yZQogIFRoaXMgZmlsZSBkb2N1bWVudHMgdGhlIGVuZCB1c2VyIGludGVy ZmFjZSB0byB0aGUgR05VIGNvbW1hbmQgbGluZQotQEAgLTEwLDcgKzksNyBAQCB1c2UgdGhlc2Ug ZmVhdHVyZXMuICBUaGVyZSBpcyBhIGRvY3VtZW50IGVudGl0bGVkICJyZWFkbGluZS50ZXhpbmZv IgorQEAgLTEwLDcgKzksNyBAQCB1c2UgdGhlc2UgZmVhdHVyZXMuICBUaGVyZSBpcyBhIGRvY3Vt ZW50CiAgd2hpY2ggY29udGFpbnMgYm90aCBlbmQtdXNlciBhbmQgcHJvZ3JhbW1lciBkb2N1bWVu dGF0aW9uIGZvciB0aGUKICBHTlUgUmVhZGxpbmUgTGlicmFyeS4KICAKQEAgLTg4NjgsNyArODk0 Niw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBAZW5kIGlm c2V0CiAgCiAgQG1lbnUKLUBAIC0zMzYsNyArMzQ1LDkgQEAgZmlsZSBpcyB0YWtlbiBmcm9tIHRo ZSB2YWx1ZSBvZiB0aGUgc2hlbGwgdmFyaWFibGUgQGVudntJTlBVVFJDfS4gIElmCitAQCAtMzM2 LDcgKzM0NSw5IEBAIGZpbGUgaXMgdGFrZW4gZnJvbSB0aGUgdmFsdWUgb2YgdGhlIHNoZWwKICBA aWZjbGVhciBCYXNoRmVhdHVyZXMKICBmaWxlIGlzIHRha2VuIGZyb20gdGhlIHZhbHVlIG9mIHRo ZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBAZW52e0lOUFVUUkN9LiAgSWYKICBAZW5kIGlmY2xlYXIK QEAgLTg4NzksNyArODk1Nyw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFh NGY0M2EKICAKICBXaGVuIGEgcHJvZ3JhbSB3aGljaCB1c2VzIHRoZSBSZWFkbGluZSBsaWJyYXJ5 IHN0YXJ0cyB1cCwgdGhlCiAgaW5pdCBmaWxlIGlzIHJlYWQsIGFuZCB0aGUga2V5IGJpbmRpbmdz IGFyZSBzZXQuCi1AQCAtNDIwLDExICs0MzEsMzQgQEAgVGhlIHN0cmluZyB0byBpbnNlcnQgYXQg dGhlIGJlZ2lubmluZyBvZiB0aGUgbGluZSB3aGVuIHRoZQorQEAgLTQyMCwxMSArNDMxLDM0IEBA IFRoZSBzdHJpbmcgdG8gaW5zZXJ0IGF0IHRoZSBiZWdpbm5pbmcgb2YKICBAY29kZXtpbnNlcnQt Y29tbWVudH0gY29tbWFuZCBpcyBleGVjdXRlZC4gIFRoZSBkZWZhdWx0IHZhbHVlCiAgaXMgQGNv ZGV7IiMifS4KICAKQEAgLTg5MTQsNyArODk5Miw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICBAaXRlbSBjb21wbGV0aW9uLXF1ZXJ5LWl0ZW1zCiAgQHZpbmRl eCBjb21wbGV0aW9uLXF1ZXJ5LWl0ZW1zCiAgVGhlIG51bWJlciBvZiBwb3NzaWJsZSBjb21wbGV0 aW9ucyB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgdXNlciBpcwotQEAgLTQ1NiwxMiArNDkwLDIz IEBAIGtleSBiaW5kaW5ncyBpcyB1c2VkLiAgQnkgZGVmYXVsdCwgUmVhZGxpbmUgc3RhcnRzIHVw IGluIEVtYWNzIGVkaXRpbmcKK0BAIC00NTYsMTIgKzQ5MCwyMyBAQCBrZXkgYmluZGluZ3MgaXMg dXNlZC4gIEJ5IGRlZmF1bHQsIFJlYWRsCiAgbW9kZSwgd2hlcmUgdGhlIGtleXN0cm9rZXMgYXJl IG1vc3Qgc2ltaWxhciB0byBFbWFjcy4gIFRoaXMgdmFyaWFibGUgY2FuIGJlCiAgc2V0IHRvIGVp dGhlciBAc2FtcHtlbWFjc30gb3IgQHNhbXB7dml9LgogIApAQCAtODkzOCw3ICs5MDE2LDcgQEAg YjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBpdGVtIGV4cGFuZC10 aWxkZQogIEB2aW5kZXggZXhwYW5kLXRpbGRlCiAgSWYgc2V0IHRvIEBzYW1we29ufSwgdGlsZGUg ZXhwYW5zaW9uIGlzIHBlcmZvcm1lZCB3aGVuIFJlYWRsaW5lCi1AQCAtNDY5LDEwICs1MTQsMTYg QEAgYXR0ZW1wdHMgd29yZCBjb21wbGV0aW9uLiAgVGhlIGRlZmF1bHQgaXMgQHNhbXB7b2ZmfS4K K0BAIC00NjksMTAgKzUxNCwxNiBAQCBhdHRlbXB0cyB3b3JkIGNvbXBsZXRpb24uICBUaGUgZGVm YXVsdCBpCiAgCiAgQGl0ZW0gaGlzdG9yeS1wcmVzZXJ2ZS1wb2ludAogIEB2aW5kZXggaGlzdG9y eS1wcmVzZXJ2ZS1wb2ludApAQCAtODk3NSw3ICs5MDUzLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRk ZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBpdGVtIG91dHB1dC1tZXRhCiAgQHZpbmRleCBvdXRw dXQtbWV0YQogIElmIHNldCB0byBAc2FtcHtvbn0sIFJlYWRsaW5lIHdpbGwgZGlzcGxheSBjaGFy YWN0ZXJzIHdpdGggdGhlCi1AQCAtNTU2LDYgKzYxNCwxMyBAQCBJZiBzZXQgdG8gQHNhbXB7b259 LCBSZWFkbGluZSB3aWxsIGRpc3BsYXkgY29tcGxldGlvbnMgd2l0aCBtYXRjaGVzCitAQCAtNTU2 LDYgKzYxNCwxMyBAQCBJZiBzZXQgdG8gQHNhbXB7b259LCBSZWFkbGluZSB3aWxsIGRpc3BsCiAg c29ydGVkIGhvcml6b250YWxseSBpbiBhbHBoYWJldGljYWwgb3JkZXIsIHJhdGhlciB0aGFuIGRv d24gdGhlIHNjcmVlbi4KICBUaGUgZGVmYXVsdCBpcyBAc2FtcHtvZmZ9LgogIApAQCAtODk4OSw3 ICs5MDY3LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBp dGVtIHNob3ctYWxsLWlmLWFtYmlndW91cwogIEB2aW5kZXggc2hvdy1hbGwtaWYtYW1iaWd1b3Vz CiAgVGhpcyBhbHRlcnMgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGNvbXBsZXRpb24gZnVu Y3Rpb25zLiAgSWYKLUBAIC01NzUsNiArNjQwLDIwIEBAIGEgY29tbW9uIHByZWZpeCkgY2F1c2Ug dGhlIG1hdGNoZXMgdG8gYmUgbGlzdGVkIGltbWVkaWF0ZWx5IGluc3RlYWQKK0BAIC01NzUsNiAr NjQwLDIwIEBAIGEgY29tbW9uIHByZWZpeCkgY2F1c2UgdGhlIG1hdGNoZXMgdG8gYmUKICBvZiBy aW5naW5nIHRoZSBiZWxsLgogIFRoZSBkZWZhdWx0IHZhbHVlIGlzIEBzYW1we29mZn0uCiAgCkBA IC05MDUyLDcgKzkxMzAsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRm NDNhCiAgCiAgQGl0ZW0gY2xlYXItc2NyZWVuIChDLWwpCiAgQ2xlYXIgdGhlIHNjcmVlbiBhbmQg cmVkcmF3IHRoZSBjdXJyZW50IGxpbmUsCi1AQCAtMTAyOSwxMCArMTEyMCwxNCBAQCBhcyBpZiB0 aGUgQHNhbXB7IUB2YXJ7bn19IGhpc3RvcnkgZXhwYW5zaW9uIGhhZCBiZWVuIHNwZWNpZmllZC4K K0BAIC0xMDI5LDEwICsxMTIwLDE0IEBAIGFzIGlmIHRoZSBAc2FtcHshQHZhcntufX0gaGlzdG9y eSBleHBhbnMKICAKICBAaXRlbSB5YW5rLWxhc3QtYXJnIChNLS4gb3IgTS1fKQogIEluc2VydCBs YXN0IGFyZ3VtZW50IHRvIHRoZSBwcmV2aW91cyBjb21tYW5kICh0aGUgbGFzdCB3b3JkIG9mIHRo ZQpAQCAtOTA3MCw3ICs5MTQ4LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogIFRoZSBoaXN0b3J5IGV4cGFuc2lvbiBmYWNpbGl0aWVzIGFyZSB1c2VkIHRvIGV4 dHJhY3QgdGhlIGxhc3QgYXJndW1lbnQsCiAgYXMgaWYgdGhlIEBzYW1weyEkfSBoaXN0b3J5IGV4 cGFuc2lvbiBoYWQgYmVlbiBzcGVjaWZpZWQuCiAgCi1AQCAtMTEzOCw2ICsxMjMzLDE3IEBAIFdv cmQgYm91bmRhcmllcyBhcmUgdGhlIHNhbWUgYXMgQGNvZGV7Zm9yd2FyZC13b3JkfS4KK0BAIC0x MTM4LDYgKzEyMzMsMTcgQEAgV29yZCBib3VuZGFyaWVzIGFyZSB0aGUgc2FtZSBhcyBAY29kZXtm bwogIEtpbGwgdGhlIHdvcmQgYmVoaW5kIHBvaW50LgogIFdvcmQgYm91bmRhcmllcyBhcmUgdGhl IHNhbWUgYXMgQGNvZGV7YmFja3dhcmQtd29yZH0uCiAgCkBAIC05MTEwLDcgKzkxODgsNyBAQCBi MTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgQGl0ZW0gZGVsZXRlLWNo YXItb3ItbGlzdCAoKQogIERlbGV0ZXMgdGhlIGNoYXJhY3RlciB1bmRlciB0aGUgY3Vyc29yIGlm IG5vdCBhdCB0aGUgYmVnaW5uaW5nIG9yCiAgZW5kIG9mIHRoZSBsaW5lIChsaWtlIEBjb2Rle2Rl bGV0ZS1jaGFyfSkuCi1AQCAtMTI5Myw2ICsxNDA3LDExIEBAIEF0dGVtcHQgY29tcGxldGlvbiBv biB0aGUgdGV4dCBiZWZvcmUgcG9pbnQsIGNvbXBhcmluZworQEAgLTEyOTMsNiArMTQwNywxMSBA QCBBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRleHQgYmVmb3JlIHBvCiAgdGhlIHRleHQgYWdh aW5zdCBsaW5lcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QgZm9yIHBvc3NpYmxlCiAgY29tcGxldGlv biBtYXRjaGVzLgogIApAQCAtOTEyMiw3ICs5MjAwLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUy MmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBpdGVtIGNvbXBsZXRlLWludG8tYnJhY2VzIChNLUB7KQog IFBlcmZvcm0gZmlsZW5hbWUgY29tcGxldGlvbiBhbmQgaW5zZXJ0IHRoZSBsaXN0IG9mIHBvc3Np YmxlIGNvbXBsZXRpb25zCiAgZW5jbG9zZWQgd2l0aGluIGJyYWNlcyBzbyB0aGUgbGlzdCBpcyBh dmFpbGFibGUgdG8gdGhlIHNoZWxsCi1AQCAtMTM3Miw2ICsxNDkxLDE1IEBAIEEgY2hhcmFjdGVy IGlzIHJlYWQgYW5kIHBvaW50IGlzIG1vdmVkIHRvIHRoZSBwcmV2aW91cyBvY2N1cnJlbmNlCitA QCAtMTM3Miw2ICsxNDkxLDE1IEBAIEEgY2hhcmFjdGVyIGlzIHJlYWQgYW5kIHBvaW50IGlzIG1v dmVkIHQKICBvZiB0aGF0IGNoYXJhY3Rlci4gIEEgbmVnYXRpdmUgY291bnQgc2VhcmNoZXMgZm9y IHN1YnNlcXVlbnQKICBvY2N1cnJlbmNlcy4KICAKQEAgLTkxNDcsNyArOTIyNSw3IEBAIGIxMzcw NmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICBAaWZzZXQgQmFzaEZlYXR1 cmVzCiAgSW4gb3JkZXIgdG8gc3dpdGNoIGludGVyYWN0aXZlbHkgYmV0d2VlbiBAY29kZXtlbWFj c30gYW5kIEBjb2Rle3ZpfQotQEAgLTE1MTUsMTAgKzE2NDMsMTUgQEAgdGhlIHByb2dyYW1tYWJs ZSBjb21wbGV0aW9uIGZhY2lsaXRpZXMgYXJlIGludm9rZWQuCitAQCAtMTUxNSwxMCArMTY0Mywx NSBAQCB0aGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZmFjaWxpdGllcyBhCiAgRmlyc3QsIHRo ZSBjb21tYW5kIG5hbWUgaXMgaWRlbnRpZmllZC4KICBJZiBhIGNvbXBzcGVjIGhhcyBiZWVuIGRl ZmluZWQgZm9yIHRoYXQgY29tbWFuZCwgdGhlCiAgY29tcHNwZWMgaXMgdXNlZCB0byBnZW5lcmF0 ZSB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBmb3IgdGhlIHdvcmQuCkBAIC05MTYz LDcgKzkyNDEsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAg CiAgT25jZSBhIGNvbXBzcGVjIGhhcyBiZWVuIGZvdW5kLCBpdCBpcyB1c2VkIHRvIGdlbmVyYXRl IHRoZSBsaXN0IG9mCiAgbWF0Y2hpbmcgd29yZHMuCi1AQCAtMTU1NSw5ICsxNjg4LDkgQEAgY29t cGxldGVkLCBhbmQgdGhlIG1hdGNoaW5nIHdvcmRzIGJlY29tZSB0aGUgcG9zc2libGUgY29tcGxl dGlvbnMuCitAQCAtMTU1NSw5ICsxNjg4LDkgQEAgY29tcGxldGVkLCBhbmQgdGhlIG1hdGNoaW5n IHdvcmRzIGJlY29tZQogIAogIEFmdGVyIHRoZXNlIG1hdGNoZXMgaGF2ZSBiZWVuIGdlbmVyYXRl ZCwgYW55IHNoZWxsIGZ1bmN0aW9uIG9yIGNvbW1hbmQKICBzcGVjaWZpZWQgd2l0aCB0aGUgQG9w dGlvbnstRn0gYW5kIEBvcHRpb257LUN9IG9wdGlvbnMgaXMgaW52b2tlZC4KQEAgLTkxODUsNyAr OTI2Myw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAoQHB4 cmVme1Byb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zfSksIHRvIGdlbmVyYXRlIHRoZSBt YXRjaGVzLgogIEl0IG11c3QgcHV0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBpbiB0aGUgQGVu dntDT01QUkVQTFl9IGFycmF5CiAgdmFyaWFibGUuCi1AQCAtMTYyMiw2ICsxNzU1LDMwIEBAIHRv IGNvbXBsZXRlZCBuYW1lcyB3aGljaCBhcmUgc3ltYm9saWMgbGlua3MgdG8gZGlyZWN0b3JpZXMs IHN1YmplY3QgdG8KK0BAIC0xNjIyLDYgKzE3NTUsMzAgQEAgdG8gY29tcGxldGVkIG5hbWVzIHdo aWNoIGFyZSBzeW1ib2xpYyBsaQogIHRoZSB2YWx1ZSBvZiB0aGUgQHZhcnttYXJrLWRpcmVjdG9y aWVzfSBSZWFkbGluZSB2YXJpYWJsZSwgcmVnYXJkbGVzcwogIG9mIHRoZSBzZXR0aW5nIG9mIHRo ZSBAdmFye21hcmstc3ltbGlua2VkLWRpcmVjdG9yaWVzfSBSZWFkbGluZSB2YXJpYWJsZS4KICAK QEAgLTkyNDksNyArOTMyNyw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFh NGY0M2EKICAKICBPdGhlciBvcHRpb25zLCBpZiBzcGVjaWZpZWQsIGhhdmUgdGhlIGZvbGxvd2lu ZyBtZWFuaW5ncy4KICBUaGUgYXJndW1lbnRzIHRvIHRoZSBAb3B0aW9uey1HfSwgQG9wdGlvbnst V30sIGFuZCBAb3B0aW9uey1YfSBvcHRpb25zCi1AQCAtMTcwMiw5ICsxODY2LDEwIEBAIFBlcmZv cm0gZGlyZWN0b3J5IG5hbWUgY29tcGxldGlvbiBpZiB0aGUgY29tcHNwZWMgZ2VuZXJhdGVzIG5v IG1hdGNoZXMuCitAQCAtMTcwMiw5ICsxODY2LDEwIEBAIFBlcmZvcm0gZGlyZWN0b3J5IG5hbWUg Y29tcGxldGlvbiBpZiB0aGUKICAKICBAaXRlbSBmaWxlbmFtZXMKICBUZWxsIFJlYWRsaW5lIHRo YXQgdGhlIGNvbXBzcGVjIGdlbmVyYXRlcyBmaWxlbmFtZXMsIHNvIGl0IGNhbiBwZXJmb3JtIGFu eQpAQCAtOTI2Myw3ICs5MzQxLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogIAogIEBpdGVtIG5vc3BhY2UKICBUZWxsIFJlYWRsaW5lIG5vdCB0byBhcHBlbmQg YSBzcGFjZSAodGhlIGRlZmF1bHQpIHRvIHdvcmRzIGNvbXBsZXRlZCBhdAotQEAgLTE3OTgsMTcg KzE5NjMsNiBAQCBVc2VyIG5hbWVzLiAgTWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIEBvcHRpb257 LXV9LgorQEAgLTE3OTgsMTcgKzE5NjMsNiBAQCBVc2VyIG5hbWVzLiAgTWF5IGFsc28gYmUgc3Bl Y2lmaWVkIGFzIEBvCiAgTmFtZXMgb2YgYWxsIHNoZWxsIHZhcmlhYmxlcy4gIE1heSBhbHNvIGJl IHNwZWNpZmllZCBhcyBAb3B0aW9uey12fS4KICBAZW5kIHRhYmxlCiAgCkBAIC05Mjk4LDcgKzkz NzYsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgQGl0 ZW0gLVAgQHZhcntwcmVmaXh9CiAgQHZhcntwcmVmaXh9IGlzIGFkZGVkIGF0IHRoZSBiZWdpbm5p bmcgb2YgZWFjaCBwb3NzaWJsZSBjb21wbGV0aW9uCi1AQCAtMTgzNCw2ICsxOTg0LDIxIEBAIGFm dGVyIGFsbCBvdGhlciBvcHRpb25zIGhhdmUgYmVlbiBhcHBsaWVkLgorQEAgLTE4MzQsNiArMTk4 NCwyMSBAQCBhZnRlciBhbGwgb3RoZXIgb3B0aW9ucyBoYXZlIGJlZW4gYXBwbGllCiAgQGl0ZW0g LVMgQHZhcntzdWZmaXh9CiAgQHZhcntzdWZmaXh9IGlzIGFwcGVuZGVkIHRvIGVhY2ggcG9zc2li bGUgY29tcGxldGlvbgogIGFmdGVyIGFsbCBvdGhlciBvcHRpb25zIGhhdmUgYmVlbiBhcHBsaWVk LgpAQCAtOTMyMCw3ICs5Mzk4LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogIEBlbmQgdGFibGUKICAKICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRydWUgdW5sZXNz IGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbiBvcHRpb24KLUBAIC0xODQyLDUgKzIw MDcsMzEgQEAgYXJndW1lbnQsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byByZW1vdmUgYSBjb21wbGV0 aW9uIHNwZWNpZmljYXRpb24gZm9yCitAQCAtMTg0Miw1ICsyMDA3LDMxIEBAIGFyZ3VtZW50LCBh biBhdHRlbXB0IGlzIG1hZGUgdG8gcmVtb3ZlIGEKICBhIEB2YXJ7bmFtZX0gZm9yIHdoaWNoIG5v IHNwZWNpZmljYXRpb24gZXhpc3RzLCBvcgogIGFuIGVycm9yIG9jY3VycyBhZGRpbmcgYSBjb21w bGV0aW9uIHNwZWNpZmljYXRpb24uCiAgCkBAIC05MzUyLDggKzk0MzAsMTAgQEAgYjEzNzA2YWJi ZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBlbmQgdGFibGUKICsKICBAZW5kIGlm c2V0Ci0tLS0gYS9yZWFkbGluZS9kb2Mvcmx1c2VybWFuLnRleGkKLSsrKyBiL3JlYWRsaW5lL2Rv Yy9ybHVzZXJtYW4udGV4aQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9j L3JsdXNlcm1hbi50ZXhpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmln L3JlYWRsaW5lL2RvYy9ybHVzZXJtYW4udGV4aQkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAw MCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL3JsdXNlcm1hbi50 ZXhpCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNCw4ICs0LDYgQEAK ICBAc2V0dGl0bGUgR05VIFJlYWRsaW5lIExpYnJhcnkKICBAY29tbWVudCAlKiplbmQgb2YgaGVh ZGVyIChUaGlzIGlzIGZvciBydW5uaW5nIFRleGluZm8gb24gYSByZWdpb24uKQpAQCAtOTM2Myw3 ICs5NDQzLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIEBp bmNsdWRlIHZlcnNpb24udGV4aQogIAogIEBjb3B5aW5nCi1AQCAtMTQsNyArMTIsNyBAQCBUaGlz IG1hbnVhbCBkZXNjcmliZXMgdGhlIGVuZCB1c2VyIGludGVyZmFjZSBvZiB0aGUgR05VIFJlYWRs aW5lIExpYnJhcnkKK0BAIC0xNCw3ICsxMiw3IEBAIFRoaXMgbWFudWFsIGRlc2NyaWJlcyB0aGUg ZW5kIHVzZXIgaW50ZXIKICBjb25zaXN0ZW5jeSBvZiB1c2VyIGludGVyZmFjZSBhY3Jvc3MgZGlz Y3JldGUgcHJvZ3JhbXMgd2hpY2ggcHJvdmlkZQogIGEgY29tbWFuZCBsaW5lIGludGVyZmFjZS4K ICAKQEAgLTkzOTUsNyArOTQ3NSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4 ZDFhNGY0M2EKICBAZW5kIHF1b3RhdGlvbgogIEBlbmQgY29weWluZwogIAotQEAgLTcwLDE4ICs2 OSwxNCBAQCBwcm9ncmFtcyB3aGljaCBwcm92aWRlIGEgY29tbWFuZCBsaW5lIGludGVyZmFjZS4K K0BAIC03MCwxOCArNjksMTQgQEAgcHJvZ3JhbXMgd2hpY2ggcHJvdmlkZSBhIGNvbW1hbmQgbGlu ZSBpbgogIAogIEBtZW51CiAgKiBDb21tYW5kIExpbmUgRWRpdGluZzo6CSAgIEdOVSBSZWFkbGlu ZSBVc2VyJ3MgTWFudWFsLgpAQCAtOTQxNyw4ICs5NDk3LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0 ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICBAaW5jbHVkZSBmZGwudGV4aQogIAotLS0tIGEv cmVhZGxpbmUvZG9jL3RleGkyZHZpCi0rKysgYi9yZWFkbGluZS9kb2MvdGV4aTJkdmkKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2RvYy90ZXhpMmR2aQorPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor LS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9kb2MvdGV4aTJkdmkJMjAxMS0w Ny0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3Jl YWRsaW5lL2RvYy90ZXhpMmR2aQkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAog QEAgLTUsMjAgKzUsMTggQEAKICAjIENvcHlyaWdodCAoQykgMTk5MiwgMTk5MywgMTk5NCwgMTk5 NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMSwKICAjIDIwMDIsIDIwMDMgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC05NDUwLDggKzk1MzIsMTAgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICMKICAjIE9yaWdpbmFsIGF1dGhvcjogTm9h aCBGcmllZG1hbiA8ZnJpZWRtYW5AZ251Lm9yZz4uCiAgIwotLS0tIGEvcmVhZGxpbmUvZG9jL3Rl eGkyaHRtbAotKysrIGIvcmVhZGxpbmUvZG9jL3RleGkyaHRtbAorSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA3MDMvcmVhZGxpbmUvZG9jL3RleGkyaHRtbAorPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIu OTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9kb2MvdGV4aTJodG1sCTIwMTEtMDctMDMgMTA6NDA6 NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9kb2Mv dGV4aTJodG1sCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNywyMCAr NywxOSBAQAogICMKICAjICAgIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCAgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC05NDYwLDE1ICs5NTQ0LDIxIEBAIGIxMzcwNmFiYmVlOTY0 NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIC0jICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAtIyAgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl LCBvcgogLSMgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsjICAgVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKLSsjICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsjICAgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAjCistIwogLSMgICAgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAtIyAgICBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgogLSMgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQogLSMgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KKy0jCistIyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSMgICAgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKy0jICAgIEZvdW5kYXRp b24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0x MzA3ICBVU0EKKy0jIAorKyMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgICBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgICB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgorKyMgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKICsj ICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCiArIyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiArIyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKQEAgLTk0NzYsMTEgKzk1NjYsNyBAQCBi MTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArIwogKyMgICBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQogKyMgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3 LmdudS5vcmcvbGljZW5zZXMvPi4KLSAjCi0tIyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSMgICAgYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLS0jICAg IEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1B ICAwMjExMS0xMzA3ICBVU0EKLS0jIAorKyMKICAjLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIAog ICMgVGhpcyByZXF1aXJlcyBwZXJsIHZlcnNpb24gNSBvciBoaWdoZXIKQEAgLTk0OTMsOCArOTU3 OSwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCQkgIGlm ICgkbGV2ZWwgPT0gMSAmJiAhJGZpcnN0X2luZGV4X2NoYXB0ZXIgJiYgCiAgCQkgICAgICAkbmFt ZSA9fiAvaW5kZXgvaSk7CiAgCQlpZiAoJGluX3RvcCAmJiAvaGVhZGluZy8pewotLS0tIGEvcmVh ZGxpbmUvZG9jL3ZlcnNpb24udGV4aQotKysrIGIvcmVhZGxpbmUvZG9jL3ZlcnNpb24udGV4aQor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZG9jL3ZlcnNpb24udGV4aQorPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9kb2MvdmVyc2lv bi50ZXhpCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDcwMy9yZWFkbGluZS9kb2MvdmVyc2lvbi50ZXhpCTIwMTEtMDctMDMgMTA6NDE6MjEu MDAwMDAwMDAwICswMjAwCiBAQCAtMSwxMCArMSwxMCBAQAogIEBpZ25vcmUKIC1Db3B5cmlnaHQg KEMpIDE5ODgtMjAwNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4gCkBAIC05NTEyLDgg Kzk2MDAsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAog LUBzZXQgTEFTVENIQU5HRSBGcmkgTm92IDExIDE5OjUwOjUxIEVTVCAyMDA1CiArQHNldCBMQVNU Q0hBTkdFIE1vbiBTZXAgIDYgMjI6MDc6MTAgRURUIDIwMTAKLS0tLSBhL3JlYWRsaW5lL2VtYWNz X2tleW1hcC5jCi0rKysgYi9yZWFkbGluZS9lbWFjc19rZXltYXAuYworSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA3MDMvcmVhZGxpbmUvZW1hY3Nfa2V5bWFwLmMKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvZW1hY3Nfa2V5bWFwLmMJMjAxMS0wNy0wMyAx MDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5l L2VtYWNzX2tleW1hcC5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAt MSwyNCArMSwyMyBAQAogIC8qIGVtYWNzX2tleW1hcC5jIC0tIHRoZSBrZXltYXAgZm9yIGVtYWNz X21vZGUgaW4gcmVhZGxpbmUgKCkuICovCiAgCkBAIC05NTUxLDggKzk2NDEsMTAgQEAgYjEzNzA2 YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogICNpZiAhZGVmaW5lZCAoQlVG U0laKQogICNpbmNsdWRlIDxzdGRpby5oPgotLS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvQ2hhbmdl TG9nLmdkYgotKysrIGIvcmVhZGxpbmUvZXhhbXBsZXMvQ2hhbmdlTG9nLmdkYgorSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvQ2hhbmdlTG9nLmdkYgorPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9DaGFu Z2VMb2cuZ2RiCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDcwMy9yZWFkbGluZS9leGFtcGxlcy9DaGFuZ2VMb2cuZ2RiCTIwMTEtMDctMDMg MTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwzICsxLDcgQEAKICsyMDExLTA0LTI1ICBK YW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CiArCkBAIC05NTYxLDgg Kzk2NTMsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIDIw MDYtMDQtMjQgIERhbmllbCBKYWNvYm93aXR6ICA8ZGFuQGNvZGVzb3VyY2VyeS5jb20+CiAgCiAg CUltcG9ydGVkIHJlYWRsaW5lIDUuMSwgYW5kIHVwc3RyZWFtIHBhdGNoZXMgMDAxLTAwNC4KLS0t LSBhL3JlYWRsaW5lL2V4YW1wbGVzL0lucHV0cmMKLSsrKyBiL3JlYWRsaW5lL2V4YW1wbGVzL0lu cHV0cmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL0lucHV0 cmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvZXhh bXBsZXMvSW5wdXRyYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvSW5wdXRyYwkyMDExLTA3LTAzIDEw OjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTQsMjEgKzQsMjEgQEAKICAjIG9uIHdoaWNoIHBy b2dyYW0gaXMgcnVubmluZywgb3Igd2hhdCB0ZXJtaW5hbCBpcyBhY3RpdmUuCiAgIwpAQCAtOTU5 NywyOCArOTY5MSwyMiBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNh CiAgCiAgIyBJbiBhbGwgcHJvZ3JhbXMsIGFsbCB0ZXJtaW5hbHMsIG1ha2Ugc3VyZSB0aGlzIGlz IGJvdW5kLgogICJcQy14XEMtciI6IHJlLXJlYWQtaW5pdC1maWxlCi0tLS0gYS9yZWFkbGluZS9l eGFtcGxlcy9NYWtlZmlsZS5pbgotKysrIGIvcmVhZGxpbmUvZXhhbXBsZXMvTWFrZWZpbGUuaW4K K0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL01ha2VmaWxlLmlu Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL2V4YW1w bGVzL01ha2VmaWxlLmluCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysg Z2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9leGFtcGxlcy9NYWtlZmlsZS5pbgkyMDExLTA3 LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMzAgKzEsNDYgQEAKICAjCiAgIyBU aGlzIGlzIHRoZSBNYWtlZmlsZSBmb3IgdGhlIHJlYWRsaW5lIGV4YW1wbGVzIHN1YmRpcmVjdG9y eS4KICAjCiAtIyBDb3B5cmlnaHQgKEMpIDE5OTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCiArIyBDb3B5cmlnaHQgKEMpIDE5OTQsMjAwOCwyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgotIAotLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLS0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0tIyB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRp b24pCi0tIyBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKICsjICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICsjICAgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKICsjICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNp b24gMyBvZiB0aGUgTGljZW5zZSwgb3IKICsjICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KLSAKLS0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLS0jIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLS0jIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCiArIyAgIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKyMgICBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgogKyMgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCkBAIC05NjI3LDYgKzk3MTUsMTYgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRk ZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogKyMgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKyMgICBhbG9uZyB3aXRoIHRo aXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4K ICAKKy0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CistIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLSMgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQorLSMgYW55 IGxhdGVyIHZlcnNpb24uCistCistIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCistIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCistIyBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLQogLSMgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK IC0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNv ZnR3YXJlCiAtIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwg Qm9zdG9uLCBNQSAwMjExMSBVU0EuCkBAIC05NzI2LDggKzk4MjQsMTAgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAkkKFBVUklGWSkgJChDQykgJChMREZMQUdT KSAtbyAkQCBoaXN0ZXhhbXAubyAtbGhpc3RvcnkgJChURVJNQ0FQX0xJQikKICAKICBjbGVhbiBt b3N0bHljbGVhbjoKLS0tLSAvZGV2L251bGwKLSsrKyBiL3JlYWRsaW5lL2V4YW1wbGVzL2F1dG9j b25mL0JBU0hfQ0hFQ0tfTElCX1RFUk1DQVAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3Jl YWRsaW5lL2V4YW1wbGVzL2F1dG9jb25mL0JBU0hfQ0hFQ0tfTElCX1RFUk1DQVAKKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysr KyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL2F1dG9jb25mL0JBU0hfQ0hF Q0tfTElCX1RFUk1DQVAJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0w LDAgKzEsNDAgQEAKICtBQ19ERUZVTihbQkFTSF9DSEVDS19MSUJfVEVSTUNBUF0sCiArWwpAQCAt OTc2OSw4ICs5ODY5LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICtURVJNQ0FQX0RFUD0KICtmaQogK10pCi0tLS0gL2Rldi9udWxsCi0rKysgYi9yZWFkbGlu ZS9leGFtcGxlcy9hdXRvY29uZi9STF9MSUJfUkVBRExJTkVfVkVSU0lPTgorSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvYXV0b2NvbmYvUkxfTElCX1JFQURMSU5F X1ZFUlNJT04KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVz L2F1dG9jb25mL1JMX0xJQl9SRUFETElORV9WRVJTSU9OCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAw MDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDExOCBAQAogK2RubCBuZWVkOiBwcmVmaXggZXhlY19w cmVmaXggbGliZGlyIGluY2x1ZGVkaXIgQ0MgVEVSTUNBUF9MSUIKICtkbmwgcmVxdWlyZToKQEAg LTk4OTAsOCArOTk5MiwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRm NDNhCiArCiArZmkKICtdKQotLS0tIC9kZXYvbnVsbAotKysrIGIvcmVhZGxpbmUvZXhhbXBsZXMv YXV0b2NvbmYvd2lfTElCX1JFQURMSU5FCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFk bGluZS9leGFtcGxlcy9hdXRvY29uZi93aV9MSUJfUkVBRExJTkUKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL2F1dG9jb25mL3dpX0xJQl9SRUFETElORQky MDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw3NiBAQAogK2Ru bCBCb3J1dCBSYXplbQogK2RubApAQCAtOTk2OSw4ICsxMDA3MywxMCBAQCBiMTM3MDZhYmJlZTk2 NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArICAgIExJQlM9IiRhY19zYXZlX0xJQlMiCiAr ICBmaQogK10pCi0tLS0gYS9yZWFkbGluZS9leGFtcGxlcy9leGNhbGxiYWNrLmMKLSsrKyBiL3Jl YWRsaW5lL2V4YW1wbGVzL2V4Y2FsbGJhY2suYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMv cmVhZGxpbmUvZXhhbXBsZXMvZXhjYWxsYmFjay5jCis9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45 MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL2V4YW1wbGVzL2V4Y2FsbGJhY2suYwkyMDExLTA3LTAz IDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxp bmUvZXhhbXBsZXMvZXhjYWxsYmFjay5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICsw MjAwCiBAQCAtMzIsNiArMzIsOSBAQCBMZXQgbWUga25vdyB3aGF0IHlvdSB0aGluay4KICAKICBK ZWZmCkBAIC05OTgxLDggKzEwMDg3LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRk ZDY4ZDFhNGY0M2EKICAKICAjaWYgZGVmaW5lZCAoSEFWRV9DT05GSUdfSCkKICAjaW5jbHVkZSA8 Y29uZmlnLmg+Ci0tLS0gYS9yZWFkbGluZS9leGFtcGxlcy9maWxlbWFuLmMKLSsrKyBiL3JlYWRs aW5lL2V4YW1wbGVzL2ZpbGVtYW4uYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxp bmUvZXhhbXBsZXMvZmlsZW1hbi5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcw My5vcmlnL3JlYWRsaW5lL2V4YW1wbGVzL2ZpbGVtYW4uYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMv ZmlsZW1hbi5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyMiAr MSwyMyBAQAogLS8qIENvcHlyaWdodCAoQykgMTk4Ny0yMDAyIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKy8qIGZpbGVtYW4uYyAtIGZpbGUgbWFuYWdlciBleGFtcGxlIGZvciByZWFk bGluZSBsaWJyYXJ5LiAqLwpAQCAtMTAwMzcsOCArMTAxNDUsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2 ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogIC8qIFRoZSBuYW1lcyBvZiBmdW5jdGlvbnMg dGhhdCBhY3R1YWxseSBkbyB0aGUgbWFuaXB1bGF0aW9uLiAqLwogIGludCBjb21fbGlzdCBQQVJB TVMoKGNoYXIgKikpOwotLS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvaGlzdGV4YW1wLmMKLSsrKyBi L3JlYWRsaW5lL2V4YW1wbGVzL2hpc3RleGFtcC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcw My9yZWFkbGluZS9leGFtcGxlcy9oaXN0ZXhhbXAuYworPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIu OTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9oaXN0ZXhhbXAuYwkyMDExLTA3LTAz IDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxp bmUvZXhhbXBsZXMvaGlzdGV4YW1wLmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAy MDAKIEBAIC0xLDIyICsxLDIzIEBACiAtLyogQ29weXJpZ2h0IChDKSAxOTg3LTIwMDIgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArLyogaGlzdGV4YW1wLmMgLSBoaXN0b3J5IGxpYnJh cnkgZXhhbXBsZSBwcm9ncmFtLiAqLwpAQCAtMTAwNzUsOCArMTAxODUsMTAgQEAgYjEzNzA2YWJi ZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogICNpbmNsdWRlIDxzdGRpby5oPgog IAotLS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvbWFuZXhhbXAuYwotKysrIGIvcmVhZGxpbmUvZXhh bXBsZXMvbWFuZXhhbXAuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhh bXBsZXMvbWFuZXhhbXAuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3Jp Zy9yZWFkbGluZS9leGFtcGxlcy9tYW5leGFtcC5jCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAw MDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9leGFtcGxlcy9tYW5l eGFtcC5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyNCArMSwy MyBAQAogIC8qIG1hbmV4YW1wLmMgLS0gVGhlIGV4YW1wbGVzIHdoaWNoIGFwcGVhciBpbiB0aGUg ZG9jdW1lbnRhdGlvbiBhcmUgaGVyZS4gKi8KICAKQEAgLTEwMTEzLDggKzEwMjI1LDEwIEBAIGIx MzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAjaW5jbHVkZSA8c3Rk aW8uaD4KICAjaW5jbHVkZSA8cmVhZGxpbmUvcmVhZGxpbmUuaD4KLS0tLSBhL3JlYWRsaW5lL2V4 YW1wbGVzL3JlYWRsaW5lYnVmLmgKLSsrKyBiL3JlYWRsaW5lL2V4YW1wbGVzL3JlYWRsaW5lYnVm LmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL3JlYWRsaW5l YnVmLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUv ZXhhbXBsZXMvcmVhZGxpbmVidWYuaAkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIw MAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvcmVhZGxpbmVidWYu aAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTgsNyArOCw3IEBACiAg ICoKICAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQpAQCAtMTAxMjQsOCArMTAyMzgsMTAgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCiAgICoKICAgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLS0tLSBhL3JlYWRsaW5lL2V4YW1wbGVzL3Js LmMKLSsrKyBiL3JlYWRsaW5lL2V4YW1wbGVzL3JsLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NzAzL3JlYWRsaW5lL2V4YW1wbGVzL3JsLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIw MTEwNzAzLm9yaWcvcmVhZGxpbmUvZXhhbXBsZXMvcmwuYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMv cmwuYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTUsMjUgKzUsMjQg QEAKICAgKiB1c2FnZTogcmwgWy1wIHByb21wdF0gWy11IHVuaXRdIFstZCBkZWZhdWx0XSBbLW4g bmNoYXJzXQogICAqLwpAQCAtMTAxNjMsOCArMTAyNzksMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRk ZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogICNpZiBkZWZpbmVkIChIQVZFX0NPTkZJR19IKQog ICMgIGluY2x1ZGUgPGNvbmZpZy5oPgotLS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvcmxjYXQuYwot KysrIGIvcmVhZGxpbmUvZXhhbXBsZXMvcmxjYXQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3 MDMvcmVhZGxpbmUvZXhhbXBsZXMvcmxjYXQuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAu MjAxMTA3MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9ybGNhdC5jCTIwMTEtMDctMDMgMTA6NDA6 NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9leGFt cGxlcy9ybGNhdC5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNCwy NSArNCwyNCBAQAogICAqIHVzYWdlOiBybGNhdAogICAqLwpAQCAtMTAyMDIsOCArMTAzMjAsMTAg QEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogICNpZiBkZWZp bmVkIChIQVZFX0NPTkZJR19IKQogICMgIGluY2x1ZGUgPGNvbmZpZy5oPgotLS0tIC9kZXYvbnVs bAotKysrIGIvcmVhZGxpbmUvZXhhbXBsZXMvcmxldmVudC5jCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDcwMy9yZWFkbGluZS9leGFtcGxlcy9ybGV2ZW50LmMKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL3JsZXZlbnQuYwkyMDExLTA3LTAzIDEwOjQxOjIx LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwxNjYgQEAKICsvKgogKyAqIHJsIC0gY29tbWFu ZC1saW5lIGludGVyZmFjZSB0byByZWFkIGEgbGluZSBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dApA QCAtMTAzNzEsOCArMTA0OTEsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhk MWE0ZjQzYQogKyAgcHJpbnRmICgiJXNcbiIsIHRlbXApOwogKyAgZXhpdCAoMCk7CiArfQotLS0t IGEvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9DaGFuZ2VMb2cKLSsrKyBiL3JlYWRsaW5lL2V4YW1w bGVzL3JsZmUvQ2hhbmdlTG9nCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9l eGFtcGxlcy9ybGZlL0NoYW5nZUxvZworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3 MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9ybGZlL0NoYW5nZUxvZwkyMDExLTA3LTAzIDEwOjQw OjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhh bXBsZXMvcmxmZS9DaGFuZ2VMb2cJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0xLDE0ICsxLDMgQEAKIC0yMDA5LTA4LTIyICBSYWxmIFdpbGRlbmh1ZXMgIDxSYWxmLldp bGRlbmh1ZXNAZ214LmRlPgogLQpAQCAtMTAzODgsOCArMTA1MTAsMTAgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIDIwMDQtMTEtMDQgIFBlciBCb3RobmVyICA8 cGVyQGJvdGhuZXIuY29tPgogIAogIAkqIHB0eS5jOiAgSW1wb3J0IGZyb20gc2NyZWVuLTQuMC4y LgotLS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9NYWtlZmlsZS5pbgotKysrIGIvcmVhZGxp bmUvZXhhbXBsZXMvcmxmZS9NYWtlZmlsZS5pbgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMv cmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9NYWtlZmlsZS5pbgorPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03 LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9ybGZlL01ha2VmaWxlLmluCTIw MTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcw My9yZWFkbGluZS9leGFtcGxlcy9ybGZlL01ha2VmaWxlLmluCTIwMTEtMDctMDMgMTA6NDE6MjEu MDAwMDAwMDAwICswMjAwCiBAQCAtMjUsNyArMjUsNyBAQCBDRkxBR1MgPSBAQ0ZMQUdTQAogIENQ UEZMQUdTID0gQENQUEZMQUdTQAogICNMREZMQUdTID0gLUwkKFJFQURMSU5FX0RJUikKQEAgLTEw NDMyLDggKzEwNTU2LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgCiAgIyMjIERlcGVuZGVuY2llczoKLS0tLSBh L3JlYWRsaW5lL2V4YW1wbGVzL3JsZmUvY29uZmlnLmguaW4KLSsrKyBiL3JlYWRsaW5lL2V4YW1w bGVzL3JsZmUvY29uZmlnLmguaW4KK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5l L2V4YW1wbGVzL3JsZmUvY29uZmlnLmguaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIw MTEwNzAzLm9yaWcvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9jb25maWcuaC5pbgkyMDExLTA3LTAz IDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxp bmUvZXhhbXBsZXMvcmxmZS9jb25maWcuaC5pbgkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAw MCArMDIwMAogQEAgLTM3MywzICszNzMsNyBAQAogICN1bmRlZiBQVFlSQU5HRTEKICAKQEAgLTEw NDQyLDggKzEwNTY4LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICsjdW5kZWYgSEFWRV9TWVNfU1RST1BUU19ICiArCiArI3VuZGVmIEhBVkVfU1lTX1dBSVRf SAotLS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9jb25maWd1cmUKLSsrKyBiL3JlYWRsaW5l L2V4YW1wbGVzL3JsZmUvY29uZmlndXJlCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFk bGluZS9leGFtcGxlcy9ybGZlL2NvbmZpZ3VyZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAu MjAxMTA3MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9ybGZlL2NvbmZpZ3VyZQkyMDExLTA3LTAz IDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxp bmUvZXhhbXBsZXMvcmxmZS9jb25maWd1cmUJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAg KzAyMDAKIEBAIC01NTIsNiArNTUyLDQyIEBAIFBBQ0tBR0VfQlVHUkVQT1JUPQogIFBBQ0tBR0Vf VVJMPQogIApAQCAtMTA3NjQsOCArMTA4OTIsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMw NTUyZGRkNjhkMWE0ZjQzYQogIGFjX2NvbmZpZ19maWxlcz0iJGFjX2NvbmZpZ19maWxlcyBNYWtl ZmlsZSIKICAKICBjYXQgPmNvbmZjYWNoZSA8PFxfQUNFT0YKLS0tLSBhL3JlYWRsaW5lL2V4YW1w bGVzL3JsZmUvY29uZmlndXJlLmluCi0rKysgYi9yZWFkbGluZS9leGFtcGxlcy9ybGZlL2NvbmZp Z3VyZS5pbgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvcmxm ZS9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcv cmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9jb25maWd1cmUuaW4JMjAxMS0wNy0wMyAxMDo0MDo1My4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVz L3JsZmUvY29uZmlndXJlLmluCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBA QCAtNDM3LDQgKzQzNyw2IEBAIG1haW4oKQogIAogIGZpCkBAIC0xMDc3Myw4ICsxMDkwMywxMCBA QCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArQUNfQ0hFQ0tfSEVB REVSUyhzeXMvc3Ryb3B0cy5oIHN5cy93YWl0LmgpCiArCiAgQUNfT1VUUFVUKE1ha2VmaWxlKQot LS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9leHRlcm4uaAotKysrIGIvcmVhZGxpbmUvZXhh bXBsZXMvcmxmZS9leHRlcm4uaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUv ZXhhbXBsZXMvcmxmZS9leHRlcm4uaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3 MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9ybGZlL2V4dGVybi5oCTIwMTEtMDctMDMgMTA6NDA6 NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9leGFt cGxlcy9ybGZlL2V4dGVybi5oCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBA QCAtMjcsNyArMjcsMTQgQEAKICAjZGVmaW5lIF9fYXR0cmlidXRlX18oeCkKICAjZW5kaWYKQEAg LTEwNzkxLDggKzEwOTIzLDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFh NGY0M2EKICBleHRlcm4gaW50ICAgT3BlblBUWSBfX1AoKGNoYXIgKiopKTsKICBleHRlcm4gdm9p ZCAgSW5pdFBUWSBfX1AoKGludCkpOwogLQotLS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9v cy5oCi0rKysgYi9yZWFkbGluZS9leGFtcGxlcy9ybGZlL29zLmgKK0luZGV4OiBnZGItNy4yLjkw LjIwMTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL3JsZmUvb3MuaAorPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdk Yi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9leGFtcGxlcy9ybGZlL29zLmgJMjAxMS0w Ny0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3Jl YWRsaW5lL2V4YW1wbGVzL3JsZmUvb3MuaAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCAr MDIwMAogQEAgLTE4Niw3ICsxODYsNyBAQCBleHRlcm4gaW50IGVycm5vOwogICAqICAgIHRlcm1p bmFsIGhhbmRsaW5nCiAgICovCkBAIC0xMDgwMiwxMyArMTA5MzYsMTUgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICMgaW5jbHVkZSA8dGVybWlvcy5oPgogICMg aWZkZWYgaHB1eAogICMgIGluY2x1ZGUgPGJzZHR0eS5oPgotQEAgLTUyNyw0ICs1MjcsMyBAQCB0 eXBlZGVmIHN0cnVjdCBmZF9zZXQgeyBpbnQgZmRzX2JpdHNbMV07IH0gZmRfc2V0OworQEAgLTUy Nyw0ICs1MjcsMyBAQCB0eXBlZGVmIHN0cnVjdCBmZF9zZXQgeyBpbnQgZmRzX2JpdHNbMV07CiAg ICogaG93IG1hbnkgY2hhcmFjdGVycyB5b3VyIHB0eSdzIGNhbiBidWZmZXIuCiAgICovCiAgI2Rl ZmluZSBJT1NJWkUJCTQwOTYKIC0KLS0tLSBhL3JlYWRsaW5lL2V4YW1wbGVzL3JsZmUvcHR5LmMK LSsrKyBiL3JlYWRsaW5lL2V4YW1wbGVzL3JsZmUvcHR5LmMKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNzAzL3JlYWRsaW5lL2V4YW1wbGVzL3JsZmUvcHR5LmMKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvZXhhbXBsZXMvcmxmZS9wdHkuYwkyMDExLTA3 LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVh ZGxpbmUvZXhhbXBsZXMvcmxmZS9wdHkuYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCAr MDIwMAogQEAgLTIwLDEzICsyMCwxNSBAQAogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTEwODQwLDggKzEw OTc2LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICB9CiAg I2VuZGlmCiAtCi0tLS0gYS9yZWFkbGluZS9leGFtcGxlcy9ybGZlL3JsZmUuYwotKysrIGIvcmVh ZGxpbmUvZXhhbXBsZXMvcmxmZS9ybGZlLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3Jl YWRsaW5lL2V4YW1wbGVzL3JsZmUvcmxmZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4y MDExMDcwMy5vcmlnL3JlYWRsaW5lL2V4YW1wbGVzL3JsZmUvcmxmZS5jCTIwMTEtMDctMDMgMTA6 NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9l eGFtcGxlcy9ybGZlL3JsZmUuYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAog QEAgLTczLDYgKzczLDExIEBACiAgI2luY2x1ZGUgPHRlcm1pb3MuaD4KICAKQEAgLTEwODg0LDgg KzExMDIyLDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAg ICAgfQogIAogICAgaWYgKCF2aSkKLS0tLSBhL3JlYWRsaW5lL2V4YW1wbGVzL3JsdGVzdC5jCi0r KysgYi9yZWFkbGluZS9leGFtcGxlcy9ybHRlc3QuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3 MDMvcmVhZGxpbmUvZXhhbXBsZXMvcmx0ZXN0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkw LjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvZXhhbXBsZXMvcmx0ZXN0LmMJMjAxMS0wNy0wMyAxMDo0 MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2V4 YW1wbGVzL3JsdGVzdC5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAt NCwyNSArNCwyNCBAQAogIC8qCQkJCQkJCQkgICAgKi8KICAvKiAqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCkBAIC0xMDky Myw4ICsxMTA2MywxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNh CiAgCiAgI2lmIGRlZmluZWQgKEhBVkVfQ09ORklHX0gpCiAgI2luY2x1ZGUgPGNvbmZpZy5oPgot LS0tIGEvcmVhZGxpbmUvZXhhbXBsZXMvcmx2ZXJzaW9uLmMKLSsrKyBiL3JlYWRsaW5lL2V4YW1w bGVzL3JsdmVyc2lvbi5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9leGFt cGxlcy9ybHZlcnNpb24uYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3Jp Zy9yZWFkbGluZS9leGFtcGxlcy9ybHZlcnNpb24uYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvZXhhbXBsZXMvcmx2 ZXJzaW9uLmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0yLDI1ICsy LDI0IEBACiAgICogcmx2ZXJzaW9uIC0tIHByaW50IG91dCByZWFkbGluZSdzIHZlcnNpb24gbnVt YmVyCiAgICovCkBAIC0xMDk2Miw4ICsxMTEwNCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIy YzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgI2lmIGRlZmluZWQgKEhBVkVfQ09ORklHX0gpCiAgIyAg aW5jbHVkZSA8Y29uZmlnLmg+Ci0tLS0gYS9yZWFkbGluZS9mdW5tYXAuYwotKysrIGIvcmVhZGxp bmUvZnVubWFwLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2Z1bm1hcC5j Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL2Z1bm1h cC5jCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4y MDExMDcwMy9yZWFkbGluZS9mdW5tYXAuYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCAr MDIwMAogQEAgLTEsMjQgKzEsMjQgQEAKICAvKiBmdW5tYXAuYyAtLSBhdHRhY2ggbmFtZXMgdG8g ZnVuY3Rpb25zLiAqLwogIApAQCAtMTEwNTgsOCArMTEyMDIsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2 ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAgeyAidmktZndvcmQiLCBybF92aV9md29yZCB9 LAogICAgeyAidmktZ290by1tYXJrIiwgcmxfdmlfZ290b19tYXJrIH0sCiAgICB7ICJ2aS1pbnNl cnQtYmVnIiwgcmxfdmlfaW5zZXJ0X2JlZyB9LAotLS0tIGEvcmVhZGxpbmUvaGlzdGV4cGFuZC5j Ci0rKysgYi9yZWFkbGluZS9oaXN0ZXhwYW5kLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAz L3JlYWRsaW5lL2hpc3RleHBhbmQuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3 MDMub3JpZy9yZWFkbGluZS9oaXN0ZXhwYW5kLmMJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAw MDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2hpc3RleHBhbmQuYwky MDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjQgKzEsMjMgQEAKICAv KiBoaXN0ZXhwYW5kLmMgLS0gaGlzdG9yeSBleHBhbnNpb24uICovCiAgCkBAIC0xMTA4MiwxNSAr MTEyMjgsMTYgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogLSAg IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKIC0gICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlIEdOVQogLSAgIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KLSsgICBIaXN0b3J5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAKKy0KIC0gICBUaGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgaXMgb2Z0ZW4gc2hpcHBlZCB3aXRoIEdOVSBzb2Z0d2FyZSwgYW5kCiAtICAg aXMgZ2VuZXJhbGx5IGtlcHQgaW4gYSBmaWxlIGNhbGxlZCBDT1BZSU5HIG9yIExJQ0VOU0UuICBJ ZiB5b3UgZG8gbm90CiAtICAgaGF2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UsIHdyaXRlIHRvIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAtICAgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAz MzAsIEJvc3RvbiwgTUEgMDIxMTEgVVNBLiAqLworKyAgIEhpc3RvcnkgaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK KysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKwogKyAg IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCiArICAgYWxvbmcgd2l0aCBIaXN0b3J5LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogKyovCkBAIC0xMTExOSw3ICsxMTI2Niw3IEBAIGIxMzcw NmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICBzdGF0aWMgY2hhciAqcXVv dGVfYnJlYWtzIFBBUkFNUygoY2hhciAqKSk7CiAgCi1AQCAtMjQ2LDcgKzI0NSw3IEBAIGdldF9o aXN0b3J5X2V2ZW50IChzdHJpbmcsIGNhbGxlcl9pbmRleCwgZGVsaW1pdGluZ19xdW90ZSkKK0BA IC0yNDYsNyArMjQ1LDcgQEAgZ2V0X2hpc3RvcnlfZXZlbnQgKHN0cmluZywgY2FsbGVyX2luZGV4 LAogIAogICNkZWZpbmUgRkFJTF9TRUFSQ0goKSBcCiAgICBkbyB7IFwKQEAgLTExMTI4LDcgKzEx Mjc1LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAgfSB3 aGlsZSAoMCkKICAKICAgIC8qIElmIHRoZXJlIGlzIG5vIHNlYXJjaCBzdHJpbmcsIHRyeSB0byB1 c2UgdGhlIHByZXZpb3VzIHNlYXJjaCBzdHJpbmcsCi1AQCAtMjU1LDcgKzI1NCw3IEBAIGdldF9o aXN0b3J5X2V2ZW50IChzdHJpbmcsIGNhbGxlcl9pbmRleCwgZGVsaW1pdGluZ19xdW90ZSkKK0BA IC0yNTUsNyArMjU0LDcgQEAgZ2V0X2hpc3RvcnlfZXZlbnQgKHN0cmluZywgY2FsbGVyX2luZGV4 LAogICAgICB7CiAgICAgICAgaWYgKHNlYXJjaF9zdHJpbmcpCiAgICAgICAgICB7CkBAIC0xMTEz Nyw3ICsxMTI4NCw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EK ICAgICAgICAgICAgdGVtcCA9IHNhdmVzdHJpbmcgKHNlYXJjaF9zdHJpbmcpOwogICAgICAgICAg fQogICAgICAgIGVsc2UKLUBAIC0yODYsNyArMjg1LDcgQEAgZ2V0X2hpc3RvcnlfZXZlbnQgKHN0 cmluZywgY2FsbGVyX2luZGV4LCBkZWxpbWl0aW5nX3F1b3RlKQorQEAgLTI4Niw3ICsyODUsNyBA QCBnZXRfaGlzdG9yeV9ldmVudCAoc3RyaW5nLCBjYWxsZXJfaW5kZXgsCiAgCSAgICAgIHNlYXJj aF9tYXRjaCA9IGhpc3RvcnlfZmluZF93b3JkIChlbnRyeS0+bGluZSwgbG9jYWxfaW5kZXgpOwog IAkgICAgfQogIAkgIGVsc2UKQEAgLTExMTQ2LDcgKzExMjkzLDcgQEAgYjEzNzA2YWJiZWU5NjQ2 ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogIAkgIHJldHVybiAoZW50cnktPmxpbmUpOwog IAl9Ci1AQCAtMzA2LDE2ICszMDUsMjAgQEAgZ2V0X2hpc3RvcnlfZXZlbnQgKHN0cmluZywgY2Fs bGVyX2luZGV4LCBkZWxpbWl0aW5nX3F1b3RlKQorQEAgLTMwNiwxNiArMzA1LDIwIEBAIGdldF9o aXN0b3J5X2V2ZW50IChzdHJpbmcsIGNhbGxlcl9pbmRleCwKICAvKiBFeHRyYWN0IHRoZSBjb250 ZW50cyBvZiBTVFJJTkcgYXMgaWYgaXQgaXMgZW5jbG9zZWQgaW4gc2luZ2xlIHF1b3Rlcy4KICAg ICBTSU5ERVgsIHdoZW4gcGFzc2VkIGluLCBpcyB0aGUgb2Zmc2V0IG9mIHRoZSBjaGFyYWN0ZXIg aW1tZWRpYXRlbHkKICAgICBmb2xsb3dpbmcgdGhlIG9wZW5pbmcgc2luZ2xlIHF1b3RlOyBvbiBl eGl0LCBTSU5ERVggaXMgbGVmdCBwb2ludGluZwpAQCAtMTExODAsNyArMTEzMjcsNyBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICBzdWJzdF9yaHMgPSBuZXc7 CiAgICBzdWJzdF9yaHNfbGVuID0gajsKICB9Ci1AQCAtNTY0LDEyICs1NjcsMTIgQEAgaGlzdG9y eV9leHBhbmRfaW50ZXJuYWwgKHN0cmluZywgc3RhcnQsIGVuZF9pbmRleF9wdHIsIHJldF9zdHJp bmcsIGN1cnJlbnRfbGluZSkKK0BAIC01NjQsMTIgKzU2NywxMiBAQCBoaXN0b3J5X2V4cGFuZF9p bnRlcm5hbCAoc3RyaW5nLCBzdGFydCwgCiAgI2lmIGRlZmluZWQgKEhBTkRMRV9NVUxUSUJZVEUp CiAgICAgICAgaWYgKE1CX0NVUl9NQVggPiAxICYmIHJsX2J5dGVfb3JpZW50ZWQgPT0gMCkKICAJ ewpAQCAtMTExOTcsNyArMTEzNDQsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2 OGQxYTRmNDNhCiAgCX0KICAgICAgICBlbHNlCiAgI2VuZGlmIC8qIEhBTkRMRV9NVUxUSUJZVEUg Ki8JICAKLUBAIC01ODIsNyArNTg1LDcgQEAgaGlzdG9yeV9leHBhbmRfaW50ZXJuYWwgKHN0cmlu Zywgc3RhcnQsIGVuZF9pbmRleF9wdHIsIHJldF9zdHJpbmcsIGN1cnJlbnRfbGluZSkKK0BAIC01 ODIsNyArNTg1LDcgQEAgaGlzdG9yeV9leHBhbmRfaW50ZXJuYWwgKHN0cmluZywgc3RhcnQsIAog ICAgaWYgKGV2ZW50ID09IDApCiAgICAgIHsKICAgICAgICAqcmV0X3N0cmluZyA9IGhpc3RfZXJy b3IgKHN0cmluZywgc3RhcnQsIGksIEVWRU5UX05PVF9GT1VORCk7CkBAIC0xMTIwNiw3ICsxMTM1 Myw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgICAgICBy ZXR1cm4gKC0xKTsKICAgICAgfQogIAotQEAgLTU5Niw3ICs1OTksNyBAQCBoaXN0b3J5X2V4cGFu ZF9pbnRlcm5hbCAoc3RyaW5nLCBzdGFydCwgZW5kX2luZGV4X3B0ciwgcmV0X3N0cmluZywgY3Vy cmVudF9saW5lKQorQEAgLTU5Niw3ICs1OTksNyBAQCBoaXN0b3J5X2V4cGFuZF9pbnRlcm5hbCAo c3RyaW5nLCBzdGFydCwgCiAgICBpZiAod29yZF9zcGVjID09IChjaGFyICopJmVycm9yX3BvaW50 ZXIpCiAgICAgIHsKICAgICAgICAqcmV0X3N0cmluZyA9IGhpc3RfZXJyb3IgKHN0cmluZywgc3Rh cnRpbmdfaW5kZXgsIGksIEJBRF9XT1JEX1NQRUMpOwpAQCAtMTEyMTUsNyArMTEzNjIsNyBAQCBi MTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICAgICAgcmV0dXJuICgt MSk7CiAgICAgIH0KICAKLUBAIC02MjksOCArNjMyLDggQEAgaGlzdG9yeV9leHBhbmRfaW50ZXJu YWwgKHN0cmluZywgc3RhcnQsIGVuZF9pbmRleF9wdHIsIHJldF9zdHJpbmcsIGN1cnJlbnRfbGlu ZSkKK0BAIC02MjksOCArNjMyLDggQEAgaGlzdG9yeV9leHBhbmRfaW50ZXJuYWwgKHN0cmluZywg c3RhcnQsIAogIAl7CiAgCWRlZmF1bHQ6CiAgCSAgKnJldF9zdHJpbmcgPSBoaXN0X2Vycm9yIChz dHJpbmcsIGkrMSwgaSsyLCBCQURfTU9ESUZJRVIpOwpAQCAtMTEyMjYsNyArMTEzNzMsNyBAQCBi MTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCSAgcmV0dXJuIC0xOwog IAogIAljYXNlICdxJzoKLUBAIC02NTUsNyArNjU4LDcgQEAgaGlzdG9yeV9leHBhbmRfaW50ZXJu YWwgKHN0cmluZywgc3RhcnQsIGVuZF9pbmRleF9wdHIsIHJldF9zdHJpbmcsIGN1cnJlbnRfbGlu ZSkKK0BAIC02NTUsNyArNjU4LDcgQEAgaGlzdG9yeV9leHBhbmRfaW50ZXJuYWwgKHN0cmluZywg c3RhcnQsIAogIAkgICAgewogIAkgICAgICB0c3RyKys7CiAgCSAgICAgIHQgPSBzYXZlc3RyaW5n ICh0c3RyKTsKQEAgLTExMjM1LDcgKzExMzgyLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMw NTUyZGRkNjhkMWE0ZjQzYQogIAkgICAgICB0ZW1wID0gdDsKICAJICAgIH0KICAJICBicmVhazsK LUBAIC02ODAsNyArNjgzLDcgQEAgaGlzdG9yeV9leHBhbmRfaW50ZXJuYWwgKHN0cmluZywgc3Rh cnQsIGVuZF9pbmRleF9wdHIsIHJldF9zdHJpbmcsIGN1cnJlbnRfbGluZSkKK0BAIC02ODAsNyAr NjgzLDcgQEAgaGlzdG9yeV9leHBhbmRfaW50ZXJuYWwgKHN0cmluZywgc3RhcnQsIAogIAkgIGlm ICh0c3RyKQogIAkgICAgewogIAkgICAgICB0ID0gc2F2ZXN0cmluZyAodHN0cik7CkBAIC0xMTI0 NCw3ICsxMTM5MSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EK ICAJICAgICAgdGVtcCA9IHQ7CiAgCSAgICB9CiAgCSAgYnJlYWs7Ci1AQCAtNzU2LDggKzc1OSw4 IEBAIGhpc3RvcnlfZXhwYW5kX2ludGVybmFsIChzdHJpbmcsIHN0YXJ0LCBlbmRfaW5kZXhfcHRy LCByZXRfc3RyaW5nLCBjdXJyZW50X2xpbmUpCitAQCAtNzU2LDggKzc1OSw4IEBAIGhpc3Rvcnlf ZXhwYW5kX2ludGVybmFsIChzdHJpbmcsIHN0YXJ0LCAKICAJICAgIGlmIChzdWJzdF9saHNfbGVu ID09IDApCiAgCSAgICAgIHsKICAJCSpyZXRfc3RyaW5nID0gaGlzdF9lcnJvciAoc3RyaW5nLCBz dGFydGluZ19pbmRleCwgaSwgTk9fUFJFVl9TVUJTVCk7CkBAIC0xMTI1NSw3ICsxMTQwMiw3IEBA IGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAJCXJldHVybiAtMTsK ICAJICAgICAgfQogIAotQEAgLTc2Niw4ICs3NjksOCBAQCBoaXN0b3J5X2V4cGFuZF9pbnRlcm5h bCAoc3RyaW5nLCBzdGFydCwgZW5kX2luZGV4X3B0ciwgcmV0X3N0cmluZywgY3VycmVudF9saW5l KQorQEAgLTc2Niw4ICs3NjksOCBAQCBoaXN0b3J5X2V4cGFuZF9pbnRlcm5hbCAoc3RyaW5nLCBz dGFydCwgCiAgCSAgICBpZiAoc3Vic3RfbGhzX2xlbiA+IGxfdGVtcCkKICAJICAgICAgewogIAkJ KnJldF9zdHJpbmcgPSBoaXN0X2Vycm9yIChzdHJpbmcsIHN0YXJ0aW5nX2luZGV4LCBpLCBTVUJT VF9GQUlMRUQpOwpAQCAtMTEyNjYsNyArMTE0MTMsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIy YzA1NTJkZGQ2OGQxYTRmNDNhCiAgCQlyZXR1cm4gKC0xKTsKICAJICAgICAgfQogIAotQEAgLTgw OCw3ICs4MTEsNyBAQCBoaXN0b3J5X2V4cGFuZF9pbnRlcm5hbCAoc3RyaW5nLCBzdGFydCwgZW5k X2luZGV4X3B0ciwgcmV0X3N0cmluZywgY3VycmVudF9saW5lKQorQEAgLTgwOCw3ICs4MTEsNyBA QCBoaXN0b3J5X2V4cGFuZF9pbnRlcm5hbCAoc3RyaW5nLCBzdGFydCwgCiAgCQkJICAgICB0ZW1w ICsgc2kgKyBzdWJzdF9saHNfbGVuLAogIAkJCSAgICAgbF90ZW1wIC0gKHNpICsgc3Vic3RfbGhz X2xlbikpOwogIAkJICAgIG5ld19ldmVudFtsZW5dID0gJ1wwJzsKQEAgLTExMjc1LDcgKzExNDIy LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAkJICAgIHRl bXAgPSBuZXdfZXZlbnQ7CiAgCiAgCQkgICAgZmFpbGVkID0gMDsKLUBAIC04NDQsOCArODQ3LDgg QEAgaGlzdG9yeV9leHBhbmRfaW50ZXJuYWwgKHN0cmluZywgc3RhcnQsIGVuZF9pbmRleF9wdHIs IHJldF9zdHJpbmcsIGN1cnJlbnRfbGluZSkKK0BAIC04NDQsOCArODQ3LDggQEAgaGlzdG9yeV9l eHBhbmRfaW50ZXJuYWwgKHN0cmluZywgc3RhcnQsIAogIAkgICAgICBjb250aW51ZTsJCS8qIGRv bid0IHdhbnQgdG8gaW5jcmVtZW50IGkgKi8KICAKICAJICAgICpyZXRfc3RyaW5nID0gaGlzdF9l cnJvciAoc3RyaW5nLCBzdGFydGluZ19pbmRleCwgaSwgU1VCU1RfRkFJTEVEKTsKQEAgLTExMjg2 LDcgKzExNDMzLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQog IAkgICAgcmV0dXJuICgtMSk7CiAgCSAgfQogIAl9Ci1AQCAtODY2LDcgKzg2OSw3IEBAIGhpc3Rv cnlfZXhwYW5kX2ludGVybmFsIChzdHJpbmcsIHN0YXJ0LCBlbmRfaW5kZXhfcHRyLCByZXRfc3Ry aW5nLCBjdXJyZW50X2xpbmUpCitAQCAtODY2LDcgKzg2OSw3IEBAIGhpc3RvcnlfZXhwYW5kX2lu dGVybmFsIChzdHJpbmcsIHN0YXJ0LCAKICAgICAgICBlbHNlCiAgCXggPSBzYXZlc3RyaW5nICh0 ZW1wKTsKICAKQEAgLTExMjk1LDcgKzExNDQyLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMw NTUyZGRkNjhkMWE0ZjQzYQogICAgICAgIHRlbXAgPSB4OwogICAgICB9CiAgCi1AQCAtODc0LDcg Kzg3Nyw3IEBAIGhpc3RvcnlfZXhwYW5kX2ludGVybmFsIChzdHJpbmcsIHN0YXJ0LCBlbmRfaW5k ZXhfcHRyLCByZXRfc3RyaW5nLCBjdXJyZW50X2xpbmUpCitAQCAtODc0LDcgKzg3Nyw3IEBAIGhp c3RvcnlfZXhwYW5kX2ludGVybmFsIChzdHJpbmcsIHN0YXJ0LCAKICAgIGlmIChuID49IHJlc3Vs dF9sZW4pCiAgICAgIHJlc3VsdCA9IChjaGFyICopeHJlYWxsb2MgKHJlc3VsdCwgbiArIDIpOwog ICAgc3RyY3B5IChyZXN1bHQsIHRlbXApOwpAQCAtMTE0MjgsNyArMTE1NzUsNyBAQCBiMTM3MDZh YmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgICBpZiAob25seV9wcmludGlu ZykKICAgICAgewotQEAgLTEzOTksOCArMTQwNSw4IEBAIGhpc3RvcnlfYXJnX2V4dHJhY3QgKGZp cnN0LCBsYXN0LCBzdHJpbmcpCitAQCAtMTM5OSw4ICsxNDA1LDggQEAgaGlzdG9yeV9hcmdfZXh0 cmFjdCAoZmlyc3QsIGxhc3QsIHN0cmluZwogICAgICB9CiAgCiAgICBmb3IgKGkgPSAwOyBpIDwg bGVuOyBpKyspCkBAIC0xMTU5OCw4ICsxMTc0NSwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIy YzA1NTJkZGQ2OGQxYTRmNDNhCiArICB4ZnJlZSAod29yZHMpOwogICAgcmV0dXJuIHM7CiAgfQot LS0tIGEvcmVhZGxpbmUvaGlzdGZpbGUuYwotKysrIGIvcmVhZGxpbmUvaGlzdGZpbGUuYworSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvaGlzdGZpbGUuYworPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor LS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9oaXN0ZmlsZS5jCTIwMTEtMDct MDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFk bGluZS9oaXN0ZmlsZS5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAt MSwyNCArMSwyMyBAQAogIC8qIGhpc3RmaWxlLmMgLSBmdW5jdGlvbnMgdG8gbWFuaXB1bGF0ZSB0 aGUgaGlzdG9yeSBmaWxlLiAqLwogIApAQCAtMTE2MjIsMTUgKzExNzcxLDE2IEBAIGIxMzcwNmFi YmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIC0gICBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAtICAgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKIC0g ICBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rICAgSGlzdG9yeSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCi0gCistCiAtICAgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIG9mdGVu IHNoaXBwZWQgd2l0aCBHTlUgc29mdHdhcmUsIGFuZAogLSAgIGlzIGdlbmVyYWxseSBrZXB0IGlu IGEgZmlsZSBjYWxsZWQgQ09QWUlORyBvciBMSUNFTlNFLiAgSWYgeW91IGRvIG5vdAogLSAgIGhh dmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLAogLSAgIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTEx IFVTQS4gKi8KKysgICBIaXN0b3J5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKICsgICBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKyAgIGFsb25n IHdpdGggSGlzdG9yeS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv Pi4KICsqLwpAQCAtMTE3MDksNyArMTE4NTksNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1 NTJkZGQ2OGQxYTRmNDNhCiAgICByZXR1cm4gcnY7CiAgfQogIAotQEAgLTQzNCw5ICs0NDAsMTAg QEAgaGlzdG9yeV9kb193cml0ZSAoZmlsZW5hbWUsIG5lbGVtZW50cywgb3ZlcndyaXRlKQorQEAg LTQzNCw5ICs0NDAsMTAgQEAgaGlzdG9yeV9kb193cml0ZSAoZmlsZW5hbWUsIG5lbGVtZW50cywg bwogICAgbW9kZSA9IG92ZXJ3cml0ZSA/IE9fV1JPTkxZfE9fQ1JFQVR8T19UUlVOQ3xPX0JJTkFS WSA6IE9fV1JPTkxZfE9fQVBQRU5EfE9fQklOQVJZOwogICNlbmRpZgogICAgb3V0cHV0ID0gaGlz dG9yeV9maWxlbmFtZSAoZmlsZW5hbWUpOwpAQCAtMTE3MzAsOCArMTE4ODAsMTAgQEAgYjEzNzA2 YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICNlbmRpZgogICAgfQogIAotLS0t IGEvcmVhZGxpbmUvaGlzdGxpYi5oCi0rKysgYi9yZWFkbGluZS9oaXN0bGliLmgKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2hpc3RsaWIuaAorPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdk Yi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9oaXN0bGliLmgJMjAxMS0wNy0wMyAxMDo0 MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2hp c3RsaWIuaAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjMgKzEs MjMgQEAKICAvKiBoaXN0bGliLmggLS0gaW50ZXJuYWwgZGVmaW5pdGlvbnMgZm9yIHRoZSBoaXN0 b3J5IGxpYnJhcnkuICovCiAtLyogQ29weXJpZ2h0IChDKSAxOTg5LCAxOTkyIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgpAQCAtMTE3NDcsNyArMTE4OTksOSBAQCBiMTM3MDZhYmJlZTk2 NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIC0gICB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRp b24pCiAtICAgYW55IGxhdGVyIHZlcnNpb24uCi0tCisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIAogLSAgIFRoZSBMaWJyYXJ5IGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogLSAgIFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIC0g ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlIEdOVQpAQCAtMTE3NTcsOSArMTE5MTEsNiBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIy YzA1NTJkZGQ2OGQxYTRmNDNhCiAtICAgaXMgZ2VuZXJhbGx5IGtlcHQgaW4gYSBmaWxlIGNhbGxl ZCBDT1BZSU5HIG9yIExJQ0VOU0UuICBJZiB5b3UgZG8gbm90CiAtICAgaGF2ZSBhIGNvcHkgb2Yg dGhlIGxpY2Vuc2UsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAtICAg NTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEgVVNBLiAqLwotKyAg IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKICsg ICBIaXN0b3J5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCiArICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKICsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkBAIC0xMTc3MSw4ICsxMTkyMiwxMCBAQCBiMTM3MDZh YmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgI2lmICFkZWZpbmVkIChfSElT VExJQl9IXykKICAjZGVmaW5lIF9ISVNUTElCX0hfCi0tLS0gYS9yZWFkbGluZS9oaXN0b3J5LmMK LSsrKyBiL3JlYWRsaW5lL2hpc3RvcnkuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVh ZGxpbmUvaGlzdG9yeS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmln L3JlYWRsaW5lL2hpc3RvcnkuYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAor KysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvaGlzdG9yeS5jCTIwMTEtMDctMDMgMTA6 NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyNCArMSwyMyBAQAogIC8qIGhpc3RvcnkuYyAt LSBzdGFuZGFsb25lIGhpc3RvcnkgbGlicmFyeSAqLwogIApAQCAtMTE3OTUsMTUgKzExOTQ4LDE2 IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIC0gICBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAtICAg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZSBHTlUKIC0gICBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0r ICAgSGlzdG9yeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCi0gCistCiAtICAgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGlzIG9mdGVuIHNoaXBwZWQgd2l0aCBHTlUgc29mdHdhcmUsIGFuZAogLSAgIGlzIGdlbmVy YWxseSBrZXB0IGluIGEgZmlsZSBjYWxsZWQgQ09QWUlORyBvciBMSUNFTlNFLiAgSWYgeW91IGRv IG5vdAogLSAgIGhhdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlLCB3cml0ZSB0byB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLAogLSAgIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0 b24sIE1BIDAyMTExIFVTQS4gKi8KKysgICBIaXN0b3J5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKICsgICBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQogKyAgIGFsb25nIHdpdGggSGlzdG9yeS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4KICsqLwpAQCAtMTE4OTUsNyArMTIwNDksNyBAQCBiMTM3MDZhYmJlZTk2 NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICAKICAvKiBNYWtlIHRoZSBoaXN0b3J5IGVu dHJ5IGF0IFdISUNIIGhhdmUgTElORSBhbmQgREFUQS4gIFRoaXMgcmV0dXJucwogICAgIHRoZSBv bGQgZW50cnkgc28geW91IGNhbiBkaXNwb3NlIG9mIHRoZSBkYXRhLiAgSW4gdGhlIGNhc2Ugb2Yg YW4KLUBAIC0zNTQsNiArMzg3LDUxIEBAIHJlcGxhY2VfaGlzdG9yeV9lbnRyeSAod2hpY2gsIGxp bmUsIGRhdGEpCitAQCAtMzU0LDYgKzM4Nyw1MSBAQCByZXBsYWNlX2hpc3RvcnlfZW50cnkgKHdo aWNoLCBsaW5lLCBkYXRhCiAgICByZXR1cm4gKG9sZF92YWx1ZSk7CiAgfQogIApAQCAtMTE5NTYs OCArMTIxMTAsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQog IGludAogIHVuc3RpZmxlX2hpc3RvcnkgKCkKICB7Ci0tLS0gYS9yZWFkbGluZS9oaXN0b3J5LmgK LSsrKyBiL3JlYWRsaW5lL2hpc3RvcnkuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVh ZGxpbmUvaGlzdG9yeS5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmln L3JlYWRsaW5lL2hpc3RvcnkuaAkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAor KysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvaGlzdG9yeS5oCTIwMTEtMDctMDMgMTA6 NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyMyArMSwyMyBAQAogIC8qIGhpc3RvcnkuaCAt LSB0aGUgbmFtZXMgb2YgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBjYWxsIGluIGhpc3RvcnkuICov CiAtLyogQ29weXJpZ2h0IChDKSAxOTg5LTIwMDMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCkBAIC0xMTk3Myw3ICsxMjEyOSw5IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRk ZDY4ZDFhNGY0M2EKICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogLSAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKIC0gICBhbnkgbGF0 ZXIgdmVyc2lvbi4KLS0KKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIg dmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisgCiAtICAgVGhlIExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiAtICAgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogLSAgIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCkBAIC0x MTk4Myw5ICsxMjE0MSw2IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKIC0gICBpcyBnZW5lcmFsbHkga2VwdCBpbiBhIGZpbGUgY2FsbGVkIENPUFlJTkcgb3IgTElD RU5TRS4gIElmIHlvdSBkbyBub3QKIC0gICBoYXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSwgd3Jp dGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKIC0gICA1OSBUZW1wbGUgUGxhY2Us IFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMSBVU0EuICovCi0rICAgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwogKyAgIEhpc3RvcnkgaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICsgICBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgog KyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKQEAgLTExOTk3LDggKzEyMTUyLDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICAKICAjaWZuZGVmIF9ISVNUT1JZX0hfCiAgI2RlZmluZSBfSElT VE9SWV9IXwotLS0tIGEvcmVhZGxpbmUvaGlzdHNlYXJjaC5jCi0rKysgYi9yZWFkbGluZS9oaXN0 c2VhcmNoLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2hpc3RzZWFyY2gu YworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9oaXN0 c2VhcmNoLmMJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNzAzL3JlYWRsaW5lL2hpc3RzZWFyY2guYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAw MDAwMDAwMCArMDIwMAogQEAgLTEsMjQgKzEsMjMgQEAKICAvKiBoaXN0c2VhcmNoLmMgLS0gc2Vh cmNoaW5nIHRoZSBoaXN0b3J5IGxpc3QuICovCiAgCkBAIC0xMjAxNCw3ICsxMjE3MSw5IEBAIGIx MzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgICBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQog LSAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChh dCB5b3VyIG9wdGlvbikKIC0gICBhbnkgbGF0ZXIgdmVyc2lvbi4KLS0KKysgICB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgor KyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgCiAtICAgVGhlIExpYnJh cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0 CiAtICAgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgogLSAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUgR05VCkBAIC0xMjAyNCw5ICsxMjE4Myw2IEBAIGIxMzcwNmFiYmVl OTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIC0gICBpcyBnZW5lcmFsbHkga2VwdCBpbiBh IGZpbGUgY2FsbGVkIENPUFlJTkcgb3IgTElDRU5TRS4gIElmIHlvdSBkbyBub3QKIC0gICBoYXZl IGEgY29weSBvZiB0aGUgbGljZW5zZSwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwKIC0gICA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMSBV U0EuICovCi0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g MyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgotKwogKyAgIEhpc3RvcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKICsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKQEAgLTEyMDM4LDggKzEyMTk0LDEw IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAjZGVmaW5l IFJFQURMSU5FX0xJQlJBUlkKICAKLS0tLSBhL3JlYWRsaW5lL2lucHV0LmMKLSsrKyBiL3JlYWRs aW5lL2lucHV0LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2lucHV0LmMK Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvaW5wdXQu YwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAx MTA3MDMvcmVhZGxpbmUvaW5wdXQuYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIw MAogQEAgLTEsMjQgKzEsMjQgQEAKICAvKiBpbnB1dC5jIC0tIGNoYXJhY3RlciBpbnB1dCBmdW5j dGlvbnMgZm9yIHJlYWRsaW5lLiAqLwogIApAQCAtMTIzMTMsOCArMTI0NzEsMTAgQEAgYjEzNzA2 YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAgICB7CiAgICAgICAgbWJbaV0g PSAoY2hhciljOwogICAgICAgIG1lbXNldCAoJnBzLCAwLCBzaXplb2YgKG1ic3RhdGVfdCkpOwot LS0tIGEvcmVhZGxpbmUvaXNlYXJjaC5jCi0rKysgYi9yZWFkbGluZS9pc2VhcmNoLmMKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2lzZWFyY2guYworPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0t IGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9pc2VhcmNoLmMJMjAxMS0wNy0wMyAx MDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5l L2lzZWFyY2guYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjkg KzEsMzAgQEAKICsvKiBpc2VhcmNoLmMgLSBpbmNyZW1lbnRhbCBzZWFyY2hpbmcgKi8KICsKQEAg LTEyMzM4LDE2ICsxMjQ5OCw2IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFh NGY0M2EKICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogLSAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKIC0gICBhbnkgbGF0ZXIgdmVy c2lvbi4KLS0KLS0gICBUaGUgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKLS0gICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0tICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLS0gICBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0tCi0tICAgVGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGlzIG9mdGVuIHNoaXBwZWQgd2l0aCBHTlUgc29mdHdhcmUsIGFuZAot LSAgIGlzIGdlbmVyYWxseSBrZXB0IGluIGEgZmlsZSBjYWxsZWQgQ09QWUlORyBvciBMSUNFTlNF LiAgSWYgeW91IGRvIG5vdAotLSAgIGhhdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlLCB3cml0ZSB0 byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAotLSAgIDU5IFRlbXBsZSBQbGFjZSwgU3Vp dGUgMzMwLCBCb3N0b24sIE1BIDAyMTExIFVTQS4gKi8KICsgICB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgogKyAgIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiArCkBAIC0xMjM1OSwxMSArMTI1MDksMjAg QEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogKyAgIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CiArICAgYWxvbmcgd2l0aCBSZWFkbGluZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4KICsqLwotKworIAorLSAgIFRoZSBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorLSAgIFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy0gICBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl IEdOVQorLSAgIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0KKy0g ICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgb2Z0ZW4gc2hpcHBlZCB3aXRoIEdO VSBzb2Z0d2FyZSwgYW5kCistICAgaXMgZ2VuZXJhbGx5IGtlcHQgaW4gYSBmaWxlIGNhbGxlZCBD T1BZSU5HIG9yIExJQ0VOU0UuICBJZiB5b3UgZG8gbm90CistICAgaGF2ZSBhIGNvcHkgb2YgdGhl IGxpY2Vuc2UsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCistICAgNTkg VGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEgVVNBLiAqLwogICNkZWZp bmUgUkVBRExJTkVfTElCUkFSWQogIAogICNpZiBkZWZpbmVkIChIQVZFX0NPTkZJR19IKQotQEAg LTY4LDE0ICs2OSwxNCBAQCBzdGF0aWMgdm9pZCBfcmxfaXNlYXJjaF9maW5pIFBBUkFNUygoX3Js X3NlYXJjaF9jeHQgKikpOworQEAgLTY4LDE0ICs2OSwxNCBAQCBzdGF0aWMgdm9pZCBfcmxfaXNl YXJjaF9maW5pIFBBUkFNUygoX3JsCiAgc3RhdGljIGludCBfcmxfaXNlYXJjaF9jbGVhbnVwIFBB UkFNUygoX3JsX3NlYXJjaF9jeHQgKiwgaW50KSk7CiAgCiAgLyogTGFzdCBsaW5lIGZvdW5kIGJ5 IHRoZSBjdXJyZW50IGluY3JlbWVudGFsIHNlYXJjaCwgc28gd2UgZG9uJ3QgYGZpbmQnCkBAIC0x MjQwMCw3ICsxMjU1OSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICB9CiAgCiAgLyogU2VhcmNoIGJhY2t3YXJkcyB0aHJvdWdoIHRoZSBoaXN0b3J5IGxvb2tp bmcgZm9yIGEgc3RyaW5nIHdoaWNoIGlzIHR5cGVkCi1AQCAtMTkyLDcgKzE5Niw3IEBAIHJsX2Rp c3BsYXlfc2VhcmNoIChzZWFyY2hfc3RyaW5nLCByZXZlcnNlX3AsIHdoZXJlKQorQEAgLTE5Miw3 ICsxOTYsNyBAQCBybF9kaXNwbGF5X3NlYXJjaCAoc2VhcmNoX3N0cmluZywgcmV2ZXJzCiAgICBz dHJjcHkgKG1lc3NhZ2UgKyBtc2dsZW4sICInOiAiKTsKICAKICAgIHJsX21lc3NhZ2UgKCIlcyIs IG1lc3NhZ2UpOwpAQCAtMTI0MTgsNyArMTI1NzcsOCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIy YzA1NTJkZGQ2OGQxYTRmNDNhCiAtICBpZiAoYyA+PSAwICYmIF9ybF9rZXltYXBbY10udHlwZSA9 PSBJU0ZVTkMpCiArCiArICBpZiAoYyA8IDApCi0rICAgIHsKKyAgICAgeworLSAgICAgIGYgPSBf cmxfa2V5bWFwW2NdLmZ1bmN0aW9uOwogKyAgICAgIGN4dC0+c2ZsYWdzIHw9IFNGX0ZBSUxFRDsK ICsgICAgICBjeHQtPmhpc3RvcnlfcG9zID0gY3h0LT5sYXN0X2ZvdW5kX2xpbmU7CiArICAgICAg cmV0dXJuIC0xOwpAQCAtMTI0MjgsOCArMTI1ODgsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIy YzA1NTJkZGQ2OGQxYTRmNDNhCiArICAgICBUaGlzIGNhbiBiZSBhIHByb2JsZW0gaWYgYyA9PSBF U0MgYW5kIHdlIHdhbnQgdG8gdGVybWluYXRlIHRoZQogKyAgICAgaW5jcmVtZW50YWwgc2VhcmNo LCBzbyB3ZSBjaGVjayAqLwogKyAgaWYgKGMgPj0gMCAmJiBjeHQtPmtleW1hcFtjXS50eXBlID09 IElTS01BUCAmJiBzdHJjaHIgKGN4dC0+c2VhcmNoX3Rlcm1pbmF0b3JzLCBjeHQtPmxhc3RjKSA9 PSAwKQotICAgICB7Ci0tICAgICAgZiA9IF9ybF9rZXltYXBbY10uZnVuY3Rpb247CisrICAgIHsK ICsgICAgICBjeHQtPmtleW1hcCA9IEZVTkNUSU9OX1RPX0tFWU1BUCAoY3h0LT5rZXltYXAsIGMp OwogKyAgICAgIGN4dC0+c2ZsYWdzIHw9IFNGX0NIR0tNQVA7CiArICAgICAgLyogWFhYIC0gd2Ug c2hvdWxkIHByb2JhYmx5IHNhdmUgdGhpcyBzZXF1ZW5jZSwgc28gd2UgY2FuIGRvCkBAIC0xMjQ4 NSw4ICsxMjY0NCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNh CiAgCSAgICAgdGltZSBybF9yZWFkX2tleSBpcyBjYWxsZWQuICovCiAgCSAgcmxfZXhlY3V0ZV9u ZXh0IChjeHQtPmxhc3RjKTsKICAJICByZXR1cm4gKDApOwotLS0tIGEvcmVhZGxpbmUva2V5bWFw cy5jCi0rKysgYi9yZWFkbGluZS9rZXltYXBzLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAz L3JlYWRsaW5lL2tleW1hcHMuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMu b3JpZy9yZWFkbGluZS9rZXltYXBzLmMJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2tleW1hcHMuYwkyMDExLTA3LTAz IDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjMgKzEsMjQgQEAKICAvKiBrZXltYXBz LmMgLS0gRnVuY3Rpb25zIGFuZCBrZXltYXBzIGZvciB0aGUgR05VIFJlYWRsaW5lIGxpYnJhcnku ICovCiAgCkBAIC0xMjUwMiwxNSArMTI2NjMsMTYgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMw NTUyZGRkNjhkMWE0ZjQzYQogLSAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQogLSAgIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkKIC0gICBs YXRlciB2ZXJzaW9uLgotKyAgIFJlYWRsaW5lIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y Ci0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAKKy0KIC0gICBSZWFk bGluZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBi dXQKIC0gICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCiAtICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKIC0gICBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCisrICAgUmVhZGxpbmUgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IK KysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKwogKyAgIFJlYWRsaW5l IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiArICAg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKICsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCkBAIC0xMjU3OCw4ICsxMjc0MCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArICBybF9kaXNjYXJkX2tleW1hcCAobWFwKTsKICsg IHhmcmVlICgoY2hhciAqKW1hcCk7CiArfQotLS0tIGEvcmVhZGxpbmUva2V5bWFwcy5oCi0rKysg Yi9yZWFkbGluZS9rZXltYXBzLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5l L2tleW1hcHMuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFk bGluZS9rZXltYXBzLmgJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2tleW1hcHMuaAkyMDExLTA3LTAzIDEwOjQxOjIx LjAwMDAwMDAwMCArMDIwMAogQEAgLTIsMjMgKzIsMjIgQEAKICAKICAvKiBDb3B5cmlnaHQgKEMp IDE5ODcsIDE5ODksIDE5OTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC0xMjYy Nyw4ICsxMjc5MSwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNh CiAgdHlwZWRlZiBLRVlNQVBfRU5UUlkgS0VZTUFQX0VOVFJZX0FSUkFZW0tFWU1BUF9TSVpFXTsK ICB0eXBlZGVmIEtFWU1BUF9FTlRSWSAqS2V5bWFwOwogIAotLS0tIGEvcmVhZGxpbmUva2lsbC5j Ci0rKysgYi9yZWFkbGluZS9raWxsLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRs aW5lL2tpbGwuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFk bGluZS9raWxsLmMJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGIt Ny4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL2tpbGwuYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAw MDAwMCArMDIwMAogQEAgLTIsMjMgKzIsMjMgQEAKICAKICAvKiBDb3B5cmlnaHQgKEMpIDE5OTQg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC0xMjY4NSw3ICsxMjg1MSw3IEBAIGIx MzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgICAgICBybF9raWxsX3Jp bmdbc2xvdF0gPSBuZXc7CiAgICAgIH0KICAgIGVsc2UKLUBAIC01ODIsNiArNTgyLDcgQEAgcmxf eWFua19udGhfYXJnX2ludGVybmFsIChjb3VudCwgaWdub3JlLCBoaXN0b3J5X3NraXApCitAQCAt NTgyLDYgKzU4Miw3IEBAIHJsX3lhbmtfbnRoX2FyZ19pbnRlcm5hbCAoY291bnQsIGlnbm9yZSwK ICAgIGlmICghYXJnIHx8ICEqYXJnKQogICAgICB7CiAgICAgICAgcmxfZGluZyAoKTsKQEAgLTEy NjkzLDcgKzEyODU5LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQz YQogICAgICAgIHJldHVybiAtMTsKICAgICAgfQogIAotQEAgLTYwMCw3ICs2MDEsNyBAQCBybF95 YW5rX250aF9hcmdfaW50ZXJuYWwgKGNvdW50LCBpZ25vcmUsIGhpc3Rvcnlfc2tpcCkKK0BAIC02 MDAsNyArNjAxLDcgQEAgcmxfeWFua19udGhfYXJnX2ludGVybmFsIChjb3VudCwgaWdub3JlLAog ICNlbmRpZiAvKiBWSV9NT0RFICovCiAgCiAgICBybF9pbnNlcnRfdGV4dCAoYXJnKTsKQEAgLTEy NzIwLDggKzEyODg2LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICAgICAgICBDbG9zZUNsaXBib2FyZCAoKTsKICAgICAgfQogICAgcmV0dXJuICgwKTsKLS0t LSBhL3JlYWRsaW5lL21hY3JvLmMKLSsrKyBiL3JlYWRsaW5lL21hY3JvLmMKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL21hY3JvLmMKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4y LjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvbWFjcm8uYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvbWFjcm8uYwky MDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjQgKzEsMjQgQEAKICAv KiBtYWNyby5jIC0tIGtleWJvYXJkIG1hY3JvcyBmb3IgcmVhZGxpbmUuICovCiAgCkBAIC0xMjc4 Nyw4ICsxMjk1NSwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNh CiAgICAgICAgY3VycmVudF9tYWNybyA9IChjaGFyICopIE5VTEw7CiAgICAgIH0KICAgIGN1cnJl bnRfbWFjcm9fc2l6ZSA9IGN1cnJlbnRfbWFjcm9faW5kZXggPSAwOwotLS0tIGEvcmVhZGxpbmUv bWJ1dGlsLmMKLSsrKyBiL3JlYWRsaW5lL21idXRpbC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDcwMy9yZWFkbGluZS9tYnV0aWwuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3 MDMub3JpZy9yZWFkbGluZS9tYnV0aWwuYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvbWJ1dGlsLmMJMjAxMS0wNy0w MyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI0ICsxLDI0IEBACiAgLyogbWJ1dGls LmMgLS0gcmVhZGxpbmUgbXVsdGlieXRlIGNoYXJhY3RlciB1dGlsaXR5IGZ1bmN0aW9ucyAqLwog IApAQCAtMTI4MjcsNyArMTI5OTcsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2 OGQxYTRmNDNhCiAgI2RlZmluZSBSRUFETElORV9MSUJSQVJZCiAgCiAgI2lmIGRlZmluZWQgKEhB VkVfQ09ORklHX0gpCi1AQCAtNzcsNyArNzcsNyBAQCBfcmxfZmluZF9uZXh0X21iY2hhcl9pbnRl cm5hbCAoc3RyaW5nLCBzZWVkLCBjb3VudCwgZmluZF9ub25femVybykKK0BAIC03Nyw3ICs3Nyw3 IEBAIF9ybF9maW5kX25leHRfbWJjaGFyX2ludGVybmFsIChzdHJpbmcsIHMKICAgICAgIGNoYXIg KnN0cmluZzsKICAgICAgIGludCBzZWVkLCBjb3VudCwgZmluZF9ub25femVybzsKICB7CkBAIC0x MjgzNiw3ICsxMzAwNiw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICAgIG1ic3RhdGVfdCBwczsKICAgIGludCBwb2ludDsKICAgIHdjaGFyX3Qgd2M7Ci1AQCAt OTEsMTcgKzkxLDIxIEBAIF9ybF9maW5kX25leHRfbWJjaGFyX2ludGVybmFsIChzdHJpbmcsIHNl ZWQsIGNvdW50LCBmaW5kX25vbl96ZXJvKQorQEAgLTkxLDE3ICs5MSwyMSBAQCBfcmxfZmluZF9u ZXh0X21iY2hhcl9pbnRlcm5hbCAoc3RyaW5nLCBzCiAgICAgIHJldHVybiBzZWVkOwogIAogICAg cG9pbnQgPSBzZWVkICsgX3JsX2FkanVzdF9wb2ludCAoc3RyaW5nLCBzZWVkLCAmcHMpOwpAQCAt MTI4NjIsNyArMTMwMzIsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRm NDNhCiAgCSAgcG9pbnQrKzsKICAJICBjb3VudC0tOwogIAkgIC8qIHJlc2V0IHN0YXRlcy4gKi8K LUBAIC0xMjgsMTIgKzEzMiwxMCBAQCBfcmxfZmluZF9uZXh0X21iY2hhcl9pbnRlcm5hbCAoc3Ry aW5nLCBzZWVkLCBjb3VudCwgZmluZF9ub25femVybykKK0BAIC0xMjgsMTIgKzEzMiwxMCBAQCBf cmxfZmluZF9uZXh0X21iY2hhcl9pbnRlcm5hbCAoc3RyaW5nLCBzCiAgICBpZiAoZmluZF9ub25f emVybykKICAgICAgewogICAgICAgIHRtcCA9IG1icnRvd2MgKCZ3Yywgc3RyaW5nICsgcG9pbnQs IHN0cmxlbiAoc3RyaW5nICsgcG9pbnQpLCAmcHMpOwpAQCAtMTI4NzYsOCArMTMwNDYsMTAgQEAg YjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAl9CiAgICAgIH0KICAK LS0tLSBhL3JlYWRsaW5lL21pc2MuYwotKysrIGIvcmVhZGxpbmUvbWlzYy5jCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9taXNjLmMKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4y LjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvbWlzYy5jCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAw MDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9taXNjLmMJMjAx MS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI0ICsxLDI0IEBACiAgLyog bWlzYy5jIC0tIG1pc2NlbGxhbmVvdXMgYmluZGFibGUgcmVhZGxpbmUgZnVuY3Rpb25zLiAqLwog IApAQCAtMTMwMjEsOCArMTMxOTMsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRk NjhkMWE0ZjQzYQogICNlbmRpZiAvKiBWSV9NT0RFICovCiAgCiAgICByZXR1cm4gMDsKLS0tLSBh L3JlYWRsaW5lL25scy5jCi0rKysgYi9yZWFkbGluZS9ubHMuYworSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA3MDMvcmVhZGxpbmUvbmxzLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEw NzAzLm9yaWcvcmVhZGxpbmUvbmxzLmMJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL25scy5jCTIwMTEtMDctMDMgMTA6 NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyNCArMSwyNCBAQAogIC8qIG5scy5jIC0tIHNr ZWxldGFsIGludGVybmF0aW9uYWxpemF0aW9uIGNvZGUuICovCiAgCkBAIC0xMzA3MCw4ICsxMzI0 NCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgICByZXR1 cm4gKGxlZ2FsX2xhbmdfdmFsdWVzW2ldID8gMSA6IDApOwogIAogICNlbmRpZiAvKiAhSEFWRV9T RVRMT0NBTEUgKi8KLS0tLSBhL3JlYWRsaW5lL3BhcmVucy5jCi0rKysgYi9yZWFkbGluZS9wYXJl bnMuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvcGFyZW5zLmMKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvcGFyZW5zLmMJMjAx MS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAz L3JlYWRsaW5lL3BhcmVucy5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBA QCAtMSwyNCArMSwyNCBAQAogLS8qIHBhcmVucy5jIC0tIEltcGxlbWVudGF0aW9uIG9mIG1hdGNo aW5nIHBhcmVudGhlc2VzIGZlYXR1cmUuICovCiArLyogcGFyZW5zLmMgLS0gaW1wbGVtZW50YXRp b24gb2YgbWF0Y2hpbmcgcGFyZW50aGVzZXMgZmVhdHVyZS4gKi8KQEAgLTEzMTM5LDE0ICsxMzMx NSwxOCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgICAg ICAgb3JpZ19wb2ludCA9IHJsX3BvaW50OwogICAgICAgIHJsX3BvaW50ID0gbWF0Y2hfcG9pbnQ7 Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9yZWFkbGluZS9wYXRjaGxldmVsCitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDcwMy9yZWFkbGluZS9wYXRjaGxldmVsCis9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9u dWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi45MC4y MDExMDcwMy9yZWFkbGluZS9wYXRjaGxldmVsCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAw ICswMjAwCiBAQCAtMCwwICsxLDMgQEAKICsjIERvIG5vdCBlZGl0IC0tIGV4aXN0cyBvbmx5IGZv ciB1c2UgYnkgcGF0Y2gKICsKICsxCi0tLS0gYS9yZWFkbGluZS9wb3NpeGRpci5oCi0rKysgYi9y ZWFkbGluZS9wb3NpeGRpci5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9w b3NpeGRpci5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRs aW5lL3Bvc2l4ZGlyLmgJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3Bvc2l4ZGlyLmgJMjAxMS0wNy0wMyAxMDo0MToy MS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00LDE5ICs0LDE5IEBACiAgCiAgICAgVGhpcyBmaWxlIGlz IHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCkBAIC0xMzE1NSwxNSAr MTMzMzUsMTYgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogLSAg IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5CiAtICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp b24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQogLSAgIGFueSBsYXRlciB2ZXJzaW9uLgotKyAgIEJh c2ggaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgotIAorLQogLSAgIEJhc2ggaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKIC0gICBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkKIC0g ICBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVy YWwgUHVibGljCiAtICAgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyAgIEJhc2ggaXMgZnJl ZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNp b24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorKwogKyAgIEJhc2ggaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKICsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKQEAgLTEzMTc3LDggKzEzMzU4LDEw IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAKICAvKiBUaGlz IGZpbGUgc2hvdWxkIGJlIGluY2x1ZGVkIGluc3RlYWQgb2YgPGRpcmVudC5oPiBvciA8c3lzL2Rp ci5oPi4gKi8KICAKLS0tLSBhL3JlYWRsaW5lL3Bvc2l4am1wLmgKLSsrKyBiL3JlYWRsaW5lL3Bv c2l4am1wLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3Bvc2l4am1wLmgK Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvcG9zaXhq bXAuaAkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAu MjAxMTA3MDMvcmVhZGxpbmUvcG9zaXhqbXAuaAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAw MCArMDIwMAogQEAgLTQsMTkgKzQsMTkgQEAKICAKICAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBH TlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KQEAgLTEzMTg3LDE1ICsxMzM3MCwxNiBA QCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAtICAgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkK IC0gICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAo YXQgeW91ciBvcHRpb24pCiAtICAgYW55IGxhdGVyIHZlcnNpb24uCi0rICAgQmFzaCBpcyBmcmVl IHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lv biAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uCi0gCistCiAtICAgQmFzaCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAogLSAgIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWQogLSAgIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMK IC0gICBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrICAgQmFzaCBpcyBmcmVlIHNvZnR3YXJl OiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkK KysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo ZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisr CiArICAgQmFzaCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAogKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCiArICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpAQCAtMTMyMDksOCArMTMzOTMsMTAgQEAgYjEzNzA2 YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogICNpZm5kZWYgX1BPU0lYSk1Q X0hfCiAgI2RlZmluZSBfUE9TSVhKTVBfSF8KLS0tLSAvZGV2L251bGwKLSsrKyBiL3JlYWRsaW5l L3Bvc2l4c2VsZWN0LmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3Bvc2l4 c2VsZWN0LmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3Bvc2l4c2Vs ZWN0LmgJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNDcg QEAKICsvKiBwb3NpeHNlbGVjdC5oIC0tIHdyYXBwZXIgZm9yIHNlbGVjdCgyKSBpbmNsdWRlcyBh bmQgZGVmaW5pdGlvbnMgKi8KICsKQEAgLTEzMjU5LDggKzEzNDQ1LDEwIEBAIGIxMzcwNmFiYmVl OTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICt9IHdoaWxlICgwKQogKwogKyNlbmRpZiAv KiBfUE9TSVhTRUxFQ1RfSF8gKi8KLS0tLSBhL3JlYWRsaW5lL3Bvc2l4c3RhdC5oCi0rKysgYi9y ZWFkbGluZS9wb3NpeHN0YXQuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUv cG9zaXhzdGF0LmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVh ZGxpbmUvcG9zaXhzdGF0LmgJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysr KyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3Bvc2l4c3RhdC5oCTIwMTEtMDctMDMgMTA6 NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNSwxOSArNSwxOSBAQAogIAogICAgIFRoaXMgZmls ZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgpAQCAtMTMyNjks MTUgKzEzNDU3LDE2IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EK IC0gICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQogLSAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2 ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKIC0gICBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsg ICBCYXNoIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAKKy0KIC0gICBCYXNoIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiAtICAgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZ CiAtICAgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYwogLSAgIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysgICBCYXNoIGlz IGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysg ICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2 ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKysKICsgICBCYXNoIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCiArICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkBAIC0xMzI5MSw4ICsxMzQ4 MCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgLyog VGhpcyBmaWxlIHNob3VsZCBiZSBpbmNsdWRlZCBpbnN0ZWFkIG9mIDxzeXMvc3RhdC5oPi4KICAg ICBJdCByZWxpZXMgb24gdGhlIGxvY2FsIHN5cy9zdGF0LmggdG8gd29yayB0aG91Z2guICovCi0t LS0gYS9yZWFkbGluZS9yZWFkbGluZS5jCi0rKysgYi9yZWFkbGluZS9yZWFkbGluZS5jCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9yZWFkbGluZS5jCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist LS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3JlYWRsaW5lLmMJMjAxMS0wNy0w MyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRs aW5lL3JlYWRsaW5lLmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0x LDI1ICsxLDI1IEBACiAgLyogcmVhZGxpbmUuYyAtLSBhIGdlbmVyYWwgZmFjaWxpdHkgZm9yIHJl YWRpbmcgbGluZXMgb2YgaW5wdXQKICAgICB3aXRoIGVtYWNzIHN0eWxlIGVkaXRpbmcgYW5kIGNv bXBsZXRpb24uICovCkBAIC0xMzU2Miw3ICsxMzc1Myw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1 MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgIGlmIChyID09IDApCQkJLyogc3VjY2VzcyEgKi8KICAg ICAgewogICAgICAgIF9ybF9rZXlzZXFfY2hhaW5fZGlzcG9zZSAoKTsKLUBAIC03MjQsNiArNzgw LDggQEAgX3JsX2Rpc3BhdGNoX3N1YnNlcSAoa2V5LCBtYXAsIGdvdF9zdWJzZXEpCitAQCAtNzI0 LDYgKzc4MCw4IEBAIF9ybF9kaXNwYXRjaF9zdWJzZXEgKGtleSwgbWFwLCBnb3Rfc3Vic2UKICAJ ICAgICByZW1lbWJlciB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkIGluIHRoaXMgdmFyaWFibGUu ICovCiAgCSAgaWYgKHJsX3BlbmRpbmdfaW5wdXQgPT0gMCAmJiBtYXBba2V5XS5mdW5jdGlvbiAh PSBybF9kaWdpdF9hcmd1bWVudCkKICAJICAgIHJsX2xhc3RfZnVuYyA9IG1hcFtrZXldLmZ1bmN0 aW9uOwpAQCAtMTM1NzEsNyArMTM3NjIsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJk ZGQ2OGQxYTRmNDNhCiAgCX0KICAgICAgICBlbHNlIGlmIChtYXBbQU5ZT1RIRVJLRVldLmZ1bmN0 aW9uKQogIAl7Ci1AQCAtNzc4LDcgKzgzNiw3IEBAIF9ybF9kaXNwYXRjaF9zdWJzZXEgKGtleSwg bWFwLCBnb3Rfc3Vic2VxKQorQEAgLTc3OCw3ICs4MzYsNyBAQCBfcmxfZGlzcGF0Y2hfc3Vic2Vx IChrZXksIG1hcCwgZ290X3N1YnNlCiAgCSAgICB7CiAgCSAgICAgIC8qIFJldHVybiAwIG9ubHkg dGhlIGZpcnN0IHRpbWUsIHRvIGluZGljYXRlIHN1Y2Nlc3MgdG8KICAJCSBfcmxfY2FsbGJhY2tf cmVhZF9jaGFyLiAgVGhlIHJlc3Qgb2YgdGhlIHRpbWUsIHdlJ3JlIGNhbGxlZApAQCAtMTM1ODAs NyArMTM3NzEsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAg CQkgc3BlY2lhbCBoYW5kbGluZyBpcyBuZWNlc3NhcnkuICovCiAgCSAgICAgIHIgPSBSTF9JU1NU QVRFIChSTF9TVEFURV9NVUxUSUtFWSkgPyAtMyA6IDA7CiAgCSAgICAgIGN4dCA9IF9ybF9rZXlz ZXFfY3h0X2FsbG9jICgpOwotQEAgLTg0Miw3ICs5MDAsNyBAQCBfcmxfc3Vic2VxX3Jlc3VsdCAo ciwgbWFwLCBrZXksIGdvdF9zdWJzZXEpCitAQCAtODQyLDcgKzkwMCw3IEBAIF9ybF9zdWJzZXFf cmVzdWx0IChyLCBtYXAsIGtleSwgZ290X3N1YnMKICAgIEtleW1hcCBtOwogICAgaW50IHR5cGUs IG50OwogICAgcmxfY29tbWFuZF9mdW5jX3QgKmZ1bmMsICpuZjsKQEAgLTEzNjAwLDggKzEzNzkx LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgIGJpbmRf YXJyb3dfa2V5c19pbnRlcm5hbCAodmlfaW5zZXJ0aW9uX2tleW1hcCk7CiAgI2VuZGlmCiAgfQot LS0tIGEvcmVhZGxpbmUvcmVhZGxpbmUuaAotKysrIGIvcmVhZGxpbmUvcmVhZGxpbmUuaAorSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvcmVhZGxpbmUuaAorPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor LS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9yZWFkbGluZS5oCTIwMTEtMDct MDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFk bGluZS9yZWFkbGluZS5oCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAt MSwyNCArMSwyMyBAQAogIC8qIFJlYWRsaW5lLmggLS0gdGhlIG5hbWVzIG9mIGZ1bmN0aW9ucyBj YWxsYWJsZSBmcm9tIHdpdGhpbiByZWFkbGluZS4gKi8KICAKQEAgLTEzNjUyLDcgKzEzODQ1LDcg QEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogIC8qIFJlYWRs aW5lIGRhdGEgc3RydWN0dXJlcy4gKi8KICAKLUBAIC05Niw2ICs5NSw3IEBAIGV4dGVybiBpbnQg cmxfZm9yd2FyZF93b3JkIFBBUkFNUygoaW50LCBpbnQpKTsKK0BAIC05Niw2ICs5NSw3IEBAIGV4 dGVybiBpbnQgcmxfZm9yd2FyZF93b3JkIFBBUkFNUygoaW50LCAKICBleHRlcm4gaW50IHJsX2Jh Y2t3YXJkX3dvcmQgUEFSQU1TKChpbnQsIGludCkpOwogIGV4dGVybiBpbnQgcmxfcmVmcmVzaF9s aW5lIFBBUkFNUygoaW50LCBpbnQpKTsKICBleHRlcm4gaW50IHJsX2NsZWFyX3NjcmVlbiBQQVJB TVMoKGludCwgaW50KSk7CkBAIC0xMzY2MCw3ICsxMzg1Myw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0 ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICBleHRlcm4gaW50IHJsX2Fycm93X2tleXMgUEFSQU1T KChpbnQsIGludCkpOwogIAogIC8qIEJpbmRhYmxlIGNvbW1hbmRzIGZvciBpbnNlcnRpbmcgYW5k IGRlbGV0aW5nIHRleHQuICovCi1AQCAtMTUxLDcgKzE1MSw5IEBAIGV4dGVybiBpbnQgcmxfZHVt cF92YXJpYWJsZXMgUEFSQU1TKChpbnQsIGludCkpOworQEAgLTE1MSw3ICsxNTEsOSBAQCBleHRl cm4gaW50IHJsX2R1bXBfdmFyaWFibGVzIFBBUkFNUygoaW50CiAgZXh0ZXJuIGludCBybF9jb21w bGV0ZSBQQVJBTVMoKGludCwgaW50KSk7CiAgZXh0ZXJuIGludCBybF9wb3NzaWJsZV9jb21wbGV0 aW9ucyBQQVJBTVMoKGludCwgaW50KSk7CiAgZXh0ZXJuIGludCBybF9pbnNlcnRfY29tcGxldGlv bnMgUEFSQU1TKChpbnQsIGludCkpOwpAQCAtMTM2NzAsNyArMTM4NjMsNyBAQCBiMTM3MDZhYmJl ZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgLyogQmluZGFibGUgY29tbWFuZHMg Zm9yIGtpbGxpbmcgYW5kIHlhbmtpbmcgdGV4dCwgYW5kIG1hbmFnaW5nIHRoZSBraWxsIHJpbmcu ICovCiAgZXh0ZXJuIGludCBybF9raWxsX3dvcmQgUEFSQU1TKChpbnQsIGludCkpOwotQEAgLTIz Myw2ICsyMzUsNyBAQCBleHRlcm4gaW50IHJsX3ZpX2FwcGVuZF9tb2RlIFBBUkFNUygoaW50LCBp bnQpKTsKK0BAIC0yMzMsNiArMjM1LDcgQEAgZXh0ZXJuIGludCBybF92aV9hcHBlbmRfbW9kZSBQ QVJBTVMoKGludAogIGV4dGVybiBpbnQgcmxfdmlfYXBwZW5kX2VvbCBQQVJBTVMoKGludCwgaW50 KSk7CiAgZXh0ZXJuIGludCBybF92aV9lb2ZfbWF5YmUgUEFSQU1TKChpbnQsIGludCkpOwogIGV4 dGVybiBpbnQgcmxfdmlfaW5zZXJ0aW9uX21vZGUgUEFSQU1TKChpbnQsIGludCkpOwpAQCAtMTM2 NzgsNyArMTM4NzEsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNh CiAgZXh0ZXJuIGludCBybF92aV9tb3ZlbWVudF9tb2RlIFBBUkFNUygoaW50LCBpbnQpKTsKICBl eHRlcm4gaW50IHJsX3ZpX2FyZ19kaWdpdCBQQVJBTVMoKGludCwgaW50KSk7CiAgZXh0ZXJuIGlu dCBybF92aV9jaGFuZ2VfY2FzZSBQQVJBTVMoKGludCwgaW50KSk7Ci1AQCAtNDIwLDYgKzQyMyw3 IEBAIGV4dGVybiBpbnQgcmxfc2V0X2tleWJvYXJkX2lucHV0X3RpbWVvdXQgUEFSQU1TKChpbnQp KTsKK0BAIC00MjAsNiArNDIzLDcgQEAgZXh0ZXJuIGludCBybF9zZXRfa2V5Ym9hcmRfaW5wdXRf dGltZW91dAogIGV4dGVybiB2b2lkIHJsX2V4dGVuZF9saW5lX2J1ZmZlciBQQVJBTVMoKGludCkp OwogIGV4dGVybiBpbnQgcmxfZGluZyBQQVJBTVMoKHZvaWQpKTsKICBleHRlcm4gaW50IHJsX2Fs cGhhYmV0aWMgUEFSQU1TKChpbnQpKTsKQEAgLTEzNjg2LDcgKzEzODc5LDcgQEAgYjEzNzA2YWJi ZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAogIC8qIFJlYWRsaW5lIHNpZ25hbCBo YW5kbGluZywgZnJvbSBzaWduYWxzLmMgKi8KICBleHRlcm4gaW50IHJsX3NldF9zaWduYWxzIFBB UkFNUygodm9pZCkpOwotQEAgLTQyNyw3ICs0MzEsOSBAQCBleHRlcm4gaW50IHJsX2NsZWFyX3Np Z25hbHMgUEFSQU1TKCh2b2lkKSk7CitAQCAtNDI3LDcgKzQzMSw5IEBAIGV4dGVybiBpbnQgcmxf Y2xlYXJfc2lnbmFscyBQQVJBTVMoKHZvaWQKICBleHRlcm4gdm9pZCBybF9jbGVhbnVwX2FmdGVy X3NpZ25hbCBQQVJBTVMoKHZvaWQpKTsKICBleHRlcm4gdm9pZCBybF9yZXNldF9hZnRlcl9zaWdu YWwgUEFSQU1TKCh2b2lkKSk7CiAgZXh0ZXJuIHZvaWQgcmxfZnJlZV9saW5lX3N0YXRlIFBBUkFN Uygodm9pZCkpOwpAQCAtMTM3ODEsNyArMTM5NzQsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIy YzA1NTJkZGQ2OGQxYTRmNDNhCiAgLyogSWYgbm9uLXplcm8sIGEgc2xhc2ggd2lsbCBiZSBhcHBl bmRlZCB0byBjb21wbGV0ZWQgZmlsZW5hbWVzIHRoYXQgYXJlCiAgICAgc3ltYm9saWMgbGlua3Mg dG8gZGlyZWN0b3J5IG5hbWVzLCBzdWJqZWN0IHRvIHRoZSB2YWx1ZSBvZiB0aGUKICAgICBtYXJr LWRpcmVjdG9yaWVzIHZhcmlhYmxlICh3aGljaCBpcyB1c2VyLXNldHRhYmxlKS4gIFRoaXMgZXhp c3RzIHNvCi1AQCAtNzU3LDYgKzc5NiwxMCBAQCBleHRlcm4gaW50IHJsX2lnbm9yZV9jb21wbGV0 aW9uX2R1cGxpY2F0ZXM7CitAQCAtNzU3LDYgKzc5NiwxMCBAQCBleHRlcm4gaW50IHJsX2lnbm9y ZV9jb21wbGV0aW9uX2R1cGxpY2F0CiAgICAgY29tcGxldGlvbiBjaGFyYWN0ZXIgd2lsbCBiZSBp bnNlcnRlZCBhcyBhbnkgb3RoZXIuICovCiAgZXh0ZXJuIGludCBybF9pbmhpYml0X2NvbXBsZXRp b247CiAgCkBAIC0xMzgxOSw4ICsxNDAxMiw2IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKIC0jZGVmaW5lIFJMX1NUQVRFX1ZJTU9USU9OCTB4MTAwMDAwCS8qIHJl YWRpbmcgdmkgbW90aW9uIGFyZyAqLwogLSNkZWZpbmUgUkxfU1RBVEVfTVVMVElLRVkJMHgyMDAw MDAJLyogcmVhZGluZyBtdWx0aXBsZS1rZXkgY29tbWFuZCAqLwogLSNkZWZpbmUgUkxfU1RBVEVf VklDTURPTkNFCTB4NDAwMDAwCS8qIGVudGVyZWQgdmkgY29tbWFuZCBtb2RlIGF0IGxlYXN0IG9u Y2UgKi8KLS0KLS0jZGVmaW5lIFJMX1NUQVRFX0RPTkUJCTB4ODAwMDAwCS8qIGRvbmU7IGFjY2Vw dGVkIGxpbmUgKi8KICsjZGVmaW5lIFJMX1NUQVRFX0lOSVRJQUxJWklORwkweDAwMDAwMDEJLyog aW5pdGlhbGl6aW5nICovCiArI2RlZmluZSBSTF9TVEFURV9JTklUSUFMSVpFRAkweDAwMDAwMDIJ LyogaW5pdGlhbGl6YXRpb24gZG9uZSAqLwogKyNkZWZpbmUgUkxfU1RBVEVfVEVSTVBSRVBQRUQJ MHgwMDAwMDA0CS8qIHRlcm1pbmFsIGlzIHByZXBwZWQgKi8KQEAgLTEzODQ1LDEzICsxNDAzNiwx NiBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArI2RlZmluZSBS TF9TVEFURV9NVUxUSUtFWQkweDAyMDAwMDAJLyogcmVhZGluZyBtdWx0aXBsZS1rZXkgY29tbWFu ZCAqLwogKyNkZWZpbmUgUkxfU1RBVEVfVklDTURPTkNFCTB4MDQwMDAwMAkvKiBlbnRlcmVkIHZp IGNvbW1hbmQgbW9kZSBhdCBsZWFzdCBvbmNlICovCiArI2RlZmluZSBSTF9TVEFURV9SRURJU1BM QVlJTkcJMHgwODAwMDAwCS8qIHVwZGF0aW5nIHRlcm1pbmFsIGRpc3BsYXkgKi8KLSsKKyAKKy0j ZGVmaW5lIFJMX1NUQVRFX0RPTkUJCTB4ODAwMDAwCS8qIGRvbmU7IGFjY2VwdGVkIGxpbmUgKi8K ICsjZGVmaW5lIFJMX1NUQVRFX0RPTkUJCTB4MTAwMDAwMAkvKiBkb25lOyBhY2NlcHRlZCBsaW5l ICovCiAgCiAgI2RlZmluZSBSTF9TRVRTVEFURSh4KQkJKHJsX3JlYWRsaW5lX3N0YXRlIHw9ICh4 KSkKICAjZGVmaW5lIFJMX1VOU0VUU1RBVEUoeCkJKHJsX3JlYWRsaW5lX3N0YXRlICY9IH4oeCkp Ci0tLS0gYS9yZWFkbGluZS9ybGNvbmYuaAotKysrIGIvcmVhZGxpbmUvcmxjb25mLmgKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3JsY29uZi5oCis9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0g Z2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3JsY29uZi5oCTIwMTEtMDctMDMgMTA6 NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9y bGNvbmYuaAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjUgKzEs MjMgQEAKICAvKiBybGNvbmYuaCAtLSByZWFkbGluZSBjb25maWd1cmF0aW9uIGRlZmluaXRpb25z ICovCiAgCkBAIC0xMzg3NiwxNSArMTQwNzAsMTYgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMw NTUyZGRkNjhkMWE0ZjQzYQogLSAgIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKIC0gICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogLSAgIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsgICBSZWFkbGluZSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQot KyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gCistCiAt ICAgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIG9mdGVuIHNoaXBwZWQgd2l0aCBH TlUgc29mdHdhcmUsIGFuZAogLSAgIGlzIGdlbmVyYWxseSBrZXB0IGluIGEgZmlsZSBjYWxsZWQg Q09QWUlORyBvciBMSUNFTlNFLiAgSWYgeW91IGRvIG5vdAogLSAgIGhhdmUgYSBjb3B5IG9mIHRo ZSBsaWNlbnNlLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogLSAgIDU5 IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExIFVTQS4gKi8KKysgICBS ZWFkbGluZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisrCiArICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICsgICBhbG9uZyB3aXRoIFJlYWRsaW5l LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogKyovCkBAIC0x MzkwNSw4ICsxNDEwMCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRm NDNhCiAgLyogSWYgZGVmaW5lZCwgZXhwYW5kIHRhYnMgdG8gc3BhY2VzLiAqLwogICNkZWZpbmUg RElTUExBWV9UQUJTCiAgCi0tLS0gYS9yZWFkbGluZS9ybGRlZnMuaAotKysrIGIvcmVhZGxpbmUv cmxkZWZzLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3JsZGVmcy5oCis9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3JsZGVmcy5o CTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDEx MDcwMy9yZWFkbGluZS9ybGRlZnMuaAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIw MAogQEAgLTIsMjYgKzIsMjQgQEAKICAgICBmb3IgcmVhZGxpbmUuICBUaGlzIHNob3VsZCBiZSBp bmNsdWRlZCBhZnRlciBhbnkgZmlsZXMgdGhhdCBkZWZpbmUKICAgICBzeXN0ZW0tc3BlY2lmaWMg Y29uc3RhbnRzIGxpa2UgX1BPU0lYX1ZFUlNJT04gb3IgVVNHLiAqLwpAQCAtMTM5MzIsMTUgKzE0 MTI5LDE2IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIC0gICBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CiAtICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZSBHTlUKIC0gICBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCi0rICAgUmVhZGxpbmUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKLSsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsgICBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIAorLQogLSAgIFRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBpcyBvZnRlbiBzaGlwcGVkIHdpdGggR05VIHNvZnR3YXJlLCBhbmQKIC0gICBp cyBnZW5lcmFsbHkga2VwdCBpbiBhIGZpbGUgY2FsbGVkIENPUFlJTkcgb3IgTElDRU5TRS4gIElm IHlvdSBkbyBub3QKIC0gICBoYXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSwgd3JpdGUgdG8gdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKIC0gICA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMz MCwgQm9zdG9uLCBNQSAwMjExMSBVU0EuICovCisrICAgUmVhZGxpbmUgaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK KysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKwogKyAg IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCiArICAgYWxvbmcgd2l0aCBSZWFkbGluZS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICsqLwpAQCAtMTM5NTgsOCArMTQxNTYsMTAgQEAgYjEz NzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICNpZiBkZWZpbmVkIChfUE9T SVhfVkVSU0lPTikgJiYgIWRlZmluZWQgKFRFUk1JT1NfTUlTU0lORykKICAjICBkZWZpbmUgVEVS TUlPU19UVFlfRFJJVkVSCiAgI2Vsc2UKLS0tLSBhL3JlYWRsaW5lL3JsbWJ1dGlsLmgKLSsrKyBi L3JlYWRsaW5lL3JsbWJ1dGlsLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5l L3JsbWJ1dGlsLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVh ZGxpbmUvcmxtYnV0aWwuaAkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysr IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvcmxtYnV0aWwuaAkyMDExLTA3LTAzIDEwOjQx OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjQgKzEsMjMgQEAKICAvKiBybG1idXRpbC5oIC0t IHV0aWxpdHkgZnVuY3Rpb25zIGZvciBtdWx0aWJ5dGUgY2hhcmFjdGVycy4gKi8KICAKQEAgLTE0 MDMyLDggKzE0MjMyLDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0 M2EKICAgICAgIC8qIHN5c3RlbSBpcyBzdXBwb3NlZCB0byBzdXBwb3J0IFhQRzUgKi8KICAjICAg IGRlZmluZSBIQU5ETEVfTVVMVElCWVRFICAgICAgMQogICMgIGVuZGlmCi0tLS0gYS9yZWFkbGlu ZS9ybHByaXZhdGUuaAotKysrIGIvcmVhZGxpbmUvcmxwcml2YXRlLmgKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNzAzL3JlYWRsaW5lL3JscHJpdmF0ZS5oCis9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcu Mi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3JscHJpdmF0ZS5oCTIwMTEtMDctMDMgMTA6NDA6 NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9ybHBy aXZhdGUuaAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjUgKzEs MjQgQEAKICAvKiBybHByaXZhdGUuaCAtLSBmdW5jdGlvbnMgYW5kIHZhcmlhYmxlcyBnbG9iYWwg dG8gdGhlIHJlYWRsaW5lIGxpYnJhcnksCiAgCQkgIGJ1dCBub3QgaW50ZW5kZWQgZm9yIHVzZSBi eSBhcHBsaWNhdGlvbnMuICovCkBAIC0xNDE1NSw3ICsxNDM1Nyw3IEBAIGIxMzcwNmFiYmVlOTY0 NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAvKiBkaXNwbGF5LmMgKi8KICBleHRlcm4gaW50 IHJsX2Rpc3BsYXlfZml4ZWQ7CiAgCi1AQCAtMjA2LDYgKzI0Miw3IEBAIGV4dGVybiB2b2lkIF9y bF9jYWxsYmFja19kYXRhX2Rpc3Bvc2UgUEFSQU1TKChfcmxfY2FsbGJhY2tfZ2VuZXJpY19hcmcg KikpOworQEAgLTIwNiw2ICsyNDIsNyBAQCBleHRlcm4gdm9pZCBfcmxfY2FsbGJhY2tfZGF0YV9k aXNwb3NlIFBBCiAgLyogYmluZC5jICovCiAgCiAgLyogY29tcGxldGUuYyAqLwpAQCAtMTQxNjMs NyArMTQzNjUsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAg ZXh0ZXJuIGNoYXIgX3JsX2ZpbmRfY29tcGxldGlvbl93b3JkIFBBUkFNUygoaW50ICosIGludCAq KSk7CiAgZXh0ZXJuIHZvaWQgX3JsX2ZyZWVfbWF0Y2hfbGlzdCBQQVJBTVMoKGNoYXIgKiopKTsK ICAKLUBAIC0yNjEsNiArMjk4LDggQEAgZXh0ZXJuIHZvaWQgX3JsX3N0YXJ0X3VzaW5nX2hpc3Rv cnkgUEFSQU1TKCh2b2lkKSk7CitAQCAtMjYxLDYgKzI5OCw4IEBAIGV4dGVybiB2b2lkIF9ybF9z dGFydF91c2luZ19oaXN0b3J5IFBBUkEKICBleHRlcm4gaW50IF9ybF9mcmVlX3NhdmVkX2hpc3Rv cnlfbGluZSBQQVJBTVMoKHZvaWQpKTsKICBleHRlcm4gdm9pZCBfcmxfc2V0X2luc2VydF9tb2Rl IFBBUkFNUygoaW50LCBpbnQpKTsKICAKQEAgLTE0MTcyLDcgKzE0Mzc0LDcgQEAgYjEzNzA2YWJi ZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIC8qIG5scy5jICovCiAgZXh0ZXJuIGlu dCBfcmxfaW5pdF9laWdodGJpdCBQQVJBTVMoKHZvaWQpKTsKICAKLUBAIC0yODEsNiArMzIwLDE0 IEBAIGV4dGVybiBpbnQgX3JsX3Jlc3RvcmVfdHR5X3NpZ25hbHMgUEFSQU1TKCh2b2lkKSk7CitA QCAtMjgxLDYgKzMyMCwxNCBAQCBleHRlcm4gaW50IF9ybF9yZXN0b3JlX3R0eV9zaWduYWxzIFBB UkFNCiAgLyogc2VhcmNoLmMgKi8KICBleHRlcm4gaW50IF9ybF9uc2VhcmNoX2NhbGxiYWNrIFBB UkFNUygoX3JsX3NlYXJjaF9jeHQgKikpOwogIApAQCAtMTQxODcsNyArMTQzODksNyBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgLyogdGVybWluYWwuYyAqLwog IGV4dGVybiB2b2lkIF9ybF9nZXRfc2NyZWVuX3NpemUgUEFSQU1TKChpbnQsIGludCkpOwogIGV4 dGVybiBpbnQgX3JsX2luaXRfdGVybWluYWxfaW8gUEFSQU1TKChjb25zdCBjaGFyICopKTsKLUBA IC0yOTgsNiArMzQ1LDcgQEAgZXh0ZXJuIHZvaWQgX3JsX3NldF9jdXJzb3IgUEFSQU1TKChpbnQs IGludCkpOworQEAgLTI5OCw2ICszNDUsNyBAQCBleHRlcm4gdm9pZCBfcmxfc2V0X2N1cnNvciBQ QVJBTVMoKGludCwgCiAgLyogdGV4dC5jICovCiAgZXh0ZXJuIHZvaWQgX3JsX2ZpeF9wb2ludCBQ QVJBTVMoKGludCkpOwogIGV4dGVybiBpbnQgX3JsX3JlcGxhY2VfdGV4dCBQQVJBTVMoKGNvbnN0 IGNoYXIgKiwgaW50LCBpbnQpKTsKQEAgLTE0MTk1LDcgKzE0Mzk3LDcgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIGV4dGVybiBpbnQgX3JsX2luc2VydF9jaGFy IFBBUkFNUygoaW50LCBpbnQpKTsKICBleHRlcm4gaW50IF9ybF9vdmVyd3JpdGVfY2hhciBQQVJB TVMoKGludCwgaW50KSk7CiAgZXh0ZXJuIGludCBfcmxfb3ZlcndyaXRlX3J1Ym91dCBQQVJBTVMo KGludCwgaW50KSk7Ci1AQCAtMzA5LDggKzM1NywyNSBAQCBleHRlcm4gaW50IF9ybF9jaGFyX3Nl YXJjaF9pbnRlcm5hbCBQQVJBTVMoKGludCwgaW50LCBpbnQpKTsKK0BAIC0zMDksOCArMzU3LDI1 IEBAIGV4dGVybiBpbnQgX3JsX2NoYXJfc2VhcmNoX2ludGVybmFsIFBBUkEKICAjZW5kaWYKICBl eHRlcm4gaW50IF9ybF9zZXRfbWFya19hdF9wb3MgUEFSQU1TKChpbnQpKTsKICAKQEAgLTE0MjIx LDcgKzE0NDIzLDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQog IGV4dGVybiBjaGFyICpfcmxfc3RyaW5kZXggUEFSQU1TKChjb25zdCBjaGFyICosIGNvbnN0IGNo YXIgKikpOwogIGV4dGVybiBpbnQgX3JsX3Fzb3J0X3N0cmluZ19jb21wYXJlIFBBUkFNUygoY2hh ciAqKiwgY2hhciAqKikpOwogIGV4dGVybiBpbnQgKF9ybF91cHBlcmNhc2VfcCkgUEFSQU1TKChp bnQpKTsKLUBAIC0zMjcsMTQgKzM5MiwxNSBAQCBleHRlcm4gdm9pZCBfcmxfdmlfcmVzZXRfbGFz dCBQQVJBTVMoKHZvaWQpKTsKK0BAIC0zMjcsMTQgKzM5MiwxNSBAQCBleHRlcm4gdm9pZCBfcmxf dmlfcmVzZXRfbGFzdCBQQVJBTVMoKHZvCiAgZXh0ZXJuIHZvaWQgX3JsX3ZpX3NldF9sYXN0IFBB UkFNUygoaW50LCBpbnQsIGludCkpOwogIGV4dGVybiBpbnQgX3JsX3ZpX3RleHRtb2RfY29tbWFu ZCBQQVJBTVMoKGludCkpOwogIGV4dGVybiB2b2lkIF9ybF92aV9kb25lX2luc2VydGluZyBQQVJB TVMoKHZvaWQpKTsKQEAgLTE0MzE4LDggKzE0NTIwLDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1 MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICtleHRlcm4gX3JsX3ZpbW90aW9uX2N4dCAqX3JsX3ZpbXZj eHQ7CiAgCiAgI2VuZGlmIC8qIF9STF9QUklWQVRFX0hfICovCi0tLS0gYS9yZWFkbGluZS9ybHNo ZWxsLmgKLSsrKyBiL3JlYWRsaW5lL3Jsc2hlbGwuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3 MDMvcmVhZGxpbmUvcmxzaGVsbC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcw My5vcmlnL3JlYWRsaW5lL3Jsc2hlbGwuaAkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvcmxzaGVsbC5oCTIwMTEtMDct MDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyNCArMSwyMyBAQAogIC8qIHJsc2hl bGwuaCAtLSB1dGlsaXR5IGZ1bmN0aW9ucyBub3JtYWxseSBwcm92aWRlZCBieSBiYXNoLiAqLwog IApAQCAtMTQzNTcsOCArMTQ1NjEsMTAgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRk NjhkMWE0ZjQzYQogIAogICNpZiAhZGVmaW5lZCAoX1JMX1NIRUxMX0hfKQogICNkZWZpbmUgX1JM X1NIRUxMX0hfCi0tLS0gYS9yZWFkbGluZS9ybHN0ZGMuaAotKysrIGIvcmVhZGxpbmUvcmxzdGRj LmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3Jsc3RkYy5oCis9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3Jsc3RkYy5oCTIwMTEt MDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9y ZWFkbGluZS9ybHN0ZGMuaAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAg LTEsMjMgKzEsMjMgQEAKIC0vKiBzdGRjLmggLS0gbWFjcm9zIHRvIG1ha2Ugc291cmNlIGNvbXBp bGUgb24gYm90aCBBTlNJIEMgYW5kIEsmUiBDCiAtICAgY29tcGlsZXJzLiAqLwpAQCAtMTQzNzUs MTUgKzE0NTgxLDE2IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EK IC0gICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQogLSAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2 ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKIC0gICBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsg ICBSZWFkbGluZSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gCistCiAtICAgQmFzaCBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAogLSAgIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJ TElUWQogLSAgIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMKIC0gICBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrICAgUmVh ZGxpbmUgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgorKwogKyAgIFJlYWRsaW5lIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiArICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICsgICBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkBAIC0x NDM5Nyw4ICsxNDYwNCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRm NDNhCiAgCiAgI2lmICFkZWZpbmVkIChfUkxfU1REQ19IXykKICAjZGVmaW5lIF9STF9TVERDX0hf Ci0tLS0gYS9yZWFkbGluZS9ybHR0eS5jCi0rKysgYi9yZWFkbGluZS9ybHR0eS5jCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9ybHR0eS5jCis9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2Ri LTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3JsdHR5LmMJMjAxMS0wNy0wMyAxMDo0MDo1 My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3JsdHR5 LmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zLDIzICszLDIzIEBA CiAgCiAgLyogQ29weXJpZ2h0IChDKSAxOTkyLTIwMDUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCkBAIC0xNDU0NCw3ICsxNDc1Myw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICAKICAjaWYgZGVmaW5lZCAoVElPQ0xTRVQpCiAgICBpZiAodGlvcC0+ ZmxhZ3MgJiBMRkxBR19TRVQpCi1AQCAtMzAyLDcgKzIzNyw4IEBAIHByZXBhcmVfdGVybWluYWxf c2V0dGluZ3MgKG1ldGFfZmxhZywgb2xkdGlvLCB0aW9wKQorQEAgLTMwMiw3ICsyMzcsOCBAQCBw cmVwYXJlX3Rlcm1pbmFsX3NldHRpbmdzIChtZXRhX2ZsYWcsIG9sCiAgICAgICBpbnQgbWV0YV9m bGFnOwogICAgICAgVElPVFlQRSBvbGR0aW8sICp0aW9wOwogIHsKQEAgLTE0NTk3LDcgKzE0ODA2 LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAkgIHRpb3At PmNfbGZsYWcgJj0gfkZMVVNITzsKICAJICBicmVhazsKICAjZWxzZQotQEAgLTU4MCw3ICs1MTYs MTAgQEAgcHJlcGFyZV90ZXJtaW5hbF9zZXR0aW5ncyAobWV0YV9mbGFnLCBvbGR0aW8sIHRpb3Ap CitAQCAtNTgwLDcgKzUxNiwxMCBAQCBwcmVwYXJlX3Rlcm1pbmFsX3NldHRpbmdzIChtZXRhX2Zs YWcsIG9sCiAgICAgICBpbnQgbWV0YV9mbGFnOwogICAgICAgVElPVFlQRSBvbGR0aW8sICp0aW9w OwogIHsKQEAgLTE0NjY5LDggKzE0ODc4LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1 MmRkZDY4ZDFhNGY0M2EKICAKICAgIHR0eSA9IGZpbGVubyAocmxfaW5zdHJlYW0pOwogIAotLS0t IGEvcmVhZGxpbmUvcmx0dHkuaAotKysrIGIvcmVhZGxpbmUvcmx0dHkuaAorSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvcmx0dHkuaAorPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIu OTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9ybHR0eS5oCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAw MDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9ybHR0eS5oCTIw MTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyNSArMSwyMyBAQAogIC8q IHJsdHR5LmggLSB0dHkgZHJpdmVyLXJlbGF0ZWQgZGVmaW5pdGlvbnMgdXNlZCBieSBzb21lIGxp YnJhcnkgZmlsZXMuICovCiAgCkBAIC0xNDY5NSwxNSArMTQ5MDYsMTYgQEAgYjEzNzA2YWJiZWU5 NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogLSAgIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIC0gICBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogLSAgIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsgICBSZWFkbGluZSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Ci0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCi0gCistCiAtICAgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIG9mdGVuIHNo aXBwZWQgd2l0aCBHTlUgc29mdHdhcmUsIGFuZAogLSAgIGlzIGdlbmVyYWxseSBrZXB0IGluIGEg ZmlsZSBjYWxsZWQgQ09QWUlORyBvciBMSUNFTlNFLiAgSWYgeW91IGRvIG5vdAogLSAgIGhhdmUg YSBjb3B5IG9mIHRoZSBsaWNlbnNlLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLAogLSAgIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExIFVT QS4gKi8KKysgICBSZWFkbGluZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCiArICAgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICsgICBhbG9uZyB3 aXRoIFJlYWRsaW5lLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LgogKyovCkBAIC0xNDcxOCw4ICsxNDkzMCwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1 NTJkZGQ2OGQxYTRmNDNhCiAtZXh0ZXJuIHZvaWQgX3JsX3JlbGVhc2Vfc2lnaW50IFBBUkFNUygo dm9pZCkpOwogLQogICNlbmRpZiAvKiBfUkxUVFlfSF8gKi8KLS0tLSBhL3JlYWRsaW5lL3JsdHlw ZWRlZnMuaAotKysrIGIvcmVhZGxpbmUvcmx0eXBlZGVmcy5oCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDcwMy9yZWFkbGluZS9ybHR5cGVkZWZzLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkw LjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvcmx0eXBlZGVmcy5oCTIwMTEtMDctMDMgMTA6NDA6NTMu MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9ybHR5cGVk ZWZzLmgJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI0ICsxLDIz IEBACiAgLyogcmx0eXBlZGVmcy5oIC0tIFR5cGUgZGVjbGFyYXRpb25zIGZvciByZWFkbGluZSBm dW5jdGlvbnMuICovCiAgCkBAIC0xNDc1Nyw4ICsxNDk3MSwxMCBAQCBiMTM3MDZhYmJlZTk2NDZm NGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgI2lmbmRlZiBfUkxfVFlQRURFRlNfSF8KICAj ZGVmaW5lIF9STF9UWVBFREVGU19IXwotLS0tIGEvcmVhZGxpbmUvcmx3aW5zaXplLmgKLSsrKyBi L3JlYWRsaW5lL3Jsd2luc2l6ZS5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGlu ZS9ybHdpbnNpemUuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9y ZWFkbGluZS9ybHdpbnNpemUuaAkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAor KysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvcmx3aW5zaXplLmgJMjAxMS0wNy0wMyAx MDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI2ICsxLDI0IEBACiAgLyogcmx3aW5zaXpl LmggLS0gYW4gYXR0ZW1wdCB0byBpc29sYXRlIHNvbWUgb2YgdGhlIHN5c3RlbS1zcGVjaWZpYyBk ZWZpbmVzCiAgICAgZm9yIGBzdHJ1Y3Qgd2luc2l6ZScgYW5kIFRJT0NHV0lOU1ouICovCkBAIC0x NDc4NCwxNSArMTUwMDAsMTYgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0 ZjQzYQogLSAgIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKIC0gICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogLSAgIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KLSsgICBSZWFkbGluZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gCistCiAtICAgVGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIG9mdGVuIHNoaXBwZWQgd2l0aCBHTlUgc29mdHdhcmUs IGFuZAogLSAgIGlzIGdlbmVyYWxseSBrZXB0IGluIGEgZmlsZSBjYWxsZWQgQ09QWUlORyBvciBM SUNFTlNFLiAgSWYgeW91IGRvIG5vdAogLSAgIGhhdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlLCB3 cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogLSAgIDU5IFRlbXBsZSBQbGFj ZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExIFVTQS4gKi8KKysgICBSZWFkbGluZSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCisrCiArICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKICsgICBhbG9uZyB3aXRoIFJlYWRsaW5lLiAgSWYgbm90LCBz ZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogKyovCkBAIC0xNDgwOSw4ICsxNTAy NiwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiArI2VuZGlm CiAgCiArI2VuZGlmIC8qIF9STF9XSU5TSVpFX0ggKi8KLS0tLSBhL3JlYWRsaW5lL3NhdmVzdHJp bmcuYwotKysrIGIvcmVhZGxpbmUvc2F2ZXN0cmluZy5jCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDcwMy9yZWFkbGluZS9zYXZlc3RyaW5nLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIw MTEwNzAzLm9yaWcvcmVhZGxpbmUvc2F2ZXN0cmluZy5jCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAw MDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9zYXZlc3RyaW5n LmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI0ICsxLDI0IEBA CiAtLyogc2F2ZXN0cmluZy5jICAqLwogKy8qIHNhdmVzdHJpbmcuYyAtIGZ1bmN0aW9uIHZlcnNp b24gb2Ygc2F2ZXN0cmluZyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKi8KQEAgLTE0ODYw LDggKzE1MDc5LDEwIEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EK ICsgIHN0cmNweSAocmV0LCBzKTsKICsgIHJldHVybiByZXQ7CiAgfQotLS0tIGEvcmVhZGxpbmUv c2VhcmNoLmMKLSsrKyBiL3JlYWRsaW5lL3NlYXJjaC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDcwMy9yZWFkbGluZS9zZWFyY2guYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3 MDMub3JpZy9yZWFkbGluZS9zZWFyY2guYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvc2VhcmNoLmMJMjAxMS0wNy0w MyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI1ICsxLDI0IEBACiAgLyogc2VhcmNo LmMgLSBjb2RlIGZvciBub24taW5jcmVtZW50YWwgc2VhcmNoaW5nIGluIGVtYWNzIGFuZCB2aSBt b2Rlcy4gKi8KICAKQEAgLTE0ODc5LDE2ICsxNTEwMCw2IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1 MjJjMDU1MmRkZDY4ZDFhNGY0M2EKICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogLSAgIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKIC0g ICBhbnkgbGF0ZXIgdmVyc2lvbi4KLS0KLS0gICBUaGUgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKLS0gICBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0tICAgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH TlUKLS0gICBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0tCi0tICAg VGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIG9mdGVuIHNoaXBwZWQgd2l0aCBHTlUg c29mdHdhcmUsIGFuZAotLSAgIGlzIGdlbmVyYWxseSBrZXB0IGluIGEgZmlsZSBjYWxsZWQgQ09Q WUlORyBvciBMSUNFTlNFLiAgSWYgeW91IGRvIG5vdAotLSAgIGhhdmUgYSBjb3B5IG9mIHRoZSBs aWNlbnNlLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAotLSAgIDU5IFRl bXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExIFVTQS4gKi8KICsgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgogKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiArCkBAIC0xNDkw MCw3ICsxNTExMSwxNiBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNh CiArICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKICsgICBhbG9uZyB3aXRoIFJlYWRsaW5lLiAgSWYgbm90LCBzZWUgPGh0 dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogKyovCi0rCisgCistICAgVGhlIExpYnJhcnkg aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0Cist ICAgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgorLSAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUgR05VCistICAgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgorLQorLSAgIFRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBvZnRlbiBz aGlwcGVkIHdpdGggR05VIHNvZnR3YXJlLCBhbmQKKy0gICBpcyBnZW5lcmFsbHkga2VwdCBpbiBh IGZpbGUgY2FsbGVkIENPUFlJTkcgb3IgTElDRU5TRS4gIElmIHlvdSBkbyBub3QKKy0gICBoYXZl IGEgY29weSBvZiB0aGUgbGljZW5zZSwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwKKy0gICA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMSBV U0EuICovCiAgI2RlZmluZSBSRUFETElORV9MSUJSQVJZCiAgCiAgI2lmIGRlZmluZWQgKEhBVkVf Q09ORklHX0gpCkBAIC0xNDkyMyw4ICsxNTE0MywxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIy YzA1NTJkZGQ2OGQxYTRmNDNhCiAgCiAgICBSTF9TRVRTVEFURShSTF9TVEFURV9OU0VBUkNIKTsK ICAKLS0tLSBhL3JlYWRsaW5lL3NoZWxsLmMKLSsrKyBiL3JlYWRsaW5lL3NoZWxsLmMKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3NoZWxsLmMKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBn ZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvc2hlbGwuYwkyMDExLTA3LTAzIDEwOjQw OjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvc2hl bGwuYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjUgKzEsMjUg QEAKICAvKiBzaGVsbC5jIC0tIHJlYWRsaW5lIHV0aWxpdHkgZnVuY3Rpb25zIHRoYXQgYXJlIG5v cm1hbGx5IHByb3ZpZGVkIGJ5CiAgCSAgICAgIGJhc2ggd2hlbiByZWFkbGluZSBpcyBsaW5rZWQg YXMgcGFydCBvZiB0aGUgc2hlbGwuICovCkBAIC0xNDk3OSw4ICsxNTIwMSwxMCBAQCBiMTM3MDZh YmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgI2Vsc2UgLyogIUhBVkVfU0VURU5W ICovCiAgIyAgaWYgZGVmaW5lZCAoSEFWRV9QVVRFTlYpCiAgICBiID0gKGNoYXIgKil4bWFsbG9j IChJTlRfU1RSTEVOX0JPVU5EIChpbnQpICsgc2l6ZW9mICgiTElORVM9IikgKyAxKTsKLS0tLSBh L3JlYWRsaW5lL3NobGliL01ha2VmaWxlLmluCi0rKysgYi9yZWFkbGluZS9zaGxpYi9NYWtlZmls ZS5pbgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvc2hsaWIvTWFrZWZpbGUu aW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvc2hs aWIvTWFrZWZpbGUuaW4JMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3NobGliL01ha2VmaWxlLmluCTIwMTEtMDctMDMg MTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyMSArMSwyMCBAQAogICMjIC0qLSB0ZXh0 IC0qLSAjIwogICMgTWFrZWZpbGUgZm9yIHRoZSBHTlUgcmVhZGxpbmUgbGlicmFyeSBzaGFyZWQg bGlicmFyeSBzdXBwb3J0LgpAQCAtMTQ5OTIsMjMgKzE1MjE2LDI1IEBAIGIxMzcwNmFiYmVlOTY0 NmY0ZGU1MjJjMDU1MmRkZDY4ZDFhNGY0M2EKIC0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAtIyB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24p CiAtIyBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsjICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsjICAgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKLSsjICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKLSsjICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KLSAKKy0KIC0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAogLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIC0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIC0jIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCistCistIyBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSMgYWxvbmcg d2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKy0j IEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1B IDAyMTExIFVTQS4KKysjICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjICAgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z ZSwgb3IKKysjICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKICsjICAg VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCiArIyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCiArIyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICsjICAgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAKLS0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0tIyBhbG9uZyB3aXRoIHRo aXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotLSMgRm91bmRh dGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEg VVNBLgorKwogKyMgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKyMgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElm IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAKQEAgLTE1MDQwLDcg KzE1MjY2LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogIAog ICMgU3VwcG9ydCBhbiBhbHRlcm5hdGUgZGVzdGluYXRpb24gcm9vdCBkaXJlY3RvcnkgZm9yIHBh Y2thZ2UgYnVpbGRpbmcKICBERVNURElSID0KLUBAIC0xMjIsOCArMTIyLDYgQEAgU0hBUkVEX1JF QURMSU5FID0gJChTSExJQl9MSUJQUkVGKXJlYWRsaW5lJChTSExJQl9ET1QpJChTSExJQl9MSUJW RVJTSU9OKQorQEAgLTEyMiw4ICsxMjIsNiBAQCBTSEFSRURfUkVBRExJTkUgPSAkKFNITElCX0xJ QlBSRUYpcmVhZGxpCiAgU0hBUkVEX0hJU1RPUlkgPSAkKFNITElCX0xJQlBSRUYpaGlzdG9yeSQo U0hMSUJfRE9UKSQoU0hMSUJfTElCVkVSU0lPTikKICBTSEFSRURfTElCUyA9ICQoU0hBUkVEX1JF QURMSU5FKSAkKFNIQVJFRF9ISVNUT1JZKQogIApAQCAtMTUwNDksNyArMTUyNzUsNyBAQCBiMTM3 MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgIyBUaGUgQyBjb2RlIHNvdXJj ZSBmaWxlcyBmb3IgdGhpcyBsaWJyYXJ5LgogIENTT1VSQ0VTID0gJCh0b3BkaXIpL3JlYWRsaW5l LmMgJCh0b3BkaXIpL2Z1bm1hcC5jICQodG9wZGlyKS9rZXltYXBzLmMgXAogIAkgICAkKHRvcGRp cikvdmlfbW9kZS5jICQodG9wZGlyKS9wYXJlbnMuYyAkKHRvcGRpcikvcmx0dHkuYyBcCi1AQCAt MTMxLDEyICsxMjksMTIgQEAgQ1NPVVJDRVMgPSAkKHRvcGRpcikvcmVhZGxpbmUuYyAkKHRvcGRp cikvZnVubWFwLmMgJCh0b3BkaXIpL2tleW1hcHMuYyBcCitAQCAtMTMxLDEyICsxMjksMTIgQEAg Q1NPVVJDRVMgPSAkKHRvcGRpcikvcmVhZGxpbmUuYyAkKHRvcGRpcgogIAkgICAkKHRvcGRpcikv ZGlzcGxheS5jICQodG9wZGlyKS9zaWduYWxzLmMgJCh0b3BkaXIpL2VtYWNzX2tleW1hcC5jIFwK ICAJICAgJCh0b3BkaXIpL3ZpX2tleW1hcC5jICQodG9wZGlyKS91dGlsLmMgJCh0b3BkaXIpL2tp bGwuYyBcCiAgCSAgICQodG9wZGlyKS91bmRvLmMgJCh0b3BkaXIpL21hY3JvLmMgJCh0b3BkaXIp L2lucHV0LmMgXApAQCAtMTUxMTIsNyArMTUzMzgsNyBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIy YzA1NTJkZGQ2OGQxYTRmNDNhCiAgCUBlY2hvIHVuaW5zdGFsbDogeW91IG1heSBuZWVkIHRvIHJ1 biBsZGNvbmZpZwogIAogIGNsZWFuIG1vc3RseWNsZWFuOglmb3JjZQotQEAgLTMyMiw2ICszMTcs OCBAQCB2aV9tb2RlLnNvOiAkKHRvcGRpcikvcmxkZWZzLmggJHtCVUlMRF9ESVJ9L2NvbmZpZy5o ICQodG9wZGlyKS9ybGNvbmYuaAorQEAgLTMyMiw2ICszMTcsOCBAQCB2aV9tb2RlLnNvOiAkKHRv cGRpcikvcmxkZWZzLmggJHtCVUlMRF9ECiAgdmlfbW9kZS5zbzogJCh0b3BkaXIpL3JlYWRsaW5l LmggJCh0b3BkaXIpL2tleW1hcHMuaCAkKHRvcGRpcikvY2hhcmRlZnMuaAogIHZpX21vZGUuc286 ICQodG9wZGlyKS9oaXN0b3J5LmggJCh0b3BkaXIpL2Fuc2lfc3RkbGliLmggJCh0b3BkaXIpL3Rp bGRlLmgKICB2aV9tb2RlLnNvOiAkKHRvcGRpcikvcmx0eXBlZGVmcy5oCkBAIC0xNTE0NSw4ICsx NTM3MSwxMCBAQCBiMTM3MDZhYmJlZTk2NDZmNGRlNTIyYzA1NTJkZGQ2OGQxYTRmNDNhCiAgeG1h bGxvYy5zbzogeG1hbGxvYy5jCiAgCiAgaGlzdGV4cGFuZC5zbzogaGlzdGV4cGFuZC5jCi0tLS0g YS9yZWFkbGluZS9zaWduYWxzLmMKLSsrKyBiL3JlYWRsaW5lL3NpZ25hbHMuYworSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvc2lnbmFscy5jCis9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2Ri LTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3NpZ25hbHMuYwkyMDExLTA3LTAzIDEwOjQw OjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvc2ln bmFscy5jCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyNCArMSwy NCBAQAogIC8qIHNpZ25hbHMuYyAtLSBzaWduYWwgaGFuZGxpbmcgc3VwcG9ydCBmb3IgcmVhZGxp bmUuICovCiAgCkBAIC0xNTIwMSw3ICsxNTQyOSw3IEBAIGIxMzcwNmFiYmVlOTY0NmY0ZGU1MjJj MDU1MmRkZDY4ZDFhNGY0M2EKICAjaWYgIWRlZmluZWQgKFJFVFNJR1RZUEUpCiAgIyAgaWYgZGVm aW5lZCAoVk9JRF9TSUdIQU5ETEVSKQogICMgICAgZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAotQEAg LTgwLDYgKzgxLDkgQEAgdHlwZWRlZiBzdHJ1Y3QgeyBTaWdIYW5kbGVyICpzYV9oYW5kbGVyOyBp bnQgc2FfbWFzaywgc2FfZmxhZ3M7IH0gc2lnaGFuZGxlcl9jeHQKK0BAIC04MCw2ICs4MSw5IEBA IHR5cGVkZWYgc3RydWN0IHsgU2lnSGFuZGxlciAqc2FfaGFuZGxlcjsKICBzdGF0aWMgU2lnSGFu ZGxlciAqcmxfc2V0X3NpZ2hhbmRsZXIgUEFSQU1TKChpbnQsIFNpZ0hhbmRsZXIgKiwgc2lnaGFu ZGxlcl9jeHQgKikpOwogIHN0YXRpYyB2b2lkIHJsX21heWJlX3NldF9zaWdoYW5kbGVyIFBBUkFN UygoaW50LCBTaWdIYW5kbGVyICosIHNpZ2hhbmRsZXJfY3h0ICopKTsKICAKQEAgLTE1Mjg3LDcg KzE1NTE1LDcgQEAgYjEzNzA2YWJiZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogICAg ICAgIHNpZ3Byb2NtYXNrIChTSUdfQkxPQ0ssIChzaWdzZXRfdCAqKU5VTEwsICZzZXQpOwogICAg ICAgIHNpZ2RlbHNldCAoJnNldCwgc2lnKTsKICAjZWxzZSAvKiAhSEFWRV9QT1NJWF9TSUdOQUxT ICovCi1AQCAtMjUxLDExICsyOTYsMTEgQEAgcmxfc2V0X3NpZ2hhbmRsZXIgKHNpZywgaGFuZGxl ciwgb2hhbmRsZXIpCitAQCAtMjUxLDExICsyOTYsMTEgQEAgcmxfc2V0X3NpZ2hhbmRsZXIgKHNp ZywgaGFuZGxlciwgb2hhbmRsZQogICAgc3RydWN0IHNpZ2FjdGlvbiBhY3Q7CiAgCiAgICBhY3Qu c2FfaGFuZGxlciA9IGhhbmRsZXI7CkBAIC0xNTUyOSwxMCArMTU3NTcsMTAgQEAgYjEzNzA2YWJi ZWU5NjQ2ZjRkZTUyMmMwNTUyZGRkNjhkMWE0ZjQzYQogKwogKyAgX3JsX291dHB1dF9zb21lX2No YXJzIChjc3RyLCBjc2xlbik7CiArfQotb2xkIG1vZGUgMTAwNzU1Ci1uZXcgbW9kZSAxMDA2NDQK LS0tLSBhL3JlYWRsaW5lL3N1cHBvcnQvY29uZmlnLmd1ZXNzCi0rKysgYi9yZWFkbGluZS9zdXBw b3J0L2NvbmZpZy5ndWVzcworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvc3Vw cG9ydC9jb25maWcuZ3Vlc3MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9y aWcvcmVhZGxpbmUvc3VwcG9ydC9jb25maWcuZ3Vlc3MJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAw MDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3N1cHBvcnQvY29u ZmlnLmd1ZXNzCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSw5ICsx LDEwIEBACiAgIyEgL2Jpbi9zaAogICMgQXR0ZW1wdCB0byBndWVzcyBhIGNhbm9uaWNhbCBzeXN0 ZW0gbmFtZS4KQEAgLTE1NjA3LDcgKzE1ODM1LDcgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgCiAgIyBU aGlzIGlzIG5lZWRlZCB0byBmaW5kIHVuYW1lIG9uIGEgUHlyYW1pZCBPU3ggd2hlbiBydW4gaW4g dGhlIEJTRCB1bml2ZXJzZS4KICAjIChnaGF6aUBub2MucnV0Z2Vycy5lZHUgMTk5NC0wOC0yNCkK LUBAIC0xNTgsNiArMTYxLDcgQEAgY2FzZSAiJHtVTkFNRV9NQUNISU5FfToke1VOQU1FX1NZU1RF TX06JHtVTkFNRV9SRUxFQVNFfToke1VOQU1FX1ZFUlNJT059IiBpbgorQEAgLTE1OCw2ICsxNjEs NyBAQCBjYXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfTokCiAgCSAgICBhcm0q KSBtYWNoaW5lPWFybS11bmtub3duIDs7CiAgCSAgICBzaDNlbCkgbWFjaGluZT1zaGwtdW5rbm93 biA7OwogIAkgICAgc2gzZWIpIG1hY2hpbmU9c2gtdW5rbm93biA7OwpAQCAtMTU2MTUsNyArMTU4 NDMsNyBAQCBuZXcgbW9kZSAxMDA2NDQKICAJICAgICopIG1hY2hpbmU9JHtVTkFNRV9NQUNISU5F X0FSQ0h9LXVua25vd24gOzsKICAJZXNhYwogIAkjIFRoZSBPcGVyYXRpbmcgU3lzdGVtIGluY2x1 ZGluZyBvYmplY3QgZm9ybWF0LCBpZiBpdCBoYXMgc3dpdGNoZWQKLUBAIC0xOTYsNjggKzIwMCwz MiBAQCBjYXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfToke1VOQU1FX1JFTEVB U0V9OiR7VU5BTUVfVkVSU0lPTn0iIGluCitAQCAtMTk2LDY4ICsyMDAsMzIgQEAgY2FzZSAiJHtV TkFNRV9NQUNISU5FfToke1VOQU1FX1NZU1RFTX06JAogIAkjIGNvbnRhaW5zIHJlZHVuZGFudCBp bmZvcm1hdGlvbiwgdGhlIHNob3J0ZXIgZm9ybToKICAJIyBDUFVfVFlQRS1NQU5VRkFDVFVSRVIt T1BFUkFUSU5HX1NZU1RFTSBpcyB1c2VkLgogIAllY2hvICIke21hY2hpbmV9LSR7b3N9JHtyZWxl YXNlfSIKQEAgLTE1NzAyLDcgKzE1OTMwLDcgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgCSMgQWNjb3Jk aW5nIHRvIENvbXBhcSwgL3Vzci9zYmluL3BzcmluZm8gaGFzIGJlZW4gYXZhaWxhYmxlIG9uCiAg CSMgT1NGLzEgYW5kIFRydTY0IHN5c3RlbXMgcHJvZHVjZWQgc2luY2UgMTk5NS4gIEkgaG9wZSB0 aGF0CiAgCSMgY292ZXJzIG1vc3Qgc3lzdGVtcyBydW5uaW5nIHRvZGF5LiAgVGhpcyBjb2RlIHBp cGVzIHRoZSBDUFUKLUBAIC0yOTUsNDUgKzI2Myw0OSBAQCBjYXNlICIke1VOQU1FX01BQ0hJTkV9 OiR7VU5BTUVfU1lTVEVNfToke1VOQU1FX1JFTEVBU0V9OiR7VU5BTUVfVkVSU0lPTn0iIGluCitA QCAtMjk1LDQ1ICsyNjMsNDkgQEAgY2FzZSAiJHtVTkFNRV9NQUNISU5FfToke1VOQU1FX1NZU1RF TX06JAogIAkgICAgIkVWNy45ICgyMTM2NEEpIikKICAJCVVOQU1FX01BQ0hJTkU9ImFscGhhZXY3 OSIgOzsKICAJZXNhYwpAQCAtMTU3NjYsNyArMTU5OTQsNyBAQCBuZXcgbW9kZSAxMDA2NDQKICAg ICAgUHlyYW1pZCo6T1N4KjoqOiogfCBNSVMqOk9TeCo6KjoqIHwgTUlTKjpTTVBfREMtT1N4Kjoq OiopCiAgCSMgYWtlZUB3cGRpczAzLndwYWZiLmFmLm1pbCAoRWFybGUgRi4gQWtlKSBjb250cmli dXRlZCBNSVMgYW5kIE5JTEUuCiAgCWlmIHRlc3QgImAoL2Jpbi91bml2ZXJzZSkgMj4vZGV2L251 bGxgIiA9IGF0dCA7IHRoZW4KLUBAIC0zNDEsMzIgKzMxMywzMiBAQCBjYXNlICIke1VOQU1FX01B Q0hJTkV9OiR7VU5BTUVfU1lTVEVNfToke1VOQU1FX1JFTEVBU0V9OiR7VU5BTUVfVkVSU0lPTn0i IGluCitAQCAtMzQxLDMyICszMTMsMzIgQEAgY2FzZSAiJHtVTkFNRV9NQUNISU5FfToke1VOQU1F X1NZU1RFTX06JAogIAllbHNlCiAgCQllY2hvIHB5cmFtaWQtcHlyYW1pZC1ic2QKICAJZmkKQEAg LTE1ODA5LDcgKzE2MDM3LDcgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgICAgIHN1bjQqOlN1bk9TOio6 KikKICAJY2FzZSAiYC91c3IvYmluL2FyY2ggLWtgIiBpbgogIAkgICAgU2VyaWVzKnxTNCopCi1A QCAtMzc1LDEwICszNDcsMTAgQEAgY2FzZSAiJHtVTkFNRV9NQUNISU5FfToke1VOQU1FX1NZU1RF TX06JHtVTkFNRV9SRUxFQVNFfToke1VOQU1FX1ZFUlNJT059IiBpbgorQEAgLTM3NSwxMCArMzQ3 LDEwIEBAIGNhc2UgIiR7VU5BTUVfTUFDSElORX06JHtVTkFNRV9TWVNURU19OiQKICAJZXNhYwog IAkjIEphcGFuZXNlIExhbmd1YWdlIHZlcnNpb25zIGhhdmUgYSB2ZXJzaW9uIG51bWJlciBsaWtl IGA0LjEuMy1KTCcuCiAgCWVjaG8gc3BhcmMtc3VuLXN1bm9zYGVjaG8gJHtVTkFNRV9SRUxFQVNF fXxzZWQgLWUgJ3MvLS9fLydgCkBAIC0xNTgyMiw3ICsxNjA1MCw3IEBAIG5ldyBtb2RlIDEwMDY0 NAogICAgICBzdW4qOio6NC4yQlNEOiopCiAgCVVOQU1FX1JFTEVBU0U9YChzZWQgMXEgL2V0Yy9t b3RkIHwgYXdrICd7cHJpbnQgc3Vic3RyKCQ1LDEsMyl9JykgMj4vZGV2L251bGxgCiAgCXRlc3Qg Ingke1VOQU1FX1JFTEVBU0V9IiA9ICJ4IiAmJiBVTkFNRV9SRUxFQVNFPTMKLUBAIC0zOTAsMTAg KzM2MiwxMCBAQCBjYXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfToke1VOQU1F X1JFTEVBU0V9OiR7VU5BTUVfVkVSU0lPTn0iIGluCitAQCAtMzkwLDEwICszNjIsMTAgQEAgY2Fz ZSAiJHtVTkFNRV9NQUNISU5FfToke1VOQU1FX1NZU1RFTX06JAogIAkJZWNobyBzcGFyYy1zdW4t c3Vub3Mke1VOQU1FX1JFTEVBU0V9CiAgCQk7OwogIAllc2FjCkBAIC0xNTgzNSw3ICsxNjA2Myw3 IEBAIG5ldyBtb2RlIDEwMDY0NAogICAgICAjIFRoZSBzaXR1YXRpb24gZm9yIE1pTlQgaXMgYSBs aXR0bGUgY29uZnVzaW5nLiAgVGhlIG1hY2hpbmUgbmFtZQogICAgICAjIGNhbiBiZSB2aXJ0dWFs bHkgZXZlcnl0aGluZyAoZXZlcnl0aGluZyB3aGljaCBpcyBub3QKICAgICAgIyAiYXRhcmlzdCIg b3IgImF0YXJpc3RlIiBhdCBsZWFzdCBzaG91bGQgaGF2ZSBhIHByb2Nlc3NvcgotQEAgLTQwNCw0 MCArMzc2LDQwIEBAIGNhc2UgIiR7VU5BTUVfTUFDSElORX06JHtVTkFNRV9TWVNURU19OiR7VU5B TUVfUkVMRUFTRX06JHtVTkFNRV9WRVJTSU9OfSIgaW4KK0BAIC00MDQsNDAgKzM3Niw0MCBAQCBj YXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfTokCiAgICAgICMgYmUgbm8gcHJv YmxlbS4KICAgICAgYXRhcmlzdFtlXToqTWlOVDoqOiogfCBhdGFyaXN0W2VdOiptaW50Oio6KiB8 IGF0YXJpc3RbZV06KlRPUzoqOiopCiAgICAgICAgICBlY2hvIG02OGstYXRhcmktbWludCR7VU5B TUVfUkVMRUFTRX0KQEAgLTE1ODg4LDcgKzE2MTE2LDcgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgICAg IG1pcHM6KjoqOlVNSVBTIHwgbWlwczoqOio6UklTQ29zKQogIAlldmFsICRzZXRfY2NfZm9yX2J1 aWxkCiAgCXNlZCAncy9eCS8vJyA8PCBFT0YgPiRkdW1teS5jCi1AQCAtNDYxLDMyICs0MzMsMzMg QEAgY2FzZSAiJHtVTkFNRV9NQUNISU5FfToke1VOQU1FX1NZU1RFTX06JHtVTkFNRV9SRUxFQVNF fToke1VOQU1FX1ZFUlNJT059IiBpbgorQEAgLTQ2MSwzMiArNDMzLDMzIEBAIGNhc2UgIiR7VU5B TUVfTUFDSElORX06JHtVTkFNRV9TWVNURU19OiQKICAJICBleGl0ICgtMSk7CiAgCX0KICBFT0YK QEAgLTE2ODc3LDcgKzE3MTA1LDcgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgICAgIGVzYWMKICBmaQog IAotQEAgLTE0MTAsNyArMTQ4Nyw5IEBAIFRoaXMgc2NyaXB0LCBsYXN0IG1vZGlmaWVkICR0aW1l c3RhbXAsIGhhcyBmYWlsZWQgdG8gcmVjb2duaXplCitAQCAtMTQxMCw3ICsxNDg3LDkgQEAgVGhp cyBzY3JpcHQsIGxhc3QgbW9kaWZpZWQgJHRpbWVzdGFtcCwgaAogIHRoZSBvcGVyYXRpbmcgc3lz dGVtIHlvdSBhcmUgdXNpbmcuIEl0IGlzIGFkdmlzZWQgdGhhdCB5b3UKICBkb3dubG9hZCB0aGUg bW9zdCB1cCB0byBkYXRlIHZlcnNpb24gb2YgdGhlIGNvbmZpZyBzY3JpcHRzIGZyb20KICAKQEAg LTE2ODg4LDEwICsxNzExNiwxMCBAQCBuZXcgbW9kZSAxMDA2NDQKICAKICBJZiB0aGUgdmVyc2lv biB5b3UgcnVuICgkMCkgaXMgYWxyZWFkeSB1cCB0byBkYXRlLCBwbGVhc2UKICBzZW5kIHRoZSBm b2xsb3dpbmcgZGF0YSBhbmQgYW55IGluZm9ybWF0aW9uIHlvdSB0aGluayBtaWdodCBiZQotb2xk IG1vZGUgMTAwNzU1Ci1uZXcgbW9kZSAxMDA2NDQKLS0tLSBhL3JlYWRsaW5lL3N1cHBvcnQvY29u ZmlnLnJwYXRoCi0rKysgYi9yZWFkbGluZS9zdXBwb3J0L2NvbmZpZy5ycGF0aAorSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvc3VwcG9ydC9jb25maWcucnBhdGgKKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvc3VwcG9ydC9jb25maWcu cnBhdGgJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNzAzL3JlYWRsaW5lL3N1cHBvcnQvY29uZmlnLnJwYXRoCTIwMTEtMDctMDMgMTA6NDE6 MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNiwxOSArNiwxOCBAQAogICMgICBUYWtlbiBmcm9tIEdO VSBsaWJ0b29sLCAyMDAxCiAgIyAgIE9yaWdpbmFsbHkgYnkgR29yZG9uIE1hdHppZ2tlaXQgPGdv cmRAZ251LmFpLm1pdC5lZHU+LCAxOTk2CkBAIC0xNjkxOSwxMCArMTcxNDcsMTAgQEAgbmV3IG1v ZGUgMTAwNjQ0CiAgIwogICMgICBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSwgaWYgeW91CiAgIyAgIGRpc3RyaWJ1dGUgdGhpcyBmaWxlIGFz IHBhcnQgb2YgYSBwcm9ncmFtIHRoYXQgY29udGFpbnMgYQotb2xkIG1vZGUgMTAwNzU1Ci1uZXcg bW9kZSAxMDA2NDQKLS0tLSBhL3JlYWRsaW5lL3N1cHBvcnQvY29uZmlnLnN1YgotKysrIGIvcmVh ZGxpbmUvc3VwcG9ydC9jb25maWcuc3ViCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFk bGluZS9zdXBwb3J0L2NvbmZpZy5zdWIKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEw NzAzLm9yaWcvcmVhZGxpbmUvc3VwcG9ydC9jb25maWcuc3ViCTIwMTEtMDctMDMgMTA6NDA6NTMu MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9zdXBwb3J0 L2NvbmZpZy5zdWIJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDkg KzEsMTAgQEAKICAjISAvYmluL3NoCiAgIyBDb25maWd1cmF0aW9uIHZhbGlkYXRpb24gc3Vicm91 dGluZSBzY3JpcHQuCkBAIC0xNjk1NSw3ICsxNzE4Myw3IEBAIG5ldyBtb2RlIDEwMDY0NAogICMg UGxlYXNlIHNlbmQgcGF0Y2hlcyB0byA8Y29uZmlnLXBhdGNoZXNAZ251Lm9yZz4uICBTdWJtaXQg YSBjb250ZXh0CiAgIyBkaWZmIGFuZCBhIHByb3Blcmx5IGZvcm1hdHRlZCBDaGFuZ2VMb2cgZW50 cnkuCiAgIwotQEAgLTcwLDggKzcyLDggQEAgUmVwb3J0IGJ1Z3MgYW5kIHBhdGNoZXMgdG8gPGNv bmZpZy1wYXRjaGVzQGdudS5vcmc+LiIKK0BAIC03MCw4ICs3Miw4IEBAIFJlcG9ydCBidWdzIGFu ZCBwYXRjaGVzIHRvIDxjb25maWctcGF0Y2gKICB2ZXJzaW9uPSJcCiAgR05VIGNvbmZpZy5zdWIg KCR0aW1lc3RhbXApCiAgCkBAIC0xNzUyOCw4ICsxNzc1NiwxMCBAQCBuZXcgbW9kZSAxMDA2NDQK ICAKICAjIExvY2FsIHZhcmlhYmxlczoKICAjIGV2YWw6IChhZGQtaG9vayAnd3JpdGUtZmlsZS1o b29rcyAndGltZS1zdGFtcCkKLS0tLSBhL3JlYWRsaW5lL3N1cHBvcnQvbWtkaXJzCi0rKysgYi9y ZWFkbGluZS9zdXBwb3J0L21rZGlycworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxp bmUvc3VwcG9ydC9ta2RpcnMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9y aWcvcmVhZGxpbmUvc3VwcG9ydC9ta2RpcnMJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAg KzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3N1cHBvcnQvbWtkaXJzCTIw MTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNywxOSArNywxOCBAQAogIAog ICMgQ29weXJpZ2h0IChDKSAxOTk2LTIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CkBAIC0xNzU2MCw4ICsxNzc5MCwxMCBAQCBuZXcgbW9kZSAxMDA2NDQKICAKICBmb3IgZGlyCiAg ZG8KLS0tLSBhL3JlYWRsaW5lL3N1cHBvcnQvbWtkaXN0Ci0rKysgYi9yZWFkbGluZS9zdXBwb3J0 L21rZGlzdAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvc3VwcG9ydC9ta2Rp c3QKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvc3Vw cG9ydC9ta2Rpc3QJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGIt Ny4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3N1cHBvcnQvbWtkaXN0CTIwMTEtMDctMDMgMTA6NDE6 MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTIsMTkgKzEyLDE5IEBACiAgCiAgIyBDb3B5cmlnaHQg KEMpIDE5OTYtMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTE3NTkzLDgg KzE3ODI1LDEwIEBAIG5ldyBtb2RlIDEwMDY0NAogIAogIFNSQ0RJUj1zcmMKICBST09UTkFNRT1i YXNoCi0tLS0gYS9yZWFkbGluZS9zdXBwb3J0L3NobGliLWluc3RhbGwKLSsrKyBiL3JlYWRsaW5l L3N1cHBvcnQvc2hsaWItaW5zdGFsbAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxp bmUvc3VwcG9ydC9zaGxpYi1pbnN0YWxsCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDEx MDcwMy5vcmlnL3JlYWRsaW5lL3N1cHBvcnQvc2hsaWItaW5zdGFsbAkyMDExLTA3LTAzIDEwOjQw OjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvc3Vw cG9ydC9zaGxpYi1pbnN0YWxsCTIwMTEtMDctMDMgMTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBA QCAtMyw3ICszLDcgQEAKICAjIHNobGliLWluc3RhbGwgLSBpbnN0YWxsIGEgc2hhcmVkIGxpYnJh cnkgYW5kIGRvIGFueSBuZWNlc3NhcnkgaG9zdC1zcGVjaWZpYwogICMJCSAgcG9zdC1pbnN0YWxs YXRpb24gY29uZmlndXJhdGlvbiAobGlrZSBsZGNvbmZpZykKQEAgLTE3NjM4LDcgKzE3ODcyLDcg QEAgbmV3IG1vZGUgMTAwNjQ0CiAgCUlNUExJQk5BTUU9YGVjaG8gJHtMSUJOQU1FfSBcCiAgCQl8 IHNlZCAtZSAncyxeY3lnLGxpYiwnIC1lICdzLFswLTldKi5kbGwkLC5kbGwuYSwnYAogIAlpZiBb IC16ICIkdW5pbnN0YWxsIiBdOyB0aGVuCi1AQCAtMTE0LDggKzExNiw4IEBAIElOU1RBTExfTElO SzI9JyR7ZWNob30gY2QgJElOU1RBTExESVIgJiYgJHtlY2hvfSAke0xOfSAkTElCTkFNRSAkTElO SzInCitAQCAtMTE0LDggKzExNiw4IEBAIElOU1RBTExfTElOSzI9JyR7ZWNob30gY2QgJElOU1RB TExESVIgJiYKICAjCiAgIyBDcmVhdGUgc3ltbGlua3MgdG8gdGhlIGluc3RhbGxlZCBsaWJyYXJ5 LiAgVGhpcyBzZWN0aW9uIGlzIGluY29tcGxldGUuCiAgIwpAQCAtMTc2NjcsNyArMTc5MDEsNyBA QCBuZXcgbW9kZSAxMDA2NDQKICAJIyBsaWJuYW1lLnNvIC0+IGxpYm5hbWUuc28uTQogIAkke2Vj aG99ICR7Uk19ICR7SU5TVEFMTERJUn0vJExJTksxCiAgCWlmIFsgLXogIiR1bmluc3RhbGwiIF07 IHRoZW4KLUBAIC0xNTMsNyArMTU1LDcgQEAgc29sYXJpczIqfGFpeDQuWzItOV0qfG9zZip8aXJp eFs1Nl0qfHN5c3ZbNDVdKnxkZ3V4KikKK0BAIC0xNTMsNyArMTU1LDcgQEAgc29sYXJpczIqfGFp eDQuWzItOV0qfG9zZip8aXJpeFs1Nl0qfHN5cwogIAogIAogICMgRnJlZUJTRCAzLnggYW5kIGFi b3ZlIGNhbiBoYXZlIGVpdGhlciBhLm91dCBvciBFTEYgc2hhcmVkIGxpYnJhcmllcwpAQCAtMTc2 NzYsNyArMTc5MTAsNyBAQCBuZXcgbW9kZSAxMDA2NDQKICAJaWYgWyAteCAvdXNyL2Jpbi9vYmpm b3JtYXQgXSAmJiBbICJgL3Vzci9iaW4vb2JqZm9ybWF0YCIgPSAiZWxmIiBdOyB0aGVuCiAgCQkj IGxpYm5hbWUuc28gLT4gbGlibmFtZS5zby5NCiAgCQkke2VjaG99ICR7Uk19ICR7SU5TVEFMTERJ Un0vJExJTksxCi1AQCAtMTc1LDYgKzE3NywxNCBAQCBmcmVlYnNkWzMtOV0qfGZyZWVic2RlbGZb My05XSp8ZnJlZWJzZGFvdXRbMy05XSopCitAQCAtMTc1LDYgKzE3NywxNCBAQCBmcmVlYnNkWzMt OV0qfGZyZWVic2RlbGZbMy05XSp8ZnJlZWJzZGFvCiAgCWZpCiAgCTs7CiAgCkBAIC0xNzcwMCwy NyArMTc5MzQsMTkgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgCSMgTGlua3MgdG8gLmRsbHMgZG9uJ3Qg d29yay4gIEhlbmNlIHNob2JqLWNvbmYgdXNlZCBETExWRVJTSU9OLmRsbAogIAkjIGluc3RlYWQg b2Ygc28uU0hMSUJfTUFKT1IuU0hMSUJfTUlOT1IuICBUaGUgcG9zdGluc3RhbGwgYWJvdmUKICAJ IyB0b29rIGNhcmUgb2YgZXZlcnl0aGluZyBlbHNlLgotb2xkIG1vZGUgMTAwNzU1Ci1uZXcgbW9k ZSAxMDA2NDQKLS0tLSBhL3JlYWRsaW5lL3N1cHBvcnQvc2hvYmotY29uZgotKysrIGIvcmVhZGxp bmUvc3VwcG9ydC9zaG9iai1jb25mCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGlu ZS9zdXBwb3J0L3Nob2JqLWNvbmYKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAz Lm9yaWcvcmVhZGxpbmUvc3VwcG9ydC9zaG9iai1jb25mCTIwMTEtMDctMDMgMTA6NDA6NTMuMDAw MDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS9zdXBwb3J0L3No b2JqLWNvbmYJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xMCwyMSAr MTAsMjMgQEAKICAjIENoZXQgUmFtZXkKICAjIGNoZXRAcG8uY3dydS5lZHUKICAKIC0jIENvcHly aWdodCAoQykgMTk5Ni0yMDAyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyMgICBD b3B5cmlnaHQgKEMpIDE5OTYtMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSAj Ci0tIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQotLSMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLS0jIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKLS0jIGFueSBs YXRlciB2ZXJzaW9uLgorKyMKICsjICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRo ZSBCb3VybmUgQWdhaW4gU0hlbGwuCi0gIwotLSMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0tIyBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotLSMgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQot LSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCiArIyAg IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5CiArIyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiArIyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCkBAIC0xNzczNCw2 ICsxNzk2MCwxNiBAQCBuZXcgbW9kZSAxMDA2NDQKICsjICAgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICsjICAgYWxvbmcg d2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vu c2VzLz4uCiAgIworLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CistIyB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24p CistIyBhbnkgbGF0ZXIgdmVyc2lvbi4KKy0jCistIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0jIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCistIyBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl CistIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLSMKIC0j IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCiAtIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0 aGUgRnJlZSBTb2Z0d2FyZQogLSMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBT dWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEgVVNBLgpAQCAtMTc3OTksNyArMTgwMzUsNyBAQCBu ZXcgbW9kZSAxMDA2NDQKICAJU0hPQkpfTEQ9JyR7Q0N9JwogIAogIAlpZiBbIC14IC91c3IvYmlu L29iamZvcm1hdCBdICYmIFsgImAvdXNyL2Jpbi9vYmpmb3JtYXRgIiA9ICJlbGYiIF07IHRoZW4K LUBAIC0xNDEsNyArMTQ1LDM1IEBAIGZyZWVic2RbMy05XSp8ZnJlZWJzZGVsZlszLTldKnxmcmVl YnNkYW91dFszLTldKnxkcmFnb25mbHkqKQorQEAgLTE0MSw3ICsxNDUsMzUgQEAgZnJlZWJzZFsz LTldKnxmcmVlYnNkZWxmWzMtOV0qfGZyZWVic2RhbwogIAlmaQogIAk7OwogIApAQCAtMTc4NjIs NyArMTgwOTgsNyBAQCBuZXcgbW9kZSAxMDA2NDQKICAJU0hPQkpfQ0ZMQUdTPS1mcGljCiAgCVNI T0JKX0xEPSdsZCcKICAJU0hPQkpfTERGTEFHUz0nLWJkeW5hbWljIC1ibm9lbnRyeSAtYmV4cGFs bCcKLUBAIC0yNDEsNyArMjczLDcgQEAgYWl4NC5bMi05XSotKmdjYyopCQkjIGxpZ2h0bHkgdGVz dGVkIGJ5IGppa0BjaXNjby5jb20KK0BAIC0yNDEsNyArMjczLDcgQEAgYWl4NC5bMi05XSotKmdj YyopCQkjIGxpZ2h0bHkgdGVzdGVkIGJ5IAogIAlTSExJQl9MSUJWRVJTSU9OPSckKFNITElCX0xJ QlNVRkYpLiQoU0hMSUJfTUFKT1IpJwogIAk7OwogIApAQCAtMTc5MjksOCArMTgxNjUsMTAgQEAg bmV3IG1vZGUgMTAwNjQ0CiAgCTs7CiAgCiAgIwotLS0tIGEvcmVhZGxpbmUvc3VwcG9ydC93Y3dp ZHRoLmMKLSsrKyBiL3JlYWRsaW5lL3N1cHBvcnQvd2N3aWR0aC5jCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDcwMy9yZWFkbGluZS9zdXBwb3J0L3djd2lkdGguYworPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdk Yi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS9zdXBwb3J0L3djd2lkdGguYwkyMDExLTA3 LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVh ZGxpbmUvc3VwcG9ydC93Y3dpZHRoLmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAy MDAKIEBAIC0xLDIxICsxLDczIEBACiAgLyoKIC0gKiBUaGlzIGlzIGFuIGltcGxlbWVudGF0aW9u IG9mIHdjd2lkdGgoKSBhbmQgd2Nzd2lkdGgoKSBhcyBkZWZpbmVkIGluCkBAIC0xODAxMyw3ICsx ODI1MSw3IEBAIG5ldyBtb2RlIDEwMDY0NAogIH07CiAgCiAgLyogYXV4aWxpYXJ5IGZ1bmN0aW9u IGZvciBiaW5hcnkgc2VhcmNoIGluIGludGVydmFsIHRhYmxlICovCi1AQCAtMzksNyArOTEsNyBA QCBzdGF0aWMgaW50IGJpc2VhcmNoKHdjaGFyX3QgdWNzLCBjb25zdCBzdHJ1Y3QgaW50ZXJ2YWwg KnRhYmxlLCBpbnQgbWF4KSB7CitAQCAtMzksNyArOTEsNyBAQCBzdGF0aWMgaW50IGJpc2VhcmNo KHdjaGFyX3QgdWNzLCBjb25zdCBzCiAgfQogIAogIApAQCAtMTgwMjIsNyArMTgyNjAsNyBAQCBu ZXcgbW9kZSAxMDA2NDQKICAgKiBjaGFyYWN0ZXIgYXMgZm9sbG93czoKICAgKgogICAqICAgIC0g VGhlIG51bGwgY2hhcmFjdGVyIChVKzAwMDApIGhhcyBhIGNvbHVtbiB3aWR0aCBvZiAwLgotQEAg LTUxLDYgKzEwMyw4IEBAIHN0YXRpYyBpbnQgYmlzZWFyY2god2NoYXJfdCB1Y3MsIGNvbnN0IHN0 cnVjdCBpbnRlcnZhbCAqdGFibGUsIGludCBtYXgpIHsKK0BAIC01MSw2ICsxMDMsOCBAQCBzdGF0 aWMgaW50IGJpc2VhcmNoKHdjaGFyX3QgdWNzLCBjb25zdCBzCiAgICogICAgICBjYXRlZ29yeSBj b2RlIE1uIG9yIE1lIGluIHRoZSBVbmljb2RlIGRhdGFiYXNlKSBoYXZlIGEKICAgKiAgICAgIGNv bHVtbiB3aWR0aCBvZiAwLgogICAqCkBAIC0xODAzMSw3ICsxODI2OSw3IEBAIG5ldyBtb2RlIDEw MDY0NAogICAqICAgIC0gT3RoZXIgZm9ybWF0IGNoYXJhY3RlcnMgKGdlbmVyYWwgY2F0ZWdvcnkg Y29kZSBDZiBpbiB0aGUgVW5pY29kZQogICAqICAgICAgZGF0YWJhc2UpIGFuZCBaRVJPIFdJRFRI IFNQQUNFIChVKzIwMEIpIGhhdmUgYSBjb2x1bW4gd2lkdGggb2YgMC4KICAgKgotQEAgLTU4LDcg KzExMiw3IEBAIHN0YXRpYyBpbnQgYmlzZWFyY2god2NoYXJfdCB1Y3MsIGNvbnN0IHN0cnVjdCBp bnRlcnZhbCAqdGFibGUsIGludCBtYXgpIHsKK0BAIC01OCw3ICsxMTIsNyBAQCBzdGF0aWMgaW50 IGJpc2VhcmNoKHdjaGFyX3QgdWNzLCBjb25zdCBzCiAgICogICAgICBoYXZlIGEgY29sdW1uIHdp ZHRoIG9mIDAuCiAgICoKICAgKiAgICAtIFNwYWNpbmcgY2hhcmFjdGVycyBpbiB0aGUgRWFzdCBB c2lhbiBXaWRlIChXKSBvciBFYXN0IEFzaWFuCkBAIC0xODA0MCw3ICsxODI3OCw3IEBAIG5ldyBt b2RlIDEwMDY0NAogICAqICAgICAgUmVwb3J0ICMxMSBoYXZlIGEgY29sdW1uIHdpZHRoIG9mIDIu CiAgICoKICAgKiAgICAtIEFsbCByZW1haW5pbmcgY2hhcmFjdGVycyAoaW5jbHVkaW5nIGFsbCBw cmludGFibGUKLUBAIC02OSw0NCArMTIzLDU5IEBAIHN0YXRpYyBpbnQgYmlzZWFyY2god2NoYXJf dCB1Y3MsIGNvbnN0IHN0cnVjdCBpbnRlcnZhbCAqdGFibGUsIGludCBtYXgpIHsKK0BAIC02OSw0 NCArMTIzLDU5IEBAIHN0YXRpYyBpbnQgYmlzZWFyY2god2NoYXJfdCB1Y3MsIGNvbnN0IHMKICAg KiBpbiBJU08gMTA2NDYuCiAgICovCiAgCkBAIC0xODE2NCw3ICsxODQwMiw3IEBAIG5ldyBtb2Rl IDEwMDY0NAogICAgICAgIHJldHVybiAtMTsKICAgICAgZWxzZQogICAgICAgIHdpZHRoICs9IHc7 Ci1AQCAtMTUxLDIwICsyMjMsMjEgQEAgaW50IHdjc3dpZHRoKGNvbnN0IHdjaGFyX3QgKnB3Y3Ms IHNpemVfdCBuKQorQEAgLTE1MSwyMCArMjIzLDIxIEBAIGludCB3Y3N3aWR0aChjb25zdCB3Y2hh cl90ICpwd2NzLCBzaXplX3QKICAKICAKICAvKgpAQCAtMTgyOTAsOCArMTg1MjgsMTAgQEAgbmV3 IG1vZGUgMTAwNjQ0CiAgICAgICAgcmV0dXJuIC0xOwogICAgICBlbHNlCiAgICAgICAgd2lkdGgg Kz0gdzsKLS0tLSBhL3JlYWRsaW5lL3RjYXAuaAotKysrIGIvcmVhZGxpbmUvdGNhcC5oCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS90Y2FwLmgKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBn ZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvdGNhcC5oCTIwMTEtMDctMDMgMTA6NDA6 NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS90Y2Fw LmgJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI1ICsxLDIzIEBA CiAgLyogdGNhcC5oIC0tIHRlcm1jYXAgbGlicmFyeSBmdW5jdGlvbnMgYW5kIHZhcmlhYmxlcy4g Ki8KICAKQEAgLTE4MzA5LDcgKzE4NTQ5LDkgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgICAgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKIC0gICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAy LCBvciAoYXQgeW91ciBvcHRpb24pCiAtICAgYW55IGxhdGVyIHZlcnNpb24uCi0tCisrICAgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z ZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIAogLSAgIFRo ZSBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsIGJ1dAogLSAgIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKIC0gICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQpAQCAtMTgzMTksOSArMTg1NjEsNiBAQCBuZXcg bW9kZSAxMDA2NDQKIC0gICBpcyBnZW5lcmFsbHkga2VwdCBpbiBhIGZpbGUgY2FsbGVkIENPUFlJ Tkcgb3IgTElDRU5TRS4gIElmIHlvdSBkbyBub3QKIC0gICBoYXZlIGEgY29weSBvZiB0aGUgbGlj ZW5zZSwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKIC0gICA1OSBUZW1w bGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMSBVU0EuICovCi0rICAgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwogKyAgIFJlYWRs aW5lIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAr ICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKICsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCkBAIC0xODMzMyw4ICsxODU3MiwxMCBAQCBuZXcgbW9kZSAxMDA2 NDQKICAKICAjaWYgIWRlZmluZWQgKF9STFRDQVBfSF8pCiAgI2RlZmluZSBfUkxUQ0FQX0hfCi0t LS0gYS9yZWFkbGluZS90ZXJtaW5hbC5jCi0rKysgYi9yZWFkbGluZS90ZXJtaW5hbC5jCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS90ZXJtaW5hbC5jCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist LS0gZ2RiLTcuMi45MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3Rlcm1pbmFsLmMJMjAxMS0wNy0w MyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRs aW5lL3Rlcm1pbmFsLmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0x LDI0ICsxLDI0IEBACiAgLyogdGVybWluYWwuYyAtLSBjb250cm9sbGluZyB0aGUgdGVybWluYWwg d2l0aCB0ZXJtY2FwLiAqLwogIApAQCAtMTg0MDMsNyArMTg2NDQsNyBAQCBuZXcgbW9kZSAxMDA2 NDQKICAKICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqICovCiAgLyoJCQkJCQkJCSAgICAqLwotQEAgLTkzLDEyICsxMDcs MTIgQEAgc3RhdGljIGNoYXIgKnRlcm1fc3RyaW5nX2J1ZmZlciA9IChjaGFyICopTlVMTDsKK0BA IC05MywxMiArMTA3LDEyIEBAIHN0YXRpYyBjaGFyICp0ZXJtX3N0cmluZ19idWZmZXIgPSAoY2hh ciAKICAKICBzdGF0aWMgaW50IHRjYXBfaW5pdGlhbGl6ZWQ7CiAgCkBAIC0xODU1MCw4ICsxODc5 MSwxMCBAQCBuZXcgbW9kZSAxMDA2NDQKICAgICAgewogICAgICAgIHN3aXRjaCAoX3JsX2JlbGxf cHJlZmVyZW5jZSkKICAgICAgICAgIHsKLS0tLSBhL3JlYWRsaW5lL3RleHQuYwotKysrIGIvcmVh ZGxpbmUvdGV4dC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS90ZXh0LmMK Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvdGV4dC5j CTIwMTEtMDctMDMgMTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDEx MDcwMy9yZWFkbGluZS90ZXh0LmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0xLDI0ICsxLDI0IEBACiAgLyogdGV4dC5jIC0tIHRleHQgaGFuZGxpbmcgY29tbWFuZHMg Zm9yIHJlYWRsaW5lLiAqLwogIApAQCAtMTg1OTAsNyArMTg4MzMsNyBAQCBuZXcgbW9kZSAxMDA2 NDQKICAjZGVmaW5lIFJFQURMSU5FX0xJQlJBUlkKICAKICAjaWYgZGVmaW5lZCAoSEFWRV9DT05G SUdfSCkKLUBAIC02Nyw2ICs2NywxMCBAQCBzdGF0aWMgaW50IF9ybF9pbnNlcnRfbmV4dF9jYWxs YmFjayBQQVJBTVMoKF9ybF9jYWxsYmFja19nZW5lcmljX2FyZyAqKSk7CitAQCAtNjcsNiArNjcs MTAgQEAgc3RhdGljIGludCBfcmxfaW5zZXJ0X25leHRfY2FsbGJhY2sgUEFSQQogIHN0YXRpYyBp bnQgX3JsX2NoYXJfc2VhcmNoX2NhbGxiYWNrIFBBUkFNUygoX3JsX2NhbGxiYWNrX2dlbmVyaWNf YXJnICopKTsKICAjZW5kaWYKICAKQEAgLTE4OTI1LDcgKzE5MTY4LDcgQEAgbmV3IG1vZGUgMTAw NjQ0CiAgI2VuZGlmCiAgCiAgICByZXR1cm4gMDsKLUBAIC0xNDU5LDYgKzE1MTUsOSBAQCBfcmxf Y2hhcl9zZWFyY2hfaW50ZXJuYWwgKGNvdW50LCBkaXIsIHNjaGFyKQorQEAgLTE0NTksNiArMTUx NSw5IEBAIF9ybF9jaGFyX3NlYXJjaF9pbnRlcm5hbCAoY291bnQsIGRpciwgc2MKICAgIGludCBw cmVwb3M7CiAgI2VuZGlmCiAgCkBAIC0xODk1NSw4ICsxOTE5OCwxMCBAQCBuZXcgbW9kZSAxMDA2 NDQKICAgIGlmIChjb3VudCA8IDApCiAgICAgIHJldHVybiAoX3JsX2NoYXJfc2VhcmNoX2ludGVy bmFsICgtY291bnQsIGJkaXIsIGMpKTsKICAgIGVsc2UKLS0tLSBhL3JlYWRsaW5lL3RpbGRlLmMK LSsrKyBiL3JlYWRsaW5lL3RpbGRlLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRs aW5lL3RpbGRlLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVh ZGxpbmUvdGlsZGUuYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvdGlsZGUuYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAw MDAwMDAwMCArMDIwMAogQEAgLTEsMjMgKzEsMjMgQEAKICAvKiB0aWxkZS5jIC0tIFRpbGRlIGV4 cGFuc2lvbiBjb2RlICh+L2ZvbyA6PSAkSE9NRS9mb28pLiAqLwogIApAQCAtMTg5NzIsMTUgKzE5 MjE3LDE2IEBAIG5ldyBtb2RlIDEwMDY0NAogLSAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQogLSAgIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh bnkKIC0gICBsYXRlciB2ZXJzaW9uLgotKyAgIFJlYWRsaW5lIGlzIGZyZWUgc29mdHdhcmU6IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAg IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAKKy0K IC0gICBSZWFkbGluZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLCBidXQKIC0gICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCiAtICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKIC0gICBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCisrICAgUmVhZGxpbmUgaXMgZnJlZSBzb2Z0d2FyZTogeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj ZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKwogKyAg IFJlYWRsaW5lIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCiArICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKICsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkBAIC0xOTA1MSw4ICsxOTI5NywxMCBAQCBuZXcgbW9k ZSAxMDA2NDQKICAgIGVuZHB3ZW50ICgpOwogICNlbmRpZgogICAgcmV0dXJuIChkaXJuYW1lKTsK LS0tLSBhL3JlYWRsaW5lL3RpbGRlLmgKLSsrKyBiL3JlYWRsaW5lL3RpbGRlLmgKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3RpbGRlLmgKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvdGlsZGUuaAkyMDExLTA3LTAzIDEwOjQwOjUz LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvdGlsZGUu aAkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjUgKzEsMjQgQEAK ICAvKiB0aWxkZS5oOiBFeHRlcm5hbGx5IGF2YWlsYWJsZSB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9u IGluIGxpYnRpbGRlLmEuICovCiAgCkBAIC0xOTA2OSw3ICsxOTMxNyw5IEBAIG5ldyBtb2RlIDEw MDY0NAogICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAtICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQogLSAgIGFueSBsYXRlciB2ZXJz aW9uLgotLQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u IDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KKyAKIC0gICBUaGUgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKIC0gICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAtICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKQEAgLTE5MDc5LDkg KzE5MzI5LDYgQEAgbmV3IG1vZGUgMTAwNjQ0CiAtICAgaXMgZ2VuZXJhbGx5IGtlcHQgaW4gYSBm aWxlIGNhbGxlZCBDT1BZSU5HIG9yIExJQ0VOU0UuICBJZiB5b3UgZG8gbm90CiAtICAgaGF2ZSBh IGNvcHkgb2YgdGhlIGxpY2Vuc2UsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sCiAtICAgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEgVVNB LiAqLwotKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMg b2YgdGhlIExpY2Vuc2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KLSsKICsgICBSZWFkbGluZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAogKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiArICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpAQCAtMTkwOTMsOCArMTkzNDAsMTAg QEAgbmV3IG1vZGUgMTAwNjQ0CiAgCiAgI2lmICFkZWZpbmVkIChfVElMREVfSF8pCiAgIyAgZGVm aW5lIF9USUxERV9IXwotLS0tIGEvcmVhZGxpbmUvdW5kby5jCi0rKysgYi9yZWFkbGluZS91bmRv LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3VuZG8uYworPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMub3JpZy9yZWFkbGluZS91bmRvLmMJMjAxMS0wNy0w MyAxMDo0MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRs aW5lL3VuZG8uYwkyMDExLTA3LTAzIDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjUg KzEsMjUgQEAKICAvKiByZWFkbGluZS5jIC0tIGEgZ2VuZXJhbCBmYWNpbGl0eSBmb3IgcmVhZGlu ZyBsaW5lcyBvZiBpbnB1dAogICAgIHdpdGggZW1hY3Mgc3R5bGUgZWRpdGluZyBhbmQgY29tcGxl dGlvbi4gKi8KQEAgLTE5MTQzLDcgKzE5MzkyLDcgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgLyogTm9u LXplcm8gdGVsbHMgcmxfZGVsZXRlX3RleHQgYW5kIHJsX2luc2VydF90ZXh0IHRvIG5vdCBhZGQg dG8KICAgICB0aGUgdW5kbyBsaXN0LiAqLwogIGludCBfcmxfZG9pbmdfYW5fdW5kbyA9IDA7Ci1A QCAtNjYsMTkgKzY4LDM1IEBAIFVORE9fTElTVCAqcmxfdW5kb19saXN0ID0gKFVORE9fTElTVCAq KU5VTEw7CitAQCAtNjYsMTkgKzY4LDM1IEBAIFVORE9fTElTVCAqcmxfdW5kb19saXN0ID0gKFVO RE9fTElTVCAqKU4KICAvKgkJCQkJCQkJICAgICovCiAgLyogKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIApAQCAtMTky ODYsOCArMTk1MzUsMTAgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgICAgIHJsX2RpbmcgKCk7CiAgICBl bHNlCiAgICAgIHsKLS0tLSBhL3JlYWRsaW5lL3V0aWwuYwotKysrIGIvcmVhZGxpbmUvdXRpbC5j CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGluZS91dGlsLmMKKz09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K Ky0tLSBnZGItNy4yLjkwLjIwMTEwNzAzLm9yaWcvcmVhZGxpbmUvdXRpbC5jCTIwMTEtMDctMDMg MTA6NDA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDcwMy9yZWFkbGlu ZS91dGlsLmMJMjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI0ICsx LDI0IEBACiAgLyogdXRpbC5jIC0tIHJlYWRsaW5lIHV0aWxpdHkgZnVuY3Rpb25zICovCiAgCkBA IC0xOTQ4OCwxMSArMTk3MzksMTEgQEAgbmV3IG1vZGUgMTAwNjQ0CiAtICByZWdpc3RlciBjaGFy IGNoMSwgY2gyOwogKyAgcmVnaXN0ZXIgY2hhciAqczEsICpzMjsKICsgIGludCBkOwotIAotLSAg d2hpbGUgKGNvdW50KQorKwogKyAgaWYgKGNvdW50IDw9IDAgfHwgKHN0cmluZzEgPT0gc3RyaW5n MikpCiArICAgIHJldHVybiAwOwotKworIAorLSAgd2hpbGUgKGNvdW50KQogKyAgczEgPSBzdHJp bmcxOwogKyAgczIgPSBzdHJpbmcyOwogKyAgZG8KQEAgLTE5NTI3LDExICsxOTc3OCwxMSBAQCBu ZXcgbW9kZSAxMDA2NDQKICsKICsgIHMxID0gc3RyaW5nMTsKICsgIHMyID0gc3RyaW5nMjsKLSAK LS0gIHdoaWxlICgqc3RyaW5nMSAmJiAqc3RyaW5nMikKKysKICsgIGlmIChzMSA9PSBzMikKICsg ICAgcmV0dXJuIDA7Ci0rCisgCistICB3aGlsZSAoKnN0cmluZzEgJiYgKnN0cmluZzIpCiArICB3 aGlsZSAoKGQgPSBfcmxfdG9fbG93ZXIgKCpzMSkgLSBfcmxfdG9fbG93ZXIgKCpzMikpID09IDAp CiAgICAgIHsKIC0gICAgICBjaDEgPSAqc3RyaW5nMSsrOwpAQCAtMTk2MjYsOCArMTk4NzcsMTAg QEAgbmV3IG1vZGUgMTAwNjQ0CiArfQogKwogKyNlbmRpZgotLS0tIGEvcmVhZGxpbmUvdmlfa2V5 bWFwLmMKLSsrKyBiL3JlYWRsaW5lL3ZpX2tleW1hcC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDcwMy9yZWFkbGluZS92aV9rZXltYXAuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAx MTA3MDMub3JpZy9yZWFkbGluZS92aV9rZXltYXAuYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvdmlfa2V5bWFwLmMJ MjAxMS0wNy0wMyAxMDo0MToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDI0ICsxLDIzIEBACiAg Lyogdmlfa2V5bWFwLmMgLS0gdGhlIGtleW1hcCBmb3IgdmlfbW9kZSBpbiByZWFkbGluZSAoKS4g Ki8KICAKQEAgLTE5NjY1LDcgKzE5OTE4LDcgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgCiAgI2lmICFk ZWZpbmVkIChCVUZTSVopCiAgI2luY2x1ZGUgPHN0ZGlvLmg+Ci1AQCAtMTUxLDcgKzE1MCw3IEBA IEtFWU1BUF9FTlRSWV9BUlJBWSB2aV9tb3ZlbWVudF9rZXltYXAgPSB7CitAQCAtMTUxLDcgKzE1 MCw3IEBAIEtFWU1BUF9FTlRSWV9BUlJBWSB2aV9tb3ZlbWVudF9rZXltYXAgPSAKICAgIHsgSVNG VU5DLCBybF92aV9jaGFyX3NlYXJjaCB9LAkJLyogZiAqLwogICAgeyBJU0ZVTkMsIChybF9jb21t YW5kX2Z1bmNfdCAqKTB4MCB9LAkJLyogZyAqLwogICAgeyBJU0ZVTkMsIHJsX2JhY2t3YXJkX2No YXIgfSwJCQkvKiBoICovCkBAIC0xOTY3NCw3ICsxOTkyNyw3IEBAIG5ldyBtb2RlIDEwMDY0NAog ICAgeyBJU0ZVTkMsIHJsX2dldF9uZXh0X2hpc3RvcnkgfSwJCS8qIGogKi8KICAgIHsgSVNGVU5D LCBybF9nZXRfcHJldmlvdXNfaGlzdG9yeSB9LAkJLyogayAqLwogICAgeyBJU0ZVTkMsIHJsX2Zv cndhcmRfY2hhciB9LAkJCS8qIGwgKi8KLUBAIC0zMjcsOSArMzI2LDkgQEAgS0VZTUFQX0VOVFJZ X0FSUkFZIHZpX2luc2VydGlvbl9rZXltYXAgPSB7CitAQCAtMzI3LDkgKzMyNiw5IEBAIEtFWU1B UF9FTlRSWV9BUlJBWSB2aV9pbnNlcnRpb25fa2V5bWFwID0KICAgIHsgSVNGVU5DLCBybF9pbnNl cnQgfSwJCQkvKiBDb250cm9sLWsgKi8KICAgIHsgSVNGVU5DLCBybF9pbnNlcnQgfSwJCQkvKiBD b250cm9sLWwgKi8KICAgIHsgSVNGVU5DLCBybF9uZXdsaW5lIH0sCQkJLyogQ29udHJvbC1tICov CkBAIC0xOTY4Niw4ICsxOTkzOSwxMCBAQCBuZXcgbW9kZSAxMDA2NDQKICAgIHsgSVNGVU5DLCBy bF9pbnNlcnQgfSwJCQkvKiBDb250cm9sLXEgKi8KICAgIHsgSVNGVU5DLCBybF9yZXZlcnNlX3Nl YXJjaF9oaXN0b3J5IH0sCS8qIENvbnRyb2wtciAqLwogICAgeyBJU0ZVTkMsIHJsX2ZvcndhcmRf c2VhcmNoX2hpc3RvcnkgfSwJLyogQ29udHJvbC1zICovCi0tLS0gYS9yZWFkbGluZS92aV9tb2Rl LmMKLSsrKyBiL3JlYWRsaW5lL3ZpX21vZGUuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMv cmVhZGxpbmUvdmlfbW9kZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDcwMy5v cmlnL3JlYWRsaW5lL3ZpX21vZGUuYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAwMDAwMDAwMCArMDIw MAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUvdmlfbW9kZS5jCTIwMTEtMDctMDMg MTA6NDE6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyNSArMSwyNSBAQAogIC8qIHZpX21vZGUu YyAtLSBBIHZpIGVtdWxhdGlvbiBtb2RlIGZvciBCYXNoLgogICAgIERlcml2ZWQgZnJvbSBjb2Rl IHdyaXR0ZW4gYnkgSmVmZiBTcGFya2VzIChqc3Bhcmtlc0BibnIuY2EpLiAgKi8KQEAgLTE5NzQy LDcgKzE5OTk3LDcgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgCiAgLyogS2V5bWFwIHVzZWQgZm9yIHZp IHJlcGxhY2UgY2hhcmFjdGVycy4gIENyZWF0ZWQgZHluYW1pY2FsbHkgc2luY2UKICAgICByYXJl bHkgdXNlZC4gKi8KLUBAIC0xMDEsNyArMTAzLDcgQEAgc3RhdGljIGludCBfcmxfdmlfbGFzdF9r ZXlfYmVmb3JlX2luc2VydDsKK0BAIC0xMDEsNyArMTAzLDcgQEAgc3RhdGljIGludCBfcmxfdmlf bGFzdF9rZXlfYmVmb3JlX2luc2VydAogIHN0YXRpYyBpbnQgdmlfcmVkb2luZzsKICAKICAvKiBU ZXh0IG1vZGlmaWNhdGlvbiBjb21tYW5kcy4gIFRoZXNlIGFyZSB0aGUgYHJlZG9hYmxlJyBjb21t YW5kcy4gKi8KQEAgLTE5NzY4LDcgKzIwMDIzLDcgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgc3RhdGlj IGludCBfcmxfdmlfY2FsbGJhY2tfZ2V0Y2hhciBQQVJBTVMoKGNoYXIgKiwgaW50KSk7CiAgCiAg I2lmIGRlZmluZWQgKFJFQURMSU5FX0NBTExCQUNLUykKLUBAIC0xMjQsMTIgKzEzMCwyMyBAQCBz dGF0aWMgaW50IF9ybF92aV9jYWxsYmFja19jaGFuZ2VfY2hhciBQQVJBTVMoKF9ybF9jYWxsYmFj a19nZW5lcmljX2FyZyAqKSk7CitAQCAtMTI0LDEyICsxMzAsMjMgQEAgc3RhdGljIGludCBfcmxf dmlfY2FsbGJhY2tfY2hhbmdlX2NoYXIgUAogIHN0YXRpYyBpbnQgX3JsX3ZpX2NhbGxiYWNrX2No YXJfc2VhcmNoIFBBUkFNUygoX3JsX2NhbGxiYWNrX2dlbmVyaWNfYXJnICopKTsKICAjZW5kaWYK ICAKQEAgLTIwMDYxLDcgKzIwMzE2LDcgQEAgbmV3IG1vZGUgMTAwNjQ0CiArCXJsX251bWVyaWNf YXJnID0gX3JsX2RpZ2l0X3ZhbHVlIChjKTsKICsgICAgICBybF9leHBsaWNpdF9hcmcgPSAxOwog KyAgICAgIHJldHVybiAxOwkJLyoga2VlcCBnb2luZyAqLwotKyAgICB9CisgICAgIH0KICsgIGVs c2UKICsgICAgewogKyAgICAgIHJsX2NsZWFyX21lc3NhZ2UgKCk7CkBAIC0yMDA4OCw5ICsyMDM0 Myw4IEBAIG5ldyBtb2RlIDEwMDY0NAogKyAgICAgIHIgPSBfcmxfdmlfYXJnX2Rpc3BhdGNoIChj KTsKICsgICAgICBpZiAociA8PSAwKQogKwlicmVhazsKLSAgICAgfQotIAotLSAgX3JsX3ZpX2xh c3RfbW90aW9uID0gYzsKKysgICAgfQorKwogKyAgUkxfVU5TRVRTVEFURShSTF9TVEFURV9OVU1F UklDQVJHKTsKICsgIHJldHVybiAoMCk7CiArfQpAQCAtMjAxMjcsNyArMjAzODEsOCBAQCBuZXcg bW9kZSAxMDA2NDQKICt7CiArICB4ZnJlZSAobSk7CiArfQotKworIAorLSAgX3JsX3ZpX2xhc3Rf bW90aW9uID0gYzsKICtzdGF0aWMgaW50CiArcmxfZG9tb3ZlX21vdGlvbl9jYWxsYmFjayAobSkK ICsgICAgIF9ybF92aW1vdGlvbl9jeHQgKm07CkBAIC0yMDIwMiwyOCArMjA0NTcsMjggQEAgbmV3 IG1vZGUgMTAwNjQ0CiArI2VuZGlmCiArICAgICAgLyogU2hvdWxkIGRvIGV2ZXJ5dGhpbmcsIGlu Y2x1ZGluZyB0dXJuaW5nIG9mZiBSTF9TVEFURV9WSU1PVElPTiAqLwogKyAgICAgIHJldHVybiAo cmxfZG9tb3ZlX21vdGlvbl9jYWxsYmFjayAobSkpOwotICAgICB9Ci0tCi0tICBjID0gVU5NRVRB IChjKTsKLS0KLS0gIGlmIChfcmxfZGlnaXRfcCAoYykpCisrICAgIH0KICsgIGVsc2UgaWYgKG0t PmtleSA9PSBjICYmIChtLT5rZXkgPT0gJ2QnIHx8IG0tPmtleSA9PSAneScgfHwgbS0+a2V5ID09 ICdjJykpCi0gICAgIHsKLS0gICAgICBpZiAocmxfZXhwbGljaXRfYXJnKQotLQlybF9udW1lcmlj X2FyZyA9IChybF9udW1lcmljX2FyZyAqIDEwKSArIF9ybF9kaWdpdF92YWx1ZSAoYyk7Ci0tICAg ICAgZWxzZQotLQlybF9udW1lcmljX2FyZyA9IF9ybF9kaWdpdF92YWx1ZSAoYyk7CisrICAgIHsK ICsgICAgICBybF9tYXJrID0gcmxfZW5kOwogKyAgICAgIHJsX2JlZ19vZl9saW5lICgxLCBjKTsK ICsgICAgICBfcmxfdmlfbGFzdF9tb3Rpb24gPSBjOwogKyAgICAgIFJMX1VOU0VUU1RBVEUgKFJM X1NUQVRFX1ZJTU9USU9OKTsKICsgICAgICByZXR1cm4gKHZpZG9tb3ZlX2Rpc3BhdGNoIChtKSk7 Ci0rICAgIH0KKyAgICAgfQorLQorLSAgYyA9IFVOTUVUQSAoYyk7CistCistICBpZiAoX3JsX2Rp Z2l0X3AgKGMpKQogKyNpZiBkZWZpbmVkIChSRUFETElORV9DQUxMQkFDS1MpCiArICAvKiBYWFgg LSB0aGVzZSBuZWVkIHRvIGhhbmRsZSBybF91bml2ZXJzYWxfYXJndW1lbnQgYmluZGluZ3MgKi8K ICsgIC8qIFJlYWRpbmcgdmkgbW90aW9uIGNoYXIgY29udGludWluZyBudW1lcmljIGFyZ3VtZW50 ICovCiArICBlbHNlIGlmIChfcmxfZGlnaXRfcCAoYykgJiYgUkxfSVNTVEFURSAoUkxfU1RBVEVf Q0FMTEJBQ0spICYmIFJMX1ZJTU9WRU5VTUFSRygpKQotKyAgICB7CisgICAgIHsKKy0gICAgICBp ZiAocmxfZXhwbGljaXRfYXJnKQorLQlybF9udW1lcmljX2FyZyA9IChybF9udW1lcmljX2FyZyAq IDEwKSArIF9ybF9kaWdpdF92YWx1ZSAoYyk7CistICAgICAgZWxzZQorLQlybF9udW1lcmljX2Fy ZyA9IF9ybF9kaWdpdF92YWx1ZSAoYyk7CiArICAgICAgcmV0dXJuIChfcmxfdmlfYXJnX2Rpc3Bh dGNoIChjKSk7CiArICAgIH0KICsgIC8qIFJlYWRpbmUgdmkgbW90aW9uIGNoYXIgc3RhcnRpbmcg bnVtZXJpYyBhcmd1bWVudCAqLwpAQCAtMjAzNTksMTAgKzIwNjE0LDEwIEBAIG5ldyBtb2RlIDEw MDY0NAogIHsKIC0gIGludCBjLCBzdGFydF9wb3M7CiArICBpbnQgYywgcjsKLSsKKyAKICsgIF9y bF92aW12Y3h0ID0gX3JsX212Y3h0X2FsbG9jIChWSU1fREVMRVRFLCBrZXkpOwogKyAgX3JsX3Zp bXZjeHQtPnN0YXJ0ID0gcmxfcG9pbnQ7Ci0gCisrCiArICBybF9tYXJrID0gcmxfcG9pbnQ7CiAg ICBpZiAoX3JsX3VwcGVyY2FzZV9wIChrZXkpKQogLSAgICBybF9zdHVmZl9jaGFyICgnJCcpOwpA QCAtMjA2MzcsMjkgKzIwODkyLDMyIEBAIG5ldyBtb2RlIDEwMDY0NAogLSAgICAgICAgY2FzZSAn dCc6CiAtICAgICAgICAgIF9ybF9jc19vcmlnX2RpciA9IF9ybF9jc19kaXIgPSBGVE87CiAtICAg ICAgICAgIGJyZWFrOwotKwl7Ci0rCWNhc2UgJ3QnOgotKwkgIF9ybF9jc19vcmlnX2RpciA9IF9y bF9jc19kaXIgPSBGVE87Ci0rCSAgYnJlYWs7Ci0gCistCiAtICAgICAgICBjYXNlICdUJzoKIC0g ICAgICAgICAgX3JsX2NzX29yaWdfZGlyID0gX3JsX2NzX2RpciA9IEJUTzsKIC0gICAgICAgICAg YnJlYWs7Ci0rCWNhc2UgJ1QnOgotKwkgIF9ybF9jc19vcmlnX2RpciA9IF9ybF9jc19kaXIgPSBC VE87Ci0rCSAgYnJlYWs7Ci0gCistCiAtICAgICAgICBjYXNlICdmJzoKIC0gICAgICAgICAgX3Js X2NzX29yaWdfZGlyID0gX3JsX2NzX2RpciA9IEZGSU5EOwogLSAgICAgICAgICBicmVhazsKLSsJ Y2FzZSAnZic6Ci0rCSAgX3JsX2NzX29yaWdfZGlyID0gX3JsX2NzX2RpciA9IEZGSU5EOwotKwkg IGJyZWFrOwotIAorLQogLSAgICAgICAgY2FzZSAnRic6CiAtICAgICAgICAgIF9ybF9jc19vcmln X2RpciA9IF9ybF9jc19kaXIgPSBCRklORDsKIC0gICAgICAgICAgYnJlYWs7CiAtICAgICAgICB9 CisrCXsKKysJY2FzZSAndCc6CisrCSAgX3JsX2NzX29yaWdfZGlyID0gX3JsX2NzX2RpciA9IEZU TzsKKysJICBicmVhazsKKysKKysJY2FzZSAnVCc6CisrCSAgX3JsX2NzX29yaWdfZGlyID0gX3Js X2NzX2RpciA9IEJUTzsKKysJICBicmVhazsKKysKKysJY2FzZSAnZic6CisrCSAgX3JsX2NzX29y aWdfZGlyID0gX3JsX2NzX2RpciA9IEZGSU5EOworKwkgIGJyZWFrOworKwogKwljYXNlICdGJzoK ICsJICBfcmxfY3Nfb3JpZ19kaXIgPSBfcmxfY3NfZGlyID0gQkZJTkQ7CiArCSAgYnJlYWs7CkBA IC0yMDc5Niw5ICsyMTA1NCwxMSBAQCBuZXcgbW9kZSAxMDA2NDQKICAgICAgewogICAgICAgIHJs X2RpbmcgKCk7CiAgICAgICAgcmV0dXJuIC0xOwotLS0tIC9kZXYvbnVsbAotKysrIGIvcmVhZGxp bmUveGZyZWUuYwotQEAgLTAsMCArMSw1MCBAQAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA3MDMv cmVhZGxpbmUveGZyZWUuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAw OjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUv eGZyZWUuYwkyMDExLTA3LTAzIDEwOjQ0OjQ1LjAwMDAwMDAwMCArMDIwMAorQEAgLTAsMCArMSw1 NyBAQAogKy8qIHhmcmVlLmMgLS0gc2FmZSB2ZXJzaW9uIG9mIGZyZWUgdGhhdCBpZ25vcmVzIGF0 dGVtcHRzIHRvIGZyZWUgTlVMICovCiArCiArLyogQ29weXJpZ2h0IChDKSAxOTkxLTIwMTAgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC0yMDgzMiw3ICsyMTA5MiwxMCBAQCBuZXcg bW9kZSAxMDA2NDQKICsjICBpbmNsdWRlICJhbnNpX3N0ZGxpYi5oIgogKyNlbmRpZiAvKiBIQVZF X1NURExJQl9IICovCiArCisrI2luY2x1ZGUgPHN0ZGlvLmg+CisrCiArI2luY2x1ZGUgInhtYWxs b2MuaCIKKysjaW5jbHVkZSAicmVhZGxpbmUuaCIKICsKICsvKiAqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiArLyoJCQkJ CQkJCSAgICAqLwpAQCAtMjA4NDYsMTEgKzIxMTA5LDE3IEBAIG5ldyBtb2RlIDEwMDY0NAogK3hm cmVlIChzdHJpbmcpCiArICAgICBQVFJfVCBzdHJpbmc7CiAreworKyAgLyogTGVhayBhIGJpdC4g ICovCisrICBpZiAoUkxfSVNTVEFURShSTF9TVEFURV9TSUdIQU5ETEVSKSkKKysgICAgcmV0dXJu OworKwogKyAgaWYgKHN0cmluZykKICsgICAgZnJlZSAoc3RyaW5nKTsKICt9Ci0tLS0gYS9yZWFk bGluZS94bWFsbG9jLmMKLSsrKyBiL3JlYWRsaW5lL3htYWxsb2MuYworSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA3MDMvcmVhZGxpbmUveG1hbGxvYy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45 MC4yMDExMDcwMy5vcmlnL3JlYWRsaW5lL3htYWxsb2MuYwkyMDExLTA3LTAzIDEwOjQwOjUzLjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA3MDMvcmVhZGxpbmUveG1hbGxvYy5j CTIwMTEtMDctMDMgMTA6NDM6NTQuMDAwMDAwMDAwICswMjAwCiBAQCAtMSwyMyArMSwyNCBAQAog IC8qIHhtYWxsb2MuYyAtLSBzYWZlIHZlcnNpb25zIG9mIG1hbGxvYyBhbmQgcmVhbGxvYyAqLwog IApAQCAtMjA4NjYsMTUgKzIxMTM1LDE2IEBAIG5ldyBtb2RlIDEwMDY0NAogLSAgIHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 IHRoZQogLSAgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3Ig KGF0IHlvdXIgb3B0aW9uKSBhbnkKIC0gICBsYXRlciB2ZXJzaW9uLgotKyAgIFJlYWRsaW5lIGlz IGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsg ICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQotKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2 ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KLSAKKy0KIC0gICBSZWFkbGluZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKIC0gICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAtICAgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKIC0gICBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrICAgUmVhZGxpbmUgaXMg ZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAg IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZl cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgorKwogKyAgIFJlYWRsaW5lIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCiArICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICsgICBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkBAIC0yMDg4OSwyMiAr MjExNTksNTAgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgI2RlZmluZSBSRUFETElORV9MSUJSQVJZCiAg CiAgI2lmIGRlZmluZWQgKEhBVkVfQ09ORklHX0gpCi1AQCAtNzYsMTMgKzc3LDMgQEAgeHJlYWxs b2MgKHBvaW50ZXIsIGJ5dGVzKQorQEAgLTMzLDcgKzM0LDYgQEAKKyAjZW5kaWYgLyogSEFWRV9T VERMSUJfSCAqLworIAorICNpbmNsdWRlICJ4bWFsbG9jLmgiCistI2luY2x1ZGUgInJlYWRsaW5l LmgiCisgCisgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKiAqLworIC8qCQkJCQkJCQkgICAgKi8KK0BAIC00MSw5ICs0MSw2 IEBACisgLyoJCQkJCQkJCSAgICAqLworIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKyAKKy0vKiB4bWFsbG9jIGFu ZCB4cmVhbGxvYyBhcmUgcHJvdmlkZWQgYnkgR0RCLiAgKi8KKy0jaWYgMAorLQorIHN0YXRpYyB2 b2lkCisgbWVtb3J5X2Vycm9yX2FuZF9hYm9ydCAoZm5hbWUpCisgICAgICBjaGFyICpmbmFtZTsK K0BAIC04MCwyMSArNzcsMyBAQCB4cmVhbGxvYyAocG9pbnRlciwgYnl0ZXMpCiAgICAgIG1lbW9y eV9lcnJvcl9hbmRfYWJvcnQgKCJ4cmVhbGxvYyIpOwogICAgcmV0dXJuICh0ZW1wKTsKICB9CiAt CistLyogeG1hbGxvYyBhbmQgeHJlYWxsb2MgYXJlIHByb3ZpZGVkIGJ5IEdEQi4gICovCistI2Vu ZGlmIC8qIDAgKi8KKy0KIC0vKiBVc2UgdGhpcyBhcyB0aGUgZnVuY3Rpb24gdG8gY2FsbCB3aGVu IGFkZGluZyB1bndpbmQgcHJvdGVjdHMgc28gd2UKIC0gICBkb24ndCBuZWVkIHRvIGtub3cgd2hh dCBmcmVlKCkgcmV0dXJucy4gKi8KIC12b2lkCiAteGZyZWUgKHN0cmluZykKIC0gICAgIFBUUl9U IHN0cmluZzsKIC17CistICAvKiBMZWFrIGEgYml0LiAgKi8KKy0gIGlmIChSTF9JU1NUQVRFKFJM X1NUQVRFX1NJR0hBTkRMRVIpKQorLSAgICByZXR1cm47CistCistI3VuZGVmIGZyZWUKIC0gIGlm IChzdHJpbmcpCiAtICAgIGZyZWUgKHN0cmluZyk7CiAtfQotLS0tIGEvcmVhZGxpbmUveG1hbGxv Yy5oCi0rKysgYi9yZWFkbGluZS94bWFsbG9jLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNzAz L3JlYWRsaW5lL3htYWxsb2MuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA3MDMu b3JpZy9yZWFkbGluZS94bWFsbG9jLmgJMjAxMS0wNy0wMyAxMDo0MDo1My4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNzAzL3JlYWRsaW5lL3htYWxsb2MuaAkyMDExLTA3LTAz IDEwOjQxOjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsMjQgKzEsMjMgQEAKICAvKiB4bWFsbG9j LmggLS0gbWVtb3J5IGFsbG9jYXRpb24gdGhhdCBhYm9ydHMgb24gZXJyb3JzLiAqLwogIApAQCAt MjA5NDIsMyArMjEyNDAsMTMgQEAgbmV3IG1vZGUgMTAwNjQ0CiAgCiAgI2lmICFkZWZpbmVkIChf WE1BTExPQ19IXykKICAjZGVmaW5lIF9YTUFMTE9DX0hfCitAQCAtNDIsOSArNDEsNiBAQAorIC8q IHhtYWxsb2MgYW5kIHhyZWFsbG9jIHNob3VsZCBiZSBhbHNvIHByb3RlY3RlZCBmcm9tIFJMX1NU QVRFX1NJR0hBTkRMRVIuICAqLworICNkZWZpbmUgeGZyZWUgeGZyZWVfcmVhZGxpbmUKKyAKKy0v KiByZWFkbGluZS01LjEgYmFja3BvcnQuICAqLworLSNkZWZpbmUgZnJlZSB4ZnJlZQorLQorIGV4 dGVybiBQVFJfVCB4bWFsbG9jIFBBUkFNUygoc2l6ZV90KSk7CisgZXh0ZXJuIFBUUl9UIHhyZWFs bG9jIFBBUkFNUygodm9pZCAqLCBzaXplX3QpKTsKKyBleHRlcm4gdm9pZCB4ZnJlZSBQQVJBTVMo KHZvaWQgKikpOwoKZGlmZiAtLWdpdCBhL2dkYi5zcGVjIGIvZ2RiLnNwZWMKaW5kZXggMjVhODMy ZC4uYjdlNTNhNSAxMDA2NDQKLS0tIGEvZ2RiLnNwZWMKKysrIGIvZ2RiLnNwZWMKQEAgLTIzLDEx ICsyMywxMSBAQCBOYW1lOiBnZGIlez9fd2l0aF9kZWJ1ZzotZGVidWd9CiAjIFNldCB2ZXJzaW9u IHRvIGNvbnRlbnRzIG9mIGdkYi92ZXJzaW9uLmluLgogIyBOT1RFOiB0aGUgRlNGIGdkYiB2ZXJz aW9ucyBhcmUgbnVtYmVyZWQgTi5NIGZvciBvZmZpY2lhbCByZWxlYXNlcywgbGlrZSA2LjMKICMg YW5kLCBzaW5jZSBKYW51YXJ5IDIwMDUsIFguWS5aLmRhdGUgZm9yIGRhaWx5IHNuYXBzaG90cywg bGlrZSA2LjMuNTAuMjAwNTAxMTIgIyAoZGFpbHkgc25hcHNob3QgZnJvbSBtYWlsaW5lKSwgb3Ig Ni4zLjAuMjAwNDAxMTIgKGhlYWQgb2YgdGhlIHJlbGVhc2UgYnJhbmNoKS4KLVZlcnNpb246IDcu Mi45MC4yMDExMDUyNQorVmVyc2lvbjogNy4yLjkwLjIwMTEwNzAzCiAKICMgVGhlIHJlbGVhc2Ug YWx3YXlzIGNvbnRhaW5zIGEgbGVhZGluZyByZXNlcnZlZCBudW1iZXIsIHN0YXJ0IGl0IGF0IDEu CiAjIGB1cHN0cmVhbScgaXMgbm90IGEgcGFydCBvZiBgbmFtZScgdG8gc3RheSBmdWxseSBycG0g ZGVwZW5kZW5jaWVzIGNvbXBhdGlibGUgZm9yIHRoZSB0ZXN0aW5nLgotUmVsZWFzZTogMzklez9f d2l0aF91cHN0cmVhbToudXBzdHJlYW19JXs/ZGlzdH0KK1JlbGVhc2U6IDQwJXs/X3dpdGhfdXBz dHJlYW06LnVwc3RyZWFtfSV7P2Rpc3R9CiAKIExpY2Vuc2U6IEdQTHYzKyBhbmQgR1BMdjMrIHdp dGggZXhjZXB0aW9ucyBhbmQgR1BMdjIrIGFuZCBHUEx2Misgd2l0aCBleGNlcHRpb25zIGFuZCBH UEwrIGFuZCBMR1BMdjIrIGFuZCBCU0QgYW5kIFB1YmxpYyBEb21haW4KIEdyb3VwOiBEZXZlbG9w bWVudC9EZWJ1Z2dlcnMKQEAgLTEyNjUsNiArMTI2NSwxMCBAQCBmaQogJXtfaW5mb2Rpcn0vZ2Ri LmluZm8qCiAKICVjaGFuZ2Vsb2cKKyogU3VuIEp1bCAgMyAyMDExIEphbiBLcmF0b2NodmlsIDxq YW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuMi45MC4yMDExMDcwMy00MC5mYzE1CistIFJl YmFzZSB0byBGU0YgR0RCIDcuMi45MC4yMDExMDcwMyAod2hpY2ggaXMgYSA3LjMgcHJlLXJlbGVh c2UpLgorICAtIEFkanVzdCB0aGUgYHByaW50IGVycm5vJyBwYXRjaCBkdWUgdG8gdGhlIERXX0FU X2xpbmthZ2VfbmFtZSBmb2xsb3dpbmcgYWdhaW4uCisKICogRnJpIEp1biAyNCAyMDExIEphbiBL cmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuMi45MC4yMDExMDUyNS0z OS5mYzE1CiAtIEZpeCBpbnN0YWxsLWluZm8gZm9yIHRoZSBnZGItZG9jIHN1YnBhY2thZ2UgKEJa IDcxNTIyOCkuCiAKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCA5OGYxYTA0 Li4wMmUyZmZmIDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEsMiArMSwy IEBACiAwNGU1YzRiMWI5ZTYzMzQyMmNjNDg5OTBmZTYxOTU4ZCAgbGlic3RkYysrLXYzLXB5dGhv bi1yMTU1OTc4LnRhci5iejIKLWI2MTI4ZWIwMzQxZGY1NmQ2NmYwYTM1NThlYmM5ODk5ICBnZGIt Ny4yLjkwLjIwMTEwNTI1LnRhci5iejIKK2JlNjUyMmFkZTFhYzc4YTE2YjEwZWExNjEyMTU4ZDBh ICBnZGItNy4yLjkwLjIwMTEwNzAzLnRhci5iejIK