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: Julien Rische To: git-commits@fedoraproject.org Subject: [rpms/krb5] rawhide: GSSAPI: allow using cached S4U2Self ticket to itself Date: Tue, 01 Sep 2026 14:47:30 GMT Message-ID: <178827405056.1.4671658523662007037.rpms-krb5-e2fb2112fee3@fedoraproject.org> List-ID: X-Git-Repo: rpms/krb5 X-Git-Branch: rawhide X-Git-Rev: e2fb2112fee3ef99bc6d49d4319fbe5a0bfe21b4 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMva3JiNQogICAgICAgICAgICBCcmFuY2ggOiByYXdoaWRlCiAgICAgICAgICAg IENvbW1pdCA6IGUyZmIyMTEyZmVlM2VmOTliYzZkNDlkNDMxOWZiZTVhMGJmZTIxYjQKICAgICAg ICAgICAgQXV0aG9yIDogSnVsaWVuIFJpc2NoZSA8anJpc2NoZUByZWRoYXQuY29tPgogICAgICAg ICAgICBEYXRlICAgOiAyMDI2LTA5LTAxVDEwOjQwOjE1KzAyOjAwCiAgICAgICAgICAgIFN0YXRz ICA6ICs3NzIvLTUwIGluIDEgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczovL3Ny Yy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2tyYjUvYy9lMmZiMjExMmZlZTNlZjk5YmM2ZDQ5ZDQz MTlmYmU1YTBiZmUyMWI0P2JyYW5jaD1yYXdoaWRlCgogICAgICAgICAgICBMb2c6CiAgICAgICAg ICAgIEdTU0FQSTogYWxsb3cgdXNpbmcgY2FjaGVkIFM0VTJTZWxmIHRpY2tldCB0byBpdHNlbGYK Ci0gQWRkIGF1dG9fZmFzdF9hcm1vciByZWFsbSB2YXJpYWJsZSBmb3IgRkFTVAoKLS0tCmRpZmYg LS1naXQgYS9rcmI1LTEuMjItcmVkaGF0LnBhdGNoIGIva3JiNS0xLjIyLXJlZGhhdC5wYXRjaApp bmRleCA2ZmY5N2I4Li5hNzRlOTNhIDEwMDY0NAotLS0gYS9rcmI1LTEuMjItcmVkaGF0LnBhdGNo CisrKyBiL2tyYjUtMS4yMi1yZWRoYXQucGF0Y2gKQEAgLTEsNyArMSw3IEBACiBGcm9tIGQ3ZDcx NmYzMjcwMjM1NTI5OTk1ZTBkMjhiOGQ2Yzg5ZjQxNzEwNDUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCiBGcm9tOiBSb2JiaWUgSGFyd29vZCA8cmhhcndvb2RAcmVkaGF0LmNvbT4KIERhdGU6IEZy aSwgOSBOb3YgMjAxOCAxNToxMjoyMSAtMDUwMAotU3ViamVjdDogW1BBVENIIDAxLzI1XSBGSVBT OiBBZGQgc3VwcG9ydCBmb3IgUFJORywgUkFESVVTIChrcmFkKSwgYW5kIGNyeXB0bworU3ViamVj dDogW1BBVENIIDAxLzI4XSBGSVBTOiBBZGQgc3VwcG9ydCBmb3IgUFJORywgUkFESVVTIChrcmFk KSwgYW5kIGNyeXB0bwogIHByb3ZpZGVycwogCiBJbiBGSVBTIG1vZGU6CkBAIC02NTYsMTMgKzY1 NiwxMyBAQCBpbmRleCAxYTc3MmQ0NTBmLi4zMmJhYWVjYmI4IDEwMDY0NAogICAgICB2dC0+bmFt ZSA9ICJzcGFrZSI7CiAgICAgIHZ0LT5wYV90eXBlX2xpc3QgPSBwYV90eXBlczsKIC0tIAotMi41 My4wCisyLjU1LjAKIAogCiBGcm9tIDFhNGQ2YTczOTM4ODdiZjUzNzI2NzQ5NDJlZWE1MzAzMGRl MGZlZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKdWxpZW4gUmlzY2hlIDxqcmlz Y2hlQHJlZGhhdC5jb20+CiBEYXRlOiBUaHUsIDUgTWF5IDIwMjIgMTc6MTU6MTIgKzAyMDAKLVN1 YmplY3Q6IFtQQVRDSCAwMi8yNV0gRklQUzogQWxsb3cga3JhZCBVRFAvVENQIGxvY2FsaG9zdCBj b25uZWN0aW9uCitTdWJqZWN0OiBbUEFUQ0ggMDIvMjhdIEZJUFM6IEFsbG93IGtyYWQgVURQL1RD UCBsb2NhbGhvc3QgY29ubmVjdGlvbgogCiBsaWJrcmFkIGFsbG93cyB0byBlc3RhYmxpc2ggY29u bmVjdGlvbnMgb25seSB0byBVTklYIHNvY2tldCBpbiBGSVBTCiBtb2RlLCBiZWNhdXNlIE1ENSBk aWdlc3QgaXMgbm90IGNvbnNpZGVyZWQgc2FmZSBlbm91Z2ggdG8gYmUgdXNlZCBmb3IKQEAgLTc0 MCwxMyArNzQwLDEzIEBAIGluZGV4IDg5MTQwNGQ1YjcuLjc2NTRiYWIyMWIgMTAwNjQ0CiAgICAg ICAgICByZXR2YWwgPSBFU09DS1ROT1NVUFBPUlQ7CiAgICAgICAgICBnb3RvIGVycm9yOwogLS0g Ci0yLjUzLjAKKzIuNTUuMAogCiAKIEZyb20gOWI1YWExZWNiOWI0OWQ2ODQ1MzRiZmZiYWQzOWYw ODM1OGY3OTdlMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEp1bGllbiBSaXNjaGUg PGpyaXNjaGVAcmVkaGF0LmNvbT4KIERhdGU6IFR1ZSwgMjMgTWF5IDIwMjMgMTI6MTk6NTQgKzAy MDAKLVN1YmplY3Q6IFtQQVRDSCAwMy8yNV0gRklQUzogTWFrZSBQS0lOSVQgQ01TIFNIQS0xIHNp Z25hdHVyZSB2ZXJpZmljYXRpb24KK1N1YmplY3Q6IFtQQVRDSCAwMy8yOF0gRklQUzogTWFrZSBQ S0lOSVQgQ01TIFNIQS0xIHNpZ25hdHVyZSB2ZXJpZmljYXRpb24KICBhdmFpbGFibGUKIAogV2Ug cmVjb21tZW5kIHVzaW5nIHRoZSBTSEExIGNyeXB0by1tb2R1bGUgaW4gb3JkZXIgdG8gYWxsb3cg dGhlCkBAIC03ODYsMTMgKzc4NiwxMyBAQCBpbmRleCBmMjIyZGJkZjkyLi4xZDk5NTU5NDg1IDEw MDY0NAogICAgICAgICAgZ290byBjbGVhbnVwOwogICAgICB9CiAtLSAKLTIuNTMuMAorMi41NS4w CiAKIAogRnJvbSBjMDgyYzgzNTY3MmQ0MWI5YTY4ZDFkMzE5NWZlMGM0NGNiNjg5ZmQ3IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSnVsaWVuIFJpc2NoZSA8anJpc2NoZUByZWRoYXQu Y29tPgogRGF0ZTogVGh1LCAxOSBKYW4gMjAyMyAxOToyMjoyNyArMDEwMAotU3ViamVjdDogW1BB VENIIDA0LzI1XSBGSVBTOiBBbGxvdyBLUkI1S0RGLCBNRDUsIE1ENCBhbmQgSE1BQy1NRDQvNQor U3ViamVjdDogW1BBVENIIDA0LzI4XSBGSVBTOiBBbGxvdyBLUkI1S0RGLCBNRDUsIE1ENCBhbmQg SE1BQy1NRDQvNQogCiBPcGVuU1NMJ3MgcmVzdHJpY3Rpb25zIHRvIHVzZSBLUkI1S0RGLCBNRDUs IGFuZCBNRDQgaW4gRklQUyBtb2RlIGFyZQogYnlwYXNzZWQgaW4gY2FzZSBBRVMgU0hBLTEgSE1B QyBvciBSQzQgZW5jcnlwdGlvbiB0eXBlcyBhcmUgYWxsb3dlZCBieQpAQCAtMTIxOCwxMyArMTIx OCwxMyBAQCBpbmRleCA3NjU0YmFiMjFiLi45NmRhM2M0NTFkIDEwMDY0NAogIHN0YXRpYyBib29s IGlzX2luZXRfbG9jYWxob3N0KHN0cnVjdCBhZGRyaW5mbyAqaW5mbykKICB7CiAtLSAKLTIuNTMu MAorMi41NS4wCiAKIAogRnJvbSBjNjRmZjM0MzE0OTZkOTZmMzBhYzEzMDNiZTNhNWFlZGY1MThj YWIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUm9iYmllIEhhcndvb2QgPHJoYXJ3 b29kQHJlZGhhdC5jb20+CiBEYXRlOiBUdWUsIDI2IE1hciAyMDE5IDE4OjUxOjEwIC0wNDAwCi1T dWJqZWN0OiBbUEFUQ0ggMDUvMjVdIDNERVM6IFJlbW92ZSBzdXBwb3J0CitTdWJqZWN0OiBbUEFU Q0ggMDUvMjhdIDNERVM6IFJlbW92ZSBzdXBwb3J0CiAKIENvbXBsZXRlbHkgcmVtb3ZlIHN1cHBv cnQgZm9yIGFsbCBERVMzIGVuY3R5cGVzIChkZXMzLWNiYy1yYXcsCiBkZXMzLWhtYWMtc2hhMSwg ZGVzMy1jYmMtc2hhMS1rZCkuICBVcGRhdGUgYWxsIHRlc3RzIGFuZCBkb2N1bWVudGF0aW9uCkBA IC03NDk4LDEzICs3NDk4LDEzIEBAIGluZGV4IDFhZWJkZDBiNGEuLmMzOGVlZmQyYmQgMTAwNjQ0 CiAgICAgICA8dGQ+VGhlIEFFUyBBZHZhbmNlZCBFbmNyeXB0aW9uIFN0YW5kYXJkCiAgZmFtaWx5 LCBsaWtlIDNERVMsIGlzIGEgc3ltbWV0cmljIGJsb2NrIGNpcGhlciBhbmQgd2FzIGRlc2lnbmVk CiAtLSAKLTIuNTMuMAorMi41NS4wCiAKIAogRnJvbSBmNmI0MjVlODZjZWM3ZmViOTFkNjJhOWQz MTJmMjY2MGYwNmFjMmFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUm9iYmllIEhh cndvb2QgPHJoYXJ3b29kQHJlZGhhdC5jb20+CiBEYXRlOiBUdWUsIDIzIEF1ZyAyMDE2IDE2OjI5 OjU4IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDYvMjVdIFBBTTogQWRkIGludGVncmF0aW9uIHRv IGtzdQorU3ViamVjdDogW1BBVENIIDA2LzI4XSBQQU06IEFkZCBpbnRlZ3JhdGlvbiB0byBrc3UK IAogTW9kaWZ5IGtzdSBzbyB0aGF0IGl0IHBlcmZvcm1zIGFjY291bnQgYW5kIHNlc3Npb24gbWFu YWdlbWVudCBvbiBiZWhhbGYgb2YKIHRoZSB0YXJnZXQgdXNlciBhY2NvdW50LCBtaW1pY2tpbmcg dGhlIGFjdGlvbiBvZiByZWd1bGFyIHN1LiAgVGhlIGRlZmF1bHQKQEAgLTgyNzgsMTMgKzgyNzgs MTMgQEAgaW5kZXggOWZjNTY5ZjE5NS4uOTkyNjhkZmQ3OCAxMDA2NDQKICBpZiB0ZXN0ICIke2xv Y2FsZWRpcitzZXR9IiAhPSBzZXQ7IHRoZW4KICAgICAgbG9jYWxlZGlyPSckKGRhdGFkaXIpL2xv Y2FsZScKIC0tIAotMi41My4wCisyLjU1LjAKIAogCiBGcm9tIGRhYzJlOTc1ZDU3MjlkNTNmMjJk YzdkNzc0MjhmZWI1NTI2M2I5ODIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSb2Ji aWUgSGFyd29vZCA8cmhhcndvb2RAcmVkaGF0LmNvbT4KIERhdGU6IFR1ZSwgMjMgQXVnIDIwMTYg MTY6MzA6NTMgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCAwNy8yNV0gU0VMSU5VWDogQWRkIGludGVn cmF0aW9uCitTdWJqZWN0OiBbUEFUQ0ggMDcvMjhdIFNFTElOVVg6IEFkZCBpbnRlZ3JhdGlvbgog CiBTRUxpbnV4IGJhc2VzIGFjY2VzcyB0byBmaWxlcyBvbiB0aGUgZG9tYWluIG9mIHRoZSByZXF1 ZXN0aW5nIHByb2Nlc3MsCiB0aGUgb3BlcmF0aW9uIGJlaW5nIHBlcmZvcm1lZCwgYW5kIHRoZSBj b250ZXh0IGFwcGxpZWQgdG8gdGhlIGZpbGUuCkBAIC05MzIwLDEzICs5MzIwLDEzIEBAIGluZGV4 IDAwMDAwMDAwMDAuLmIxMGY5MjdiMmUKICsKICsjZW5kaWYgLyogVVNFX1NFTElOVVggKi8KIC0t IAotMi41My4wCisyLjU1LjAKIAogCiBGcm9tIDg1MjNjMzYyYzdhMGJjMmE3MDJlZGUxZWM4MmIy NDU1NWZmMTJiYTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKdWxpZW4gUmlzY2hl IDxqcmlzY2hlQHJlZGhhdC5jb20+CiBEYXRlOiBNb24sIDkgSmFuIDIwMjMgMjI6Mzk6NTIgKzAx MDAKLVN1YmplY3Q6IFtQQVRDSCAwOC8yNV0gSU5TVEFMTDogRG8gbm90IHNldCByb290IGFzIGtz dSBmaWxlIG93bmVyCitTdWJqZWN0OiBbUEFUQ0ggMDgvMjhdIElOU1RBTEw6IERvIG5vdCBzZXQg cm9vdCBhcyBrc3UgZmlsZSBvd25lcgogCiBVcHN0cmVhbSBNYWtlZmlsZSB1c2VzIHRoZSBpbnN0 YWxsIGNvbW1hbmQgdG8gc2V0IHJvb3QgYXMgb3duZXIgb2YgdGhlCiBrc3UgZXhlY3V0YWJsZSBm aWxlLiBIb3dldmVyLCB0aGlzIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgb24gbGF0ZXN0CkBAIC05 MzUyLDEzICs5MzUyLDEzIEBAIGluZGV4IDlmNjRmZDE5MGYuLjM3MjRkMjZhZTYgMTAwNjQ0CiAg IyMgJHtwcmVmaXh9LgogIHByZWZpeD1AcHJlZml4QAogLS0gCi0yLjUzLjAKKzIuNTUuMAogCiAK IEZyb20gMzA3ZDBiMTYxNTlkZTU5MDkyYjAwYTEwOWQ0NGY2OGRlMzIzZjVmMSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKIEZyb206IEp1bGllbiBSaXNjaGUgPGpyaXNjaGVAcmVkaGF0LmNvbT4K IERhdGU6IFdlZCwgNyBEZWMgMjAyMiAxMzoyMjo0MiArMDEwMAotU3ViamVjdDogW1BBVENIIDA5 LzI1XSBTU1NEOiBNYWtlIHRlc3RzIGNvbXBhdGlibGUgd2l0aAorU3ViamVjdDogW1BBVENIIDA5 LzI4XSBTU1NEOiBNYWtlIHRlc3RzIGNvbXBhdGlibGUgd2l0aAogIHNzc2Rfa3JiNV9sb2NhdG9y X3BsdWdpbi5zbwogCiBUaGUgc3NzZF9rcmI1X2xvY2F0b3JfcGx1Z2luLnNvIHBsdWdpbiBwcm92 aWRlZCBieSBzc3NkLWNsaWVudCBjb25mbGljdHMKQEAgLTkzOTQsMTMgKzkzOTQsMTMgQEAgaW5k ZXggODdiYWMxNzkyOS4uMjZiYzk1YThkYyAxMDA2NDQKICAgICAgICAgIGZhaWwoJ1VSSSBhbnN3 ZXJzIGRvIG5vdCBtYXRjaCcpCiAgICAgIGogKz0gMQogLS0gCi0yLjUzLjAKKzIuNTUuMAogCiAK IEZyb20gODJlYzRkMjU3YmE0ZjBlYTVlNTdjNTZiNjgwYmM4ODhiNjlhZTNkZiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKIEZyb206IEp1bGllbiBSaXNjaGUgPGpyaXNjaGVAcmVkaGF0LmNvbT4K IERhdGU6IFdlZCwgMTUgTWFyIDIwMjMgMTU6NTY6MzQgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAx MC8yNV0gUEFDOiBBbGxvdyB0byBzZXQgdGlja2V0IHNpZ25hdHVyZSBhcyBvcHRpb25hbAorU3Vi amVjdDogW1BBVENIIDEwLzI4XSBQQUM6IEFsbG93IHRvIHNldCB0aWNrZXQgc2lnbmF0dXJlIGFz IG9wdGlvbmFsCiAKIE1TLVBBQyBzdGF0ZXMgdGhhdCAiVGhlIHRpY2tldCBzaWduYXR1cmUgU0hP VUxEIGJlIGluY2x1ZGVkIGluIHRpY2tldHMKIHRoYXQgYXJlIG5vdCBlbmNyeXB0ZWQgdG8gdGhl IGtyYnRndCBhY2NvdW50Ii4gSG93ZXZlciwgdGhlCkBAIC05Njc0LDEzICs5Njc0LDEzIEBAIGlu ZGV4IDE1ZGRjMTdkYzUuLjk2Y2RkNTI5ODIgMTAwNjQ0CiAgLnNwCiAgVGhpcyBjb21tYW5kIHJl cXVpcmVzIHRoZSBcZkJtb2RpZnlcZlAgcHJpdmlsZWdlLgogLS0gCi0yLjUzLjAKKzIuNTUuMAog CiAKIEZyb20gZjE2MDQzMGE4NGNkYmMyZjI0ZTRlOWRjMzJmYWZhYzA0ZGRjYjg4NyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvYmJpZSBIYXJ3b29kIDxyaGFyd29vZEByZWRoYXQu Y29tPgogRGF0ZTogVHVlLCAyMyBBdWcgMjAxNiAxNjo0OToyNSAtMDQwMAotU3ViamVjdDogW1BB VENIIDExLzI1XSBCVUlMRDogZml4IGRlYnVnaW5mbyB3aXRoIHkudGFiLmMKK1N1YmplY3Q6IFtQ QVRDSCAxMS8yOF0gQlVJTEQ6IGZpeCBkZWJ1Z2luZm8gd2l0aCB5LnRhYi5jCiAKIFdlIHdhbnQg dG8ga2VlcCB0aGVzZSB5LnRhYi5jIGZpbGVzIGFyb3VuZCBiZWNhdXNlIHRoZSBkZWJ1Z2luZm8g cG9pbnRzIHRvCiB0aGVtLiAgSXQgd291bGQgYmUgbW9yZSBlbGVnYW50IGF0IHRoZSBlbmQgdG8g dXNlIHN5bWJvbGljIGxpbmtzLCBidXQgdGhhdApAQCAtOTczMSwxMyArOTczMSwxMyBAQCBpbmRl eCA4NjY5YzI0MzZjLi5mMjQzMDE3Y2U5IDEwMDY0NAogLQkkKFJNKSAkKFBST0cpICQoT0JKUykg Z2V0ZGF0ZS5jCiArCSQoUk0pICQoUFJPRykgJChPQkpTKSBnZXRkYXRlLmMgeS50YWIuYwogLS0g Ci0yLjUzLjAKKzIuNTUuMAogCiAKIEZyb20gNjIxZGFjM2Y3ZDI5ODlhZGZkNzQ2ZDQwYmE3NDQ2 OGZhMDI3NWFiNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBCb2tv dm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgogRGF0ZTogU3VuLCAyMSBTZXAgMjAyNSAxMToxNDo1 MSArMDMwMAotU3ViamVjdDogW1BBVENIIDEyLzI1XSBQS0lOSVQ6IElmIGNvbmZpZ3VyZWQsIGF0 dGVtcHQgQW5vbnltb3VzIFBLSU5JVCBmb3IKK1N1YmplY3Q6IFtQQVRDSCAxMi8yOF0gUEtJTklU OiBJZiBjb25maWd1cmVkLCBhdHRlbXB0IEFub255bW91cyBQS0lOSVQgZm9yCiAgRkFTVAogCiBJ ZiBhdXRvX2Zhc3RfYXJtb3IgaXMgY29uZmlndXJlZCBmb3IgdGhlIHJlYWxtIG9yIGdsb2JhbGx5 LCBvcHRpbWlzdGljYWxseQpAQCAtOTk1OSwxMyArOTk1OSwxMyBAQCBpbmRleCA2Zjc4OTBhYmNk Li4xMmMyZWExZTVkIDEwMDY0NAogIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgaG9zdFwoYXFz IHNpdGUgZm9yIHRoZSBwdXJwb3NlIG9mIEROU1wtYmFzZWQKICBLREMgZGlzY292ZXJ5IGZvciB0 aGlzIHJlYWxtLiAgTmV3IGluIHJlbGVhc2UgMS4yMi4KIC0tIAotMi41My4wCisyLjU1LjAKIAog CiBGcm9tIDM0N2Y4MTEwM2U5NTUzNmI1NjU1YmVlMzFiYjljZWQwNWQwNmIwOTggTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0 LmNvbT4KIERhdGU6IFN1biwgMTkgT2N0IDIwMjUgMTg6MTQ6MjkgKzAzMDAKLVN1YmplY3Q6IFtQ QVRDSCAxMy8yNV0gRml4IE9UUCBwcmVhdXRoIGNyYXNoIHdpdGggbnVsbCBwcm9tcHRlcgorU3Vi amVjdDogW1BBVENIIDEzLzI4XSBGaXggT1RQIHByZWF1dGggY3Jhc2ggd2l0aCBudWxsIHByb21w dGVyCiAKIEluIGRvcHJvbXB0KCksIGNoZWNrIGlmIHRoZSBjYWxsZXIgcHJvdmlkZWQgYSBwcm9t cHRlciBiZWZvcmUKIGRlcmVmZXJlbmNpbmcgaXQuICBTaW1pbGFyIGNvZGUgcmV0dXJucyBlaXRo ZXIgRUlPIG9yCkBAIC05OTk1LDEzICs5OTk1LDEzIEBAIGluZGV4IDA3ZmZjMTVjMjIuLjQ4MDAz ZGE2MmYgMTAwNjQ0CiAgICAgICAgICByZXR1cm4gRUlOVkFMOwogIAogLS0gCi0yLjUzLjAKKzIu NTUuMAogCiAKIEZyb20gMjA3M2JlMWFjZDUxZjkwNmFjNjhjMWE3M2M0ZjFhZTgzODBlZWUzNSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3Zv eUByZWRoYXQuY29tPgogRGF0ZTogV2VkLCAxMCBEZWMgMjAyNSAxMDo0MjowMiArMDIwMAotU3Vi amVjdDogW1BBVENIIDE0LzI1XSBGaXggc3RyY2hyKCkgY29uZm9ybWFuY2UgdG8gQzIzCitTdWJq ZWN0OiBbUEFUQ0ggMTQvMjhdIEZpeCBzdHJjaHIoKSBjb25mb3JtYW5jZSB0byBDMjMKIAogQzIz IDcuMjguNS4xIHNwZWNpZmllcyBzZWFyY2ggZnVuY3Rpb25zIHN1Y2ggYXMgc3RyY2hyKCkgYXMg Z2VuZXJpYywKIHJldHVybmluZyBjb25zdCBjaGFyICogaWYgdGhlIGZpcnN0IGFyZ3VtZW50IGlz IG9mIHR5cGUgY29uc3QgY2hhciAqLgpAQCAtMTAxODUsMTMgKzEwMTg1LDEzIEBAIGluZGV4IDgy Zjg3MGVhNWQuLjQyMjFhMjAyODMgMTAwNjQ0CiAgICAgICAgICAgICAgICAgIGtleSA9IHN0cmR1 cChkYXRhLT5vdHBfYW5zd2VyKTsKICAgICAgICAgICAgICAgICAgaWYgKGtleSA9PSBOVUxMKQog LS0gCi0yLjUzLjAKKzIuNTUuMAogCiAKIEZyb20gZGY5MDVlYTE0NmE0ZmViMzkyNzVmNjU3OTE4 MzczZTM0M2NkYTI4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEdyZWcgSHVkc29u IDxnaHVkc29uQG1pdC5lZHU+CiBEYXRlOiBTdW4sIDI4IFNlcCAyMDI1IDE1OjM5OjEwIC0wNDAw Ci1TdWJqZWN0OiBbUEFUQ0ggMTUvMjVdIEFkZCBwYUNoZWNrc3VtMiB0byBQS0lOSVQgQVNOLjEg dGVzdHMKK1N1YmplY3Q6IFtQQVRDSCAxNS8yOF0gQWRkIHBhQ2hlY2tzdW0yIHRvIFBLSU5JVCBB U04uMSB0ZXN0cwogCiBDb21taXQgMzEwNzkzYmE2Mzc4MmFmNWZmYTNhOTVkMjBlNDFmOGYwM2Nh N2UwMCBhZGRlZCB0aGUgcGFDaGVja3N1bTIKIGZpZWxkIHRvIGtyYjVfcGtfYXV0aGVudGljYXRv ci4gIGt0ZXN0X21ha2Vfc2FtcGxlX3BrX2F1dGhlbnRpY2F0b3IoKQpAQCAtMTAzNjAsMTMgKzEw MzYwLDEzIEBAIGluZGV4IGM0N2JkNzFmNjcuLjQxOGJlNjM1NDYgMTAwNjQ0CiAgLiAgWzJdIFtT ZXF1ZW5jZS9TZXF1ZW5jZSBPZl0KICAuICAuICBbU2VxdWVuY2UvU2VxdWVuY2UgT2ZdCiAtLSAK LTIuNTMuMAorMi41NS4wCiAKIAogRnJvbSBjODUxNDA1MDUxY2EwYWY3Nzc5YTZkNmY0MGRmNGYy ODIyMTIzMGYzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRGF4IEtlbHNvbiA8ZGFr ZWxzb25AcmVkaGF0LmNvbT4KIERhdGU6IFR1ZSwgMTMgTWF5IDIwMjUgMTE6NTQ6NDEgLTA2MDAK LVN1YmplY3Q6IFtQQVRDSCAxNi8yNV0gQWRkIHhyZWFsbWF1dGh6IEtEQyBwb2xpY3kgbW9kdWxl IGFuZCB0ZXN0cworU3ViamVjdDogW1BBVENIIDE2LzI4XSBBZGQgeHJlYWxtYXV0aHogS0RDIHBv bGljeSBtb2R1bGUgYW5kIHRlc3RzCiAKIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZpbmUtZ3JhaW5l ZCBhY2Nlc3MgY29udHJvbCBmb3IgY3Jvc3MtcmVhbG0KIGF1dGhlbnRpY2F0aW9ucyBieSBjaGVj a2luZyBzdHJpbmcgYXR0cmlidXRlcyBvbiB0aGUgaW5jb21pbmcKQEAgLTExMTIxLDEzICsxMTEy MSwxMyBAQCBpbmRleCAwMDAwMDAwMDAwLi4zYjM5MjFmMDM2CiArCiArc3VjY2VzcygnQ3Jvc3Mt cmVhbG0gYXV0aG9yaXphdGlvbiB0ZXN0cyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5JykKIC0tIAot Mi41My4wCisyLjU1LjAKIAogCiBGcm9tIDQ2MzRjYTFmODI0MmMyNDYzMmUwMDZkN2I2NTEwNjRh NzU1NmNjOTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKdWxpZW4gUmlzY2hlIDxq cmlzY2hlQHJlZGhhdC5jb20+CiBEYXRlOiBUaHUsIDI5IEphbiAyMDI2IDE5OjA1OjAxICswMTAw Ci1TdWJqZWN0OiBbUEFUQ0ggMTcvMjVdIEluc3RhbGwgeHJlYWxtYXV0aHogbGlrZSBvdGhlciBw bHVnaW5zCitTdWJqZWN0OiBbUEFUQ0ggMTcvMjhdIEluc3RhbGwgeHJlYWxtYXV0aHogbGlrZSBv dGhlciBwbHVnaW5zCiAKIFRoZSB4cmVhbG1hdXRoeiBrZGNwb2xpY3kgcGx1Z2luIHdhcyBtZXJn ZWQgdXBzdHJlYW0sIGJ1dCBpdCBpcyBub3QKIGluc3RhbGxlZCBteSB0aGUgTWFrZWZpbGUuIFRo ZSBjb21taXQgYWRkcyBhZGRpdGlvbmFsIGNvbmZpZ3VyYXRpb24gdG8KQEAgLTExMTg1LDEzICsx MTE4NSwxMyBAQCBpbmRleCA3ODM0NmQ2NTcyLi5iNjc0MDIxMGE3IDEwMDY0NAogIEBsaWJub3Zl cl9mcmFnQAogIEBsaWJvYmpfZnJhZ0AKIC0tIAotMi41My4wCisyLjU1LjAKIAogCiBGcm9tIDZk MDY2Nzg3ZDIzYzkxMzc4OWRjZmMyMjBiMzRjZDNhNzhhZGE0YzcgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCiBGcm9tOiBKdWxpZW4gUmlzY2hlIDxqcmlzY2hlQHJlZGhhdC5jb20+CiBEYXRlOiBN b24sIDE2IEZlYiAyMDI2IDE2OjMwOjE0ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMTgvMjVdIEZv cmNlICJmb3JrIiBtZXRob2QgZm9yIFJBRElVUyBkYWVtb24gaW4gT1RQIHRlc3QKK1N1YmplY3Q6 IFtQQVRDSCAxOC8yOF0gRm9yY2UgImZvcmsiIG1ldGhvZCBmb3IgUkFESVVTIGRhZW1vbiBpbiBP VFAgdGVzdAogCiBUaGUgUkFESVVTIGRhZW1vbiB1c2VkIGluIHRoZSBPVFAgdGVzdCByZWxpZXMg b24KIG11bHRpcHJvY2Vzc2luZy5Qcm9jZXNzLiBTaW5jZSBQeXRob24gMy4xNCwgbXVsdGlwcm9j ZXNzaW5nIGNoYW5nZWQgaXRzCkBAIC0xMTI1NSwxMyArMTEyNTUsMTMgQEAgaW5kZXggZGQ1Y2Rj NWMyNi4uYzE3M2I1NWM0MSAxMDA3NTUKICBkYWVtb24yID0gVW5peFJhZGl1c0RhZW1vbihhcmdz PShzb2NrZXRfZmlsZSwgTm9uZSwgJ2FjY2VwdDInLCBxdWV1ZTIpKQogIGRhZW1vbjEuc3RhcnQo KQogLS0gCi0yLjUzLjAKKzIuNTUuMAogCiAKIEZyb20gNGQ4ZTc3OGJkYmY2NDc2ZThhYTM5N2Vm MDQ2MTI2YWU1MzJmMDNkNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRl ciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgogRGF0ZTogU3VuLCA4IE1hciAyMDI2IDIx OjUwOjUyICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMTkvMjVdIEZpeCBTNFUyU2VsZiBpZ25vcmlu ZyB0aW1lX3JlcSB3aGVuIGFjcXVpcmluZworU3ViamVjdDogW1BBVENIIDE5LzI4XSBGaXggUzRV MlNlbGYgaWdub3JpbmcgdGltZV9yZXEgd2hlbiBhY3F1aXJpbmcKICBpbXBlcnNvbmF0ZWQgY3Jl ZGVudGlhbHMKIE1JTUUtVmVyc2lvbjogMS4wCiBDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNo YXJzZXQ9VVRGLTgKQEAgLTExMzI2LDEzICsxMTMyNiwxMyBAQCBpbmRleCBmYTdmOTgwYWY3Li45 ZjJjYmViZWM3IDEwMDY0NAogICAgICAgICAgc3ViamVjdF9jZXJ0ID0gdXNlci0+cHJpbmMtPmRh dGE7CiAgICAgIGVsc2UKIC0tIAotMi41My4wCisyLjU1LjAKIAogCiBGcm9tIDViMTg1ODkzNDM4 Zjc3NTUzOGE4ZDYzNDBlOWY0ZjM5ZjYzODNjYzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBG cm9tOiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KIERhdGU6IE1vbiwg OSBNYXIgMjAyNiAwOToxNjo1NiArMDIwMAotU3ViamVjdDogW1BBVENIIDIwLzI1XSBGaXggUzRV MlNlbGYgaWdub3JpbmcgdGltZV9yZXEgd2hlbiBjb3B5aW5nCitTdWJqZWN0OiBbUEFUQ0ggMjAv MjhdIEZpeCBTNFUyU2VsZiBpZ25vcmluZyB0aW1lX3JlcSB3aGVuIGNvcHlpbmcKICBpbXBlcnNv bmF0b3IgVEdUCiAKIGdzc19hY3F1aXJlX2NyZWRfaW1wZXJzb25hdGVfbmFtZSgpIHdpdGggYSB0 aW1lX3JlcSBib3VuZGVkIHRoZQpAQCAtMTE0MDYsMTMgKzExNDA2LDEzIEBAIGluZGV4IDlmMmNi ZWJlYzcuLjEwMjg4ZWJlOTQgMTAwNjQ0CiAgICAgICAgICBnb3RvIGNsZWFudXA7CiAgCiAtLSAK LTIuNTMuMAorMi41NS4wCiAKIAogRnJvbSA4ZGYxYzQxOTExZTcxNzlkMmU2Y2RiNzJiM2JiNTY4 YzFkYjA4YmQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEJva292 b3kgPGFib2tvdm95QHJlZGhhdC5jb20+CiBEYXRlOiBNb24sIDkgTWFyIDIwMjYgMDk6MTc6MDgg KzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAyMS8yNV0gQWRkIHRfczR1IHRlc3QgZm9yIHRpbWVfcmVx IGJvdW5kaW5nIGFsbCBkZWxlZ2F0ZWQtY3JlZAorU3ViamVjdDogW1BBVENIIDIxLzI4XSBBZGQg dF9zNHUgdGVzdCBmb3IgdGltZV9yZXEgYm91bmRpbmcgYWxsIGRlbGVnYXRlZC1jcmVkCiAgdGlj a2V0cwogCiBBZGQgLS10aW1lLXJlcSBOIG9wdGlvbiB0byB0X3M0dSBhbmQgYSBjaGVja19jcmVk X2VuZHRpbWVzKCkgZnVuY3Rpb24KQEAgLTExNTY4LDEzICsxMTU2OCwxMyBAQCBpbmRleCA0YTFj ZGIyMzU1Li44MTNlMjdmYzE1IDEwMDc1NQogICMgdHJ5IGtyYjUgLT4gUzRVMlByb3h5LgogIHJl YWxtLmtpbml0KHJlYWxtLnVzZXJfcHJpbmMsIE5vbmUsIFsnLWYnLCAnLWsnLCAnLWMnLCB1c2Vy Y2FjaGUsCiAtLSAKLTIuNTMuMAorMi41NS4wCiAKIAogRnJvbSBlNzljYzM5OTYxYTBlMzQ3ZTJl ZmMwNDU1ZDYyZWE2NGZkZmY5OWVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogU2Ft dWVsIENhYnJlcm8gPHNjYWJyZXJvQHN1c2UuY29tPgogRGF0ZTogVHVlLCAxNyBGZWIgMjAyNiAx Njo1Nzo0MCArMDEwMAotU3ViamVjdDogW1BBVENIIDIyLzI1XSBNYWtlIGNvbmZpZ3VyZS5hYyB3 b3JrIHdpdGggYXV0b2NvbmYgMi43MworU3ViamVjdDogW1BBVENIIDIyLzI4XSBNYWtlIGNvbmZp Z3VyZS5hYyB3b3JrIHdpdGggYXV0b2NvbmYgMi43MwogCiBhdXRvcmVjb25mIHJlcXVpcmVzICJB Q19JTklUIiB0byBhcHBlYXIgaW4gY29uZmlndXJlLmFjLiAgUHJpb3IgdG8KIGF1dG9jb25mIDIu NzMsIG91ciBpbmRpcmVjdCBpbnZvY2F0aW9uIHZpYSBLNV9BQ19JTklUKCkgd2FzCkBAIC0xMTY2 MiwxMyArMTE2NjIsMTMgQEAgaW5kZXggMDAwMDAwMDAwMC4uNGIwOGVkZGU1MgogK200X2RlZmlu ZShbSzVfVkVSU0lPTl0sUExfS1JCNV9NQUpPUl9SRUxFQVNFLlBMX0tSQjVfTUlOT1JfUkVMRUFT RVtdaWZlbHNlKFBMX0tSQjVfUEFUQ0hMRVZFTCwwLCwuUExfS1JCNV9QQVRDSExFVkVMKWlmZWxz ZShQTF9LUkI1X1JFTFRBSUwsLCwtUExfS1JCNV9SRUxUQUlMKSkKICttNF9kZWZpbmUoW0s1X0JV R0FERFJdLGtyYjUtYnVnc0BtaXQuZWR1KQogLS0gCi0yLjUzLjAKKzIuNTUuMAogCiAKIEZyb20g YTc5NjIwYzRmMDA4MGY0MzZlY2FlMzUwNGMyZTBlZTNmZWRiNTM2MCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKIEZyb206IEdyZWcgSHVkc29uIDxnaHVkc29uQG1pdC5lZHU+CiBEYXRlOiBXZWQs IDI1IEZlYiAyMDI2IDE5OjA1OjQwIC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0ggMjMvMjVdIFVzZSBY NTA5X2NoZWNrX2hvc3QoKSB0byB2ZXJpZnkgS0tEQ1Agc2VydmVyIGNlcnQKK1N1YmplY3Q6IFtQ QVRDSCAyMy8yOF0gVXNlIFg1MDlfY2hlY2tfaG9zdCgpIHRvIHZlcmlmeSBLS0RDUCBzZXJ2ZXIg Y2VydAogCiBJbiB0aGUgazV0bHMgbW9kdWxlLCByZWx5IG9uIFg1MDlfY2hlY2tfaG9zdCgpIGFu ZAogWDUwOV9jaGVja19pcF9hc2MoKSwgd2hpY2ggd2VyZSBhZGRlZCBpbiBPcGVuU1NMIDEuMC4y LCBpbnN0ZWFkIG9mCkBAIC0xMTkxNSwxMyArMTE5MTUsMTMgQEAgaW5kZXggYWFiNjdjMDFjYi4u NDJkNzJkYzllYyAxMDA2NDQKICAKICBzdGF0aWMgaW50CiAtLSAKLTIuNTMuMAorMi41NS4wCiAK IAogRnJvbSBjNzVhZmQzNDc4MzhkZTA5NzUyMjA5NTAxNjY5MGU4NTFmMDU1ZmExIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQm9iIEJlY2sgPGJlY2tAb3BlbnNzbC5vcmc+CiBEYXRl OiBNb24sIDE2IEZlYiAyMDI2IDE1OjE1OjU1IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMjQvMjVd IEltcHJvdmUgZnV0dXJlIE9wZW5TU0wgY29tcGF0aWJpbGl0eQorU3ViamVjdDogW1BBVENIIDI0 LzI4XSBJbXByb3ZlIGZ1dHVyZSBPcGVuU1NMIGNvbXBhdGliaWxpdHkKIAogQXZvaWQgY2FsbGlu ZyBkZXByZWNhdGVkIE9wZW5TU0wgZnVuY3Rpb25zIHdoZW4gY29tcGlsaW5nIGFnYWluc3QKIHZl cnNpb25zIG9mIE9wZW5TU0wgd2hlcmUgdGhleSBhcmUgZGVwcmVjYXRlZC4gIEFkZApAQCAtMTIy MDAsMTMgKzEyMjAwLDEzIEBAIGluZGV4IDQyZDcyZGM5ZWMuLjc3NjMzMjdiN2EgMTAwNjQ0CiAg ICAgICAgICBnb3RvIGVycm9yOwogIAogLS0gCi0yLjUzLjAKKzIuNTUuMAogCiAKIEZyb20gM2Nm Mzk2MTg5ODc2YWM2NjEwNjNkYzI0ODNlYTcyMWQ4YThjNzQ0MSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKIEZyb206IEdyZWcgSHVkc29uIDxnaHVkc29uQG1pdC5lZHU+CiBEYXRlOiBXZWQsIDgg QXByIDIwMjYgMTc6NTc6NTkgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCAyNS8yNV0gRml4IHR3byBO ZWdvRXggcGFyc2luZyB2dWxuZXJhYmlsaXRpZXMKK1N1YmplY3Q6IFtQQVRDSCAyNS8yOF0gRml4 IHR3byBOZWdvRXggcGFyc2luZyB2dWxuZXJhYmlsaXRpZXMKIAogSW4gcGFyc2VfbmVnb19tZXNz YWdlKCksIGNoZWNrIHRoZSByZXN1bHQgb2YgdGhlIHNlY29uZCBjYWxsIHRvCiB2ZWN0b3JfYmFz ZSgpIGJlZm9yZSBkZXJlZmVyZW5jaW5nIGl0LiAgSW4gcGFyc2VfbWVzc2FnZSgpLCBjaGVjayBm b3IKQEAgLTEyMjY2LDUgKzEyMjY2LDcyNyBAQCBpbmRleCBlZGM1NDYyZTg0Li5hNjUyMzhlNTcz IDEwMDY0NAogICAgICAgICAgcmV0dXJuIEdTU19TX0RFRkVDVElWRV9UT0tFTjsKICAgICAgfQog LS0gCi0yLjUzLjAKKzIuNTUuMAorCisKK0Zyb20gNWZlYTdjNTJkNWZhZDJjNDE0MThjM2QzZjQ2 Yjg5MGYwMTA1MTM3NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEp1bGllbiBSaXNj aGUgPGpyaXNjaGVAcmVkaGF0LmNvbT4KK0RhdGU6IFR1ZSwgMSBTZXAgMjAyNiAxMDozNTo1NSAr MDIwMAorU3ViamVjdDogW1BBVENIIDI2LzI4XSBSZXZlcnQgIlBLSU5JVDogSWYgY29uZmlndXJl ZCwgYXR0ZW1wdCBBbm9ueW1vdXMgUEtJTklUCisgZm9yIEZBU1QiCisKK1RoaXMgcmV2ZXJ0cyBj b21taXQgNjIxZGFjM2Y3ZDI5ODlhZGZkNzQ2ZDQwYmE3NDQ2OGZhMDI3NWFiNS4KKy0tLQorIHNy Yy9saWIva3JiNS9rcmIvZmFzdC5jIHwgMTE4IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyBzcmMvbGliL2tyYjUva3JiL2Zhc3QuaCB8ICAgMiAtCisgc3JjL21hbi9r cmI1LmNvbmYubWFuICAgfCAgMTMgLS0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDEzMyBkZWxldGlv bnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWIva3JiNS9rcmIvZmFzdC5jIGIvc3JjL2xpYi9r cmI1L2tyYi9mYXN0LmMKK2luZGV4IGVlMmUwODE4OTIuLjYyYzlmMDg0MWYgMTAwNjQ0CistLS0g YS9zcmMvbGliL2tyYjUva3JiL2Zhc3QuYworKysrIGIvc3JjL2xpYi9rcmI1L2tyYi9mYXN0LmMK K0BAIC0xNjgsMTA5ICsxNjgsNiBAQCBrcmI1aW50X2Zhc3RfcHJlcF9yZXFfYm9keShrcmI1X2Nv bnRleHQgY29udGV4dCwKKyAgICAgcmV0dXJuIHJldHZhbDsKKyB9CisgCistc3RhdGljIGtyYjVf Ym9vbGVhbgorLWZhc3RfaXNfcGtpbml0X2FsbG93ZWQoa3JiNV9jb250ZXh0IGNvbnRleHQsIGty YjVfZGF0YSAqcmVhbG0pCisteworLSAgICBpbnQgdmFsdWU7CistICAgIGtyYjVfZXJyb3JfY29k ZSByZXR2YWwgPSBFSU5WQUw7CistICAgIGNoYXIgcmVhbG1zdHJbMTAyNF07CistICAgIGNvbnN0 IGNoYXIgKm9wdGlvbiA9ICJhdXRvX2Zhc3RfYXJtb3IiOworLSAgICBjb25zdCBpbnQgZGVmX3Zh bHVlID0gRkFMU0U7CistCistICAgIGlmIChyZWFsbSAhPSBOVUxMICYmIHJlYWxtLT5sZW5ndGgg PiBzaXplb2YocmVhbG1zdHIpLTEpCistICAgICAgICByZXR1cm4gRkFMU0U7CistCistICAgIGlm IChyZWFsbSAhPSBOVUxMKSB7CistICAgICAgICBzdHJuY3B5KHJlYWxtc3RyLCByZWFsbS0+ZGF0 YSwgcmVhbG0tPmxlbmd0aCk7CistICAgICAgICByZWFsbXN0cltyZWFsbS0+bGVuZ3RoXSA9ICdc MCc7CistCistICAgICAgICByZXR2YWwgPSBwcm9maWxlX2dldF9ib29sZWFuKGNvbnRleHQtPnBy b2ZpbGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtSQjVfQ09ORl9S RUFMTVMsIHJlYWxtc3RyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv cHRpb24sIGRlZl92YWx1ZSwgJnZhbHVlKTsKKy0gICAgfQorLQorLSAgICByZXR1cm4gcmV0dmFs ID8gRkFMU0UgOiB2YWx1ZTsKKy0KKy19CistCistc3RhdGljIGtyYjVfZXJyb3JfY29kZQorLWZh c3RfYWNxdWlyZV9wa2luaXRfYXJtb3Ioa3JiNV9jb250ZXh0IGNvbnRleHQsCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IGtyYjVpbnRfZmFzdF9yZXF1ZXN0X3N0YXRlICpzdGF0 ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBrcmI1X2dldF9pbml0X2NyZWRzX29wdCAq b3B0LCBrcmI1X2tkY19yZXEgKnJlcXVlc3QpCisteworLSAgICBrcmI1X2NvbnRleHQgY3R4Owor LSAgICBrcmI1X2dldF9pbml0X2NyZWRzX29wdCAqb3B0aW9ucyA9IE5VTEw7CistICAgIGtyYjVf ZXJyb3JfY29kZSByZXR2YWwgPSAwOworLSAgICBrcmI1X2RhdGEgKnRhcmdldF9yZWFsbSA9ICZy ZXF1ZXN0LT5zZXJ2ZXItPnJlYWxtOworLSAgICBrcmI1X2NyZWRzIGNyZWRzOworLSAgICBrcmI1 X3ByaW5jaXBhbCBhbm9uX3ByaW5jID0gTlVMTDsKKy0gICAga3JiNV9jY2FjaGUgb3V0X2NjOwor LQorLSAgICAvKiBzaG9ydCBjaXJjdWl0LCB3ZSBhcmUgYXNrZWQgdG8gcGVyZm9ybSBBbm9ueW1v dXMgUEtJTklUIGFscmVhZHkgKi8KKy0gICAgaWYgKG9wdC0+ZmxhZ3MgJiBLUkI1X0dFVF9JTklU X0NSRURTX09QVF9BTk9OWU1PVVMpIHsKKy0gICAgICAgIHJldHVybiBFSU5WQUw7CistICAgIH0K Ky0KKy0gICAgLyogc2tpcCByZWFsbXMgd2hpY2ggZG8gbm90IGFsbG93IHVzZSBvZiBhdXRvbWF0 ZWQgRkFTVCBhcm1vciAqLworLSAgICBpZiAoIWZhc3RfaXNfcGtpbml0X2FsbG93ZWQoY29udGV4 dCwgdGFyZ2V0X3JlYWxtKSkgeworLSAgICAgICAgcmV0dXJuIEVJTlZBTDsKKy0gICAgfQorLQor LSAgICByZXR2YWwgPSBrcmI1X2luaXRfY29udGV4dCgmY3R4KTsKKy0gICAgaWYgKHJldHZhbCAh PSAwKSB7CistICAgICAgICByZXR1cm4gcmV0dmFsOworLSAgICB9CistICAgIHJldHZhbCA9IGty YjVfZ2V0X2luaXRfY3JlZHNfb3B0X2FsbG9jKGN0eCwgJm9wdGlvbnMpOworLSAgICBpZiAocmV0 dmFsICE9IDApIHsKKy0gICAgICAgIGdvdG8gY2xlYW51cDsKKy0gICAgfQorLSAgICBrcmI1X2dl dF9pbml0X2NyZWRzX29wdF9zZXRfYW5vbnltb3VzKG9wdGlvbnMsIDEpOworLSAgICByZXR2YWwg PSBrcmI1X2NjX25ld191bmlxdWUoY3R4LCAiTUVNT1JZIiwgTlVMTCwgJm91dF9jYyk7CistICAg IGlmIChyZXR2YWwgIT0gMCkgeworLSAgICAgICAgZ290byBjbGVhbnVwOworLSAgICB9CistCist ICAgIHJldHZhbCA9IGtyYjVfZ2V0X2luaXRfY3JlZHNfb3B0X3NldF9vdXRfY2NhY2hlKGN0eCwg b3B0aW9ucywgb3V0X2NjKTsKKy0gICAgaWYgKHJldHZhbCAhPSAwKSB7CistICAgICAgICBnb3Rv IGNsZWFudXA7CistICAgIH0KKy0KKy0gICAgcmV0dmFsID0ga3JiNV9idWlsZF9wcmluY2lwYWxf ZXh0KGN0eCwgJmFub25fcHJpbmMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0YXJnZXRfcmVhbG0tPmxlbmd0aCwgdGFyZ2V0X3JlYWxtLT5kYXRhLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RybGVuKEtSQjVfV0VMTEtOT1dOX05BTUVT VFIpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS1JCNV9XRUxMS05P V05fTkFNRVNUUiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmxl bihLUkI1X0FOT05ZTU9VU19QUklOQ1NUUiksCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBLUkI1X0FOT05ZTU9VU19QUklOQ1NUUiwgMCk7CistICAgIGlmIChyZXR2YWwg IT0gMCkgeworLSAgICAgICAgZ290byBjbGVhbnVwOworLSAgICB9CistCistICAgIHJldHZhbCA9 IGtyYjVfZ2V0X2luaXRfY3JlZHNfcGFzc3dvcmQoY3R4LCAmY3JlZHMsIGFub25fcHJpbmMsIDAs CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCAvKiBubyBw cm9tcHRlciAqLywgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAwLCBOVUxMIC8qIHNlcnZpY2UgbmFtZSAqLywKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBvcHRpb25zKTsKKy0gICAgaWYgKHJldHZhbCA9PSAwKSB7Cist ICAgICAgICBzdGF0ZS0+ZmFzdF9zdGF0ZV9mbGFncyB8PSBLUkI1SU5UX0ZBU1RfT1dOX0FSTU9S OworLSAgICAgICAgc3RhdGUtPmFybW9yX2NjYWNoZSA9IG91dF9jYzsKKy0gICAgfQorLWNsZWFu dXA6CistICAgIGlmIChyZXR2YWwgIT0gMCAmJiBvdXRfY2MgIT0gTlVMTCkgeworLSAgICAgICAg KHZvaWQpIGtyYjVfY2NfZGVzdHJveShjdHgsIG91dF9jYyk7CistICAgIH0KKy0gICAgaWYgKHJl dHZhbCA9PSAwKSB7CistICAgICAgICBrcmI1X2ZyZWVfY3JlZF9jb250ZW50cyhjdHgsICZjcmVk cyk7CistICAgIH0KKy0gICAgaWYgKG9wdGlvbnMgIT0gTlVMTCkgeworLSAgICAgICAga3JiNV9n ZXRfaW5pdF9jcmVkc19vcHRfZnJlZShjdHgsIG9wdGlvbnMpOworLSAgICB9CistICAgIGlmIChh bm9uX3ByaW5jICE9IE5VTEwpIHsKKy0gICAgICAgIGtyYjVfZnJlZV9wcmluY2lwYWwoY3R4LCBh bm9uX3ByaW5jKTsKKy0gICAgfQorLSAgICBrcmI1X2ZyZWVfY29udGV4dChjdHgpOworLQorLSAg ICByZXR1cm4gcmV0dmFsOworLX0KKy0KKyBrcmI1X2Vycm9yX2NvZGUKKyBrcmI1aW50X2Zhc3Rf YXNfYXJtb3Ioa3JiNV9jb250ZXh0IGNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBrcmI1aW50X2Zhc3RfcmVxdWVzdF9zdGF0ZSAqc3RhdGUsCitAQCAtMjgxLDIwICsxNzgs MTAgQEAga3JiNWludF9mYXN0X2FzX2FybW9yKGtyYjVfY29udGV4dCBjb250ZXh0LAorICAgICBr cmI1X3ByaW5jaXBhbCB0YXJnZXRfcHJpbmNpcGFsID0gTlVMTDsKKyAgICAga3JiNV9kYXRhICp0 YXJnZXRfcmVhbG07CisgICAgIGNvbnN0IGNoYXIgKmNjbmFtZSA9IGs1X2dpY19vcHRfZ2V0X2Zh c3RfY2NhY2hlX25hbWUob3B0KTsKKy0gICAgY2hhciAqZmFzdF9jY25hbWUgPSBOVUxMOworICAg ICBrcmI1X2ZsYWdzIGZhc3RfZmxhZ3M7CisgCisgICAgIGtyYjVfY2xlYXJfZXJyb3JfbWVzc2Fn ZShjb250ZXh0KTsKKyAgICAgdGFyZ2V0X3JlYWxtID0gJnJlcXVlc3QtPnNlcnZlci0+cmVhbG07 CistICAgIGlmIChjY25hbWUgPT0gTlVMTCkgeworLSAgICAgICAgcmV0dmFsID0gZmFzdF9hY3F1 aXJlX3BraW5pdF9hcm1vcihjb250ZXh0LCBzdGF0ZSwgb3B0LCByZXF1ZXN0KTsKKy0gICAgICAg IGlmIChyZXR2YWwgPT0gMCkgeworLSAgICAgICAgICAgIHJldHZhbCA9IGtyYjVfY2NfZ2V0X2Z1 bGxfbmFtZShjb250ZXh0LCBzdGF0ZS0+YXJtb3JfY2NhY2hlLCAmZmFzdF9jY25hbWUpOworLSAg ICAgICAgICAgIGlmIChyZXR2YWwgPT0gMCAmJiBmYXN0X2NjbmFtZSAhPSBOVUxMKQorLSAgICAg ICAgICAgICAgICBjY25hbWUgPSBmYXN0X2NjbmFtZTsKKy0gICAgICAgIH0KKy0gICAgICAgIHJl dHZhbCA9IDA7CistICAgIH0KKyAgICAgaWYgKGNjbmFtZSAhPSBOVUxMKSB7CisgICAgICAgICBU UkFDRV9GQVNUX0FSTU9SX0NDQUNIRShjb250ZXh0LCBjY25hbWUpOworICAgICAgICAgc3RhdGUt PmZhc3Rfc3RhdGVfZmxhZ3MgfD0gS1JCNUlOVF9GQVNUX0FSTU9SX0FWQUlMOworQEAgLTMzMyw4 ICsyMjAsNiBAQCBrcmI1aW50X2Zhc3RfYXNfYXJtb3Ioa3JiNV9jb250ZXh0IGNvbnRleHQsCisg ICAgICAgICBrcmI1X2NjX2Nsb3NlKGNvbnRleHQsIGNjYWNoZSk7CisgICAgIGlmICh0YXJnZXRf cHJpbmNpcGFsKQorICAgICAgICAga3JiNV9mcmVlX3ByaW5jaXBhbChjb250ZXh0LCB0YXJnZXRf cHJpbmNpcGFsKTsKKy0gICAgaWYgKGZhc3RfY2NuYW1lKQorLSAgICAgICAgZnJlZShmYXN0X2Nj bmFtZSk7CisgICAgIHJldHVybiByZXR2YWw7CisgfQorIAorQEAgLTczMCw5ICs2MTUsNiBAQCBr cmI1aW50X2Zhc3RfZnJlZV9zdGF0ZShrcmI1X2NvbnRleHQgY29udGV4dCwKKyAgICAgLypXZSBh cmUgcmVzcG9uc2libGUgZm9yIG5vbmUgb2YgdGhlIHN0b3JlIGluIHRoZSBmYXN0X291dGVyX3Jl cSovCisgICAgIGtyYjVfZnJlZV9rZXlibG9jayhjb250ZXh0LCBzdGF0ZS0+YXJtb3Jfa2V5KTsK KyAgICAga3JiNV9mcmVlX2Zhc3RfYXJtb3IoY29udGV4dCwgc3RhdGUtPmFybW9yKTsKKy0gICAg aWYgKHN0YXRlLT5mYXN0X3N0YXRlX2ZsYWdzICYgS1JCNUlOVF9GQVNUX09XTl9BUk1PUikgewor LSAgICAgICAga3JiNV9jY19kZXN0cm95KGNvbnRleHQsIHN0YXRlLT5hcm1vcl9jY2FjaGUpOwor LSAgICB9CisgICAgIGZyZWUoc3RhdGUpOworIH0KKyAKK2RpZmYgLS1naXQgYS9zcmMvbGliL2ty YjUva3JiL2Zhc3QuaCBiL3NyYy9saWIva3JiNS9rcmIvZmFzdC5oCitpbmRleCBlNWZlOGJkNTQ0 Li43MTU2ZWEyMDNmIDEwMDY0NAorLS0tIGEvc3JjL2xpYi9rcmI1L2tyYi9mYXN0LmgKKysrKyBi L3NyYy9saWIva3JiNS9rcmIvZmFzdC5oCitAQCAtMzQsNyArMzQsNiBAQCBzdHJ1Y3Qga3JiNWlu dF9mYXN0X3JlcXVlc3Rfc3RhdGUgeworICAgICBrcmI1X2tkY19yZXEgZmFzdF9vdXRlcl9yZXF1 ZXN0OworICAgICBrcmI1X2tleWJsb2NrICphcm1vcl9rZXk7IC8qbm9uLW51bGwgbWVhbnMgZmFz dCBpcyBpbiB1c2UqLworICAgICBrcmI1X2Zhc3RfYXJtb3IgKmFybW9yOworLSAgICBrcmI1X2Nj YWNoZSBhcm1vcl9jY2FjaGU7CisgICAgIGtyYjVfdWlfNCBmYXN0X3N0YXRlX2ZsYWdzOworICAg ICBrcmI1X3VpXzQgZmFzdF9vcHRpb25zOworICAgICBrcmI1X2ludDMyIG5vbmNlOworQEAgLTQy LDcgKzQxLDYgQEAgc3RydWN0IGtyYjVpbnRfZmFzdF9yZXF1ZXN0X3N0YXRlIHsKKyAKKyAjZGVm aW5lIEtSQjVJTlRfRkFTVF9ET19GQVNUICAgICAoMWw8PDApICAvKiBQZXJmb3JtIEZBU1QgKi8K KyAjZGVmaW5lIEtSQjVJTlRfRkFTVF9BUk1PUl9BVkFJTCAoMWw8PDEpCistI2RlZmluZSBLUkI1 SU5UX0ZBU1RfT1dOX0FSTU9SICAgKDFsPDwyKQorIAorIGtyYjVfZXJyb3JfY29kZQorIGtyYjVp bnRfZmFzdF9wcmVwX3JlcV9ib2R5KGtyYjVfY29udGV4dCBjb250ZXh0LAorZGlmZiAtLWdpdCBh L3NyYy9tYW4va3JiNS5jb25mLm1hbiBiL3NyYy9tYW4va3JiNS5jb25mLm1hbgoraW5kZXggMTJj MmVhMWU1ZC4uNmY3ODkwYWJjZCAxMDA2NDQKKy0tLSBhL3NyYy9tYW4va3JiNS5jb25mLm1hbgor KysrIGIvc3JjL21hbi9rcmI1LmNvbmYubWFuCitAQCAtNjU1LDE5ICs2NTUsNiBAQCBwcmltYXJ5 IEtEQywgaW4gY2FzZSB0aGUgdXNlclwoYXFzIHBhc3N3b3JkIGhhcyBqdXN0IGJlZW4gY2hhbmdl ZCwgYW5kCisgdGhlIHVwZGF0ZWQgZGF0YWJhc2UgaGFzIG5vdCBiZWVuIHByb3BhZ2F0ZWQgdG8g dGhlIHJlcGxpY2EKKyBzZXJ2ZXJzIHlldC4gIE5ldyBpbiByZWxlYXNlIDEuMTkuCisgLlRQCist XGZCYXV0b19mYXN0X2FybW9yXGZQCistSWYgdGhpcyBmbGFnIGlzIHRydWUsIHRoZW4gaW5pdGlh bCB0aWNrZXQgcmVxdWVzdCB3aWxsIHVzZSBBbm9ueW1vdXMKKy1QS0lOSVQgdG8gcHJvdGVjdCB0 aGUgY29tbXVuaWNhdGlvbiBhcyBhIEZBU1QgY2hhbm5lbCBpbiBjYXNlIGFuIGFwcGxpY2F0aW9u CistZGlkIG5vdCBwcm92aWRlIGl0cyBvd24gRkFTVCBjaGFubmVsLiBUaGlzIGlzIHVzZWZ1bCBm b3IgZGVwbG95bWVudHMgd2hlcmUKKy1wcmUtYXV0aGVudGljYXRpb24gbWV0aG9kcyByZXF1aXJl IHVzZSBvZiB0aGUgRkFTVCBjaGFubmVsLCBzdWNoIGFzCistcGFzc3dvcmRsZXNzIG1ldGhvZHMg cHJvdmlkZWQgYnkgRnJlZUlQQS4gTWljcm9zb2Z0IEFjdGl2ZSBEaXJlY3RvcnkKKy1pbXBsZW1l bnRhdGlvbiBvZiBQS0lOSVQgZG9lcyBub3Qgc3VwcG9ydCBBbm9ueW1vdXMgUEtJTklUIGZlYXR1 cmUuCistQXMgYSByZXN1bHQsIFxmSWF1dG9fZmFzdF9hcm1vclxmUCBkZWZhdWx0cyB0byBmYWxz ZS4KKy0uc3AKKy1Vc2Ugb2YgXGZJYXV0b19mYXN0X2FybW9yID0gdHJ1ZVxmUCByZXF1aXJlcyBw cm9wZXJseSBjb25maWd1cmVkIFBLSU5JVCBhbmQKKy1XRUxMS05PV04vQU5PTllNT1VTIHByaW5j aXBhbCBkZWZpbmVkIG9uIHRoZSBLREMgc2lkZS4gQ29uc3VsdCBLREMgZG9jdW1lbnRhdGlvbgor LWZvciBkZXRhaWxzLgorLS5UUAorIFxmQnNpdGVuYW1lXGZQCisgU3BlY2lmaWVzIHRoZSBuYW1l IG9mIHRoZSBob3N0XChhcXMgc2l0ZSBmb3IgdGhlIHB1cnBvc2Ugb2YgRE5TXC1iYXNlZAorIEtE QyBkaXNjb3ZlcnkgZm9yIHRoaXMgcmVhbG0uICBOZXcgaW4gcmVsZWFzZSAxLjIyLgorLS0gCisy LjU1LjAKKworCitGcm9tIGUyYTIwZDRiNTY3ZjFiYzY5M2JkZjI1NDRmYjA2ODU5ZjFkNjgzNDIg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqYXNvbjM0MTA1NTMzIDxhMjAwNDAxMDhq YXNvbkBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDIzIEp1bCAyMDI2IDE2OjQ0OjE1ICswODAwCitT dWJqZWN0OiBbUEFUQ0ggMjcvMjhdIEFkZCBhdXRvX2Zhc3RfYXJtb3IgcmVhbG0gdmFyaWFibGUK KworV2hlbiBhdXRvX2Zhc3RfYXJtb3IgaXMgdHJ1ZSBhbmQgbm8gRkFTVCBjY2FjaGUgbmFtZSBp cyBwcm92aWRlZCBpbgordGhlIEdJQyBvcHRpb25zLCB1c2UgYW5vbnltb3VzIFBLSU5JVCB0byBh Y3F1aXJlIGFuIGFybW9yIHRpY2tldCBpbnRvCithIHRlbXBvcmFyeSBtZW1vcnkgY2NhY2hlLiAg UmVmYWN0b3Iga3JiNWludF9mYXN0X2FzX2FybW9yKCkgYW5kIGFkZAorYW4gYXJtb3JfY2NhY2hl IHBhcmFtZXRlciBzbyB0aGF0IHdlIGNhbiBwYXNzIGluIHRoZSBtZW1vcnkgY2NhY2hlCit3aXRo b3V0IG1vZGlmeWluZyB0aGUgY2FsbGVyJ3MgR0lDIG9wdGlvbnMuCisKK1tnaHVkc29uQG1pdC5l ZHU6IGVkaXRlZCBjb21taXQgbWVzc2FnZXMsIGRvY3VtZW50YXRpb24sIGFuZCBjb21tZW50czsK K3JlZmFjdG9yZWQgc29tZSBjb2RlIGNoYW5nZXMgZm9yIHNpbXBsaWNpdHldCisKK3RpY2tldDog OTIyNiAobmV3KQorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZWFmZjNiY2YxYTQzNTQxMjA4 YjFmYTYzYTNkZjUwYzIwODA0NThiNykKKy0tLQorIGRvYy9hZG1pbi9jb25mX2ZpbGVzL2tyYjVf Y29uZi5yc3QgfCAgMTEgKysrCisgc3JjL2luY2x1ZGUvazUtaW50LmggICAgICAgICAgICAgICB8 ICAgMSArCisgc3JjL2luY2x1ZGUvazUtdHJhY2UuaCAgICAgICAgICAgICB8ICAgNiArLQorIHNy Yy9saWIva3JiNS9rcmIvZmFzdC5jICAgICAgICAgICAgfCAgNzkgKysrKysrKysrKy0tLS0tLS0t LS0KKyBzcmMvbGliL2tyYjUva3JiL2Zhc3QuaCAgICAgICAgICAgIHwgICAzICstCisgc3JjL2xp Yi9rcmI1L2tyYi9nZXRfaW5fdGt0LmMgICAgICB8IDExMSArKysrKysrKysrKysrKysrKysrKysr KysrKysrLQorIHNyYy9saWIva3JiNS9rcmIvaW5pdF9jcmVkc19jdHguaCAgfCAgIDQgKysKKyBz cmMvdGVzdHMvZ3NzYXBpL3RfZ3NzYXBpLnB5ICAgICAgIHwgIDE4ICsrKysrCisgc3JjL3Rlc3Rz L3RfcGtpbml0LnB5ICAgICAgICAgICAgICB8ICAyNyArKysrKy0tCisgOSBmaWxlcyBjaGFuZ2Vk LCAyMTUgaW5zZXJ0aW9ucygrKSwgNDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kb2Mv YWRtaW4vY29uZl9maWxlcy9rcmI1X2NvbmYucnN0IGIvZG9jL2FkbWluL2NvbmZfZmlsZXMva3Ji NV9jb25mLnJzdAoraW5kZXggMTYwYThmMWZkNC4uNGE2YjVkNjg1NyAxMDA2NDQKKy0tLSBhL2Rv Yy9hZG1pbi9jb25mX2ZpbGVzL2tyYjVfY29uZi5yc3QKKysrKyBiL2RvYy9hZG1pbi9jb25mX2Zp bGVzL2tyYjVfY29uZi5yc3QKK0BAIC00ODcsNiArNDg3LDE3IEBAIGZvbGxvd2luZyB0YWdzIG1h eSBiZSBzcGVjaWZpZWQgaW4gdGhlIHJlYWxtJ3Mgc3Vic2VjdGlvbjoKKyAgICAgbmFtZXMgdG8g bG9jYWwgdXNlciBuYW1lcy4gIFRoZSB0YWcgaXMgdGhlIG1hcHBpbmcgbmFtZSwgYW5kIHRoZQor ICAgICB2YWx1ZSBpcyB0aGUgY29ycmVzcG9uZGluZyBsb2NhbCB1c2VyIG5hbWUuCisgCisrKiph dXRvX2Zhc3RfYXJtb3IqKgorKyAgICBJZiB0aGlzIGZsYWcgaXMgdHJ1ZSwgaW5pdGlhbCBjcmVk ZW50aWFsIGFjcXVpc2l0aW9uIHdpbGwgYWNxdWlyZQorKyAgICBhbiBhbm9ueW1vdXMgUEtJTklU IHRpY2tldCB0byB1c2UgYXMgRkFTVCBhcm1vciBiZWZvcmUgbWFraW5nIHRoZQorKyAgICByZWFs IHRpY2tldCByZXF1ZXN0LCB1bmxlc3MgYW4gYXJtb3IgY2NhY2hlIGlzIGFscmVhZHkgY29uZmln dXJlZAorKyAgICAoYXMgd2l0aCBraW5pdCdzICoqLVQqKiBvcHRpb24pLiAgVGhpcyBmbGFnIGFs bG93cworKyAgICBwcmVhdXRoZW50aWNhdGlvbiBtZWNoYW5pc21zIHRoYXQgcmVxdWlyZSBGQVNU LCBzdWNoIGFzIE9UUCwgdG8KKysgICAgd29yayB3aXRob3V0IGEgcHJlLWV4aXN0aW5nIHRpY2tl dC4gIFRoaXMgZmxhZyBzaG91bGQgb25seSBiZSBzZXQKKysgICAgZm9yIHJlYWxtcyBrbm93biB0 byBzdXBwb3J0IGFub255bW91cyBQS0lOSVQuICBUaGlzIGZsYWcgaGFzIG5vCisrICAgIGVmZmVj dCBpZiB0aGUgY2xpZW50IHByaW5jaXBhbCBpcyBpdHNlbGYgdGhlIGFub255bW91cyBwcmluY2lw YWwuCisrICAgIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGZhbHNlLiAgTmV3IGluIHJlbGVhc2UgMS4y My4KKysKKyAqKmRlZmF1bHRfZG9tYWluKioKKyAgICAgVGhpcyB0YWcgc3BlY2lmaWVzIHRoZSBk b21haW4gdXNlZCB0byBleHBhbmQgaG9zdG5hbWVzIHdoZW4KKyAgICAgdHJhbnNsYXRpbmcgS2Vy YmVyb3MgNCBzZXJ2aWNlIHByaW5jaXBhbHMgdG8gS2VyYmVyb3MgNSBwcmluY2lwYWxzCitkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvazUtaW50LmggYi9zcmMvaW5jbHVkZS9rNS1pbnQuaAoraW5k ZXggMjUyYzhkOWIwMC4uNThlNzg1MTExZCAxMDA2NDQKKy0tLSBhL3NyYy9pbmNsdWRlL2s1LWlu dC5oCisrKysgYi9zcmMvaW5jbHVkZS9rNS1pbnQuaAorQEAgLTE4NSw2ICsxODUsNyBAQCB0eXBl ZGVmIHVuc2lnbmVkIGNoYXIgICB1X2NoYXI7CisgI2RlZmluZSBLUkI1X0NPTkZfQUxMT1dfV0VB S19DUllQVE8gICAgICAgICAgICAiYWxsb3dfd2Vha19jcnlwdG8iCisgI2RlZmluZSBLUkI1X0NP TkZfQVVUSF9UT19MT0NBTCAgICAgICAgICAgICAgICAiYXV0aF90b19sb2NhbCIKKyAjZGVmaW5l IEtSQjVfQ09ORl9BVVRIX1RPX0xPQ0FMX05BTUVTICAgICAgICAgICJhdXRoX3RvX2xvY2FsX25h bWVzIgorKyNkZWZpbmUgS1JCNV9DT05GX0FVVE9fRkFTVF9BUk1PUiAgICAgICAgICAgICAgImF1 dG9fZmFzdF9hcm1vciIKKyAjZGVmaW5lIEtSQjVfQ09ORl9DQU5PTklDQUxJWkUgICAgICAgICAg ICAgICAgICJjYW5vbmljYWxpemUiCisgI2RlZmluZSBLUkI1X0NPTkZfQ0NBQ0hFX1RZUEUgICAg ICAgICAgICAgICAgICAiY2NhY2hlX3R5cGUiCisgI2RlZmluZSBLUkI1X0NPTkZfQ0xPQ0tTS0VX ICAgICAgICAgICAgICAgICAgICAiY2xvY2tza2V3IgorZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L2s1LXRyYWNlLmggYi9zcmMvaW5jbHVkZS9rNS10cmFjZS5oCitpbmRleCA1ZDBiZTYzYmYwLi41 YWVmZDA5OGE2IDEwMDY0NAorLS0tIGEvc3JjL2luY2x1ZGUvazUtdHJhY2UuaAorKysrIGIvc3Jj L2luY2x1ZGUvazUtdHJhY2UuaAorQEAgLTE3Myw4ICsxNzMsOCBAQCB2b2lkIGtyYjVpbnRfdHJh Y2Uoa3JiNV9jb250ZXh0IGNvbnRleHQsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKyAjZGVmaW5l IFRSQUNFX0ROU19VUklfU0VORChjLCBkb21haW4pICAgICAgICAgICAgICAgICAgIFwKKyAgICAg VFJBQ0UoYywgIlNlbmRpbmcgRE5TIFVSSSBxdWVyeSBmb3Ige3N0cn0iLCBkb21haW4pCisgCist I2RlZmluZSBUUkFDRV9GQVNUX0FSTU9SX0NDQUNIRShjLCBjY2FjaGVfbmFtZSkgICAgICAgICBc CistICAgIFRSQUNFKGMsICJGQVNUIGFybW9yIGNjYWNoZToge3N0cn0iLCBjY2FjaGVfbmFtZSkK KysjZGVmaW5lIFRSQUNFX0ZBU1RfQVJNT1JfQ0NBQ0hFKGMsIGNjYWNoZSkgICAgICAgICAgICAg IFwKKysgICAgVFJBQ0UoYywgIkZBU1QgYXJtb3IgY2NhY2hlOiB7Y2NhY2hlfSIsIGNjYWNoZSkK KyAjZGVmaW5lIFRSQUNFX0ZBU1RfQVJNT1JfQ0NBQ0hFX0tFWShjLCBrZXlibG9jaykgICAgICAg ICAgICAgICAgXAorICAgICBUUkFDRShjLCAiQXJtb3IgY2NhY2hlIHNlc3Npb24ga2V5OiB7a2V5 YmxvY2t9Iiwga2V5YmxvY2spCisgI2RlZmluZSBUUkFDRV9GQVNUX0FSTU9SX0tFWShjLCBrZXli bG9jaykgICAgICAgICAgICAgICBcCitAQCAtMjE3LDYgKzIxNyw4IEBAIHZvaWQga3JiNWludF90 cmFjZShrcmI1X2NvbnRleHQgY29udGV4dCwgY29uc3QgY2hhciAqZm10LCAuLi4pOworIAorICNk ZWZpbmUgVFJBQ0VfSU5JVF9DUkVEUyhjLCBwcmluYykgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCisgICAgIFRSQUNFKGMsICJHZXR0aW5nIGluaXRpYWwgY3JlZGVudGlhbHMgZm9yIHtw cmluY30iLCBwcmluYykKKysjZGVmaW5lIFRSQUNFX0lOSVRfQ1JFRFNfQVVUT19GQVNUX0FSTU9S KGMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIFRSQUNFKGMsICJBY3F1aXJp bmcgYW5vbnltb3VzIFBLSU5JVCBhcm1vciB0aWNrZXQgZm9yIEZBU1QiKQorICNkZWZpbmUgVFJB Q0VfSU5JVF9DUkVEU19BU19LRVlfR0FLKGMsIGtleWJsb2NrKSAgICAgICAgICAgICAgICAgICAg ICAgIFwKKyAgICAgVFJBQ0UoYywgIkFTIGtleSBvYnRhaW5lZCBmcm9tIGdha19mY3Q6IHtrZXli bG9ja30iLCBrZXlibG9jaykKKyAjZGVmaW5lIFRSQUNFX0lOSVRfQ1JFRFNfQVNfS0VZX1BSRUFV VEgoYywga2V5YmxvY2spICAgICAgICAgICAgICAgICAgICBcCitkaWZmIC0tZ2l0IGEvc3JjL2xp Yi9rcmI1L2tyYi9mYXN0LmMgYi9zcmMvbGliL2tyYjUva3JiL2Zhc3QuYworaW5kZXggNjJjOWYw ODQxZi4uZjliZWY3ZjZiMCAxMDA2NDQKKy0tLSBhL3NyYy9saWIva3JiNS9rcmIvZmFzdC5jCisr KysgYi9zcmMvbGliL2tyYjUva3JiL2Zhc3QuYworQEAgLTE3MSw1NSArMTcxLDYyIEBAIGtyYjVp bnRfZmFzdF9wcmVwX3JlcV9ib2R5KGtyYjVfY29udGV4dCBjb250ZXh0LAorIGtyYjVfZXJyb3Jf Y29kZQorIGtyYjVpbnRfZmFzdF9hc19hcm1vcihrcmI1X2NvbnRleHQgY29udGV4dCwKKyAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IGtyYjVpbnRfZmFzdF9yZXF1ZXN0X3N0YXRlICpzdGF0 ZSwKKy0gICAgICAgICAgICAgICAgICAgICAga3JiNV9nZXRfaW5pdF9jcmVkc19vcHQgKm9wdCwg a3JiNV9rZGNfcmVxICpyZXF1ZXN0KQorKyAgICAgICAgICAgICAgICAgICAgICBrcmI1X2dldF9p bml0X2NyZWRzX29wdCAqb3B0LAorKyAgICAgICAgICAgICAgICAgICAgICBrcmI1X2NjYWNoZSBh cm1vcl9jY2FjaGUsIGtyYjVfa2RjX3JlcSAqcmVxdWVzdCkKKyB7CisgICAgIGtyYjVfZXJyb3Jf Y29kZSByZXR2YWwgPSAwOworICAgICBrcmI1X2NjYWNoZSBjY2FjaGUgPSBOVUxMOworICAgICBr cmI1X3ByaW5jaXBhbCB0YXJnZXRfcHJpbmNpcGFsID0gTlVMTDsKKy0gICAga3JiNV9kYXRhICp0 YXJnZXRfcmVhbG07CisrICAgIGtyYjVfZGF0YSAqdGFyZ2V0X3JlYWxtLCBjb25maWdfZGF0YSA9 IGVtcHR5X2RhdGEoKTsKKyAgICAgY29uc3QgY2hhciAqY2NuYW1lID0gazVfZ2ljX29wdF9nZXRf ZmFzdF9jY2FjaGVfbmFtZShvcHQpOworICAgICBrcmI1X2ZsYWdzIGZhc3RfZmxhZ3M7CisgCisg ICAgIGtyYjVfY2xlYXJfZXJyb3JfbWVzc2FnZShjb250ZXh0KTsKKyAgICAgdGFyZ2V0X3JlYWxt ID0gJnJlcXVlc3QtPnNlcnZlci0+cmVhbG07CistICAgIGlmIChjY25hbWUgIT0gTlVMTCkgewor LSAgICAgICAgVFJBQ0VfRkFTVF9BUk1PUl9DQ0FDSEUoY29udGV4dCwgY2NuYW1lKTsKKy0gICAg ICAgIHN0YXRlLT5mYXN0X3N0YXRlX2ZsYWdzIHw9IEtSQjVJTlRfRkFTVF9BUk1PUl9BVkFJTDsK KysKKysgICAgaWYgKGFybW9yX2NjYWNoZSA9PSBOVUxMKSB7CisrICAgICAgICAvKiBTdG9wIGlm IG5vIGFybW9yIGNjYWNoZSB3YXMgcHJvdmlkZWQgYnkgdGhlIGRpcmVjdCBjYWxsZXIgb3IgdGhl IEdJQworKyAgICAgICAgICogb3B0aW9ucy4gKi8KKysgICAgICAgIGlmIChjY25hbWUgPT0gTlVM TCkKKysgICAgICAgICAgICByZXR1cm4gMDsKKysgICAgICAgIC8qIFJlc29sdmUgdGhlIGFybW9y IGNjYWNoZSBuYW1lIHByb3ZpZGVkIGluIHRoZSBHSUMgb3B0aW9ucy4gKi8KKyAgICAgICAgIHJl dHZhbCA9IGtyYjVfY2NfcmVzb2x2ZShjb250ZXh0LCBjY25hbWUsICZjY2FjaGUpOworLSAgICAg ICAgaWYgKHJldHZhbCA9PSAwKSB7CistICAgICAgICAgICAgcmV0dmFsID0ga3JiNWludF90Z3Ru YW1lKGNvbnRleHQsIHRhcmdldF9yZWFsbSwgdGFyZ2V0X3JlYWxtLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmdGFyZ2V0X3ByaW5jaXBhbCk7CistICAgICAgICB9Cist ICAgICAgICBpZiAocmV0dmFsID09IDApIHsKKy0gICAgICAgICAgICBrcmI1X2RhdGEgY29uZmln X2RhdGE7CistICAgICAgICAgICAgY29uZmlnX2RhdGEuZGF0YSA9IE5VTEw7CistICAgICAgICAg ICAgcmV0dmFsID0ga3JiNV9jY19nZXRfY29uZmlnKGNvbnRleHQsIGNjYWNoZSwgdGFyZ2V0X3By aW5jaXBhbCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS1JCNV9D Q19DT05GX0ZBU1RfQVZBSUwsICZjb25maWdfZGF0YSk7CistICAgICAgICAgICAgaWYgKChyZXR2 YWwgPT0gMCkgJiYgY29uZmlnX2RhdGEuZGF0YSkgeworLSAgICAgICAgICAgICAgICBUUkFDRV9G QVNUX0NDQUNIRV9DT05GSUcoY29udGV4dCk7CistICAgICAgICAgICAgICAgIHN0YXRlLT5mYXN0 X3N0YXRlX2ZsYWdzIHw9IEtSQjVJTlRfRkFTVF9ET19GQVNUOworLSAgICAgICAgICAgIH0KKy0g ICAgICAgICAgICBrcmI1X2ZyZWVfZGF0YV9jb250ZW50cyhjb250ZXh0LCAmY29uZmlnX2RhdGEp OworLSAgICAgICAgICAgIHJldHZhbCA9IDA7CistICAgICAgICB9CistICAgICAgICBmYXN0X2Zs YWdzID0gazVfZ2ljX29wdF9nZXRfZmFzdF9mbGFncyhvcHQpOworLSAgICAgICAgaWYgKGZhc3Rf ZmxhZ3MgJiBLUkI1X0ZBU1RfUkVRVUlSRUQpIHsKKy0gICAgICAgICAgICBUUkFDRV9GQVNUX1JF UVVJUkVEKGNvbnRleHQpOworLSAgICAgICAgICAgIHN0YXRlLT5mYXN0X3N0YXRlX2ZsYWdzIHw9 IEtSQjVJTlRfRkFTVF9ET19GQVNUOworLSAgICAgICAgfQorLSAgICAgICAgaWYgKHJldHZhbCA9 PSAwICYmIChzdGF0ZS0+ZmFzdF9zdGF0ZV9mbGFncyAmIEtSQjVJTlRfRkFTVF9ET19GQVNUKSkg eworLSAgICAgICAgICAgIHJldHZhbCA9IGZhc3RfYXJtb3JfYXBfcmVxdWVzdChjb250ZXh0LCBz dGF0ZSwgY2NhY2hlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB0YXJnZXRfcHJpbmNpcGFsKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGlmIChyZXR2YWwgIT0g MCkgeworLSAgICAgICAgICAgIGs1X3ByZXBlbmRtc2coY29udGV4dCwgcmV0dmFsLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgXygiRXJyb3IgY29uc3RydWN0aW5nIEFQLVJFUSBhcm1vciIp KTsKKy0gICAgICAgIH0KKysgICAgICAgIGlmIChyZXR2YWwpCisrICAgICAgICAgICAgZ290byBj bGVhbnVwOworKyAgICAgICAgYXJtb3JfY2NhY2hlID0gY2NhY2hlOworKyAgICB9CisrCisrICAg IFRSQUNFX0ZBU1RfQVJNT1JfQ0NBQ0hFKGNvbnRleHQsIGFybW9yX2NjYWNoZSk7CisrCisrICAg IHN0YXRlLT5mYXN0X3N0YXRlX2ZsYWdzIHw9IEtSQjVJTlRfRkFTVF9BUk1PUl9BVkFJTDsKKysg ICAgcmV0dmFsID0ga3JiNWludF90Z3RuYW1lKGNvbnRleHQsIHRhcmdldF9yZWFsbSwgdGFyZ2V0 X3JlYWxtLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnRhcmdldF9wcmluY2lwYWwp OworKyAgICBpZiAocmV0dmFsKQorKyAgICAgICAgZ290byBjbGVhbnVwOworKworKyAgICByZXR2 YWwgPSBrcmI1X2NjX2dldF9jb25maWcoY29udGV4dCwgYXJtb3JfY2NhY2hlLCB0YXJnZXRfcHJp bmNpcGFsLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS1JCNV9DQ19DT05GX0ZB U1RfQVZBSUwsICZjb25maWdfZGF0YSk7CisrICAgIGlmICghcmV0dmFsICYmIGNvbmZpZ19kYXRh LmRhdGEgIT0gTlVMTCkgeworKyAgICAgICAgVFJBQ0VfRkFTVF9DQ0FDSEVfQ09ORklHKGNvbnRl eHQpOworKyAgICAgICAgc3RhdGUtPmZhc3Rfc3RhdGVfZmxhZ3MgfD0gS1JCNUlOVF9GQVNUX0RP X0ZBU1Q7CisgICAgIH0KKysKKysgICAgZmFzdF9mbGFncyA9IGs1X2dpY19vcHRfZ2V0X2Zhc3Rf ZmxhZ3Mob3B0KTsKKysgICAgaWYgKGZhc3RfZmxhZ3MgJiBLUkI1X0ZBU1RfUkVRVUlSRUQpIHsK KysgICAgICAgIFRSQUNFX0ZBU1RfUkVRVUlSRUQoY29udGV4dCk7CisrICAgICAgICBzdGF0ZS0+ ZmFzdF9zdGF0ZV9mbGFncyB8PSBLUkI1SU5UX0ZBU1RfRE9fRkFTVDsKKysgICAgfQorKworKyAg ICByZXR2YWwgPSBmYXN0X2FybW9yX2FwX3JlcXVlc3QoY29udGV4dCwgc3RhdGUsIGFybW9yX2Nj YWNoZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9wcmluY2lw YWwpOworKyAgICBpZiAocmV0dmFsKQorKyAgICAgICAgazVfcHJlcGVuZG1zZyhjb250ZXh0LCBy ZXR2YWwsIF8oIkVycm9yIGNvbnN0cnVjdGluZyBBUC1SRVEgYXJtb3IiKSk7CisrCisrY2xlYW51 cDoKKyAgICAgaWYgKGNjYWNoZSkKKyAgICAgICAgIGtyYjVfY2NfY2xvc2UoY29udGV4dCwgY2Nh Y2hlKTsKKy0gICAgaWYgKHRhcmdldF9wcmluY2lwYWwpCistICAgICAgICBrcmI1X2ZyZWVfcHJp bmNpcGFsKGNvbnRleHQsIHRhcmdldF9wcmluY2lwYWwpOworKyAgICBrcmI1X2ZyZWVfcHJpbmNp cGFsKGNvbnRleHQsIHRhcmdldF9wcmluY2lwYWwpOworKyAgICBrcmI1X2ZyZWVfZGF0YV9jb250 ZW50cyhjb250ZXh0LCAmY29uZmlnX2RhdGEpOworICAgICByZXR1cm4gcmV0dmFsOworIH0KKyAK K2RpZmYgLS1naXQgYS9zcmMvbGliL2tyYjUva3JiL2Zhc3QuaCBiL3NyYy9saWIva3JiNS9rcmIv ZmFzdC5oCitpbmRleCA3MTU2ZWEyMDNmLi4xZGJjZTJmM2YwIDEwMDY0NAorLS0tIGEvc3JjL2xp Yi9rcmI1L2tyYi9mYXN0LmgKKysrKyBiL3NyYy9saWIva3JiNS9rcmIvZmFzdC5oCitAQCAtODMs NyArODMsOCBAQCBrcmI1aW50X2Zhc3RfZnJlZV9zdGF0ZShrcmI1X2NvbnRleHQgY29udGV4dCwK KyBrcmI1X2Vycm9yX2NvZGUKKyBrcmI1aW50X2Zhc3RfYXNfYXJtb3Ioa3JiNV9jb250ZXh0IGNv bnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrcmI1aW50X2Zhc3RfcmVxdWVz dF9zdGF0ZSAqc3RhdGUsCistICAgICAgICAgICAgICAgICAgICAgIGtyYjVfZ2V0X2luaXRfY3Jl ZHNfb3B0ICpvcHQsIGtyYjVfa2RjX3JlcSAqcmVxdWVzdCk7CisrICAgICAgICAgICAgICAgICAg ICAgIGtyYjVfZ2V0X2luaXRfY3JlZHNfb3B0ICpvcHQsCisrICAgICAgICAgICAgICAgICAgICAg IGtyYjVfY2NhY2hlIGF1dG9fYXJtb3JfY2NhY2hlLCBrcmI1X2tkY19yZXEgKnJlcXVlc3QpOwor IAorIGtyYjVfZXJyb3JfY29kZQorIGtyYjVpbnRfZmFzdF9yZXBseV9rZXkoa3JiNV9jb250ZXh0 IGNvbnRleHQsCitkaWZmIC0tZ2l0IGEvc3JjL2xpYi9rcmI1L2tyYi9nZXRfaW5fdGt0LmMgYi9z cmMvbGliL2tyYjUva3JiL2dldF9pbl90a3QuYworaW5kZXggNGIyYmU0MWU3NS4uYTA4NjdkMTI4 NCAxMDA2NDQKKy0tLSBhL3NyYy9saWIva3JiNS9rcmIvZ2V0X2luX3RrdC5jCisrKysgYi9zcmMv bGliL2tyYjUva3JiL2dldF9pbl90a3QuYworQEAgLTUzNyw2ICs1MzcsMTAgQEAga3JiNV9pbml0 X2NyZWRzX2ZyZWUoa3JiNV9jb250ZXh0IGNvbnRleHQsCisgICAgIGtyYjVfZnJlZV9kYXRhX2Nv bnRlbnRzKGNvbnRleHQsICZjdHgtPnNhbHQpOworICAgICBrcmI1X2ZyZWVfZGF0YV9jb250ZW50 cyhjb250ZXh0LCAmY3R4LT5zMmtwYXJhbXMpOworICAgICBrcmI1X2ZyZWVfa2V5YmxvY2tfY29u dGVudHMoY29udGV4dCwgJmN0eC0+YXNfa2V5KTsKKysgICAga3JiNV9pbml0X2NyZWRzX2ZyZWUo Y29udGV4dCwgY3R4LT5hdXRvX2FybW9yX2N0eCk7CisrICAgIGtyYjVfZ2V0X2luaXRfY3JlZHNf b3B0X2ZyZWUoY29udGV4dCwgY3R4LT5hdXRvX2FybW9yX29wdCk7CisrICAgIGlmIChjdHgtPmF1 dG9fYXJtb3JfY2NhY2hlICE9IE5VTEwpCisrICAgICAgICBrcmI1X2NjX2Rlc3Ryb3koY29udGV4 dCwgY3R4LT5hdXRvX2FybW9yX2NjYWNoZSk7CisgICAgIGs1X2pzb25fcmVsZWFzZShjdHgtPmNj X2NvbmZpZ19pbik7CisgICAgIGs1X2pzb25fcmVsZWFzZShjdHgtPmNjX2NvbmZpZ19vdXQpOwor ICAgICBmcmVlKGN0eCk7CitAQCAtNzcxLDYgKzc3NSw4NyBAQCBlbmN0c19kaXNhYmxlZChwcm9m aWxlX3QgcHJvZmlsZSwgY29uc3Qga3JiNV9kYXRhICpyZWFsbSkKKyAgICAgcmV0dXJuIChyZXQg PT0gMCkgPyBidmFsIDogRkFMU0U7CisgfQorIAorKy8qIFJldHVybiB0cnVlIGlmIGF1dG9fZmFz dF9hcm1vciBpcyBlbmFibGVkIGZvciByZWFsbS4gKi8KKytzdGF0aWMga3JiNV9ib29sZWFuCisr YXV0b19mYXN0X2FybW9yX2VuYWJsZWQocHJvZmlsZV90IHByb2ZpbGUsIGNvbnN0IGtyYjVfZGF0 YSAqcmVhbG0pCisreworKyAgICBrcmI1X2Vycm9yX2NvZGUgcmV0OworKyAgICBjaGFyICpyZWFs bXN0cjsKKysgICAgaW50IGJ2YWw7CisrCisrICAgIHJlYWxtc3RyID0gazVtZW1kdXAwKHJlYWxt LT5kYXRhLCByZWFsbS0+bGVuZ3RoLCAmcmV0KTsKKysgICAgaWYgKHJlYWxtc3RyID09IE5VTEwp CisrICAgICAgICByZXR1cm4gRkFMU0U7CisrICAgIHJldCA9IHByb2ZpbGVfZ2V0X2Jvb2xlYW4o cHJvZmlsZSwgS1JCNV9DT05GX1JFQUxNUywgcmVhbG1zdHIsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgS1JCNV9DT05GX0FVVE9fRkFTVF9BUk1PUiwgRkFMU0UsICZidmFsKTsKKysg ICAgZnJlZShyZWFsbXN0cik7CisrICAgIHJldHVybiAocmV0ID09IDApID8gYnZhbCA6IEZBTFNF OworK30KKysKKysvKgorKyAqIFJldHVybiB0cnVlIGlmIGN0eCBzaG91bGQgZmlyc3QgYWNxdWly ZSBGQVNUIGFybW9yIHVzaW5nIGFub255bW91cyBQS0lOSVQuCisrICogVGhpcyBkZWNpc2lvbiBp cyBwcmltYXJpbHkgZGVwZW5kZW50IG9uIHRoZSBhdXRvX2Zhc3RfYXJtb3IgY29uZmlnIG9wdGlv biwKKysgKiBidXQgd2UgZG9uJ3QgYWNxdWlyZSBhcm1vciBpZiB0aGUgY2FsbGVyIHBhc3NlZCBp biBhbiBhcm1vciBjY2FjaGUgb3IgaWYgdGhlCisrICogc3RhdGUgbWFjaGluZSBpcyBhbHJlYWR5 IHBlcmZvcm1pbmcgYW4gYW5vbnltb3VzIFBLSU5JVCByZXF1ZXN0LgorKyAqLworK3N0YXRpYyBr cmI1X2Jvb2xlYW4KKyt3YW50X2F1dG9fYXJtb3Ioa3JiNV9jb250ZXh0IGNvbnRleHQsIGtyYjVf aW5pdF9jcmVkc19jb250ZXh0IGN0eCkKKyt7CisrICAgIGlmIChrNV9naWNfb3B0X2dldF9mYXN0 X2NjYWNoZV9uYW1lKGN0eC0+b3B0KSAhPSBOVUxMKQorKyAgICAgICAgcmV0dXJuIEZBTFNFOwor KyAgICBpZiAoa3JiNV9wcmluY2lwYWxfY29tcGFyZV9hbnlfcmVhbG0oY29udGV4dCwgY3R4LT5y ZXF1ZXN0LT5jbGllbnQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBrcmI1X2Fub255bW91c19wcmluY2lwYWwoKSkpCisrICAgICAgICByZXR1cm4gRkFMU0U7Cisr ICAgIHJldHVybiBhdXRvX2Zhc3RfYXJtb3JfZW5hYmxlZChjb250ZXh0LT5wcm9maWxlLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmN0eC0+cmVxdWVzdC0+Y2xpZW50LT5y ZWFsbSk7CisrfQorKworKy8qIENyZWF0ZSBhIG1lbW9yeSBjY2FjaGUgYW5kIG5lc3RlZCBpbml0 X2NyZWRzIGNvbnRleHQgZm9yIGFjcXVpcmluZyBGQVNUIGFtb3IKKysgKiB2aWEgYW5vbnltb3Vz IFBLSU5JVC4gKi8KKytzdGF0aWMga3JiNV9lcnJvcl9jb2RlCisrYmVnaW5fYXV0b19hcm1vcihr cmI1X2NvbnRleHQgY29udGV4dCwga3JiNV9pbml0X2NyZWRzX2NvbnRleHQgY3R4KQorK3sKKysg ICAga3JiNV9lcnJvcl9jb2RlIHJldDsKKysgICAga3JiNV9wcmluY2lwYWwgYW5vbl9wcmluYyA9 IE5VTEw7CisrICAgIGNvbnN0IGtyYjVfZGF0YSAqcmVhbG0gPSAmY3R4LT5yZXF1ZXN0LT5jbGll bnQtPnJlYWxtOworKworKyAgICBUUkFDRV9JTklUX0NSRURTX0FVVE9fRkFTVF9BUk1PUihjb250 ZXh0KTsKKysKKysgICAgcmV0ID0ga3JiNV9jY19uZXdfdW5pcXVlKGNvbnRleHQsICJNRU1PUlki LCBOVUxMLCAmY3R4LT5hdXRvX2FybW9yX2NjYWNoZSk7CisrICAgIGlmIChyZXQpCisrICAgICAg ICBnb3RvIGNsZWFudXA7CisrCisrICAgIHJldCA9IGtyYjVfYnVpbGRfcHJpbmNpcGFsX2V4dChj b250ZXh0LCAmYW5vbl9wcmluYywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJlYWxtLT5sZW5ndGgsIHJlYWxtLT5kYXRhLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RybGVuKEtSQjVfV0VMTEtOT1dOX05BTUVTVFIpLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgS1JCNV9XRUxMS05PV05fTkFNRVNUUiwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmxlbihLUkI1X0FOT05ZTU9VU19QUklOQ1NUUiks CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLUkI1X0FOT05ZTU9VU19QUklO Q1NUUiwgMCk7CisrICAgIGlmIChyZXQpCisrICAgICAgICBnb3RvIGNsZWFudXA7CisrICAgIGFu b25fcHJpbmMtPnR5cGUgPSBLUkI1X05UX1dFTExLTk9XTjsKKysKKysgICAgcmV0ID0ga3JiNV9n ZXRfaW5pdF9jcmVkc19vcHRfYWxsb2MoY29udGV4dCwgJmN0eC0+YXV0b19hcm1vcl9vcHQpOwor KyAgICBpZiAocmV0KQorKyAgICAgICAgZ290byBjbGVhbnVwOworKyAgICBrcmI1X2dldF9pbml0 X2NyZWRzX29wdF9zZXRfYW5vbnltb3VzKGN0eC0+YXV0b19hcm1vcl9vcHQsIDEpOworKyAgICBr cmI1X2dldF9pbml0X2NyZWRzX29wdF9zZXRfdGt0X2xpZmUoY3R4LT5hdXRvX2FybW9yX29wdCwg NjAgKiA2MCk7CisrICAgIHJldCA9IGtyYjVfZ2V0X2luaXRfY3JlZHNfb3B0X3NldF9vdXRfY2Nh Y2hlKGNvbnRleHQsIGN0eC0+YXV0b19hcm1vcl9vcHQsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+YXV0b19hcm1vcl9jY2FjaGUpOworKyAg ICBpZiAocmV0KQorKyAgICAgICAgZ290byBjbGVhbnVwOworKworKyAgICByZXQgPSBrcmI1X2lu aXRfY3JlZHNfaW5pdChjb250ZXh0LCBhbm9uX3ByaW5jLCBOVUxMLCBOVUxMLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjdHgtPnN0YXJ0X3RpbWUsIGN0eC0+YXV0b19hcm1vcl9v cHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjdHgtPmF1dG9fYXJtb3JfY3R4 KTsKKysgICAgaWYgKHJldCkKKysgICAgICAgIGdvdG8gY2xlYW51cDsKKysKKytjbGVhbnVwOgor KyAgICBrcmI1X2ZyZWVfcHJpbmNpcGFsKGNvbnRleHQsIGFub25fcHJpbmMpOworKyAgICByZXR1 cm4gcmV0OworK30KKysKKyAvKioKKyAgKiBUaHJvdyBhd2F5IGFueSBwcmUtYXV0aGVudGljYXRp b24gcmVhbG0gc3RhdGUgYW5kIGJlZ2luIHdpdGggYQorICAqIHVuYXV0aGVudGljYXRlZCBvciBv cHRpbWlzdGljYWxseSBhdXRoZW50aWNhdGVkIHJlcXVlc3QuICBJZiBmYXN0X3VwZ3JhZGUgaXMK K0BAIC04MjcsNyArOTEyLDcgQEAgcmVzdGFydF9pbml0X2NyZWRzX2xvb3Aoa3JiNV9jb250ZXh0 IGNvbnRleHQsIGtyYjVfaW5pdF9jcmVkc19jb250ZXh0IGN0eCwKKyAgICAgICAgIGdvdG8gY2xl YW51cDsKKyAKKyAgICAgY29kZSA9IGtyYjVpbnRfZmFzdF9hc19hcm1vcihjb250ZXh0LCBjdHgt PmZhc3Rfc3RhdGUsIGN0eC0+b3B0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGN0eC0+cmVxdWVzdCk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4LT5h dXRvX2FybW9yX2NjYWNoZSwgY3R4LT5yZXF1ZXN0KTsKKyAgICAgaWYgKGNvZGUgIT0gMCkKKyAg ICAgICAgIGdvdG8gY2xlYW51cDsKKyAgICAgLyogZ2l2ZSB0aGUgcHJlYXV0aCBwbHVnaW5zIGEg Y2hhbmNlIHRvIHByZXAgdGhlIHJlcXVlc3QgYm9keSAqLworQEAgLTEwNDMsNiArMTEyOCwxMiBA QCBrcmI1X2luaXRfY3JlZHNfaW5pdChrcmI1X2NvbnRleHQgY29udGV4dCwKKyAgICAgICAgIGN0 eC0+cmVxdWVzdC0+Y2xpZW50LT50eXBlID0gS1JCNV9OVF9XRUxMS05PV047CisgICAgIH0KKyAK KysgICAgaWYgKHdhbnRfYXV0b19hcm1vcihjb250ZXh0LCBjdHgpKSB7CisrICAgICAgICBjb2Rl ID0gYmVnaW5fYXV0b19hcm1vcihjb250ZXh0LCBjdHgpOworKyAgICAgICAgaWYgKGNvZGUpCisr ICAgICAgICAgICAgZ290byBjbGVhbnVwOworKyAgICB9CisrCisgICAgICpwY3R4ID0gY3R4Owor ICAgICBjdHggPSBOVUxMOworIAorQEAgLTE4OTQsNyArMTk4NSwyMyBAQCBrcmI1X2luaXRfY3Jl ZHNfc3RlcChrcmI1X2NvbnRleHQgY29udGV4dCwKKyAgICAgaWYgKGNvZGUpCisgICAgICAgICBy ZXR1cm4gY29kZTsKKyAKKy0gICAgaWYgKGluLT5sZW5ndGggIT0gMCkgeworKyAgICBpZiAoY3R4 LT5hdXRvX2FybW9yX2N0eCAhPSBOVUxMKSB7CisrICAgICAgICAvKiBEcml2ZSB0aGUgbmVzdGVk IGNvbnRleHQgdG8gYWNxdWlyZSBhbiBhbm9ueW1vdXMgVEdULiAqLworKyAgICAgICAgY29kZSA9 IGtyYjVfaW5pdF9jcmVkc19zdGVwKGNvbnRleHQsIGN0eC0+YXV0b19hcm1vcl9jdHgsIGluLCBv dXQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhbG0sIGZsYWdzKTsK KysgICAgICAgIGlmIChjb2RlIHx8ICgqZmxhZ3MgJiBLUkI1X0lOSVRfQ1JFRFNfU1RFUF9GTEFH X0NPTlRJTlVFKSkKKysgICAgICAgICAgICByZXR1cm4gY29kZTsKKysKKysgICAgICAgIC8qIFRo ZSBuZXN0ZWQgY29udGV4dCBpcyBjb21wbGV0ZS4gIERpc2NhcmQgaXQgdG8gc2lnbmFsIHRoYXQg dGhlIG91dGVyCisrICAgICAgICAgKiBzdGF0ZSBtYWNoaW5lIHNob3VsZCBwcm9jZWVkIHVzaW5n IGF1dG9fYXJtb3JfY2NhY2hlLiAqLworKyAgICAgICAga3JiNV9pbml0X2NyZWRzX2ZyZWUoY29u dGV4dCwgY3R4LT5hdXRvX2FybW9yX2N0eCk7CisrICAgICAgICBjdHgtPmF1dG9fYXJtb3JfY3R4 ID0gTlVMTDsKKysKKysgICAgICAgIC8qIEJlZ2luIHRoZSBhY3R1YWwgQVMgcmVxdWVzdCwgYXNz ZXJ0aW5nIHRoYXQgRkFTVCBpcyBhdmFpbGFibGUuICovCisrICAgICAgICBjb2RlID0gcmVzdGFy dF9pbml0X2NyZWRzX2xvb3AoY29udGV4dCwgY3R4LCBUUlVFKTsKKysgICAgICAgIGlmIChjb2Rl KQorKyAgICAgICAgICAgIHJldHVybiBjb2RlOworKyAgICB9IGVsc2UgaWYgKGluLT5sZW5ndGgg IT0gMCkgeworICAgICAgICAgY29kZSA9IGluaXRfY3JlZHNfc3RlcF9yZXBseShjb250ZXh0LCBj dHgsIGluKTsKKyAgICAgICAgIGlmIChjb2RlID09IEtSQjVLUkJfRVJSX1JFU1BPTlNFX1RPT19C SUcpIHsKKyAgICAgICAgICAgICBjb2RlMiA9IGtyYjVpbnRfY29weV9kYXRhX2NvbnRlbnRzKGNv bnRleHQsCitkaWZmIC0tZ2l0IGEvc3JjL2xpYi9rcmI1L2tyYi9pbml0X2NyZWRzX2N0eC5oIGIv c3JjL2xpYi9rcmI1L2tyYi9pbml0X2NyZWRzX2N0eC5oCitpbmRleCAxN2Q1NWRkN2M0Li41MGJl NzA3M2E1IDEwMDY0NAorLS0tIGEvc3JjL2xpYi9rcmI1L2tyYi9pbml0X2NyZWRzX2N0eC5oCisr KysgYi9zcmMvbGliL2tyYjUva3JiL2luaXRfY3JlZHNfY3R4LmgKK0BAIC02NSw2ICs2NSwxMCBA QCBzdHJ1Y3QgX2tyYjVfaW5pdF9jcmVkc19jb250ZXh0IHsKKyAgICAga3JiNV9ib29sZWFuIHJl c3RhcnRlZDsKKyAgICAga3JiNV9ib29sZWFuIGZhbGxiYWNrX2Rpc2FibGVkOworICAgICBrcmI1 X2Jvb2xlYW4gZW5jdHNfZGlzYWJsZWQ7CisrICAgIC8qIEF1dG9tYXRpYyBGQVNUIGFybW9yIHN0 YXRlIG1hY2hpbmUgYW5kIG1lbW9yeSBjYWNoZSAqLworKyAgICBrcmI1X2luaXRfY3JlZHNfY29u dGV4dCBhdXRvX2FybW9yX2N0eDsKKysgICAga3JiNV9nZXRfaW5pdF9jcmVkc19vcHQgKmF1dG9f YXJtb3Jfb3B0OworKyAgICBrcmI1X2NjYWNoZSBhdXRvX2FybW9yX2NjYWNoZTsKKyAgICAgc3Ry dWN0IGtyYjVfcmVzcG9uZGVyX2NvbnRleHRfc3QgcmN0eDsKKyAgICAga3JiNV9wcmVhdXRodHlw ZSBzZWxlY3RlZF9wcmVhdXRoX3R5cGU7CisgICAgIGtyYjVfcHJlYXV0aHR5cGUgYWxsb3dlZF9w cmVhdXRoX3R5cGU7CitkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RzL2dzc2FwaS90X2dzc2FwaS5weSBi L3NyYy90ZXN0cy9nc3NhcGkvdF9nc3NhcGkucHkKK2luZGV4IDE0OWY0NmQ1YzkuLjE4YTEyZDU2 YmIgMTAwNzU1CistLS0gYS9zcmMvdGVzdHMvZ3NzYXBpL3RfZ3NzYXBpLnB5CisrKysgYi9zcmMv dGVzdHMvZ3NzYXBpL3RfZ3NzYXBpLnB5CitAQCAtMjU1LDQgKzI1NSwyMiBAQCBjaGVja19saWZl dGltZSgnYWN0eCBnc3NfYWNjZXB0X3NlY19jb250ZXh0JywgbG5bN10sIDgwMDAgKiA4NjQwMCAr IDMwMCkKKyBjaGVja19saWZldGltZSgnYWN0eCBnc3NfaW5xdWlyZV9jb250ZXh0JywgbG5bOF0s IDgwMDAgKiA4NjQwMCArIDMwMCkKKyBjaGVja19saWZldGltZSgnYWN0eCBnc3NfY29udGV4dF90 aW1lJywgbG5bOV0sIDgwMDAgKiA4NjQwMCArIDMwMCkKKyAKKytyZWFsbS5zdG9wKCkKKysKKysj IFRlc3QgYXV0b19mYXN0X2FybW9yIHdpdGggSUFLRVJCIGRyaXZpbmcgdGhlIHN0YXRlIG1hY2hp bmUuCisraWYgcGtpbml0X2VuYWJsZWQ6CisrICAgIG1hcmsoJ0lBS0VSQiB3aXRoIGF1dG9fZmFz dF9hcm1vcicpCisrICAgIGFmYV9jb25mID0geydyZWFsbXMnOiB7JyRyZWFsbSc6IHsnYXV0b19m YXN0X2FybW9yJzogJ3RydWUnfX19CisrICAgIHJlYWxtID0gSzVSZWFsbShrcmI1X2NvbmY9YWZh X2NvbmYsIGdldF9jcmVkcz1GYWxzZSwgcGtpbml0PVRydWUpCisrICAgIHJlYWxtLnJ1bihba2Fk bWlubCwgJ21vZHByaW5jJywgJytwcmVhdXRoJywgcmVhbG0udXNlcl9wcmluY10pCisrICAgIHJl YWxtLmFkZHByaW5jKCdXRUxMS05PV04vQU5PTllNT1VTJykKKysgICAgbXNncyA9ICgnQWNxdWly aW5nIGFub255bW91cyBQS0lOSVQgYXJtb3IgdGlja2V0IGZvciBGQVNUJywKKysgICAgICAgICAg ICAnR2V0dGluZyBpbml0aWFsIGNyZWRlbnRpYWxzIGZvciBXRUxMS05PV04vQU5PTllNT1VTJywK KysgICAgICAgICAgICAnVXNpbmcgRkFTVCBkdWUgdG8gYXJtb3IgY2NhY2hlIG5lZ290aWF0aW9u IHJlc3VsdCcsCisrICAgICAgICAgICAgJ1ByZWF1dGggbW9kdWxlIGVuY3J5cHRlZF9jaGFsbGVu Z2UgKDEzOCkgKHJlYWwpIHJldHVybmVkOiAwJykKKysgICAgcmVhbG0ucnVuKFsnLi90X2lha2Vy YicsICdwOicgKyByZWFsbS51c2VyX3ByaW5jLCBwYXNzd29yZCgndXNlcicpLAorKyAgICAgICAg ICAgICAgICdoOmhvc3RAJyArIGhvc3RuYW1lLCAnaDpob3N0J10sIGV4cGVjdGVkX3RyYWNlPW1z Z3MpCisrZWxzZToKKysgICAgcHJpbnQoJ1NraXBwaW5nIElBS0VSQiBhdXRvX2Zhc3RfYXJtb3Ig dGVzdDogUEtJTklUIG5vdCBidWlsdCcpCisrCisgc3VjY2VzcygnR1NTQVBJIHRlc3RzJykKK2Rp ZmYgLS1naXQgYS9zcmMvdGVzdHMvdF9wa2luaXQucHkgYi9zcmMvdGVzdHMvdF9wa2luaXQucHkK K2luZGV4IDkxZDQ2MzBhMGEuLjBiNmMwMzgyY2EgMTAwNzU1CistLS0gYS9zcmMvdGVzdHMvdF9w a2luaXQucHkKKysrKyBiL3NyYy90ZXN0cy90X3BraW5pdC5weQorQEAgLTEwNSwxMCArMTA1LDYg QEAgcmVhbG0ua2luaXQocmVhbG0udXNlcl9wcmluYywgcGFzc3dvcmQ9cGFzc3dvcmQoJ3VzZXIn KSkKKyByZWFsbS5rbGlzdChyZWFsbS51c2VyX3ByaW5jKQorIHJlYWxtLnJ1bihba3ZubywgcmVh bG0uaG9zdF9wcmluY10pCisgCistIyBIYXZpbmcgdGVzdGVkIHBhc3N3b3JkIHByZWF1dGgsIHJl bW92ZSB0aGUga2V5cyBmb3IgYmV0dGVyIGVycm9yCistIyByZXBvcnRpbmcuCistcmVhbG0ucnVu KFtrYWRtaW5sLCAncHVyZ2VrZXlzJywgJy1hbGwnLCByZWFsbS51c2VyX3ByaW5jXSkKKy0KKyAj IFRlc3QgYW5vbnltb3VzIFBLSU5JVC4KKyBtYXJrKCdhbm9ueW1vdXMnKQorIHJlYWxtLmtpbml0 KCdAJXMnICUgcmVhbG0ucmVhbG0sIGZsYWdzPVsnLW4nXSwgZXhwZWN0ZWRfY29kZT0xLAorQEAg LTEyNCw2ICsxMjAsMjkgQEAgaWYgJzk3OicgaW4gb3V0OgorIHJlYWxtLnJ1bihba2xpc3QsICct QyddLCBleHBlY3RlZF9tc2c9J3N0YXJ0X3JlYWxtID0gS1JCVEVTVC5DT00nKQorIHJlYWxtLnJ1 bihba3ZubywgJy1TJywgJ2hvc3QnLCBob3N0bmFtZV0pCisgCisrIyBUZXN0IGF1dG9fZmFzdF9h cm1vci4KKyttYXJrKCdhdXRvX2Zhc3RfYXJtb3InKQorK2FmYV9jb25mID0geydyZWFsbXMnOiB7 JyRyZWFsbSc6IHsnYXV0b19mYXN0X2FybW9yJzogJ3RydWUnfX19CisrYWZhX2VudiA9IHJlYWxt LnNwZWNpYWxfZW52KCdhdXRvX2Zhc3QnLCBGYWxzZSwga3JiNV9jb25mPWFmYV9jb25mKQorK21z Z3MgPSAoJ0FjcXVpcmluZyBhbm9ueW1vdXMgUEtJTklUIGFybW9yIHRpY2tldCBmb3IgRkFTVCcs CisrICAgICAgICAnR2V0dGluZyBpbml0aWFsIGNyZWRlbnRpYWxzIGZvciBXRUxMS05PV04vQU5P TllNT1VTQCVzJyAlIHJlYWxtLnJlYWxtLAorKyAgICAgICAgJ1VzaW5nIEZBU1QgZHVlIHRvIGFy bW9yIGNjYWNoZSBuZWdvdGlhdGlvbiByZXN1bHQnLAorKyAgICAgICAgJ1ByZWF1dGggbW9kdWxl IGVuY3J5cHRlZF9jaGFsbGVuZ2UgKDEzOCkgKHJlYWwpIHJldHVybmVkOiAwL1N1Y2Nlc3MnKQor K3JlYWxtLmtpbml0KHJlYWxtLnVzZXJfcHJpbmMsIHBhc3N3b3JkPXBhc3N3b3JkKCd1c2VyJyks IGVudj1hZmFfZW52LAorKyAgICAgICAgICAgIGV4cGVjdGVkX3RyYWNlPW1zZ3MpCisrcmVhbG0u a2xpc3QocmVhbG0udXNlcl9wcmluYykKKysKKysjIGF1dG9fZmFzdF9hcm1vciBzaG91bGRuJ3Qg dHJpZ2dlciBmb3IgZGlyZWN0IHVzZSBvZiBhbm9ueW1vdXMgUEtJTklULgorK21hcmsoJ2Fub255 bW91cyAoYXV0b19mYXN0X2FybW9yPXRydWUpJykKKytvdXQsIHRyYWNlID0gcmVhbG0ua2luaXQo J0AlcycgJSByZWFsbS5yZWFsbSwgZmxhZ3M9WyctbiddLCBlbnY9YWZhX2VudiwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgcmV0dXJuX3RyYWNlPVRydWUpCisraWYgJ0FjcXVpcmluZyBhbm9u eW1vdXMgUEtJTklUIGFybW9yIHRpY2tldCBmb3IgRkFTVCcgaW4gdHJhY2U6CisrICAgIGZhaWwo J2F1dG9fZmFzdF9hcm1vciBpbXByb3Blcmx5IHRyaWdnZXJlZCBmb3IgYW5vbnltb3VzIGtpbml0 JykKKysKKysjIEZvciB0aGUgcmVtYWluaW5nIHRlc3RzIGluIHRoaXMgcmVhbG0sIHJlbW92ZSB0 aGUga2V5cyBvbiB1c2VyIGZvcgorKyMgYmV0dGVyIGVycm9yIHJlcG9ydGluZyAoYnkgcHJldmVu dGluZyBlbmNyeXB0ZWQgdGltZXN0YW1wIGZhbGxiYWNrKS4KKytyZWFsbS5ydW4oW2thZG1pbmws ICdwdXJnZWtleXMnLCAnLWFsbCcsIHJlYWxtLnVzZXJfcHJpbmNdKQorKworICMgVGVzdCBhbm9u eW1vdXMga2FkbWluLgorIG1hcmsoJ2Fub255bW91cyBrYWRtaW4nKQorIGYgPSBvcGVuKG9zLnBh dGguam9pbihyZWFsbS50ZXN0ZGlyLCAnYWNsJyksICdhJykKKy0tIAorMi41NS4wCisKKworRnJv bSA4ZmFkYzA4ZjA3MTllNDVmNTdmZjYzOTE4MDJiMzhiYzE2MWMzMDYzIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+ CitEYXRlOiBGcmksIDI3IE1hciAyMDI2IDEzOjQ4OjU5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0gg MjgvMjhdIFJlbGF4IGdzc19pbml0X3NlY19jb250ZXh0KCkgcHJveHkgc2VsZiBjaGVjaworCitJ ZiB0aGUga3JiNSBnc3NfaW5pdF9zZWNfY29udGV4dCgpIGRldGVjdHMgYSBwcm94eSBjY2FjaGUs IHdlIGNoZWNrIGluCitnZXRfY3JlZGVudGlhbHMoKSB3aGV0aGVyIHRoZSByZXF1ZXN0ZWQgc2Vy dmVyIHByaW5jaXBhbCBtYXRjaGVzIHRoZQorY2FjaGUncyBpbXBlcnNvbmF0b3IgcHJpbmNpcGFs LiAgRm9yIGEgaG9zdC1iYXNlZCBzZXJ2ZXIgbmFtZSwgdGhpcworbWF0Y2ggd2lsbCBmYWlsIGlm IGtyYjVfc25hbWVfdG9fcHJpbmNpcGFsKCkgeWllbGRlZCBhbiBlbXB0eSByZWFsbSwKK2FzIGl0 IGRvZXMgaW4gbW9zdCBjb25maWd1cmF0aW9ucy4KKworQXMgaG9zdC1iYXNlZCBwcmluY2lwYWxz IGdlbmVyYWxseSBvbmx5IGV4aXN0IGluIG9uZSByZWFsbSBmb3IgYSBnaXZlbgorRlFETiwgd2Ug Y2FuIGlnbm9yZSB0aGUgcmVhbG0gZm9yIHRoaXMgY29tcGFyaXNvbiB3aGVuIHRoZSBzZXJ2ZXIg bmFtZQoraXMgaG9zdC1iYXNlZC4KKworW2dodWRzb25AbWl0LmVkdTogcmV3cm90ZSBjb21tZW50 IGFuZCBjb21taXQgbWVzc2FnZTsgYWRqdXN0ZWQgY29kZSB0bwordXNlIGtyYjVfcHJpbmNpcGFs X2NvbXBhcmVfZmxhZ3MoKV0KKwordGlja2V0OiA5MjI1IChuZXcpCisoY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCA0NzNiNTFiNjQwYmVmMmU5N2M0OTBkNmYyOTg1NjU4YmVmYTg5YzE2KQorLS0t Cisgc3JjL2xpYi9nc3NhcGkva3JiNS9pbml0X3NlY19jb250ZXh0LmMgfCAxNyArKysrKysrKysr KystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygt KQorCitkaWZmIC0tZ2l0IGEvc3JjL2xpYi9nc3NhcGkva3JiNS9pbml0X3NlY19jb250ZXh0LmMg Yi9zcmMvbGliL2dzc2FwaS9rcmI1L2luaXRfc2VjX2NvbnRleHQuYworaW5kZXggMjcwMTFkMGM5 OS4uMjA4ZDRlZWZkMiAxMDA2NDQKKy0tLSBhL3NyYy9saWIvZ3NzYXBpL2tyYjUvaW5pdF9zZWNf Y29udGV4dC5jCisrKysgYi9zcmMvbGliL2dzc2FwaS9rcmI1L2luaXRfc2VjX2NvbnRleHQuYwor QEAgLTEyNCw3ICsxMjQsNyBAQCBnZXRfY3JlZGVudGlhbHMoa3JiNV9jb250ZXh0IGNvbnRleHQs IGtyYjVfZ3NzX2NyZWRfaWRfdCBjcmVkLAorIHsKKyAgICAga3JiNV9lcnJvcl9jb2RlICAgICBj b2RlOworICAgICBrcmI1X2NyZWRzICAgICAgICAgIGluX2NyZWRzLCBldmlkZW5jZV9jcmVkcywg bWNyZWRzLCAqcmVzdWx0X2NyZWRzID0gTlVMTDsKKy0gICAga3JiNV9mbGFncyAgICAgICAgICBm bGFncyA9IDA7CisrICAgIGtyYjVfZmxhZ3MgICAgICAgICAgZmxhZ3MgPSAwLCBjbXBmbGFnID0g MDsKKyAgICAga3JiNV9wcmluY2lwYWxfZGF0YSBzZXJ2ZXJfZGF0YTsKKyAKKyAgICAgKm91dF9j cmVkcyA9IE5VTEw7CitAQCAtMTYzLDEwICsxNjMsMTcgQEAgZ2V0X2NyZWRlbnRpYWxzKGtyYjVf Y29udGV4dCBjb250ZXh0LCBrcmI1X2dzc19jcmVkX2lkX3QgY3JlZCwKKyAKKyAgICAgLyogVHJ5 IGNvbnN0cmFpbmVkIGRlbGVnYXRpb24gaWYgd2UgaGF2ZSBwcm94eSBjcmVkZW50aWFscy4gKi8K KyAgICAgaWYgKGNyZWQtPmltcGVyc29uYXRvciAhPSBOVUxMKSB7CistICAgICAgICAvKiBJZiB3 ZSBhcmUgdHJ5aW5nIHRvIGdldCBhIHRpY2tldCB0byBvdXJzZWx2ZXMsIHdlIHNob3VsZCB1c2Ug dGhlCistICAgICAgICAgKiB0aGUgZXZpZGVuY2UgdGlja2V0IGRpcmVjdGx5IGZyb20gY2FjaGUu ICovCistICAgICAgICBpZiAoa3JiNV9wcmluY2lwYWxfY29tcGFyZShjb250ZXh0LCBjcmVkLT5p bXBlcnNvbmF0b3IsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXIt PnByaW5jKSkgeworKyAgICAgICAgLyoKKysgICAgICAgICAqIElmIHdlIGFyZSB0cnlpbmcgdG8g Z2V0IGEgdGlja2V0IHRvIHRoZSBpbXBlcnNvbmF0b3IsIHdlIHNob3VsZCB1c2UKKysgICAgICAg ICAqIHRoZSB0aGUgZXZpZGVuY2UgdGlja2V0IGRpcmVjdGx5IGZyb20gdGhlIGNhY2hlLiAgSWYg dGhlIHNlcnZlciBuYW1lCisrICAgICAgICAgKiBpcyBob3N0LWJhc2VkLCBpZ25vcmUgdGhlIHJl YWxtIGZvciB0aGlzIGNvbXBhcmlzb247CisrICAgICAgICAgKiBrcmI1X3NuYW1lX3RvX3ByaW5j aXBhbCgpIHByb2JhYmx5IHlpZWxkZWQgYW4gZW1wdHkgcmVhbG0sIGFuZAorKyAgICAgICAgICog aG9zdC1iYXNlZCBwcmluY2lwYWxzIGdlbmVyYWxseSBvbmx5IGV4aXN0IGluIG9uZSByZWFsbS4K KysgICAgICAgICAqLworKyAgICAgICAgaWYgKHNlcnZlci0+cHJpbmMtPnR5cGUgPT0gS1JCNV9O VF9TUlZfSFNUKQorKyAgICAgICAgICAgIGNtcGZsYWcgPSBLUkI1X1BSSU5DSVBBTF9DT01QQVJF X0lHTk9SRV9SRUFMTTsKKysgICAgICAgIGlmIChrcmI1X3ByaW5jaXBhbF9jb21wYXJlX2ZsYWdz KGNvbnRleHQsIGNyZWQtPmltcGVyc29uYXRvciwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlcnZlci0+cHJpbmMsIGNtcGZsYWcpKSB7CisgICAgICAgICAgICAg ZmxhZ3MgfD0gS1JCNV9HQ19DQUNIRUQ7CisgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg IG1lbXNldCgmbWNyZWRzLCAwLCBzaXplb2YobWNyZWRzKSk7CistLSAKKzIuNTUuMAogCg==