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: Keith Seitz To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: Add debuginfod support. Date: Sun, 28 Jun 2026 00:00:00 GMT Message-ID: <178260480025.1.6696341785625699341.rpms-gdb-db493ec1a2e1@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: db493ec1a2e13479333c3bbeb8d1012caf46dd55 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGdkYi0xNy4yLXJlYmFzZS1mNDQKQ29tbWl0IDogZGI0OTNlYzFhMmUxMzQ3OTMzM2MzYmJlYjhk MTAxMmNhZjQ2ZGQ1NQpBdXRob3IgOiBLZWl0aCBTZWl0eiA8a2VpdGhzQHJlZGhhdC5jb20+CkRh dGUgICA6IDIwMjAtMDYtMTdUMTA6MzU6NDktMDc6MDAKU3RhdHMgIDogKzEyMDQvLTYgaW4gNSBm aWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2RiL2Mv ZGI0OTNlYzFhMmUxMzQ3OTMzM2MzYmJlYjhkMTAxMmNhZjQ2ZGQ1NT9icmFuY2g9Z2RiLTE3LjIt cmViYXNlLWY0NAoKTG9nOgpBZGQgZGVidWdpbmZvZCBzdXBwb3J0LgoKLS0tCmRpZmYgLS1naXQg YS9fZ2RiLnNwZWMuUGF0Y2guaW5jbHVkZSBiL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRlCmluZGV4 IDc4ZmIwZGQuLjFiZjM3ZTcgMTAwNjQ0Ci0tLSBhL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRlCisr KyBiL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRlCkBAIC00MDgsMyArNDA4LDcgQEAgUGF0Y2gxMDA6 IGdkYi1yaGJ6MTgyOTcwMi1maXgtcHl0aG9uMzkucGF0Y2gKICMgUkggQlogMTg0NDQ1OCAoU2Vy Z2lvIER1cmlnYW4gSnVuaW9yIGFuZCBUb20gVHJvbWV5KQogUGF0Y2gxMDE6IGdkYi1yaGJ6MTg0 NDQ1OC11c2UtZnB1dFhfdW5maWx0ZXJlZC5wYXRjaAogCisjIEJhY2twb3J0IGRlYnVnaW5vZmQg c3VwcG9ydC4KKyMgKEFhcm9uIE1lcmV5LCBSSCBCWiAxODM4NzcpCitQYXRjaDEwMjogZ2RiLXJo YnoxODM4Nzc3LWRlYnVnaW5mb2QucGF0Y2gKKwoKZGlmZiAtLWdpdCBhL19nZGIuc3BlYy5wYXRj aC5pbmNsdWRlIGIvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKaW5kZXggMjAyYTVjYy4uNDhmMDlj ZCAxMDA2NDQKLS0tIGEvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKKysrIGIvX2dkYi5zcGVjLnBh dGNoLmluY2x1ZGUKQEAgLTk5LDMgKzk5LDQgQEAKICVwYXRjaDA5OSAtcDEKICVwYXRjaDEwMCAt cDEKICVwYXRjaDEwMSAtcDEKKyVwYXRjaDEwMiAtcDEKCmRpZmYgLS1naXQgYS9fcGF0Y2hfb3Jk ZXIgYi9fcGF0Y2hfb3JkZXIKaW5kZXggNGYwNjgwMC4uMGZmOTFjNCAxMDA2NDQKLS0tIGEvX3Bh dGNoX29yZGVyCisrKyBiL19wYXRjaF9vcmRlcgpAQCAtOTksMyArOTksNCBAQCBnZGItcmhiejE4 MTgwMTEtYmZkLWdjYzEwLWVycm9yLnBhdGNoCiBnZGItcmhiejE4MjI3MTUtZml4LXB5dGhvbi1k ZXByZWNhdGlvbi5wYXRjaAogZ2RiLXJoYnoxODI5NzAyLWZpeC1weXRob24zOS5wYXRjaAogZ2Ri LXJoYnoxODQ0NDU4LXVzZS1mcHV0WF91bmZpbHRlcmVkLnBhdGNoCitnZGItcmhiejE4Mzg3Nzct ZGVidWdpbmZvZC5wYXRjaAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTgzODc3Ny1kZWJ1Z2luZm9k LnBhdGNoIGIvZ2RiLXJoYnoxODM4Nzc3LWRlYnVnaW5mb2QucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uYzc0ODMyMgotLS0gL2Rldi9udWxsCisrKyBiL2dkYi1yaGJ6 MTgzODc3Ny1kZWJ1Z2luZm9kLnBhdGNoCkBAIC0wLDAgKzEsMTE4OCBAQAorRnJvbSBGRURPUkFf UEFUQ0hFUyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtlaXRoIFNlaXR6IDxrZWl0 aHNAcmVkaGF0LmNvbT4KK0RhdGU6IFR1ZSwgOSBKdW4gMjAyMCAwODoyOTo0MSAtMDcwMAorU3Vi amVjdDogZ2RiLXJoYnoxODM4Nzc3LWRlYnVnaW5mb2QucGF0Y2gKKworOzsgQmFja3BvcnQgZGVi dWdpbm9mZCBzdXBwb3J0LgorOzsgKEFhcm9uIE1lcmV5LCBSSCBCWiAxODM4NzcpCisKK2NvbW1p dCAwZDc5Y2RjNDk0ZDVlYjlkYjI2YTYwMmQ2MmM5MmQ0OWY4M2Y0MDdlCitBdXRob3I6IEFhcm9u IE1lcmV5IDxhbWVyZXlAcmVkaGF0LmNvbT4KK0RhdGU6ICAgV2VkIEZlYiAyNiAxNzo0MDo0OSAy MDIwIC0wNTAwCisKKyAgICBBZGQgZGVidWdpbmZvZCBzdXBwb3J0IHRvIEdEQgorCisgICAgZGVi dWdpbmZvZCBpcyBhIGxpZ2h0d2VpZ2h0IHdlYiBzZXJ2aWNlIHRoYXQgaW5kZXhlcyBFTEYvRFdB UkYgZGVidWdnaW5nCisgICAgcmVzb3VyY2VzIGJ5IGJ1aWxkLWlkIGFuZCBzZXJ2ZXMgdGhlbSBv dmVyIEhUVFAuCisKKyAgICBUaGlzIHBhdGNoIGVuYWJsZXMgR0RCIHRvIHF1ZXJ5IGRlYnVnaW5m b2Qgc2VydmVycyBmb3Igc2VwYXJhdGUgZGVidWcKKyAgICBmaWxlcyBhbmQgc291cmNlIGNvZGUg d2hlbiBpdCBpcyBvdGhlcndpc2Ugbm90IGFibGUgdG8gZmluZCB0aGVtLgorCisgICAgR0RCIGNh biBiZSBidWlsdCB3aXRoIGRlYnVnaW5mb2QgdXNpbmcgdGhlIC0td2l0aC1kZWJ1Z2luZm9kIGNv bmZpZ3VyZQorICAgIG9wdGlvbi4KKworICAgIFRoaXMgcmVxdWlyZXMgdGhhdCBsaWJkZWJ1Z2lu Zm9kIGJlIGluc3RhbGxlZCBhbmQgZm91bmQgYXQgY29uZmlndXJlIHRpbWUuCisKKyAgICBkZWJ1 Z2luZm9kIGlzIHBhY2thZ2VkIHdpdGggZWxmdXRpbHMsIHN0YXJ0aW5nIHdpdGggdmVyc2lvbiAw LjE3OC4KKworICAgIEZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBodHRwczovL3NvdXJjZXdhcmUu b3JnL2VsZnV0aWxzLy4KKworICAgIFRlc3RlZCBvbiB4ODZfNjQgRmVkb3JhIDMxLgorCisgICAg Z2RiL0NoYW5nZUxvZzoKKyAgICAyMDIwLTAyLTI2ICBBYXJvbiBNZXJleSAgPGFtZXJleUByZWRo YXQuY29tPgorCisgICAgICAgICAgICAqIE1ha2VmaWxlLmluOiBIYW5kbGUgb3B0aW9uYWwgZGVi dWdpbmZvZCBzdXBwb3J0LgorICAgICAgICAgICAgKiBORVdTOiBVcGRhdGUuCisgICAgICAgICAg ICAqIFJFQURNRTogQWRkIC0td2l0aC1kZWJ1Z2luZm9kIHN1bW1hcnkuCisgICAgICAgICAgICAq IGNvbmZpZy5pbjogUmVnZW5lcmF0ZS4KKyAgICAgICAgICAgICogY29uZmlndXJlOiBSZWdlbmVy YXRlLgorICAgICAgICAgICAgKiBjb25maWd1cmUuYWM6IEhhbmRsZSBvcHRpb25hbCBkZWJ1Z2lu Zm9kIHN1cHBvcnQuCisgICAgICAgICAgICAqIGRlYnVnaW5mb2Qtc3VwcG9ydC5jOiBkZWJ1Z2lu Zm9kIGhlbHBlciBmdW5jdGlvbnMuCisgICAgICAgICAgICAqIGRlYnVnaW5mb2Qtc3VwcG9ydC5o OiBEaXR0by4KKyAgICAgICAgICAgICogZG9jL2dkYi50ZXhpbmZvOiBBZGQgLS13aXRoLWRlYnVn aW5mb2QgdG8gY29uZmlndXJlIG9wdGlvbnMKKyAgICAgICAgICAgIHN1bW1hcnkuCisgICAgICAg ICAgICAqIGR3YXJmMi9yZWFkLmMgKGR3YXJmMl9nZXRfZHd6X2ZpbGUpOiBRdWVyeSBkZWJ1Z2lu Zm9kIHNlcnZlcnMKKyAgICAgICAgICAgIHdoZW4gYSBkd3ogZmlsZSBjYW5ub3QgYmUgZm91bmQu CisgICAgICAgICAgICAqIGVsZnJlYWQuYyAoZWxmX3N5bWZpbGVfcmVhZCk6IFF1ZXJ5IGRlYnVn aW5mb2Qgc2VydmVycyB3aGVuIGEKKyAgICAgICAgICAgIGRlYnVnaW5mbyBmaWxlIGNhbm5vdCBi ZSBmb3VuZC4KKyAgICAgICAgICAgICogc291cmNlLmMgKG9wZW5fc291cmNlX2ZpbGUpOiBRdWVy eSBkZWJ1Z2luZm9kIHNlcnZlcnMgd2hlbiBhCisgICAgICAgICAgICBzb3VyY2UgZmlsZSBjYW5u b3QgYmUgZm91bmQuCisgICAgICAgICAgICAqIHRvcC5jIChwcmludF9nZGJfY29uZmlndXJhdGlv bik6IEluY2x1ZGUKKyAgICAgICAgICAgIC0te3dpdGgsd2l0aG91dH0tZGVidWdpbmZvZCBpbiB0 aGUgb3V0cHV0LgorCisgICAgZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6CisgICAgMjAyMC0wMi0y NiAgQWFyb24gTWVyZXkgIDxhbWVyZXlAcmVkaGF0LmNvbT4KKworICAgICAgICAgICAgKiBnZGIu ZGVidWdpbmZvZDogTmV3IGRpcmVjdG9yeSBmb3IgZGVidWdpbmZvZCB0ZXN0cy4KKyAgICAgICAg ICAgICogZ2RiLmRlYnVnaW5mb2QvbWFpbi5jOiBOZXcgdGVzdCBmaWxlLgorICAgICAgICAgICAg KiBnZGIuZGVidWdpbmZvZC9mZXRjaF9zcmNfYW5kX3N5bWJvbHMuZXhwOiBOZXcgdGVzdHMuCisK K2RpZmYgLS1naXQgYS9jb25maWcvZGVidWdpbmZvZC5tNCBiL2NvbmZpZy9kZWJ1Z2luZm9kLm00 CituZXcgZmlsZSBtb2RlIDEwMDY0NAorLS0tIC9kZXYvbnVsbAorKysrIGIvY29uZmlnL2RlYnVn aW5mb2QubTQKK0BAIC0wLDAgKzEsMzggQEAKKytkbmwgQ29weXJpZ2h0IChDKSAxOTk3LTIwMTkg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrZG5sIFRoaXMgZmlsZSBpcyBmcmVlIHNv ZnR3YXJlLCBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVQorK2RubCBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlLiAgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR05VIEdl bmVyYWwKKytkbmwgUHVibGljIExpY2Vuc2UsIHRoaXMgZmlsZSBtYXkgYmUgZGlzdHJpYnV0ZWQg YXMgcGFydCBvZiBhIHByb2dyYW0KKytkbmwgdGhhdCBjb250YWlucyBhIGNvbmZpZ3VyYXRpb24g c2NyaXB0IGdlbmVyYXRlZCBieSBBdXRvY29uZiwgdW5kZXIKKytkbmwgdGhlIHNhbWUgZGlzdHJp YnV0aW9uIHRlcm1zIGFzIHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KKysKKytBQ19ERUZVTihb QUNfREVCVUdJTkZPRF0sCisrWworKyMgRW5hYmxlIGRlYnVnaW5mb2QKKytBQ19BUkdfV0lUSChb ZGVidWdpbmZvZF0sCisrICAgICAgICBBQ19IRUxQX1NUUklORyhbLS13aXRoLWRlYnVnaW5mb2Rd LAorKyAgICAgICAgICAgICAgICAgICAgICAgW0VuYWJsZSBkZWJ1Z2luZm8gbG9va3VwcyB3aXRo IGRlYnVnaW5mb2QgKGF1dG8veWVzL25vKV0pLAorKyAgICAgICAgW10sIFt3aXRoX2RlYnVnaW5m b2Q9YXV0b10pCisrQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIHVzZSBkZWJ1Z2luZm9kXSkK KytBQ19NU0dfUkVTVUxUKFskd2l0aF9kZWJ1Z2luZm9kXSkKKysKKytpZiB0ZXN0ICIke3dpdGhf ZGVidWdpbmZvZH0iID0gbm87IHRoZW4KKysgIEFDX01TR19XQVJOKFtkZWJ1Z2luZm9kIHN1cHBv cnQgZGlzYWJsZWQ7IHNvbWUgZmVhdHVyZXMgbWF5IGJlIHVuYXZhaWxhYmxlLl0pCisrZWxzZQor KyAgQUNfQ0hFQ0tfTElCKFtkZWJ1Z2luZm9kXSwgW2RlYnVnaW5mb2RfYmVnaW5dLCBbaGF2ZV9k ZWJ1Z2luZm9kX2xpYj15ZXNdKQorKyAgQUNfQ0hFQ0tfREVDTChbZGVidWdpbmZvZF9iZWdpbl0s IFtoYXZlX2RlYnVnaW5mb2RfaD15ZXNdLCBbXSwKKysgICAgICAgICAgICAgICAgWyNpbmNsdWRl IDxlbGZ1dGlscy9kZWJ1Z2luZm9kLmg+XSkKKysgIGlmIHRlc3QgIngkaGF2ZV9kZWJ1Z2luZm9k X2xpYiIgPSAieHllcyIgLWEgXAorKyAgICAgICAgICAieCRoYXZlX2RlYnVnaW5mb2RfaCIgPSAi eHllcyI7IHRoZW4KKysgICAgQUNfREVGSU5FKFtIQVZFX0xJQkRFQlVHSU5GT0RdLCBbMV0sCisr ICAgICAgICAgICAgICBbRGVmaW5lIHRvIDEgaWYgZGVidWdpbmZvZCBpcyBlbmFibGVkLl0pCisr ICAgIEFDX1NVQlNUKFtMSUJERUJVR0lORk9EXSwgWyItbGRlYnVnaW5mb2QiXSkKKysgIGVsc2UK KysgICAgQUNfU1VCU1QoW0xJQkRFQlVHSU5GT0RdLCBbXSkKKysgICAgaWYgdGVzdCAiJHdpdGhf ZGVidWdpbmZvZCIgPSB5ZXM7IHRoZW4KKysgICAgICBBQ19NU0dfRVJST1IoW2RlYnVnaW5mb2Qg aXMgbWlzc2luZyBvciB1bnVzYWJsZV0pCisrICAgIGVsc2UKKysgICAgICBBQ19NU0dfV0FSTihb ZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxlOyBzb21lIGZlYXR1cmVzIG1heSBiZSB1 bmF2YWlsYWJsZS5dKQorKyAgICBmaQorKyAgZmkKKytmaQorK10pCitkaWZmIC0tZ2l0IGEvZ2Ri L01ha2VmaWxlLmluIGIvZ2RiL01ha2VmaWxlLmluCistLS0gYS9nZGIvTWFrZWZpbGUuaW4KKysr KyBiL2dkYi9NYWtlZmlsZS5pbgorQEAgLTYxMiw3ICs2MTIsOCBAQCBDTElCUyA9ICQoU0lNKSAk KFJFQURMSU5FKSAkKE9QQ09ERVMpICQoQkZEKSAkKExJQkNURikgJChaTElCKSBcCisgCUBMSUJT QCBAR1VJTEVfTElCU0AgQFBZVEhPTl9MSUJTQCBcCisgCSQoTElCRVhQQVQpICQoTElCTFpNQSkg JChMSUJCQUJFTFRSQUNFKSAkKExJQklQVCkgXAorIAkkKExJQklCRVJUWSkgJChXSU4zMkxJQlMp ICQoTElCR05VKSAkKExJQklDT05WKSAkKExJQk1QRlIpIFwKKy0JJChTUkNISUdIX0xJQlMpICQo TElCWFhIQVNIKSAkKFBUSFJFQURfTElCUykKKysJJChTUkNISUdIX0xJQlMpICQoTElCWFhIQVNI KSAkKFBUSFJFQURfTElCUykgXAorKwlATElCREVCVUdJTkZPREAKKyBDREVQUyA9ICQoTkFUX0NE RVBTKSAkKFNJTSkgJChCRkQpICQoUkVBRExJTkVfREVQUykgJChMSUJDVEYpIFwKKyAJJChPUENP REVTKSAkKElOVExfREVQUykgJChMSUJJQkVSVFkpICQoQ09ORklHX0RFUFMpICQoTElCR05VKQor IAorQEAgLTEwMTYsNiArMTAxNyw3IEBAIENPTU1PTl9TRklMRVMgPSBcCisgCWRieHJlYWQuYyBc CisgCWRjYWNoZS5jIFwKKyAJZGVidWcuYyBcCisrCWRlYnVnaW5mb2Qtc3VwcG9ydC5jIFwKKyAJ ZGljdGlvbmFyeS5jIFwKKyAJZGlzYXNtLmMgXAorIAlkaXNhc20tc2VsZnRlc3RzLmMgXAorZGlm ZiAtLWdpdCBhL2dkYi9ORVdTIGIvZ2RiL05FV1MKKy0tLSBhL2dkYi9ORVdTCisrKysgYi9nZGIv TkVXUworQEAgLTkzMiw2ICs5MzIsMjAgQEAgU0gtNS9TSDY0IHJ1bm5pbmcgT3BlbkJTRCAJU0gt NS9TSDY0IHN1cHBvcnQgaW4gc2gqLSotb3BlbmJzZCoKKyAgICAgIG1hbnVhbCBmb3IgYSBmdXJ0 aGVyIGRlc2NyaXB0aW9uIG9mIHRoaXMgZmVhdHVyZS4KKyAKKyAKKysqIEdEQiBub3cgc3VwcG9y dHMgZGVidWdpbmZvZCwgYW4gSFRUUCBzZXJ2ZXIgZm9yIGRpc3RyaWJ1dGluZyBFTEYvRFdBUkYK KysgIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHNvdXJjZSBjb2RlLgorKworKyAg V2hlbiBidWlsdCB3aXRoIGRlYnVnaW5mb2QsIEdEQiBjYW4gYXV0b21hdGljYWxseSBxdWVyeSBk ZWJ1Z2luZm9kCisrICBzZXJ2ZXJzIGZvciB0aGUgc2VwYXJhdGUgZGVidWcgZmlsZXMgYW5kIHNv dXJjZSBjb2RlIG9mIHRoZSBleGVjdXRhYmxlCisrICBiZWluZyBkZWJ1Z2dlZC4KKysKKysgIFRv IGJ1aWxkIEdEQiB3aXRoIGRlYnVnaW5mb2QsIHBhc3MgLS13aXRoLWRlYnVnaW5mb2QgdG8gY29u ZmlndXJlICh0aGlzCisrICByZXF1aXJlcyBsaWJkZWJ1Z2luZm9kLCB0aGUgZGVidWdpbmZvZCBj bGllbnQgbGlicmFyeSkuCisrCisrICBkZWJ1Z2luZm9kIGlzIGRpc3RyaWJ1dGVkIHdpdGggZWxm dXRpbHMsIHN0YXJ0aW5nIHdpdGggdmVyc2lvbiAwLjE3OC4KKysKKysgIFlvdSBjYW4gZ2V0IHRo ZSBsYXRlc3QgdmVyc2lvbiBmcm9tIGh0dHBzOi8vc291cmNld2FyZS5vcmcvZWxmdXRpbHMuCisr CisgKiBOZXcgZmVhdHVyZXMgaW4gdGhlIEdEQiByZW1vdGUgc3R1YiwgR0RCc2VydmVyCisgCisg ICAqKiBHREJzZXJ2ZXIgaXMgbm93IGFibGUgdG8gc3RhcnQgaW5mZXJpb3IgcHJvY2Vzc2VzIHdp dGggYQorZGlmZiAtLWdpdCBhL2dkYi9SRUFETUUgYi9nZGIvUkVBRE1FCistLS0gYS9nZGIvUkVB RE1FCisrKysgYi9nZGIvUkVBRE1FCitAQCAtNDMyLDYgKzQzMiwxNSBAQCBtb3JlIG9ic2N1cmUg R0RCIGBjb25maWd1cmUnIG9wdGlvbnMgYXJlIG5vdCBsaXN0ZWQgaGVyZS4KKyAgICAgIFVzZSB0 aGUgY3Vyc2VzIGxpYnJhcnkgaW5zdGVhZCBvZiB0aGUgdGVybWNhcCBsaWJyYXJ5LCBmb3IKKyAg ICAgIHRleHQtbW9kZSB0ZXJtaW5hbCBvcGVyYXRpb25zLgorIAorK2AtLXdpdGgtZGVidWdpbmZv ZCcKKysgICAgIEJ1aWxkIEdEQiB3aXRoIGxpYmRlYnVnaW5mb2QsIHRoZSBkZWJ1Z2luZm9kIGNs aWVudCBsaWJyYXJ5LiAgVXNlZAorKyAgICAgdG8gYXV0b21hdGljYWxseSBmZXRjaCBzb3VyY2Ug ZmlsZXMgYW5kIHNlcGFyYXRlIGRlYnVnIGZpbGVzIGZyb20KKysgICAgIGRlYnVnaW5mb2Qgc2Vy dmVycyB1c2luZyB0aGUgYXNzb2NpYXRlZCBleGVjdXRhYmxlJ3MgYnVpbGQgSUQuCisrICAgICBF bmFibGVkIGJ5IGRlZmF1bHQgaWYgbGliZGVidWdpbmZvZCBpcyBpbnN0YWxsZWQgYW5kIGZvdW5k IGF0CisrICAgICBjb25maWd1cmUgdGltZS4gIGRlYnVnaW5mb2QgaXMgcGFja2FnZWQgd2l0aCBl bGZ1dGlscywgc3RhcnRpbmcKKysgICAgIHdpdGggdmVyc2lvbiAwLjE3OC4gIFlvdSBjYW4gZ2V0 IHRoZSBsYXRlc3QgdmVyc2lvbiBmcm9tCisrICAgICAnaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9l bGZ1dGlscy8nLgorKworIGAtLXdpdGgtbGlidW53aW5kLWlhNjQnCisgICAgICBVc2UgdGhlIGxp YnVud2luZCBsaWJyYXJ5IGZvciB1bndpbmRpbmcgZnVuY3Rpb24gY2FsbCBzdGFjayBvbiBpYTY0 CisgICAgICB0YXJnZXQgcGxhdGZvcm1zLgorZGlmZiAtLWdpdCBhL2dkYi9jb25maWcuaW4gYi9n ZGIvY29uZmlnLmluCistLS0gYS9nZGIvY29uZmlnLmluCisrKysgYi9nZGIvY29uZmlnLmluCitA QCAtMjMwLDYgKzIzMCw5IEBACisgLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBiYWJlbHRyYWNl IGxpYnJhcnkuICovCisgI3VuZGVmIEhBVkVfTElCQkFCRUxUUkFDRQorIAorKy8qIERlZmluZSB0 byAxIGlmIGRlYnVnaW5mb2QgaXMgZW5hYmxlZC4gKi8KKysjdW5kZWYgSEFWRV9MSUJERUJVR0lO Rk9ECisrCisgLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBleHBhdCBsaWJyYXJ5LiAqLworICN1 bmRlZiBIQVZFX0xJQkVYUEFUCisgCitkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9j b25maWd1cmUKKy0tLSBhL2dkYi9jb25maWd1cmUKKysrKyBiL2dkYi9jb25maWd1cmUKK0BAIC03 NTgsNiArNzU4LDcgQEAgUkVQT1JUX0JVR1NfVEVYSQorIFJFUE9SVF9CVUdTX1RPCisgUEtHVkVS U0lPTgorIENPREVTSUdOX0NFUlQKKytMSUJERUJVR0lORk9ECisgSEFWRV9OQVRJVkVfR0NPUkVf VEFSR0VUCisgVEFSR0VUX09CUworIHN1YmRpcnMKK0BAIC04NzUsNiArODc2LDcgQEAgZW5hYmxl XzY0X2JpdF9iZmQKKyBlbmFibGVfZ2RibWkKKyBlbmFibGVfdHVpCisgZW5hYmxlX2dkYnRrCisr d2l0aF9kZWJ1Z2luZm9kCisgd2l0aF9saWJ1bndpbmRfaWE2NAorIHdpdGhfY3Vyc2VzCisgZW5h YmxlX3Byb2ZpbGluZworQEAgLTE2MTEsNiArMTYxMyw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IGF1dG8tbG9hZGVkIGZp bGVzIGxvY2F0aW9ucworICAgLS13aXRoLXJwbSAgICAgICAgICAgICAgcXVlcnkgcnBtIGRhdGFi YXNlIGZvciBtaXNzaW5nIGRlYnVnaW5mb3MgKHllcy9ubywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRlZi4gYXV0bz1saWJycG0uc28pCisrICAtLXdpdGgtZGVidWdpbmZvZCAgICAgICBF bmFibGUgZGVidWdpbmZvIGxvb2t1cHMgd2l0aCBkZWJ1Z2luZm9kCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAoYXV0by95ZXMvbm8pCisgICAtLXdpdGgtbGlidW53aW5kLWlhNjQgICB1c2Ug bGlidW53aW5kIGZyYW1lIHVud2luZGluZyBmb3IgaWE2NCB0YXJnZXRzCisgICAtLXdpdGgtY3Vy c2VzICAgICAgICAgICB1c2UgdGhlIGN1cnNlcyBsaWJyYXJ5IGluc3RlYWQgb2YgdGhlIHRlcm1j YXAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcnkKK0BAIC0yMjcxLDYgKzIyNzUs NTIgQEAgcm0gLWYgY29uZnRlc3QudmFsCisgCisgfSAjIGFjX2ZuX2NfY29tcHV0ZV9pbnQKKyAK KysjIGFjX2ZuX2NfY2hlY2tfZGVjbCBMSU5FTk8gU1lNQk9MIFZBUiBJTkNMVURFUworKyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBUZXN0cyB3aGV0 aGVyIFNZTUJPTCBpcyBkZWNsYXJlZCBpbiBJTkNMVURFUywgc2V0dGluZyBjYWNoZSB2YXJpYWJs ZSBWQVIKKysjIGFjY29yZGluZ2x5LgorK2FjX2ZuX2NfY2hlY2tfZGVjbCAoKQorK3sKKysgIGFz X2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNfbGluZW5vX3N0YWNr PSRhc19saW5lbm9fc3RhY2sKKysgIGFzX2RlY2xfbmFtZT1gZWNobyAkMnxzZWQgJ3MvICooLiov LydgCisrICBhc19kZWNsX3VzZT1gZWNobyAkMnxzZWQgLWUgJ3MvKC8oKC8nIC1lICdzLykvKSAw Ji8nIC1lICdzLywvKSAwJiAoL2cnYAorKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v LSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICRhc19kZWNsX25hbWUgaXMgZGVjbGFyZWQiID4m NQorKyRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgJGFzX2RlY2xfbmFtZSBpcyBkZWNsYXJl ZC4uLiAiID4mNjsgfQorK2lmIGV2YWwgXCR7JDMrOn0gZmFsc2U7IHRoZW4gOgorKyAgJGFzX2Vj aG9fbiAiKGNhY2hlZCkgIiA+JjYKKytlbHNlCisrICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9G ID5jb25mdGVzdC4kYWNfZXh0CisrLyogZW5kIGNvbmZkZWZzLmguICAqLworKyQ0CisraW50Cisr bWFpbiAoKQorK3sKKysjaWZuZGVmICRhc19kZWNsX25hbWUKKysjaWZkZWYgX19jcGx1c3BsdXMK KysgICh2b2lkKSAkYXNfZGVjbF91c2U7CisrI2Vsc2UKKysgICh2b2lkKSAkYXNfZGVjbF9uYW1l OworKyNlbmRpZgorKyNlbmRpZgorKworKyAgOworKyAgcmV0dXJuIDA7CisrfQorK19BQ0VPRgor K2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKysgIGV2YWwgIiQzPXll cyIKKytlbHNlCisrICBldmFsICIkMz1ubyIKKytmaQorK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJy IGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorK2ZpCisrZXZhbCBhY19yZXM9 XCQkMworKwkgICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy ZXN1bHQ6ICRhY19yZXMiID4mNQorKyRhc19lY2hvICIkYWNfcmVzIiA+JjY7IH0KKysgIGV2YWwg JGFzX2xpbmVub19zdGFjazsgJHthc19saW5lbm9fc3RhY2s6Kzp9IHVuc2V0IGFzX2xpbmVubwor KworK30gIyBhY19mbl9jX2NoZWNrX2RlY2wKKysKKyAjIGFjX2ZuX2NfY2hlY2tfZnVuYyBMSU5F Tk8gRlVOQyBWQVIKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIFRl c3RzIHdoZXRoZXIgRlVOQyBleGlzdHMsIHNldHRpbmcgdGhlIGNhY2hlIHZhcmlhYmxlIFZBUiBh Y2NvcmRpbmdseQorQEAgLTI0NDksNTIgKzI0OTksNiBAQCAkYXNfZWNobyAiJGFjX3JlcyIgPiY2 OyB9CisgCisgfSAjIGFjX2ZuX2NfY2hlY2tfdHlwZQorIAorLSMgYWNfZm5fY19jaGVja19kZWNs IExJTkVOTyBTWU1CT0wgVkFSIElOQ0xVREVTCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFRlc3RzIHdoZXRoZXIgU1lNQk9MIGlzIGRlY2xhcmVk IGluIElOQ0xVREVTLCBzZXR0aW5nIGNhY2hlIHZhcmlhYmxlIFZBUgorLSMgYWNjb3JkaW5nbHku CistYWNfZm5fY19jaGVja19kZWNsICgpCisteworLSAgYXNfbGluZW5vPSR7YXNfbGluZW5vLSIk MSJ9IGFzX2xpbmVub19zdGFjaz1hc19saW5lbm9fc3RhY2s9JGFzX2xpbmVub19zdGFjaworLSAg YXNfZGVjbF9uYW1lPWBlY2hvICQyfHNlZCAncy8gKiguKi8vJ2AKKy0gIGFzX2RlY2xfdXNlPWBl Y2hvICQyfHNlZCAtZSAncy8oLygoLycgLWUgJ3MvKS8pIDAmLycgLWUgJ3MvLC8pIDAmICgvZydg CistICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdo ZXRoZXIgJGFzX2RlY2xfbmFtZSBpcyBkZWNsYXJlZCIgPiY1CistJGFzX2VjaG9fbiAiY2hlY2tp bmcgd2hldGhlciAkYXNfZGVjbF9uYW1lIGlzIGRlY2xhcmVkLi4uICIgPiY2OyB9CistaWYgZXZh bCBcJHskMys6fSBmYWxzZTsgdGhlbiA6CistICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgor LWVsc2UKKy0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy0v KiBlbmQgY29uZmRlZnMuaC4gICovCistJDQKKy1pbnQKKy1tYWluICgpCisteworLSNpZm5kZWYg JGFzX2RlY2xfbmFtZQorLSNpZmRlZiBfX2NwbHVzcGx1cworLSAgKHZvaWQpICRhc19kZWNsX3Vz ZTsKKy0jZWxzZQorLSAgKHZvaWQpICRhc19kZWNsX25hbWU7CistI2VuZGlmCistI2VuZGlmCist CistICA7CistICByZXR1cm4gMDsKKy19CistX0FDRU9GCistaWYgYWNfZm5fY190cnlfY29tcGls ZSAiJExJTkVOTyI7IHRoZW4gOgorLSAgZXZhbCAiJDM9eWVzIgorLWVsc2UKKy0gIGV2YWwgIiQz PW5vIgorLWZpCistcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBj b25mdGVzdC4kYWNfZXh0CistZmkKKy1ldmFsIGFjX3Jlcz1cJCQzCistCSAgICAgICB7ICRhc19l Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX3JlcyIgPiY1Cist JGFzX2VjaG8gIiRhY19yZXMiID4mNjsgfQorLSAgZXZhbCAkYXNfbGluZW5vX3N0YWNrOyAke2Fz X2xpbmVub19zdGFjazorOn0gdW5zZXQgYXNfbGluZW5vCistCistfSAjIGFjX2ZuX2NfY2hlY2tf ZGVjbAorLQorICMgYWNfZm5fY3h4X3RyeV9saW5rIExJTkVOTworICMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorICMgVHJ5IHRvIGxpbmsgY29uZnRlc3QuJGFjX2V4dCwgYW5kIHJldHVybiB3 aGV0aGVyIHRoaXMgc3VjY2VlZGVkLgorQEAgLTY2NTgsOCArNjY2Miw4IEBAICRhc19lY2hvX24g ImNoZWNraW5nIHNwZWNpZmljIGxpYnJwbSB2ZXJzaW9uLi4uICIgPiY2OyB9CisgICBpZiB0ZXN0 ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbiA6CisgICB7IHsgJGFzX2VjaG8gIiRhc19t ZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKKyAkYXNf ZWNobyAiJGFzX21lOiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mMjt9CistYXNfZm5fZXJyb3Ig ImNhbm5vdCBydW4gdGVzdCBwcm9ncmFtIHdoaWxlIGNyb3NzIGNvbXBpbGluZworLVNlZSBcYGNv bmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiAiJExJTkVOTyIgNTsgfQorK2FzX2ZuX2Vycm9y ICQ/ICJjYW5ub3QgcnVuIHRlc3QgcHJvZ3JhbSB3aGlsZSBjcm9zcyBjb21waWxpbmcKKytTZWUg XGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzIiAiJExJTkVOTyIgNTsgfQorIGVsc2UKKyAg IGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKyAvKiBlbmQgY29u ZmRlZnMuaC4gICovCitAQCAtNjgzMCw3ICs2ODM0LDcgQEAgJGFzX2VjaG8gIiNkZWZpbmUgSEFW RV9MSUJSUE0gMSIgPj5jb25mZGVmcy5oCisgJGFzX2VjaG8gIm5vIiA+JjY7IH0KKyAgICAgTElC Uz0iJHNhdmVfTElCUyIKKyAgICAgaWYgJERMT1BFTl9SRVFVSVJFOyB0aGVuCistICAgICAgYXNf Zm5fZXJyb3IgIlNwZWNpZmljIG5hbWUgJExJQlJQTSB3YXMgcmVxdWVzdGVkIGJ1dCBpdCBjb3Vs ZCBub3QgYmUgb3BlbmVkLiIgIiRMSU5FTk8iIDUKKysgICAgICBhc19mbl9lcnJvciAkPyAiU3Bl Y2lmaWMgbmFtZSAkTElCUlBNIHdhcyByZXF1ZXN0ZWQgYnV0IGl0IGNvdWxkIG5vdCBiZSBvcGVu ZWQuIiAiJExJTkVOTyIgNQorICAgICBmaQorIAorIAorQEAgLTY4NDUsNyArNjg0OSw3IEBAIGlm IHRlc3QgIngkYWNfY3ZfZW52X1BLR19DT05GSUdfc2V0IiAhPSAieHNldCI7IHRoZW4KKyBzZXQg ZHVtbXkgJHthY190b29sX3ByZWZpeH1wa2ctY29uZmlnOyBhY193b3JkPSQyCisgeyAkYXNfZWNo byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4m NQorICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQorLWlmIHRl c3QgIiR7YWNfY3ZfcGF0aF9QS0dfQ09ORklHK3NldH0iID0gc2V0OyB0aGVuIDoKKytpZiAke2Fj X2N2X3BhdGhfUEtHX0NPTkZJRys6fSBmYWxzZTsgdGhlbiA6CisgICAkYXNfZWNob19uICIoY2Fj aGVkKSAiID4mNgorIGVsc2UKKyAgIGNhc2UgJFBLR19DT05GSUcgaW4KK0BAIC02ODU5LDcgKzY4 NjMsNyBAQCBkbworICAgSUZTPSRhc19zYXZlX0lGUworICAgdGVzdCAteiAiJGFzX2RpciIgJiYg YXNfZGlyPS4KKyAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVu c2lvbnM7IGRvCistICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQi ICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCisr ICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0 aGVuCisgICAgIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVj X2V4dCIKKyAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQg JGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgIGJyZWFrIDIKK0BAIC02ODg4 LDcgKzY4OTIsNyBAQCBpZiB0ZXN0IC16ICIkYWNfY3ZfcGF0aF9QS0dfQ09ORklHIjsgdGhlbgor IHNldCBkdW1teSBwa2ctY29uZmlnOyBhY193b3JkPSQyCisgeyAkYXNfZWNobyAiJGFzX21lOiR7 YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorICRhc19lY2hv X24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQorLWlmIHRlc3QgIiR7YWNfY3Zf cGF0aF9hY19wdF9QS0dfQ09ORklHK3NldH0iID0gc2V0OyB0aGVuIDoKKytpZiAke2FjX2N2X3Bh dGhfYWNfcHRfUEtHX0NPTkZJRys6fSBmYWxzZTsgdGhlbiA6CisgICAkYXNfZWNob19uICIoY2Fj aGVkKSAiID4mNgorIGVsc2UKKyAgIGNhc2UgJGFjX3B0X1BLR19DT05GSUcgaW4KK0BAIC02OTAy LDcgKzY5MDYsNyBAQCBkbworICAgSUZTPSRhc19zYXZlX0lGUworICAgdGVzdCAteiAiJGFzX2Rp ciIgJiYgYXNfZGlyPS4KKyAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxl X2V4dGVuc2lvbnM7IGRvCistICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhl Y19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0 aGVuCisrICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19l eHQiOyB0aGVuCisgICAgIGFjX2N2X3BhdGhfYWNfcHRfUEtHX0NPTkZJRz0iJGFzX2Rpci8kYWNf d29yZCRhY19leGVjX2V4dCIKKyAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO RU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgIGJyZWFr IDIKK0BAIC03MDg2LDcgKzcwOTAsNyBAQCAkYXNfZWNobyAiI2RlZmluZSBIQVZFX0xJQlJQTSAx IiA+PmNvbmZkZWZzLmgKKyAgICAgICBMSUJTPSIkTElCUyAkUlBNX0xJQlMiCisgICAgIGVsc2UK KyAgICAgICBpZiAkUlBNX1JFUVVJUkU7IHRoZW4KKy0JYXNfZm5fZXJyb3IgIiRSUE1fUEtHX0VS Uk9SUyIgIiRMSU5FTk8iIDUKKysJYXNfZm5fZXJyb3IgJD8gIiRSUE1fUEtHX0VSUk9SUyIgIiRM SU5FTk8iIDUKKyAgICAgICBlbHNlCisgCXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k TElORU5PfTogV0FSTklORzogJFJQTV9QS0dfRVJST1JTIiA+JjUKKyAkYXNfZWNobyAiJGFzX21l OiBXQVJOSU5HOiAkUlBNX1BLR19FUlJPUlMiID4mMjt9CitAQCAtNzMzMiw4ICs3MzM2LDkyIEBA ICRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IGdkYnRrIGlzbid0IHN1cHBvcnRlZCBvbiAkaG9z dDsgZGlzYWJsaW5nIiA+JjI7fQorICAgICBlbmFibGVfZ2RidGs9bm8gOzsKKyBlc2FjCisgCist IyBMaWJ1bndpbmQgc3VwcG9ydCBmb3IgaWE2NC4KKysjIEhhbmRsZSBvcHRpb25hbCBkZWJ1Z2lu Zm9kIHN1cHBvcnQKKysKKysjIEVuYWJsZSBkZWJ1Z2luZm9kCisrCisrIyBDaGVjayB3aGV0aGVy IC0td2l0aC1kZWJ1Z2luZm9kIHdhcyBnaXZlbi4KKytpZiB0ZXN0ICIke3dpdGhfZGVidWdpbmZv ZCtzZXR9IiA9IHNldDsgdGhlbiA6CisrICB3aXRodmFsPSR3aXRoX2RlYnVnaW5mb2Q7CisrZWxz ZQorKyAgd2l0aF9kZWJ1Z2luZm9kPWF1dG8KKytmaQorKworK3sgJGFzX2VjaG8gIiRhc19tZTok e2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciB0byB1c2UgZGVidWdpbmZvZCIg PiY1CisrJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0byB1c2UgZGVidWdpbmZvZC4uLiAi ID4mNjsgfQorK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0 OiAkd2l0aF9kZWJ1Z2luZm9kIiA+JjUKKyskYXNfZWNobyAiJHdpdGhfZGVidWdpbmZvZCIgPiY2 OyB9CisrCisraWYgdGVzdCAiJHt3aXRoX2RlYnVnaW5mb2R9IiA9IG5vOyB0aGVuCisrICB7ICRh c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IGRlYnVnaW5mb2Qg c3VwcG9ydCBkaXNhYmxlZDsgc29tZSBmZWF0dXJlcyBtYXkgYmUgdW5hdmFpbGFibGUuIiA+JjUK KyskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBkZWJ1Z2luZm9kIHN1cHBvcnQgZGlzYWJsZWQ7 IHNvbWUgZmVhdHVyZXMgbWF5IGJlIHVuYXZhaWxhYmxlLiIgPiYyO30KKytlbHNlCisrICB7ICRh c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBkZWJ1Z2lu Zm9kX2JlZ2luIGluIC1sZGVidWdpbmZvZCIgPiY1CisrJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9y IGRlYnVnaW5mb2RfYmVnaW4gaW4gLWxkZWJ1Z2luZm9kLi4uICIgPiY2OyB9CisraWYgJHthY19j dl9saWJfZGVidWdpbmZvZF9kZWJ1Z2luZm9kX2JlZ2luKzp9IGZhbHNlOyB0aGVuIDoKKysgICRh c19lY2hvX24gIihjYWNoZWQpICIgPiY2CisrZWxzZQorKyAgYWNfY2hlY2tfbGliX3NhdmVfTElC Uz0kTElCUworK0xJQlM9Ii1sZGVidWdpbmZvZCAgJExJQlMiCisrY2F0IGNvbmZkZWZzLmggLSA8 PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKysKKysv KiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4K KysgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg YSBHQ0MKKysgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg c3RpbGwgYXBwbHkuICAqLworKyNpZmRlZiBfX2NwbHVzcGx1cworK2V4dGVybiAiQyIKKysjZW5k aWYKKytjaGFyIGRlYnVnaW5mb2RfYmVnaW4gKCk7CisraW50CisrbWFpbiAoKQorK3sKKytyZXR1 cm4gZGVidWdpbmZvZF9iZWdpbiAoKTsKKysgIDsKKysgIHJldHVybiAwOworK30KKytfQUNFT0YK KytpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6CisrICBhY19jdl9saWJfZGVi dWdpbmZvZF9kZWJ1Z2luZm9kX2JlZ2luPXllcworK2Vsc2UKKysgIGFjX2N2X2xpYl9kZWJ1Z2lu Zm9kX2RlYnVnaW5mb2RfYmVnaW49bm8KKytmaQorK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNv bmZ0ZXN0LiRhY19vYmpleHQgXAorKyAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFj X2V4dAorK0xJQlM9JGFjX2NoZWNrX2xpYl9zYXZlX0xJQlMKKytmaQorK3sgJGFzX2VjaG8gIiRh c19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfbGliX2RlYnVnaW5mb2Rf ZGVidWdpbmZvZF9iZWdpbiIgPiY1CisrJGFzX2VjaG8gIiRhY19jdl9saWJfZGVidWdpbmZvZF9k ZWJ1Z2luZm9kX2JlZ2luIiA+JjY7IH0KKytpZiB0ZXN0ICJ4JGFjX2N2X2xpYl9kZWJ1Z2luZm9k X2RlYnVnaW5mb2RfYmVnaW4iID0geHllczsgdGhlbiA6CisrICBoYXZlX2RlYnVnaW5mb2RfbGli PXllcworK2ZpCisrCisrICBhY19mbl9jX2NoZWNrX2RlY2wgIiRMSU5FTk8iICJkZWJ1Z2luZm9k X2JlZ2luIiAiYWNfY3ZfaGF2ZV9kZWNsX2RlYnVnaW5mb2RfYmVnaW4iICIjaW5jbHVkZSA8ZWxm dXRpbHMvZGVidWdpbmZvZC5oPgorKyIKKytpZiB0ZXN0ICJ4JGFjX2N2X2hhdmVfZGVjbF9kZWJ1 Z2luZm9kX2JlZ2luIiA9IHh5ZXM7IHRoZW4gOgorKyAgaGF2ZV9kZWJ1Z2luZm9kX2g9eWVzCisr ZmkKKysKKysgIGlmIHRlc3QgIngkaGF2ZV9kZWJ1Z2luZm9kX2xpYiIgPSAieHllcyIgLWEgXAor KyAgICAgICAgICAieCRoYXZlX2RlYnVnaW5mb2RfaCIgPSAieHllcyI7IHRoZW4KKysKKyskYXNf ZWNobyAiI2RlZmluZSBIQVZFX0xJQkRFQlVHSU5GT0QgMSIgPj5jb25mZGVmcy5oCisrCisrICAg IExJQkRFQlVHSU5GT0Q9Ii1sZGVidWdpbmZvZCIKKyAKKysgIGVsc2UKKysKKysgICAgaWYgdGVz dCAiJHdpdGhfZGVidWdpbmZvZCIgPSB5ZXM7IHRoZW4KKysgICAgICBhc19mbl9lcnJvciAkPyAi ZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxlIiAiJExJTkVOTyIgNQorKyAgICBlbHNl CisrICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5H OiBkZWJ1Z2luZm9kIGlzIG1pc3Npbmcgb3IgdW51c2FibGU7IHNvbWUgZmVhdHVyZXMgbWF5IGJl IHVuYXZhaWxhYmxlLiIgPiY1CisrJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogZGVidWdpbmZv ZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxlOyBzb21lIGZlYXR1cmVzIG1heSBiZSB1bmF2YWlsYWJs ZS4iID4mMjt9CisrICAgIGZpCisrICBmaQorK2ZpCisrCisrCisrIyBMaWJ1bndpbmQgc3VwcG9y dCBmb3IgaWE2NC4KKyAKKyAjIENoZWNrIHdoZXRoZXIgLS13aXRoLWxpYnVud2luZC1pYTY0IHdh cyBnaXZlbi4KKyBpZiB0ZXN0ICIke3dpdGhfbGlidW53aW5kX2lhNjQrc2V0fSIgPSBzZXQ7IHRo ZW4gOgorQEAgLTE2NDQxLDcgKzE2NTI5LDcgQEAgX0FDRU9GCisgZm9yIGFjX2hlYWRlciBpbiBz ZWxpbnV4L3NlbGludXguaAorIGRvIDoKKyAgIGFjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwg IiRMSU5FTk8iICJzZWxpbnV4L3NlbGludXguaCIgImFjX2N2X2hlYWRlcl9zZWxpbnV4X3NlbGlu dXhfaCIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgorLWlmIHRlc3QgIngkYWNfY3ZfaGVhZGVyX3Nl bGludXhfc2VsaW51eF9oIiA9IHgiInllczsgdGhlbiA6CisraWYgdGVzdCAieCRhY19jdl9oZWFk ZXJfc2VsaW51eF9zZWxpbnV4X2giID0geHllczsgdGhlbiA6CisgICBjYXQgPj5jb25mZGVmcy5o IDw8X0FDRU9GCisgI2RlZmluZSBIQVZFX1NFTElOVVhfU0VMSU5VWF9IIDEKKyBfQUNFT0YKK0BA IC0xNjQ1Miw3ICsxNjU0MCw3IEBAIGRvbmUKKyAKKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s aW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBzZWN1cml0eV9nZXRfYm9vbGVhbl9hY3RpdmUg aW4gLWxzZWxpbnV4IiA+JjUKKyAkYXNfZWNob19uICJjaGVja2luZyBmb3Igc2VjdXJpdHlfZ2V0 X2Jvb2xlYW5fYWN0aXZlIGluIC1sc2VsaW51eC4uLiAiID4mNjsgfQorLWlmIHRlc3QgIiR7YWNf Y3ZfbGliX3NlbGludXhfc2VjdXJpdHlfZ2V0X2Jvb2xlYW5fYWN0aXZlK3NldH0iID0gc2V0OyB0 aGVuIDoKKytpZiAke2FjX2N2X2xpYl9zZWxpbnV4X3NlY3VyaXR5X2dldF9ib29sZWFuX2FjdGl2 ZSs6fSBmYWxzZTsgdGhlbiA6CisgICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorIGVsc2UK KyAgIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKK0BAIC0xNjQ4Niw3ICsxNjU3NCw3IEBA IExJQlM9JGFjX2NoZWNrX2xpYl9zYXZlX0xJQlMKKyBmaQorIHsgJGFzX2VjaG8gIiRhc19tZTok e2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfbGliX3NlbGludXhfc2VjdXJpdHlf Z2V0X2Jvb2xlYW5fYWN0aXZlIiA+JjUKKyAkYXNfZWNobyAiJGFjX2N2X2xpYl9zZWxpbnV4X3Nl Y3VyaXR5X2dldF9ib29sZWFuX2FjdGl2ZSIgPiY2OyB9CistaWYgdGVzdCAieCRhY19jdl9saWJf c2VsaW51eF9zZWN1cml0eV9nZXRfYm9vbGVhbl9hY3RpdmUiID0geCIieWVzOyB0aGVuIDoKKytp ZiB0ZXN0ICJ4JGFjX2N2X2xpYl9zZWxpbnV4X3NlY3VyaXR5X2dldF9ib29sZWFuX2FjdGl2ZSIg PSB4eWVzOyB0aGVuIDoKKyAgIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyAjZGVmaW5lIEhB VkVfTElCU0VMSU5VWCAxCisgX0FDRU9GCitkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZS5hYyBi L2dkYi9jb25maWd1cmUuYWMKKy0tLSBhL2dkYi9jb25maWd1cmUuYWMKKysrKyBiL2dkYi9jb25m aWd1cmUuYWMKK0BAIC0xOCw2ICsxOCw4IEBAIGRubCBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAKKyBkbmwgUHJv Y2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvY29uZiB0byBwcm9kdWNlIGEgY29uZmlndXJlIHNjcmlw dC4KKyAKKyttNF9pbmNsdWRlKC4uL2NvbmZpZy9kZWJ1Z2luZm9kLm00KQorKworIEFDX0lOSVQo bWFpbi5jKQorIEFDX0NPTkZJR19IRUFERVJTKGNvbmZpZy5oOmNvbmZpZy5pbiwgW2VjaG8gPiBz dGFtcC1oXSkKKyBBTV9NQUlOVEFJTkVSX01PREUKK0BAIC01MTYsOCArNTE4LDEwIEBAIGNhc2Ug JGhvc3Rfb3MgaW4KKyAgICAgZW5hYmxlX2dkYnRrPW5vIDs7CisgZXNhYworIAorLSMgTGlidW53 aW5kIHN1cHBvcnQgZm9yIGlhNjQuCisrIyBIYW5kbGUgb3B0aW9uYWwgZGVidWdpbmZvZCBzdXBw b3J0CisrQUNfREVCVUdJTkZPRAorIAorKyMgTGlidW53aW5kIHN1cHBvcnQgZm9yIGlhNjQuCisg QUNfQVJHX1dJVEgobGlidW53aW5kLWlhNjQsCisgQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1saWJ1 bndpbmQtaWE2NF0sCisgCSAgICAgICBbdXNlIGxpYnVud2luZCBmcmFtZSB1bndpbmRpbmcgZm9y IGlhNjQgdGFyZ2V0c10pLCwKK2RpZmYgLS1naXQgYS9nZGIvZGVidWdpbmZvZC1zdXBwb3J0LmMg Yi9nZGIvZGVidWdpbmZvZC1zdXBwb3J0LmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CistLS0gL2Rl di9udWxsCisrKysgYi9nZGIvZGVidWdpbmZvZC1zdXBwb3J0LmMKK0BAIC0wLDAgKzEsMTU1IEBA CisrLyogZGVidWdpbmZvZCB1dGlsaXRpZXMgZm9yIEdEQi4KKysgICBDb3B5cmlnaHQgKEMpIDIw MjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhpcyBmaWxlIGlzIHBh cnQgb2YgR0RCLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8K KysKKysjaW5jbHVkZSAiZGVmcy5oIgorKyNpbmNsdWRlIDxlcnJuby5oPgorKyNpbmNsdWRlICJj bGkvY2xpLXN0eWxlLmgiCisrI2luY2x1ZGUgImdkYnN1cHBvcnQvc2NvcGVkX2ZkLmgiCisrI2lu Y2x1ZGUgImRlYnVnaW5mb2Qtc3VwcG9ydC5oIgorKworKyNpZm5kZWYgSEFWRV9MSUJERUJVR0lO Rk9ECisrc2NvcGVkX2ZkCisrZGVidWdpbmZvZF9zb3VyY2VfcXVlcnkgKGNvbnN0IHVuc2lnbmVk IGNoYXIgKmJ1aWxkX2lkLAorKwkJCSBpbnQgYnVpbGRfaWRfbGVuLAorKwkJCSBjb25zdCBjaGFy ICpzcmNwYXRoLAorKwkJCSBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiAqZGVzdG5hbWUp CisreworKyAgcmV0dXJuIHNjb3BlZF9mZCAoLUVOT1NZUyk7CisrfQorKworK3Njb3BlZF9mZAor K2RlYnVnaW5mb2RfZGVidWdpbmZvX3F1ZXJ5IChjb25zdCB1bnNpZ25lZCBjaGFyICpidWlsZF9p ZCwKKysJCQkgICAgaW50IGJ1aWxkX2lkX2xlbiwKKysJCQkgICAgY29uc3QgY2hhciAqZmlsZW5h bWUsCisrCQkJICAgIGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+ICpkZXN0bmFtZSkKKyt7 CisrICByZXR1cm4gc2NvcGVkX2ZkICgtRU5PU1lTKTsKKyt9CisrI2Vsc2UKKysjaW5jbHVkZSA8 ZWxmdXRpbHMvZGVidWdpbmZvZC5oPgorKworKy8qIFRPRE86IFVzZSBkZWJ1Z2luZm9kIEFQSSBl eHRlbnNpb25zIGluc3RlYWQgb2YgdGhlc2UgZ2xvYmFscy4gICovCisrc3RhdGljIHN0ZDo6c3Ry aW5nIGRlc2M7Cisrc3RhdGljIHN0ZDo6c3RyaW5nIGZuYW1lOworK3N0YXRpYyBib29sIGhhc19w cmludGVkOworKworK3N0YXRpYyBpbnQKKytwcm9ncmVzc2ZuIChkZWJ1Z2luZm9kX2NsaWVudCAq YywgbG9uZyBjdXIsIGxvbmcgdG90YWwpCisreworKyAgaWYgKGNoZWNrX3F1aXRfZmxhZyAoKSkK KysgICAgeworKyAgICAgIHByaW50Zl9maWx0ZXJlZCAoIkNhbmNlbGxpbmcgZG93bmxvYWQgb2Yg JXMgJXBzLi4uXG4iLAorKwkJICAgICAgIGRlc2MuY19zdHIgKCksCisrCQkgICAgICAgc3R5bGVk X3N0cmluZyAoZmlsZV9uYW1lX3N0eWxlLnN0eWxlICgpLCBmbmFtZS5jX3N0ciAoKSkpOworKyAg ICAgIHJldHVybiAxOworKyAgICB9CisrCisrICBpZiAoIWhhc19wcmludGVkICYmIHRvdGFsICE9 IDApCisrICAgIHsKKysgICAgICAvKiBQcmludCB0aGlzIG1lc3NhZ2Ugb25seSBvbmNlLiAgKi8K KysgICAgICBoYXNfcHJpbnRlZCA9IHRydWU7CisrICAgICAgcHJpbnRmX2ZpbHRlcmVkICgiRG93 bmxvYWRpbmcgJXMgJXBzLi4uXG4iLAorKwkJICAgICAgIGRlc2MuY19zdHIgKCksCisrCQkgICAg ICAgc3R5bGVkX3N0cmluZyAoZmlsZV9uYW1lX3N0eWxlLnN0eWxlICgpLCBmbmFtZS5jX3N0ciAo KSkpOworKyAgICB9CisrCisrICByZXR1cm4gMDsKKyt9CisrCisrc3RhdGljIGRlYnVnaW5mb2Rf Y2xpZW50ICoKKytkZWJ1Z2luZm9kX2luaXQgKCkKKyt7CisrICBkZWJ1Z2luZm9kX2NsaWVudCAq YyA9IGRlYnVnaW5mb2RfYmVnaW4gKCk7CisrCisrICBpZiAoYyAhPSBudWxscHRyKQorKyAgICBk ZWJ1Z2luZm9kX3NldF9wcm9ncmVzc2ZuIChjLCBwcm9ncmVzc2ZuKTsKKysKKysgIHJldHVybiBj OworK30KKysKKysvKiBTZWUgZGVidWdpbmZvZC1zdXBwb3J0LmggICovCisrCisrc2NvcGVkX2Zk CisrZGVidWdpbmZvZF9zb3VyY2VfcXVlcnkgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1aWxkX2lk LAorKwkJCSBpbnQgYnVpbGRfaWRfbGVuLAorKwkJCSBjb25zdCBjaGFyICpzcmNwYXRoLAorKwkJ CSBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiAqZGVzdG5hbWUpCisreworKyAgaWYgKGdl dGVudiAoREVCVUdJTkZPRF9VUkxTX0VOVl9WQVIpID09IE5VTEwpCisrICAgIHJldHVybiBzY29w ZWRfZmQgKC1FTk9TWVMpOworKworKyAgZGVidWdpbmZvZF9jbGllbnQgKmMgPSBkZWJ1Z2luZm9k X2luaXQgKCk7CisrCisrICBpZiAoYyA9PSBudWxscHRyKQorKyAgICByZXR1cm4gc2NvcGVkX2Zk ICgtRU5PTUVNKTsKKysKKysgIGRlc2MgPSBzdGQ6OnN0cmluZyAoInNvdXJjZSBmaWxlIik7Cisr ICBmbmFtZSA9IHN0ZDo6c3RyaW5nIChzcmNwYXRoKTsKKysgIGhhc19wcmludGVkID0gZmFsc2U7 CisrCisrICBzY29wZWRfZmQgZmQgKGRlYnVnaW5mb2RfZmluZF9zb3VyY2UgKGMsCisrCQkJCQli dWlsZF9pZCwKKysJCQkJCWJ1aWxkX2lkX2xlbiwKKysJCQkJCXNyY3BhdGgsCisrCQkJCQludWxs cHRyKSk7CisrCisrICAvKiBUT0RPOiBBZGQgJ3NldCBkZWJ1ZyBkZWJ1Z2luZm9kJyBjb21tYW5k IHRvIGNvbnRyb2wgd2hlbiBlcnJvciBtZXNzYWdlcyBhcmUgc2hvd24uICAqLworKyAgaWYgKGZk LmdldCAoKSA8IDAgJiYgZmQuZ2V0ICgpICE9IC1FTk9FTlQpCisrICAgIHByaW50Zl9maWx0ZXJl ZCAoXygiRG93bmxvYWQgZmFpbGVkOiAlcy4gIENvbnRpbnVpbmcgd2l0aG91dCBzb3VyY2UgZmls ZSAlcHMuXG4iKSwKKysJCSAgICAgc2FmZV9zdHJlcnJvciAoLWZkLmdldCAoKSksCisrCQkgICAg IHN0eWxlZF9zdHJpbmcgKGZpbGVfbmFtZV9zdHlsZS5zdHlsZSAoKSwgIHNyY3BhdGgpKTsKKysg IGVsc2UKKysgICAgZGVzdG5hbWUtPnJlc2V0ICh4c3RyZHVwIChzcmNwYXRoKSk7CisrCisrICBk ZWJ1Z2luZm9kX2VuZCAoYyk7CisrICByZXR1cm4gZmQ7CisrfQorKworKy8qIFNlZSBkZWJ1Z2lu Zm9kLXN1cHBvcnQuaCAgKi8KKysKKytzY29wZWRfZmQKKytkZWJ1Z2luZm9kX2RlYnVnaW5mb19x dWVyeSAoY29uc3QgdW5zaWduZWQgY2hhciAqYnVpbGRfaWQsCisrCQkJICAgIGludCBidWlsZF9p ZF9sZW4sCisrCQkJICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorKwkJCSAgICBnZGI6OnVuaXF1 ZV94bWFsbG9jX3B0cjxjaGFyPiAqZGVzdG5hbWUpCisreworKyAgaWYgKGdldGVudiAoREVCVUdJ TkZPRF9VUkxTX0VOVl9WQVIpID09IE5VTEwpCisrICAgIHJldHVybiBzY29wZWRfZmQgKC1FTk9T WVMpOworKworKyAgZGVidWdpbmZvZF9jbGllbnQgKmMgPSBkZWJ1Z2luZm9kX2luaXQgKCk7Cisr CisrICBpZiAoYyA9PSBudWxscHRyKQorKyAgICByZXR1cm4gc2NvcGVkX2ZkICgtRU5PTUVNKTsK KysKKysgIGRlc2MgPSBzdGQ6OnN0cmluZyAoInNlcGFyYXRlIGRlYnVnIGluZm8gZm9yIik7Cisr ICBmbmFtZSA9IHN0ZDo6c3RyaW5nIChmaWxlbmFtZSk7CisrICBoYXNfcHJpbnRlZCA9IGZhbHNl OworKyAgY2hhciAqZG5hbWUgPSBudWxscHRyOworKworKyAgc2NvcGVkX2ZkIGZkIChkZWJ1Z2lu Zm9kX2ZpbmRfZGVidWdpbmZvIChjLCBidWlsZF9pZCwgYnVpbGRfaWRfbGVuLCAmZG5hbWUpKTsK KysKKysgIGlmIChmZC5nZXQgKCkgPCAwICYmIGZkLmdldCAoKSAhPSAtRU5PRU5UKQorKyAgICBw cmludGZfZmlsdGVyZWQgKF8oIkRvd25sb2FkIGZhaWxlZDogJXMuICBDb250aW51aW5nIHdpdGhv dXQgZGVidWcgaW5mbyBmb3IgJXBzLlxuIiksCisrCQkgICAgIHNhZmVfc3RyZXJyb3IgKC1mZC5n ZXQgKCkpLAorKwkJICAgICBzdHlsZWRfc3RyaW5nIChmaWxlX25hbWVfc3R5bGUuc3R5bGUgKCks ICBmaWxlbmFtZSkpOworKworKyAgZGVzdG5hbWUtPnJlc2V0IChkbmFtZSk7CisrICBkZWJ1Z2lu Zm9kX2VuZCAoYyk7CisrICByZXR1cm4gZmQ7CisrfQorKyNlbmRpZgorZGlmZiAtLWdpdCBhL2dk Yi9kZWJ1Z2luZm9kLXN1cHBvcnQuaCBiL2dkYi9kZWJ1Z2luZm9kLXN1cHBvcnQuaAorbmV3IGZp bGUgbW9kZSAxMDA2NDQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi9kZWJ1Z2luZm9kLXN1cHBv cnQuaAorQEAgLTAsMCArMSw2MiBAQAorKy8qIGRlYnVnaW5mb2QgdXRpbGl0aWVzIGZvciBHREIu CisrICAgQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgor KworKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdEQi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAg IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK KysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4gICovCisrCisrI2lmbmRlZiBERUJVR0lORk9EX1NVUFBPUlRfSAor KyNkZWZpbmUgREVCVUdJTkZPRF9TVVBQT1JUX0gKKysKKysvKiBRdWVyeSBkZWJ1Z2luZm9kIHNl cnZlcnMgZm9yIGEgc291cmNlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIGFuCisrICAgZXhlY3V0YWJs ZSB3aXRoIEJVSUxEX0lELiAgQlVJTERfSUQgY2FuIGJlIGdpdmVuIGFzIGEgYmluYXJ5IGJsb2Ig b3IKKysgICBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcuICBJZiBnaXZlbiBhcyBhIGJpbmFyeSBi bG9iLCBCVUlMRF9JRF9MRU4KKysgICBzaG91bGQgYmUgdGhlIG51bWJlciBvZiBieXRlcy4gIElm IGdpdmVuIGFzIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZywKKysgICBCVUlMRF9JRF9MRU4gc2hv dWxkIGJlIDAuCisrCisrICAgU1JDX1BBVEggc2hvdWxkIGJlIHRoZSBzb3VyY2UgZmlsZSdzIGFi c29sdXRlIHBhdGggdGhhdCBpbmNsdWRlcyB0aGUKKysgICBjb21waWxhdGlvbiBkaXJlY3Rvcnkg b2YgdGhlIENVIGFzc29jaWF0ZWQgd2l0aCB0aGUgc291cmNlIGZpbGUuCisrICAgRm9yIGV4YW1w bGUgaWYgYSBDVSdzIGNvbXBpbGF0aW9uIGRpcmVjdG9yeSBpcyBgL215L2J1aWxkYCBhbmQgdGhl CisrICAgc291cmNlIGZpbGUgcGF0aCBpcyBgL215L3NvdXJjZS9mb28uY2AsIHRoZW4gU1JDX1BB VEggc2hvdWxkIGJlCisrICAgYC9teS9idWlsZC8uLi9zb3VyY2UvZm9vLmNgLgorKworKyAgIElm IHRoZSBmaWxlIGlzIHN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQsIGl0cyBwYXRoIG9uIHRoZSBsb2Nh bCBtYWNoaW5lCisrICAgaXMgc3RvcmVkIGluIERFU1ROQU1FLiAgSWYgR0RCIGlzIG5vdCBidWls dCB3aXRoIGRlYnVnaW5mb2QsIHRoaXMKKysgICBmdW5jdGlvbiByZXR1cm5zIC1FTk9TWVMuICAq LworKworK2V4dGVybiBzY29wZWRfZmQKKytkZWJ1Z2luZm9kX3NvdXJjZV9xdWVyeSAoY29uc3Qg dW5zaWduZWQgY2hhciAqYnVpbGRfaWQsCisrCQkJIGludCBidWlsZF9pZF9sZW4sCisrCQkJIGNv bnN0IGNoYXIgKnNyY19wYXRoLAorKwkJCSBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiAq ZGVzdG5hbWUpOworKworKy8qIFF1ZXJ5IGRlYnVnaW5mb2Qgc2VydmVycyBmb3IgYSBkZWJ1ZyBp bmZvIGZpbGUgd2l0aCBCVUlMRF9JRC4KKysgICBCVUlMRF9JRCBjYW4gYmUgZ2l2ZW4gYXMgYSBi aW5hcnkgYmxvYiBvciBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcuCisrICAgSWYgZ2l2ZW4gYXMg YSBiaW5hcnkgYmxvYiwgQlVJTERfSURfTEVOIHNob3VsZCBiZSB0aGUgbnVtYmVyIG9mIGJ5dGVz LgorKyAgIElmIGdpdmVuIGFzIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZywgQlVJTERfSURfTEVO IHNob3VsZCBiZSAwLgorKworKyAgIEZJTEVOQU1FIHNob3VsZCBiZSB0aGUgbmFtZSBvciBwYXRo IG9mIHRoZSBtYWluIGJpbmFyeSBhc3NvY2lhdGVkIHdpdGgKKysgICB0aGUgc2VwYXJhdGUgZGVi dWcgaW5mby4gIEl0IGlzIHVzZWQgZm9yIHByaW50aW5nIG1lc3NhZ2VzIHRvIHRoZSB1c2VyLgor KworKyAgIElmIHRoZSBmaWxlIGlzIHN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQsIGl0cyBwYXRoIG9u IHRoZSBsb2NhbCBtYWNoaW5lCisrICAgaXMgc3RvcmVkIGluIERFU1ROQU1FLiAgSWYgR0RCIGlz IG5vdCBidWlsdCB3aXRoIGRlYnVnaW5mb2QsIHRoaXMKKysgICBmdW5jdGlvbiByZXR1cm5zIC1F Tk9TWVMuICAqLworKworK2V4dGVybiBzY29wZWRfZmQKKytkZWJ1Z2luZm9kX2RlYnVnaW5mb19x dWVyeSAoY29uc3QgdW5zaWduZWQgY2hhciAqYnVpbGRfaWQsCisrCQkJICAgIGludCBidWlsZF9p ZF9sZW4sCisrCQkJICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorKwkJCSAgICBnZGI6OnVuaXF1 ZV94bWFsbG9jX3B0cjxjaGFyPiAqZGVzdG5hbWUpOworKworKyNlbmRpZiAvKiBERUJVR0lORk9E X1NVUFBPUlRfSCAqLworZGlmZiAtLWdpdCBhL2dkYi9kb2MvZ2RiLnRleGluZm8gYi9nZGIvZG9j L2dkYi50ZXhpbmZvCistLS0gYS9nZGIvZG9jL2dkYi50ZXhpbmZvCisrKysgYi9nZGIvZG9jL2dk Yi50ZXhpbmZvCitAQCAtMzc3MjYsNiArMzc3MjYsMTQgQEAgc3VwcG9ydGVkKS4KKyBVc2UgdGhl IGN1cnNlcyBsaWJyYXJ5IGluc3RlYWQgb2YgdGhlIHRlcm1jYXAgbGlicmFyeSwgZm9yIHRleHQt bW9kZQorIHRlcm1pbmFsIG9wZXJhdGlvbnMuCisgCisrQGl0ZW0gLS13aXRoLWRlYnVnaW5mb2QK KytCdWlsZCBAdmFsdWV7R0RCTn0gd2l0aCBsaWJkZWJ1Z2luZm9kLCB0aGUgZGVidWdpbmZvZCBj bGllbnQgbGlicmFyeS4KKytVc2VkIHRvIGF1dG9tYXRpY2FsbHkgZmV0Y2ggc291cmNlIGZpbGVz IGFuZCBzZXBhcmF0ZSBkZWJ1ZyBmaWxlcyBmcm9tCisrZGVidWdpbmZvZCBzZXJ2ZXJzIHVzaW5n IHRoZSBhc3NvY2lhdGVkIGV4ZWN1dGFibGUncyBidWlsZCBJRC4gRW5hYmxlZAorK2J5IGRlZmF1 bHQgaWYgbGliZGVidWdpbmZvZCBpcyBpbnN0YWxsZWQgYW5kIGZvdW5kIGF0IGNvbmZpZ3VyZSB0 aW1lLgorK2RlYnVnaW5mb2QgaXMgcGFja2FnZWQgd2l0aCBlbGZ1dGlscywgc3RhcnRpbmcgd2l0 aCB2ZXJzaW9uIDAuMTc4LiBZb3UKKytjYW4gZ2V0IHRoZSBsYXRlc3QgdmVyc2lvbiBmcm9tIGBo dHRwczovL3NvdXJjZXdhcmUub3JnL2VsZnV0aWxzLycuCisrCisgQGl0ZW0gLS13aXRoLWxpYnVu d2luZC1pYTY0CisgVXNlIHRoZSBsaWJ1bndpbmQgbGlicmFyeSBmb3IgdW53aW5kaW5nIGZ1bmN0 aW9uIGNhbGwgc3RhY2sgb24gaWE2NAorIHRhcmdldCBwbGF0Zm9ybXMuICBTZWUgaHR0cDovL3d3 dy5ub25nbnUub3JnL2xpYnVud2luZC9pbmRleC5odG1sIGZvcgorZGlmZiAtLWdpdCBhL2dkYi9k d2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCistLS0gYS9nZGIvZHdhcmYycmVhZC5jCisr KysgYi9nZGIvZHdhcmYycmVhZC5jCitAQCAtNzcsNiArNzcsNyBAQAorICNpbmNsdWRlICJnZGJz dXBwb3J0L3NlbGZ0ZXN0LmgiCisgI2luY2x1ZGUgInJ1c3QtbGFuZy5oIgorICNpbmNsdWRlICJn ZGJzdXBwb3J0L3BhdGhzdHVmZi5oIgorKyNpbmNsdWRlICJkZWJ1Z2luZm9kLXN1cHBvcnQuaCIK KyAKKyAvKiBXaGVuID09IDEsIHByaW50IGJhc2ljIGhpZ2ggbGV2ZWwgdHJhY2luZyBtZXNzYWdl cy4KKyAgICBXaGVuID4gMSwgYmUgbW9yZSB2ZXJib3NlLgorQEAgLTI3MTcsNiArMjcxOCwyOSBA QCBkd2FyZjJfZ2V0X2R3el9maWxlIChzdHJ1Y3QgZHdhcmYyX3Blcl9vYmpmaWxlICpkd2FyZjJf cGVyX29iamZpbGUpCisgCWR3el9iZmQucmVzZXQgKG51bGxwdHIpOworICAgICB9CisgCisrICBp ZiAoZHd6X2JmZCA9PSBudWxscHRyKQorKyAgICB7CisrICAgICAgZ2RiOjp1bmlxdWVfeG1hbGxv Y19wdHI8Y2hhcj4gYWx0X2ZpbGVuYW1lOworKyAgICAgIGNvbnN0IGNoYXIgKm9yaWduYW1lID0g ZHdhcmYyX3Blcl9vYmpmaWxlLT5vYmpmaWxlLT5vcmlnaW5hbF9uYW1lOworKworKyAgICAgIHNj b3BlZF9mZCBmZCAoZGVidWdpbmZvZF9kZWJ1Z2luZm9fcXVlcnkgKGJ1aWxkaWQsCisrCQkJCQkJ YnVpbGRpZF9sZW4sCisrCQkJCQkJb3JpZ25hbWUsCisrCQkJCQkJJmFsdF9maWxlbmFtZSkpOwor KworKyAgICAgIGlmIChmZC5nZXQgKCkgPj0gMCkKKysJeworKwkgIC8qIEZpbGUgc3VjY2Vzc2Z1 bGx5IHJldHJpZXZlZCBmcm9tIHNlcnZlci4gICovCisrCSAgZHd6X2JmZCA9IGdkYl9iZmRfb3Bl biAoYWx0X2ZpbGVuYW1lLmdldCAoKSwgZ251dGFyZ2V0LCAtMSk7CisrCisrCSAgaWYgKGR3el9i ZmQgPT0gbnVsbHB0cikKKysJICAgIHdhcm5pbmcgKF8oIkZpbGUgXCIlc1wiIGZyb20gZGVidWdp bmZvZCBjYW5ub3QgYmUgb3BlbmVkIGFzIGJmZCIpLAorKwkJICAgICBhbHRfZmlsZW5hbWUuZ2V0 ICgpKTsKKysJICBlbHNlIGlmICghYnVpbGRfaWRfdmVyaWZ5IChkd3pfYmZkLmdldCAoKSwgYnVp bGRpZF9sZW4sIGJ1aWxkaWQpKQorKwkgICAgZHd6X2JmZC5yZXNldCAobnVsbHB0cik7CisrCX0K KysgICAgfQorKworICAgaWYgKGR3el9iZmQgPT0gTlVMTCkKKyAgICAgZHd6X2JmZCA9IGJ1aWxk X2lkX3RvX2RlYnVnX2JmZCAoYnVpbGRpZF9sZW4sIGJ1aWxkaWQsIE5VTEwpOworIAorZGlmZiAt LWdpdCBhL2dkYi9lbGZyZWFkLmMgYi9nZGIvZWxmcmVhZC5jCistLS0gYS9nZGIvZWxmcmVhZC5j CisrKysgYi9nZGIvZWxmcmVhZC5jCitAQCAtNDksNiArNDksOCBAQAorICNpbmNsdWRlICJtZGVi dWdyZWFkLmgiCisgI2luY2x1ZGUgImN0ZnJlYWQuaCIKKyAjaW5jbHVkZSAiZ2Ric3VwcG9ydC9n ZGJfc3RyaW5nX3ZpZXcuaCIKKysjaW5jbHVkZSAiZ2Ric3VwcG9ydC9zY29wZWRfZmQuaCIKKysj aW5jbHVkZSAiZGVidWdpbmZvZC1zdXBwb3J0LmgiCisgCisgLyogRm9yd2FyZCBkZWNsYXJhdGlv bnMuICAqLworIGV4dGVybiBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBlbGZfc3ltX2Zuc19nZGJfaW5k ZXg7CitAQCAtMTMxMywxMiArMTMxNSw0MiBAQCBlbGZfc3ltZmlsZV9yZWFkIChzdHJ1Y3Qgb2Jq ZmlsZSAqb2JqZmlsZSwgc3ltZmlsZV9hZGRfZmxhZ3Mgc3ltZmlsZV9mbGFncykKKyAJICBzeW1i b2xfZmlsZV9hZGRfc2VwYXJhdGUgKGRlYnVnX2JmZC5nZXQgKCksIGRlYnVnZmlsZS5jX3N0ciAo KSwKKyAJCQkJICAgIHN5bWZpbGVfZmxhZ3MsIG9iamZpbGUpOworIAl9CistICAgICAgLyogQ2hl Y2sgaWYgYW55IHNlcGFyYXRlIGRlYnVnIGluZm8gaGFzIGJlZW4gZXh0cmFjdGVkIG91dC4gICov CistICAgICAgZWxzZSBpZiAoYmZkX2dldF9zZWN0aW9uX2J5X25hbWUgKG9iamZpbGUtPm9iZmQs ICIuZ251X2RlYnVnbGluayIpCistCSAgICAgICAhPSBOVUxMKQorLQlkZWJ1Z19wcmludF9taXNz aW5nIChvYmpmaWxlX25hbWUgKG9iamZpbGUpLCBidWlsZF9pZF9maWxlbmFtZS5nZXQgKCkpOwor ICAgICAgIGVsc2UKKy0JaGFzX2R3YXJmMiA9IGZhbHNlOworKwl7CisrCSAgaGFzX2R3YXJmMiA9 IGZhbHNlOworKwkgIGNvbnN0IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkID0gYnVpbGRf aWRfYmZkX3NoZHJfZ2V0IChvYmpmaWxlLT5vYmZkKTsKKysKKysJICBpZiAoYnVpbGRfaWQgIT0g bnVsbHB0cikKKysJICAgIHsKKysJICAgICAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4g c3ltZmlsZV9wYXRoOworKwkgICAgICBzY29wZWRfZmQgZmQgKGRlYnVnaW5mb2RfZGVidWdpbmZv X3F1ZXJ5IChidWlsZF9pZC0+ZGF0YSwKKysJCQkJCQkJYnVpbGRfaWQtPnNpemUsCisrCQkJCQkJ CW9iamZpbGUtPm9yaWdpbmFsX25hbWUsCisrCQkJCQkJCSZzeW1maWxlX3BhdGgpKTsKKysKKysJ ICAgICAgaWYgKGZkLmdldCAoKSA+PSAwKQorKwkJeworKwkJICAvKiBGaWxlIHN1Y2Nlc3NmdWxs eSByZXRyaWV2ZWQgZnJvbSBzZXJ2ZXIuICAqLworKwkJICBnZGJfYmZkX3JlZl9wdHIgZGVidWdf YmZkIChzeW1maWxlX2JmZF9vcGVuIChzeW1maWxlX3BhdGguZ2V0ICgpKSk7CisrCisrCQkgIGlm IChkZWJ1Z19iZmQgPT0gbnVsbHB0cikKKysJCSAgICB3YXJuaW5nIChfKCJGaWxlIFwiJXNcIiBm cm9tIGRlYnVnaW5mb2QgY2Fubm90IGJlIG9wZW5lZCBhcyBiZmQiKSwKKysJCQkgICAgIG9iamZp bGUtPm9yaWdpbmFsX25hbWUpOworKwkJICBlbHNlIGlmIChidWlsZF9pZF92ZXJpZnkgKGRlYnVn X2JmZC5nZXQgKCksIGJ1aWxkX2lkLT5zaXplLCBidWlsZF9pZC0+ZGF0YSkpCisrCQkgICAgewor KwkJICAgICAgc3ltYm9sX2ZpbGVfYWRkX3NlcGFyYXRlIChkZWJ1Z19iZmQuZ2V0ICgpLCBzeW1m aWxlX3BhdGguZ2V0ICgpLAorKwkJCQkJCXN5bWZpbGVfZmxhZ3MsIG9iamZpbGUpOworKwkJICAg ICAgaGFzX2R3YXJmMiA9IHRydWU7CisrCQkgICAgfQorKwkJfQorKwkgICAgfQorKwkgIC8qIENo ZWNrIGlmIGFueSBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIGhhcyBiZWVuIGV4dHJhY3RlZCBvdXQuICAq LworKwkgIGVsc2UgaWYgKGJmZF9nZXRfc2VjdGlvbl9ieV9uYW1lIChvYmpmaWxlLT5vYmZkLCAi LmdudV9kZWJ1Z2xpbmsiKQorKwkJICAgIT0gTlVMTCkKKysJICAgIGRlYnVnX3ByaW50X21pc3Np bmcgKG9iamZpbGVfbmFtZSAob2JqZmlsZSksIGJ1aWxkX2lkX2ZpbGVuYW1lLmdldCAoKSk7Cisr CSAgZWxzZQorKwkgICAgaGFzX2R3YXJmMiA9IGZhbHNlOworKwl9CisgICAgIH0KKyAKKyAgIC8q IFJlYWQgdGhlIENURiBzZWN0aW9uIG9ubHkgaWYgdGhlcmUgaXMgbm8gRFdBUkYgaW5mby4gICov CitkaWZmIC0tZ2l0IGEvZ2RiL3NvdXJjZS5jIGIvZ2RiL3NvdXJjZS5jCistLS0gYS9nZGIvc291 cmNlLmMKKysrKyBiL2dkYi9zb3VyY2UuYworQEAgLTQ3LDYgKzQ3LDggQEAKKyAjaW5jbHVkZSAi Z2Ric3VwcG9ydC9wYXRoc3R1ZmYuaCIKKyAjaW5jbHVkZSAic291cmNlLWNhY2hlLmgiCisgI2lu Y2x1ZGUgImNsaS9jbGktc3R5bGUuaCIKKysjaW5jbHVkZSAiYnVpbGQtaWQuaCIKKysjaW5jbHVk ZSAiZGVidWdpbmZvZC1zdXBwb3J0LmgiCisgCisgI2RlZmluZSBPUEVOX01PREUgKE9fUkRPTkxZ IHwgT19CSU5BUlkpCisgI2RlZmluZSBGRE9QRU5fTU9ERSBGT1BFTl9SQgorQEAgLTExMjIsNiAr MTEyNCwzNCBAQCBvcGVuX3NvdXJjZV9maWxlIChzdHJ1Y3Qgc3ltdGFiICpzKQorICAgcy0+ZnVs bG5hbWUgPSBOVUxMOworICAgc2NvcGVkX2ZkIGZkID0gZmluZF9hbmRfb3Blbl9zb3VyY2UgKHMt PmZpbGVuYW1lLCBTWU1UQUJfRElSTkFNRSAocyksCisgCQkJCSAgICAgICAmZnVsbG5hbWUpOwor KworKyAgaWYgKGZkLmdldCAoKSA8IDApCisrICAgIHsKKysgICAgICBpZiAoU1lNVEFCX0NPTVBV TklUIChzKSAhPSBudWxscHRyKQorKwl7CisrCSAgY29uc3Qgb2JqZmlsZSAqb2ZwID0gQ09NUFVO SVRfT0JKRklMRSAoU1lNVEFCX0NPTVBVTklUIChzKSk7CisrCisrCSAgc3RkOjpzdHJpbmcgc3Jj cGF0aDsKKysJICBpZiAoSVNfQUJTT0xVVEVfUEFUSCAocy0+ZmlsZW5hbWUpKQorKwkgICAgc3Jj cGF0aCA9IHMtPmZpbGVuYW1lOworKwkgIGVsc2UgaWYgKFNZTVRBQl9ESVJOQU1FIChzKSAhPSBu dWxscHRyKQorKwkgICAgeworKwkgICAgICBzcmNwYXRoID0gU1lNVEFCX0RJUk5BTUUgKHMpOwor KwkgICAgICBzcmNwYXRoICs9IFNMQVNIX1NUUklORzsKKysJICAgICAgc3JjcGF0aCArPSBzLT5m aWxlbmFtZTsKKysJICAgIH0KKysKKysJICBjb25zdCBzdHJ1Y3QgYmZkX2J1aWxkX2lkICpidWls ZF9pZCA9IGJ1aWxkX2lkX2JmZF9zaGRyX2dldCAob2ZwLT5vYmZkKTsKKysKKysJICAvKiBRdWVy eSBkZWJ1Z2luZm9kIGZvciB0aGUgc291cmNlIGZpbGUuICAqLworKwkgIGlmIChidWlsZF9pZCAh PSBudWxscHRyKQorKwkgICAgZmQgPSBkZWJ1Z2luZm9kX3NvdXJjZV9xdWVyeSAoYnVpbGRfaWQt PmRhdGEsCisrCQkJCQkgIGJ1aWxkX2lkLT5zaXplLAorKwkJCQkJICBzcmNwYXRoLmNfc3RyICgp LAorKwkJCQkJICAmZnVsbG5hbWUpOworKwl9CisrICAgIH0KKysKKyAgIHMtPmZ1bGxuYW1lID0g ZnVsbG5hbWUucmVsZWFzZSAoKTsKKyAgIHJldHVybiBmZDsKKyB9CitkaWZmIC0tZ2l0IGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZGVidWdpbmZvZC9mZXRjaF9zcmNfYW5kX3N5bWJvbHMuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZGVidWdpbmZvZC9mZXRjaF9zcmNfYW5kX3N5bWJvbHMuZXhwCituZXcg ZmlsZSBtb2RlIDEwMDY0NAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu ZGVidWdpbmZvZC9mZXRjaF9zcmNfYW5kX3N5bWJvbHMuZXhwCitAQCAtMCwwICsxLDIxNSBAQAor KyMgQ29weXJpZ2h0IDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK KysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKworKyMgVGVzdCBkZWJ1Z2luZm9kIGZ1bmN0aW9u YWxpdHkKKysKKytzdGFuZGFyZF90ZXN0ZmlsZSBtYWluLmMKKysKKytsb2FkX2xpYiBkd2FyZi5l eHAKKysKKytpZiB7IFt3aGljaCBkZWJ1Z2luZm9kXSA9PSAwIH0geworKyAgICB1bnRlc3RlZCAi Y2Fubm90IGZpbmQgZGVidWdpbmZvZCIKKysgICAgcmV0dXJuIC0xCisrfQorKworK2lmIHsgW3do aWNoIGN1cmxdID09IDAgfSB7CisrICAgIHVudGVzdGVkICJjYW5ub3QgZmluZCBjdXJsIgorKyAg ICByZXR1cm4gLTEKKyt9CisrCisrIyBTa2lwIHRlc3RpbmcgaWYgZ2RiIHdhcyBub3QgY29uZmln dXJlZCB3aXRoIGRlYnVnaW5mb2QKKytpZiB7IFtzdHJpbmcgZmlyc3QgIndpdGgtZGVidWdpbmZv ZCIgXAorKwkgIFtldmFsIGV4ZWMgJEdEQiAkSU5URVJOQUxfR0RCRkxBR1MgLS1jb25maWd1cmF0 aW9uXV0gPT0gLTEgfSB7CisrICAgIHVudGVzdGVkICJnZGIgbm90IGNvbmZpZ3VyZWQgd2l0aCBk ZWJ1Z2luZm9kIgorKyAgICByZXR1cm4gLTEKKyt9CisrCisrc2V0IGNhY2hlIFtzdGFuZGFyZF9v dXRwdXRfZmlsZSAiLmNsaWVudF9jYWNoZSJdCisrc2V0IGRiIFtzdGFuZGFyZF9vdXRwdXRfZmls ZSAiLmRlYnVnaW5mb2QuZGIiXQorKworKyMgRGVsZXRlIGFueSBwcmVleGlzdGluZyB0ZXN0IGZp bGVzCisrZmlsZSBkZWxldGUgLWZvcmNlICRjYWNoZQorK2ZpbGUgZGVsZXRlIC1mb3JjZSAkZGIK KysKKytzZXQgc291cmNldG1wIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSB0bXAtJHtzcmNmaWxlfV0K KytzZXQgb3V0cHV0ZGlyIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSB7fV0KKysKKysjIE1ha2UgYSBj b3B5IHNvdXJjZSBmaWxlIHRoYXQgd2UgY2FuIG1vdmUgYXJvdW5kCisraWYgeyBbY2F0Y2gge2Zp bGUgY29weSAtZm9yY2UgJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IFwKKysJICAgICBb c3RhbmRhcmRfb3V0cHV0X2ZpbGUgJHtzb3VyY2V0bXB9XX1dICE9IDAgfSB7CisrICAgIGVycm9y ICJjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCisrICAgIHJldHVybiAtMQorK30KKysKKytpZiB7IFtn ZGJfY29tcGlsZSAiJHNvdXJjZXRtcCIgIiRiaW5maWxlIiBleGVjdXRhYmxlIHtkZWJ1Z31dICE9 ICIiIH0geworKyAgICBmYWlsICJjb21waWxlIgorKyAgICByZXR1cm4gLTEKKyt9CisrCisrc2V0 ZW52IERFQlVHSU5GT0RfVVJMUyAiIgorK3NldGVudiBERUJVR0lORk9EX1RJTUVPVVQgMzAKKytz ZXRlbnYgREVCVUdJTkZPRF9DQUNIRV9QQVRIICRjYWNoZQorKworKyMgVGVzdCB0aGF0IGdkYiBj YW5ub3QgZmluZCBzb3VyY2Ugd2l0aG91dCBkZWJ1Z2luZm9kCisrY2xlYW5fcmVzdGFydCAkYmlu ZmlsZQorK2dkYl90ZXN0X25vX291dHB1dCAic2V0IHN1YnN0aXR1dGUtcGF0aCAkb3V0cHV0ZGly IC9kZXYvbnVsbCIKKytnZGJfdGVzdCAibGlzdCIgIi4qTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eS4qIgorKworKyMgU3RyaXAgc3ltYm9scyBpbnRvIHNlcGFyYXRlIGZpbGUgYW5kIG1vdmUgaXQg c28gZ2RiIGNhbm5vdCBmaW5kIGl0IHdpdGhvdXQgZGVidWdpbmZvZAorK2lmIHsgW2dkYl9nbnVf c3RyaXBfZGVidWcgJGJpbmZpbGUgIiJdICE9IDAgfSB7CisrICAgIGZhaWwgInN0cmlwIGRlYnVn aW5mbyIKKysgICAgcmV0dXJuIC0xCisrfQorKworK3NldCBkZWJ1Z2RpciBbc3RhbmRhcmRfb3V0 cHV0X2ZpbGUgImRlYnVnIl0KKytzZXQgZGVidWdpbmZvIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAi ZmV0Y2hfc3JjX2FuZF9zeW1ib2xzLmRlYnVnIl0KKysKKytmaWxlIG1rZGlyICRkZWJ1Z2Rpcgor K2ZpbGUgcmVuYW1lIC1mb3JjZSAkZGVidWdpbmZvICRkZWJ1Z2RpcgorKworKyMgVGVzdCB0aGF0 IGdkYiBjYW5ub3QgZmluZCBzeW1ib2xzIHdpdGhvdXQgZGVidWdpbmZvZAorK2NsZWFuX3Jlc3Rh cnQgJGJpbmZpbGUKKytnZGJfdGVzdCAiZmlsZSIgIi4qTm8gc3ltYm9sIGZpbGUuKiIKKysKKysj IFdyaXRlIHNvbWUgYXNzZW1ibHkgdGhhdCBqdXN0IGhhcyBhIC5nbnVfZGVidWdhbHRsaW5rIHNl Y3Rpb24uCisrIyBDb3BpZWQgZnJvbSB0ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kd3pidWlsZGlkLmV4 cC4KKytwcm9jIHdyaXRlX2p1c3RfZGVidWdhbHRsaW5rIHtmaWxlbmFtZSBkd3puYW1lIGJ1aWxk aWR9IHsKKysgICAgc2V0IGFzbV9maWxlIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAkZmlsZW5hbWVd CisrCisrICAgIER3YXJmOjphc3NlbWJsZSAkYXNtX2ZpbGUgeworKwl1cHZhciBkd3puYW1lIGR3 em5hbWUKKysJdXB2YXIgYnVpbGRpZCBidWlsZGlkCisrCisrCWdudV9kZWJ1Z2FsdGxpbmsgJGR3 em5hbWUgJGJ1aWxkaWQKKysKKysJIyBPbmx5IHRoZSBEV0FSRiByZWFkZXIgY2hlY2tzIC5nbnVf ZGVidWdhbHRsaW5rLCBzbyBtYWtlIHN1cmUKKysJIyB0aGVyZSBpcyBhIGJpdCBvZiBEV0FSRiBp biBoZXJlLgorKwljdSB7fSB7CisrCSAgICBjb21waWxlX3VuaXQge3tsYW5ndWFnZSBARFdfTEFO R19DfX0geworKwkgICAgfQorKwl9CisrICAgIH0KKyt9CisrCisrIyBXcml0ZSBzb21lIERXQVJG IHRoYXQgYWxzbyBzZXRzIHRoZSBidWlsZGlkLgorKyMgQ29waWVkIGZyb20gdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHd6YnVpbGRpZC5leHAuCisrcHJvYyB3cml0ZV9kd2FyZl9maWxlIHtmaWxlbmFt ZSBidWlsZGlkIHt2YWx1ZSA5OX19IHsKKysgICAgc2V0IGFzbV9maWxlIFtzdGFuZGFyZF9vdXRw dXRfZmlsZSAkZmlsZW5hbWVdCisrCisrICAgIER3YXJmOjphc3NlbWJsZSAkYXNtX2ZpbGUgewor KwlkZWNsYXJlX2xhYmVscyBpbnRfbGFiZWwgaW50X2xhYmVsMgorKworKwl1cHZhciBidWlsZGlk IGJ1aWxkaWQKKysJdXB2YXIgdmFsdWUgdmFsdWUKKysKKysJYnVpbGRfaWQgJGJ1aWxkaWQKKysK KysJY3Uge30geworKwkgICAgY29tcGlsZV91bml0IHt7bGFuZ3VhZ2UgQERXX0xBTkdfQ319IHsK KysJICAgICAgICBpbnRfbGFiZWwyOiBiYXNlX3R5cGUgeworKwkJICAgIHtuYW1lIGludH0KKysJ CSAgICB7Ynl0ZV9zaXplIDQgc2RhdGF9CisrCQkgICAge2VuY29kaW5nIEBEV19BVEVfc2lnbmVk fQorKwkJfQorKworKwkJY29uc3RhbnQgeworKwkJICAgIHtuYW1lIHRoZV9pbnR9CisrCQkgICAg e3R5cGUgOiRpbnRfbGFiZWwyfQorKwkJICAgIHtjb25zdF92YWx1ZSAkdmFsdWUgZGF0YTF9Cisr CQl9CisrCSAgICB9CisrCX0KKysgICAgfQorK30KKysKKytzZXQgYnVpbGRpZCAiMDEyMzQ1Njc4 OTBhYmNkZWYwMTIzNDU2IgorKworK3dyaXRlX2p1c3RfZGVidWdhbHRsaW5rICR7YmluZmlsZX1f aGFzX2FsdGxpbmsuUyAke2JpbmZpbGV9X2R3ei5vICRidWlsZGlkCisrd3JpdGVfZHdhcmZfZmls ZSAke2JpbmZpbGV9X2R3ei5TICRidWlsZGlkCisrCisraWYge1tnZGJfY29tcGlsZSAke2JpbmZp bGV9X2hhc19hbHRsaW5rLlMgJHtiaW5maWxlfV9hbHQubyBvYmplY3Qgbm9kZWJ1Z10gIT0gIiJ9 IHsKKysgICAgZmFpbCAiY29tcGlsZSBtYWluIHdpdGggYWx0bGluayIKKysgICAgcmV0dXJuIC0x CisrfQorKworK2lmIHtbZ2RiX2NvbXBpbGUgJHtiaW5maWxlfV9kd3ouUyAke2JpbmZpbGV9X2R3 ei5vIG9iamVjdCBub2RlYnVnXSAhPSAiIn0geworKyAgICBmYWlsICJjb21waWxlIGFsdGxpbmsi CisrICAgIHJldHVybiAtMQorK30KKysKKytmaWxlIHJlbmFtZSAtZm9yY2UgJHtiaW5maWxlfV9k d3oubyAkZGVidWdkaXIKKysKKysjIFRlc3QgdGhhdCBnZGIgY2Fubm90IGZpbmQgZHd6IHdpdGhv dXQgZGVidWdpbmZvZC4KKytjbGVhbl9yZXN0YXJ0CisrZ2RiX3Rlc3QgImZpbGUgJHtiaW5maWxl fV9hbHQubyIgIi4qY291bGQgbm90IGZpbmQgJy5nbnVfZGVidWdhbHRsaW5rJy4qIgorKworKyMg RmluZCBhbiB1bnVzZWQgcG9ydAorK3NldCBwb3J0IDc5OTkKKytzZXQgZm91bmQgMAorK3doaWxl IHsgISAkZm91bmQgfSB7CisrICBpbmNyIHBvcnQKKysgIGlmIHsgJHBvcnQgPT0gNjU1MzYgfSB7 CisrICAgIGZhaWwgIm5vIGF2YWlsYWJsZSBwb3J0cyIKKysgICAgcmV0dXJuIC0xCisrICB9Cisr CisrICBzcGF3biBkZWJ1Z2luZm9kIC12dnZ2IC1kICRkYiAtcCAkcG9ydCAtRiAkZGVidWdkaXIK KysgIGV4cGVjdCB7CisrICAgICJzdGFydGVkIGh0dHAgc2VydmVyIG9uIElQdjQgSVB2NiBwb3J0 PSRwb3J0IiB7IHNldCBmb3VuZCAxIH0KKysgICAgImZhaWxlZCB0byBiaW5kIHRvIHBvcnQiIHsg a2lsbF93YWl0X3NwYXduZWRfcHJvY2VzcyAkc3Bhd25faWQgfQorKyAgICB0aW1lb3V0IHsKKysg ICAgICBmYWlsICJmaW5kIHBvcnQgdGltZW91dCIKKysgICAgICByZXR1cm4gLTEKKysgICAgfQor KyAgfQorK30KKysKKytzZXQgbWV0cmljcyBbbGlzdCAicmVhZHkgMSIgXAorKwkgICAgICJ0aHJl YWRfd29ya190b3RhbHtyb2xlPVwidHJhdmVyc2VcIn0gMSIgXAorKwkgICAgICJ0aHJlYWRfd29y a19wZW5kaW5ne3JvbGU9XCJzY2FuXCJ9IDAiIFwKKysJICAgICAidGhyZWFkX2J1c3l7cm9sZT1c InNjYW5cIn0gMCJdCisrCisrIyBDaGVjayBzZXJ2ZXIgbWV0cmljcyB0byBjb25maXJtIGluaXQg aGFzIGNvbXBsZXRlZC4KKytmb3JlYWNoIG0gJG1ldHJpY3MgeworKyAgc2V0IHRpbWVsaW0gMjAK KysgIHdoaWxlIHsgJHRpbWVsaW0gIT0gMCB9IHsKKysgICAgc2xlZXAgMC41CisrICAgIGNhdGNo IHtleGVjIGN1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokcG9ydC9tZXRyaWNzfSBnb3QKKysKKysg ICAgaWYgeyBbcmVnZXhwICRtICRnb3RdIH0geworKyAgICAgIGJyZWFrCisrICAgIH0KKysKKysg ICAgaW5jciB0aW1lbGltIC0xCisrICB9CisrCisrICBpZiB7ICR0aW1lbGltID09IDAgfSB7Cisr ICAgIGZhaWwgInNlcnZlciBpbml0IHRpbWVvdXQiCisrICAgIHJldHVybiAtMQorKyAgfQorK30K KysKKysjIFBvaW50IHRoZSBjbGllbnQgdG8gdGhlIHNlcnZlcgorK3NldGVudiBERUJVR0lORk9E X1VSTFMgaHR0cDovLzEyNy4wLjAuMTokcG9ydAorKworKyMgZ2RiIHNob3VsZCBub3cgZmluZCB0 aGUgc3ltYm9sIGFuZCBzb3VyY2UgZmlsZXMKKytjbGVhbl9yZXN0YXJ0ICRiaW5maWxlCisrZ2Ri X3Rlc3Rfbm9fb3V0cHV0ICJzZXQgc3Vic3RpdHV0ZS1wYXRoICRvdXRwdXRkaXIgL2Rldi9udWxs IgorK2dkYl90ZXN0ICJiciBtYWluIiAiQnJlYWtwb2ludCAxIGF0LipmaWxlLioiCisrZ2RiX3Rl c3QgImwiICIuKlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZS4qIgorKwor KyMgZ2RiIHNob3VsZCBub3cgZmluZCB0aGUgZGVidWdhbHRsaW5rIGZpbGUKKytjbGVhbl9yZXN0 YXJ0CisrZ2RiX3Rlc3QgImZpbGUgJHtiaW5maWxlfV9hbHQubyIgIi4qUmVhZGluZyBzeW1ib2xz IGZyb20gJHtiaW5maWxlfV9hbHQub1wuXC5cLioiCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZGVidWdpbmZvZC9tYWluLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5kZWJ1Z2luZm9kL21h aW4uYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmRlYnVnaW5mb2QvbWFpbi5jCitAQCAtMCwwICsxLDI1IEBACisrLyogVGhpcyB0 ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmln aHQgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAg IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisrCisrLyogRHVtbXkgbWFpbiBmdW5jdGlvbi4g ICovCisrCisraW50CisrbWFpbigpCisreworKyAgYXNtICgibWFpbl9sYWJlbDogLmdsb2JsIG1h aW5fbGFiZWwiKTsKKysgIHJldHVybiAwOworK30KK2RpZmYgLS1naXQgYS9nZGIvdG9wLmMgYi9n ZGIvdG9wLmMKKy0tLSBhL2dkYi90b3AuYworKysrIGIvZ2RiL3RvcC5jCitAQCAtMTUxMyw2ICsx NTEzLDE3IEBAIFRoaXMgR0RCIHdhcyBjb25maWd1cmVkIGFzIGZvbGxvd3M6XG5cCisgICAgICAg ICAgICAgIC0td2l0aG91dC1weXRob25cblwKKyAiKSk7CisgI2VuZGlmCisrCisrI2lmIEhBVkVf TElCREVCVUdJTkZPRAorKyAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCBfKCJcCisrICAgICAg ICAgICAgIC0td2l0aC1kZWJ1Z2luZm9kXG5cCisrIikpOworKyNlbHNlCisrICAgZnByaW50Zl9m aWx0ZXJlZCAoc3RyZWFtLCBfKCJcCisrICAgICAgICAgICAgIC0td2l0aG91dC1kZWJ1Z2luZm9k XG5cCisrIikpOworKyNlbmRpZgorKworICNpZiBIQVZFX0dVSUxFCisgICBmcHJpbnRmX2ZpbHRl cmVkIChzdHJlYW0sIF8oIlwKKyAgICAgICAgICAgICAgLS13aXRoLWd1aWxlXG5cCgpkaWZmIC0t Z2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCBiNDM3ZjEwLi41MzMyYWQ2IDEwMDY0NAot LS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMSw3ICsxLDMgQEAKLSMgVGhpcyBwYWNr YWdlIGRlcGVuZHMgb24gYXV0b21hZ2ljIGJ5dGUgY29tcGlsYXRpb24KLSMgaHR0cHM6Ly9mZWRv cmFwcm9qZWN0Lm9yZy93aWtpL0NoYW5nZXMvTm9fbW9yZV9hdXRvbWFnaWNfUHl0aG9uX2J5dGVj b21waWxhdGlvbl9waGFzZV8yCi0lZ2xvYmFsIF9weXRob25fYnl0ZWNvbXBpbGVfZXh0cmEgMQot CiAjIHJwbWJ1aWxkIHBhcmFtZXRlcnM6CiAjIC0td2l0aCB0ZXN0c3VpdGU6IFJ1biB0aGUgdGVz dHN1aXRlIChiaWFyY2ggaWYgcG9zc2libGUpLiAgRGVmYXVsdCBpcyB3aXRob3V0LgogIyAtLXdp dGggYnVpbGRpc2E6IFVzZSAlJXs/X2lzYX0gZm9yIEJ1aWxkUmVxdWlyZXMKQEAgLTM4LDcgKzM0 LDcgQEAgVmVyc2lvbjogOS4yCiAKICMgVGhlIHJlbGVhc2UgYWx3YXlzIGNvbnRhaW5zIGEgbGVh ZGluZyByZXNlcnZlZCBudW1iZXIsIHN0YXJ0IGl0IGF0IDEuCiAjIGB1cHN0cmVhbScgaXMgbm90 IGEgcGFydCBvZiBgbmFtZScgdG8gc3RheSBmdWxseSBycG0gZGVwZW5kZW5jaWVzIGNvbXBhdGli bGUgZm9yIHRoZSB0ZXN0aW5nLgotUmVsZWFzZTogMSV7P2Rpc3R9CitSZWxlYXNlOiAyJXs/ZGlz dH0KIAogTGljZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBleGNlcHRpb25zIGFuZCBHUEx2 MisgYW5kIEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2MisgYW5kIExH UEx2MysgYW5kIEJTRCBhbmQgUHVibGljIERvbWFpbiBhbmQgR0ZETAogIyBEbyBub3QgcHJvdmlk ZSBVUkwgZm9yIHNuYXBzaG90cyBhcyB0aGUgZmlsZSBsYXN0cyB0aGVyZSBvbmx5IGZvciAyIGRh eXMuCkBAIC0yNjQsNyArMjYwLDEwIEBAIEJ1aWxkUmVxdWlyZXM6IGxpYmlwdC1kZXZlbCV7YnVp bGRpc2F9CiBCdWlsZFJlcXVpcmVzOiBtcGZyLWRldmVsJXtidWlsZGlzYX0KICVlbmRpZgogQnVp bGRSZXF1aXJlczogc291cmNlLWhpZ2hsaWdodC1kZXZlbAorJWlmIDAleyE/cmhlbDoxfSB8fCAw JXs/cmhlbH0gPiA4CiBCdWlsZFJlcXVpcmVzOiB4eGhhc2gtZGV2ZWwKKyVlbmRpZgorQnVpbGRS ZXF1aXJlczogZWxmdXRpbHMtZGVidWdpbmZvZC1jbGllbnQtZGV2ZWwKIAogJWlmIDAlez9fd2l0 aF90ZXN0c3VpdGU6MX0KIApAQCAtMzc2LDYgKzM3NSw3IEBAIEJ1aWxkUmVxdWlyZXM6IHh6CiBC dWlsZFJlcXVpcmVzOiBydXN0CiAlZW5kaWYKIAorQnVpbGRSZXF1aXJlczogJXs/c2NsX3ByZWZp eH1lbGZ1dGlscy1kZWJ1Z2luZm9kCiAlZW5kaWYgIyAwJXs/X3dpdGhfdGVzdHN1aXRlOjF9CiAK ICV7P3NjbDpSZXF1aXJlczolc2NsX3J1bnRpbWV9CkBAIC01NjUsNyArNTY1LDggQEAgQ09NTU9O X0dEQl9DT05GSUdVUkVfRkxBR1M9IlwKIAktLXdpdGgtbHptYQkJCQkJCVwKICVlbHNlCiAJLS13 aXRob3V0LWx6bWEJCQkJCQlcCi0lZW5kaWYKKyVlbmRpZiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIC0td2l0aC1kZWJ1 Z2luZm9kCiAiCiAKICMgSWRlbnRpZnkgdGhlIGJ1aWxkIGRpcmVjdG9yeSB3aXRoIHRoZSB2ZXJz aW9uIG9mIGdkYiBhcyB3ZWxsIGFzIHRoZQpAQCAtMTE2Myw2ICsxMTY0LDkgQEAgZmkKICVlbmRp ZgogCiAlY2hhbmdlbG9nCisqIFdlZCAgSnVuIDE3IDIwMjAgS2VpdGggU2VpdHogPGtlaXRoc0By ZWRoYXQuY29tPiAtIDkuMi0yCistIEJhY2twb3J0IGRlYnVnaW5mb2Qgc3VwcG9ydC4KKwogKiBU dWUgSnVuICA5IDIwMjAgS2VpdGggU2VpdHogPGtlaXRoc0ByZWRoYXQuY29tPiAtIDkuMi0xCiAt IFJlYmFzZSB0byBGU0YgR0RCIDkuMi4KIC0gQWRkIGV4cGxpY2l0IHB5dGhvbiBieXRlY29kZSBj b21waWxhdGlvbi4K