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: Randy Barlow To: git-commits@fedoraproject.org Subject: [rpms/ejabberd] f45: Backport commit 0737958b to build on Erlang 19. Date: Wed, 23 Sep 2026 19:07:29 GMT Message-ID: <179019044981.1.11406632868331423429.rpms-ejabberd-fc9a594fdc02@fedoraproject.org> List-ID: X-Git-Repo: rpms/ejabberd X-Git-Branch: f45 X-Git-Rev: fc9a594fdc02336be11d545aaceb12d86d5e4233 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZWphYmJlcmQKICAgICAgICAgICAgQnJhbmNoIDogZjQ1CiAgICAgICAgICAg IENvbW1pdCA6IGZjOWE1OTRmZGMwMjMzNmJlMTFkNTQ1YWFjZWIxMmQ4NmQ1ZTQyMzMKICAgICAg ICAgICAgQXV0aG9yIDogUmFuZHkgQmFybG93IDxib3dsb2ZlZ2dzQGVsZWN0cm9uc3dlYXRzaG9w LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxNi0wOC0wM1QwNzo1MjoyNy0wNDowMAogICAg ICAgICAgICBTdGF0cyAgOiArMTI5OS8tMSBpbiAyIGZpbGUocykKICAgICAgICAgICAgVVJMICAg IDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9lamFiYmVyZC9jL2ZjOWE1OTRm ZGMwMjMzNmJlMTFkNTQ1YWFjZWIxMmQ4NmQ1ZTQyMzM/YnJhbmNoPWY0NQoKICAgICAgICAgICAg TG9nOgogICAgICAgICAgICBCYWNrcG9ydCBjb21taXQgMDczNzk1OGIgdG8gYnVpbGQgb24gRXJs YW5nIDE5LgoKQWxzbywgcmVtb3ZlIGNvbW1lbnRlZCBtYWtlIGVkb2MsIHNpbmNlIHVwc3RyZWFt IG5vIGxvbmdlciBzaGlwcwpkb2NzIGluIHRoaXMgc291cmNlLgoKLS0tCmRpZmYgLS1naXQgYS9l amFiYmVyZC0wMDAyLUZpeC1jb21waWxhdGlvbi1pc3N1ZXMtb24tUjE5LnBhdGNoIGIvZWphYmJl cmQtMDAwMi1GaXgtY29tcGlsYXRpb24taXNzdWVzLW9uLVIxOS5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzQ5MjNiCi0tLSAvZGV2L251bGwKKysrIGIvZWphYmJl cmQtMDAwMi1GaXgtY29tcGlsYXRpb24taXNzdWVzLW9uLVIxOS5wYXRjaApAQCAtMCwwICsxLDEy OTMgQEAKK0Zyb20gMDczNzk1OGI0NWJlMDE1ZDczNDc2OWNkOWI2ZmE1ZTdjZTAxNDA5ZiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9QYXdlPUM1PTgyPTIwQ2htaWVs b3dza2k/PSA8cGNobWllbG93c2tpQHByb2Nlc3Mtb25lLm5ldD4KK0RhdGU6IEZyaSwgMSBKdWwg MjAxNiAyMToxODo1NSArMDIwMAorU3ViamVjdDogW1BBVENIXSBGaXggY29tcGlsYXRpb24gaXNz dWVzIG9uIFIxOQorCistLS0KKyBzcmMvYWRob2MuZXJsICAgICAgICAgICAgICAgICAgIHwgIDIz ICstLQorIHNyYy9jeXJzYXNsLmVybCAgICAgICAgICAgICAgICAgfCAgMjggKy0tCisgc3JjL2Vq YWJiZXJkX2NvbmZpZy5lcmwgICAgICAgICB8ICAgMiArLQorIHNyYy9qbGliLmVybCAgICAgICAg ICAgICAgICAgICAgfCAgNDcgKystLS0KKyBzcmMvbW9kX3B1YnN1Yi5lcmwgICAgICAgICAgICAg IHwgNDI2ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzcmMvbm9k ZV9mbGF0X3NxbC5lcmwgICAgICAgICAgIHwgIDc4ICsrLS0tLS0tCisgc3JjL25vZGV0cmVlX2Rh Zy5lcmwgICAgICAgICAgICB8ICAzNCArKy0tCisgc3JjL3B1YnN1Yl9zdWJzY3JpcHRpb24uZXJs ICAgICB8ICA0OSArKy0tLQorIHNyYy9wdWJzdWJfc3Vic2NyaXB0aW9uX3NxbC5lcmwgfCAgNDQg KystLS0KKyAxMCBmaWxlcyBjaGFuZ2VkLCAxOTkgaW5zZXJ0aW9ucygrKSwgNTM4IGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2FkaG9jLmVybCBiL3NyYy9hZGhvYy5lcmwKK2luZGV4 IDgzYTExM2EuLjY5NzA1ODQgMTAwNjQ0CistLS0gYS9zcmMvYWRob2MuZXJsCisrKysgYi9zcmMv YWRob2MuZXJsCitAQCAtNDEsMTMgKzQxLDcgQEAKKyAlJSBQYXJzZSBhbiBhZC1ob2MgcmVxdWVz dC4gIFJldHVybiBlaXRoZXIgYW4gYWRob2NfcmVxdWVzdCByZWNvcmQgb3IKKyAlJSBhbiB7ZXJy b3IsIEVycm9yVHlwZX0gdHVwbGUuCisgJSUKKy0tc3BlYyhwYXJzZV9yZXF1ZXN0LzEgOjoKKy0o CistICBJUSA6OiBpcV9yZXF1ZXN0KCkpCistICAgIC0+IGFkaG9jX3Jlc3BvbnNlKCkKKy0gICAg JSUKKy0gICAgIHwge2Vycm9yLCBffQorLSkuCisrLXNwZWMgcGFyc2VfcmVxdWVzdChJUSA6OiBp cV9yZXF1ZXN0KCkpIC0+IGFkaG9jX3Jlc3BvbnNlKCkgfCB7ZXJyb3IsIF99LgorIAorIHBhcnNl X3JlcXVlc3QoI2lxe3R5cGUgPSBzZXQsIGxhbmcgPSBMYW5nLCBzdWJfZWwgPSBTdWJFbCwgeG1s bnMgPSA/TlNfQ09NTUFORFN9KSAtPgorICAgICA/REVCVUcoImVudGVyaW5nIHBhcnNlX3JlcXVl c3QuLi4iLCBbXSksCitAQCAtODgsMTIgKzgyLDkgQEAgZmluZF94ZGF0YV9lbDEoW18gfCBFbHNd KSAtPiBmaW5kX3hkYXRhX2VsMShFbHMpLgorICUlIHJlY29yZCwgZmlsbGluZyBpbiB2YWx1ZXMg Zm9yIGxhbmd1YWdlLCBub2RlIGFuZCBzZXNzaW9uIGlkIGZyb20KKyAlJSB0aGUgcmVxdWVzdC4K KyAlJQorLS1zcGVjKHByb2R1Y2VfcmVzcG9uc2UvMiA6OgorLSgKKy0gIEFkaG9jX1JlcXVlc3Qg IDo6IGFkaG9jX3JlcXVlc3QoKSwKKy0gIEFkaG9jX1Jlc3BvbnNlIDo6IGFkaG9jX3Jlc3BvbnNl KCkpCistICAgIC0+IFhtbGVsOjp4bWxlbCgpCistKS4KKystc3BlYyBwcm9kdWNlX3Jlc3BvbnNl KEFkaG9jX1JlcXVlc3QgOjogYWRob2NfcmVxdWVzdCgpLAorKwkJICAgICAgIEFkaG9jX1Jlc3Bv bnNlIDo6IGFkaG9jX3Jlc3BvbnNlKCkpIC0+CisrCQkJICAgICAgWG1sZWw6OnhtbGVsKCkuCisg CisgJSUgUHJvZHVjZSBhIDxjb21tYW5kLz4gbm9kZSB0byB1c2UgYXMgcmVzcG9uc2UgZnJvbSBh biBhZGhvY19yZXNwb25zZQorICUlIHJlY29yZC4KK0BAIC0xMDQsMTEgKzk1LDcgQEAgcHJvZHVj ZV9yZXNwb25zZSgjYWRob2NfcmVxdWVzdHtsYW5nID0gTGFuZywgbm9kZSA9IE5vZGUsIHNlc3Np b25pZCA9IFNlc3Npb25JRH0KKyAgICAgfSkuCisgCisgJSUKKy0tc3BlYyhwcm9kdWNlX3Jlc3Bv bnNlLzEgOjoKKy0oCistICBBZGhvY19SZXNwb25zZTo6YWRob2NfcmVzcG9uc2UoKSkKKy0gICAg LT4gWG1sZWw6OnhtbGVsKCkKKy0pLgorKy1zcGVjIHByb2R1Y2VfcmVzcG9uc2UoQWRob2NfUmVz cG9uc2U6OmFkaG9jX3Jlc3BvbnNlKCkpIC0+IFhtbGVsOjp4bWxlbCgpLgorIAorIHByb2R1Y2Vf cmVzcG9uc2UoCisgICAjYWRob2NfcmVzcG9uc2V7CitkaWZmIC0tZ2l0IGEvc3JjL2N5cnNhc2wu ZXJsIGIvc3JjL2N5cnNhc2wuZXJsCitpbmRleCAyMWZiYzk2Li5hMTAxZTEzIDEwMDY0NAorLS0t IGEvc3JjL2N5cnNhc2wuZXJsCisrKysgYi9zcmMvY3lyc2FzbC5lcmwKK0BAIC04OCwxMyArODgs OCBAQCBzdGFydCgpIC0+CisgICAgIG9rLgorIAorICUlCistLXNwZWMocmVnaXN0ZXJfbWVjaGFu aXNtLzMgOjoKKy0oCistICBNZWNoYW5pbSAgICAgOjogbWVjaGFuaXNtKCksCistICBNb2R1bGUg ICAgICAgOjogbW9kdWxlKCksCistICBQYXNzd29yZFR5cGUgOjogcGFzc3dvcmRfdHlwZSgpKQor LSAgICAtPiBhbnkoKQorLSkuCisrLXNwZWMgcmVnaXN0ZXJfbWVjaGFuaXNtKE1lY2hhbmltIDo6 IG1lY2hhbmlzbSgpLCBNb2R1bGUgOjogbW9kdWxlKCksCisrCQkJIFBhc3N3b3JkVHlwZSA6OiBw YXNzd29yZF90eXBlKCkpIC0+IGFueSgpLgorIAorIHJlZ2lzdGVyX21lY2hhbmlzbShNZWNoYW5p c20sIE1vZHVsZSwgUGFzc3dvcmRUeXBlKSAtPgorICAgICBjYXNlIGlzX2Rpc2FibGVkKE1lY2hh bmlzbSkgb2YKK0BAIC0xMzksMTEgKzEzNCw3IEBAIGNoZWNrX2NyZWRlbnRpYWxzKF9TdGF0ZSwg UHJvcHMpIC0+CisgICAgICAgX0xVc2VyIC0+IG9rCisgICAgIGVuZC4KKyAKKy0tc3BlYyhsaXN0 bWVjaC8xIDo6CistKAorLSAgSG9zdCA6OmJpbmFyeSgpKQorLSAgICAtPiBNZWNoYW5pc21zOjpt ZWNoYW5pc21zKCkKKy0pLgorKy1zcGVjIGxpc3RtZWNoKEhvc3QgOjpiaW5hcnkoKSkgLT4gTWVj aGFuaXNtczo6bWVjaGFuaXNtcygpLgorIAorIGxpc3RtZWNoKEhvc3QpIC0+CisgICAgIE1lY2hz ID0gZXRzOnNlbGVjdChzYXNsX21lY2hhbmlzbSwKK0BAIC0yMTMsMTIgKzIwNCw3IEBAIHNlcnZl cl9zdGVwKFN0YXRlLCBDbGllbnRJbikgLT4KKyAlJSBSZW1vdmUgdGhlIGFub255bW91cyBtZWNo YW5pc20gZnJvbSB0aGUgbGlzdCBpZiBub3QgZW5hYmxlZCBmb3IgdGhlIGdpdmVuCisgJSUgaG9z dAorICUlCistLXNwZWMoZmlsdGVyX2Fub255bW91cy8yIDo6CistKAorLSAgSG9zdCAgOjogYmlu YXJ5KCksCistICBNZWNocyA6OiBtZWNoYW5pc21zKCkpCistICAgIC0+IG1lY2hhbmlzbXMoKQor LSkuCisrLXNwZWMgZmlsdGVyX2Fub255bW91cyhIb3N0IDo6IGJpbmFyeSgpLCBNZWNocyA6OiBt ZWNoYW5pc21zKCkpIC0+IG1lY2hhbmlzbXMoKS4KKyAKKyBmaWx0ZXJfYW5vbnltb3VzKEhvc3Qs IE1lY2hzKSAtPgorICAgICBjYXNlIGVqYWJiZXJkX2F1dGhfYW5vbnltb3VzOmlzX3Nhc2xfYW5v bnltb3VzX2VuYWJsZWQoSG9zdCkgb2YKK0BAIC0yMjYsMTEgKzIxMiw3IEBAIGZpbHRlcl9hbm9u eW1vdXMoSG9zdCwgTWVjaHMpIC0+CisgICAgICAgZmFsc2UgLT4gTWVjaHMgLS0gWzw8IkFOT05Z TU9VUyI+Pl0KKyAgICAgZW5kLgorIAorLS1zcGVjKGlzX2Rpc2FibGVkLzEgOjoKKy0oCistICBN ZWNoYW5pc20gOjogbWVjaGFuaXNtKCkpCistICAgIC0+IGJvb2xlYW4oKQorLSkuCisrLXNwZWMg aXNfZGlzYWJsZWQoTWVjaGFuaXNtIDo6IG1lY2hhbmlzbSgpKSAtPiBib29sZWFuKCkuCisgCisg aXNfZGlzYWJsZWQoTWVjaGFuaXNtKSAtPgorICAgICBEaXNhYmxlZCA9IGVqYWJiZXJkX2NvbmZp ZzpnZXRfb3B0aW9uKAorZGlmZiAtLWdpdCBhL3NyYy9lamFiYmVyZF9jb25maWcuZXJsIGIvc3Jj L2VqYWJiZXJkX2NvbmZpZy5lcmwKK2luZGV4IDEzOTA0N2QuLmRmOWRlYmQgMTAwNjQ0CistLS0g YS9zcmMvZWphYmJlcmRfY29uZmlnLmVybAorKysrIGIvc3JjL2VqYWJiZXJkX2NvbmZpZy5lcmwK K0BAIC05MCw3ICs5MCw3IEBAIGhvc3RzX3RvX3N0YXJ0KFN0YXRlKSAtPgorIAorICUlIEBwcml2 YXRlCisgJSUgQXQgdGhlIG1vbWVudCwgdGhlc2UgZnVuY3Rpb25zIGFyZSBtYWlubHkgdXNlZCB0 byBzZXR1cCB1bml0IHRlc3RzLgorLS1zcGVjKHN0YXJ0LzIgOjogKEhvc3RzIDo6IFtiaW5hcnko KV0sIE9wdHMgOjogW2FjbDphY2woKSB8IGxvY2FsX2NvbmZpZygpXSkgLT4gb2spLgorKy1zcGVj IHN0YXJ0KEhvc3RzIDo6IFtiaW5hcnkoKV0sIE9wdHMgOjogW2FjbDphY2woKSB8IGxvY2FsX2Nv bmZpZygpXSkgLT4gb2suCisgc3RhcnQoSG9zdHMsIE9wdHMpIC0+CisgICAgIG1uZXNpYV9pbml0 KCksCisgICAgIHNldF9vcHRzKHNldF9ob3N0c19pbl9vcHRpb25zKEhvc3RzLCAjc3RhdGV7b3B0 cyA9IE9wdHN9KSkuCitkaWZmIC0tZ2l0IGEvc3JjL2psaWIuZXJsIGIvc3JjL2psaWIuZXJsCitp bmRleCBlNWNiYTMxLi41MzJhNzQ2IDEwMDY0NAorLS0tIGEvc3JjL2psaWIuZXJsCisrKysgYi9z cmMvamxpYi5lcmwKK0BAIC0zMDcsMjEgKzMwNywxNiBAQCBnZXRfaXFfbmFtZXNwYWNlKCN4bWxl bHtuYW1lID0gPDwiaXEiPj4sIGNoaWxkcmVuID0gRWxzfSkgLT4KKyBnZXRfaXFfbmFtZXNwYWNl KF8pIC0+IDw8IiI+Pi4KKyAKKyAlJQorLS1zcGVjKGlxX3F1ZXJ5X2luZm8vMSA6OgorLSgKKy0g IFhtbGVsIDo6IHhtbGVsKCkpCistICAgIC0+IGlxX3JlcXVlc3QoKSB8ICdyZXBseScgfCAnaW52 YWxpZCcgfCAnbm90X2lxJworLSkuCisrLXNwZWMgaXFfcXVlcnlfaW5mbyhYbWxlbCA6OiB4bWxl bCgpKSAtPgorKwkJCSAgIGlxX3JlcXVlc3QoKSB8ICdyZXBseScgfCAnaW52YWxpZCcgfCAnbm90 X2lxJy4KKyAKKyAlJSBAc3BlYyAoeG1sZWxlbWVudCgpKSAtPiBpcSgpIHwgcmVwbHkgfCBpbnZh bGlkIHwgbm90X2lxCisgaXFfcXVlcnlfaW5mbyhFbCkgLT4gaXFfaW5mb19pbnRlcm5hbChFbCwg cmVxdWVzdCkuCisgCisgJSUKKy0tc3BlYyhpcV9xdWVyeV9vcl9yZXNwb25zZV9pbmZvLzEgOjoK Ky0oCistICBYbWxlbCA6OiB4bWxlbCgpKQorLSAgICAtPiBpcV9yZXF1ZXN0KCkgfCBpcV9yZXBs eSgpIHwgJ3JlcGx5JyB8ICdpbnZhbGlkJyB8ICdub3RfaXEnCistKS4KKystc3BlYyBpcV9xdWVy eV9vcl9yZXNwb25zZV9pbmZvKFhtbGVsIDo6IHhtbGVsKCkpIC0+CisrCQkJCSAgICAgICBpcV9y ZXF1ZXN0KCkgfCBpcV9yZXBseSgpIHwKKysJCQkJICAgICAgICdyZXBseScgfCAnaW52YWxpZCcg fCAnbm90X2lxJy4KKyAKKyBpcV9xdWVyeV9vcl9yZXNwb25zZV9pbmZvKEVsKSAtPgorICAgICBp cV9pbmZvX2ludGVybmFsKEVsLCBhbnkpLgorQEAgLTM3MywxMSArMzY4LDcgQEAgaXFfdHlwZV90 b19zdHJpbmcoZ2V0KSAtPiA8PCJnZXQiPj47CisgaXFfdHlwZV90b19zdHJpbmcocmVzdWx0KSAt PiA8PCJyZXN1bHQiPj47CisgaXFfdHlwZV90b19zdHJpbmcoZXJyb3IpIC0+IDw8ImVycm9yIj4+ LgorIAorLS1zcGVjKGlxX3RvX3htbC8xIDo6CistKAorLSAgSVEgOjogaXEoKSkKKy0gICAgLT4g eG1sZWwoKQorLSkuCisrLXNwZWMgaXFfdG9feG1sKElRIDo6IGlxKCkpIC0+IHhtbGVsKCkuCisg CisgaXFfdG9feG1sKCNpcXtpZCA9IElELCB0eXBlID0gVHlwZSwgc3ViX2VsID0gU3ViRWx9KSAt PgorICAgICBpZiBJRCAvPSA8PCIiPj4gLT4KK0BAIC0zOTEsMTMgKzM4Miw4IEBAIGlxX3RvX3ht bCgjaXF7aWQgPSBJRCwgdHlwZSA9IFR5cGUsIHN1Yl9lbCA9IFN1YkVsfSkgLT4KKyAJCSAgY2hp bGRyZW4gPSBTdWJFbH0KKyAgICAgZW5kLgorIAorLS1zcGVjKHBhcnNlX3hkYXRhX3N1Ym1pdC8x IDo6CistKAorLSAgRWwgOjogeG1sZWwoKSkKKy0gICAgLT4gW3tWYXI6OmJpbmFyeSgpLCBWYWx1 ZXM6OltiaW5hcnkoKV19XQorLSAgICAlJQorLSAgICAgfCAnaW52YWxpZCcKKy0pLgorKy1zcGVj IHBhcnNlX3hkYXRhX3N1Ym1pdChFbCA6OiB4bWxlbCgpKSAtPgorKwkJCQlbe1Zhcjo6YmluYXJ5 KCksIFZhbHVlczo6W2JpbmFyeSgpXX1dIHwgJ2ludmFsaWQnLgorIAorIHBhcnNlX3hkYXRhX3N1 Ym1pdCgjeG1sZWx7YXR0cnMgPSBBdHRycywgY2hpbGRyZW4gPSBFbHN9KSAtPgorICAgICBjYXNl IGZ4bWw6Z2V0X2F0dHJfcyg8PCJ0eXBlIj4+LCBBdHRycykgb2YKK0BAIC00MDksMTIgKzM5NSw5 IEBAIHBhcnNlX3hkYXRhX3N1Ym1pdCgjeG1sZWx7YXR0cnMgPSBBdHRycywgY2hpbGRyZW4gPSBF bHN9KSAtPgorICAgICAgICAgICAgIGludmFsaWQKKyAgICAgZW5kLgorIAorLS1zcGVjKHBhcnNl X3hkYXRhX2ZpZWxkcy8yIDo6CistKAorLSAgWG1sZWxzIDo6IFt4bWxlbCgpIHwgY2RhdGEoKV0s CistICBSZXMgICAgOjogW3tWYXI6OmJpbmFyeSgpLCBWYWx1ZXMgOjogW2JpbmFyeSgpXX1dKQor LSAgICAtPiBbe1Zhcjo6YmluYXJ5KCksIFZhbHVlczo6W2JpbmFyeSgpXX1dCistKS4KKystc3Bl YyBwYXJzZV94ZGF0YV9maWVsZHMoWG1sZWxzIDo6IFt4bWxlbCgpIHwgY2RhdGEoKV0sCisrCQkJ IFJlcyA6OiBbe1Zhcjo6YmluYXJ5KCksIFZhbHVlcyA6OiBbYmluYXJ5KCldfV0pIC0+CisrCQkJ CVt7VmFyOjpiaW5hcnkoKSwgVmFsdWVzOjpbYmluYXJ5KCldfV0uCisgCisgcGFyc2VfeGRhdGFf ZmllbGRzKFtdLCBSZXMpIC0+IFJlczsKKyBwYXJzZV94ZGF0YV9maWVsZHMoWyN4bWxlbHtuYW1l ID0gPDwiZmllbGQiPj4sIGF0dHJzID0gQXR0cnMsIGNoaWxkcmVuID0gU3ViRWxzfQorQEAgLTQy OSwxMiArNDEyLDggQEAgcGFyc2VfeGRhdGFfZmllbGRzKFsjeG1sZWx7bmFtZSA9IDw8ImZpZWxk Ij4+LCBhdHRycyA9IEF0dHJzLCBjaGlsZHJlbiA9IFN1YkVsc30KKyBwYXJzZV94ZGF0YV9maWVs ZHMoW18gfCBFbHNdLCBSZXMpIC0+CisgICAgIHBhcnNlX3hkYXRhX2ZpZWxkcyhFbHMsIFJlcyku CisgCistLXNwZWMocGFyc2VfeGRhdGFfdmFsdWVzLzIgOjoKKy0oCistICBYbWxlbHMgOjogW3ht bGVsKCkgfCBjZGF0YSgpXSwKKy0gIFJlcyAgICA6OiBbYmluYXJ5KCldKQorLSAgICAtPiBbYmlu YXJ5KCldCistKS4KKystc3BlYyBwYXJzZV94ZGF0YV92YWx1ZXMoWG1sZWxzIDo6IFt4bWxlbCgp IHwgY2RhdGEoKV0sCisrCQkJIFJlcyA6OiBbYmluYXJ5KCldKSAtPiBbYmluYXJ5KCldLgorIAor IHBhcnNlX3hkYXRhX3ZhbHVlcyhbXSwgUmVzKSAtPiBSZXM7CisgcGFyc2VfeGRhdGFfdmFsdWVz KFsjeG1sZWx7bmFtZSA9IDw8InZhbHVlIj4+LCBjaGlsZHJlbiA9IFN1YkVsc30gfCBFbHNdLCBS ZXMpIC0+CitkaWZmIC0tZ2l0IGEvc3JjL21vZF9wdWJzdWIuZXJsIGIvc3JjL21vZF9wdWJzdWIu ZXJsCitpbmRleCBhOTc4Y2M1Li41MzM3OGMzIDEwMDY0NAorLS0tIGEvc3JjL21vZF9wdWJzdWIu ZXJsCisrKysgYi9zcmMvbW9kX3B1YnN1Yi5lcmwKK0BAIC0yMzQsMTEgKzIzNCw3IEBAIHN0b3Ao SG9zdCkgLT4KKyAlJSAgICAgICAgICAgICAgICAgICAgICAgICB7c3RvcCwgUmVhc29ufQorICUl IERlc2NyaXB0aW9uOiBJbml0aWF0ZXMgdGhlIHNlcnZlcgorICUlLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0tc3Bl Yyhpbml0LzEgOjoKKy0gICAgKAorLQlbYmluYXJ5KCkgfCBbe18sX31dLC4uLl0pCistICAgIC0+ IHsnb2snLHN0YXRlKCl9CistICAgICkuCisrLXNwZWMgaW5pdChbYmluYXJ5KCkgfCBbe18sX31d LC4uLl0pIC0+IHsnb2snLHN0YXRlKCl9LgorIAorIGluaXQoW1NlcnZlckhvc3QsIE9wdHNdKSAt PgorICAgICA/REVCVUcoInB1YnN1YiBpbml0IH5wIH5wIiwgW1NlcnZlckhvc3QsIE9wdHNdKSwK K0BAIC00ODAsMTUgKzQ3NiwxMCBAQCBzZW5kX2xvb3AoU3RhdGUpIC0+CisgJSUgZGlzY28gaG9v a3MgaGFuZGxpbmcgZnVuY3Rpb25zCisgJSUKKyAKKy0tc3BlYyhkaXNjb19sb2NhbF9pZGVudGl0 eS81IDo6CistICAgICgKKy0JQWNjICAgIDo6IFt4bWxlbCgpXSwKKy0JX0Zyb20gIDo6IGppZCgp LAorLQlUbyAgICAgOjogamlkKCksCistCU5vZGUgICA6OiA8PD4+IHwgbW9kX3B1YnN1Yjpub2Rl SWQoKSwKKy0JTGFuZyAgIDo6IGJpbmFyeSgpKQorLSAgICAtPiBbeG1sZWwoKV0KKy0gICAgKS4K Kystc3BlYyBkaXNjb19sb2NhbF9pZGVudGl0eShBY2MgOjogW3htbGVsKCldLCBfRnJvbSA6OiBq aWQoKSwKKysJCQkgICBUbyA6OiBqaWQoKSwgTm9kZSA6OiA8PD4+IHwgbW9kX3B1YnN1Yjpub2Rl SWQoKSwKKysJCQkgICBMYW5nIDo6IGJpbmFyeSgpKSAtPiBbeG1sZWwoKV0uCisrCisgZGlzY29f bG9jYWxfaWRlbnRpdHkoQWNjLCBfRnJvbSwgVG8sIDw8Pj4sIF9MYW5nKSAtPgorICAgICBjYXNl IGxpc3RzOm1lbWJlcig/UEVQTk9ERSwgcGx1Z2lucyhob3N0KFRvI2ppZC5sc2VydmVyKSkpIG9m CisgCXRydWUgLT4KK0BAIC01MDIsMTUgKzQ5MywxMCBAQCBkaXNjb19sb2NhbF9pZGVudGl0eShB Y2MsIF9Gcm9tLCBUbywgPDw+PiwgX0xhbmcpIC0+CisgZGlzY29fbG9jYWxfaWRlbnRpdHkoQWNj LCBfRnJvbSwgX1RvLCBfTm9kZSwgX0xhbmcpIC0+CisgICAgIEFjYy4KKyAKKy0tc3BlYyhkaXNj b19sb2NhbF9mZWF0dXJlcy81IDo6CistICAgICgKKy0JQWNjICAgIDo6IFt4bWxlbCgpXSwKKy0J X0Zyb20gIDo6IGppZCgpLAorLQlUbyAgICAgOjogamlkKCksCistCU5vZGUgICA6OiA8PD4+IHwg bW9kX3B1YnN1Yjpub2RlSWQoKSwKKy0JTGFuZyAgIDo6IGJpbmFyeSgpKQorLSAgICAtPiBbYmlu YXJ5KCksLi4uXQorLSAgICApLgorKy1zcGVjIGRpc2NvX2xvY2FsX2ZlYXR1cmVzKEFjYyA6OiBb eG1sZWwoKV0sIF9Gcm9tIDo6IGppZCgpLAorKwkJCSAgIFRvIDo6IGppZCgpLCBOb2RlIDo6IDw8 Pj4gfCBtb2RfcHVic3ViOm5vZGVJZCgpLAorKwkJCSAgIExhbmcgOjogYmluYXJ5KCkpIC0+IFti aW5hcnkoKSwuLi5dLgorKworIGRpc2NvX2xvY2FsX2ZlYXR1cmVzKEFjYywgX0Zyb20sIFRvLCA8 PD4+LCBfTGFuZykgLT4KKyAgICAgSG9zdCA9IGhvc3QoVG8jamlkLmxzZXJ2ZXIpLAorICAgICBG ZWF0cyA9IGNhc2UgQWNjIG9mCitAQCAtNTI4LDE1ICs1MTQsMTAgQEAgZGlzY29fbG9jYWxfaXRl bXMoQWNjLCBfRnJvbSwgX1RvLCBfTm9kZSwgX0xhbmcpIC0+IEFjYy4KKyAlICAgIHdoZW4gaXNf YmluYXJ5KE5vZGUpIC0+CisgJSAgICBkaXNjb19zbV9pZGVudGl0eShBY2MsIEZyb20sIFRvLCBp b2xpc3RfdG9fYmluYXJ5KE5vZGUpLAorICUgICAgICAgICAgICAgICAgICAgICAgTGFuZyk7Cist LXNwZWMoZGlzY29fc21faWRlbnRpdHkvNSA6OgorLSAgICAoCistCUFjYyAgOjogZW1wdHkgfCBb eG1sZWwoKV0sCistCUZyb20gOjogamlkKCksCistCVRvICAgOjogamlkKCksCistCU5vZGUgOjog bW9kX3B1YnN1Yjpub2RlSWQoKSwKKy0JTGFuZyA6OiBiaW5hcnkoKSkKKy0gICAgLT4gW3htbGVs KCldCistICAgICkuCisrLXNwZWMgZGlzY29fc21faWRlbnRpdHkoQWNjIDo6IGVtcHR5IHwgW3ht bGVsKCldLCBGcm9tIDo6IGppZCgpLAorKwkJCVRvIDo6IGppZCgpLCBOb2RlIDo6IG1vZF9wdWJz dWI6bm9kZUlkKCksCisrCQkJTGFuZyA6OiBiaW5hcnkoKSkgLT4gW3htbGVsKCldLgorKworIGRp c2NvX3NtX2lkZW50aXR5KGVtcHR5LCBGcm9tLCBUbywgTm9kZSwgTGFuZykgLT4KKyAgICAgZGlz Y29fc21faWRlbnRpdHkoW10sIEZyb20sIFRvLCBOb2RlLCBMYW5nKTsKKyBkaXNjb19zbV9pZGVu dGl0eShBY2MsIEZyb20sIFRvLCBOb2RlLCBfTGFuZykgLT4KK0BAIC01NzEsMTUgKzU1Miw5IEBA IGRpc2NvX2lkZW50aXR5KEhvc3QsIE5vZGUsIEZyb20pIC0+CisgCV8gLT4gW10KKyAgICAgZW5k LgorIAorLS1zcGVjKGRpc2NvX3NtX2ZlYXR1cmVzLzUgOjoKKy0gICAgKAorLQlBY2MgIDo6IGVt cHR5IHwge3Jlc3VsdCwgRmVhdHVyZXM6OltGZWF0dXJlOjpiaW5hcnkoKV19LAorLQlGcm9tIDo6 IGppZCgpLAorLQlUbyAgIDo6IGppZCgpLAorLQlOb2RlIDo6IG1vZF9wdWJzdWI6bm9kZUlkKCks CistCUxhbmcgOjogYmluYXJ5KCkpCistICAgIC0+IHtyZXN1bHQsIEZlYXR1cmVzOjpbRmVhdHVy ZTo6YmluYXJ5KCldfQorLSAgICApLgorKy1zcGVjIGRpc2NvX3NtX2ZlYXR1cmVzKEFjYyA6OiBl bXB0eSB8IHtyZXN1bHQsIEZlYXR1cmVzOjpbRmVhdHVyZTo6YmluYXJ5KCldfSwKKysJCQlGcm9t IDo6IGppZCgpLCBUbyA6OiBqaWQoKSwgTm9kZSA6OiBtb2RfcHVic3ViOm5vZGVJZCgpLAorKwkJ CUxhbmcgOjogYmluYXJ5KCkpIC0+IHtyZXN1bHQsIEZlYXR1cmVzOjpbRmVhdHVyZTo6YmluYXJ5 KCldfS4KKyAlZGlzY29fc21fZmVhdHVyZXMoQWNjLCBGcm9tLCBUbywgTm9kZSwgTGFuZykKKyAl ICAgIHdoZW4gaXNfYmluYXJ5KE5vZGUpIC0+CisgJSAgICBkaXNjb19zbV9mZWF0dXJlcyhBY2Ms IEZyb20sIFRvLCBpb2xpc3RfdG9fYmluYXJ5KE5vZGUpLAorQEAgLTYwNywxNSArNTgyLDkgQEAg ZGlzY29fZmVhdHVyZXMoSG9zdCwgTm9kZSwgRnJvbSkgLT4KKyAJXyAtPiBbXQorICAgICBlbmQu CisgCistLXNwZWMoZGlzY29fc21faXRlbXMvNSA6OgorLSAgICAoCistCUFjYyAgOjogZW1wdHkg fCB7cmVzdWx0LCBbeG1sZWwoKV19LAorLQlGcm9tIDo6IGppZCgpLAorLQlUbyAgIDo6IGppZCgp LAorLQlOb2RlIDo6IG1vZF9wdWJzdWI6bm9kZUlkKCksCistCUxhbmcgOjogYmluYXJ5KCkpCist ICAgIC0+IHtyZXN1bHQsIFt4bWxlbCgpXX0KKy0gICAgKS4KKystc3BlYyBkaXNjb19zbV9pdGVt cyhBY2MgOjogZW1wdHkgfCB7cmVzdWx0LCBbeG1sZWwoKV19LCBGcm9tIDo6IGppZCgpLAorKwkJ ICAgICBUbyA6OiBqaWQoKSwgTm9kZSA6OiBtb2RfcHVic3ViOm5vZGVJZCgpLAorKwkJICAgICBM YW5nIDo6IGJpbmFyeSgpKSAtPiB7cmVzdWx0LCBbeG1sZWwoKV19LgorICVkaXNjb19zbV9pdGVt cyhBY2MsIEZyb20sIFRvLCBOb2RlLCBMYW5nKQorICUgICAgd2hlbiBpc19iaW5hcnkoTm9kZSkg LT4KKyAlICAgIGRpc2NvX3NtX2l0ZW1zKEFjYywgRnJvbSwgVG8sIGlvbGlzdF90b19iaW5hcnko Tm9kZSksCitAQCAtNjI3LDEzICs1OTYsOCBAQCBkaXNjb19zbV9pdGVtcyh7cmVzdWx0LCBPdGhl ckl0ZW1zfSwgRnJvbSwgVG8sIE5vZGUsIF9MYW5nKSAtPgorIAkgICAgZGlzY29faXRlbXMoamlk OnRvbG93ZXIoamlkOnJlbW92ZV9yZXNvdXJjZShUbykpLCBOb2RlLCBGcm9tKSl9OworIGRpc2Nv X3NtX2l0ZW1zKEFjYywgX0Zyb20sIF9UbywgX05vZGUsIF9MYW5nKSAtPiBBY2MuCisgCistLXNw ZWMoZGlzY29faXRlbXMvMyA6OgorLSAgICAoCistCUhvc3QgOjogbW9kX3B1YnN1Yjpob3N0KCks CistCU5vZGUgOjogbW9kX3B1YnN1Yjpub2RlSWQoKSwKKy0JRnJvbSA6OiBqaWQoKSkKKy0gICAg LT4gW3htbGVsKCldCistICAgICkuCisrLXNwZWMgZGlzY29faXRlbXMoSG9zdCA6OiBtb2RfcHVi c3ViOmhvc3QoKSwgTm9kZSA6OiBtb2RfcHVic3ViOm5vZGVJZCgpLAorKwkJICBGcm9tIDo6IGpp ZCgpKSAtPiBbeG1sZWwoKV0uCisgZGlzY29faXRlbXMoSG9zdCwgPDw+PiwgRnJvbSkgLT4KKyAg ICAgQWN0aW9uID0gZnVuICgjcHVic3ViX25vZGV7bm9kZWlkID0ge18sIE5vZGV9LAorIAkJCW9w dGlvbnMgPSBPcHRpb25zLCB0eXBlID0gVHlwZSwgaWQgPSBOaWR4LCBvd25lcnMgPSBPfSwKK0BA IC04NDcsMTIgKzgxMSw4IEBAIGhhbmRsZV9jYWxsKHN0b3AsIF9Gcm9tLCBTdGF0ZSkgLT4KKyAl JSBAcHJpdmF0ZQorIGhhbmRsZV9jYXN0KF9Nc2csIFN0YXRlKSAtPiB7bm9yZXBseSwgU3RhdGV9 LgorIAorLS1zcGVjKGhhbmRsZV9pbmZvLzIgOjoKKy0gICAgKAorLQlfICAgICA6OiB7cm91dGUs IEZyb206OmppZCgpLCBUbzo6amlkKCksIFBhY2tldDo6eG1sZWwoKX0sCistCVN0YXRlIDo6IHN0 YXRlKCkpCistICAgIC0+IHtub3JlcGx5LCBzdGF0ZSgpfQorLSAgICApLgorKy1zcGVjIGhhbmRs ZV9pbmZvKF8gOjoge3JvdXRlLCBGcm9tOjpqaWQoKSwgVG86OmppZCgpLCBQYWNrZXQ6OnhtbGVs KCl9LAorKwkJICBTdGF0ZSA6OiBzdGF0ZSgpKSAtPiB7bm9yZXBseSwgc3RhdGUoKX0uCisgCisg JSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorICUlIEZ1bmN0aW9uOiBoYW5kbGVfaW5mbyhJbmZvLCBTdGF0ZSkgLT4g e25vcmVwbHksIFN0YXRlfSB8CitAQCAtOTM1LDE3ICs4OTUsOSBAQCB0ZXJtaW5hdGUoX1JlYXNv biwKKyAlJSBAcHJpdmF0ZQorIGNvZGVfY2hhbmdlKF9PbGRWc24sIFN0YXRlLCBfRXh0cmEpIC0+ IHtvaywgU3RhdGV9LgorIAorLS1zcGVjKGRvX3JvdXRlLzcgOjoKKy0gICAgKAorLQlTZXJ2ZXJI b3N0IDo6IGJpbmFyeSgpLAorLQlBY2Nlc3MgICAgIDo6IGF0b20oKSwKKy0JUGx1Z2lucyAgICA6 OiBbYmluYXJ5KCksLi4uXSwKKy0JSG9zdCAgICAgICA6OiBtb2RfcHVic3ViOmhvc3RQdWJzdWIo KSwKKy0JRnJvbSAgICAgICA6OiBqaWQoKSwKKy0JVG8gICAgICAgICA6OiBqaWQoKSwKKy0JUGFj a2V0ICAgICA6OiB4bWxlbCgpKQorLSAgICAtPiBvaworLSAgICApLgorKy1zcGVjIGRvX3JvdXRl KFNlcnZlckhvc3QgOjogYmluYXJ5KCksIEFjY2VzcyA6OiBhdG9tKCksCisrCSAgICAgICBQbHVn aW5zIDo6IFtiaW5hcnkoKSwuLi5dLCBIb3N0IDo6IG1vZF9wdWJzdWI6aG9zdFB1YnN1YigpLAor KwkgICAgICAgRnJvbSA6OiBqaWQoKSwgVG8gOjogamlkKCksIFBhY2tldCA6OiB4bWxlbCgpKSAt PiBvay4KKyAKKyAlJS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgJSUlIEludGVybmFsIGZ1bmN0aW9ucworQEAgLTEx MzIsMTQgKzEwODQsOCBAQCBpcV9kaXNjb19pbmZvKEhvc3QsIFNOb2RlLCBGcm9tLCBMYW5nKSAt PgorIAkgICAgbm9kZV9kaXNjb19pbmZvKEhvc3QsIE5vZGUsIEZyb20pCisgICAgIGVuZC4KKyAK Ky0tc3BlYyhpcV9kaXNjb19pdGVtcy80IDo6CistICAgICgKKy0JSG9zdCAgIDo6IG1vZF9wdWJz dWI6aG9zdCgpLAorLQlOb2RlICAgOjogPDw+PiB8IG1vZF9wdWJzdWI6bm9kZUlkKCksCistCUZy b20gICA6OiBqaWQoKSwKKy0JUnNtICAgIDo6IG5vbmUgfCByc21faW4oKSkKKy0gICAgLT4ge3Jl c3VsdCwgW3htbGVsKCldfQorLSAgICApLgorKy1zcGVjIGlxX2Rpc2NvX2l0ZW1zKEhvc3QgOjog bW9kX3B1YnN1Yjpob3N0KCksIE5vZGUgOjogPDw+PiB8IG1vZF9wdWJzdWI6bm9kZUlkKCksCisr CQkgICAgIEZyb20gOjogamlkKCksIFJzbSA6OiBub25lIHwgcnNtX2luKCkpIC0+IHtyZXN1bHQs IFt4bWxlbCgpXX0uCisgaXFfZGlzY29faXRlbXMoSG9zdCwgPDw+PiwgRnJvbSwgX1JTTSkgLT4K KyAgICAge3Jlc3VsdCwKKyAJbGlzdHM6bWFwKGZ1biAoI3B1YnN1Yl9ub2Rle25vZGVpZCA9IHtf LCBTdWJOb2RlfSwgb3B0aW9ucyA9IE9wdGlvbnN9KSAtPgorQEAgLTEyMDIsMTMgKzExNDgsNyBA QCBpcV9kaXNjb19pdGVtcyhIb3N0LCBJdGVtLCBGcm9tLCBSU00pIC0+CisgCSAgICBlbmQKKyAg ICAgZW5kLgorIAorLS1zcGVjKGlxX3NtLzMgOjoKKy0gICAgKAorLQlGcm9tIDo6IGppZCgpLAor LQlUbyAgIDo6IGppZCgpLAorLQlJUSAgIDo6IGlxX3JlcXVlc3QoKSkKKy0gICAgLT4gaXFfcmVz dWx0KCkgfCBpcV9lcnJvcigpCistICAgICkuCisrLXNwZWMgaXFfc20oRnJvbSA6OiBqaWQoKSwg VG8gOjogamlkKCksIElRIDo6IGlxX3JlcXVlc3QoKSkgLT4gaXFfcmVzdWx0KCkgfCBpcV9lcnJv cigpLgorIGlxX3NtKEZyb20sIFRvLCAjaXF7dHlwZSA9IFR5cGUsIHN1Yl9lbCA9IFN1YkVsLCB4 bWxucyA9IFhNTE5TLCBsYW5nID0gTGFuZ30gPSBJUSkgLT4KKyAgICAgU2VydmVySG9zdCA9IFRv I2ppZC5sc2VydmVyLAorICAgICBMT3duZXIgPSBqaWQ6dG9sb3dlcihqaWQ6cmVtb3ZlX3Jlc291 cmNlKFRvKSksCitAQCAtMTIzMywzNiArMTE3MywxNyBAQCBpcV9nZXRfdmNhcmQoTGFuZykgLT4K KyAJCSAgICA8PCh0cmFuc2xhdGU6dHJhbnNsYXRlKExhbmcsIDw8ImVqYWJiZXJkIFB1Ymxpc2gt U3Vic2NyaWJlIG1vZHVsZSI+PikpL2JpbmFyeSwKKyAJCQkiXG5Db3B5cmlnaHQgKGMpIDIwMDQt MjAxNiBQcm9jZXNzT25lIj4+fV19XS4KKyAKKy0tc3BlYyhpcV9wdWJzdWIvNiA6OgorLSAgICAo CistCUhvc3QgICAgICAgOjogbW9kX3B1YnN1Yjpob3N0KCksCistCVNlcnZlckhvc3QgOjogYmlu YXJ5KCksCistCUZyb20gICAgICAgOjogamlkKCksCistCUlRVHlwZSAgICAgOjogJ2dldCcgfCAn c2V0JywKKy0JU3ViRWwgICAgICA6OiB4bWxlbCgpLAorLQlMYW5nICAgICAgIDo6IGJpbmFyeSgp KQorLSAgICAtPiB7cmVzdWx0LCBbeG1sZWwoKV19CistICAgICUlJQorLSAgICB8IHtlcnJvciwg eG1sZWwoKX0KKy0gICAgKS4KKystc3BlYyBpcV9wdWJzdWIoSG9zdCA6OiBtb2RfcHVic3ViOmhv c3QoKSwgU2VydmVySG9zdCA6OiBiaW5hcnkoKSwgRnJvbSA6OiBqaWQoKSwKKysJCUlRVHlwZSA6 OiAnZ2V0JyB8ICdzZXQnLCBTdWJFbCA6OiB4bWxlbCgpLCBMYW5nIDo6IGJpbmFyeSgpKSAtPgor KwkJICAgICAgIHtyZXN1bHQsIFt4bWxlbCgpXX0gfCB7ZXJyb3IsIHhtbGVsKCl9LgorIAorIGlx X3B1YnN1YihIb3N0LCBTZXJ2ZXJIb3N0LCBGcm9tLCBJUVR5cGUsIFN1YkVsLCBMYW5nKSAtPgor ICAgICBpcV9wdWJzdWIoSG9zdCwgU2VydmVySG9zdCwgRnJvbSwgSVFUeXBlLCBTdWJFbCwgTGFu ZywgYWxsLCBwbHVnaW5zKEhvc3QpKS4KKyAKKy0tc3BlYyhpcV9wdWJzdWIvOCA6OgorLSAgICAo CistCUhvc3QgICAgICAgOjogbW9kX3B1YnN1Yjpob3N0KCksCistCVNlcnZlckhvc3QgOjogYmlu YXJ5KCksCistCUZyb20gICAgICAgOjogamlkKCksCistCUlRVHlwZSAgICAgOjogJ2dldCcgfCAn c2V0JywKKy0JU3ViRWwgICAgICA6OiB4bWxlbCgpLAorLQlMYW5nICAgICAgIDo6IGJpbmFyeSgp LAorLQlBY2Nlc3MgICAgIDo6IGF0b20oKSwKKy0JUGx1Z2lucyAgICA6OiBbYmluYXJ5KCksLi4u XSkKKy0gICAgLT4ge3Jlc3VsdCwgW3htbGVsKCldfQorLSAgICAlJSUKKy0gICAgfCB7ZXJyb3Is IHhtbGVsKCl9CistICAgICkuCisrLXNwZWMgaXFfcHVic3ViKEhvc3QgOjogbW9kX3B1YnN1Yjpo b3N0KCksIFNlcnZlckhvc3QgOjogYmluYXJ5KCksIEZyb20gOjogamlkKCksCisrCQlJUVR5cGUg OjogJ2dldCcgfCAnc2V0JywgU3ViRWwgOjogeG1sZWwoKSwgTGFuZyA6OiBiaW5hcnkoKSwKKysJ CUFjY2VzcyA6OiBhdG9tKCksIFBsdWdpbnMgOjogW2JpbmFyeSgpLC4uLl0pIC0+CisrCQkgICAg ICAge3Jlc3VsdCwgW3htbGVsKCldfSB8IHtlcnJvciwgeG1sZWwoKX0uCisgCisgaXFfcHVic3Vi KEhvc3QsIFNlcnZlckhvc3QsIEZyb20sIElRVHlwZSwgU3ViRWwsIExhbmcsIEFjY2VzcywgUGx1 Z2lucykgLT4KKyAgICAgI3htbGVse2NoaWxkcmVuID0gU3ViRWxzfSA9IFN1YkVsLAorQEAgLTEz NjgsMTggKzEyODksMTAgQEAgaXFfcHVic3ViKEhvc3QsIFNlcnZlckhvc3QsIEZyb20sIElRVHlw ZSwgU3ViRWwsIExhbmcsIEFjY2VzcywgUGx1Z2lucykgLT4KKyAgICAgZW5kLgorIAorIAorLS1z cGVjKGlxX3B1YnN1Yl9vd25lci82IDo6CistICAgICgKKy0JSG9zdCAgICAgICA6OiBtb2RfcHVi c3ViOmhvc3QoKSwKKy0JU2VydmVySG9zdCA6OiBiaW5hcnkoKSwKKy0JRnJvbSAgICAgICA6OiBq aWQoKSwKKy0JSVFUeXBlICAgICA6OiAnZ2V0JyB8ICdzZXQnLAorLQlTdWJFbCAgICAgIDo6IHht bGVsKCksCistCUxhbmcgICAgICAgOjogYmluYXJ5KCkpCistICAgIC0+IHtyZXN1bHQsIFt4bWxl bCgpXX0KKy0gICAgJSUlCistICAgIHwge2Vycm9yLCB4bWxlbCgpfQorLSAgICApLgorKy1zcGVj IGlxX3B1YnN1Yl9vd25lcihIb3N0IDo6IG1vZF9wdWJzdWI6aG9zdCgpLCBTZXJ2ZXJIb3N0IDo6 IGJpbmFyeSgpLCBGcm9tIDo6IGppZCgpLAorKwkJICAgICAgSVFUeXBlIDo6ICdnZXQnIHwgJ3Nl dCcsIFN1YkVsIDo6IHhtbGVsKCksIExhbmcgOjogYmluYXJ5KCkpIC0+CisrCQkJICAgICB7cmVz dWx0LCBbeG1sZWwoKV19IHwge2Vycm9yLCB4bWxlbCgpfS4KKysKKyBpcV9wdWJzdWJfb3duZXIo SG9zdCwgU2VydmVySG9zdCwgRnJvbSwgSVFUeXBlLCBTdWJFbCwgTGFuZykgLT4KKyAgICAgI3ht bGVse2NoaWxkcmVuID0gU3ViRWxzfSA9IFN1YkVsLAorICAgICBBY3Rpb24gPSBmeG1sOnJlbW92 ZV9jZGF0YShTdWJFbHMpLAorQEAgLTE2NTQsMTAgKzE1NjcsMTAgQEAgc2VuZF9hdXRob3JpemF0 aW9uX2FwcHJvdmFsKEhvc3QsIEpJRCwgU05vZGUsIFN1YnNjcmlwdGlvbikgLT4KKyAJJXtTLCBT SUR9IC0+CisgCSUgICAgW3s8PCJzdWJzY3JpcHRpb24iPj4sIHN1YnNjcmlwdGlvbl90b19zdHJp bmcoUyl9LAorIAklICAgICB7PDwic3ViaWQiPj4sIFNJRH1dOworLQlTIC0+IAorKwlTIC0+Cisg CSAgICBbezw8InN1YnNjcmlwdGlvbiI+Piwgc3Vic2NyaXB0aW9uX3RvX3N0cmluZyhTKX1dCisg ICAgIGVuZCwKKy0gICAgU3RhbnphID0gZXZlbnRfc3RhbnphKDw8InN1YnNjcmlwdGlvbiI+Piwg CisrICAgIFN0YW56YSA9IGV2ZW50X3N0YW56YSg8PCJzdWJzY3JpcHRpb24iPj4sCisgCSAgICBb ezw8ImppZCI+PiwgamlkOnRvX3N0cmluZyhKSUQpfQorIAkJfCBub2RlQXR0cihTTm9kZSldCisg CSAgICArKyBTdWJBdHRycyksCitAQCAtMTgwMiwzMyArMTcxNSwxNyBAQCB1cGRhdGVfYXV0aChI b3N0LCBOb2RlLCBUeXBlLCBOaWR4LCBTdWJzY3JpYmVyLCBBbGxvdywgU3VicykgLT4KKyAlJTxs aT5ub2RldHJlZSBjcmVhdGVfbm9kZSBjaGVja3MgaWYgbm9kZWlkIGFscmVhZHkgZXhpc3RzPC9s aT4KKyAlJTxsaT5ub2RlIHBsdWdpbiBjcmVhdGVfbm9kZSBqdXN0IHNldHMgZGVmYXVsdCBhZmZp bGlhdGlvbi9zdWJzY3JpcHRpb248L2xpPgorICUlPC91bD4KKy0tc3BlYyhjcmVhdGVfbm9kZS81 IDo6CistICAgICgKKy0JSG9zdCAgICAgICAgICA6OiBtb2RfcHVic3ViOmhvc3QoKSwKKy0JU2Vy dmVySG9zdCAgICA6OiBiaW5hcnkoKSwKKy0JTm9kZSAgICAgICAgOjogPDw+PiB8IG1vZF9wdWJz dWI6bm9kZUlkKCksCistCU93bmVyICAgICAgICAgOjogamlkKCksCistCVR5cGUgICAgICAgICAg OjogYmluYXJ5KCkpCistICAgIC0+IHtyZXN1bHQsIFt4bWxlbCgpLC4uLl19CistICAgICUlJQor LSAgICB8IHtlcnJvciwgeG1sZWwoKX0KKy0gICAgKS4KKystc3BlYyBjcmVhdGVfbm9kZShIb3N0 IDo6IG1vZF9wdWJzdWI6aG9zdCgpLCBTZXJ2ZXJIb3N0IDo6IGJpbmFyeSgpLAorKwkJICBOb2Rl IDo6IDw8Pj4gfCBtb2RfcHVic3ViOm5vZGVJZCgpLCBPd25lciA6OiBqaWQoKSwKKysJCSAgVHlw ZSA6OiBiaW5hcnkoKSkgLT4ge3Jlc3VsdCwgW3htbGVsKCksLi4uXX0gfCB7ZXJyb3IsIHhtbGVs KCl9LgorIGNyZWF0ZV9ub2RlKEhvc3QsIFNlcnZlckhvc3QsIE5vZGUsIE93bmVyLCBUeXBlKSAt PgorICAgICBjcmVhdGVfbm9kZShIb3N0LCBTZXJ2ZXJIb3N0LCBOb2RlLCBPd25lciwgVHlwZSwg YWxsLCBbXSkuCisgCistLXNwZWMoY3JlYXRlX25vZGUvNyA6OgorLSAgICAoCistCUhvc3QgICAg ICAgICAgOjogbW9kX3B1YnN1Yjpob3N0KCksCistCVNlcnZlckhvc3QgICAgOjogYmluYXJ5KCks CistCU5vZGUgICAgICAgIDo6IDw8Pj4gfCBtb2RfcHVic3ViOm5vZGVJZCgpLAorLQlPd25lciAg ICAgICAgIDo6IGppZCgpLAorLQlUeXBlICAgICAgICAgIDo6IGJpbmFyeSgpLAorLQlBY2Nlc3Mg ICAgICAgIDo6IGF0b20oKSwKKy0JQ29uZmlndXJhdGlvbiA6OiBbeG1sZWwoKV0pCistICAgIC0+ IHtyZXN1bHQsIFt4bWxlbCgpLC4uLl19CistICAgICUlJQorLSAgICB8IHtlcnJvciwgeG1sZWwo KX0KKy0gICAgKS4KKystc3BlYyBjcmVhdGVfbm9kZShIb3N0IDo6IG1vZF9wdWJzdWI6aG9zdCgp LCBTZXJ2ZXJIb3N0IDo6IGJpbmFyeSgpLAorKwkJICBOb2RlIDo6IDw8Pj4gfCBtb2RfcHVic3Vi Om5vZGVJZCgpLCBPd25lciA6OiBqaWQoKSwKKysJCSAgVHlwZSA6OiBiaW5hcnkoKSwgQWNjZXNz IDo6IGF0b20oKSwgQ29uZmlndXJhdGlvbiA6OiBbeG1sZWwoKV0pIC0+CisrCQkJIHtyZXN1bHQs IFt4bWxlbCgpLC4uLl19IHwge2Vycm9yLCB4bWxlbCgpfS4KKysKKyBjcmVhdGVfbm9kZShIb3N0 LCBTZXJ2ZXJIb3N0LCA8PD4+LCBPd25lciwgVHlwZSwgQWNjZXNzLCBDb25maWd1cmF0aW9uKSAt PgorICAgICBjYXNlIGxpc3RzOm1lbWJlcig8PCJpbnN0YW50LW5vZGVzIj4+LCBwbHVnaW5fZmVh dHVyZXMoSG9zdCwgVHlwZSkpIG9mCisgCXRydWUgLT4KK0BAIC0xOTQyLDE1ICsxODM5LDggQEAg Y3JlYXRlX25vZGUoSG9zdCwgU2VydmVySG9zdCwgTm9kZSwgT3duZXIsIEdpdmVuVHlwZSwgQWNj ZXNzLCBDb25maWd1cmF0aW9uKSAtPgorICUlPGxpPlRoZSBub2RlIGlzIHRoZSByb290IGNvbGxl Y3Rpb24gbm9kZSwgd2hpY2ggY2Fubm90IGJlIGRlbGV0ZWQuPC9saT4KKyAlJTxsaT5UaGUgc3Bl Y2lmaWVkIG5vZGUgZG9lcyBub3QgZXhpc3QuPC9saT4KKyAlJTwvdWw+CistLXNwZWMoZGVsZXRl X25vZGUvMyA6OgorLSAgICAoCistCUhvc3QgIDo6IG1vZF9wdWJzdWI6aG9zdCgpLAorLQlOb2Rl ICA6OiBtb2RfcHVic3ViOm5vZGVJZCgpLAorLQlPd25lciA6OiBqaWQoKSkKKy0gICAgLT4ge3Jl c3VsdCwgW3htbGVsKCksLi4uXX0KKy0gICAgJSUlCistICAgIHwge2Vycm9yLCB4bWxlbCgpfQor LSAgICApLgorKy1zcGVjIGRlbGV0ZV9ub2RlKEhvc3QgOjogbW9kX3B1YnN1Yjpob3N0KCksIE5v ZGUgOjogbW9kX3B1YnN1Yjpub2RlSWQoKSwKKysJCSAgT3duZXIgOjogamlkKCkpIC0+IHtyZXN1 bHQsIFt4bWxlbCgpLC4uLl19IHwge2Vycm9yLCB4bWxlbCgpfS4KKyBkZWxldGVfbm9kZShfSG9z dCwgPDw+PiwgX093bmVyKSAtPgorICAgICB7ZXJyb3IsID9FUlJUX05PVF9BTExPV0VEKD9NWUxB TkcsIDw8Ik5vIG5vZGUgc3BlY2lmaWVkIj4+KX07CisgZGVsZXRlX25vZGUoSG9zdCwgTm9kZSwg T3duZXIpIC0+CitAQCAtMjAyNiwxNyArMTkxNiw5IEBAIGRlbGV0ZV9ub2RlKEhvc3QsIE5vZGUs IE93bmVyKSAtPgorICUlPGxpPlRoZSBub2RlIGRvZXMgbm90IHN1cHBvcnQgc3Vic2NyaXB0aW9u cy48L2xpPgorICUlPGxpPlRoZSBub2RlIGRvZXMgbm90IGV4aXN0LjwvbGk+CisgJSU8L3VsPgor LS1zcGVjKHN1YnNjcmliZV9ub2RlLzUgOjoKKy0gICAgKAorLQlIb3N0ICAgICAgICAgIDo6IG1v ZF9wdWJzdWI6aG9zdCgpLAorLQlOb2RlICAgICAgICAgIDo6IG1vZF9wdWJzdWI6bm9kZUlkKCks CistCUZyb20gICAgICAgICAgOjogamlkKCksCistCUpJRCAgICAgICAgICAgOjogYmluYXJ5KCks CistCUNvbmZpZ3VyYXRpb24gOjogW3htbGVsKCldKQorLSAgICAtPiB7cmVzdWx0LCBbeG1sZWwo KSwuLi5dfQorLSAgICAlJSUKKy0gICAgfCB7ZXJyb3IsIHhtbGVsKCl9CistICAgICkuCisrLXNw ZWMgc3Vic2NyaWJlX25vZGUoSG9zdCA6OiBtb2RfcHVic3ViOmhvc3QoKSwgTm9kZSA6OiBtb2Rf cHVic3ViOm5vZGVJZCgpLAorKwkJICAgICBGcm9tIDo6IGppZCgpLCBKSUQgOjogYmluYXJ5KCks IENvbmZpZ3VyYXRpb24gOjogW3htbGVsKCldKSAtPgorKwkJCSAgICB7cmVzdWx0LCBbeG1sZWwo KSwuLi5dfSB8IHtlcnJvciwgeG1sZWwoKX0uCisgc3Vic2NyaWJlX25vZGUoSG9zdCwgTm9kZSwg RnJvbSwgSklELCBDb25maWd1cmF0aW9uKSAtPgorICAgICBTdWJNb2R1bGUgPSBzdWJzY3JpcHRp b25fcGx1Z2luKEhvc3QpLAorICAgICBTdWJPcHRzID0gY2FzZSBTdWJNb2R1bGU6cGFyc2Vfb3B0 aW9uc194Zm9ybShDb25maWd1cmF0aW9uKSBvZgorQEAgLTIxNDUsMTcgKzIwMjcsMTEgQEAgc3Vi c2NyaWJlX25vZGUoSG9zdCwgTm9kZSwgRnJvbSwgSklELCBDb25maWd1cmF0aW9uKSAtPgorICUl PGxpPlRoZSBub2RlIGRvZXMgbm90IGV4aXN0LjwvbGk+CisgJSU8bGk+VGhlIHJlcXVlc3Qgc3Bl Y2lmaWVzIGEgc3Vic2NyaXB0aW9uIElEIHRoYXQgaXMgbm90IHZhbGlkIG9yIGN1cnJlbnQuPC9s aT4KKyAlJTwvdWw+CistLXNwZWModW5zdWJzY3JpYmVfbm9kZS81IDo6CistICAgICgKKy0JSG9z dCAgOjogbW9kX3B1YnN1Yjpob3N0KCksCistCU5vZGUgIDo6IG1vZF9wdWJzdWI6bm9kZUlkKCks CistCUZyb20gIDo6IGppZCgpLAorLQlKSUQgICA6OiBiaW5hcnkoKSB8IGxqaWQoKSwKKy0JU3Vi SWQgOjogbW9kX3B1YnN1YjpzdWJJZCgpKQorLSAgICAtPiB7cmVzdWx0LCBbXX0KKy0gICAgJSUl CistICAgIHwge2Vycm9yLCB4bWxlbCgpfQorLSAgICApLgorKy1zcGVjIHVuc3Vic2NyaWJlX25v ZGUoSG9zdCA6OiBtb2RfcHVic3ViOmhvc3QoKSwgTm9kZSA6OiBtb2RfcHVic3ViOm5vZGVJZCgp LAorKwkJICAgICAgIEZyb20gOjogamlkKCksIEpJRCA6OiBiaW5hcnkoKSB8IGxqaWQoKSwKKysJ CSAgICAgICBTdWJJZCA6OiBtb2RfcHVic3ViOnN1YklkKCkpIC0+CisrCQkJICAgICAge3Jlc3Vs dCwgW119IHwge2Vycm9yLCB4bWxlbCgpfS4KKysKKyB1bnN1YnNjcmliZV9ub2RlKEhvc3QsIE5v ZGUsIEZyb20sIEpJRCwgU3ViSWQpIHdoZW4gaXNfYmluYXJ5KEpJRCkgLT4KKyAgICAgdW5zdWJz Y3JpYmVfbm9kZShIb3N0LCBOb2RlLCBGcm9tLCBzdHJpbmdfdG9fbGppZChKSUQpLCBTdWJJZCk7 CisgdW5zdWJzY3JpYmVfbm9kZShIb3N0LCBOb2RlLCBGcm9tLCBTdWJzY3JpYmVyLCBTdWJJZCkg LT4KK0BAIC0yMTgzLDE4ICsyMDU5LDEyIEBAIHVuc3Vic2NyaWJlX25vZGUoSG9zdCwgTm9kZSwg RnJvbSwgU3Vic2NyaWJlciwgU3ViSWQpIC0+CisgJSU8bGk+VGhlIGl0ZW0gY29udGFpbnMgbW9y ZSB0aGFuIG9uZSBwYXlsb2FkIGVsZW1lbnQgb3IgdGhlIG5hbWVzcGFjZSBvZiB0aGUgcm9vdCBw YXlsb2FkIGVsZW1lbnQgZG9lcyBub3QgbWF0Y2ggdGhlIGNvbmZpZ3VyZWQgbmFtZXNwYWNlIGZv ciB0aGUgbm9kZS48L2xpPgorICUlPGxpPlRoZSByZXF1ZXN0IGRvZXMgbm90IG1hdGNoIHRoZSBu b2RlIGNvbmZpZ3VyYXRpb24uPC9saT4KKyAlJTwvdWw+CistLXNwZWMocHVibGlzaF9pdGVtLzYg OjoKKy0gICAgKAorLQlIb3N0ICAgICAgIDo6IG1vZF9wdWJzdWI6aG9zdCgpLAorLQlTZXJ2ZXJI b3N0IDo6IGJpbmFyeSgpLAorLQlOb2RlICAgICAgIDo6IG1vZF9wdWJzdWI6bm9kZUlkKCksCist CVB1Ymxpc2hlciAgOjogamlkKCksCistCUl0ZW1JZCAgICAgOjogPDw+PiB8IG1vZF9wdWJzdWI6 aXRlbUlkKCksCistCVBheWxvYWQgICAgOjogbW9kX3B1YnN1YjpwYXlsb2FkKCkpCistICAgIC0+ IHtyZXN1bHQsIFt4bWxlbCgpLC4uLl19CistICAgICUlJQorLSAgICB8IHtlcnJvciwgeG1sZWwo KX0KKy0gICAgKS4KKystc3BlYyBwdWJsaXNoX2l0ZW0oSG9zdCA6OiBtb2RfcHVic3ViOmhvc3Qo KSwgU2VydmVySG9zdCA6OiBiaW5hcnkoKSwKKysJCSAgIE5vZGUgOjogbW9kX3B1YnN1Yjpub2Rl SWQoKSwgUHVibGlzaGVyIDo6IGppZCgpLAorKwkJICAgSXRlbUlkIDo6IDw8Pj4gfCBtb2RfcHVi c3ViOml0ZW1JZCgpLAorKwkJICAgUGF5bG9hZCA6OiBtb2RfcHVic3ViOnBheWxvYWQoKSkgLT4K KysJCQkgIHtyZXN1bHQsIFt4bWxlbCgpLC4uLl19IHwge2Vycm9yLCB4bWxlbCgpfS4KKysKKyBw dWJsaXNoX2l0ZW0oSG9zdCwgU2VydmVySG9zdCwgTm9kZSwgUHVibGlzaGVyLCBJdGVtSWQsIFBh eWxvYWQpIC0+CisgICAgIHB1Ymxpc2hfaXRlbShIb3N0LCBTZXJ2ZXJIb3N0LCBOb2RlLCBQdWJs aXNoZXIsIEl0ZW1JZCwgUGF5bG9hZCwgW10sIGFsbCkuCisgcHVibGlzaF9pdGVtKEhvc3QsIFNl cnZlckhvc3QsIE5vZGUsIFB1Ymxpc2hlciwgPDw+PiwgUGF5bG9hZCwgUHViT3B0cywgQWNjZXNz KSAtPgorQEAgLTIzMTksMTYgKzIxODksMTAgQEAgcHVibGlzaF9pdGVtKEhvc3QsIFNlcnZlckhv c3QsIE5vZGUsIFB1Ymxpc2hlciwgSXRlbUlkLCBQYXlsb2FkLCBQdWJPcHRzLCBBY2Nlc3MKKyAl JTxsaT5UaGUgbm9kZSBkb2VzIG5vdCBzdXBwb3J0IHBlcnNpc3RlbnQgaXRlbXMuPC9saT4KKyAl JTxsaT5UaGUgc2VydmljZSBkb2VzIG5vdCBzdXBwb3J0IHRoZSBkZWxldGlvbiBvZiBpdGVtcy48 L2xpPgorICUlPC91bD4KKy0tc3BlYyhkZWxldGVfaXRlbS80IDo6CistICAgICgKKy0JSG9zdCAg ICAgIDo6IG1vZF9wdWJzdWI6aG9zdCgpLAorLQlOb2RlICAgICAgOjogbW9kX3B1YnN1Yjpub2Rl SWQoKSwKKy0JUHVibGlzaGVyIDo6IGppZCgpLAorLQlJdGVtSWQgICAgOjogbW9kX3B1YnN1Yjpp dGVtSWQoKSkKKy0gICAgLT4ge3Jlc3VsdCwgW119CistICAgICUlJQorLSAgICB8IHtlcnJvciwg eG1sZWwoKX0KKy0gICAgKS4KKystc3BlYyBkZWxldGVfaXRlbShIb3N0IDo6IG1vZF9wdWJzdWI6 aG9zdCgpLCBOb2RlIDo6IG1vZF9wdWJzdWI6bm9kZUlkKCksCisrCQkgIFB1Ymxpc2hlciA6OiBq aWQoKSwgSXRlbUlkIDo6IG1vZF9wdWJzdWI6aXRlbUlkKCkpIC0+CisrCQkJIHtyZXN1bHQsIFtd fSB8IHtlcnJvciwgeG1sZWwoKX0uCisrCisgZGVsZXRlX2l0ZW0oSG9zdCwgTm9kZSwgUHVibGlz aGVyLCBJdGVtSWQpIC0+CisgICAgIGRlbGV0ZV9pdGVtKEhvc3QsIE5vZGUsIFB1Ymxpc2hlciwg SXRlbUlkLCBmYWxzZSkuCisgZGVsZXRlX2l0ZW0oXywgPDw+PiwgXywgXywgXykgLT4KK0BAIC0y MzgzLDE1ICsyMjQ3LDEwIEBAIGRlbGV0ZV9pdGVtKEhvc3QsIE5vZGUsIFB1Ymxpc2hlciwgSXRl bUlkLCBGb3JjZU5vdGlmeSkgLT4KKyAlJTxsaT5UaGUgbm9kZSBpcyBub3QgY29uZmlndXJlZCB0 byBwZXJzaXN0IGl0ZW1zLjwvbGk+CisgJSU8bGk+VGhlIHNwZWNpZmllZCBub2RlIGRvZXMgbm90 IGV4aXN0LjwvbGk+CisgJSU8L3VsPgorLS1zcGVjKHB1cmdlX25vZGUvMyA6OgorLSAgICAoCist CUhvc3QgIDo6IG1vZF9wdWJzdWI6aG9zdCgpLAorLQlOb2RlICA6OiBtb2RfcHVic3ViOm5vZGVJ ZCgpLAorLQlPd25lciA6OiBqaWQoKSkKKy0gICAgLT4ge3Jlc3VsdCwgW119CistICAgICUlJQor LSAgICB8IHtlcnJvciwgeG1sZWwoKX0KKy0gICAgKS4KKystc3BlYyBwdXJnZV9ub2RlKEhvc3Qg OjogbW9kX3B1YnN1Yjpob3N0KCksIE5vZGUgOjogbW9kX3B1YnN1Yjpub2RlSWQoKSwKKysJCSBP d25lciA6OiBqaWQoKSkgLT4KKysJCQl7cmVzdWx0LCBbXX0gfCB7ZXJyb3IsIHhtbGVsKCl9Lgor KworIHB1cmdlX25vZGUoSG9zdCwgTm9kZSwgT3duZXIpIC0+CisgICAgIEFjdGlvbiA9IGZ1biAo I3B1YnN1Yl9ub2Rle29wdGlvbnMgPSBPcHRpb25zLCB0eXBlID0gVHlwZSwgaWQgPSBOaWR4fSkg LT4KKyAJICAgIEZlYXR1cmVzID0gcGx1Z2luX2ZlYXR1cmVzKEhvc3QsIFR5cGUpLAorQEAgLTI0 MzUsMTkgKzIyOTQsMTIgQEAgcHVyZ2Vfbm9kZShIb3N0LCBOb2RlLCBPd25lcikgLT4KKyAlJSA8 cD5UaGUgcGVybWlzc2lvbiBhcmUgbm90IGNoZWNrZWQgaW4gdGhpcyBmdW5jdGlvbi48L3A+Cisg JSUgQHRvZG8gV2UgcHJvYmFibHkgbmVlZCB0byBjaGVjayB0aGF0IHRoZSB1c2VyIGRvaW5nIHRo ZSBxdWVyeSBoYXMgdGhlIHJpZ2h0CisgJSUgdG8gcmVhZCB0aGUgaXRlbXMuCistLXNwZWMoZ2V0 X2l0ZW1zLzcgOjoKKy0gICAgKAorLQlIb3N0ICAgICAgOjogbW9kX3B1YnN1Yjpob3N0KCksCist CU5vZGUgICAgICA6OiBtb2RfcHVic3ViOm5vZGVJZCgpLAorLQlGcm9tICAgICAgOjogamlkKCks CistCVN1YklkICAgICA6OiBtb2RfcHVic3ViOnN1YklkKCksCistCVNNYXhJdGVtcyA6OiBiaW5h cnkoKSwKKy0JSXRlbUlkcyAgIDo6IFttb2RfcHVic3ViOml0ZW1JZCgpXSwKKy0JUnNtICAgICAg IDo6IG5vbmUgfCByc21faW4oKSkKKy0gICAgLT4ge3Jlc3VsdCwgW3htbGVsKCksLi4uXX0KKy0g ICAgJSUlCistICAgIHwge2Vycm9yLCB4bWxlbCgpfQorLSAgICApLgorKy1zcGVjIGdldF9pdGVt cyhIb3N0IDo6IG1vZF9wdWJzdWI6aG9zdCgpLCBOb2RlIDo6IG1vZF9wdWJzdWI6bm9kZUlkKCks CisrCQlGcm9tIDo6IGppZCgpLCBTdWJJZCA6OiBtb2RfcHVic3ViOnN1YklkKCksCisrCQlTTWF4 SXRlbXMgOjogYmluYXJ5KCksIEl0ZW1JZHMgOjogW21vZF9wdWJzdWI6aXRlbUlkKCldLAorKwkJ UnNtIDo6IG5vbmUgfCByc21faW4oKSkgLT4KKysJCSAgICAgICB7cmVzdWx0LCBbeG1sZWwoKSwu Li5dfSB8IHtlcnJvciwgeG1sZWwoKX0uCisrCisgZ2V0X2l0ZW1zKEhvc3QsIE5vZGUsIEZyb20s IFN1YklkLCBTTWF4SXRlbXMsIEl0ZW1JZHMsIFJTTSkgLT4KKyAgICAgTWF4SXRlbXMgPSBpZiBT TWF4SXRlbXMgPT0gPDw+PiAtPgorIAkgICAgY2FzZSBnZXRfbWF4X2l0ZW1zX25vZGUoSG9zdCkg b2YKK0BAIC0yNTExLDcgKzIzNjMsNyBAQCBnZXRfaXRlbXMoSG9zdCwgTm9kZSwgRnJvbSwgU3Vi SWQsIFNNYXhJdGVtcywgSXRlbUlkcywgUlNNKSAtPgorIAorIGdldF9pdGVtcyhIb3N0LCBOb2Rl KSAtPgorICAgICBBY3Rpb24gPSBmdW4gKCNwdWJzdWJfbm9kZXt0eXBlID0gVHlwZSwgaWQgPSBO aWR4fSkgLT4KKy0JICAgIG5vZGVfY2FsbChIb3N0LCBUeXBlLCBnZXRfaXRlbXMsIFtOaWR4LCBz ZXJ2aWNlX2ppZChIb3N0KSwgbm9uZV0pIAorKwkgICAgbm9kZV9jYWxsKEhvc3QsIFR5cGUsIGdl dF9pdGVtcywgW05pZHgsIHNlcnZpY2VfamlkKEhvc3QpLCBub25lXSkKKyAgICAgZW5kLAorICAg ICBjYXNlIHRyYW5zYWN0aW9uKEhvc3QsIE5vZGUsIEFjdGlvbiwgc3luY19kaXJ0eSkgb2YKKyAJ e3Jlc3VsdCwge18sIHtJdGVtcywgX319fSAtPiBJdGVtczsKK0BAIC0yNjEwLDE2ICsyNDYyLDEw IEBAIGRpc3BhdGNoX2l0ZW1zKEZyb20sIFRvLCBfTm9kZSwgU3RhbnphKSAtPgorICAgICBlamFi YmVyZF9yb3V0ZXI6cm91dGUoc2VydmljZV9qaWQoRnJvbSksIGppZDptYWtlKFRvKSwgU3Rhbnph KS4KKyAKKyAlJSBAZG9jIDxwPlJldHVybiB0aGUgbGlzdCBvZiBhZmZpbGlhdGlvbnMgYXMgYW4g WE1QUCByZXNwb25zZS48L3A+CistLXNwZWMoZ2V0X2FmZmlsaWF0aW9ucy80IDo6CistICAgICgK Ky0JSG9zdCAgICA6OiBtb2RfcHVic3ViOmhvc3QoKSwKKy0JTm9kZSAgICA6OiBtb2RfcHVic3Vi Om5vZGVJZCgpLAorLQlKSUQgICAgIDo6IGppZCgpLAorLQlQbHVnaW5zIDo6IFtiaW5hcnkoKV0p CistICAgIC0+IHtyZXN1bHQsIFt4bWxlbCgpLC4uLl19CistICAgICUlJQorLSAgICB8IHtlcnJv ciwgeG1sZWwoKX0KKy0gICAgKS4KKystc3BlYyBnZXRfYWZmaWxpYXRpb25zKEhvc3QgOjogbW9k X3B1YnN1Yjpob3N0KCksIE5vZGUgOjogbW9kX3B1YnN1Yjpub2RlSWQoKSwKKysJCSAgICAgICBK SUQgOjogamlkKCksIFBsdWdpbnMgOjogW2JpbmFyeSgpXSkgLT4KKysJCQkgICAgICB7cmVzdWx0 LCBbeG1sZWwoKSwuLi5dfSB8IHtlcnJvciwgeG1sZWwoKX0uCisrCisgZ2V0X2FmZmlsaWF0aW9u cyhIb3N0LCBOb2RlLCBKSUQsIFBsdWdpbnMpIHdoZW4gaXNfbGlzdChQbHVnaW5zKSAtPgorICAg ICBSZXN1bHQgPSBsaXN0czpmb2xkbCggZnVuIChUeXBlLCB7U3RhdHVzLCBBY2N9KSAtPgorIAkJ ICAgIEZlYXR1cmVzID0gcGx1Z2luX2ZlYXR1cmVzKEhvc3QsIFR5cGUpLAorQEAgLTI2NjMsMTUg KzI1MDksMTAgQEAgZ2V0X2FmZmlsaWF0aW9ucyhIb3N0LCBOb2RlLCBKSUQsIFBsdWdpbnMpIHdo ZW4gaXNfbGlzdChQbHVnaW5zKSAtPgorIAkgICAgRXJyb3IKKyAgICAgZW5kLgorIAorLS1zcGVj KGdldF9hZmZpbGlhdGlvbnMvMyA6OgorLSAgICAoCistCUhvc3QgOjogbW9kX3B1YnN1Yjpob3N0 KCksCistCU5vZGUgOjogbW9kX3B1YnN1Yjpub2RlSWQoKSwKKy0JSklEICA6OiBqaWQoKSkKKy0g ICAgLT4ge3Jlc3VsdCwgW3htbGVsKCksLi4uXX0KKy0gICAgJSUlCistICAgIHwge2Vycm9yLCB4 bWxlbCgpfQorLSAgICApLgorKy1zcGVjIGdldF9hZmZpbGlhdGlvbnMoSG9zdCA6OiBtb2RfcHVi c3ViOmhvc3QoKSwgTm9kZSA6OiBtb2RfcHVic3ViOm5vZGVJZCgpLAorKwkJICAgICAgIEpJRCA6 OiBqaWQoKSkgLT4KKysJCQkgICAgICB7cmVzdWx0LCBbeG1sZWwoKSwuLi5dfSB8IHtlcnJvciwg eG1sZWwoKX0uCisrCisgZ2V0X2FmZmlsaWF0aW9ucyhIb3N0LCBOb2RlLCBKSUQpIC0+CisgICAg IEFjdGlvbiA9IGZ1biAoI3B1YnN1Yl9ub2Rle3R5cGUgPSBUeXBlLCBpZCA9IE5pZHh9KSAtPgor IAkgICAgRmVhdHVyZXMgPSBwbHVnaW5fZmVhdHVyZXMoSG9zdCwgVHlwZSksCitAQCAtMjcwOCwx NiArMjU0OSwxMCBAQCBnZXRfYWZmaWxpYXRpb25zKEhvc3QsIE5vZGUsIEpJRCkgLT4KKyAJICAg IEVycm9yCisgICAgIGVuZC4KKyAKKy0tc3BlYyhzZXRfYWZmaWxpYXRpb25zLzQgOjoKKy0gICAg KAorLQlIb3N0ICAgICAgICA6OiBtb2RfcHVic3ViOmhvc3QoKSwKKy0JTm9kZSAgICAgICAgOjog bW9kX3B1YnN1Yjpub2RlSWQoKSwKKy0JRnJvbSAgICAgICAgOjogamlkKCksCistCUVudGl0aWVz RWxzIDo6IFt4bWxlbCgpXSkKKy0gICAgLT4ge3Jlc3VsdCwgW119CistICAgICUlJQorLSAgICB8 IHtlcnJvciwgeG1sZWwoKX0KKy0gICAgKS4KKystc3BlYyBzZXRfYWZmaWxpYXRpb25zKEhvc3Qg OjogbW9kX3B1YnN1Yjpob3N0KCksIE5vZGUgOjogbW9kX3B1YnN1Yjpub2RlSWQoKSwKKysJCSAg ICAgICBGcm9tIDo6IGppZCgpLCBFbnRpdGllc0VscyA6OiBbeG1sZWwoKV0pIC0+CisrCQkJICAg ICAge3Jlc3VsdCwgW119IHwge2Vycm9yLCB4bWxlbCgpfS4KKysKKyBzZXRfYWZmaWxpYXRpb25z KEhvc3QsIE5vZGUsIEZyb20sIEVudGl0aWVzRWxzKSAtPgorICAgICBPd25lciA9IGppZDp0b2xv d2VyKGppZDpyZW1vdmVfcmVzb3VyY2UoRnJvbSkpLAorICAgICBFbnRpdGllcyA9IGxpc3RzOmZv bGRsKGZ1bgorQEAgLTMxMTMsMTUgKzI5NDgsMTMgQEAgc2V0X3N1YnNjcmlwdGlvbnMoSG9zdCwg Tm9kZSwgRnJvbSwgRW50aXRpZXNFbHMpIC0+CisgCSAgICBlbmQKKyAgICAgZW5kLgorIAorLS1z cGVjKGdldF9wcmVzZW5jZV9hbmRfcm9zdGVyX3Blcm1pc3Npb25zLzUgOjoKKy0gICAgKAorLQlI b3N0ICAgICAgICAgIDo6IG1vZF9wdWJzdWI6aG9zdCgpLAorLQlGcm9tICAgICAgICAgIDo6IGxq aWQoKSwKKy0JT3duZXJzICAgICAgICA6OiBbbGppZCgpLC4uLl0sCistCUFjY2Vzc01vZGVsICAg OjogbW9kX3B1YnN1YjphY2Nlc3NNb2RlbCgpLAorLQlBbGxvd2VkR3JvdXBzIDo6IFtiaW5hcnko KV0pCistICAgIC0+IHtQcmVzZW5jZVN1YnNjcmlwdGlvbjo6Ym9vbGVhbigpLCBSb3N0ZXJHcm91 cDo6Ym9vbGVhbigpfQorLSAgICApLgorKy1zcGVjIGdldF9wcmVzZW5jZV9hbmRfcm9zdGVyX3Bl cm1pc3Npb25zKEhvc3QgOjogbW9kX3B1YnN1Yjpob3N0KCksCisrCQkJCQkgIEZyb20gOjogbGpp ZCgpLCBPd25lcnMgOjogW2xqaWQoKSwuLi5dLAorKwkJCQkJICBBY2Nlc3NNb2RlbCA6OiBtb2Rf cHVic3ViOmFjY2Vzc01vZGVsKCksCisrCQkJCQkgIEFsbG93ZWRHcm91cHMgOjogW2JpbmFyeSgp XSkgLT4KKysJCQkJCQkge1ByZXNlbmNlU3Vic2NyaXB0aW9uOjpib29sZWFuKCksCisrCQkJCQkJ ICBSb3N0ZXJHcm91cDo6Ym9vbGVhbigpfS4KKysKKyBnZXRfcHJlc2VuY2VfYW5kX3Jvc3Rlcl9w ZXJtaXNzaW9ucyhIb3N0LCBGcm9tLCBPd25lcnMsIEFjY2Vzc01vZGVsLCBBbGxvd2VkR3JvdXBz KSAtPgorICAgICBpZiAoQWNjZXNzTW9kZWwgPT0gcHJlc2VuY2UpIG9yIChBY2Nlc3NNb2RlbCA9 PSByb3N0ZXIpIC0+CisgCSAgICBjYXNlIEhvc3Qgb2YKK0BAIC0zMTc5LDExICszMDEyLDcgQEAg c3Vic2NyaXB0aW9uX3RvX3N0cmluZyhwZW5kaW5nKSAtPiA8PCJwZW5kaW5nIj4+OworIHN1YnNj cmlwdGlvbl90b19zdHJpbmcodW5jb25maWd1cmVkKSAtPiA8PCJ1bmNvbmZpZ3VyZWQiPj47Cisg c3Vic2NyaXB0aW9uX3RvX3N0cmluZyhfKSAtPiA8PCJub25lIj4+LgorIAorLS1zcGVjKHNlcnZp Y2VfamlkLzEgOjoKKy0gICAgKAorLQlIb3N0IDo6IG1vZF9wdWJzdWI6aG9zdCgpKQorLSAgICAt PiBqaWQoKQorLSAgICApLgorKy1zcGVjIHNlcnZpY2VfamlkKEhvc3QgOjogbW9kX3B1YnN1Yjpo b3N0KCkpIC0+IGppZCgpLgorIHNlcnZpY2VfamlkKCNqaWR7fSA9IEppZCkgLT4gSmlkOworIHNl cnZpY2VfamlkKHtVLCBTLCBSfSkgLT4gamlkOm1ha2UoVSwgUywgUik7Cisgc2VydmljZV9qaWQo SG9zdCkgLT4gamlkOm1ha2UoPDw+PiwgSG9zdCwgPDw+PikuCitAQCAtMzIxNywxMiArMzA0Niw3 IEBAIHN1Yl9vcHRpb25fY2FuX2RlbGl2ZXIoXywgXywge2RlbGl2ZXIsIGZhbHNlfSkgLT4gZmFs c2U7Cisgc3ViX29wdGlvbl9jYW5fZGVsaXZlcihfLCBfLCB7ZXhwaXJlLCBXaGVufSkgLT4gcDFf dGltZV9jb21wYXQ6dGltZXN0YW1wKCkgPCBXaGVuOworIHN1Yl9vcHRpb25fY2FuX2RlbGl2ZXIo XywgXywgXykgLT4gdHJ1ZS4KKyAKKy0tc3BlYyhwcmVzZW5jZV9jYW5fZGVsaXZlci8yIDo6Cist ICAgICgKKy0JRW50aXR5IDo6IGxqaWQoKSwKKy0JXyAgICAgIDo6IGJvb2xlYW4oKSkKKy0gICAg LT4gYm9vbGVhbigpCistICAgICkuCisrLXNwZWMgcHJlc2VuY2VfY2FuX2RlbGl2ZXIoRW50aXR5 IDo6IGxqaWQoKSwgXyA6OiBib29sZWFuKCkpIC0+IGJvb2xlYW4oKS4KKyBwcmVzZW5jZV9jYW5f ZGVsaXZlcihfLCBmYWxzZSkgLT4KKyAgICAgdHJ1ZTsKKyBwcmVzZW5jZV9jYW5fZGVsaXZlcih7 VXNlciwgU2VydmVyLCBSZXNvdXJjZX0sIHRydWUpIC0+CitAQCAtMzI0MywxMiArMzA2NywxMCBA QCBwcmVzZW5jZV9jYW5fZGVsaXZlcih7VXNlciwgU2VydmVyLCBSZXNvdXJjZX0sIHRydWUpIC0+ CisgCQlmYWxzZSwgU3MpCisgICAgIGVuZC4KKyAKKy0tc3BlYyhzdGF0ZV9jYW5fZGVsaXZlci8y IDo6CistICAgICgKKy0JRW50aXR5OjpsamlkKCksCistCVN1Yk9wdGlvbnMgOjogbW9kX3B1YnN1 YjpzdWJPcHRpb25zKCkgfCBbXSkKKy0gICAgLT4gW2xqaWQoKV0KKy0gICAgKS4KKystc3BlYyBz dGF0ZV9jYW5fZGVsaXZlcihFbnRpdHk6OmxqaWQoKSwKKysJCQlTdWJPcHRpb25zIDo6IG1vZF9w dWJzdWI6c3ViT3B0aW9ucygpIHwgW10pIC0+CisrCQkJICAgICAgIFtsamlkKCldLgorKworIHN0 YXRlX2Nhbl9kZWxpdmVyKHtVLCBTLCBSfSwgW10pIC0+IFt7VSwgUywgUn1dOworIHN0YXRlX2Nh bl9kZWxpdmVyKHtVLCBTLCBSfSwgU3ViT3B0aW9ucykgLT4KKyAgICAgY2FzZSBsaXN0czprZXlz ZWFyY2goc2hvd192YWx1ZXMsIDEsIFN1Yk9wdGlvbnMpIG9mCitAQCAtMzI2OCwxMyArMzA5MCwx MCBAQCBzdGF0ZV9jYW5fZGVsaXZlcih7VSwgUywgUn0sIFN1Yk9wdGlvbnMpIC0+CisgCQlbXSwg UmVzb3VyY2VzKQorICAgICBlbmQuCisgCistLXNwZWMoZ2V0X3Jlc291cmNlX3N0YXRlLzMgOjoK Ky0gICAgKAorLQlFbnRpdHkgICAgIDo6IGxqaWQoKSwKKy0JU2hvd1ZhbHVlcyA6OiBbYmluYXJ5 KCldLAorLQlKSURzICAgICAgIDo6IFtsamlkKCldKQorLSAgICAtPiBbbGppZCgpXQorLSAgICAp LgorKy1zcGVjIGdldF9yZXNvdXJjZV9zdGF0ZShFbnRpdHkgOjogbGppZCgpLCBTaG93VmFsdWVz IDo6IFtiaW5hcnkoKV0sCisrCQkJIEpJRHMgOjogW2xqaWQoKV0pIC0+CisrCQkJCVtsamlkKCld LgorKworIGdldF9yZXNvdXJjZV9zdGF0ZSh7VSwgUywgUn0sIFNob3dWYWx1ZXMsIEpJRHMpIC0+ CisgICAgIGNhc2UgZWphYmJlcmRfc206Z2V0X3Nlc3Npb25fcGlkKFUsIFMsIFIpIG9mCisgCW5v bmUgLT4KK0BAIC0zMjkzLDExICszMTEyLDggQEAgZ2V0X3Jlc291cmNlX3N0YXRlKHtVLCBTLCBS fSwgU2hvd1ZhbHVlcywgSklEcykgLT4KKyAJICAgIGVuZAorICAgICBlbmQuCisgCistLXNwZWMo cGF5bG9hZF94bWxlbGVtZW50cy8xIDo6CistICAgICgKKy0JUGF5bG9hZCA6OiBtb2RfcHVic3Vi OnBheWxvYWQoKSkKKy0gICAgLT4gQ291bnQgOjogbm9uX25lZ19pbnRlZ2VyKCkKKy0gICAgKS4K Kystc3BlYyBwYXlsb2FkX3htbGVsZW1lbnRzKFBheWxvYWQgOjogbW9kX3B1YnN1YjpwYXlsb2Fk KCkpIC0+CisrCQkJCSBDb3VudCA6OiBub25fbmVnX2ludGVnZXIoKS4KKyBwYXlsb2FkX3htbGVs ZW1lbnRzKFBheWxvYWQpIC0+CisgICAgIHBheWxvYWRfeG1sZWxlbWVudHMoUGF5bG9hZCwgMCku CisgCitAQCAtNDA0MCwxMiArMzg1Niw5IEBAIHVuc2V0X2NhY2hlZF9pdGVtKEhvc3QsIE5pZHgp IC0+CisgCV8gLT4gb2sKKyAgICAgZW5kLgorIAorLS1zcGVjKGdldF9jYWNoZWRfaXRlbS8yIDo6 CistICAgICgKKy0JSG9zdCAgICA6OiBtb2RfcHVic3ViOmhvc3QoKSwKKy0JTmlkeCA6OiBtb2Rf cHVic3ViOm5vZGVJZHgoKSkKKy0gICAgLT4gdW5kZWZpbmVkIHwgbW9kX3B1YnN1YjpwdWJzdWJJ dGVtKCkKKy0gICAgKS4KKystc3BlYyBnZXRfY2FjaGVkX2l0ZW0oSG9zdCA6OiBtb2RfcHVic3Vi Omhvc3QoKSwgTmlkeCA6OiBtb2RfcHVic3ViOm5vZGVJZHgoKSkgLT4KKysJCQkgICAgIHVuZGVm aW5lZCB8IG1vZF9wdWJzdWI6cHVic3ViSXRlbSgpLgorKworIGdldF9jYWNoZWRfaXRlbSh7Xywg U2VydmVySG9zdCwgX30sIE5pZHgpIC0+CisgICAgIGdldF9jYWNoZWRfaXRlbShTZXJ2ZXJIb3N0 LCBOaWR4KTsKKyBnZXRfY2FjaGVkX2l0ZW0oSG9zdCwgTmlkeCkgLT4KK0BAIC00MzQwLDcgKzQx NTMsNyBAQCBzdHJpbmdfdG9fbGppZChKSUQpIC0+CisgCSAgICBlbmQKKyAgICAgZW5kLgorIAor LS1zcGVjKHVuaXFpZC8wIDo6ICgpIC0+IG1vZF9wdWJzdWI6aXRlbUlkKCkpLgorKy1zcGVjIHVu aXFpZCgpIC0+IG1vZF9wdWJzdWI6aXRlbUlkKCkuCisgdW5pcWlkKCkgLT4KKyAgICAge1QxLCBU MiwgVDN9ID0gcDFfdGltZV9jb21wYXQ6dGltZXN0YW1wKCksCisgICAgIGlvbGlzdF90b19iaW5h cnkoaW9fbGliOmZ3cml0ZSgifi4xNkJ+LjE2Qn4uMTZCIiwgW1QxLCBUMiwgVDNdKSkuCitAQCAt NDM1NSwxMiArNDE2OCw3IEBAIGl0ZW1zRWxzKEl0ZW1zKSAtPgorICAgICBbI3htbGVse25hbWUg PSA8PCJpdGVtIj4+LCBhdHRycyA9IGl0ZW1BdHRyKEl0ZW1JZCksIGNoaWxkcmVuID0gUGF5bG9h ZH0KKyAJfHwgI3B1YnN1Yl9pdGVte2l0ZW1pZCA9IHtJdGVtSWQsIF99LCBwYXlsb2FkID0gUGF5 bG9hZH0gPC0gSXRlbXNdLgorIAorLS1zcGVjKGFkZF9tZXNzYWdlX3R5cGUvMiA6OgorLSAgICAo CistCU1lc3NhZ2UgOjogeG1sZWwoKSwKKy0JVHlwZSAgICA6OiBhdG9tKCkpCistICAgIC0+IHht bGVsKCkKKy0gICAgKS4KKystc3BlYyBhZGRfbWVzc2FnZV90eXBlKE1lc3NhZ2UgOjogeG1sZWwo KSwgVHlwZSA6OiBhdG9tKCkpIC0+IHhtbGVsKCkuCisgCisgYWRkX21lc3NhZ2VfdHlwZShNZXNz YWdlLCBub3JtYWwpIC0+IE1lc3NhZ2U7CisgYWRkX21lc3NhZ2VfdHlwZSgjeG1sZWx7bmFtZSA9 IDw8Im1lc3NhZ2UiPj4sIGF0dHJzID0gQXR0cnMsIGNoaWxkcmVuID0gRWxzfSwgVHlwZSkgLT4K K2RpZmYgLS1naXQgYS9zcmMvbm9kZV9mbGF0X3NxbC5lcmwgYi9zcmMvbm9kZV9mbGF0X3NxbC5l cmwKK2luZGV4IDY4MTE2Y2YuLjIwMzBiMTIgMTAwNjQ0CistLS0gYS9zcmMvbm9kZV9mbGF0X3Nx bC5lcmwKKysrKyBiL3NyYy9ub2RlX2ZsYXRfc3FsLmVybAorQEAgLTQwMiwxNyArNDAyLDEzIEBA IGdldF9lbnRpdHlfc3Vic2NyaXB0aW9ucyhIb3N0LCBPd25lcikgLT4KKyAgICAgZW5kLAorICAg ICB7cmVzdWx0LCBSZXBseX0uCisgCistLXNwZWMoZ2V0X2VudGl0eV9zdWJzY3JpcHRpb25zX2Zv cl9zZW5kX2xhc3QvMiA6OgorLSAgICAoCistCUhvc3QgOjogbW9kX3B1YnN1Yjpob3N0UHVic3Vi KCksCistCU93bmVyIDo6IGppZCgpKQorLSAgICAtPiB7cmVzdWx0LAorLSAgICBbe21vZF9wdWJz dWI6cHVic3ViTm9kZSgpLAorLSAgICBtb2RfcHVic3ViOnN1YnNjcmlwdGlvbigpLAorLSAgICBt b2RfcHVic3ViOnN1YklkKCksCistICAgIGxqaWQoKX1dCistICAgIH0KKy0gICAgKS4KKystc3Bl YyBnZXRfZW50aXR5X3N1YnNjcmlwdGlvbnNfZm9yX3NlbmRfbGFzdChIb3N0IDo6IG1vZF9wdWJz dWI6aG9zdFB1YnN1YigpLAorKwkJCQkJICAgICBPd25lciA6OiBqaWQoKSkgLT4KKysJCQkJCQkg ICAge3Jlc3VsdCwgW3ttb2RfcHVic3ViOnB1YnN1Yk5vZGUoKSwKKysJCQkJCQkJICAgICAgIG1v ZF9wdWJzdWI6c3Vic2NyaXB0aW9uKCksCisrCQkJCQkJCSAgICAgICBtb2RfcHVic3ViOnN1Yklk KCksCisrCQkJCQkJCSAgICAgICBsamlkKCl9XX0uCisrCisgZ2V0X2VudGl0eV9zdWJzY3JpcHRp b25zX2Zvcl9zZW5kX2xhc3QoSG9zdCwgT3duZXIpIC0+CisgICAgIFN1YktleSA9IGppZDp0b2xv d2VyKE93bmVyKSwKKyAgICAgR2VuS2V5ID0gamlkOnJlbW92ZV9yZXNvdXJjZShTdWJLZXkpLAor QEAgLTYxMSwxMSArNjA3LDkgQEAgZ2V0X3N0YXRlKE5pZHgsIEpJRCkgLT4KKyAgICAge1NKSUQs IF99ID0gU3RhdGUjcHVic3ViX3N0YXRlLnN0YXRlaWQsCisgICAgIFN0YXRlI3B1YnN1Yl9zdGF0 ZXtpdGVtcyA9IGl0ZW1pZHMoTmlkeCwgU0pJRCl9LgorIAorLS1zcGVjKGdldF9zdGF0ZV93aXRo b3V0X2l0ZW1pZHMvMiA6OgorLSAgICAoTmlkeCA6OiBtb2RfcHVic3ViOm5vZGVJZHgoKSwKKy0J S2V5IDo6IGxqaWQoKSkgLT4KKy0gICAgbW9kX3B1YnN1YjpwdWJzdWJTdGF0ZSgpCistICAgICku CisrLXNwZWMgZ2V0X3N0YXRlX3dpdGhvdXRfaXRlbWlkcyhOaWR4IDo6IG1vZF9wdWJzdWI6bm9k ZUlkeCgpLCBLZXkgOjogbGppZCgpKSAtPgorKwkJCQkgICAgICAgbW9kX3B1YnN1YjpwdWJzdWJT dGF0ZSgpLgorKworIGdldF9zdGF0ZV93aXRob3V0X2l0ZW1pZHMoTmlkeCwgSklEKSAtPgorICAg ICBKID0gZW5jb2RlX2ppZChKSUQpLAorICAgICBjYXNlIGNhdGNoCitAQCAtOTczLDE3ICs5Njcs MTEgQEAgdXBkYXRlX3N1YnNjcmlwdGlvbihOaWR4LCBKSUQsIFN1YnNjcmlwdGlvbikgLT4KKyAg ICAgICAgICItYWZmaWxpYXRpb249J24nIgorICAgICAgICBdKS4KKyAKKy0tc3BlYyhkZWNvZGVf amlkLzEgOjoKKy0gICAgKCAgIFNKSUQgOjogYmluYXJ5KCkpCistICAgIC0+IGxqaWQoKQorLSAg ICApLgorKy1zcGVjIGRlY29kZV9qaWQoU0pJRCA6OiBiaW5hcnkoKSkgLT4gbGppZCgpLgorIGRl Y29kZV9qaWQoU0pJRCkgLT4KKyAgICAgamlkOnRvbG93ZXIoamlkOmZyb21fc3RyaW5nKFNKSUQp KS4KKyAKKy0tc3BlYyhkZWNvZGVfYWZmaWxpYXRpb24vMSA6OgorLSAgICAoICAgQXJnIDo6IGJp bmFyeSgpKQorLSAgICAtPiBhdG9tKCkKKy0gICAgKS4KKystc3BlYyBkZWNvZGVfYWZmaWxpYXRp b24oQXJnIDo6IGJpbmFyeSgpKSAtPiBhdG9tKCkuCisgZGVjb2RlX2FmZmlsaWF0aW9uKDw8Im8i Pj4pIC0+IG93bmVyOworIGRlY29kZV9hZmZpbGlhdGlvbig8PCJwIj4+KSAtPiBwdWJsaXNoZXI7 CisgZGVjb2RlX2FmZmlsaWF0aW9uKDw8InUiPj4pIC0+IHB1Ymxpc2hfb25seTsKK0BAIC05OTEs MTkgKzk3OSwxMyBAQCBkZWNvZGVfYWZmaWxpYXRpb24oPDwibSI+PikgLT4gbWVtYmVyOworIGRl Y29kZV9hZmZpbGlhdGlvbig8PCJjIj4+KSAtPiBvdXRjYXN0OworIGRlY29kZV9hZmZpbGlhdGlv bihfKSAtPiBub25lLgorIAorLS1zcGVjKGRlY29kZV9zdWJzY3JpcHRpb24vMSA6OgorLSAgICAo ICAgQXJnIDo6IGJpbmFyeSgpKQorLSAgICAtPiBhdG9tKCkKKy0gICAgKS4KKystc3BlYyBkZWNv ZGVfc3Vic2NyaXB0aW9uKEFyZyA6OiBiaW5hcnkoKSkgLT4gYXRvbSgpLgorIGRlY29kZV9zdWJz Y3JpcHRpb24oPDwicyI+PikgLT4gc3Vic2NyaWJlZDsKKyBkZWNvZGVfc3Vic2NyaXB0aW9uKDw8 InAiPj4pIC0+IHBlbmRpbmc7CisgZGVjb2RlX3N1YnNjcmlwdGlvbig8PCJ1Ij4+KSAtPiB1bmNv bmZpZ3VyZWQ7CisgZGVjb2RlX3N1YnNjcmlwdGlvbihfKSAtPiBub25lLgorIAorLS1zcGVjKGRl Y29kZV9zdWJzY3JpcHRpb25zLzEgOjoKKy0gICAgKCAgIFN1YnNjcmlwdGlvbnMgOjogYmluYXJ5 KCkpCistICAgIC0+IFtdIHwgW3thdG9tKCksIGJpbmFyeSgpfSwuLi5dCistICAgICkuCisrLXNw ZWMgZGVjb2RlX3N1YnNjcmlwdGlvbnMoU3Vic2NyaXB0aW9ucyA6OiBiaW5hcnkoKSkgLT4gW10g fCBbe2F0b20oKSwgYmluYXJ5KCl9LC4uLl0uCisgZGVjb2RlX3N1YnNjcmlwdGlvbnMoU3Vic2Ny aXB0aW9ucykgLT4KKyAgICAgbGlzdHM6Zm9sZGwoZnVuIChTdWJzY3JpcHRpb24sIEFjYykgLT4K KyAJCWNhc2Ugc3RyOnRva2VucyhTdWJzY3JpcHRpb24sIDw8IjoiPj4pIG9mCitAQCAtMTAxMywz NiArOTk1LDI0IEBAIGRlY29kZV9zdWJzY3JpcHRpb25zKFN1YnNjcmlwdGlvbnMpIC0+CisgCWVu ZCwKKyAJW10sIHN0cjp0b2tlbnMoU3Vic2NyaXB0aW9ucywgPDwiLCI+PikpLgorIAorLS1zcGVj KGVuY29kZV9qaWQvMSA6OgorLSAgICAoICAgSklEIDo6IGxqaWQoKSkKKy0gICAgLT4gYmluYXJ5 KCkKKy0gICAgKS4KKystc3BlYyBlbmNvZGVfamlkKEpJRCA6OiBsamlkKCkpIC0+IGJpbmFyeSgp LgorIGVuY29kZV9qaWQoSklEKSAtPgorICAgICBqaWQ6dG9fc3RyaW5nKEpJRCkuCisgCistLXNw ZWMoZW5jb2RlX2ppZF9saWtlLzEgOjogKEpJRCA6OiBsamlkKCkpIC0+IGJpbmFyeSgpKS4KKyst c3BlYyBlbmNvZGVfamlkX2xpa2UoSklEIDo6IGxqaWQoKSkgLT4gYmluYXJ5KCkuCisgZW5jb2Rl X2ppZF9saWtlKEpJRCkgLT4KKyAgICAgZWphYmJlcmRfc3FsOmVzY2FwZV9saWtlX2FyZ19jaXJj dW1mbGV4KGppZDp0b19zdHJpbmcoSklEKSkuCisgCistLXNwZWMoZW5jb2RlX2hvc3QvMSA6Ogor LSAgICAoICAgSG9zdCA6OiBob3N0KCkpCistICAgIC0+IGJpbmFyeSgpCistICAgICkuCisrLXNw ZWMgZW5jb2RlX2hvc3QoSG9zdCA6OiBob3N0KCkpIC0+IGJpbmFyeSgpLgorIGVuY29kZV9ob3N0 KHtfVSwgX1MsIF9SfSA9IExKSUQpIC0+IGVuY29kZV9qaWQoTEpJRCk7CisgZW5jb2RlX2hvc3Qo SG9zdCkgLT4gSG9zdC4KKyAKKy0tc3BlYyhlbmNvZGVfaG9zdF9saWtlLzEgOjoKKy0gICAgKCAg IEhvc3QgOjogaG9zdCgpKQorLSAgICAtPiBiaW5hcnkoKQorLSAgICApLgorKy1zcGVjIGVuY29k ZV9ob3N0X2xpa2UoSG9zdCA6OiBob3N0KCkpIC0+IGJpbmFyeSgpLgorIGVuY29kZV9ob3N0X2xp a2Uoe19VLCBfUywgX1J9ID0gTEpJRCkgLT4gZWphYmJlcmRfc3FsOmVzY2FwZShlbmNvZGVfamlk X2xpa2UoTEpJRCkpOworIGVuY29kZV9ob3N0X2xpa2UoSG9zdCkgLT4KKyAgICAgZWphYmJlcmRf c3FsOmVzY2FwZShlamFiYmVyZF9zcWw6ZXNjYXBlX2xpa2VfYXJnX2NpcmN1bWZsZXgoSG9zdCkp LgorIAorLS1zcGVjKGVuY29kZV9hZmZpbGlhdGlvbi8xIDo6CistICAgICggICBBcmcgOjogYXRv bSgpKQorLSAgICAtPiBiaW5hcnkoKQorLSAgICApLgorKy1zcGVjIGVuY29kZV9hZmZpbGlhdGlv bihBcmcgOjogYXRvbSgpKSAtPiBiaW5hcnkoKS4KKyBlbmNvZGVfYWZmaWxpYXRpb24ob3duZXIp IC0+IDw8Im8iPj47CisgZW5jb2RlX2FmZmlsaWF0aW9uKHB1Ymxpc2hlcikgLT4gPDwicCI+PjsK KyBlbmNvZGVfYWZmaWxpYXRpb24ocHVibGlzaF9vbmx5KSAtPiA8PCJ1Ij4+OworQEAgLTEwNTAs MTkgKzEwMjAsMTMgQEAgZW5jb2RlX2FmZmlsaWF0aW9uKG1lbWJlcikgLT4gPDwibSI+PjsKKyBl bmNvZGVfYWZmaWxpYXRpb24ob3V0Y2FzdCkgLT4gPDwiYyI+PjsKKyBlbmNvZGVfYWZmaWxpYXRp b24oXykgLT4gPDwibiI+Pi4KKyAKKy0tc3BlYyhlbmNvZGVfc3Vic2NyaXB0aW9uLzEgOjoKKy0g ICAgKCAgIEFyZyA6OiBhdG9tKCkpCistICAgIC0+IGJpbmFyeSgpCistICAgICkuCisrLXNwZWMg ZW5jb2RlX3N1YnNjcmlwdGlvbihBcmcgOjogYXRvbSgpKSAtPiBiaW5hcnkoKS4KKyBlbmNvZGVf c3Vic2NyaXB0aW9uKHN1YnNjcmliZWQpIC0+IDw8InMiPj47CisgZW5jb2RlX3N1YnNjcmlwdGlv bihwZW5kaW5nKSAtPiA8PCJwIj4+OworIGVuY29kZV9zdWJzY3JpcHRpb24odW5jb25maWd1cmVk KSAtPiA8PCJ1Ij4+OworIGVuY29kZV9zdWJzY3JpcHRpb24oXykgLT4gPDwibiI+Pi4KKyAKKy0t c3BlYyhlbmNvZGVfc3Vic2NyaXB0aW9ucy8xIDo6CistICAgICggICBTdWJzY3JpcHRpb25zIDo6 IFtdIHwgW3thdG9tKCksIGJpbmFyeSgpfSwuLi5dKQorLSAgICAtPiBiaW5hcnkoKQorLSAgICAp LgorKy1zcGVjIGVuY29kZV9zdWJzY3JpcHRpb25zKFN1YnNjcmlwdGlvbnMgOjogW10gfCBbe2F0 b20oKSwgYmluYXJ5KCl9LC4uLl0pIC0+IGJpbmFyeSgpLgorIGVuY29kZV9zdWJzY3JpcHRpb25z KFN1YnNjcmlwdGlvbnMpIC0+CisgICAgIHN0cjpqb2luKFs8PChlbmNvZGVfc3Vic2NyaXB0aW9u KFMpKS9iaW5hcnksICI6IiwgU3ViSWQvYmluYXJ5Pj4KKyAJICAgIHx8IHtTLCBTdWJJZH0gPC0g U3Vic2NyaXB0aW9uc10sIDw8IiwiPj4pLgorZGlmZiAtLWdpdCBhL3NyYy9ub2RldHJlZV9kYWcu ZXJsIGIvc3JjL25vZGV0cmVlX2RhZy5lcmwKK2luZGV4IGExMDVkYjguLjM4N2Q5ODQgMTAwNjQ0 CistLS0gYS9zcmMvbm9kZXRyZWVfZGFnLmVybAorKysrIGIvc3JjL25vZGV0cmVlX2RhZy5lcmwK K0BAIC0xNjcsMTIgKzE2Nyw4IEBAIG9pZChLZXksIE5hbWUpIC0+IHtLZXksIE5hbWV9LgorIAor ICUlIEtleSAgICA9IGpsaWI6amlkKCkgfCBob3N0KCkKKyAlJSBOb2RlID0gc3RyaW5nKCkKKy0t c3BlYyhmaW5kX25vZGUvMiA6OgorLSAgICAoCistCUtleSA6OiBtb2RfcHVic3ViOmhvc3RQdWJz dWIoKSwKKy0JTm9kZSA6OiBtb2RfcHVic3ViOm5vZGVJZCgpKQorLSAgICAtPiBtb2RfcHVic3Vi OnB1YnN1Yk5vZGUoKSB8IGZhbHNlCistICAgICkuCisrLXNwZWMgZmluZF9ub2RlKEtleSA6OiBt b2RfcHVic3ViOmhvc3RQdWJzdWIoKSwgTm9kZSA6OiBtb2RfcHVic3ViOm5vZGVJZCgpKSAtPgor KwkJICAgICAgIG1vZF9wdWJzdWI6cHVic3ViTm9kZSgpIHwgZmFsc2UuCisgZmluZF9ub2RlKEtl eSwgTm9kZSkgLT4KKyAgICAgY2FzZSBtbmVzaWE6cmVhZChwdWJzdWJfbm9kZSwgb2lkKEtleSwg Tm9kZSksIHJlYWQpIG9mCisgCVtdIC0+IGZhbHNlOworQEAgLTE4OCwxNCArMTg0LDExIEBAIGZp bmRfb3B0KEtleSwgRGVmYXVsdCwgT3B0aW9ucykgLT4KKyAJXyAtPiBEZWZhdWx0CisgICAgIGVu ZC4KKyAKKy0tc3BlYyh0cmF2ZXJzYWxfaGVscGVyLzQgOjoKKy0gICAgKAorLQlQcmVkICAgIDo6 IGZ1bigpLAorLQkJICAgIFRyICAgICAgOjogZnVuKCksCistCQkJCUhvc3QgICAgOjogbW9kX3B1 YnN1Yjpob3N0UHVic3ViKCksCistCQkJCU5vZGVzIDo6IFttb2RfcHVic3ViOm5vZGVJZCgpLC4u Ll0pCistCQkJCS0+IFt7RGVwdGg6Om5vbl9uZWdfaW50ZWdlcigpLCBOb2Rlczo6W21vZF9wdWJz dWI6cHVic3ViTm9kZSgpLC4uLl19XQorLQkJCQkpLgorKy1zcGVjIHRyYXZlcnNhbF9oZWxwZXIo UHJlZCA6OiBmdW4oKSwgVHIgOjogZnVuKCksIEhvc3QgOjogbW9kX3B1YnN1Yjpob3N0UHVic3Vi KCksCisrCQkgICAgICAgTm9kZXMgOjogW21vZF9wdWJzdWI6bm9kZUlkKCksLi4uXSkgLT4KKysJ CQkgICAgICBbe0RlcHRoOjpub25fbmVnX2ludGVnZXIoKSwKKysJCQkJTm9kZXM6Olttb2RfcHVi c3ViOnB1YnN1Yk5vZGUoKSwuLi5dfV0uCisrCisgdHJhdmVyc2FsX2hlbHBlcihQcmVkLCBUciwg SG9zdCwgTm9kZXMpIC0+CisgICAgIHRyYXZlcnNhbF9oZWxwZXIoUHJlZCwgVHIsIDAsIEhvc3Qs IE5vZGVzLCBbXSkuCisgCitAQCAtMjIwLDE1ICsyMTMsMTAgQEAgcmVtb3ZlX2NvbmZpZ19wYXJl bnQoTm9kZSwgW3tjb2xsZWN0aW9uLCBQYXJlbnRzfSB8IFRdLCBBY2MpIC0+CisgcmVtb3ZlX2Nv bmZpZ19wYXJlbnQoTm9kZSwgW0ggfCBUXSwgQWNjKSAtPgorICAgICByZW1vdmVfY29uZmlnX3Bh cmVudChOb2RlLCBULCBbSCB8IEFjY10pLgorIAorLS1zcGVjKHZhbGlkYXRlX3BhcmVudGFnZS8z IDo6CistICAgICgKKy0JS2V5ICAgICAgICAgICAgOjogbW9kX3B1YnN1Yjpob3N0UHVic3ViKCks CistCU93bmVycyAgICAgICAgIDo6IFtsamlkKCksLi4uXSwKKy0JUGFyZW50X05vZGVzIDo6IFtt b2RfcHVic3ViOm5vZGVJZCgpXSkKKy0gICAgLT4gdHJ1ZQorLSAgICAlJSUKKy0gICAgfCB7ZXJy b3IsIHhtbGVsKCl9CistICAgICkuCisrLXNwZWMgdmFsaWRhdGVfcGFyZW50YWdlKEtleSA6OiBt b2RfcHVic3ViOmhvc3RQdWJzdWIoKSwgT3duZXJzIDo6IFtsamlkKCksLi4uXSwKKysJCQkgUGFy ZW50X05vZGVzIDo6IFttb2RfcHVic3ViOm5vZGVJZCgpXSkgLT4KKysJCQkJdHJ1ZSB8IHtlcnJv ciwgeG1sZWwoKX0uCisrCisgdmFsaWRhdGVfcGFyZW50YWdlKF9LZXksIF9Pd25lcnMsIFtdKSAt PgorICAgICB0cnVlOworIHZhbGlkYXRlX3BhcmVudGFnZShLZXksIE93bmVycywgW1tdIHwgVF0p IC0+CitkaWZmIC0tZ2l0IGEvc3JjL3B1YnN1Yl9zdWJzY3JpcHRpb24uZXJsIGIvc3JjL3B1YnN1 Yl9zdWJzY3JpcHRpb24uZXJsCitpbmRleCBmOTkwZjZlLi4zYWI1MDIxIDEwMDY0NAorLS0tIGEv c3JjL3B1YnN1Yl9zdWJzY3JpcHRpb24uZXJsCisrKysgYi9zcmMvcHVic3ViX3N1YnNjcmlwdGlv bi5lcmwKK0BAIC0xNTIsMTMgKzE1Miw5IEBAIGNyZWF0ZV90YWJsZSgpIC0+CisgCU90aGVyIC0+ IE90aGVyCisgICAgIGVuZC4KKyAKKy0tc3BlYyhhZGRfc3Vic2NyaXB0aW9uLzMgOjoKKy0gICAg KAorLQlfSklEICAgIDo6IGxqaWQoKSwKKy0JX05vZGVJZCA6OiBtb2RfcHVic3ViOm5vZGVJZHgo KSwKKy0JT3B0aW9ucyA6OiBbXSB8IG1vZF9wdWJzdWI6c3ViT3B0aW9ucygpKQorLSAgICAtPiBT dWJJZCA6OiBtb2RfcHVic3ViOnN1YklkKCkKKy0gICAgKS4KKystc3BlYyBhZGRfc3Vic2NyaXB0 aW9uKF9KSUQgOjogbGppZCgpLCBfTm9kZUlkIDo6IG1vZF9wdWJzdWI6bm9kZUlkeCgpLAorKwkJ ICAgICAgIE9wdGlvbnMgOjogW10gfCBtb2RfcHVic3ViOnN1Yk9wdGlvbnMoKSkgLT4KKysJCQkg ICAgICBTdWJJZCA6OiBtb2RfcHVic3ViOnN1YklkKCkuCisgCisgYWRkX3N1YnNjcmlwdGlvbihf SklELCBfTm9kZUlkLCBbXSkgLT4gbWFrZV9zdWJpZCgpOworIGFkZF9zdWJzY3JpcHRpb24oX0pJ RCwgX05vZGVJZCwgT3B0aW9ucykgLT4KK0BAIC0xNjYsMjUgKzE2MiwxMyBAQCBhZGRfc3Vic2Ny aXB0aW9uKF9KSUQsIF9Ob2RlSWQsIE9wdGlvbnMpIC0+CisgICAgIG1uZXNpYTp3cml0ZSgjcHVi c3ViX3N1YnNjcmlwdGlvbntzdWJpZCA9IFN1YklELCBvcHRpb25zID0gT3B0aW9uc30pLAorICAg ICBTdWJJRC4KKyAKKy0tc3BlYyhkZWxldGVfc3Vic2NyaXB0aW9uLzMgOjoKKy0gICAgKAorLQlf SklEICAgIDo6IF8sCistCV9Ob2RlSWQgOjogXywKKy0JU3ViSWQgICA6OiBtb2RfcHVic3ViOnN1 YklkKCkpCistICAgIC0+IG9rCistICAgICkuCisrLXNwZWMgZGVsZXRlX3N1YnNjcmlwdGlvbihf SklEIDo6IF8sIF9Ob2RlSWQgOjogXywgU3ViSWQgOjogbW9kX3B1YnN1YjpzdWJJZCgpKSAtPiBv ay4KKyAKKyBkZWxldGVfc3Vic2NyaXB0aW9uKF9KSUQsIF9Ob2RlSWQsIFN1YklEKSAtPgorICAg ICBtbmVzaWE6ZGVsZXRlKHtwdWJzdWJfc3Vic2NyaXB0aW9uLCBTdWJJRH0pLgorIAorLS1zcGVj KHJlYWRfc3Vic2NyaXB0aW9uLzMgOjoKKy0gICAgKAorLQlfSklEICAgIDo6IGxqaWQoKSwKKy0J X05vZGVJZCA6OiBfLAorLQlTdWJJRCAgIDo6IG1vZF9wdWJzdWI6c3ViSWQoKSkKKy0gICAgLT4g bW9kX3B1YnN1YjpwdWJzdWJTdWJzY3JpcHRpb24oKQorLSAgICB8IHtlcnJvciwgbm90Zm91bmR9 CistICAgICkuCisrLXNwZWMgcmVhZF9zdWJzY3JpcHRpb24oX0pJRCA6OiBsamlkKCksIF9Ob2Rl SWQgOjogXywgU3ViSUQgOjogbW9kX3B1YnN1YjpzdWJJZCgpKSAtPgorKwkJCSAgICAgICBtb2Rf cHVic3ViOnB1YnN1YlN1YnNjcmlwdGlvbigpIHwge2Vycm9yLCBub3Rmb3VuZH0uCisgCisgcmVh ZF9zdWJzY3JpcHRpb24oX0pJRCwgX05vZGVJZCwgU3ViSUQpIC0+CisgICAgIGNhc2UgbW5lc2lh OnJlYWQoe3B1YnN1Yl9zdWJzY3JpcHRpb24sIFN1YklEfSkgb2YKK0BAIC0xOTIsMTkgKzE3Niwx MyBAQCByZWFkX3N1YnNjcmlwdGlvbihfSklELCBfTm9kZUlkLCBTdWJJRCkgLT4KKyAJXyAtPiB7 ZXJyb3IsIG5vdGZvdW5kfQorICAgICBlbmQuCisgCistLXNwZWMod3JpdGVfc3Vic2NyaXB0aW9u LzQgOjoKKy0gICAgKAorLQlfSklEICAgIDo6IGxqaWQoKSwKKy0JX05vZGVJZCA6OiBfLAorLQlT dWJJRCAgIDo6IG1vZF9wdWJzdWI6c3ViSWQoKSwKKy0JT3B0aW9ucyA6OiBtb2RfcHVic3ViOnN1 Yk9wdGlvbnMoKSkKKy0gICAgLT4gb2sKKy0gICAgKS4KKystc3BlYyB3cml0ZV9zdWJzY3JpcHRp b24oX0pJRCA6OiBsamlkKCksIF9Ob2RlSWQgOjogXywgU3ViSUQgOjogbW9kX3B1YnN1YjpzdWJJ ZCgpLAorKwkJCSBPcHRpb25zIDo6IG1vZF9wdWJzdWI6c3ViT3B0aW9ucygpKSAtPiBvay4KKyAK KyB3cml0ZV9zdWJzY3JpcHRpb24oX0pJRCwgX05vZGVJZCwgU3ViSUQsIE9wdGlvbnMpIC0+Cisg ICAgIG1uZXNpYTp3cml0ZSgjcHVic3ViX3N1YnNjcmlwdGlvbntzdWJpZCA9IFN1YklELCBvcHRp b25zID0gT3B0aW9uc30pLgorIAorLS1zcGVjKG1ha2Vfc3ViaWQvMCA6OiAoKSAtPiBTdWJJZDo6 bW9kX3B1YnN1YjpzdWJJZCgpKS4KKystc3BlYyBtYWtlX3N1YmlkKCkgLT4gU3ViSWQ6Om1vZF9w dWJzdWI6c3ViSWQoKS4KKyBtYWtlX3N1YmlkKCkgLT4KKyAgICAge1QxLCBUMiwgVDN9ID0gcDFf dGltZV9jb21wYXQ6dGltZXN0YW1wKCksCisgICAgIGlvbGlzdF90b19iaW5hcnkoaW9fbGliOmZ3 cml0ZSgifi4xNkJ+LjE2Qn4uMTZCIiwgW1QxLCBUMiwgVDNdKSkuCitAQCAtMjcyLDEzICsyNTAs OCBAQCB4b3B0X3RvX2Jvb2woT3B0aW9uLCBfKSAtPgorICAgICBFcnJUeHQgPSBpb2xpc3RfdG9f YmluYXJ5KGlvX2xpYjpmb3JtYXQoVHh0LCBbT3B0aW9uXSkpLAorICAgICB7ZXJyb3IsID9FUlJU X05PVF9BQ0NFUFRBQkxFKD9NWUxBTkcsIEVyclR4dCl9LgorIAorLS1zcGVjKGdldF9vcHRpb25f eGZpZWxkLzMgOjoKKy0gICAgKAorLQlMYW5nIDo6IGJpbmFyeSgpLAorLQlLZXkgIDo6IGF0b20o KSwKKy0JT3B0aW9ucyA6OiBtb2RfcHVic3ViOnN1Yk9wdGlvbnMoKSkKKy0gICAgLT4geG1sZWwo KQorLSAgICApLgorKy1zcGVjIGdldF9vcHRpb25feGZpZWxkKExhbmcgOjogYmluYXJ5KCksIEtl eSA6OiBhdG9tKCksCisrCQkJT3B0aW9ucyA6OiBtb2RfcHVic3ViOnN1Yk9wdGlvbnMoKSkgLT4g eG1sZWwoKS4KKyAKKyAlJSBSZXR1cm4gYSBmaWVsZCBmb3IgYW4gWEZvcm0gZm9yIEtleSwgd2l0 aCBkYXRhIGZpbGxlZCBpbiwgaWYKKyAlJSBhcHBsaWNhYmxlLCBmcm9tIE9wdGlvbnMuCitkaWZm IC0tZ2l0IGEvc3JjL3B1YnN1Yl9zdWJzY3JpcHRpb25fc3FsLmVybCBiL3NyYy9wdWJzdWJfc3Vi c2NyaXB0aW9uX3NxbC5lcmwKK2luZGV4IDFmODJhYTAuLjZlNTk4MzIgMTAwNjQ0CistLS0gYS9z cmMvcHVic3ViX3N1YnNjcmlwdGlvbl9zcWwuZXJsCisrKysgYi9zcmMvcHVic3ViX3N1YnNjcmlw dGlvbl9zcWwuZXJsCitAQCAtNzMsNTQgKzczLDM0IEBACisgCisgaW5pdCgpIC0+IG9rID0gY3Jl YXRlX3RhYmxlKCkuCisgCistLXNwZWMoc3Vic2NyaWJlX25vZGUvMyA6OgorLSAgICAoCistCV9K SUQgICAgOjogXywKKy0JX05vZGVJZCA6OiBfLAorLQlPcHRpb25zIDo6IFtdIHwgbW9kX3B1YnN1 YjpzdWJPcHRpb25zKCkpCistICAgIC0+IHtyZXN1bHQsIG1vZF9wdWJzdWI6c3ViSWQoKX0KKy0g ICAgKS4KKystc3BlYyBzdWJzY3JpYmVfbm9kZShfSklEIDo6IF8sIF9Ob2RlSWQgOjogXywgT3B0 aW9ucyA6OiBbXSB8IG1vZF9wdWJzdWI6c3ViT3B0aW9ucygpKSAtPgorKwkJCSAgICB7cmVzdWx0 LCBtb2RfcHVic3ViOnN1YklkKCl9LgorKworIHN1YnNjcmliZV9ub2RlKF9KSUQsIF9Ob2RlSWQs IE9wdGlvbnMpIC0+CisgICAgIFN1YklEID0gbWFrZV9zdWJpZCgpLAorICAgICAoP0RCX01PRCk6 YWRkX3N1YnNjcmlwdGlvbigjcHVic3ViX3N1YnNjcmlwdGlvbntzdWJpZCA9IFN1YklELCBvcHRp b25zID0gT3B0aW9uc30pLAorICAgICB7cmVzdWx0LCBTdWJJRH0uCisgCistLXNwZWModW5zdWJz Y3JpYmVfbm9kZS8zIDo6CistICAgICgKKy0JX0pJRCA6OiBfLAorLQlfTm9kZUlkIDo6IF8sCist CVN1YklEIDo6IG1vZF9wdWJzdWI6c3ViSWQoKSkKKy0gICAgLT4ge3Jlc3VsdCwgbW9kX3B1YnN1 YjpzdWJzY3JpcHRpb24oKX0KKy0gICAgfCB7ZXJyb3IsIG5vdGZvdW5kfQorLSAgICApLgorKy1z cGVjIHVuc3Vic2NyaWJlX25vZGUoX0pJRCA6OiBfLCBfTm9kZUlkIDo6IF8sIFN1YklEIDo6IG1v ZF9wdWJzdWI6c3ViSWQoKSkgLT4KKysJCQkgICAgICB7cmVzdWx0LCBtb2RfcHVic3ViOnN1YnNj cmlwdGlvbigpfSB8IHtlcnJvciwgbm90Zm91bmR9LgorKworIHVuc3Vic2NyaWJlX25vZGUoX0pJ RCwgX05vZGVJZCwgU3ViSUQpIC0+CisgICAgIGNhc2UgKD9EQl9NT0QpOnJlYWRfc3Vic2NyaXB0 aW9uKFN1YklEKSBvZgorIAl7b2ssIFN1Yn0gLT4gKD9EQl9NT0QpOmRlbGV0ZV9zdWJzY3JpcHRp b24oU3ViSUQpLCB7cmVzdWx0LCBTdWJ9OworIAlub3Rmb3VuZCAtPiB7ZXJyb3IsIG5vdGZvdW5k fQorICAgICBlbmQuCisgCistLXNwZWMoZ2V0X3N1YnNjcmlwdGlvbi8zIDo6CistICAgICgKKy0J X0pJRCAgICA6OiBfLAorLQlfTm9kZUlkIDo6IF8sCistCVN1YklkICAgOjogbW9kX3B1YnN1Yjpz dWJJZCgpKQorLSAgICAtPiB7cmVzdWx0LCBtb2RfcHVic3ViOnN1YnNjcmlwdGlvbigpfQorLSAg ICB8IHtlcnJvciwgbm90Zm91bmR9CistICAgICkuCisrLXNwZWMgZ2V0X3N1YnNjcmlwdGlvbihf SklEIDo6IF8sIF9Ob2RlSWQgOjogXywgU3ViSWQgOjogbW9kX3B1YnN1YjpzdWJJZCgpKSAtPgor KwkJCSAgICAgIHtyZXN1bHQsIG1vZF9wdWJzdWI6c3Vic2NyaXB0aW9uKCl9IHwge2Vycm9yLCBu b3Rmb3VuZH0uCisrCisgZ2V0X3N1YnNjcmlwdGlvbihfSklELCBfTm9kZUlkLCBTdWJJRCkgLT4K KyAgICAgY2FzZSAoP0RCX01PRCk6cmVhZF9zdWJzY3JpcHRpb24oU3ViSUQpIG9mCisgCXtvaywg U3VifSAtPiB7cmVzdWx0LCBTdWJ9OworIAlub3Rmb3VuZCAtPiB7ZXJyb3IsIG5vdGZvdW5kfQor ICAgICBlbmQuCisgCistLXNwZWMoc2V0X3N1YnNjcmlwdGlvbi80IDo6CistICAgICgKKy0JX0pJ RCAgICA6OiBfLAorLQlfTm9kZUlkIDo6IF8sCistCVN1YklkICAgOjogbW9kX3B1YnN1YjpzdWJJ ZCgpLAorLQlPcHRpb25zIDo6IG1vZF9wdWJzdWI6c3ViT3B0aW9ucygpKQorLSAgICAtPiB7cmVz dWx0LCBva30KKy0gICAgKS4KKystc3BlYyBzZXRfc3Vic2NyaXB0aW9uKF9KSUQgOjogXywgX05v ZGVJZCA6OiBfLCBTdWJJZCA6OiBtb2RfcHVic3ViOnN1YklkKCksCisrCQkgICAgICAgT3B0aW9u cyA6OiBtb2RfcHVic3ViOnN1Yk9wdGlvbnMoKSkgLT4ge3Jlc3VsdCwgb2t9LgorIHNldF9zdWJz Y3JpcHRpb24oX0pJRCwgX05vZGVJZCwgU3ViSUQsIE9wdGlvbnMpIC0+CisgICAgIGNhc2UgKD9E Ql9NT0QpOnJlYWRfc3Vic2NyaXB0aW9uKFN1YklEKSBvZgorIAl7b2ssIF99IC0+CitAQCAtMTY3 LDcgKzE0Nyw3IEBAIHBhcnNlX29wdGlvbnNfeGZvcm0oWEZpZWxkcykgLT4KKyAlJT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CisgY3JlYXRlX3RhYmxlKCkgLT4gb2suCisgCistLXNwZWMobWFrZV9zdWJpZC8wIDo6ICgp IC0+IG1vZF9wdWJzdWI6c3ViSWQoKSkuCisrLXNwZWMgbWFrZV9zdWJpZCgpIC0+IG1vZF9wdWJz dWI6c3ViSWQoKS4KKyBtYWtlX3N1YmlkKCkgLT4KKyAgICAge1QxLCBUMiwgVDN9ID0gcDFfdGlt ZV9jb21wYXQ6dGltZXN0YW1wKCksCisgICAgIGlvbGlzdF90b19iaW5hcnkoaW9fbGliOmZ3cml0 ZSgifi4xNkJ+LjE2Qn4uMTZCIiwgW1QxLCBUMiwgVDNdKSkuCistLSAKKzIuOS4yCisKCmRpZmYg LS1naXQgYS9lamFiYmVyZC5zcGVjIGIvZWphYmJlcmQuc3BlYwppbmRleCBmOGY5N2Q0Li4zMjQx ZDQyIDEwMDY0NAotLS0gYS9lamFiYmVyZC5zcGVjCisrKyBiL2VqYWJiZXJkLnNwZWMKQEAgLTI4 LDYgKzI4LDkgQEAgU291cmNlMTM6ICAgICAgIGVqYWJiZXJkY3RsLnBvbGtpdC5ydWxlcwogCiAj IFVzZSBlamFiYmVyZCBhcyBhbiBleGFtcGxlIGZvciBQQU0gc2VydmljZSBuYW1lIChmZWRvcmEv ZXBlbC1zcGVjaWZpYykKIFBhdGNoMTogZWphYmJlcmQtMDAwMS1GaXgtUEFNLXNlcnZpY2UtZXhh bXBsZS1uYW1lLXRvLW1hdGNoLWFjdHVhbC1vbmUucGF0Y2gKKyMgVGhpcyBwYXRjaCBhbGxvd3Mg ZWphYmJlcmQgdG8gY29tcGlsZSBvbiBFcmxhbmcgMTksIGl0IHdhcyBiYWNrcG9ydGVkIGZyb20g dXBzdHJlYW0gY29tbWl0CisjIDA3Mzc5NThiNDViZTAxNWQ3MzQ3NjljZDliNmZhNWU3Y2UwMTQw OWYuCitQYXRjaDI6IGVqYWJiZXJkLTAwMDItRml4LWNvbXBpbGF0aW9uLWlzc3Vlcy1vbi1SMTku cGF0Y2gKICMgQlojIDQzOTU4MywgNDUyMzI2LCA0NTE1NTQsIDQ2NTE5NiwgNTAyMzYxIChmZWRv cmEvZXBlbC1zcGVjaWZpYykKICMgcmJhcmxvdzogaSdtIG5vdCBzdXJlIHdoYXQgdGhpcyBwYXRj aCBpcyBmb3IsIGJ1dCBpdCBkb2VzIG5vdCBhcHBseSBjbGVhbmx5CiAjUGF0Y2gzOiBlamFiYmVy ZC0wMDAzLUZlZG9yYS1zcGVjaWZpYy1jaGFuZ2VzLXRvLWVqYWJiZXJkY3RsLnBhdGNoCkBAIC0x MDgsNiArMTExLDcgQEAgV2luZG93cyBOVC8yMDAwL1hQKS4KICVzZXR1cCAtcQogCiAlcGF0Y2gx IC1wMSAtYiAucGFtX25hbWUKKyVwYXRjaDIgLXAxIC1iIC5maXhfcjE5CiAlcGF0Y2g2IC1wMSAt YiAudXNlX3BvbGtpdAogJXBhdGNoNyAtcDEgLWIgLnVzZV9iaW5kaXIKIApAQCAtMTIxLDcgKzEy NSw2IEBAIGF1dG9yZWNvbmYgLWl2ZgogbWtkaXIgZGVwcwogbWFrZSAtdCBkZXBzCiBtYWtlIHNy YyBSRUJBUj0lX19yZWJhcgotIyBtYWtlIGVkb2MKIAogCiAlaW5zdGFsbApAQCAtMjc3LDYgKzI4 MCw4IEBAIGZpKQogJWNoYW5nZWxvZwogKiBTYXQgSnVsIDMwIDIwMTYgUmFuZHkgQmFybG93IDxy YW5keUBlbGVjdHJvbnN3ZWF0c2hvcC5jb20+IC0gMTYuMDYuMS0xCiAtIFVwZGF0ZSB0byAxNi4w MS4xICgjMTM1MTE4NikuCistIEJhY2twb3J0IGNvbW1pdCAwNzM3OTU4YiB0byBidWlsZCBvbiBF cmxhbmcgMTkuCistIFJlbW92ZSBjb21tZW50ZWQgbWFrZSBlZG9jLCBzaW5jZSB1cHN0cmVhbSBu byBsb25nZXIgc2hpcHMgZG9jcyBpbiB0aGlzIHNvdXJjZS4KIAogKiBXZWQgSnVsIDA2IDIwMTYg SmVyZW15IENsaW5lIDxqZXJlbXlAamNsaW5lLm9yZz4gLSAxNi4wNi0xCiAtIFVwZGF0ZSB0byAx Ni4wNiAoIzEzNTExODYpCg==