From: Tor Didriksen Date: January 18 2012 2:42pm Subject: bzr push into mysql-trunk branch (tor.didriksen:3523 to 3527) Bug#13580775 List-Archive: http://lists.mysql.com/commits/142474 X-Bug: 13580775 Message-Id: <201201181442.q0IEglcj017980@acsmt357.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM1MjcgVG9yIERpZHJpa3NlbgkyMDEyLTAxLTE4CiAgICAgIEJ1ZyMxMzU4MDc3NSByZXZpZXcg Y29tbWVudHMKCiAgICBtb2RpZmllZDoKICAgICAgc3FsL2ZpbGVzb3J0LmNjCiAgICAgIHNxbC9m aWxlc29ydF91dGlscy5oCiAgICAgIHNxbC90YWJsZS5oCiAgICAgIHVuaXR0ZXN0L2d1bml0L2Zp bGVzb3J0X2J1ZmZlci10LmNjCiAzNTI2IFRvciBEaWRyaWtzZW4JMjAxMi0wMS0xOCBbbWVyZ2Vd CiAgICAgIG1lcmdlIHRydW5rID0+IG9wdC1iYWNrcG9ydGluZwoKICAgIG1vZGlmaWVkOgogICAg ICBteXNxbC10ZXN0L2V4dHJhL3JwbF90ZXN0cy9ycGxfc3RhcnRfc3RvcF9zbGF2ZS50ZXN0CiAg ICAgIG15c3FsLXRlc3Qvci9wYXJ0aXRpb24ucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUv cnBsL3IvcnBsX2xvZ19wb3MucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBs X21hbnVhbF9jaGFuZ2VfaW5kZXhfZmlsZS5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9y cGwvci9ycGxfcGFja2V0LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9z dG1fc3RhcnRfc3RvcF9zbGF2ZS5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9ycGwvdC9y cGxfc3RtX3N0YXJ0X3N0b3Bfc2xhdmUudGVzdAogICAgICBteXNxbC10ZXN0L3QvcGFydGl0aW9u LnRlc3QKICAgICAgc3FsL2ZpbGVzb3J0LmNjCiAgICAgIHNxbC9maWxlc29ydF91dGlscy5oCiAg ICAgIHNxbC9ycGxfbWFzdGVyLmNjCiAgICAgIHNxbC9zaGFyZS9lcnJtc2ctdXRmOC50eHQKICAg ICAgc3FsL3NxbF90YWJsZS5jYwogICAgICBzcWwvdGFibGUuaAogICAgICB1bml0dGVzdC9ndW5p dC9maWxlc29ydF9idWZmZXItdC5jYwogMzUyNSBUb3IgRGlkcmlrc2VuCTIwMTItMDEtMTggW21l cmdlXQogICAgICBOVUxMIG1lcmdlIHRydW5rID0+IG9wdC1iYWNrcG9ydGluZwoKIDM1MjQgVG9y IERpZHJpa3NlbgkyMDEyLTAxLTE4IFttZXJnZV0KICAgICAgbWVyZ2UgdHJ1bmsgPT4gb3B0LWJh Y2twb3J0aW5nCgogICAgYWRkZWQ6CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9p bm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Z19iYXNpYy5yZXN1bHQKICAgICAgbXlzcWwtdGVz dC9zdWl0ZS9zeXNfdmFycy9yL2lubm9kYl9kb3VibGV3cml0ZV9iYXRjaF9zaXplX2Jhc2ljLnJl c3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3IvaW5ub2RiX3BhZ2VfaGFzaF9s b2Nrc19iYXNpYy5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy9yL2lubm9k Yl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnX2Jhc2ljLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1 aXRlL3N5c192YXJzL3QvaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWdfYmFzaWMudGVzdAog ICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvaW5ub2RiX2RvdWJsZXdyaXRlX2JhdGNo X3NpemVfYmFzaWMudGVzdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvaW5ub2Ri X3BhZ2VfaGFzaF9sb2Nrc19iYXNpYy50ZXN0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvc3lzX3Zh cnMvdC9pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Z19iYXNpYy50ZXN0CiAgICBtb2RpZmll ZDoKICAgICAgQ01ha2VMaXN0cy50eHQKICAgICAgaW5jbHVkZS9teV9nbG9iYWwuaAogICAgICBt eXNxbC10ZXN0L2V4dHJhL3JwbF90ZXN0cy9ycGxfZXh0cmFfY29sX21hc3Rlci50ZXN0CiAgICAg IG15c3FsLXRlc3Qvci9jdHlwZV9tYW55LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvZnVuY190 aW1lLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvdXNlcl92YXIucmVzdWx0CiAgICAgIG15c3Fs LXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lzX2NvbHVtbnNfbXlzcWwucmVzdWx0CiAgICAgIG15c3Fs LXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lzX2NvbHVtbnNfbXlzcWxfZW1iZWRkZWQucmVzdWx0CiAg ICAgIG15c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lzX3RhYmxlc19teXNxbC5yZXN1bHQKICAg ICAgbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvaXNfdGFibGVzX215c3FsX2VtYmVkZGVkLnJl c3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3IvYWxsX3ZhcnMucmVzdWx0CiAg ICAgIG15c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9jaGFyYWN0ZXJfc2V0c19kaXJfYmFzaWMu cmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9wbHVnaW5fZGlyX2Jhc2lj LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvYWxsX3ZhcnMudGVzdAog ICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvY2hhcmFjdGVyX3NldHNfZGlyX2Jhc2lj LnRlc3QKICAgICAgbXlzcWwtdGVzdC90L2N0eXBlX21hbnkudGVzdAogICAgICBteXNxbC10ZXN0 L3QvZnVuY190aW1lLnRlc3QKICAgICAgbXlzcWwtdGVzdC90L3VzZXJfdmFyLnRlc3QKICAgICAg c2NyaXB0cy9teXNxbF9zeXN0ZW1fdGFibGVzLnNxbAogICAgICBzY3JpcHRzL215c3FsZF9zYWZl LnNoCiAgICAgIHNjcmlwdHMvbXlzcWxob3Rjb3B5LnNoCiAgICAgIHNxbC9pdGVtLmNjCiAgICAg IHNxbC9pdGVtX2NtcGZ1bmMuY2MKICAgICAgc3FsL2l0ZW1fY21wZnVuYy5oCiAgICAgIHNxbC9p dGVtX2Z1bmMuaAogICAgICBzcWwvbXlzcWxkLmNjCiAgICAgIHNxbC9zcWxfZXhlY3V0b3IuY2MK ICAgICAgc3FsL3NxbF9vcHRpbWl6ZXIuY2MKICAgICAgc3FsL3NxbF9wbHVnaW4uY2MKICAgICAg c3FsL3NxbF91ZGYuY2MKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9idWYvYnVmMGJ1Zi5jYwogICAg ICBzdG9yYWdlL2lubm9iYXNlL2RpY3QvZGljdDBzdGF0cy5jYwogICAgICBzdG9yYWdlL2lubm9i YXNlL2lidWYvaWJ1ZjBpYnVmLmNjCiAzNTIzIEd1aWxoZW0gQmljaG90CTIwMTItMDEtMTcKICAg ICAgQWRkaXRpb25hbCBmaXggZm9yCiAgICAgIEJ1ZyAjMTM1OTExMzggCUFTU0VSVElPTiBOQU1F ICYmICFJU19BVVRPR0VORVJBVEVEX05BTUUgSU4gSVRFTTo6UFJJTlRfRk9SX09SREVSIE9OIEVY UExBSU4gRVhUCiAgICAgIHRoaXMgdGltZSB0aGUgYnVnIHdhcyBpbiBzdWJxdWVyaWVzLgogICAg IEAgc3FsL2l0ZW1fc3Vic2VsZWN0LmNjCiAgICAgICAgUXVlcnkgaXM6CiAgICAgICAgIEVYUExB SU4gRVhURU5ERUQgU0VMRUNUIChTRUxFQ1QgMTUwKSBBUyBmaWVsZDUKICAgICAgICAgRlJPTSAo U0VMRUNUICogRlJPTSB0MSkgQVMgYWxpYXMxCiAgICAgICAgIEdST1VQIEJZIGZpZWxkNS4KICAg ICAgICAnMTUwJyAoSXRlbV9pbnQpIGhhcyBubyBhbGlhczsKICAgICAgICB0aGUgc3VicXVlcnkg aXRlbSAnKFNFTEVDVCAxNTApJyBpcyBnaXZlbiBhbiBhbGlhcyAoZmllbGQ1KSB3aXRoICdBUycu CiAgICAgICAgSW4gSXRlbV9zaW5nbGVyb3dfc3Vic2VsZWN0OjpzZWxlY3RfdHJhbnNmb3JtZXIo Sk9JTiAqam9pbiksCiAgICAgICAgd2UgcmVwbGFjZSAnKFNFTEVDVCAxNTApJyB3aXRoICcxNTAn IChhbiBvcHRpbWl6YXRpb24pOyB3ZSBnaXZlCiAgICAgICAgJzE1MCcgdGhlIGFsaWFzIG9mICco U0VMRUNUIDE1MCknCiAgICAgICAgKHNlZSAnc3Vic3RpdHV0aW9uLT5uYW1lPSBuYW1lJyBpbiB0 aGUgZGlmZiksIGJ1dAogICAgICAgIHdlIGZvcmdldCB0byB0cmFuc2ZlciB0aGUgJ2lzX2F1dG9n ZW5lcmF0ZWRfbmFtZScgcHJvcGVydHk7CiAgICAgICAgdGhlIGVuZCByZXN1bHQgaXMgdGhhdCAn MTUwJyBoYXMgbmFtZSAnZmllbGQxJwogICAgICAgIGJ1dCB0aGlzIG5hbWUgaXMgc2FpZCB0byBi ZSBhdXRvLWdlbmVyYXRlZC4gV2hpY2ggaXMgd3JvbmcuCiAgICAgICAgRml4OiB0cmFuc2ZlciBp c19hdXRvZ2VuZXJhdGVkX25hbWUuCgogICAgbW9kaWZpZWQ6CiAgICAgIG15c3FsLXRlc3Qvci9n cm91cF9ieS5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC90L2dyb3VwX2J5LnRlc3QKICAgICAgc3Fs L2l0ZW1fc3Vic2VsZWN0LmNjCj09PSBtb2RpZmllZCBmaWxlICdDTWFrZUxpc3RzLnR4dCcKLS0t IGEvQ01ha2VMaXN0cy50eHQJMjAxMS0wOS0wNiAwMzoxMzo0NCArMDAwMAorKysgYi9DTWFrZUxp c3RzLnR4dAkyMDEyLTAxLTE2IDExOjQxOjU0ICswMDAwCkBAIC03OSw4ICs3OSwxOSBAQCBFTFNF SUYoTk9UIEhBVkVfQ01BS0VfQlVJTERfVFlQRSBPUiBPTERfCiAgIFNFVChPTERfV0lUSF9ERUJV RyAwIENBQ0hFIElOVEVSTkFMICIiIEZPUkNFKQogRU5ESUYoKQogCisjIE9wdGlvbmFsbHkgc2V0 IHByb2plY3QgbmFtZSwgZS5nLgorIyBmb28ueGNvZGVwcm9qIChtYWMpIG9yIGZvby5zbG4gKHdp bmRvd3MpCitTRVQoTVlTUUxfUFJPSkVDVF9OQU1FX0RPQ1NUUklORyAiTXlTUUwgcHJvamVjdCBu YW1lIikKK0lGKERFRklORUQgTVlTUUxfUFJPSkVDVF9OQU1FKQorICBTRVQoTVlTUUxfUFJPSkVD VF9OQU1FICR7TVlTUUxfUFJPSkVDVF9OQU1FfSBDQUNIRSBTVFJJTkcKKyAgICAgICR7TVlTUUxf UFJPSkVDVF9OQU1FX0RPQ1NUUklOR30gRk9SQ0UpCitFTFNFKCkKKyAgU0VUKE1ZU1FMX1BST0pF Q1RfTkFNRSAiTXlTUUwiIENBQ0hFIFNUUklORworICAgICAgJHtNWVNRTF9QUk9KRUNUX05BTUVf RE9DU1RSSU5HfSBGT1JDRSkKKyAgTUFSS19BU19BRFZBTkNFRChNWVNRTF9QUk9KRUNUX05BTUUp CitFTkRJRigpCitQUk9KRUNUKCR7TVlTUUxfUFJPSkVDVF9OQU1FfSkKIAotUFJPSkVDVChNeVNR TCkKIElGKEJVSUxEX0NPTkZJRykKICAgSU5DTFVERSgKICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9j bWFrZS9idWlsZF9jb25maWd1cmF0aW9ucy8ke0JVSUxEX0NPTkZJR30uY21ha2UpCgo9PT0gbW9k aWZpZWQgZmlsZSAnaW5jbHVkZS9teV9nbG9iYWwuaCcKLS0tIGEvaW5jbHVkZS9teV9nbG9iYWwu aAkyMDEyLTAxLTExIDA5OjMzOjUyICswMDAwCisrKyBiL2luY2x1ZGUvbXlfZ2xvYmFsLmgJMjAx Mi0wMS0xNyAwOTozOTo1NCArMDAwMApAQCAtMTA1OCwxMSArMTA1OCwzMSBAQCB0eXBlZGVmIGNo YXIJCW15X2Jvb2w7IC8qIFNtYWxsIGJvb2wgKi8KIAogI2lmbmRlZiBIQVZFX0RMRVJST1IKICNp ZmRlZiBfV0lOMzIKKyNkZWZpbmUgRExFUlJPUl9HRU5FUkFURShlcnJtc2csIGVycm9yX251bWJl cikgXAorICBjaGFyIHdpbl9lcnJvcm1zZ1syMDQ4XTsgXAorICBpZihGb3JtYXRNZXNzYWdlKEZP Uk1BVF9NRVNTQUdFX0ZST01fU1lTVEVNLCBcCisgICAgICAgICAgICAgICAgICAgMCwgZXJyb3Jf bnVtYmVyLCAwLCB3aW5fZXJyb3Jtc2csIDIwNDgsIE5VTEwpKSBcCisgIHsgXAorICAgIGNoYXIg KnB0cjsgXAorICAgIGZvciAocHRyPSAmd2luX2Vycm9ybXNnWzBdICsgc3RybGVuKHdpbl9lcnJv cm1zZykgLSAxOyBcCisgICAgICAgICBwdHIgPj0gJndpbl9lcnJvcm1zZ1swXSAmJiBzdHJjaHIo IlxyXG5cdFwweDIwIiwgKnB0cik7IFwKKyAgICAgICAgIHB0ci0tKSBcCisgICAgICAqcHRyPSAw OyBcCisgICAgZXJybXNnPSB3aW5fZXJyb3Jtc2c7IFwKKyAgfSBcCisgIGVsc2UgXAorICAgIGVy cm1zZz0gIiIKICNkZWZpbmUgZGxlcnJvcigpICIiCi0jZWxzZQorI2RlZmluZSBkbG9wZW5fZXJy bm8gR2V0TGFzdEVycm9yKCkKKyNlbHNlIC8qIF9XSU4zMiAqLwogI2RlZmluZSBkbGVycm9yKCkg Ik5vIHN1cHBvcnQgZm9yIGR5bmFtaWMgbG9hZGluZyAoc3RhdGljIGJ1aWxkPykiCi0jZW5kaWYK LSNlbmRpZgorI2RlZmluZSBETEVSUk9SX0dFTkVSQVRFKGVycm1zZywgZXJyb3JfbnVtYmVyKSBl cnJtc2c9IGRsZXJyb3IoKQorI2RlZmluZSBkbG9wZW5fZXJybm8gZXJybm8KKyNlbmRpZiAvKiBf V0lOMzIgKi8KKyNlbHNlIC8qIEhBVkVfRExFUlJPUiAqLworI2RlZmluZSBETEVSUk9SX0dFTkVS QVRFKGVycm1zZywgZXJyb3JfbnVtYmVyKSBlcnJtc2c9IGRsZXJyb3IoKQorI2RlZmluZSBkbG9w ZW5fZXJybm8gZXJybm8KKyNlbmRpZiAvKiBIQVZFX0RMRVJST1IgKi8KIAogCiAvKgoKPT09IG1v ZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvZXh0cmEvcnBsX3Rlc3RzL3JwbF9leHRyYV9jb2xfbWFz dGVyLnRlc3QnCi0tLSBhL215c3FsLXRlc3QvZXh0cmEvcnBsX3Rlc3RzL3JwbF9leHRyYV9jb2xf bWFzdGVyLnRlc3QJMjAxMS0wOC0xOSAxMzowNDoyOCArMDAwMAorKysgYi9teXNxbC10ZXN0L2V4 dHJhL3JwbF90ZXN0cy9ycGxfZXh0cmFfY29sX21hc3Rlci50ZXN0CTIwMTItMDEtMTYgMTA6MTU6 MzYgKzAwMDAKQEAgLTU5LDYgKzU5LDggQEAKICNWQVJDSEFSKE0pICAgIAogIwogCistLWxldCAk X3NhdmVkX2Nvbm49ICRDVVJSRU5UX0NPTk5FQ1RJT04KKwogbGV0ICRiaW5mb3JtYXQgPSBgU0hP VyBWQVJJQUJMRVMgTElLRSAnJWJpbmxvZ19mb3JtYXQlJ2A7CiAtLWVjaG8KIC0tZWNobyAqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpA QCAtMTA1NiwzICsxMDU4LDUgQEAgU0VMRUNUICogRlJPTSB0MTsgCiAtLSBjb25uZWN0aW9uIG1h c3RlcgogRFJPUCBUQUJMRSB0MTsgCiAtLSBzeW5jX3NsYXZlX3dpdGhfbWFzdGVyCisKKy0tY29u bmVjdGlvbiAkX3NhdmVkX2Nvbm4KCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L2V4dHJh L3JwbF90ZXN0cy9ycGxfc3RhcnRfc3RvcF9zbGF2ZS50ZXN0JwotLS0gYS9teXNxbC10ZXN0L2V4 dHJhL3JwbF90ZXN0cy9ycGxfc3RhcnRfc3RvcF9zbGF2ZS50ZXN0CTIwMTAtMTItMTkgMTc6MjI6 MzAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9leHRyYS9ycGxfdGVzdHMvcnBsX3N0YXJ0X3N0b3Bf c2xhdmUudGVzdAkyMDEyLTAxLTE3IDIyOjMyOjI5ICswMDAwCkBAIC0xNzcsMyArMTc3LDM2IEBA IFVOTE9DSyBUQUJMRVM7CiAtLWNvbm5lY3Rpb24gbWFzdGVyCiBEUk9QIFRBQkxFIHQxOwogc3lu Y19zbGF2ZV93aXRoX21hc3RlcjsKKworIworIyBidWcjMzU5Mzg2OS02NDAzNSB1bmluaXRpYWxp emVkIGV2ZW50X2Nvb3JkaW5hdGVzIGluc3RhbmNlIGNyYXNoZXMgc2VydmVyCisjIFRlc3Rpbmcg aG93IG91dCBvZiB2YWxpZCByYW5nZSBwb3NpdGlvbiB2YWx1ZSBpcyBoYW5kbGVkIHdpdGggYW4g ZXJyb3IuCisjCisKKy0tY29ubmVjdGlvbiBtYXN0ZXIKK1JFU0VUIE1BU1RFUjsKK2xldCAkbWFz dGVyX3Bvcz0gcXVlcnlfZ2V0X3ZhbHVlKFNIT1cgTUFTVEVSIFNUQVRVUywgUG9zaXRpb24sIDEp OworbGV0ICRtYXN0ZXJfcG9zPSBgU0VMRUNUICRtYXN0ZXJfcG9zICsgMWA7CisKKy0tY29ubmVj dGlvbiBzbGF2ZQorLS1zb3VyY2UgaW5jbHVkZS9zdG9wX3NsYXZlLmluYworLS1yZXBsYWNlX3Jl Z2V4IC9bMC05XSsvTUFTVEVSX1BPUy8KK2V2YWwgQ0hBTkdFIE1BU1RFUiBUTyBtYXN0ZXJfbG9n X3Bvcz0kbWFzdGVyX3BvczsKKworU1RBUlQgU0xBVkU7CisjIEVSX01BU1RFUl9GQVRBTF9FUlJP Ul9SRUFESU5HX0JJTkxPRyAxMjM2CistLWxldCAkc2xhdmVfcGFyYW09TGFzdF9JT19FcnJubwor LS1sZXQgJHNsYXZlX3BhcmFtX3ZhbHVlPTEyMzYKKy0tc291cmNlIGluY2x1ZGUvd2FpdF9mb3Jf c2xhdmVfcGFyYW0uaW5jCisKKy0tbGV0ICRzbGF2ZV9pb19lcnJvcl9yZXBsYWNlPSAvIGF0IFsw LTldKi8gYXQgWFhYLyAvXC5cLyptYXN0ZXItYmluL21hc3Rlci1iaW4vCistLWxldCAkc3RhdHVz X2l0ZW1zPSBMYXN0X0lPX0Vycm5vLCBMYXN0X0lPX0Vycm9yCistLXNvdXJjZSBpbmNsdWRlL3No b3dfc2xhdmVfc3RhdHVzLmluYworCistLXNvdXJjZSBpbmNsdWRlL3N0b3Bfc2xhdmUuaW5jCitS RVNFVCBTTEFWRTsKKworLS1jb25uZWN0aW9uIG1hc3RlcgorUkVTRVQgTUFTVEVSOworCisjIFNs YXZlIGlzIHN0b3BwZWQgYnkgYnVnIzM1OTM4NjktNjQwMzUgdGVzdHMuCgo9PT0gbW9kaWZpZWQg ZmlsZSAnbXlzcWwtdGVzdC9yL2N0eXBlX21hbnkucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3Iv Y3R5cGVfbWFueS5yZXN1bHQJMjAxMS0wMS0xNyAxMjoyNjoxMyArMDAwMAorKysgYi9teXNxbC10 ZXN0L3IvY3R5cGVfbWFueS5yZXN1bHQJMjAxMi0wMS0xNiAwOTowMTo1MyArMDAwMApAQCAtMTc3 NiwzICsxNzc2LDE0IEBAIERST1AgVEFCTEUgdDI7CiAjCiAjIEVuZCBvZiA1LjUgdGVzdHMKICMK KyMKKyMgQnVnIzExNzY2MTQzIDU5MTg1OiBBU1NFUlRJT04gRkFJTEVEOiAoRklYRUQgPT0gMSks IEZJTEUKKyMgSVRFTV9TVFJGVU5DLkNDLCBMSU5FIDI3NjAKKyMKK0NSRUFURSBUQUJMRSB0MSAo YSBDSEFSKDEpIENIQVJTRVQgVVRGOCk7CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMgKCdhJyksICgn YicpOworQ1JFQVRFIFRBQkxFIHQyIChhIEJJTkFSWSgxKSk7CitTRUxFQ1QgKiBGUk9NIHQyIFdI RVJFIGE9KFNFTEVDVCBhIEZST00gdDEpIEFORCBhPV9MQVRJTjEneCc7CitFUlJPUiAyMTAwMDog U3VicXVlcnkgcmV0dXJucyBtb3JlIHRoYW4gMSByb3cKK0RST1AgVEFCTEUgdDI7CitEUk9QIFRB QkxFIHQxOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9mdW5jX3RpbWUucmVzdWx0 JwotLS0gYS9teXNxbC10ZXN0L3IvZnVuY190aW1lLnJlc3VsdAkyMDEyLTAxLTEzIDA4OjM2OjQz ICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9mdW5jX3RpbWUucmVzdWx0CTIwMTItMDEtMTcgMDg6 MjM6NTcgKzAwMDAKQEAgLTE1MTIsNiArMTUxMiw0MCBAQCBkcm9wIHRhYmxlIHQxOwogIyBTdGFy dCBvZiA1LjYgdGVzdHMKICMKICMKKyMgQlVHIzEzNTQ1MjM2IC0gQVNTRVJUIElOIFNFQ19TSU5D RV9FUE9DSAorIworQ1JFQVRFIFRBQkxFIHQxIChhIFRJTUUgTk9UIE5VTEwpOworSU5TRVJUIElO VE8gdDEgVkFMVUVTICgnMDQ6Mzk6MjQnKTsKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUyAoJzAwOjIw OjA5Jyk7CitTRUxFQ1QgYSBGUk9NIHQxCitXSEVSRSBDT05WRVJUX1RaKFRJTUVTVEFNUEFERChZ RUFSICwgYSwgVElNRVNUQU1QKCcwMDAwLTAwLTAwJykpLAorJyswMDowMCcsJyswMDowMCcpOwor YQorU0VMRUNUIGEgRlJPTSB0MQorV0hFUkUgQ09OVkVSVF9UWihUSU1FU1RBTVBBREQoWUVBUiwg YSwgREFURSgnMDAwMC0wMC0wMCcpKSwKKycrMDA6MDAnLCcrMDA6MDAnKTsKK2EKK0RST1AgVEFC TEUgdDE7CitDUkVBVEUgVEFCTEUgdDEgKGEgVElNRSk7CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMg KCcwMDowMDowMCcpOworU0VMRUNUICogRlJPTSB0MSBXSEVSRSBUSU1FU1RBTVBESUZGKE1PTlRI LCBhLCBUSU1FU1RBTVAoJzAwMDAtMDAtMDEnKSkgSVMgTlVMTDsKK2EKKzAwOjAwOjAwCitXYXJu aW5nczoKK1dhcm5pbmcJMTI5MglJbmNvcnJlY3QgZGF0ZXRpbWUgdmFsdWU6ICcwMDAwLTAwLTAx JworU0VMRUNUICogRlJPTSB0MSBXSEVSRSBUSU1FU1RBTVBESUZGKE1PTlRILCBhLCBUSU1FU1RB TVAnMDAwMC0wMC0wMSAwMDowMDowMCcpIElTIE5VTEw7CithCiswMDowMDowMAorU0VMRUNUICog RlJPTSB0MSBXSEVSRSBUSU1FU1RBTVBESUZGKE1PTlRILCBhLCBEQVRFKCcwMDAwLTAwLTAxJykp IElTIE5VTEw7CithCiswMDowMDowMAorV2FybmluZ3M6CitXYXJuaW5nCTEyOTIJSW5jb3JyZWN0 IGRhdGV0aW1lIHZhbHVlOiAnMDAwMC0wMC0wMScKK1NFTEVDVCAqIEZST00gdDEgV0hFUkUgVElN RVNUQU1QRElGRihNT05USCwgYSwgREFURScwMDAwLTAwLTAxJykgSVMgTlVMTDsKK2EKKzAwOjAw OjAwCitEUk9QIFRBQkxFIHQxOworIwogIyBCVUcjMTMzNTQzODcgLSBDUkFTSCBJTiBJTiBNWV9E RUNJTUFMOjpPUEVSQVRPUiBGT1IgVklFVyBBTkQgRlVOQ1RJT04gVU5JWF9USU1FU1RBTVAgCiAj IFBhcnQyICg1LjYpCiBDUkVBVEUgVEFCTEUgdDEgKGEgVkFSQ0hBUigzMikgTk9UIE5VTEwpOwoK PT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9wYXJ0aXRpb24ucmVzdWx0JwotLS0gYS9t eXNxbC10ZXN0L3IvcGFydGl0aW9uLnJlc3VsdAkyMDExLTEwLTA2IDA5OjUwOjQwICswMDAwCisr KyBiL215c3FsLXRlc3Qvci9wYXJ0aXRpb24ucmVzdWx0CTIwMTItMDEtMTggMTM6MDM6MTAgKzAw MDAKQEAgLTI0MjksMyArMjQyOSwyNSBAQCBTRUxFQ1QgKiBGUk9NIHZ0bXA7CiAxCiBEUk9QIFZJ RVcgdnRtcDsKIERST1AgVEFCTEUgdDE7CisjCisjIEJ1ZyMxMzU4MDc3NSBBU1NFUlRJT04gRkFJ TEVEOiBSRUNPUkRfTEVOR1RIID09IE1fUkVDT1JEX0xFTkdUSCwKKyMgRklMRSBGSUxFU09SVF9V VElMUy5DQworIworQ1JFQVRFIFRBQkxFIHQxICgKK2EgSU5UIFBSSU1BUlkgS0VZLAorYiBJTlQs CitjIENIQVIoMSksCitkIElOVCwKK0tFWSAoYyxkKQorKSBQQVJUSVRJT04gQlkgS0VZICgpIFBB UlRJVElPTlMgMTsKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUyAoMSwxLCdhJywxKSwgKDIsMiwnYScs MSk7CitTRUxFQ1QgMSBGUk9NIHQxIFdIRVJFIDEgSU4KKyhTRUxFQ1QgIGdyb3VwX2NvbmNhdChi KQorRlJPTSB0MQorV0hFUkUgYyA+IGdlb21mcm9tdGV4dCgncG9pbnQoMSAxKScpCitHUk9VUCBC WSBiCispOworMQorMQorMQorRFJPUCBUQUJMRSB0MTsKCj09PSBtb2RpZmllZCBmaWxlICdteXNx bC10ZXN0L3IvdXNlcl92YXIucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3IvdXNlcl92YXIucmVz dWx0CTIwMTEtMTAtMjcgMDg6MDg6NDYgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL3VzZXJfdmFy LnJlc3VsdAkyMDEyLTAxLTE3IDE0OjQ0OjQ5ICswMDAwCkBAIC00OTMsMyArNDkzLDI2IEBAIEdS T1VQIEJZIEBiOj0oU0VMRUNUIENPVU5UKCopID4gdDIuYSk7CiBAYTo9TUlOKHQxLmEpCiAxCiBE Uk9QIFRBQkxFIHQxOworQ1JFQVRFIFRBQkxFIHQxKGEgSU5UKSBFTkdJTkU9SW5ub0RCOworSU5T RVJUIElOVE8gdDEgVkFMVUVTICgwKTsKK1NFTEVDVCBESVNUSU5DVCBQT1coQ09VTlQoKiksIEBh Oj0oU0VMRUNUIDEgRlJPTSB0MSBMRUZUIEpPSU4gdDEgQVMgdDIgT04gQGEpKQorQVMgYiBGUk9N IHQxIEdST1VQIEJZIGE7CitiCisxCitTRUxFQ1QgQGE7CitAYQorMQorRFJPUCBUQUJMRSB0MTsK K0NSRUFURSBUQUJMRSB0MShmMSBJTlQsIGYyIElOVCk7CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMg KDEsMiksKDIsMyksKDMsMSk7CitDUkVBVEUgVEFCTEUgdDIoYSBJTlQpOworSU5TRVJUIElOVE8g dDIgVkFMVUVTICgxKTsKK1NFVCBAdmFyPU5VTEw7CitTRUxFQ1QgQHZhcjo9KFNFTEVDVCBmMiBG Uk9NIHQyIFdIRVJFIEB2YXIpIEZST00gdDEgR1JPVVAgQlkgZjEgT1JERVIgQlkgZjIgREVTQwor TElNSVQgMTsKK0B2YXI6PShTRUxFQ1QgZjIgRlJPTSB0MiBXSEVSRSBAdmFyKQorTlVMTAorU0VM RUNUIEB2YXI7CitAdmFyCitOVUxMCitEUk9QIFRBQkxFIHQxLCB0MjsKCj09PSBtb2RpZmllZCBm aWxlICdteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9pc19jb2x1bW5zX215c3FsLnJlc3VsdCcK LS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvaXNfY29sdW1uc19teXNxbC5yZXN1bHQJ MjAxMS0xMi0wNiAwOToxODo1NSArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEv ci9pc19jb2x1bW5zX215c3FsLnJlc3VsdAkyMDEyLTAxLTE3IDEzOjE4OjA4ICswMDAwCkBAIC05 NywyMCArOTcsMjAgQEAgZGVmCW15c3FsCWhvc3QJU2VsZWN0X3ByaXYJMwlOCU5PCWVudW0JMQog ZGVmCW15c3FsCWhvc3QJU2hvd192aWV3X3ByaXYJMTYJTglOTwllbnVtCTEJMwlOVUxMCU5VTEwJ TlVMTAl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQllbnVtKCdOJywnWScpCQkJc2VsZWN0LGluc2VydCx1 cGRhdGUscmVmZXJlbmNlcwkKIGRlZglteXNxbAlob3N0CVRyaWdnZXJfcHJpdgkyMAlOCU5PCWVu dW0JMQkzCU5VTEwJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0oJ04nLCdZJykJ CQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQogZGVmCW15c3FsCWhvc3QJVXBkYXRl X3ByaXYJNQlOCU5PCWVudW0JMQkzCU5VTEwJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2Np CWVudW0oJ04nLCdZJykJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQotZGVmCW15 c3FsCWlubm9kYl9pbmRleF9zdGF0cwlkYXRhYmFzZV9uYW1lCTEJTlVMTAlOTwl2YXJjaGFyCTY0 CTE5MglOVUxMCU5VTEwJTlVMTAl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQl2YXJjaGFyKDY0KQlQUkkJ CXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCi1kZWYJbXlzcWwJaW5ub2RiX2luZGV4 X3N0YXRzCWluZGV4X25hbWUJMwlOVUxMCU5PCXZhcmNoYXIJNjQJMTkyCU5VTEwJTlVMTAlOVUxM CXV0ZjgJdXRmOF9nZW5lcmFsX2NpCXZhcmNoYXIoNjQpCVBSSQkJc2VsZWN0LGluc2VydCx1cGRh dGUscmVmZXJlbmNlcwkKK2RlZglteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJZGF0YWJhc2VfbmFt ZQkxCU5VTEwJTk8JdmFyY2hhcgk2NAkxOTIJTlVMTAlOVUxMCU5VTEwJdXRmOAl1dGY4X2Jpbgl2 YXJjaGFyKDY0KQlQUkkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCitkZWYJbXlz cWwJaW5ub2RiX2luZGV4X3N0YXRzCWluZGV4X25hbWUJMwlOVUxMCU5PCXZhcmNoYXIJNjQJMTky CU5VTEwJTlVMTAlOVUxMCXV0ZjgJdXRmOF9iaW4JdmFyY2hhcig2NCkJUFJJCQlzZWxlY3QsaW5z ZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQogZGVmCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlsYXN0 X3VwZGF0ZQk0CUNVUlJFTlRfVElNRVNUQU1QCU5PCXRpbWVzdGFtcAlOVUxMCU5VTEwJTlVMTAlO VUxMCTAJTlVMTAlOVUxMCXRpbWVzdGFtcAkJb24gdXBkYXRlIENVUlJFTlRfVElNRVNUQU1QCXNl bGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCiBkZWYJbXlzcWwJaW5ub2RiX2luZGV4X3N0 YXRzCXNhbXBsZV9zaXplCTcJTlVMTAlZRVMJYmlnaW50CU5VTEwJTlVMTAkyMAkwCU5VTEwJTlVM TAlOVUxMCWJpZ2ludCgyMCkgdW5zaWduZWQJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVu Y2VzCQotZGVmCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlzdGF0X2Rlc2NyaXB0aW9uCTgJTlVM TAlOTwl2YXJjaGFyCTEwMjQJMzA3MglOVUxMCU5VTEwJTlVMTAl1dGY4CXV0ZjhfZ2VuZXJhbF9j aQl2YXJjaGFyKDEwMjQpCQkJc2VsZWN0LGluc2VydCx1cGRhdGUscmVmZXJlbmNlcwkKLWRlZglt eXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJc3RhdF9uYW1lCTUJTlVMTAlOTwl2YXJjaGFyCTY0CTE5 MglOVUxMCU5VTEwJTlVMTAl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQl2YXJjaGFyKDY0KQlQUkkJCXNl bGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCitkZWYJbXlzcWwJaW5ub2RiX2luZGV4X3N0 YXRzCXN0YXRfZGVzY3JpcHRpb24JOAlOVUxMCU5PCXZhcmNoYXIJMTAyNAkzMDcyCU5VTEwJTlVM TAlOVUxMCXV0ZjgJdXRmOF9iaW4JdmFyY2hhcigxMDI0KQkJCXNlbGVjdCxpbnNlcnQsdXBkYXRl LHJlZmVyZW5jZXMJCitkZWYJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCXN0YXRfbmFtZQk1CU5V TEwJTk8JdmFyY2hhcgk2NAkxOTIJTlVMTAlOVUxMCU5VTEwJdXRmOAl1dGY4X2Jpbgl2YXJjaGFy KDY0KQlQUkkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCiBkZWYJbXlzcWwJaW5u b2RiX2luZGV4X3N0YXRzCXN0YXRfdmFsdWUJNglOVUxMCU5PCWJpZ2ludAlOVUxMCU5VTEwJMjAJ MAlOVUxMCU5VTEwJTlVMTAliaWdpbnQoMjApIHVuc2lnbmVkCQkJc2VsZWN0LGluc2VydCx1cGRh dGUscmVmZXJlbmNlcwkKLWRlZglteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJdGFibGVfbmFtZQky CU5VTEwJTk8JdmFyY2hhcgk2NAkxOTIJTlVMTAlOVUxMCU5VTEwJdXRmOAl1dGY4X2dlbmVyYWxf Y2kJdmFyY2hhcig2NCkJUFJJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQorZGVm CW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwl0YWJsZV9uYW1lCTIJTlVMTAlOTwl2YXJjaGFyCTY0 CTE5MglOVUxMCU5VTEwJTlVMTAl1dGY4CXV0ZjhfYmluCXZhcmNoYXIoNjQpCVBSSQkJc2VsZWN0 LGluc2VydCx1cGRhdGUscmVmZXJlbmNlcwkKIGRlZglteXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJ Y2x1c3RlcmVkX2luZGV4X3NpemUJNQlOVUxMCU5PCWJpZ2ludAlOVUxMCU5VTEwJMjAJMAlOVUxM CU5VTEwJTlVMTAliaWdpbnQoMjApIHVuc2lnbmVkCQkJc2VsZWN0LGluc2VydCx1cGRhdGUscmVm ZXJlbmNlcwkKLWRlZglteXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJZGF0YWJhc2VfbmFtZQkxCU5V TEwJTk8JdmFyY2hhcgk2NAkxOTIJTlVMTAlOVUxMCU5VTEwJdXRmOAl1dGY4X2dlbmVyYWxfY2kJ dmFyY2hhcig2NCkJUFJJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQorZGVmCW15 c3FsCWlubm9kYl90YWJsZV9zdGF0cwlkYXRhYmFzZV9uYW1lCTEJTlVMTAlOTwl2YXJjaGFyCTY0 CTE5MglOVUxMCU5VTEwJTlVMTAl1dGY4CXV0ZjhfYmluCXZhcmNoYXIoNjQpCVBSSQkJc2VsZWN0 LGluc2VydCx1cGRhdGUscmVmZXJlbmNlcwkKIGRlZglteXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJ bGFzdF91cGRhdGUJMwlDVVJSRU5UX1RJTUVTVEFNUAlOTwl0aW1lc3RhbXAJTlVMTAlOVUxMCU5V TEwJTlVMTAkwCU5VTEwJTlVMTAl0aW1lc3RhbXAJCW9uIHVwZGF0ZSBDVVJSRU5UX1RJTUVTVEFN UAlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQogZGVmCW15c3FsCWlubm9kYl90YWJs ZV9zdGF0cwluX3Jvd3MJNAlOVUxMCU5PCWJpZ2ludAlOVUxMCU5VTEwJMjAJMAlOVUxMCU5VTEwJ TlVMTAliaWdpbnQoMjApIHVuc2lnbmVkCQkJc2VsZWN0LGluc2VydCx1cGRhdGUscmVmZXJlbmNl cwkKIGRlZglteXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJc3VtX29mX290aGVyX2luZGV4X3NpemVz CTYJTlVMTAlOTwliaWdpbnQJTlVMTAlOVUxMCTIwCTAJTlVMTAlOVUxMCU5VTEwJYmlnaW50KDIw KSB1bnNpZ25lZAkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCi1kZWYJbXlzcWwJ aW5ub2RiX3RhYmxlX3N0YXRzCXRhYmxlX25hbWUJMglOVUxMCU5PCXZhcmNoYXIJNjQJMTkyCU5V TEwJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCXZhcmNoYXIoNjQpCVBSSQkJc2VsZWN0 LGluc2VydCx1cGRhdGUscmVmZXJlbmNlcwkKK2RlZglteXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJ dGFibGVfbmFtZQkyCU5VTEwJTk8JdmFyY2hhcgk2NAkxOTIJTlVMTAlOVUxMCU5VTEwJdXRmOAl1 dGY4X2Jpbgl2YXJjaGFyKDY0KQlQUkkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJ CiBkZWYJbXlzcWwJbmRiX2JpbmxvZ19pbmRleAlkZWxldGVzCTYJTlVMTAlOTwliaWdpbnQJTlVM TAlOVUxMCTIwCTAJTlVMTAlOVUxMCU5VTEwJYmlnaW50KDIwKSB1bnNpZ25lZAkJCXNlbGVjdCxp bnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCiBkZWYJbXlzcWwJbmRiX2JpbmxvZ19pbmRleAllcG9j aAkzCU5VTEwJTk8JYmlnaW50CU5VTEwJTlVMTAkyMAkwCU5VTEwJTlVMTAlOVUxMCWJpZ2ludCgy MCkgdW5zaWduZWQJUFJJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQogZGVmCW15 c3FsCW5kYl9iaW5sb2dfaW5kZXgJRmlsZQkyCU5VTEwJTk8JdmFyY2hhcgkyNTUJMjU1CU5VTEwJ TlVMTAlOVUxMCWxhdGluMQlsYXRpbjFfc3dlZGlzaF9jaQl2YXJjaGFyKDI1NSkJCQlzZWxlY3Qs aW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQpAQCAtMzE3LDYgKzMxNyw3IEBAIE9SREVSIEJZIENI QVJBQ1RFUl9TRVRfTkFNRSwgQ09MTEFUSU9OX04KIENPTF9DTUwJREFUQV9UWVBFCUNIQVJBQ1RF Ul9TRVRfTkFNRQlDT0xMQVRJT05fTkFNRQogMy4wMDAwCWNoYXIJdXRmOAl1dGY4X2JpbgogMy4w MDAwCWVudW0JdXRmOAl1dGY4X2JpbgorMy4wMDAwCXZhcmNoYXIJdXRmOAl1dGY4X2JpbgogMy4w MDAwCWNoYXIJdXRmOAl1dGY4X2dlbmVyYWxfY2kKIDMuMDAwMAllbnVtCXV0ZjgJdXRmOF9nZW5l cmFsX2NpCiAzLjAwMDAJc2V0CXV0ZjgJdXRmOF9nZW5lcmFsX2NpCkBAIC00NTAsMTYgKzQ1MSwx NiBAQCBOVUxMCW15c3FsCWhlbHBfdG9waWMJaGVscF9jYXRlZ29yeV9pZAlzCiAzLjAwMDAJbXlz cWwJaG9zdAlBbHRlcl9yb3V0aW5lX3ByaXYJZW51bQkxCTMJdXRmOAl1dGY4X2dlbmVyYWxfY2kJ ZW51bSgnTicsJ1knKQogMy4wMDAwCW15c3FsCWhvc3QJRXhlY3V0ZV9wcml2CWVudW0JMQkzCXV0 ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0oJ04nLCdZJykKIDMuMDAwMAlteXNxbAlob3N0CVRyaWdn ZXJfcHJpdgllbnVtCTEJMwl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQllbnVtKCdOJywnWScpCi0zLjAw MDAJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCWRhdGFiYXNlX25hbWUJdmFyY2hhcgk2NAkxOTIJ dXRmOAl1dGY4X2dlbmVyYWxfY2kJdmFyY2hhcig2NCkKLTMuMDAwMAlteXNxbAlpbm5vZGJfaW5k ZXhfc3RhdHMJdGFibGVfbmFtZQl2YXJjaGFyCTY0CTE5Mgl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQl2 YXJjaGFyKDY0KQotMy4wMDAwCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlpbmRleF9uYW1lCXZh cmNoYXIJNjQJMTkyCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCXZhcmNoYXIoNjQpCiszLjAwMDAJbXlz cWwJaW5ub2RiX2luZGV4X3N0YXRzCWRhdGFiYXNlX25hbWUJdmFyY2hhcgk2NAkxOTIJdXRmOAl1 dGY4X2Jpbgl2YXJjaGFyKDY0KQorMy4wMDAwCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwl0YWJs ZV9uYW1lCXZhcmNoYXIJNjQJMTkyCXV0ZjgJdXRmOF9iaW4JdmFyY2hhcig2NCkKKzMuMDAwMAlt eXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJaW5kZXhfbmFtZQl2YXJjaGFyCTY0CTE5Mgl1dGY4CXV0 ZjhfYmluCXZhcmNoYXIoNjQpCiBOVUxMCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlsYXN0X3Vw ZGF0ZQl0aW1lc3RhbXAJTlVMTAlOVUxMCU5VTEwJTlVMTAl0aW1lc3RhbXAKLTMuMDAwMAlteXNx bAlpbm5vZGJfaW5kZXhfc3RhdHMJc3RhdF9uYW1lCXZhcmNoYXIJNjQJMTkyCXV0ZjgJdXRmOF9n ZW5lcmFsX2NpCXZhcmNoYXIoNjQpCiszLjAwMDAJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCXN0 YXRfbmFtZQl2YXJjaGFyCTY0CTE5Mgl1dGY4CXV0ZjhfYmluCXZhcmNoYXIoNjQpCiBOVUxMCW15 c3FsCWlubm9kYl9pbmRleF9zdGF0cwlzdGF0X3ZhbHVlCWJpZ2ludAlOVUxMCU5VTEwJTlVMTAlO VUxMCWJpZ2ludCgyMCkgdW5zaWduZWQKIE5VTEwJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCXNh bXBsZV9zaXplCWJpZ2ludAlOVUxMCU5VTEwJTlVMTAlOVUxMCWJpZ2ludCgyMCkgdW5zaWduZWQK LTMuMDAwMAlteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJc3RhdF9kZXNjcmlwdGlvbgl2YXJjaGFy CTEwMjQJMzA3Mgl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQl2YXJjaGFyKDEwMjQpCi0zLjAwMDAJbXlz cWwJaW5ub2RiX3RhYmxlX3N0YXRzCWRhdGFiYXNlX25hbWUJdmFyY2hhcgk2NAkxOTIJdXRmOAl1 dGY4X2dlbmVyYWxfY2kJdmFyY2hhcig2NCkKLTMuMDAwMAlteXNxbAlpbm5vZGJfdGFibGVfc3Rh dHMJdGFibGVfbmFtZQl2YXJjaGFyCTY0CTE5Mgl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQl2YXJjaGFy KDY0KQorMy4wMDAwCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlzdGF0X2Rlc2NyaXB0aW9uCXZh cmNoYXIJMTAyNAkzMDcyCXV0ZjgJdXRmOF9iaW4JdmFyY2hhcigxMDI0KQorMy4wMDAwCW15c3Fs CWlubm9kYl90YWJsZV9zdGF0cwlkYXRhYmFzZV9uYW1lCXZhcmNoYXIJNjQJMTkyCXV0ZjgJdXRm OF9iaW4JdmFyY2hhcig2NCkKKzMuMDAwMAlteXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJdGFibGVf bmFtZQl2YXJjaGFyCTY0CTE5Mgl1dGY4CXV0ZjhfYmluCXZhcmNoYXIoNjQpCiBOVUxMCW15c3Fs CWlubm9kYl90YWJsZV9zdGF0cwlsYXN0X3VwZGF0ZQl0aW1lc3RhbXAJTlVMTAlOVUxMCU5VTEwJ TlVMTAl0aW1lc3RhbXAKIE5VTEwJbXlzcWwJaW5ub2RiX3RhYmxlX3N0YXRzCW5fcm93cwliaWdp bnQJTlVMTAlOVUxMCU5VTEwJTlVMTAliaWdpbnQoMjApIHVuc2lnbmVkCiBOVUxMCW15c3FsCWlu bm9kYl90YWJsZV9zdGF0cwljbHVzdGVyZWRfaW5kZXhfc2l6ZQliaWdpbnQJTlVMTAlOVUxMCU5V TEwJTlVMTAliaWdpbnQoMjApIHVuc2lnbmVkCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVz dC9zdWl0ZS9mdW5jc18xL3IvaXNfY29sdW1uc19teXNxbF9lbWJlZGRlZC5yZXN1bHQnCi0tLSBh L215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lzX2NvbHVtbnNfbXlzcWxfZW1iZWRkZWQucmVz dWx0CTIwMTEtMTItMDYgMDk6MTg6NTUgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9mdW5j c18xL3IvaXNfY29sdW1uc19teXNxbF9lbWJlZGRlZC5yZXN1bHQJMjAxMi0wMS0xNyAxMzoxODow OCArMDAwMApAQCAtOTcsMjAgKzk3LDIwIEBAIGRlZglteXNxbAlob3N0CVNlbGVjdF9wcml2CTMJ TglOTwllbnVtCTEKIGRlZglteXNxbAlob3N0CVNob3dfdmlld19wcml2CTE2CU4JTk8JZW51bQkx CTMJTlVMTAlOVUxMCU5VTEwJdXRmOAl1dGY4X2dlbmVyYWxfY2kJZW51bSgnTicsJ1knKQkJCQkK IGRlZglteXNxbAlob3N0CVRyaWdnZXJfcHJpdgkyMAlOCU5PCWVudW0JMQkzCU5VTEwJTlVMTAlO VUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0oJ04nLCdZJykJCQkJCiBkZWYJbXlzcWwJaG9z dAlVcGRhdGVfcHJpdgk1CU4JTk8JZW51bQkxCTMJTlVMTAlOVUxMCU5VTEwJdXRmOAl1dGY4X2dl bmVyYWxfY2kJZW51bSgnTicsJ1knKQkJCQkKLWRlZglteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJ ZGF0YWJhc2VfbmFtZQkxCU5VTEwJTk8JdmFyY2hhcgk2NAkxOTIJTlVMTAlOVUxMCU5VTEwJdXRm OAl1dGY4X2dlbmVyYWxfY2kJdmFyY2hhcig2NCkJUFJJCQkJCi1kZWYJbXlzcWwJaW5ub2RiX2lu ZGV4X3N0YXRzCWluZGV4X25hbWUJMwlOVUxMCU5PCXZhcmNoYXIJNjQJMTkyCU5VTEwJTlVMTAlO VUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCXZhcmNoYXIoNjQpCVBSSQkJCQorZGVmCW15c3FsCWlu bm9kYl9pbmRleF9zdGF0cwlkYXRhYmFzZV9uYW1lCTEJTlVMTAlOTwl2YXJjaGFyCTY0CTE5MglO VUxMCU5VTEwJTlVMTAl1dGY4CXV0ZjhfYmluCXZhcmNoYXIoNjQpCVBSSQkJCQorZGVmCW15c3Fs CWlubm9kYl9pbmRleF9zdGF0cwlpbmRleF9uYW1lCTMJTlVMTAlOTwl2YXJjaGFyCTY0CTE5MglO VUxMCU5VTEwJTlVMTAl1dGY4CXV0ZjhfYmluCXZhcmNoYXIoNjQpCVBSSQkJCQogZGVmCW15c3Fs CWlubm9kYl9pbmRleF9zdGF0cwlsYXN0X3VwZGF0ZQk0CUNVUlJFTlRfVElNRVNUQU1QCU5PCXRp bWVzdGFtcAlOVUxMCU5VTEwJTlVMTAlOVUxMCTAJTlVMTAlOVUxMCXRpbWVzdGFtcAkJb24gdXBk YXRlIENVUlJFTlRfVElNRVNUQU1QCQkKIGRlZglteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJc2Ft cGxlX3NpemUJNwlOVUxMCVlFUwliaWdpbnQJTlVMTAlOVUxMCTIwCTAJTlVMTAlOVUxMCU5VTEwJ YmlnaW50KDIwKSB1bnNpZ25lZAkJCQkKLWRlZglteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJc3Rh dF9kZXNjcmlwdGlvbgk4CU5VTEwJTk8JdmFyY2hhcgkxMDI0CTMwNzIJTlVMTAlOVUxMCU5VTEwJ dXRmOAl1dGY4X2dlbmVyYWxfY2kJdmFyY2hhcigxMDI0KQkJCQkKLWRlZglteXNxbAlpbm5vZGJf aW5kZXhfc3RhdHMJc3RhdF9uYW1lCTUJTlVMTAlOTwl2YXJjaGFyCTY0CTE5MglOVUxMCU5VTEwJ TlVMTAl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQl2YXJjaGFyKDY0KQlQUkkJCQkKK2RlZglteXNxbAlp bm5vZGJfaW5kZXhfc3RhdHMJc3RhdF9kZXNjcmlwdGlvbgk4CU5VTEwJTk8JdmFyY2hhcgkxMDI0 CTMwNzIJTlVMTAlOVUxMCU5VTEwJdXRmOAl1dGY4X2Jpbgl2YXJjaGFyKDEwMjQpCQkJCQorZGVm CW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlzdGF0X25hbWUJNQlOVUxMCU5PCXZhcmNoYXIJNjQJ MTkyCU5VTEwJTlVMTAlOVUxMCXV0ZjgJdXRmOF9iaW4JdmFyY2hhcig2NCkJUFJJCQkJCiBkZWYJ bXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCXN0YXRfdmFsdWUJNglOVUxMCU5PCWJpZ2ludAlOVUxM CU5VTEwJMjAJMAlOVUxMCU5VTEwJTlVMTAliaWdpbnQoMjApIHVuc2lnbmVkCQkJCQotZGVmCW15 c3FsCWlubm9kYl9pbmRleF9zdGF0cwl0YWJsZV9uYW1lCTIJTlVMTAlOTwl2YXJjaGFyCTY0CTE5 MglOVUxMCU5VTEwJTlVMTAl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQl2YXJjaGFyKDY0KQlQUkkJCQkK K2RlZglteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJdGFibGVfbmFtZQkyCU5VTEwJTk8JdmFyY2hh cgk2NAkxOTIJTlVMTAlOVUxMCU5VTEwJdXRmOAl1dGY4X2Jpbgl2YXJjaGFyKDY0KQlQUkkJCQkK IGRlZglteXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJY2x1c3RlcmVkX2luZGV4X3NpemUJNQlOVUxM CU5PCWJpZ2ludAlOVUxMCU5VTEwJMjAJMAlOVUxMCU5VTEwJTlVMTAliaWdpbnQoMjApIHVuc2ln bmVkCQkJCQotZGVmCW15c3FsCWlubm9kYl90YWJsZV9zdGF0cwlkYXRhYmFzZV9uYW1lCTEJTlVM TAlOTwl2YXJjaGFyCTY0CTE5MglOVUxMCU5VTEwJTlVMTAl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQl2 YXJjaGFyKDY0KQlQUkkJCQkKK2RlZglteXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJZGF0YWJhc2Vf bmFtZQkxCU5VTEwJTk8JdmFyY2hhcgk2NAkxOTIJTlVMTAlOVUxMCU5VTEwJdXRmOAl1dGY4X2Jp bgl2YXJjaGFyKDY0KQlQUkkJCQkKIGRlZglteXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJbGFzdF91 cGRhdGUJMwlDVVJSRU5UX1RJTUVTVEFNUAlOTwl0aW1lc3RhbXAJTlVMTAlOVUxMCU5VTEwJTlVM TAkwCU5VTEwJTlVMTAl0aW1lc3RhbXAJCW9uIHVwZGF0ZSBDVVJSRU5UX1RJTUVTVEFNUAkJCiBk ZWYJbXlzcWwJaW5ub2RiX3RhYmxlX3N0YXRzCW5fcm93cwk0CU5VTEwJTk8JYmlnaW50CU5VTEwJ TlVMTAkyMAkwCU5VTEwJTlVMTAlOVUxMCWJpZ2ludCgyMCkgdW5zaWduZWQJCQkJCiBkZWYJbXlz cWwJaW5ub2RiX3RhYmxlX3N0YXRzCXN1bV9vZl9vdGhlcl9pbmRleF9zaXplcwk2CU5VTEwJTk8J YmlnaW50CU5VTEwJTlVMTAkyMAkwCU5VTEwJTlVMTAlOVUxMCWJpZ2ludCgyMCkgdW5zaWduZWQJ CQkJCi1kZWYJbXlzcWwJaW5ub2RiX3RhYmxlX3N0YXRzCXRhYmxlX25hbWUJMglOVUxMCU5PCXZh cmNoYXIJNjQJMTkyCU5VTEwJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCXZhcmNoYXIo NjQpCVBSSQkJCQorZGVmCW15c3FsCWlubm9kYl90YWJsZV9zdGF0cwl0YWJsZV9uYW1lCTIJTlVM TAlOTwl2YXJjaGFyCTY0CTE5MglOVUxMCU5VTEwJTlVMTAl1dGY4CXV0ZjhfYmluCXZhcmNoYXIo NjQpCVBSSQkJCQogZGVmCW15c3FsCW5kYl9iaW5sb2dfaW5kZXgJZGVsZXRlcwk2CU5VTEwJTk8J YmlnaW50CU5VTEwJTlVMTAkyMAkwCU5VTEwJTlVMTAlOVUxMCWJpZ2ludCgyMCkgdW5zaWduZWQJ CQkJCiBkZWYJbXlzcWwJbmRiX2JpbmxvZ19pbmRleAllcG9jaAkzCU5VTEwJTk8JYmlnaW50CU5V TEwJTlVMTAkyMAkwCU5VTEwJTlVMTAlOVUxMCWJpZ2ludCgyMCkgdW5zaWduZWQJUFJJCQkJCiBk ZWYJbXlzcWwJbmRiX2JpbmxvZ19pbmRleAlGaWxlCTIJTlVMTAlOTwl2YXJjaGFyCTI1NQkyNTUJ TlVMTAlOVUxMCU5VTEwJbGF0aW4xCWxhdGluMV9zd2VkaXNoX2NpCXZhcmNoYXIoMjU1KQkJCQkK QEAgLTMxNyw2ICszMTcsNyBAQCBPUkRFUiBCWSBDSEFSQUNURVJfU0VUX05BTUUsIENPTExBVElP Tl9OCiBDT0xfQ01MCURBVEFfVFlQRQlDSEFSQUNURVJfU0VUX05BTUUJQ09MTEFUSU9OX05BTUUK IDMuMDAwMAljaGFyCXV0ZjgJdXRmOF9iaW4KIDMuMDAwMAllbnVtCXV0ZjgJdXRmOF9iaW4KKzMu MDAwMAl2YXJjaGFyCXV0ZjgJdXRmOF9iaW4KIDMuMDAwMAljaGFyCXV0ZjgJdXRmOF9nZW5lcmFs X2NpCiAzLjAwMDAJZW51bQl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQogMy4wMDAwCXNldAl1dGY4CXV0 ZjhfZ2VuZXJhbF9jaQpAQCAtNDUwLDE2ICs0NTEsMTYgQEAgTlVMTAlteXNxbAloZWxwX3RvcGlj CWhlbHBfY2F0ZWdvcnlfaWQJcwogMy4wMDAwCW15c3FsCWhvc3QJQWx0ZXJfcm91dGluZV9wcml2 CWVudW0JMQkzCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0oJ04nLCdZJykKIDMuMDAwMAlteXNx bAlob3N0CUV4ZWN1dGVfcHJpdgllbnVtCTEJMwl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQllbnVtKCdO JywnWScpCiAzLjAwMDAJbXlzcWwJaG9zdAlUcmlnZ2VyX3ByaXYJZW51bQkxCTMJdXRmOAl1dGY4 X2dlbmVyYWxfY2kJZW51bSgnTicsJ1knKQotMy4wMDAwCW15c3FsCWlubm9kYl9pbmRleF9zdGF0 cwlkYXRhYmFzZV9uYW1lCXZhcmNoYXIJNjQJMTkyCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCXZhcmNo YXIoNjQpCi0zLjAwMDAJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCXRhYmxlX25hbWUJdmFyY2hh cgk2NAkxOTIJdXRmOAl1dGY4X2dlbmVyYWxfY2kJdmFyY2hhcig2NCkKLTMuMDAwMAlteXNxbAlp bm5vZGJfaW5kZXhfc3RhdHMJaW5kZXhfbmFtZQl2YXJjaGFyCTY0CTE5Mgl1dGY4CXV0ZjhfZ2Vu ZXJhbF9jaQl2YXJjaGFyKDY0KQorMy4wMDAwCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlkYXRh YmFzZV9uYW1lCXZhcmNoYXIJNjQJMTkyCXV0ZjgJdXRmOF9iaW4JdmFyY2hhcig2NCkKKzMuMDAw MAlteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJdGFibGVfbmFtZQl2YXJjaGFyCTY0CTE5Mgl1dGY4 CXV0ZjhfYmluCXZhcmNoYXIoNjQpCiszLjAwMDAJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCWlu ZGV4X25hbWUJdmFyY2hhcgk2NAkxOTIJdXRmOAl1dGY4X2Jpbgl2YXJjaGFyKDY0KQogTlVMTAlt eXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJbGFzdF91cGRhdGUJdGltZXN0YW1wCU5VTEwJTlVMTAlO VUxMCU5VTEwJdGltZXN0YW1wCi0zLjAwMDAJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCXN0YXRf bmFtZQl2YXJjaGFyCTY0CTE5Mgl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQl2YXJjaGFyKDY0KQorMy4w MDAwCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlzdGF0X25hbWUJdmFyY2hhcgk2NAkxOTIJdXRm OAl1dGY4X2Jpbgl2YXJjaGFyKDY0KQogTlVMTAlteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJc3Rh dF92YWx1ZQliaWdpbnQJTlVMTAlOVUxMCU5VTEwJTlVMTAliaWdpbnQoMjApIHVuc2lnbmVkCiBO VUxMCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlzYW1wbGVfc2l6ZQliaWdpbnQJTlVMTAlOVUxM CU5VTEwJTlVMTAliaWdpbnQoMjApIHVuc2lnbmVkCi0zLjAwMDAJbXlzcWwJaW5ub2RiX2luZGV4 X3N0YXRzCXN0YXRfZGVzY3JpcHRpb24JdmFyY2hhcgkxMDI0CTMwNzIJdXRmOAl1dGY4X2dlbmVy YWxfY2kJdmFyY2hhcigxMDI0KQotMy4wMDAwCW15c3FsCWlubm9kYl90YWJsZV9zdGF0cwlkYXRh YmFzZV9uYW1lCXZhcmNoYXIJNjQJMTkyCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCXZhcmNoYXIoNjQp Ci0zLjAwMDAJbXlzcWwJaW5ub2RiX3RhYmxlX3N0YXRzCXRhYmxlX25hbWUJdmFyY2hhcgk2NAkx OTIJdXRmOAl1dGY4X2dlbmVyYWxfY2kJdmFyY2hhcig2NCkKKzMuMDAwMAlteXNxbAlpbm5vZGJf aW5kZXhfc3RhdHMJc3RhdF9kZXNjcmlwdGlvbgl2YXJjaGFyCTEwMjQJMzA3Mgl1dGY4CXV0Zjhf YmluCXZhcmNoYXIoMTAyNCkKKzMuMDAwMAlteXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJZGF0YWJh c2VfbmFtZQl2YXJjaGFyCTY0CTE5Mgl1dGY4CXV0ZjhfYmluCXZhcmNoYXIoNjQpCiszLjAwMDAJ bXlzcWwJaW5ub2RiX3RhYmxlX3N0YXRzCXRhYmxlX25hbWUJdmFyY2hhcgk2NAkxOTIJdXRmOAl1 dGY4X2Jpbgl2YXJjaGFyKDY0KQogTlVMTAlteXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJbGFzdF91 cGRhdGUJdGltZXN0YW1wCU5VTEwJTlVMTAlOVUxMCU5VTEwJdGltZXN0YW1wCiBOVUxMCW15c3Fs CWlubm9kYl90YWJsZV9zdGF0cwluX3Jvd3MJYmlnaW50CU5VTEwJTlVMTAlOVUxMCU5VTEwJYmln aW50KDIwKSB1bnNpZ25lZAogTlVMTAlteXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJY2x1c3RlcmVk X2luZGV4X3NpemUJYmlnaW50CU5VTEwJTlVMTAlOVUxMCU5VTEwJYmlnaW50KDIwKSB1bnNpZ25l ZAoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lzX3RhYmxl c19teXNxbC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lzX3RhYmxl c19teXNxbC5yZXN1bHQJMjAxMS0wOC0xOSAxMzowNDoyOCArMDAwMAorKysgYi9teXNxbC10ZXN0 L3N1aXRlL2Z1bmNzXzEvci9pc190YWJsZXNfbXlzcWwucmVzdWx0CTIwMTItMDEtMTcgMTM6MTg6 MDggKzAwMDAKQEAgLTI1OSw3ICsyNTksNyBAQCBBVVRPX0lOQ1JFTUVOVAlOVUxMCiBDUkVBVEVf VElNRQkjQ1JUIwogVVBEQVRFX1RJTUUJI1VUIwogQ0hFQ0tfVElNRQkjQ1QjCi1UQUJMRV9DT0xM QVRJT04JdXRmOF9nZW5lcmFsX2NpCitUQUJMRV9DT0xMQVRJT04JdXRmOF9iaW4KIENIRUNLU1VN CU5VTEwKIENSRUFURV9PUFRJT05TCSNDTyMKIFRBQkxFX0NPTU1FTlQJI1RDIwpAQCAtMjgyLDcg KzI4Miw3IEBAIEFVVE9fSU5DUkVNRU5UCU5VTEwKIENSRUFURV9USU1FCSNDUlQjCiBVUERBVEVf VElNRQkjVVQjCiBDSEVDS19USU1FCSNDVCMKLVRBQkxFX0NPTExBVElPTgl1dGY4X2dlbmVyYWxf Y2kKK1RBQkxFX0NPTExBVElPTgl1dGY4X2JpbgogQ0hFQ0tTVU0JTlVMTAogQ1JFQVRFX09QVElP TlMJI0NPIwogVEFCTEVfQ09NTUVOVAkjVEMjCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVz dC9zdWl0ZS9mdW5jc18xL3IvaXNfdGFibGVzX215c3FsX2VtYmVkZGVkLnJlc3VsdCcKLS0tIGEv bXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvaXNfdGFibGVzX215c3FsX2VtYmVkZGVkLnJlc3Vs dAkyMDExLTA4LTE5IDEzOjA0OjI4ICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvZnVuY3Nf MS9yL2lzX3RhYmxlc19teXNxbF9lbWJlZGRlZC5yZXN1bHQJMjAxMi0wMS0xNyAxMzoxODowOCAr MDAwMApAQCAtMjU5LDcgKzI1OSw3IEBAIEFVVE9fSU5DUkVNRU5UCU5VTEwKIENSRUFURV9USU1F CSNDUlQjCiBVUERBVEVfVElNRQkjVVQjCiBDSEVDS19USU1FCSNDVCMKLVRBQkxFX0NPTExBVElP Tgl1dGY4X2dlbmVyYWxfY2kKK1RBQkxFX0NPTExBVElPTgl1dGY4X2JpbgogQ0hFQ0tTVU0JTlVM TAogQ1JFQVRFX09QVElPTlMJI0NPIwogVEFCTEVfQ09NTUVOVAkjVEMjCkBAIC0yODIsNyArMjgy LDcgQEAgQVVUT19JTkNSRU1FTlQJTlVMTAogQ1JFQVRFX1RJTUUJI0NSVCMKIFVQREFURV9USU1F CSNVVCMKIENIRUNLX1RJTUUJI0NUIwotVEFCTEVfQ09MTEFUSU9OCXV0ZjhfZ2VuZXJhbF9jaQor VEFCTEVfQ09MTEFUSU9OCXV0ZjhfYmluCiBDSEVDS1NVTQlOVUxMCiBDUkVBVEVfT1BUSU9OUwkj Q08jCiBUQUJMRV9DT01NRU5UCSNUQyMKQEAgLTk0Miw3ICs5NDIsNyBAQCBBVVRPX0lOQ1JFTUVO VAlOVUxMCiBDUkVBVEVfVElNRQkjQ1JUIwogVVBEQVRFX1RJTUUJI1VUIwogQ0hFQ0tfVElNRQkj Q1QjCi1UQUJMRV9DT0xMQVRJT04JdXRmOF9nZW5lcmFsX2NpCitUQUJMRV9DT0xMQVRJT04JdXRm OF9iaW4KIENIRUNLU1VNCU5VTEwKIENSRUFURV9PUFRJT05TCSNDTyMKIFRBQkxFX0NPTU1FTlQJ I1RDIwpAQCAtOTY1LDcgKzk2NSw3IEBAIEFVVE9fSU5DUkVNRU5UCU5VTEwKIENSRUFURV9USU1F CSNDUlQjCiBVUERBVEVfVElNRQkjVVQjCiBDSEVDS19USU1FCSNDVCMKLVRBQkxFX0NPTExBVElP Tgl1dGY4X2dlbmVyYWxfY2kKK1RBQkxFX0NPTExBVElPTgl1dGY4X2JpbgogQ0hFQ0tTVU0JTlVM TAogQ1JFQVRFX09QVElPTlMJI0NPIwogVEFCTEVfQ09NTUVOVAkjVEMjCgo9PT0gbW9kaWZpZWQg ZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfbG9nX3Bvcy5yZXN1bHQnCi0tLSBhL215 c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX2xvZ19wb3MucmVzdWx0CTIwMTItMDEtMDQgMTU6NDg6 MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfbG9nX3Bvcy5yZXN1bHQJ MjAxMi0wMS0xNyAyMjozMjoyOSArMDAwMApAQCAtMTIsNyArMTIsNyBAQCBjaGFuZ2UgbWFzdGVy IHRvIG1hc3Rlcl9sb2dfcG9zPU1BU1RFUl9MCiBSZWFkX01hc3Rlcl9Mb2dfUG9zID0gJzc1Jwog c3RhcnQgc2xhdmU7CiBpbmNsdWRlL3dhaXRfZm9yX3NsYXZlX2lvX2Vycm9yLmluYyBbZXJybm89 MTIzNl0KLUxhc3RfSU9fRXJyb3IgPSAnR290IGZhdGFsIGVycm9yIDEyMzYgZnJvbSBtYXN0ZXIg d2hlbiByZWFkaW5nIGRhdGEgZnJvbSBiaW5hcnkgbG9nOiAnbG9nIGV2ZW50IGVudHJ5IGV4Y2Vl ZGVkIG1heF9hbGxvd2VkX3BhY2tldDsgSW5jcmVhc2UgbWF4X2FsbG93ZWRfcGFja2V0IG9uIG1h c3RlcjsgdGhlIGxhc3QgZXZlbnQgd2FzIHJlYWQgZnJvbSAnbWFzdGVyLWJpbi4wMDAwMDEnIGF0 IFhYWCwgdGhlIGxhc3QgYnl0ZSByZWFkIHdhcyByZWFkIGZyb20gJ21hc3Rlci1iaW4uMDAwMDAx JyBhdCBYWFguJycKK0xhc3RfSU9fRXJyb3IgPSAnR290IGZhdGFsIGVycm9yIDEyMzYgZnJvbSBt YXN0ZXIgd2hlbiByZWFkaW5nIGRhdGEgZnJvbSBiaW5hcnkgbG9nOiAnbG9nIGV2ZW50IGVudHJ5 IGV4Y2VlZGVkIG1heF9hbGxvd2VkX3BhY2tldDsgSW5jcmVhc2UgbWF4X2FsbG93ZWRfcGFja2V0 IG9uIG1hc3RlcjsgdGhlIHN0YXJ0IGV2ZW50IHBvc2l0aW9uIGZyb20gJ21hc3Rlci1iaW4uMDAw MDAxJyBhdCBYWFgsIHRoZSBsYXN0IGV2ZW50IHdhcyByZWFkIGZyb20gJ21hc3Rlci1iaW4uMDAw MDAxJyBhdCBYWFgsIHRoZSBsYXN0IGJ5dGUgcmVhZCB3YXMgcmVhZCBmcm9tICdtYXN0ZXItYmlu LjAwMDAwMScgYXQgWFhYLicnCiBpbmNsdWRlL3N0b3Bfc2xhdmVfc3FsLmluYwogc2hvdyBtYXN0 ZXIgc3RhdHVzOwogRmlsZQlQb3NpdGlvbglCaW5sb2dfRG9fREIJQmlubG9nX0lnbm9yZV9EQgoK PT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX21hbnVhbF9jaGFu Z2VfaW5kZXhfZmlsZS5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX21h bnVhbF9jaGFuZ2VfaW5kZXhfZmlsZS5yZXN1bHQJMjAxMi0wMS0wNCAxNTo0ODowMCArMDAwMAor KysgYi9teXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9tYW51YWxfY2hhbmdlX2luZGV4X2ZpbGUu cmVzdWx0CTIwMTItMDEtMTcgMjI6MzI6MjkgKzAwMDAKQEAgLTgsNyArOCw3IEBAIENSRUFURSBU QUJMRSB0MShjMSBJTlQpOwogRkxVU0ggTE9HUzsKIGNhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbign R290IGZhdGFsIGVycm9yIDEyMzYgZnJvbSBtYXN0ZXIgd2hlbiByZWFkaW5nIGRhdGEgZnJvbSBi aW5hcnkgbG9nOiAuKmNvdWxkIG5vdCBmaW5kIG5leHQgbG9nJyk7CiBpbmNsdWRlL3dhaXRfZm9y X3NsYXZlX2lvX2Vycm9yLmluYyBbZXJybm89MTIzNl0KLUxhc3RfSU9fRXJyb3IgPSAnR290IGZh dGFsIGVycm9yIDEyMzYgZnJvbSBtYXN0ZXIgd2hlbiByZWFkaW5nIGRhdGEgZnJvbSBiaW5hcnkg bG9nOiAnY291bGQgbm90IGZpbmQgbmV4dCBsb2c7IHRoZSBsYXN0IGV2ZW50IHdhcyByZWFkIGZy b20gJ21hc3Rlci1iaW4uMDAwMDAyJyBhdCBYWFgsIHRoZSBsYXN0IGJ5dGUgcmVhZCB3YXMgcmVh ZCBmcm9tICdtYXN0ZXItYmluLjAwMDAwMicgYXQgWFhYLicnCitMYXN0X0lPX0Vycm9yID0gJ0dv dCBmYXRhbCBlcnJvciAxMjM2IGZyb20gbWFzdGVyIHdoZW4gcmVhZGluZyBkYXRhIGZyb20gYmlu YXJ5IGxvZzogJ2NvdWxkIG5vdCBmaW5kIG5leHQgbG9nOyB0aGUgc3RhcnQgZXZlbnQgcG9zaXRp b24gZnJvbSAnbWFzdGVyLWJpbi4wMDAwMDEnIGF0IFhYWCwgdGhlIGxhc3QgZXZlbnQgd2FzIHJl YWQgZnJvbSAnbWFzdGVyLWJpbi4wMDAwMDInIGF0IFhYWCwgdGhlIGxhc3QgYnl0ZSByZWFkIHdh cyByZWFkIGZyb20gJ21hc3Rlci1iaW4uMDAwMDAyJyBhdCBYWFguJycKIENSRUFURSBUQUJMRSB0 MihjMSBJTlQpOwogRkxVU0ggTE9HUzsKIENSRUFURSBUQUJMRSB0MyhjMSBJTlQpOwoKPT09IG1v ZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3BhY2tldC5yZXN1bHQnCi0t LSBhL215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3BhY2tldC5yZXN1bHQJMjAxMi0wMS0wNCAx NTo0ODowMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9wYWNrZXQucmVz dWx0CTIwMTItMDEtMTcgMjI6MzI6MjkgKzAwMDAKQEAgLTQwLDcgKzQwLDcgQEAgRFJPUCBUQUJM RSB0MTsKIENSRUFURSBUQUJMRSB0MSAoZjEgaW50IFBSSU1BUlkgS0VZLCBmMiBMT05HVEVYVCwg ZjMgTE9OR1RFWFQpIEVOR0lORT1NeUlTQU07CiBJTlNFUlQgSU5UTyB0MShmMSwgZjIsIGYzKSBW QUxVRVMoMSwgUkVQRUFUKCdhJywgQEBnbG9iYWwubWF4X2FsbG93ZWRfcGFja2V0KSwgUkVQRUFU KCdiJywgQEBnbG9iYWwubWF4X2FsbG93ZWRfcGFja2V0KSk7CiBpbmNsdWRlL3dhaXRfZm9yX3Ns YXZlX2lvX2Vycm9yLmluYyBbZXJybm89MTIzNl0KLUxhc3RfSU9fRXJyb3IgPSAnR290IGZhdGFs IGVycm9yIDEyMzYgZnJvbSBtYXN0ZXIgd2hlbiByZWFkaW5nIGRhdGEgZnJvbSBiaW5hcnkgbG9n OiAnbG9nIGV2ZW50IGVudHJ5IGV4Y2VlZGVkIG1heF9hbGxvd2VkX3BhY2tldDsgSW5jcmVhc2Ug bWF4X2FsbG93ZWRfcGFja2V0IG9uIG1hc3RlcjsgdGhlIGxhc3QgZXZlbnQgd2FzIHJlYWQgZnJv bSAnbWFzdGVyLWJpbi4wMDAwMDEnIGF0IFhYWCwgdGhlIGxhc3QgYnl0ZSByZWFkIHdhcyByZWFk IGZyb20gJ21hc3Rlci1iaW4uMDAwMDAxJyBhdCBYWFguJycKK0xhc3RfSU9fRXJyb3IgPSAnR290 IGZhdGFsIGVycm9yIDEyMzYgZnJvbSBtYXN0ZXIgd2hlbiByZWFkaW5nIGRhdGEgZnJvbSBiaW5h cnkgbG9nOiAnbG9nIGV2ZW50IGVudHJ5IGV4Y2VlZGVkIG1heF9hbGxvd2VkX3BhY2tldDsgSW5j cmVhc2UgbWF4X2FsbG93ZWRfcGFja2V0IG9uIG1hc3RlcjsgdGhlIHN0YXJ0IGV2ZW50IHBvc2l0 aW9uIGZyb20gJycgYXQgWFhYLCB0aGUgbGFzdCBldmVudCB3YXMgcmVhZCBmcm9tICdtYXN0ZXIt YmluLjAwMDAwMScgYXQgWFhYLCB0aGUgbGFzdCBieXRlIHJlYWQgd2FzIHJlYWQgZnJvbSAnbWFz dGVyLWJpbi4wMDAwMDEnIGF0IFhYWC4nJwogU1RPUCBTTEFWRTsKIFJFU0VUIFNMQVZFOwogUkVT RVQgTUFTVEVSOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBs X3N0bV9zdGFydF9zdG9wX3NsYXZlLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9ycGwv ci9ycGxfc3RtX3N0YXJ0X3N0b3Bfc2xhdmUucmVzdWx0CTIwMTEtMTEtMTkgMDg6MDg6MDMgKzAw MDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfc3RtX3N0YXJ0X3N0b3Bfc2xhdmUu cmVzdWx0CTIwMTItMDEtMTcgMjI6MzI6MjkgKzAwMDAKQEAgLTcyLDYgKzcyLDE2IEBAIGluY2x1 ZGUvd2FpdF9mb3Jfc2xhdmVfdG9fc3RvcC5pbmMKIGluY2x1ZGUvc3RhcnRfc2xhdmUuaW5jCiAj IENsZWFuIHVwCiBEUk9QIFRBQkxFIHQxOworUkVTRVQgTUFTVEVSOworaW5jbHVkZS9zdG9wX3Ns YXZlLmluYworQ0hBTkdFIE1BU1RFUiBUTyBtYXN0ZXJfbG9nX3Bvcz1NQVNURVJfUE9TOworU1RB UlQgU0xBVkU7CitpbmNsdWRlL3dhaXRfZm9yX3NsYXZlX3BhcmFtLmluYyBbTGFzdF9JT19FcnJu b10KK0xhc3RfSU9fRXJybm8gPSAnMTIzNicKK0xhc3RfSU9fRXJyb3IgPSAnR290IGZhdGFsIGVy cm9yIDEyMzYgZnJvbSBtYXN0ZXIgd2hlbiByZWFkaW5nIGRhdGEgZnJvbSBiaW5hcnkgbG9nOiAn Q2xpZW50IHJlcXVlc3RlZCBtYXN0ZXIgdG8gc3RhcnQgcmVwbGljYXRpb24gZnJvbSBpbXBvc3Np YmxlIHBvc2l0aW9uOyB0aGUgc3RhcnQgZXZlbnQgcG9zaXRpb24gZnJvbSAnbWFzdGVyLWJpbi4w MDAwMDEnIGF0IFhYWCwgdGhlIGxhc3QgZXZlbnQgd2FzIHJlYWQgZnJvbSAnbWFzdGVyLWJpbi4w MDAwMDEnIGF0IFhYWCwgdGhlIGxhc3QgYnl0ZSByZWFkIHdhcyByZWFkIGZyb20gJ21hc3Rlci1i aW4uMDAwMDAxJyBhdCBYWFguJycKK2luY2x1ZGUvc3RvcF9zbGF2ZS5pbmMKK1JFU0VUIFNMQVZF OworUkVTRVQgTUFTVEVSOwogU0VUIEBAZ2xvYmFsLmlubm9kYl9mbHVzaF9sb2dfYXRfdHJ4X2Nv bW1pdD0gQG9sZF9pbm5vZGJfZmx1c2hfbG9nX2F0X3RyeF9jb21taXQ7CiBjYWxsIG10ci5hZGRf c3VwcHJlc3Npb24oIlNsYXZlIFNRTC4qUmVxdWVzdCB0byBzdG9wIHNsYXZlIFNRTCBUaHJlYWQg cmVjZWl2ZWQgd2hpbGUgYXBwbHlpbmcgYSBncm91cCB0aGF0IGhhcyBub24tdHJhbnNhY3Rpb25h bCBjaGFuZ2VzOyB3YWl0aW5nIGZvciBjb21wbGV0aW9uIG9mIHRoZSBncm91cCIpOwogU0VUIEBA Z2xvYmFsLmlubm9kYl9mbHVzaF9sb2dfYXRfdHJ4X2NvbW1pdD0gQG9sZF9pbm5vZGJfZmx1c2hf bG9nX2F0X3RyeF9jb21taXQ7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9y cGwvdC9ycGxfc3RtX3N0YXJ0X3N0b3Bfc2xhdmUudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0 ZS9ycGwvdC9ycGxfc3RtX3N0YXJ0X3N0b3Bfc2xhdmUudGVzdAkyMDExLTAzLTE3IDEzOjIwOjM2 ICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvcnBsL3QvcnBsX3N0bV9zdGFydF9zdG9wX3Ns YXZlLnRlc3QJMjAxMi0wMS0xNyAyMjozMjoyOSArMDAwMApAQCAtMjIsNSArMjIsNSBAQCBTRVQg QEBnbG9iYWwuaW5ub2RiX2ZsdXNoX2xvZ19hdF90cnhfY29tCiBjYWxsIG10ci5hZGRfc3VwcHJl c3Npb24oIlNsYXZlIFNRTC4qUmVxdWVzdCB0byBzdG9wIHNsYXZlIFNRTCBUaHJlYWQgcmVjZWl2 ZWQgd2hpbGUgYXBwbHlpbmcgYSBncm91cCB0aGF0IGhhcyBub24tdHJhbnNhY3Rpb25hbCBjaGFu Z2VzOyB3YWl0aW5nIGZvciBjb21wbGV0aW9uIG9mIHRoZSBncm91cCIpOwogLS1jb25uZWN0aW9u IG1hc3RlcgogU0VUIEBAZ2xvYmFsLmlubm9kYl9mbHVzaF9sb2dfYXRfdHJ4X2NvbW1pdD0gQG9s ZF9pbm5vZGJfZmx1c2hfbG9nX2F0X3RyeF9jb21taXQ7Ci0KKy0tbGV0ICRycGxfb25seV9ydW5u aW5nX3RocmVhZHM9IDEKIC0tc291cmNlIGluY2x1ZGUvcnBsX2VuZC5pbmMKCj09PSBtb2RpZmll ZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3IvYWxsX3ZhcnMucmVzdWx0JwotLS0g YS9teXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3IvYWxsX3ZhcnMucmVzdWx0CTIwMTItMDEtMTAg MDU6MjY6MjkgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy9yL2FsbF92YXJz LnJlc3VsdAkyMDEyLTAxLTE2IDE1OjExOjM5ICswMDAwCkBAIC0zLDEwICszLDYgQEAgY3JlYXRl IHRhYmxlIHQyICh2YXJpYWJsZV9uYW1lIHRleHQpOwogbG9hZCBkYXRhIGluZmlsZSAiTVlTUUxU RVNUX1ZBUkRJUi90bXAvc3lzX3ZhcnMuYWxsX3ZhcnMudHh0IiBpbnRvIHRhYmxlIHQxOwogaW5z ZXJ0IGludG8gdDIgc2VsZWN0IHZhcmlhYmxlX25hbWUgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEu Z2xvYmFsX3ZhcmlhYmxlczsKIGluc2VydCBpbnRvIHQyIHNlbGVjdCB2YXJpYWJsZV9uYW1lIGZy b20gaW5mb3JtYXRpb25fc2NoZW1hLnNlc3Npb25fdmFyaWFibGVzOwotZGVsZXRlIGZyb20gdDIg d2hlcmUgdmFyaWFibGVfbmFtZT0naW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWcnOwotZGVs ZXRlIGZyb20gdDIgd2hlcmUgdmFyaWFibGVfbmFtZT0naW5ub2RiX3BhZ2VfaGFzaF9sb2Nrcyc7 Ci1kZWxldGUgZnJvbSB0MiB3aGVyZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfZG91Ymxld3JpdGVf YmF0Y2hfc2l6ZSc7Ci1kZWxldGUgZnJvbSB0MiB3aGVyZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJf dHJ4X3JzZWdfbl9zbG90c19kZWJ1Zyc7CiB1cGRhdGUgdDIgc2V0IHZhcmlhYmxlX25hbWU9IHJl cGxhY2UodmFyaWFibGVfbmFtZSwgIlBFUkZPUk1BTkNFX1NDSEVNQV8iLCAiUEZTXyIpOwogc2Vs ZWN0IHZhcmlhYmxlX25hbWUgYXMgYFRoZXJlIHNob3VsZCBiZSAqbm8qIGxvbmcgdGVzdCBuYW1l IGxpc3RlZCBiZWxvdzpgIGZyb20gdDIKIHdoZXJlIGxlbmd0aCh2YXJpYWJsZV9uYW1lKSA+IDUw OwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9jaGFyYWN0 ZXJfc2V0c19kaXJfYmFzaWMucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL3N5c192YXJz L3IvY2hhcmFjdGVyX3NldHNfZGlyX2Jhc2ljLnJlc3VsdAkyMDEwLTAyLTE3IDAzOjE0OjA5ICsw MDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9jaGFyYWN0ZXJfc2V0c19kaXJf YmFzaWMucmVzdWx0CTIwMTItMDEtMTYgMTA6MDQ6MjggKzAwMDAKQEAgLTEsMjAgKzEsMjAgQEAK IHNlbGVjdCBAQGdsb2JhbC5jaGFyYWN0ZXJfc2V0c19kaXI7CiBAQGdsb2JhbC5jaGFyYWN0ZXJf c2V0c19kaXIKLU1ZU1FMX0NIQVJTRVRTRElSLworTVlTUUxfQ0hBUlNFVFNESVIKIHNlbGVjdCBA QHNlc3Npb24uY2hhcmFjdGVyX3NldHNfZGlyOwogRVJST1IgSFkwMDA6IFZhcmlhYmxlICdjaGFy YWN0ZXJfc2V0c19kaXInIGlzIGEgR0xPQkFMIHZhcmlhYmxlCiBzaG93IGdsb2JhbCB2YXJpYWJs ZXMgbGlrZSAnY2hhcmFjdGVyX3NldHNfZGlyJzsKIFZhcmlhYmxlX25hbWUJVmFsdWUKLWNoYXJh Y3Rlcl9zZXRzX2RpcglNWVNRTF9DSEFSU0VUU0RJUi8KK2NoYXJhY3Rlcl9zZXRzX2RpcglNWVNR TF9DSEFSU0VUU0RJUgogc2hvdyBzZXNzaW9uIHZhcmlhYmxlcyBsaWtlICdjaGFyYWN0ZXJfc2V0 c19kaXInOwogVmFyaWFibGVfbmFtZQlWYWx1ZQotY2hhcmFjdGVyX3NldHNfZGlyCU1ZU1FMX0NI QVJTRVRTRElSLworY2hhcmFjdGVyX3NldHNfZGlyCU1ZU1FMX0NIQVJTRVRTRElSCiBzZWxlY3Qg KiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5nbG9iYWxfdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxl X25hbWU9J2NoYXJhY3Rlcl9zZXRzX2Rpcic7CiBWQVJJQUJMRV9OQU1FCVZBUklBQkxFX1ZBTFVF Ci1DSEFSQUNURVJfU0VUU19ESVIJTVlTUUxfQ0hBUlNFVFNESVIvCitDSEFSQUNURVJfU0VUU19E SVIJTVlTUUxfQ0hBUlNFVFNESVIKIHNlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnNl c3Npb25fdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2NoYXJhY3Rlcl9zZXRzX2Rpcic7 CiBWQVJJQUJMRV9OQU1FCVZBUklBQkxFX1ZBTFVFCi1DSEFSQUNURVJfU0VUU19ESVIJTVlTUUxf Q0hBUlNFVFNESVIvCitDSEFSQUNURVJfU0VUU19ESVIJTVlTUUxfQ0hBUlNFVFNESVIKIHNldCBn bG9iYWwgY2hhcmFjdGVyX3NldHNfZGlyPSJmb28iOwogRVJST1IgSFkwMDA6IFZhcmlhYmxlICdj aGFyYWN0ZXJfc2V0c19kaXInIGlzIGEgcmVhZCBvbmx5IHZhcmlhYmxlCiBzZXQgc2Vzc2lvbiBj aGFyYWN0ZXJfc2V0c19kaXI9ImZvbyI7Cgo9PT0gYWRkZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0 ZS9zeXNfdmFycy9yL2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnX2Jhc2ljLnJlc3VsdCcK LS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy9yL2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5n X2RlYnVnX2Jhc2ljLnJlc3VsdAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3Fs LXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9pbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Z19iYXNp Yy5yZXN1bHQJMjAxMi0wMS0xNiAxNDozOTowNSArMDAwMApAQCAtMCwwICsxLDY0IEBACitTRVQg QHN0YXJ0X2dsb2JhbF92YWx1ZSA9IEBAZ2xvYmFsLmlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2Rl YnVnOworU0VMRUNUIEBzdGFydF9nbG9iYWxfdmFsdWU7CitAc3RhcnRfZ2xvYmFsX3ZhbHVlCisw CitzZWxlY3QgQEBnbG9iYWwuaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWcgaW4gKDAsIDEp OworQEBnbG9iYWwuaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWcgaW4gKDAsIDEpCisxCitz ZWxlY3QgQEBnbG9iYWwuaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWc7CitAQGdsb2JhbC5p bm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1ZworMAorc2VsZWN0IEBAc2Vzc2lvbi5pbm5vZGJf Y2hhbmdlX2J1ZmZlcmluZ19kZWJ1ZzsKK0VSUk9SIEhZMDAwOiBWYXJpYWJsZSAnaW5ub2RiX2No YW5nZV9idWZmZXJpbmdfZGVidWcnIGlzIGEgR0xPQkFMIHZhcmlhYmxlCitzaG93IGdsb2JhbCB2 YXJpYWJsZXMgbGlrZSAnaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWcnOworVmFyaWFibGVf bmFtZQlWYWx1ZQoraW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWcJMAorc2hvdyBzZXNzaW9u IHZhcmlhYmxlcyBsaWtlICdpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zyc7CitWYXJpYWJs ZV9uYW1lCVZhbHVlCitpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1ZwkwCitzZWxlY3QgKiBm cm9tIGluZm9ybWF0aW9uX3NjaGVtYS5nbG9iYWxfdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25h bWU9J2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnJzsKK1ZBUklBQkxFX05BTUUJVkFSSUFC TEVfVkFMVUUKK0lOTk9EQl9DSEFOR0VfQlVGRkVSSU5HX0RFQlVHCTAKK3NlbGVjdCAqIGZyb20g aW5mb3JtYXRpb25fc2NoZW1hLnNlc3Npb25fdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9 J2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnJzsKK1ZBUklBQkxFX05BTUUJVkFSSUFCTEVf VkFMVUUKK0lOTk9EQl9DSEFOR0VfQlVGRkVSSU5HX0RFQlVHCTAKK3NldCBnbG9iYWwgaW5ub2Ri X2NoYW5nZV9idWZmZXJpbmdfZGVidWc9MTsKK3NlbGVjdCBAQGdsb2JhbC5pbm5vZGJfY2hhbmdl X2J1ZmZlcmluZ19kZWJ1ZzsKK0BAZ2xvYmFsLmlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVn CisxCitzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5nbG9iYWxfdmFyaWFibGVzIHdo ZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnJzsKK1ZBUklB QkxFX05BTUUJVkFSSUFCTEVfVkFMVUUKK0lOTk9EQl9DSEFOR0VfQlVGRkVSSU5HX0RFQlVHCTEK K3NlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnNlc3Npb25fdmFyaWFibGVzIHdoZXJl IHZhcmlhYmxlX25hbWU9J2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnJzsKK1ZBUklBQkxF X05BTUUJVkFSSUFCTEVfVkFMVUUKK0lOTk9EQl9DSEFOR0VfQlVGRkVSSU5HX0RFQlVHCTEKK3Nl dCBAQGdsb2JhbC5pbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zz0wOworc2VsZWN0IEBAZ2xv YmFsLmlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnOworQEBnbG9iYWwuaW5ub2RiX2NoYW5n ZV9idWZmZXJpbmdfZGVidWcKKzAKK3NlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLmds b2JhbF92YXJpYWJsZXMgd2hlcmUgdmFyaWFibGVfbmFtZT0naW5ub2RiX2NoYW5nZV9idWZmZXJp bmdfZGVidWcnOworVkFSSUFCTEVfTkFNRQlWQVJJQUJMRV9WQUxVRQorSU5OT0RCX0NIQU5HRV9C VUZGRVJJTkdfREVCVUcJMAorc2VsZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuc2Vzc2lv bl92YXJpYWJsZXMgd2hlcmUgdmFyaWFibGVfbmFtZT0naW5ub2RiX2NoYW5nZV9idWZmZXJpbmdf ZGVidWcnOworVkFSSUFCTEVfTkFNRQlWQVJJQUJMRV9WQUxVRQorSU5OT0RCX0NIQU5HRV9CVUZG RVJJTkdfREVCVUcJMAorc2V0IHNlc3Npb24gaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWc9 J3NvbWUnOworRVJST1IgSFkwMDA6IFZhcmlhYmxlICdpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19k ZWJ1ZycgaXMgYSBHTE9CQUwgdmFyaWFibGUgYW5kIHNob3VsZCBiZSBzZXQgd2l0aCBTRVQgR0xP QkFMCitzZXQgQEBzZXNzaW9uLmlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnPSdzb21lJzsK K0VSUk9SIEhZMDAwOiBWYXJpYWJsZSAnaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWcnIGlz IGEgR0xPQkFMIHZhcmlhYmxlIGFuZCBzaG91bGQgYmUgc2V0IHdpdGggU0VUIEdMT0JBTAorc2V0 IGdsb2JhbCBpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zz0xLjE7CitFUlJPUiA0MjAwMDog SW5jb3JyZWN0IGFyZ3VtZW50IHR5cGUgdG8gdmFyaWFibGUgJ2lubm9kYl9jaGFuZ2VfYnVmZmVy aW5nX2RlYnVnJworc2V0IGdsb2JhbCBpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zz0nZm9v JzsKK0VSUk9SIDQyMDAwOiBJbmNvcnJlY3QgYXJndW1lbnQgdHlwZSB0byB2YXJpYWJsZSAnaW5u b2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWcnCitzZXQgZ2xvYmFsIGlubm9kYl9jaGFuZ2VfYnVm ZmVyaW5nX2RlYnVnPS0yOworV2FybmluZ3M6CitXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29y cmVjdCBpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1ZyB2YWx1ZTogJy0yJworc2V0IGdsb2Jh bCBpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zz0xZTE7CitFUlJPUiA0MjAwMDogSW5jb3Jy ZWN0IGFyZ3VtZW50IHR5cGUgdG8gdmFyaWFibGUgJ2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2Rl YnVnJworc2V0IGdsb2JhbCBpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zz0yOworV2Fybmlu Z3M6CitXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBpbm5vZGJfY2hhbmdlX2J1ZmZl cmluZ19kZWJ1ZyB2YWx1ZTogJzInCitTRVQgQEBnbG9iYWwuaW5ub2RiX2NoYW5nZV9idWZmZXJp bmdfZGVidWcgPSBAc3RhcnRfZ2xvYmFsX3ZhbHVlOworU0VMRUNUIEBAZ2xvYmFsLmlubm9kYl9j aGFuZ2VfYnVmZmVyaW5nX2RlYnVnOworQEBnbG9iYWwuaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdf ZGVidWcKKzAKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3IvaW5u b2RiX2RvdWJsZXdyaXRlX2JhdGNoX3NpemVfYmFzaWMucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0 L3N1aXRlL3N5c192YXJzL3IvaW5ub2RiX2RvdWJsZXdyaXRlX2JhdGNoX3NpemVfYmFzaWMucmVz dWx0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9zeXNf dmFycy9yL2lubm9kYl9kb3VibGV3cml0ZV9iYXRjaF9zaXplX2Jhc2ljLnJlc3VsdAkyMDEyLTAx LTE2IDE1OjExOjM5ICswMDAwCkBAIC0wLDAgKzEsMjQgQEAKK3NlbGVjdCBAQGdsb2JhbC5pbm5v ZGJfZG91Ymxld3JpdGVfYmF0Y2hfc2l6ZSBiZXR3ZWVuIDEgYW5kIDEyNzsKK0BAZ2xvYmFsLmlu bm9kYl9kb3VibGV3cml0ZV9iYXRjaF9zaXplIGJldHdlZW4gMSBhbmQgMTI3CisxCitzZWxlY3Qg QEBnbG9iYWwuaW5ub2RiX2RvdWJsZXdyaXRlX2JhdGNoX3NpemU7CitAQGdsb2JhbC5pbm5vZGJf ZG91Ymxld3JpdGVfYmF0Y2hfc2l6ZQorMTIwCitzZWxlY3QgQEBzZXNzaW9uLmlubm9kYl9kb3Vi bGV3cml0ZV9iYXRjaF9zaXplOworRVJST1IgSFkwMDA6IFZhcmlhYmxlICdpbm5vZGJfZG91Ymxl d3JpdGVfYmF0Y2hfc2l6ZScgaXMgYSBHTE9CQUwgdmFyaWFibGUKK3Nob3cgZ2xvYmFsIHZhcmlh YmxlcyBsaWtlICdpbm5vZGJfZG91Ymxld3JpdGVfYmF0Y2hfc2l6ZSc7CitWYXJpYWJsZV9uYW1l CVZhbHVlCitpbm5vZGJfZG91Ymxld3JpdGVfYmF0Y2hfc2l6ZQkxMjAKK3Nob3cgc2Vzc2lvbiB2 YXJpYWJsZXMgbGlrZSAnaW5ub2RiX2RvdWJsZXdyaXRlX2JhdGNoX3NpemUnOworVmFyaWFibGVf bmFtZQlWYWx1ZQoraW5ub2RiX2RvdWJsZXdyaXRlX2JhdGNoX3NpemUJMTIwCitzZWxlY3QgKiBm cm9tIGluZm9ybWF0aW9uX3NjaGVtYS5nbG9iYWxfdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25h bWU9J2lubm9kYl9kb3VibGV3cml0ZV9iYXRjaF9zaXplJzsKK1ZBUklBQkxFX05BTUUJVkFSSUFC TEVfVkFMVUUKK0lOTk9EQl9ET1VCTEVXUklURV9CQVRDSF9TSVpFCTEyMAorc2VsZWN0ICogZnJv bSBpbmZvcm1hdGlvbl9zY2hlbWEuc2Vzc2lvbl92YXJpYWJsZXMgd2hlcmUgdmFyaWFibGVfbmFt ZT0naW5ub2RiX2RvdWJsZXdyaXRlX2JhdGNoX3NpemUnOworVkFSSUFCTEVfTkFNRQlWQVJJQUJM RV9WQUxVRQorSU5OT0RCX0RPVUJMRVdSSVRFX0JBVENIX1NJWkUJMTIwCitzZXQgZ2xvYmFsIGlu bm9kYl9kb3VibGV3cml0ZV9iYXRjaF9zaXplPTE7CitFUlJPUiBIWTAwMDogVmFyaWFibGUgJ2lu bm9kYl9kb3VibGV3cml0ZV9iYXRjaF9zaXplJyBpcyBhIHJlYWQgb25seSB2YXJpYWJsZQorc2V0 IEBAc2Vzc2lvbi5pbm5vZGJfZG91Ymxld3JpdGVfYmF0Y2hfc2l6ZT0nc29tZSc7CitFUlJPUiBI WTAwMDogVmFyaWFibGUgJ2lubm9kYl9kb3VibGV3cml0ZV9iYXRjaF9zaXplJyBpcyBhIHJlYWQg b25seSB2YXJpYWJsZQoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMv ci9pbm5vZGJfcGFnZV9oYXNoX2xvY2tzX2Jhc2ljLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9z dWl0ZS9zeXNfdmFycy9yL2lubm9kYl9wYWdlX2hhc2hfbG9ja3NfYmFzaWMucmVzdWx0CTE5NzAt MDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy9yL2lu bm9kYl9wYWdlX2hhc2hfbG9ja3NfYmFzaWMucmVzdWx0CTIwMTItMDEtMTYgMTU6MTE6MzkgKzAw MDAKQEAgLTAsMCArMSwyNCBAQAorc2VsZWN0IEBAZ2xvYmFsLmlubm9kYl9wYWdlX2hhc2hfbG9j a3MgYmV0d2VlbiAxIGFuZCAxMDI0OworQEBnbG9iYWwuaW5ub2RiX3BhZ2VfaGFzaF9sb2NrcyBi ZXR3ZWVuIDEgYW5kIDEwMjQKKzEKK3NlbGVjdCBAQGdsb2JhbC5pbm5vZGJfcGFnZV9oYXNoX2xv Y2tzOworQEBnbG9iYWwuaW5ub2RiX3BhZ2VfaGFzaF9sb2NrcworMTYKK3NlbGVjdCBAQHNlc3Np b24uaW5ub2RiX3BhZ2VfaGFzaF9sb2NrczsKK0VSUk9SIEhZMDAwOiBWYXJpYWJsZSAnaW5ub2Ri X3BhZ2VfaGFzaF9sb2NrcycgaXMgYSBHTE9CQUwgdmFyaWFibGUKK3Nob3cgZ2xvYmFsIHZhcmlh YmxlcyBsaWtlICdpbm5vZGJfcGFnZV9oYXNoX2xvY2tzJzsKK1ZhcmlhYmxlX25hbWUJVmFsdWUK K2lubm9kYl9wYWdlX2hhc2hfbG9ja3MJMTYKK3Nob3cgc2Vzc2lvbiB2YXJpYWJsZXMgbGlrZSAn aW5ub2RiX3BhZ2VfaGFzaF9sb2Nrcyc7CitWYXJpYWJsZV9uYW1lCVZhbHVlCitpbm5vZGJfcGFn ZV9oYXNoX2xvY2tzCTE2CitzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5nbG9iYWxf dmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl9wYWdlX2hhc2hfbG9ja3MnOwor VkFSSUFCTEVfTkFNRQlWQVJJQUJMRV9WQUxVRQorSU5OT0RCX1BBR0VfSEFTSF9MT0NLUwkxNgor c2VsZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuc2Vzc2lvbl92YXJpYWJsZXMgd2hlcmUg dmFyaWFibGVfbmFtZT0naW5ub2RiX3BhZ2VfaGFzaF9sb2Nrcyc7CitWQVJJQUJMRV9OQU1FCVZB UklBQkxFX1ZBTFVFCitJTk5PREJfUEFHRV9IQVNIX0xPQ0tTCTE2CitzZXQgZ2xvYmFsIGlubm9k Yl9wYWdlX2hhc2hfbG9ja3M9MTsKK0VSUk9SIEhZMDAwOiBWYXJpYWJsZSAnaW5ub2RiX3BhZ2Vf aGFzaF9sb2NrcycgaXMgYSByZWFkIG9ubHkgdmFyaWFibGUKK3NldCBAQHNlc3Npb24uaW5ub2Ri X3BhZ2VfaGFzaF9sb2Nrcz0nc29tZSc7CitFUlJPUiBIWTAwMDogVmFyaWFibGUgJ2lubm9kYl9w YWdlX2hhc2hfbG9ja3MnIGlzIGEgcmVhZCBvbmx5IHZhcmlhYmxlCgo9PT0gYWRkZWQgZmlsZSAn bXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy9yL2lubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVn X2Jhc2ljLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy9yL2lubm9kYl90 cnhfcnNlZ19uX3Nsb3RzX2RlYnVnX2Jhc2ljLnJlc3VsdAkxOTcwLTAxLTAxIDAwOjAwOjAwICsw MDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9pbm5vZGJfdHJ4X3JzZWdfbl9z bG90c19kZWJ1Z19iYXNpYy5yZXN1bHQJMjAxMi0wMS0xNiAxNDozOTowNSArMDAwMApAQCAtMCww ICsxLDY1IEBACitTRVQgQHN0YXJ0X2dsb2JhbF92YWx1ZSA9IEBAZ2xvYmFsLmlubm9kYl90cnhf cnNlZ19uX3Nsb3RzX2RlYnVnOworU0VMRUNUIEBzdGFydF9nbG9iYWxfdmFsdWU7CitAc3RhcnRf Z2xvYmFsX3ZhbHVlCiswCitzZWxlY3QgQEBnbG9iYWwuaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNf ZGVidWcgYmV0d2VlbiAwIGFuZCAxMDI0OworQEBnbG9iYWwuaW5ub2RiX3RyeF9yc2VnX25fc2xv dHNfZGVidWcgYmV0d2VlbiAwIGFuZCAxMDI0CisxCitzZWxlY3QgQEBnbG9iYWwuaW5ub2RiX3Ry eF9yc2VnX25fc2xvdHNfZGVidWc7CitAQGdsb2JhbC5pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19k ZWJ1ZworMAorc2VsZWN0IEBAc2Vzc2lvbi5pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1ZzsK K0VSUk9SIEhZMDAwOiBWYXJpYWJsZSAnaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWcnIGlz IGEgR0xPQkFMIHZhcmlhYmxlCitzaG93IGdsb2JhbCB2YXJpYWJsZXMgbGlrZSAnaW5ub2RiX3Ry eF9yc2VnX25fc2xvdHNfZGVidWcnOworVmFyaWFibGVfbmFtZQlWYWx1ZQoraW5ub2RiX3RyeF9y c2VnX25fc2xvdHNfZGVidWcJMAorc2hvdyBzZXNzaW9uIHZhcmlhYmxlcyBsaWtlICdpbm5vZGJf dHJ4X3JzZWdfbl9zbG90c19kZWJ1Zyc7CitWYXJpYWJsZV9uYW1lCVZhbHVlCitpbm5vZGJfdHJ4 X3JzZWdfbl9zbG90c19kZWJ1ZwkwCitzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5n bG9iYWxfdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl90cnhfcnNlZ19uX3Ns b3RzX2RlYnVnJzsKK1ZBUklBQkxFX05BTUUJVkFSSUFCTEVfVkFMVUUKK0lOTk9EQl9UUlhfUlNF R19OX1NMT1RTX0RFQlVHCTAKK3NlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnNlc3Np b25fdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl90cnhfcnNlZ19uX3Nsb3Rz X2RlYnVnJzsKK1ZBUklBQkxFX05BTUUJVkFSSUFCTEVfVkFMVUUKK0lOTk9EQl9UUlhfUlNFR19O X1NMT1RTX0RFQlVHCTAKK3NldCBnbG9iYWwgaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWc9 MTsKK3NlbGVjdCBAQGdsb2JhbC5pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1ZzsKK0BAZ2xv YmFsLmlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnCisxCitzZWxlY3QgKiBmcm9tIGluZm9y bWF0aW9uX3NjaGVtYS5nbG9iYWxfdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9k Yl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnJzsKK1ZBUklBQkxFX05BTUUJVkFSSUFCTEVfVkFMVUUK K0lOTk9EQl9UUlhfUlNFR19OX1NMT1RTX0RFQlVHCTEKK3NlbGVjdCAqIGZyb20gaW5mb3JtYXRp b25fc2NoZW1hLnNlc3Npb25fdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl90 cnhfcnNlZ19uX3Nsb3RzX2RlYnVnJzsKK1ZBUklBQkxFX05BTUUJVkFSSUFCTEVfVkFMVUUKK0lO Tk9EQl9UUlhfUlNFR19OX1NMT1RTX0RFQlVHCTEKK3NldCBAQGdsb2JhbC5pbm5vZGJfdHJ4X3Jz ZWdfbl9zbG90c19kZWJ1Zz0wOworc2VsZWN0IEBAZ2xvYmFsLmlubm9kYl90cnhfcnNlZ19uX3Ns b3RzX2RlYnVnOworQEBnbG9iYWwuaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWcKKzAKK3Nl bGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLmdsb2JhbF92YXJpYWJsZXMgd2hlcmUgdmFy aWFibGVfbmFtZT0naW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWcnOworVkFSSUFCTEVfTkFN RQlWQVJJQUJMRV9WQUxVRQorSU5OT0RCX1RSWF9SU0VHX05fU0xPVFNfREVCVUcJMAorc2VsZWN0 ICogZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuc2Vzc2lvbl92YXJpYWJsZXMgd2hlcmUgdmFyaWFi bGVfbmFtZT0naW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWcnOworVkFSSUFCTEVfTkFNRQlW QVJJQUJMRV9WQUxVRQorSU5OT0RCX1RSWF9SU0VHX05fU0xPVFNfREVCVUcJMAorc2V0IHNlc3Np b24gaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWc9J3NvbWUnOworRVJST1IgSFkwMDA6IFZh cmlhYmxlICdpbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1ZycgaXMgYSBHTE9CQUwgdmFyaWFi bGUgYW5kIHNob3VsZCBiZSBzZXQgd2l0aCBTRVQgR0xPQkFMCitzZXQgQEBzZXNzaW9uLmlubm9k Yl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnPSdzb21lJzsKK0VSUk9SIEhZMDAwOiBWYXJpYWJsZSAn aW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWcnIGlzIGEgR0xPQkFMIHZhcmlhYmxlIGFuZCBz aG91bGQgYmUgc2V0IHdpdGggU0VUIEdMT0JBTAorc2V0IGdsb2JhbCBpbm5vZGJfdHJ4X3JzZWdf bl9zbG90c19kZWJ1Zz0xLjE7CitFUlJPUiA0MjAwMDogSW5jb3JyZWN0IGFyZ3VtZW50IHR5cGUg dG8gdmFyaWFibGUgJ2lubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnJworc2V0IGdsb2JhbCBp bm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Zz0nZm9vJzsKK0VSUk9SIDQyMDAwOiBJbmNvcnJl Y3QgYXJndW1lbnQgdHlwZSB0byB2YXJpYWJsZSAnaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVi dWcnCitzZXQgZ2xvYmFsIGlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnPS0yOworV2Fybmlu Z3M6CitXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBpbm5vZGJfdHJ4X3JzZWdfbl9z bG90c19kZWJ1ZyB2YWx1ZTogJy0yJworc2V0IGdsb2JhbCBpbm5vZGJfdHJ4X3JzZWdfbl9zbG90 c19kZWJ1Zz0xZTE7CitFUlJPUiA0MjAwMDogSW5jb3JyZWN0IGFyZ3VtZW50IHR5cGUgdG8gdmFy aWFibGUgJ2lubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnJworc2V0IGdsb2JhbCBpbm5vZGJf dHJ4X3JzZWdfbl9zbG90c19kZWJ1Zz0xMDI0Oworc2V0IGdsb2JhbCBpbm5vZGJfdHJ4X3JzZWdf bl9zbG90c19kZWJ1Zz0xMDI1OworV2FybmluZ3M6CitXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGlu Y29ycmVjdCBpbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1ZyB2YWx1ZTogJzEwMjUnCitTRVQg QEBnbG9iYWwuaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWcgPSBAc3RhcnRfZ2xvYmFsX3Zh bHVlOworU0VMRUNUIEBAZ2xvYmFsLmlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnOworQEBn bG9iYWwuaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWcKKzAKCj09PSBtb2RpZmllZCBmaWxl ICdteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3IvcGx1Z2luX2Rpcl9iYXNpYy5yZXN1bHQnCi0t LSBhL215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9wbHVnaW5fZGlyX2Jhc2ljLnJlc3VsdAky MDExLTA4LTE2IDA5OjA4OjEwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMv ci9wbHVnaW5fZGlyX2Jhc2ljLnJlc3VsdAkyMDEyLTAxLTE2IDEwOjA0OjI4ICswMDAwCkBAIC0x LDIwICsxLDIwIEBACiBzZWxlY3QgQEBnbG9iYWwucGx1Z2luX2RpcjsKIEBAZ2xvYmFsLnBsdWdp bl9kaXIKLU1ZU1FMX1RNUF9ESVIKK01ZU1FMX1RNUF9ESVIvCiBzZWxlY3QgQEBzZXNzaW9uLnBs dWdpbl9kaXI7CiBFUlJPUiBIWTAwMDogVmFyaWFibGUgJ3BsdWdpbl9kaXInIGlzIGEgR0xPQkFM IHZhcmlhYmxlCiBzaG93IGdsb2JhbCB2YXJpYWJsZXMgbGlrZSAncGx1Z2luX2Rpcic7CiBWYXJp YWJsZV9uYW1lCVZhbHVlCi1wbHVnaW5fZGlyCU1ZU1FMX1RNUF9ESVIKK3BsdWdpbl9kaXIJTVlT UUxfVE1QX0RJUi8KIHNob3cgc2Vzc2lvbiB2YXJpYWJsZXMgbGlrZSAncGx1Z2luX2Rpcic7CiBW YXJpYWJsZV9uYW1lCVZhbHVlCi1wbHVnaW5fZGlyCU1ZU1FMX1RNUF9ESVIKK3BsdWdpbl9kaXIJ TVlTUUxfVE1QX0RJUi8KIHNlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLmdsb2JhbF92 YXJpYWJsZXMgd2hlcmUgdmFyaWFibGVfbmFtZT0ncGx1Z2luX2Rpcic7CiBWQVJJQUJMRV9OQU1F CVZBUklBQkxFX1ZBTFVFCi1QTFVHSU5fRElSCU1ZU1FMX1RNUF9ESVIKK1BMVUdJTl9ESVIJTVlT UUxfVE1QX0RJUi8KIHNlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnNlc3Npb25fdmFy aWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J3BsdWdpbl9kaXInOwogVkFSSUFCTEVfTkFNRQlW QVJJQUJMRV9WQUxVRQotUExVR0lOX0RJUglNWVNRTF9UTVBfRElSCitQTFVHSU5fRElSCU1ZU1FM X1RNUF9ESVIvCiBzZXQgZ2xvYmFsIHBsdWdpbl9kaXI9MTsKIEVSUk9SIEhZMDAwOiBWYXJpYWJs ZSAncGx1Z2luX2RpcicgaXMgYSByZWFkIG9ubHkgdmFyaWFibGUKIHNldCBzZXNzaW9uIHBsdWdp bl9kaXI9MTsKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3Qv YWxsX3ZhcnMudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy90L2FsbF92YXJz LnRlc3QJMjAxMi0wMS0xMCAwNToyNjoyOSArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3N5 c192YXJzL3QvYWxsX3ZhcnMudGVzdAkyMDEyLTAxLTE2IDE1OjExOjM5ICswMDAwCkBAIC01Miwx MiArNTIsNiBAQCBldmFsIGxvYWQgZGF0YSBpbmZpbGUgIiRNWVNRTFRFU1RfVkFSRElSCiBpbnNl cnQgaW50byB0MiBzZWxlY3QgdmFyaWFibGVfbmFtZSBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5n bG9iYWxfdmFyaWFibGVzOwogaW5zZXJ0IGludG8gdDIgc2VsZWN0IHZhcmlhYmxlX25hbWUgZnJv bSBpbmZvcm1hdGlvbl9zY2hlbWEuc2Vzc2lvbl92YXJpYWJsZXM7CiAKLSMgVGhlc2UgYXJlIG9u bHkgcHJlc2VudCBpbiBkZWJ1ZyBidWlsZHMuCi1kZWxldGUgZnJvbSB0MiB3aGVyZSB2YXJpYWJs ZV9uYW1lPSdpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zyc7Ci1kZWxldGUgZnJvbSB0MiB3 aGVyZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfcGFnZV9oYXNoX2xvY2tzJzsKLWRlbGV0ZSBmcm9t IHQyIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl9kb3VibGV3cml0ZV9iYXRjaF9zaXplJzsK LWRlbGV0ZSBmcm9tIHQyIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl90cnhfcnNlZ19uX3Ns b3RzX2RlYnVnJzsKLQogIyBQZXJmb3JtYW5jZSBzY2hlbWEgdmFyaWFibGVzIGFyZSB0b28gbG9u ZyBmb3IgZmlsZXMgbmFtZWQKICMgJ215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvdC8nIC4uLgog IyAuLi4gJ3BlcmZvcm1hbmNlX3NjaGVtYV9ldmVudHNfd2FpdHNfaGlzdG9yeV9sb25nX3NpemVf YmFzaWMtbWFzdGVyLm9wdCcKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL3N5 c192YXJzL3QvY2hhcmFjdGVyX3NldHNfZGlyX2Jhc2ljLnRlc3QnCi0tLSBhL215c3FsLXRlc3Qv c3VpdGUvc3lzX3ZhcnMvdC9jaGFyYWN0ZXJfc2V0c19kaXJfYmFzaWMudGVzdAkyMDEwLTAyLTE3 IDAzOjE0OjA5ICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvdC9jaGFyYWN0 ZXJfc2V0c19kaXJfYmFzaWMudGVzdAkyMDEyLTAxLTE2IDEwOjA0OjI4ICswMDAwCkBAIC0xLDE3 ICsxLDI2IEBACiAjCiAjIHNob3cgdGhlIGdsb2JhbCBhbmQgc2Vzc2lvbiB2YWx1ZXM7CiAjCi0t LXJlcGxhY2VfcmVzdWx0ICRNWVNRTF9DSEFSU0VUU0RJUiBNWVNRTF9DSEFSU0VUU0RJUgorCisj IHdvcmthcm91bmQgdG8gYWRqdXN0IGZvciB0aGUgZGlyZWN0b3J5IHNlcGFyYXRvcnMgYmVpbmcg ZGlmZmVyZW50IGluIAorIyBkaWZmZXJlbnQgT1NlcyA6IHNsYXNoIG9uIHVuaXhlcyBhbmQgYmFj a3NsYXNoIG9yIHNsYXNoIG9uIHdpbmRvd3MuCisjIFRPRE86IGZpeCB3aXRoIGEgcHJvcGVyIGNv bXBhcmlzb24gaW4gbXlzcWx0ZXN0CitsZXQgJHJjZD0gYFNFTEVDVCBSRVBMQUNFKCckTVlTUUxf Q0hBUlNFVFNESVInLCAnXFxcXFwnLCAnLicpYDsKK2xldCAkcmNkPSBgU0VMRUNUIFJFUExBQ0Uo JyRyY2QnLCAnLycsICcuJylgOworbGV0ICRyZWdleF9jaGFyc2V0ZGlyPSBgU0VMRUNUICcvJHJj ZFtcXFxcXC9cXFxcXF0vTVlTUUxfQ0hBUlNFVFNESVIvJ2A7CisKKy0tcmVwbGFjZV9yZWdleCAk cmVnZXhfY2hhcnNldGRpcgogc2VsZWN0IEBAZ2xvYmFsLmNoYXJhY3Rlcl9zZXRzX2RpcjsKKwog LS1lcnJvciBFUl9JTkNPUlJFQ1RfR0xPQkFMX0xPQ0FMX1ZBUgogc2VsZWN0IEBAc2Vzc2lvbi5j aGFyYWN0ZXJfc2V0c19kaXI7Ci0tLXJlcGxhY2VfcmVzdWx0ICRNWVNRTF9DSEFSU0VUU0RJUiBN WVNRTF9DSEFSU0VUU0RJUgorLS1yZXBsYWNlX3JlZ2V4ICRyZWdleF9jaGFyc2V0ZGlyCiBzaG93 IGdsb2JhbCB2YXJpYWJsZXMgbGlrZSAnY2hhcmFjdGVyX3NldHNfZGlyJzsKLS0tcmVwbGFjZV9y ZXN1bHQgJE1ZU1FMX0NIQVJTRVRTRElSIE1ZU1FMX0NIQVJTRVRTRElSCistLXJlcGxhY2VfcmVn ZXggJHJlZ2V4X2NoYXJzZXRkaXIKIHNob3cgc2Vzc2lvbiB2YXJpYWJsZXMgbGlrZSAnY2hhcmFj dGVyX3NldHNfZGlyJzsKLS0tcmVwbGFjZV9yZXN1bHQgJE1ZU1FMX0NIQVJTRVRTRElSIE1ZU1FM X0NIQVJTRVRTRElSCistLXJlcGxhY2VfcmVnZXggJHJlZ2V4X2NoYXJzZXRkaXIKIHNlbGVjdCAq IGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLmdsb2JhbF92YXJpYWJsZXMgd2hlcmUgdmFyaWFibGVf bmFtZT0nY2hhcmFjdGVyX3NldHNfZGlyJzsKLS0tcmVwbGFjZV9yZXN1bHQgJE1ZU1FMX0NIQVJT RVRTRElSIE1ZU1FMX0NIQVJTRVRTRElSCistLXJlcGxhY2VfcmVnZXggJHJlZ2V4X2NoYXJzZXRk aXIKIHNlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnNlc3Npb25fdmFyaWFibGVzIHdo ZXJlIHZhcmlhYmxlX25hbWU9J2NoYXJhY3Rlcl9zZXRzX2Rpcic7CiAKICMKCj09PSBhZGRlZCBm aWxlICdteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdf ZGVidWdfYmFzaWMudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy90L2lubm9k Yl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnX2Jhc2ljLnRlc3QJMTk3MC0wMS0wMSAwMDowMDowMCAr MDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvaW5ub2RiX2NoYW5nZV9idWZm ZXJpbmdfZGVidWdfYmFzaWMudGVzdAkyMDEyLTAxLTE2IDE0OjM5OjA1ICswMDAwCkBAIC0wLDAg KzEsNTIgQEAKKy0tc291cmNlIGluY2x1ZGUvaGF2ZV9pbm5vZGIuaW5jCistLXNvdXJjZSBpbmNs dWRlL2hhdmVfZGVidWcuaW5jCisKK1NFVCBAc3RhcnRfZ2xvYmFsX3ZhbHVlID0gQEBnbG9iYWwu aW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWc7CitTRUxFQ1QgQHN0YXJ0X2dsb2JhbF92YWx1 ZTsKKworIworIyBleGlzdHMgYXMgZ2xvYmFsIG9ubHkKKyMKK3NlbGVjdCBAQGdsb2JhbC5pbm5v ZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1ZyBpbiAoMCwgMSk7CitzZWxlY3QgQEBnbG9iYWwuaW5u b2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWc7CistLWVycm9yIEVSX0lOQ09SUkVDVF9HTE9CQUxf TE9DQUxfVkFSCitzZWxlY3QgQEBzZXNzaW9uLmlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVn Oworc2hvdyBnbG9iYWwgdmFyaWFibGVzIGxpa2UgJ2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2Rl YnVnJzsKK3Nob3cgc2Vzc2lvbiB2YXJpYWJsZXMgbGlrZSAnaW5ub2RiX2NoYW5nZV9idWZmZXJp bmdfZGVidWcnOworc2VsZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuZ2xvYmFsX3Zhcmlh YmxlcyB3aGVyZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zyc7 CitzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5zZXNzaW9uX3ZhcmlhYmxlcyB3aGVy ZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zyc7CisKKyMKKyMg c2hvdyB0aGF0IGl0J3Mgd3JpdGFibGUKKyMKK3NldCBnbG9iYWwgaW5ub2RiX2NoYW5nZV9idWZm ZXJpbmdfZGVidWc9MTsKK3NlbGVjdCBAQGdsb2JhbC5pbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19k ZWJ1ZzsKK3NlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLmdsb2JhbF92YXJpYWJsZXMg d2hlcmUgdmFyaWFibGVfbmFtZT0naW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWcnOworc2Vs ZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuc2Vzc2lvbl92YXJpYWJsZXMgd2hlcmUgdmFy aWFibGVfbmFtZT0naW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWcnOworc2V0IEBAZ2xvYmFs Lmlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnPTA7CitzZWxlY3QgQEBnbG9iYWwuaW5ub2Ri X2NoYW5nZV9idWZmZXJpbmdfZGVidWc7CitzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVt YS5nbG9iYWxfdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl9jaGFuZ2VfYnVm ZmVyaW5nX2RlYnVnJzsKK3NlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnNlc3Npb25f dmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2Rl YnVnJzsKKy0tZXJyb3IgRVJfR0xPQkFMX1ZBUklBQkxFCitzZXQgc2Vzc2lvbiBpbm5vZGJfY2hh bmdlX2J1ZmZlcmluZ19kZWJ1Zz0nc29tZSc7CistLWVycm9yIEVSX0dMT0JBTF9WQVJJQUJMRQor c2V0IEBAc2Vzc2lvbi5pbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zz0nc29tZSc7CisKKyMK KyMgaW5jb3JyZWN0IHR5cGVzCisjCistLWVycm9yIEVSX1dST05HX1RZUEVfRk9SX1ZBUgorc2V0 IGdsb2JhbCBpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zz0xLjE7CistLWVycm9yIEVSX1dS T05HX1RZUEVfRk9SX1ZBUgorc2V0IGdsb2JhbCBpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1 Zz0nZm9vJzsKK3NldCBnbG9iYWwgaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWc9LTI7Cist LWVycm9yIEVSX1dST05HX1RZUEVfRk9SX1ZBUgorc2V0IGdsb2JhbCBpbm5vZGJfY2hhbmdlX2J1 ZmZlcmluZ19kZWJ1Zz0xZTE7CitzZXQgZ2xvYmFsIGlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2Rl YnVnPTI7CisKKyMKKyMgQ2xlYW51cAorIworCitTRVQgQEBnbG9iYWwuaW5ub2RiX2NoYW5nZV9i dWZmZXJpbmdfZGVidWcgPSBAc3RhcnRfZ2xvYmFsX3ZhbHVlOworU0VMRUNUIEBAZ2xvYmFsLmlu bm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnOwoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qv c3VpdGUvc3lzX3ZhcnMvdC9pbm5vZGJfZG91Ymxld3JpdGVfYmF0Y2hfc2l6ZV9iYXNpYy50ZXN0 JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvaW5ub2RiX2RvdWJsZXdyaXRlX2Jh dGNoX3NpemVfYmFzaWMudGVzdAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3Fs LXRlc3Qvc3VpdGUvc3lzX3ZhcnMvdC9pbm5vZGJfZG91Ymxld3JpdGVfYmF0Y2hfc2l6ZV9iYXNp Yy50ZXN0CTIwMTItMDEtMTYgMTU6MTE6MzkgKzAwMDAKQEAgLTAsMCArMSwyMiBAQAorLS1zb3Vy Y2UgaW5jbHVkZS9oYXZlX2lubm9kYi5pbmMKKy0tc291cmNlIGluY2x1ZGUvaGF2ZV9kZWJ1Zy5p bmMKKworIworIyBleGlzdHMgYXMgZ2xvYmFsIG9ubHkKKyMKK3NlbGVjdCBAQGdsb2JhbC5pbm5v ZGJfZG91Ymxld3JpdGVfYmF0Y2hfc2l6ZSBiZXR3ZWVuIDEgYW5kIDEyNzsKK3NlbGVjdCBAQGds b2JhbC5pbm5vZGJfZG91Ymxld3JpdGVfYmF0Y2hfc2l6ZTsKKy0tZXJyb3IgRVJfSU5DT1JSRUNU X0dMT0JBTF9MT0NBTF9WQVIKK3NlbGVjdCBAQHNlc3Npb24uaW5ub2RiX2RvdWJsZXdyaXRlX2Jh dGNoX3NpemU7CitzaG93IGdsb2JhbCB2YXJpYWJsZXMgbGlrZSAnaW5ub2RiX2RvdWJsZXdyaXRl X2JhdGNoX3NpemUnOworc2hvdyBzZXNzaW9uIHZhcmlhYmxlcyBsaWtlICdpbm5vZGJfZG91Ymxl d3JpdGVfYmF0Y2hfc2l6ZSc7CitzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5nbG9i YWxfdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl9kb3VibGV3cml0ZV9iYXRj aF9zaXplJzsKK3NlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnNlc3Npb25fdmFyaWFi bGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl9kb3VibGV3cml0ZV9iYXRjaF9zaXplJzsK KworIworIyBzaG93IHRoYXQgaXQncyByZWFkLW9ubHkKKyMKKy0tZXJyb3IgRVJfSU5DT1JSRUNU X0dMT0JBTF9MT0NBTF9WQVIKK3NldCBnbG9iYWwgaW5ub2RiX2RvdWJsZXdyaXRlX2JhdGNoX3Np emU9MTsKKy0tZXJyb3IgRVJfSU5DT1JSRUNUX0dMT0JBTF9MT0NBTF9WQVIKK3NldCBAQHNlc3Np b24uaW5ub2RiX2RvdWJsZXdyaXRlX2JhdGNoX3NpemU9J3NvbWUnOwoKPT09IGFkZGVkIGZpbGUg J215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvdC9pbm5vZGJfcGFnZV9oYXNoX2xvY2tzX2Jhc2lj LnRlc3QnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvdC9pbm5vZGJfcGFnZV9oYXNo X2xvY2tzX2Jhc2ljLnRlc3QJMTk3MC0wMS0wMSAwMDowMDowMCArMDAwMAorKysgYi9teXNxbC10 ZXN0L3N1aXRlL3N5c192YXJzL3QvaW5ub2RiX3BhZ2VfaGFzaF9sb2Nrc19iYXNpYy50ZXN0CTIw MTItMDEtMTYgMTU6MTE6MzkgKzAwMDAKQEAgLTAsMCArMSwyMiBAQAorLS1zb3VyY2UgaW5jbHVk ZS9oYXZlX2lubm9kYi5pbmMKKy0tc291cmNlIGluY2x1ZGUvaGF2ZV9kZWJ1Zy5pbmMKKworIwor IyBleGlzdHMgYXMgZ2xvYmFsIG9ubHkKKyMKK3NlbGVjdCBAQGdsb2JhbC5pbm5vZGJfcGFnZV9o YXNoX2xvY2tzIGJldHdlZW4gMSBhbmQgMTAyNDsKK3NlbGVjdCBAQGdsb2JhbC5pbm5vZGJfcGFn ZV9oYXNoX2xvY2tzOworLS1lcnJvciBFUl9JTkNPUlJFQ1RfR0xPQkFMX0xPQ0FMX1ZBUgorc2Vs ZWN0IEBAc2Vzc2lvbi5pbm5vZGJfcGFnZV9oYXNoX2xvY2tzOworc2hvdyBnbG9iYWwgdmFyaWFi bGVzIGxpa2UgJ2lubm9kYl9wYWdlX2hhc2hfbG9ja3MnOworc2hvdyBzZXNzaW9uIHZhcmlhYmxl cyBsaWtlICdpbm5vZGJfcGFnZV9oYXNoX2xvY2tzJzsKK3NlbGVjdCAqIGZyb20gaW5mb3JtYXRp b25fc2NoZW1hLmdsb2JhbF92YXJpYWJsZXMgd2hlcmUgdmFyaWFibGVfbmFtZT0naW5ub2RiX3Bh Z2VfaGFzaF9sb2Nrcyc7CitzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5zZXNzaW9u X3ZhcmlhYmxlcyB3aGVyZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfcGFnZV9oYXNoX2xvY2tzJzsK KworIworIyBzaG93IHRoYXQgaXQncyByZWFkLW9ubHkKKyMKKy0tZXJyb3IgRVJfSU5DT1JSRUNU X0dMT0JBTF9MT0NBTF9WQVIKK3NldCBnbG9iYWwgaW5ub2RiX3BhZ2VfaGFzaF9sb2Nrcz0xOwor LS1lcnJvciBFUl9JTkNPUlJFQ1RfR0xPQkFMX0xPQ0FMX1ZBUgorc2V0IEBAc2Vzc2lvbi5pbm5v ZGJfcGFnZV9oYXNoX2xvY2tzPSdzb21lJzsKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1 aXRlL3N5c192YXJzL3QvaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWdfYmFzaWMudGVzdCcK LS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy90L2lubm9kYl90cnhfcnNlZ19uX3Nsb3Rz X2RlYnVnX2Jhc2ljLnRlc3QJMTk3MC0wMS0wMSAwMDowMDowMCArMDAwMAorKysgYi9teXNxbC10 ZXN0L3N1aXRlL3N5c192YXJzL3QvaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWdfYmFzaWMu dGVzdAkyMDEyLTAxLTE2IDE0OjM5OjA1ICswMDAwCkBAIC0wLDAgKzEsNTMgQEAKKy0tc291cmNl IGluY2x1ZGUvaGF2ZV9pbm5vZGIuaW5jCistLXNvdXJjZSBpbmNsdWRlL2hhdmVfZGVidWcuaW5j CisKK1NFVCBAc3RhcnRfZ2xvYmFsX3ZhbHVlID0gQEBnbG9iYWwuaW5ub2RiX3RyeF9yc2VnX25f c2xvdHNfZGVidWc7CitTRUxFQ1QgQHN0YXJ0X2dsb2JhbF92YWx1ZTsKKworIworIyBleGlzdHMg YXMgZ2xvYmFsIG9ubHkKKyMKK3NlbGVjdCBAQGdsb2JhbC5pbm5vZGJfdHJ4X3JzZWdfbl9zbG90 c19kZWJ1ZyBiZXR3ZWVuIDAgYW5kIDEwMjQ7CitzZWxlY3QgQEBnbG9iYWwuaW5ub2RiX3RyeF9y c2VnX25fc2xvdHNfZGVidWc7CistLWVycm9yIEVSX0lOQ09SUkVDVF9HTE9CQUxfTE9DQUxfVkFS CitzZWxlY3QgQEBzZXNzaW9uLmlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnOworc2hvdyBn bG9iYWwgdmFyaWFibGVzIGxpa2UgJ2lubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnJzsKK3No b3cgc2Vzc2lvbiB2YXJpYWJsZXMgbGlrZSAnaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWcn Oworc2VsZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuZ2xvYmFsX3ZhcmlhYmxlcyB3aGVy ZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Zyc7CitzZWxlY3Qg KiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5zZXNzaW9uX3ZhcmlhYmxlcyB3aGVyZSB2YXJpYWJs ZV9uYW1lPSdpbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Zyc7CisKKyMKKyMgc2hvdyB0aGF0 IGl0J3Mgd3JpdGFibGUKKyMKK3NldCBnbG9iYWwgaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVi dWc9MTsKK3NlbGVjdCBAQGdsb2JhbC5pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1ZzsKK3Nl bGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLmdsb2JhbF92YXJpYWJsZXMgd2hlcmUgdmFy aWFibGVfbmFtZT0naW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWcnOworc2VsZWN0ICogZnJv bSBpbmZvcm1hdGlvbl9zY2hlbWEuc2Vzc2lvbl92YXJpYWJsZXMgd2hlcmUgdmFyaWFibGVfbmFt ZT0naW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWcnOworc2V0IEBAZ2xvYmFsLmlubm9kYl90 cnhfcnNlZ19uX3Nsb3RzX2RlYnVnPTA7CitzZWxlY3QgQEBnbG9iYWwuaW5ub2RiX3RyeF9yc2Vn X25fc2xvdHNfZGVidWc7CitzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5nbG9iYWxf dmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2Rl YnVnJzsKK3NlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnNlc3Npb25fdmFyaWFibGVz IHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnJzsKKy0t ZXJyb3IgRVJfR0xPQkFMX1ZBUklBQkxFCitzZXQgc2Vzc2lvbiBpbm5vZGJfdHJ4X3JzZWdfbl9z bG90c19kZWJ1Zz0nc29tZSc7CistLWVycm9yIEVSX0dMT0JBTF9WQVJJQUJMRQorc2V0IEBAc2Vz c2lvbi5pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Zz0nc29tZSc7CisKKyMKKyMgaW5jb3Jy ZWN0IHR5cGVzCisjCistLWVycm9yIEVSX1dST05HX1RZUEVfRk9SX1ZBUgorc2V0IGdsb2JhbCBp bm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Zz0xLjE7CistLWVycm9yIEVSX1dST05HX1RZUEVf Rk9SX1ZBUgorc2V0IGdsb2JhbCBpbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Zz0nZm9vJzsK K3NldCBnbG9iYWwgaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWc9LTI7CistLWVycm9yIEVS X1dST05HX1RZUEVfRk9SX1ZBUgorc2V0IGdsb2JhbCBpbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19k ZWJ1Zz0xZTE7CitzZXQgZ2xvYmFsIGlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnPTEwMjQ7 CitzZXQgZ2xvYmFsIGlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnPTEwMjU7CisKKyMKKyMg Q2xlYW51cAorIworCitTRVQgQEBnbG9iYWwuaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWcg PSBAc3RhcnRfZ2xvYmFsX3ZhbHVlOworU0VMRUNUIEBAZ2xvYmFsLmlubm9kYl90cnhfcnNlZ19u X3Nsb3RzX2RlYnVnOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC9jdHlwZV9tYW55 LnRlc3QnCi0tLSBhL215c3FsLXRlc3QvdC9jdHlwZV9tYW55LnRlc3QJMjAxMS0wMS0xNyAxMjoy NjoxMyArMDAwMAorKysgYi9teXNxbC10ZXN0L3QvY3R5cGVfbWFueS50ZXN0CTIwMTItMDEtMTYg MDk6MDE6NTMgKzAwMDAKQEAgLTMxOSwzICszMTksMTUgQEAgRFJPUCBUQUJMRSB0MjsKIC0tZWNo byAjCiAtLWVjaG8gIyBFbmQgb2YgNS41IHRlc3RzCiAtLWVjaG8gIworCistLWVjaG8gIworLS1l Y2hvICMgQnVnIzExNzY2MTQzIDU5MTg1OiBBU1NFUlRJT04gRkFJTEVEOiAoRklYRUQgPT0gMSks IEZJTEUKKy0tZWNobyAjIElURU1fU1RSRlVOQy5DQywgTElORSAyNzYwCistLWVjaG8gIworQ1JF QVRFIFRBQkxFIHQxIChhIENIQVIoMSkgQ0hBUlNFVCBVVEY4KTsKK0lOU0VSVCBJTlRPIHQxIFZB TFVFUyAoJ2EnKSwgKCdiJyk7CitDUkVBVEUgVEFCTEUgdDIgKGEgQklOQVJZKDEpKTsKKy0tZXJy b3IgRVJfU1VCUVVFUllfTk9fMV9ST1cKK1NFTEVDVCAqIEZST00gdDIgV0hFUkUgYT0oU0VMRUNU IGEgRlJPTSB0MSkgQU5EIGE9X0xBVElOMSd4JzsKK0RST1AgVEFCTEUgdDI7CitEUk9QIFRBQkxF IHQxOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC9mdW5jX3RpbWUudGVzdCcKLS0t IGEvbXlzcWwtdGVzdC90L2Z1bmNfdGltZS50ZXN0CTIwMTItMDEtMTMgMDg6MzY6NDMgKzAwMDAK KysrIGIvbXlzcWwtdGVzdC90L2Z1bmNfdGltZS50ZXN0CTIwMTItMDEtMTcgMDg6MjM6NTcgKzAw MDAKQEAgLTEwMDUsNiArMTAwNSwyNyBAQCBkcm9wIHRhYmxlIHQxOwogLS1lY2hvICMKIAogLS1l Y2hvICMKKy0tZWNobyAjIEJVRyMxMzU0NTIzNiAtIEFTU0VSVCBJTiBTRUNfU0lOQ0VfRVBPQ0gK Ky0tZWNobyAjCitDUkVBVEUgVEFCTEUgdDEgKGEgVElNRSBOT1QgTlVMTCk7CitJTlNFUlQgSU5U TyB0MSBWQUxVRVMgKCcwNDozOToyNCcpOworSU5TRVJUIElOVE8gdDEgVkFMVUVTICgnMDA6MjA6 MDknKTsKK1NFTEVDVCBhIEZST00gdDEKK1dIRVJFIENPTlZFUlRfVFooVElNRVNUQU1QQUREKFlF QVIgLCBhLCBUSU1FU1RBTVAoJzAwMDAtMDAtMDAnKSksCisgICAgICAgICAgICAgICAgICcrMDA6 MDAnLCcrMDA6MDAnKTsKK1NFTEVDVCBhIEZST00gdDEKK1dIRVJFIENPTlZFUlRfVFooVElNRVNU QU1QQUREKFlFQVIsIGEsIERBVEUoJzAwMDAtMDAtMDAnKSksCisgICAgICAgICAgICAgICAgICcr MDA6MDAnLCcrMDA6MDAnKTsKK0RST1AgVEFCTEUgdDE7CitDUkVBVEUgVEFCTEUgdDEgKGEgVElN RSk7CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMgKCcwMDowMDowMCcpOworU0VMRUNUICogRlJPTSB0 MSBXSEVSRSBUSU1FU1RBTVBESUZGKE1PTlRILCBhLCBUSU1FU1RBTVAoJzAwMDAtMDAtMDEnKSkg SVMgTlVMTDsKK1NFTEVDVCAqIEZST00gdDEgV0hFUkUgVElNRVNUQU1QRElGRihNT05USCwgYSwg VElNRVNUQU1QJzAwMDAtMDAtMDEgMDA6MDA6MDAnKSBJUyBOVUxMOworU0VMRUNUICogRlJPTSB0 MSBXSEVSRSBUSU1FU1RBTVBESUZGKE1PTlRILCBhLCBEQVRFKCcwMDAwLTAwLTAxJykpIElTIE5V TEw7CitTRUxFQ1QgKiBGUk9NIHQxIFdIRVJFIFRJTUVTVEFNUERJRkYoTU9OVEgsIGEsIERBVEUn MDAwMC0wMC0wMScpIElTIE5VTEw7CitEUk9QIFRBQkxFIHQxOworCistLWVjaG8gIwogLS1lY2hv ICMgQlVHIzEzMzU0Mzg3IC0gQ1JBU0ggSU4gSU4gTVlfREVDSU1BTDo6T1BFUkFUT1IgRk9SIFZJ RVcgQU5EIEZVTkNUSU9OIFVOSVhfVElNRVNUQU1QIAogLS1lY2hvICMgUGFydDIgKDUuNikKIENS RUFURSBUQUJMRSB0MSAoYSBWQVJDSEFSKDMyKSBOT1QgTlVMTCk7Cgo9PT0gbW9kaWZpZWQgZmls ZSAnbXlzcWwtdGVzdC90L3BhcnRpdGlvbi50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3QvcGFydGl0 aW9uLnRlc3QJMjAxMS0xMC0wNiAwOTo1MDo0MCArMDAwMAorKysgYi9teXNxbC10ZXN0L3QvcGFy dGl0aW9uLnRlc3QJMjAxMi0wMS0xOCAxMzowMzoxMCArMDAwMApAQCAtMjQzMywzICsyNDMzLDI3 IEBAIFNFTEVDVCAxIEZST00gdDEgQVMgdDFfMCBKT0lOIHQxIE9OIHQxXzAKIFNFTEVDVCAqIEZS T00gdnRtcDsKIERST1AgVklFVyB2dG1wOwogRFJPUCBUQUJMRSB0MTsKKworLS1lY2hvICMKKy0t ZWNobyAjIEJ1ZyMxMzU4MDc3NSBBU1NFUlRJT04gRkFJTEVEOiBSRUNPUkRfTEVOR1RIID09IE1f UkVDT1JEX0xFTkdUSCwKKy0tZWNobyAjIEZJTEUgRklMRVNPUlRfVVRJTFMuQ0MKKy0tZWNobyAj CisKK0NSRUFURSBUQUJMRSB0MSAoCisgIGEgSU5UIFBSSU1BUlkgS0VZLAorICBiIElOVCwKKyAg YyBDSEFSKDEpLAorICBkIElOVCwKKyAgS0VZIChjLGQpCispIFBBUlRJVElPTiBCWSBLRVkgKCkg UEFSVElUSU9OUyAxOworCitJTlNFUlQgSU5UTyB0MSBWQUxVRVMgKDEsMSwnYScsMSksICgyLDIs J2EnLDEpOworCitTRUxFQ1QgMSBGUk9NIHQxIFdIRVJFIDEgSU4KKyhTRUxFQ1QgIGdyb3VwX2Nv bmNhdChiKQorIEZST00gdDEKKyBXSEVSRSBjID4gZ2VvbWZyb210ZXh0KCdwb2ludCgxIDEpJykK KyBHUk9VUCBCWSBiCispOworCitEUk9QIFRBQkxFIHQxOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215 c3FsLXRlc3QvdC91c2VyX3Zhci50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3QvdXNlcl92YXIudGVz dAkyMDExLTEwLTI3IDA4OjA4OjQ2ICswMDAwCisrKyBiL215c3FsLXRlc3QvdC91c2VyX3Zhci50 ZXN0CTIwMTItMDEtMTcgMTQ6NDQ6NDkgKzAwMDAKQEAgLTQxNSwzICs0MTUsMjQgQEAgSU5TRVJU IElOVE8gdDEgVkFMVUVTICgxKSwgKDIpOwogU0VMRUNUIERJU1RJTkNUIEBhOj1NSU4odDEuYSkg RlJPTSB0MSwgdDEgQVMgdDIKIEdST1VQIEJZIEBiOj0oU0VMRUNUIENPVU5UKCopID4gdDIuYSk7 CiBEUk9QIFRBQkxFIHQxOworCisjCisjIEJ1ZyAjMTE3NjQzNzEgNTcxOTY6IE1PUkUgRlVOIFdJ VEggQVNTRVJUSU9OOiAhVEFCTEUtPkZJTEUgfHwKKyMgVEFCTEUtPkZJTEUtPklOSVRFRCA9PSBI QU5ETEVSOjoKKyMKKworQ1JFQVRFIFRBQkxFIHQxKGEgSU5UKSBFTkdJTkU9SW5ub0RCOworSU5T RVJUIElOVE8gdDEgVkFMVUVTICgwKTsKK1NFTEVDVCBESVNUSU5DVCBQT1coQ09VTlQoKiksIEBh Oj0oU0VMRUNUIDEgRlJPTSB0MSBMRUZUIEpPSU4gdDEgQVMgdDIgT04gQGEpKQorQVMgYiBGUk9N IHQxIEdST1VQIEJZIGE7CitTRUxFQ1QgQGE7CitEUk9QIFRBQkxFIHQxOworQ1JFQVRFIFRBQkxF IHQxKGYxIElOVCwgZjIgSU5UKTsKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUyAoMSwyKSwoMiwzKSwo MywxKTsKK0NSRUFURSBUQUJMRSB0MihhIElOVCk7CitJTlNFUlQgSU5UTyB0MiBWQUxVRVMgKDEp OworU0VUIEB2YXI9TlVMTDsKK1NFTEVDVCBAdmFyOj0oU0VMRUNUIGYyIEZST00gdDIgV0hFUkUg QHZhcikgRlJPTSB0MSBHUk9VUCBCWSBmMSBPUkRFUiBCWSBmMiBERVNDCitMSU1JVCAxOworU0VM RUNUIEB2YXI7CitEUk9QIFRBQkxFIHQxLCB0MjsKCj09PSBtb2RpZmllZCBmaWxlICdzY3JpcHRz L215c3FsX3N5c3RlbV90YWJsZXMuc3FsJwotLS0gYS9zY3JpcHRzL215c3FsX3N5c3RlbV90YWJs ZXMuc3FsCTIwMTEtMTItMTQgMDg6MjQ6MTEgKzAwMDAKKysrIGIvc2NyaXB0cy9teXNxbF9zeXN0 ZW1fdGFibGVzLnNxbAkyMDEyLTAxLTE3IDA5OjA0OjE5ICswMDAwCkBAIC0xMTcsNyArMTE3LDcg QEAgQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgaW5ub2RiX3RhYmxlXwogCWNsdXN0ZXJlZF9p bmRleF9zaXplCQlCSUdJTlQgVU5TSUdORUQgTk9UIE5VTEwsCiAJc3VtX29mX290aGVyX2luZGV4 X3NpemVzCUJJR0lOVCBVTlNJR05FRCBOT1QgTlVMTCwKIAlQUklNQVJZIEtFWSAoZGF0YWJhc2Vf bmFtZSwgdGFibGVfbmFtZSkKLSkgRU5HSU5FPUlOTk9EQiBERUZBVUxUIENIQVJTRVQ9dXRmODsK KykgRU5HSU5FPUlOTk9EQiBERUZBVUxUIENIQVJTRVQ9dXRmOCBDT0xMQVRFPXV0ZjhfYmluOwog CiBDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBpbm5vZGJfaW5kZXhfc3RhdHMgKAogCWRhdGFi YXNlX25hbWUJCQlWQVJDSEFSKDY0KSBOT1QgTlVMTCwKQEAgLTEzNSw3ICsxMzUsNyBAQCBDUkVB VEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBpbm5vZGJfaW5kZXhfCiAJUFJJTUFSWSBLRVkgKGRhdGFi YXNlX25hbWUsIHRhYmxlX25hbWUsIGluZGV4X25hbWUsIHN0YXRfbmFtZSksCiAJRk9SRUlHTiBL RVkgKGRhdGFiYXNlX25hbWUsIHRhYmxlX25hbWUpCiAJICBSRUZFUkVOQ0VTIGlubm9kYl90YWJs ZV9zdGF0cyAoZGF0YWJhc2VfbmFtZSwgdGFibGVfbmFtZSkKLSkgRU5HSU5FPUlOTk9EQiBERUZB VUxUIENIQVJTRVQ9dXRmODsKKykgRU5HSU5FPUlOTk9EQiBERUZBVUxUIENIQVJTRVQ9dXRmOCBD T0xMQVRFPXV0ZjhfYmluOwogCiBTRVQgU0VTU0lPTiBzcWxfbW9kZT1Ac3FsX21vZGVfb3JpZzsK IAoKPT09IG1vZGlmaWVkIGZpbGUgJ3NjcmlwdHMvbXlzcWxkX3NhZmUuc2gnCi0tLSBhL3Njcmlw dHMvbXlzcWxkX3NhZmUuc2gJMjAxMS0xMS0xOCAxMjo0ODo1MiArMDAwMAorKysgYi9zY3JpcHRz L215c3FsZF9zYWZlLnNoCTIwMTItMDEtMTcgMDk6Mzk6NTQgKzAwMDAKQEAgLTc0MSwxNyArNzQx LDU1IEBAIGNtZD0iJGNtZCAkYXJncyIKIHRlc3QgLW4gIiROT0hVUF9OSUNFTkVTUyIgJiYgY21k PSIkY21kIDwgL2Rldi9udWxsIgogCiBsb2dfbm90aWNlICJTdGFydGluZyAkTVlTUUxEIGRhZW1v biB3aXRoIGRhdGFiYXNlcyBmcm9tICREQVRBRElSIgorCisjIHZhcmlhYmxlIHRvIHRyYWNrIHRo ZSBjdXJyZW50IG51bWJlciBvZiAiZmFzdCIgKGEuay5hLiBzdWJzZWNvbmQpIHJlc3RhcnRzCitm YXN0X3Jlc3RhcnQ9MAorIyBtYXhpbXVtIG51bWJlciBvZiByZXN0YXJ0cyBiZWZvcmUgdHJvdHRs aW5nIGtpY2tzIGluCittYXhfZmFzdF9yZXN0YXJ0cz01CisjIGZsYWcgd2hldGhlciBhIHVzYWJs ZSBzbGVlcCBjb21tYW5kIGV4aXN0cworaGF2ZV9zbGVlcD0xCisKIHdoaWxlIHRydWUKIGRvCiAg IHJtIC1mICRzYWZlX215c3FsX3VuaXhfcG9ydCAiJHBpZF9maWxlIgkjIFNvbWUgZXh0cmEgc2Fm ZXR5CiAKKyAgc3RhcnRfdGltZT1gZGF0ZSArJU0lU2AKKwogICBldmFsX2xvZ19lcnJvciAiJGNt ZCIKIAorICBlbmRfdGltZT1gZGF0ZSArJU0lU2AKKwogICBpZiB0ZXN0ICEgLWYgIiRwaWRfZmls ZSIJCSMgVGhpcyBpcyByZW1vdmVkIGlmIG5vcm1hbCBzaHV0ZG93bgogICB0aGVuCiAgICAgYnJl YWsKICAgZmkKIAorCisgICMgc2FuaXR5IGNoZWNrIGlmIHRpbWUgcmVhZGluZyBpcyBzYW5lIGFu ZCB0aGVyZSdzIHNsZWVwCisgIGlmIHRlc3QgJGVuZF90aW1lIC1ndCAwIC1hICRoYXZlX3NsZWVw IC1ndCAwCisgIHRoZW4KKyAgICAjIHRocm90dGxlIGRvd24gdGhlIGZhc3QgcmVzdGFydHMKKyAg ICBpZiB0ZXN0ICRlbmRfdGltZSAtZXEgJHN0YXJ0X3RpbWUKKyAgICB0aGVuCisgICAgICBmYXN0 X3Jlc3RhcnQ9YGV4cHIgJGZhc3RfcmVzdGFydCArIDFgCisgICAgICBpZiB0ZXN0ICRmYXN0X3Jl c3RhcnQgLWdlICRtYXhfZmFzdF9yZXN0YXJ0cworICAgICAgdGhlbgorICAgICAgICBsb2dfbm90 aWNlICJUaGUgc2VydmVyIGlzIHJlc3Bhd25pbmcgdG9vIGZhc3QuIFNsZWVwaW5nIGZvciAxIHNl Y29uZC4iCisgICAgICAgIHNsZWVwIDEKKyAgICAgICAgc2xlZXBfc3RhdGU9JD8KKyAgICAgICAg aWYgdGVzdCAkc2xlZXBfc3RhdGUgLWd0IDAKKyAgICAgICAgdGhlbgorICAgICAgICAgIGxvZ19u b3RpY2UgIlRoZSBzZXJ2ZXIgaXMgcmVzcGF3bmluZyB0b28gZmFzdCBhbmQgbm8gd29ya2luZyBz bGVlcCBjb21tYW5kLiBUdXJuaW5nIG9mZiB0cm90dGxpbmcuIgorICAgICAgICAgIGhhdmVfc2xl ZXA9MAorICAgICAgICBmaQorCisgICAgICAgIGZhc3RfcmVzdGFydD0wCisgICAgICBmaQorICAg IGVsc2UKKyAgICAgIGZhc3RfcmVzdGFydD0wCisgICAgZmkKKyAgZmkKKwogICBpZiBAVEFSR0VU X0xJTlVYQCAmJiB0ZXN0ICRLSUxMX01ZU1FMRCAtZXEgMQogICB0aGVuCiAgICAgIyBUZXN0IGlm IG9uZSBwcm9jZXNzIHdhcyBoYW5naW5nLgoKPT09IG1vZGlmaWVkIGZpbGUgJ3NjcmlwdHMvbXlz cWxob3Rjb3B5LnNoJwotLS0gYS9zY3JpcHRzL215c3FsaG90Y29weS5zaAkyMDExLTA2LTMwIDE1 OjQ2OjUzICswMDAwCisrKyBiL3NjcmlwdHMvbXlzcWxob3Rjb3B5LnNoCTIwMTItMDEtMTcgMDM6 MjU6NTcgKzAwMDAKQEAgLTI3MiwyMyArMjcyLDI4IEBAIGlmICggZGVmaW5lZCAkb3B0e3JlZ2V4 cH0gKSB7CiAgICAgfQogfQogCi0jIC0tLSBnZXQgbGlzdCBvZiB0YWJsZXMgdG8gaG90Y29weSAt LS0KKyMgLS0tIGdldCBsaXN0IG9mIHRhYmxlcyBhbmQgdmlld3MgdG8gaG90Y29weSAtLS0KIAog bXkgJGhjX2xvY2tzID0gIiI7CiBteSAkaGNfdGFibGVzID0gIiI7CitteSAkaGNfYmFzZV90YWJs ZXMgPSAiIjsKK215ICRoY192aWV3cyA9ICIiOworbXkgJG51bV9iYXNlX3RhYmxlcyA9IDA7Citt eSAkbnVtX3ZpZXdzID0gMDsKIG15ICRudW1fdGFibGVzID0gMDsKIG15ICRudW1fZmlsZXMgPSAw OwogCiBmb3JlYWNoIG15ICRyZGIgKCBAZGJfZGVzYyApIHsKICAgICBteSAkZGIgPSAkcmRiLT57 c3JjfTsKLSAgICBteSBAZGJoX3RhYmxlcyA9IGdldF9saXN0X29mX3RhYmxlcyggJGRiICk7Cisg ICAgbXkgQGRiaF9iYXNlX3RhYmxlcyA9IGdldF9saXN0X29mX3RhYmxlcyggJGRiICk7CisgICAg bXkgQGRiaF92aWV3cyA9IGdldF9saXN0X29mX3ZpZXdzKCAkZGIgKTsKIAogICAgICMjIGZpbHRl ciBvdXQgY2VydGFpbiBzeXN0ZW0gbm9uLWxvY2thYmxlIHRhYmxlcy4gCiAgICAgIyMga2VlcCBp biBzeW5jIHdpdGggbXlzcWxkdW1wLgogICAgIGlmICgkZGIgPX4gbS9ebXlzcWwkL2kpCiAgICAg ewotICAgICAgQGRiaF90YWJsZXMgPSBncmVwIAotICAgICAgICB7ICEvXihhcHBseV9zdGF0dXN8 c2NoZW1hfGdlbmVyYWxfbG9nfHNsb3dfbG9nKSQvIH0gQGRiaF90YWJsZXMKKyAgICAgIEBkYmhf YmFzZV90YWJsZXMgPSBncmVwIAorICAgICAgICB7ICEvXihhcHBseV9zdGF0dXN8c2NoZW1hfGdl bmVyYWxfbG9nfHNsb3dfbG9nKSQvIH0gQGRiaF9iYXNlX3RhYmxlcwogICAgIH0KIAogICAgICMj IGdlbmVyYXRlIHJlZ2V4IGZvciB0YWJsZXMvZmlsZXMKQEAgLTMwMywxMSArMzA4LDIwIEBAIGZv cmVhY2ggbXkgJHJkYiAoIEBkYl9kZXNjICkgewogCiAgICAgICAgICMjIGZpbHRlciAob3V0KSB0 YWJsZXMgc3BlY2lmaWVkIGluIHRfcmVnZXgKICAgICAgICAgcHJpbnQgIkZpbHRlcmluZyB0YWJs ZXMgd2l0aCAnJHRfcmVnZXgnXG4iIGlmICRvcHR7ZGVidWd9OwotICAgICAgICBAZGJoX3RhYmxl cyA9ICggJG5lZ2F0ZWQgCi0gICAgICAgICAgICAgICAgICAgICAgICA/IGdyZXAgeyAkXyAhfiAk dF9yZWdleCB9IEBkYmhfdGFibGVzCi0gICAgICAgICAgICAgICAgICAgICAgICA6IGdyZXAgeyAk XyA9fiAkdF9yZWdleCB9IEBkYmhfdGFibGVzICk7CisgICAgICAgIEBkYmhfYmFzZV90YWJsZXMg PSAoICRuZWdhdGVkIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGdyZXAgeyAkXyAh fiAkdF9yZWdleCB9IEBkYmhfYmFzZV90YWJsZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOiBncmVwIHsgJF8gPX4gJHRfcmVnZXggfSBAZGJoX2Jhc2VfdGFibGVzICk7CisKKyAgICAg ICAgIyMgZmlsdGVyIChvdXQpIHZpZXdzIHNwZWNpZmllZCBpbiB0X3JlZ2V4CisgICAgICAgIHBy aW50ICJGaWx0ZXJpbmcgdGFibGVzIHdpdGggJyR0X3JlZ2V4J1xuIiBpZiAkb3B0e2RlYnVnfTsK KyAgICAgICAgQGRiaF92aWV3cyA9ICggJG5lZ2F0ZWQgCisgICAgICAgICAgICAgICAgICAgICAg ID8gZ3JlcCB7ICRfICF+ICR0X3JlZ2V4IH0gQGRiaF92aWV3cworICAgICAgICAgICAgICAgICAg ICAgICA6IGdyZXAgeyAkXyA9fiAkdF9yZWdleCB9IEBkYmhfdmlld3MgKTsKICAgICB9CiAKKyAg ICAjIyBOb3cgY29uY2F0ZW5hdGUgdGhlIGJhc2UgdGFibGUgYW5kIHZpZXcgYXJyYXlzLgorICAg IG15IEBkYmhfdGFibGVzID0gKEBkYmhfYmFzZV90YWJsZXMsIEBkYmhfdmlld3MpOworCiAgICAg IyMgZ2V0IGxpc3Qgb2YgZmlsZXMgdG8gY29weQogICAgIG15ICRkYl9kaXIgPSAiJGRhdGFkaXIv JGRiIjsKICAgICBvcGVuZGlyKERCRElSLCAkZGJfZGlyICkgCkBAIC0zNDcsMTUgKzM2MSwyNSBA QCBmb3JlYWNoIG15ICRyZGIgKCBAZGJfZGVzYyApIHsKIAogICAgICRyZGItPntmaWxlc30gID0g WyBAZGJfZmlsZXMgXTsKICAgICAkcmRiLT57aW5kZXh9ICA9IFsgQGluZGV4X2ZpbGVzIF07Ci0g ICAgbXkgQGhjX3RhYmxlcyA9IG1hcCB7IHF1b3RlX25hbWVzKCIkZGIuJF8iKSB9IEBkYmhfdGFi bGVzOworICAgIG15IEBoY19iYXNlX3RhYmxlcyA9IG1hcCB7IHF1b3RlX25hbWVzKCIkZGIuJF8i KSB9IEBkYmhfYmFzZV90YWJsZXM7CisgICAgbXkgQGhjX3ZpZXdzID0gbWFwIHsgcXVvdGVfbmFt ZXMoIiRkYi4kXyIpIH0gQGRiaF92aWV3czsKKyAgICAKKyAgICBteSBAaGNfdGFibGVzID0gKEBo Y19iYXNlX3RhYmxlcywgQGhjX3ZpZXdzKTsKICAgICAkcmRiLT57dGFibGVzfSA9IFsgQGhjX3Rh YmxlcyBdOwogCiAgICAgJGhjX2xvY2tzIC49ICIsICIgIGlmICggbGVuZ3RoICRoY19sb2NrcyAm JiBAaGNfdGFibGVzICk7CiAgICAgJGhjX2xvY2tzIC49IGpvaW4gIiwgIiwgbWFwIHsgIiRfIFJF QUQiIH0gQGhjX3RhYmxlczsKLSAgICAkaGNfdGFibGVzIC49ICIsICIgIGlmICggbGVuZ3RoICRo Y190YWJsZXMgJiYgQGhjX3RhYmxlcyApOwotICAgICRoY190YWJsZXMgLj0gam9pbiAiLCAiLCBA aGNfdGFibGVzOwogCi0gICAgJG51bV90YWJsZXMgKz0gc2NhbGFyIEBoY190YWJsZXM7CisgICAg JGhjX2Jhc2VfdGFibGVzIC49ICIsICIgIGlmICggbGVuZ3RoICRoY19iYXNlX3RhYmxlcyAmJiBA aGNfYmFzZV90YWJsZXMgKTsKKyAgICAkaGNfYmFzZV90YWJsZXMgLj0gam9pbiAiLCAiLCBAaGNf YmFzZV90YWJsZXM7CisgICAgJGhjX3ZpZXdzIC49ICIsICIgIGlmICggbGVuZ3RoICRoY192aWV3 cyAmJiBAaGNfdmlld3MgKTsKKyAgICAkaGNfdmlld3MgLj0gam9pbiAiLCAiLCBAaGNfdmlld3M7 CisKKyAgICBAaGNfdGFibGVzID0gKEBoY19iYXNlX3RhYmxlcywgQGhjX3ZpZXdzKTsKKworICAg ICRudW1fYmFzZV90YWJsZXMgKz0gc2NhbGFyIEBoY19iYXNlX3RhYmxlczsKKyAgICAkbnVtX3Zp ZXdzICs9IHNjYWxhciBAaGNfdmlld3M7CisgICAgJG51bV90YWJsZXMgKz0gJG51bV9iYXNlX3Rh YmxlcyArICRudW1fdmlld3M7CiAgICAgJG51bV9maWxlcyAgKz0gc2NhbGFyIEB7JHJkYi0+e2Zp bGVzfX07CiB9CiAKQEAgLTQ2Nyw3ICs0OTEsMTAgQEAgaWYgKCAkb3B0e2RyeXJ1bn0gKSB7CiAg ICAgICAgIHByaW50ICJGTFVTSCBUQUJMRVMgLyohMzIzMjMgJGhjX3RhYmxlcyAqL1xuIjsKICAg ICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIHByaW50ICJGTFVTSCBUQUJMRVMgJGhjX3RhYmxlcyBX SVRIIFJFQUQgTE9DS1xuIjsKKyAgICAgICAgIyBMb2NrIGJhc2UgdGFibGVzIGFuZCB2aWV3cyBz ZXBhcmF0ZWx5LgorICAgICAgICBwcmludCAiRkxVU0ggVEFCTEVTICRoY19iYXNlX3RhYmxlcyBX SVRIIFJFQUQgTE9DS1xuIgorICAgICAgICAgIGlmICggJGhjX2Jhc2VfdGFibGVzICk7CisgICAg ICAgIHByaW50ICJMT0NLIFRBQkxFUyAkaGNfdmlld3MgUkVBRFxuIiBpZiAoICRoY192aWV3cyAp OwogICAgIH0KICAgICAKICAgICBwcmludCAiRkxVU0ggTE9HU1xuIiBpZiAoICRvcHR7Zmx1c2hs b2d9ICk7CkBAIC00ODQsMTYgKzUxMSwyNCBAQCBlbHNlIHsKICAgICAgICAgIyBmbHVzaCB0YWJs ZXMgdG8gbWFrZSBvbi1kaXNrIGNvcHkgdXAgdG8gZGF0ZQogICAgICAgICAkc3RhcnQgPSB0aW1l OwogICAgICAgICAkZGJoLT5kbygiRkxVU0ggVEFCTEVTIC8qITMyMzIzICRoY190YWJsZXMgKi8i KTsKKyAgICAgICAgcHJpbnRmICJGbHVzaGVkIHRhYmxlcyAoJGhjX3RhYmxlcykgaW4gJWQgc2Vj b25kcy5cbiIsIHRpbWUtJHN0YXJ0IHVubGVzcyAkb3B0e3F1aWV0fTsKICAgICB9CiAgICAgZWxz ZSB7Ci0gICAgICAgICRkYmgtPmRvKCJGTFVTSCBUQUJMRVMgJGhjX3RhYmxlcyBXSVRIIFJFQUQg TE9DSyIpOwotICAgICAgICBwcmludGYgIkxvY2tlZCAkbnVtX3RhYmxlcyB0YWJsZXMgaW4gJWQg c2Vjb25kcy5cbiIsIHRpbWUtJHN0YXJ0IHVubGVzcyAkb3B0e3F1aWV0fTsKLSAgICAgICAgJGhj X3N0YXJ0ZWQgPSB0aW1lOwkjIGNvdW50IGZyb20gdGltZSBsb2NrIGlzIGdyYW50ZWQKKyAgICAg ICAgIyBMb2NrIGJhc2UgdGFibGVzIGFuZCB2aWV3cyBzZXBhcmF0ZWx5LCBhcyAnRkxVU0ggVEFC TEVTIDx0YmxfbmFtZT4KKyAgICAgICAgIyAuLi4gV0lUSCBSRUFEIExPQ0snIChpbnRyb2R1Y2Vk IGluIDUuNSkgd291bGQgZmFpbCBmb3Igdmlld3MuCisgICAgICAgICMgQWxzbywgZmx1c2ggdGFi bGVzIHRvIG1ha2Ugb24tZGlzayBjb3B5IHVwIHRvIGRhdGUKKyAgICAgICAgJGRiaC0+ZG8oIkZM VVNIIFRBQkxFUyAkaGNfYmFzZV90YWJsZXMgV0lUSCBSRUFEIExPQ0siKQorICAgICAgICAgIGlm ICggJGhjX2Jhc2VfdGFibGVzICk7CisgICAgICAgIHByaW50ZiAiRmx1c2hlZCAkbnVtX2Jhc2Vf dGFibGVzIHRhYmxlcyB3aXRoIHJlYWQgbG9jayAoJGhjX2Jhc2VfdGFibGVzKSBpbiAlZCBzZWNv bmRzLlxuIiwKKyAgICAgICAgICAgICAgIHRpbWUtJHN0YXJ0IHVubGVzcyAkb3B0e3F1aWV0fTsK IAotICAgICAgICAjIGZsdXNoIHRhYmxlcyB0byBtYWtlIG9uLWRpc2sgY29weSB1cCB0byBkYXRl CiAgICAgICAgICRzdGFydCA9IHRpbWU7CisgICAgICAgICRkYmgtPmRvKCJMT0NLIFRBQkxFUyAk aGNfdmlld3MgUkVBRCIpIGlmICggJGhjX3ZpZXdzICk7CisgICAgICAgIHByaW50ZiAiTG9ja2Vk ICRudW1fdmlld3Mgdmlld3MgKCRoY192aWV3cykgaW4gJWQgc2Vjb25kcy5cbiIsCisgICAgICAg ICAgICAgICB0aW1lLSRzdGFydCB1bmxlc3MgJG9wdHtxdWlldH07CisKKyAgICAgICAgJGhjX3N0 YXJ0ZWQgPSB0aW1lOwkjIGNvdW50IGZyb20gdGltZSBsb2NrIGlzIGdyYW50ZWQKICAgICB9Ci0g ICAgcHJpbnRmICJGbHVzaGVkIHRhYmxlcyAoJGhjX3RhYmxlcykgaW4gJWQgc2Vjb25kcy5cbiIs IHRpbWUtJHN0YXJ0IHVubGVzcyAkb3B0e3F1aWV0fTsKICAgICAkZGJoLT5kbyggIkZMVVNIIExP R1MiICkgaWYgKCAkb3B0e2ZsdXNobG9nfSApOwogICAgICRkYmgtPmRvKCAiUkVTRVQgTUFTVEVS IiApIGlmICggJG9wdHtyZXNldG1hc3Rlcn0gKTsKICAgICAkZGJoLT5kbyggIlJFU0VUIFNMQVZF IiApIGlmICggJG9wdHtyZXNldHNsYXZlfSApOwpAQCAtODAyLDE0ICs4MzcsMjkgQEAgc3ViIGdl dF9saXN0X29mX3RhYmxlcyB7CiAKICAgICBteSAkdGFibGVzID0KICAgICAgICAgZXZhbCB7Ci0g ICAgICAgICAgICAkZGJoLT5zZWxlY3RhbGxfYXJyYXlyZWYoJ1NIT1cgVEFCTEVTIEZST00gJyAu Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRiaC0+cXVvdGVfaWRlbnRp ZmllcigkZGIpKQorICAgICAgICAgICAgJGRiaC0+c2VsZWN0YWxsX2FycmF5cmVmKCdTSE9XIEZV TEwgVEFCTEVTIEZST00gJyAuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JGRiaC0+cXVvdGVfaWRlbnRpZmllcigkZGIpIC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnIFdIRVJFIFRhYmxlX3R5cGUgPSBcJ0JBU0UgVEFCTEVcJycpCiAgICAgICAg IH0gfHwgW107CiAgICAgd2FybiAiVW5hYmxlIHRvIHJldHJpZXZlIGxpc3Qgb2YgdGFibGVzIGlu ICRkYjogJEAiIGlmICRAOwogCiAgICAgcmV0dXJuIChtYXAgeyAkXy0+WzBdIH0gQCR0YWJsZXMp OwogfQogCitzdWIgZ2V0X2xpc3Rfb2Zfdmlld3MgeworICAgIG15ICggJGRiICkgPSBAXzsKKwor ICAgIG15ICR2aWV3cyA9CisgICAgICAgIGV2YWwgeworICAgICAgICAgICAgJGRiaC0+c2VsZWN0 YWxsX2FycmF5cmVmKCdTSE9XIEZVTEwgVEFCTEVTIEZST00gJyAuCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJGRiaC0+cXVvdGVfaWRlbnRpZmllcigkZGIpIC4KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIFdIRVJFIFRhYmxlX3R5cGUgPSBcJ1ZJ RVdcJycpCisgICAgICAgIH0gfHwgW107CisgICAgd2FybiAiVW5hYmxlIHRvIHJldHJpZXZlIGxp c3Qgb2Ygdmlld3MgaW4gJGRiOiAkQCIgaWYgJEA7CisKKyAgICByZXR1cm4gKG1hcCB7ICRfLT5b MF0gfSBAJHZpZXdzKTsKK30KKwogc3ViIHF1b3RlX25hbWVzIHsKICAgbXkgKCAkbmFtZSApID0g QF87CiAgICMgZ2l2ZW4gYSBkYi50YWJsZSBuYW1lLCBhZGQgcXVvdGVzCgo9PT0gbW9kaWZpZWQg ZmlsZSAnc3FsL2ZpbGVzb3J0LmNjJwotLS0gYS9zcWwvZmlsZXNvcnQuY2MJMjAxMi0wMS0xMiAx NDo1Mzo1MSArMDAwMAorKysgYi9zcWwvZmlsZXNvcnQuY2MJMjAxMi0wMS0xOCAxNDo0MjoxNiAr MDAwMApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIm9wdF90cmFjZS5oIgogCiAjaW5jbHVk ZSA8YWxnb3JpdGhtPgorI2luY2x1ZGUgPHV0aWxpdHk+CiB1c2luZyBzdGQ6Om1heDsKIHVzaW5n IHN0ZDo6bWluOwogCkBAIC0yODQsNiArMjg1LDE5IEBAIGhhX3Jvd3MgZmlsZXNvcnQoVEhEICp0 aGQsIFRBQkxFICp0YWJsZSwKICAgICB7CiAgICAgICBoYV9yb3dzIGtleXM9IG1lbW9yeV9hdmFp bGFibGUgLyAocGFyYW0ucmVjX2xlbmd0aCArIHNpemVvZihjaGFyKikpOwogICAgICAgcGFyYW0u bWF4X2tleXNfcGVyX2J1ZmZlcj0gKHVpbnQpIG1pbihudW1fcm93cywga2V5cyk7CisgICAgICBp ZiAodGFibGVfc29ydC5nZXRfc29ydF9rZXlzKCkpCisgICAgICB7CisgICAgICAgIC8vIElmIHdl IGhhdmUgYWxyZWFkeSBhbGxvY2F0ZWQgYSBidWZmZXIsIGl0IGJldHRlciBoYXZlIHNhbWUgc2l6 ZSEKKyAgICAgICAgaWYgKHN0ZDo6bWFrZV9wYWlyKHBhcmFtLm1heF9rZXlzX3Blcl9idWZmZXIs IHBhcmFtLnJlY19sZW5ndGgpICE9CisgICAgICAgICAgICB0YWJsZV9zb3J0LnNvcnRfYnVmZmVy X3Byb3BlcnRpZXMoKSkKKyAgICAgICAgeworICAgICAgICAgIC8qCisgICAgICAgICAgICB0YWJs ZS0+c29ydCB3aWxsIHN0aWxsIGhhdmUgYSBwb2ludGVyIHRvIHRoZSBzYW1lIGJ1ZmZlciwKKyAg ICAgICAgICAgIGJ1dCB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gYnkgdGhlIGFzc2lnbm1lbnQg YmVsb3cuCisgICAgICAgICAgKi8KKyAgICAgICAgICB0YWJsZV9zb3J0LmZyZWVfc29ydF9idWZm ZXIoKTsKKyAgICAgICAgfQorICAgICAgfQogICAgICAgdGFibGVfc29ydC5hbGxvY19zb3J0X2J1 ZmZlcihwYXJhbS5tYXhfa2V5c19wZXJfYnVmZmVyLCBwYXJhbS5yZWNfbGVuZ3RoKTsKICAgICAg IGlmICh0YWJsZV9zb3J0LmdldF9zb3J0X2tleXMoKSkKICAgICAgICAgYnJlYWs7CkBAIC00NDQs NyArNDU4LDEwIEBAIGhhX3Jvd3MgZmlsZXNvcnQoVEhEICp0aGQsIFRBQkxFICp0YWJsZSwKICNp ZmRlZiBTS0lQX0RCVUdfSU5fRklMRVNPUlQKICAgREJVR19QT1AoKTsJCQkvKiBPayB0byBEQlVH ICovCiAjZW5kaWYKKworICAvLyBBc3NpZ24gdGhlIGNvcHkgYmFjayEKICAgdGFibGUtPnNvcnQ9 IHRhYmxlX3NvcnQ7CisKICAgREJVR19QUklOVCgiZXhpdCIsCiAgICAgICAgICAgICAgKCJudW1f cm93czogJWxkIGV4YW1pbmVkX3Jvd3M6ICVsZCBmb3VuZF9yb3dzOiAlbGQiLAogICAgICAgICAg ICAgICAobG9uZykgbnVtX3Jvd3MsIChsb25nKSAqZXhhbWluZWRfcm93cywgKGxvbmcpICpmb3Vu ZF9yb3dzKSk7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL2ZpbGVzb3J0X3V0aWxzLmgnCi0tLSBh L3NxbC9maWxlc29ydF91dGlscy5oCTIwMTEtMTEtMDcgMTU6MzI6MzYgKzAwMDAKKysrIGIvc3Fs L2ZpbGVzb3J0X3V0aWxzLmgJMjAxMi0wMS0xOCAxNDo0MjoxNiArMDAwMApAQCAtMjAsNiArMjAs OCBAQAogI2luY2x1ZGUgIm15X2Jhc2UuaCIKICNpbmNsdWRlICJzcWxfYXJyYXkuaCIKIAorI2lu Y2x1ZGUgPHV0aWxpdHk+CisKIC8qCiAgIENhbGN1bGF0ZSBjb3N0IG9mIG1lcmdlIHNvcnQKIApA QCAtODYsNiArODgsMTAgQEAgcHVibGljOgogICAvLy8gQWxsb2NhdGVzIHRoZSBidWZmZXIsIGJ1 dCBkb2VzICpub3QqIGluaXRpYWxpemUgcG9pbnRlcnMuCiAgIHVjaGFyICoqYWxsb2Nfc29ydF9i dWZmZXIodWludCBudW1fcmVjb3JkcywgdWludCByZWNvcmRfbGVuZ3RoKTsKIAorICAvLy8gV2hh dCBpcyB0aGUgPG51bV9yZWNvcmRzLCByZWNvcmRfbGVuZ3RoPiBmb3IgdGhlIGJ1ZmZlcj8KKyAg c3RkOjpwYWlyPHVpbnQsIHVpbnQ+IHNvcnRfYnVmZmVyX3Byb3BlcnRpZXMoKSBjb25zdAorICB7 IHJldHVybiBzdGQ6Om1ha2VfcGFpcihtX2lkeF9hcnJheS5zaXplKCksIG1fcmVjb3JkX2xlbmd0 aCk7IH0KKwogICAvLy8gRnJlZXMgdGhlIGJ1ZmZlci4KICAgdm9pZCBmcmVlX3NvcnRfYnVmZmVy KCk7CiAKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvaXRlbS5jYycKLS0tIGEvc3FsL2l0ZW0uY2MJ MjAxMi0wMS0xNyAwODoxMjo0MCArMDAwMAorKysgYi9zcWwvaXRlbS5jYwkyMDEyLTAxLTE4IDEz OjUzOjAwICswMDAwCkBAIC04NTA3LDEyICs4NTA3LDE4IEBAIGJvb2wgSXRlbV9jYWNoZV9kYXRl dGltZTo6Z2V0X2RhdGUoTVlTUUwKICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgIGNhc2Ug TVlTUUxfVFlQRV9EQVRFOgotICAgIFRJTUVfZnJvbV9sb25nbG9uZ19kYXRlX3BhY2tlZChsdGlt ZSwgaW50X3ZhbHVlKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgeworICAgICAgaW50IHdhcm5p bmdzPSAwOworICAgICAgVElNRV9mcm9tX2xvbmdsb25nX2RhdGVfcGFja2VkKGx0aW1lLCBpbnRf dmFsdWUpOworICAgICAgcmV0dXJuIGNoZWNrX2RhdGUobHRpbWUsIG5vbl96ZXJvX2RhdGUobHRp bWUpLCBmdXp6eWRhdGUsICZ3YXJuaW5ncyk7CisgICAgfQogICBjYXNlIE1ZU1FMX1RZUEVfREFU RVRJTUU6CiAgIGNhc2UgTVlTUUxfVFlQRV9USU1FU1RBTVA6Ci0gICAgVElNRV9mcm9tX2xvbmds b25nX2RhdGV0aW1lX3BhY2tlZChsdGltZSwgaW50X3ZhbHVlKTsKLSAgICByZXR1cm4gZmFsc2U7 CisgICAgeworICAgICAgaW50IHdhcm5pbmdzPSAwOworICAgICAgVElNRV9mcm9tX2xvbmdsb25n X2RhdGV0aW1lX3BhY2tlZChsdGltZSwgaW50X3ZhbHVlKTsKKyAgICAgIHJldHVybiBjaGVja19k YXRlKGx0aW1lLCBub25femVyb19kYXRlKGx0aW1lKSwgZnV6enlkYXRlLCAmd2FybmluZ3MpOwor ICAgIH0KICAgZGVmYXVsdDoKICAgICBEQlVHX0FTU0VSVCgwKTsKICAgfQoKPT09IG1vZGlmaWVk IGZpbGUgJ3NxbC9pdGVtX2NtcGZ1bmMuY2MnCi0tLSBhL3NxbC9pdGVtX2NtcGZ1bmMuY2MJMjAx Mi0wMS0xMiAxMzoyMjo1MiArMDAwMAorKysgYi9zcWwvaXRlbV9jbXBmdW5jLmNjCTIwMTItMDEt MTYgMDk6MDE6NTMgKzAwMDAKQEAgLTU5ODcsNyArNTk4Nyw4IEBAIHZvaWQgSXRlbV9lcXVhbDo6 Y29tcGFyZV9jb25zdChJdGVtICpjKQogICBlbHNlCiAgIHsKICAgICBJdGVtX2Z1bmNfZXEgKmZ1 bmM9IG5ldyBJdGVtX2Z1bmNfZXEoYywgY29uc3RfaXRlbSk7Ci0gICAgZnVuYy0+c2V0X2NtcF9m dW5jKCk7CisgICAgaWYoZnVuYy0+c2V0X2NtcF9mdW5jKCkpCisgICAgICByZXR1cm47CiAgICAg ZnVuYy0+cXVpY2tfZml4X2ZpZWxkKCk7CiAgICAgY29uZF9mYWxzZT0gIWZ1bmMtPnZhbF9pbnQo KTsKICAgfQoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9pdGVtX2NtcGZ1bmMuaCcKLS0tIGEvc3Fs L2l0ZW1fY21wZnVuYy5oCTIwMTEtMTEtMjggMDk6MzY6NDUgKzAwMDAKKysrIGIvc3FsL2l0ZW1f Y21wZnVuYy5oCTIwMTItMDEtMTYgMDk6MDE6NTMgKzAwMDAKQEAgLTM3MCw5ICszNzAsOSBAQCBw dWJsaWM6CiAgIEl0ZW1fYm9vbF9mdW5jMihJdGVtICphLEl0ZW0gKmIpCiAgICAgOkl0ZW1faW50 X2Z1bmMoYSxiKSwgY21wKHRtcF9hcmcsIHRtcF9hcmcrMSksIGFib3J0X29uX251bGwoRkFMU0Up IHt9CiAgIHZvaWQgZml4X2xlbmd0aF9hbmRfZGVjKCk7Ci0gIHZvaWQgc2V0X2NtcF9mdW5jKCkK KyAgaW50IHNldF9jbXBfZnVuYygpCiAgIHsKLSAgICBjbXAuc2V0X2NtcF9mdW5jKHRoaXMsIHRt cF9hcmcsIHRtcF9hcmcrMSwgVFJVRSk7CisgICAgcmV0dXJuIGNtcC5zZXRfY21wX2Z1bmModGhp cywgdG1wX2FyZywgdG1wX2FyZysxLCBUUlVFKTsKICAgfQogICBvcHRpbWl6ZV90eXBlIHNlbGVj dF9vcHRpbWl6ZSgpIGNvbnN0IHsgcmV0dXJuIE9QVElNSVpFX09QOyB9CiAgIHZpcnR1YWwgZW51 bSBGdW5jdHlwZSByZXZfZnVuY3R5cGUoKSBjb25zdCB7IHJldHVybiBVTktOT1dOX0ZVTkM7IH0K Cj09PSBtb2RpZmllZCBmaWxlICdzcWwvaXRlbV9mdW5jLmgnCi0tLSBhL3NxbC9pdGVtX2Z1bmMu aAkyMDExLTExLTE3IDEzOjQxOjI4ICswMDAwCisrKyBiL3NxbC9pdGVtX2Z1bmMuaAkyMDEyLTAx LTE3IDE0OjQ0OjQ5ICswMDAwCkBAIC0xNTU1LDYgKzE1NTUsNyBAQCBjbGFzcyBJdGVtX3Zhcl9m dW5jIDpwdWJsaWMgSXRlbV9mdW5jCiB7CiBwdWJsaWM6CiAgIEl0ZW1fdmFyX2Z1bmMoKSA6SXRl bV9mdW5jKCkgeyB9CisgIEl0ZW1fdmFyX2Z1bmMoVEhEICp0aGQsIEl0ZW1fdmFyX2Z1bmMgKml0 ZW0pIDpJdGVtX2Z1bmModGhkLCBpdGVtKSB7IH0KICAgSXRlbV92YXJfZnVuYyhJdGVtICphKSA6 SXRlbV9mdW5jKGEpIHsgfQogICBib29sIGdldF9kYXRlKE1ZU1FMX1RJTUUgKmx0aW1lLCB1aW50 IGZ1enp5ZGF0ZSkKICAgewpAQCAtMTYwNCw2ICsxNjA1LDEyIEBAIHB1YmxpYzoKICAgICA6SXRl bV92YXJfZnVuYyhiKSwgY2FjaGVkX3Jlc3VsdF90eXBlKElOVF9SRVNVTFQpLAogICAgICBlbnRy eShOVUxMKSwgZW50cnlfdGhyZWFkX2lkKDApLCBuYW1lKGEpCiAgIHt9CisgIEl0ZW1fZnVuY19z ZXRfdXNlcl92YXIoVEhEICp0aGQsIEl0ZW1fZnVuY19zZXRfdXNlcl92YXIgKml0ZW0pCisgICAg Okl0ZW1fdmFyX2Z1bmModGhkLCBpdGVtKSwgY2FjaGVkX3Jlc3VsdF90eXBlKGl0ZW0tPmNhY2hl ZF9yZXN1bHRfdHlwZSksCisgICAgIGVudHJ5KGl0ZW0tPmVudHJ5KSwgZW50cnlfdGhyZWFkX2lk KGl0ZW0tPmVudHJ5X3RocmVhZF9pZCksCisgICAgIHZhbHVlKGl0ZW0tPnZhbHVlKSwgZGVjaW1h bF9idWZmKGl0ZW0tPmRlY2ltYWxfYnVmZiksCisgICAgIG51bGxfaXRlbShpdGVtLT5udWxsX2l0 ZW0pLCBzYXZlX3Jlc3VsdChpdGVtLT5zYXZlX3Jlc3VsdCksIG5hbWUoaXRlbS0+bmFtZSkKKyAg e30KICAgZW51bSBGdW5jdHlwZSBmdW5jdHlwZSgpIGNvbnN0IHsgcmV0dXJuIFNVU0VSVkFSX0ZV TkM7IH0KICAgZG91YmxlIHZhbF9yZWFsKCk7CiAgIGxvbmdsb25nIHZhbF9pbnQoKTsKCj09PSBt b2RpZmllZCBmaWxlICdzcWwvbXlzcWxkLmNjJwotLS0gYS9zcWwvbXlzcWxkLmNjCTIwMTEtMTIt MTYgMTU6NTM6MTYgKzAwMDAKKysrIGIvc3FsL215c3FsZC5jYwkyMDEyLTAxLTE3IDA5OjM5OjU0 ICswMDAwCkBAIC04MTUzLDggKzgxNTMsMTAgQEAgc3RhdGljIGludCBmaXhfcGF0aHModm9pZCkK ICAgKHZvaWQpIG15X2xvYWRfcGF0aChteXNxbF9ob21lLG15c3FsX2hvbWUsIiIpOyAvLyBSZXNv bHZlIGN1cnJlbnQgZGlyCiAgICh2b2lkKSBteV9sb2FkX3BhdGgobXlzcWxfcmVhbF9kYXRhX2hv bWUsbXlzcWxfcmVhbF9kYXRhX2hvbWUsbXlzcWxfaG9tZSk7CiAgICh2b2lkKSBteV9sb2FkX3Bh dGgocGlkZmlsZV9uYW1lLCBwaWRmaWxlX25hbWVfcHRyLCBteXNxbF9yZWFsX2RhdGFfaG9tZSk7 Ci0gICh2b2lkKSBteV9sb2FkX3BhdGgob3B0X3BsdWdpbl9kaXIsIG9wdF9wbHVnaW5fZGlyX3B0 ciA/IG9wdF9wbHVnaW5fZGlyX3B0ciA6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGdldF9yZWxhdGl2ZV9wYXRoKFBMVUdJTkRJUiksIG15c3FsX2hvbWUpOworCisgIGNv bnZlcnRfZGlybmFtZShvcHRfcGx1Z2luX2Rpciwgb3B0X3BsdWdpbl9kaXJfcHRyID8gb3B0X3Bs dWdpbl9kaXJfcHRyIDogCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3Jl bGF0aXZlX3BhdGgoUExVR0lORElSKSwgTnVsbFMpOworICAodm9pZCkgbXlfbG9hZF9wYXRoKG9w dF9wbHVnaW5fZGlyLCBvcHRfcGx1Z2luX2RpciwgbXlzcWxfaG9tZSk7CiAgIG9wdF9wbHVnaW5f ZGlyX3B0cj0gb3B0X3BsdWdpbl9kaXI7CiAKICAgbXlfcmVhbHBhdGgobXlzcWxfdW5wYWNrZWRf cmVhbF9kYXRhX2hvbWUsIG15c3FsX3JlYWxfZGF0YV9ob21lLCBNWUYoMCkpOwoKPT09IG1vZGlm aWVkIGZpbGUgJ3NxbC9ycGxfbWFzdGVyLmNjJwotLS0gYS9zcWwvcnBsX21hc3Rlci5jYwkyMDEx LTExLTE4IDEyOjQ4OjUyICswMDAwCisrKyBiL3NxbC9ycGxfbWFzdGVyLmNjCTIwMTItMDEtMTcg MjI6MzI6MjkgKzAwMDAKQEAgLTYyOSw4ICs2MjksNyBAQCB2b2lkIG15c3FsX2JpbmxvZ19zZW5k KFRIRCogdGhkLCBjaGFyKiBsCiAgIFN0cmluZyogcGFja2V0ID0gJnRoZC0+cGFja2V0OwogICBp bnQgZXJyb3I7CiAgIGNvbnN0IGNoYXIgKmVycm1zZyA9ICJVbmtub3duIGVycm9yIjsKLSAgY29u c3QgY2hhciAqZm10PSAiJXM7IHRoZSBsYXN0IGV2ZW50IHdhcyByZWFkIGZyb20gJyVzJyBhdCAl cywgdGhlIGxhc3QgYnl0ZSByZWFkIHdhcyByZWFkIGZyb20gJyVzJyBhdCAlcy4iOwotICBjaGFy IGxsYnVmZjFbMjJdLCBsbGJ1ZmYyWzIyXTsKKyAgY2hhciBsbGJ1ZmYwWzIyXSwgbGxidWZmMVsy Ml0sIGxsYnVmZjJbMjJdOwogICBjaGFyIGVycm9yX3RleHRbTUFYX1NMQVZFX0VSUk1TR107IC8v IHRvIGJlIHNlbmQgdG8gc2xhdmUgdmlhIG15X21lc3NhZ2UoKQogICBORVQqIG5ldCA9ICZ0aGQt Pm5ldDsKICAgbXlzcWxfbXV0ZXhfdCAqbG9nX2xvY2s7CkBAIC02NjQsMTYgKzY2MywxNSBAQCB2 b2lkIG15c3FsX2JpbmxvZ19zZW5kKFRIRCogdGhkLCBjaGFyKiBsCiAgICovCiAgIHVsb25nbG9u ZyBoZWFydGJlYXRfcGVyaW9kPSBnZXRfaGVhcnRiZWF0X3BlcmlvZCh0aGQpOwogICBzdHJ1Y3Qg dGltZXNwZWMgaGVhcnRiZWF0X2J1ZjsKLSAgc3RydWN0IGV2ZW50X2Nvb3JkaW5hdGVzIGNvb3Jk X2J1ZjsKICAgc3RydWN0IHRpbWVzcGVjICpoZWFydGJlYXRfdHM9IE5VTEw7Ci0gIHN0cnVjdCBl dmVudF9jb29yZGluYXRlcyAqY29vcmQ9IE5VTEw7CisgIGNvbnN0IExPR19QT1NfQ09PUkQgc3Rh cnRfY29vcmQ9IHsgbG9nX2lkZW50LCBwb3MgfSwKKyAgICAqcF9zdGFydF9jb29yZD0gJnN0YXJ0 X2Nvb3JkOworICBMT0dfUE9TX0NPT1JEIGNvb3JkX2J1Zj0geyBsb2dfZmlsZV9uYW1lLCBCSU5f TE9HX0hFQURFUl9TSVpFIH0sCisgICAgKnBfY29vcmQ9ICZjb29yZF9idWY7CiAgIGlmIChoZWFy dGJlYXRfcGVyaW9kICE9IExMKDApKQogICB7CiAgICAgaGVhcnRiZWF0X3RzPSAmaGVhcnRiZWF0 X2J1ZjsKICAgICBzZXRfdGltZXNwZWNfbnNlYygqaGVhcnRiZWF0X3RzLCAwKTsKLSAgICBjb29y ZD0gJmNvb3JkX2J1ZjsKLSAgICBjb29yZC0+ZmlsZV9uYW1lPSBsb2dfZmlsZV9uYW1lOyAvLyBp bml0aWFsaXphdGlvbiBiYXNpbmcgb24gd2hhdCBzbGF2ZSByZW1lbWJlcnMKLSAgICBjb29yZC0+ cG9zPSBwb3M7CiAgIH0KICAgc3FsX3ByaW50X2luZm9ybWF0aW9uKCJTdGFydCBiaW5sb2dfZHVt cCB0byBzbGF2ZV9zZXJ2ZXIoJWQpLCBwb3MoJXMsICVsdSkiLAogICAgICAgICAgICAgICAgICAg ICAgICAgdGhkLT5zZXJ2ZXJfaWQsIGxvZ19pZGVudCwgKHVsb25nKXBvcyk7CkBAIC03OTQsNiAr NzkyLDcgQEAgaW1wb3NzaWJsZSBwb3NpdGlvbiI7CiAgICAgbXlzcWxfYmluX2xvZywgYW5kIGl0 J3MgYWxyZWFkeSBpbml0ZWQsIGFuZCBpdCB3aWxsIGJlIGRlc3Ryb3llZAogICAgIG9ubHkgYXQg c2h1dGRvd24pLgogICAqLworICBwX2Nvb3JkLT5wb3M9IHBvczsgLy8gdGhlIGZpcnN0IGhiIG1h dGNoZXMgdGhlIHNsYXZlJ3MgbGFzdCBzZWVuIHZhbHVlCiAgIGxvZ19sb2NrPSBteXNxbF9iaW5f bG9nLmdldF9sb2dfbG9jaygpOwogICBsb2dfY29uZD0gbXlzcWxfYmluX2xvZy5nZXRfbG9nX2Nv bmQoKTsKICAgaWYgKHBvcyA+IEJJTl9MT0dfSEVBREVSX1NJWkUpCkBAIC05MTUsOCArOTE0LDcg QEAgaW1wb3NzaWJsZSBwb3NpdGlvbiI7CiAgICAgICAvKgogICAgICAgICBsb2cncyBmaWxlbmFt ZSBkb2VzIG5vdCBjaGFuZ2Ugd2hpbGUgaXQncyBhY3RpdmUKICAgICAgICovCi0gICAgICBpZiAo Y29vcmQpCi0gICAgICAgIGNvb3JkLT5wb3M9IHVpbnQ0a29ycihwYWNrZXQtPnB0cigpICsgZXZf b2Zmc2V0ICsgTE9HX1BPU19PRkZTRVQpOworICAgICAgcF9jb29yZC0+cG9zPSB1aW50NGtvcnIo cGFja2V0LT5wdHIoKSArIGV2X29mZnNldCArIExPR19QT1NfT0ZGU0VUKTsKIAogICAgICAgZXZl bnRfdHlwZT0gKExvZ19ldmVudF90eXBlKSgoKnBhY2tldClbTE9HX0VWRU5UX09GRlNFVCtldl9v ZmZzZXRdKTsKICAgICAgIERCVUdfRVhFQ1VURV9JRigiZHVtcF90aHJlYWRfd2FpdF9iZWZvcmVf c2VuZF94aWQiLApAQCAtMTA5MCw4ICsxMDg4LDcgQEAgaW1wb3NzaWJsZSBwb3NpdGlvbiI7CiAJ ICAvKiB3ZSByZWFkIHN1Y2Nlc3NmdWxseSwgc28gd2UnbGwgbmVlZCB0byBzZW5kIGl0IHRvIHRo ZSBzbGF2ZSAqLwogICAgICAgICAgIG15c3FsX211dGV4X3VubG9jayhsb2dfbG9jayk7CiAJICBy ZWFkX3BhY2tldCA9IDE7Ci0gICAgICAgICAgaWYgKGNvb3JkKQotICAgICAgICAgICAgY29vcmQt PnBvcz0gdWludDRrb3JyKHBhY2tldC0+cHRyKCkgKyBldl9vZmZzZXQgKyBMT0dfUE9TX09GRlNF VCk7CisgICAgICAgICAgcF9jb29yZC0+cG9zPSB1aW50NGtvcnIocGFja2V0LT5wdHIoKSArIGV2 X29mZnNldCArIExPR19QT1NfT0ZGU0VUKTsKICAgICAgICAgICBldmVudF90eXBlPSAoTG9nX2V2 ZW50X3R5cGUpKCgqcGFja2V0KVtMT0dfRVZFTlRfT0ZGU0VUK2V2X29mZnNldF0pOwogICAgICAg ICAgIERCVUdfQVNTRVJUKGV2ZW50X3R5cGUgIT0gRk9STUFUX0RFU0NSSVBUSU9OX0VWRU5UKTsK IAkgIGJyZWFrOwpAQCAtMTExNCwxNiArMTExMSwxNiBAQCBpbXBvc3NpYmxlIHBvc2l0aW9uIjsK ICAgICAgICAgICBzaWduYWxfY250PSBteXNxbF9iaW5fbG9nLnNpZ25hbF9jbnQ7CiAgICAgICAg ICAgZG8gCiAgICAgICAgICAgewotICAgICAgICAgICAgaWYgKGNvb3JkKQorICAgICAgICAgICAg aWYgKGhlYXJ0YmVhdF9wZXJpb2QgIT0gMCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg REJVR19BU1NFUlQoaGVhcnRiZWF0X3RzICYmIGhlYXJ0YmVhdF9wZXJpb2QgIT0gMCk7CisgICAg ICAgICAgICAgIERCVUdfQVNTRVJUKGhlYXJ0YmVhdF90cyk7CiAgICAgICAgICAgICAgIHNldF90 aW1lc3BlY19uc2VjKCpoZWFydGJlYXRfdHMsIGhlYXJ0YmVhdF9wZXJpb2QpOwogICAgICAgICAg ICAgfQogICAgICAgICAgICAgdGhkLT5FTlRFUl9DT05EKGxvZ19jb25kLCBsb2dfbG9jaywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmc3RhZ2VfbWFzdGVyX2hhc19zZW50X2FsbF9iaW5s b2dfdG9fc2xhdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9sZF9zdGFnZSk7CiAg ICAgICAgICAgICByZXQ9IG15c3FsX2Jpbl9sb2cud2FpdF9mb3JfdXBkYXRlX2Jpbl9sb2codGhk LCBoZWFydGJlYXRfdHMpOwotICAgICAgICAgICAgREJVR19BU1NFUlQocmV0ID09IDAgfHwgKGhl YXJ0YmVhdF9wZXJpb2QgIT0gMCAmJiBjb29yZCAhPSBOVUxMKSk7CisgICAgICAgICAgICBEQlVH X0FTU0VSVChyZXQgPT0gMCB8fCAoaGVhcnRiZWF0X3BlcmlvZCAhPSAwKSk7CiAgICAgICAgICAg ICBpZiAocmV0ID09IEVUSU1FRE9VVCB8fCByZXQgPT0gRVRJTUUpCiAgICAgICAgICAgICB7CiAj aWZuZGVmIERCVUdfT0ZGCkBAIC0xMTQxLDcgKzExMzgsNyBAQCBpbXBvc3NpYmxlIHBvc2l0aW9u IjsKICAgICAgICAgICAgICAgICB0aGQtPkVYSVRfQ09ORCgmb2xkX3N0YWdlKTsKICAgICAgICAg ICAgICAgICBnb3RvIGVycjsKICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBpZiAoc2Vu ZF9oZWFydGJlYXRfZXZlbnQobmV0LCBwYWNrZXQsIGNvb3JkLCBjdXJyZW50X2NoZWNrc3VtX2Fs ZykpCisgICAgICAgICAgICAgIGlmIChzZW5kX2hlYXJ0YmVhdF9ldmVudChuZXQsIHBhY2tldCwg cF9jb29yZCwgY3VycmVudF9jaGVja3N1bV9hbGcpKQogICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgZXJybXNnID0gIkZhaWxlZCBvbiBteV9uZXRfd3JpdGUoKSI7CiAgICAgICAgICAg ICAgICAgbXlfZXJybm89IEVSX1VOS05PV05fRVJST1I7CkBAIC0xMjUyLDggKzEyNDksNyBAQCBp bXBvc3NpYmxlIHBvc2l0aW9uIjsKIAlnb3RvIGVycjsKICAgICAgIH0KIAotICAgICAgaWYgKGNv b3JkKQotICAgICAgICBjb29yZC0+ZmlsZV9uYW1lPSBsb2dfZmlsZV9uYW1lOyAvLyByZXNldCB0 byB0aGUgbmV4dAorICAgICAgcF9jb29yZC0+ZmlsZV9uYW1lPSBsb2dfZmlsZV9uYW1lOyAvLyBy ZXNldCB0byB0aGUgbmV4dAogICAgIH0KICAgfQogCkBAIC0xMjc5LDkgKzEyNzUsMTIgQEAgZXJy OgogICAgICAgIGRldGFpbGluZyB0aGUgZmF0YWwgZXJyb3IgbWVzc2FnZSB3aXRoIGNvb3JkaW5h dGVzIAogICAgICAgIG9mIHRoZSBsYXN0IHBvc2l0aW9uIHJlYWQuCiAgICAgKi8KKyAgICBjb25z dCBjaGFyICpmbXQ9ICIlczsgdGhlIHN0YXJ0IGV2ZW50IHBvc2l0aW9uIGZyb20gJyVzJyBhdCAl cywgdGhlIGxhc3QgZXZlbnQgd2FzIHJlYWQgZnJvbSAnJXMnIGF0ICVzLCB0aGUgbGFzdCBieXRl IHJlYWQgd2FzIHJlYWQgZnJvbSAnJXMnIGF0ICVzLiI7CiAgICAgbXlfc25wcmludGYoZXJyb3Jf dGV4dCwgc2l6ZW9mKGVycm9yX3RleHQpLCBmbXQsIGVycm1zZywKLSAgICAgICAgICAgICAgICBj b29yZC0+ZmlsZV9uYW1lLCAobGxzdHIoY29vcmQtPnBvcywgbGxidWZmMSksIGxsYnVmZjEpLAot ICAgICAgICAgICAgICAgIGxvZ19maWxlX25hbWUsIChsbHN0cihteV9iX3RlbGwoJmxvZyksIGxs YnVmZjIpLCBsbGJ1ZmYyKSk7CisgICAgICAgICAgICAgICAgcF9zdGFydF9jb29yZC0+ZmlsZV9u YW1lLAorICAgICAgICAgICAgICAgIChsbHN0cihwX3N0YXJ0X2Nvb3JkLT5wb3MsIGxsYnVmZjAp LCBsbGJ1ZmYwKSwKKyAgICAgICAgICAgICAgICBwX2Nvb3JkLT5maWxlX25hbWUsIChsbHN0cihw X2Nvb3JkLT5wb3MsIGxsYnVmZjEpLCBsbGJ1ZmYxKSwKKyAgICAgICAgICAgICAgICBsb2dfZmls ZV9uYW1lLCAgICAobGxzdHIobXlfYl90ZWxsKCZsb2cpLCBsbGJ1ZmYyKSwgbGxidWZmMikpOwog ICB9CiAgIGVsc2UKICAgICBzdHJjcHkoZXJyb3JfdGV4dCwgZXJybXNnKTsKCj09PSBtb2RpZmll ZCBmaWxlICdzcWwvc2hhcmUvZXJybXNnLXV0ZjgudHh0JwotLS0gYS9zcWwvc2hhcmUvZXJybXNn LXV0ZjgudHh0CTIwMTEtMTEtMjggMDc6NDI6MTggKzAwMDAKKysrIGIvc3FsL3NoYXJlL2Vycm1z Zy11dGY4LnR4dAkyMDEyLTAxLTE3IDIyOjMyOjI5ICswMDAwCkBAIC00NzAxLDE0ICs0NzAxLDE0 IEBAIEVSX05PVF9TVVBQT1JURURfWUVUIDQyMDAwIAogICAgICAgICBzcGEgIkVzdGEgdmVyc2nD s24gZGUgTXlTUUwgbm8gc29wb3J0YSB0b2RhdmlhICclcyciCiAgICAgICAgIHN3ZSAiRGVubmEg dmVyc2lvbiBhdiBNeVNRTCBrYW4gw6RubnUgaW50ZSB1dGbDtnJhICclcyciCiBFUl9NQVNURVJf RkFUQUxfRVJST1JfUkVBRElOR19CSU5MT0cgIAotICAgICAgICBubGEgIktyZWVnIGZhdGFsZSBm b3V0ICVkOiAnJS0uMjU2cycgdmFuIG1hc3RlciB0aWpkZW5zIGxlemVuIHZhbiBkYXRhIHVpdCBi aW5haXJlIGxvZyIKLSAgICAgICAgZW5nICJHb3QgZmF0YWwgZXJyb3IgJWQgZnJvbSBtYXN0ZXIg d2hlbiByZWFkaW5nIGRhdGEgZnJvbSBiaW5hcnkgbG9nOiAnJS0uMjU2cyciCi0gICAgICAgIGdl ciAiU2Nod2VyZXIgRmVobGVyICVkOiAnJS0uMjU2cyB2b20gTWFzdGVyIGJlaW0gTGVzZW4gZGVz IGJpbsOkcmVuIExvZ3MiCi0gICAgICAgIGl0YSAiRXJyb3JlIGZhdGFsZSAlZDogJyUtLjI1NnMn IGRhbCBtYXN0ZXIgbGVnZ2VuZG8gaSBkYXRpIGRhbCBsb2cgYmluYXJpbyIKLSAgICAgICAgcG9y ICJPYnRldmUgZmF0YWwgZXJybyAlZDogJyUtLjI1NnMnIGRvIG1hc3RlciBxdWFuZG8gbGVuZG8g ZGFkb3MgZG8gYmluYXJ5IGxvZyIKLSAgICAgICAgcnVzICLQn9C+0LvRg9GH0LXQvdCwINC90LXQ uNGB0L/RgNCw0LLQuNC80LDRjyDQvtGI0LjQsdC60LAgJWQ6ICclLS4yNTZzJyDQvtGCINCz0L7Q u9C+0LLQvdC+0LPQviDRgdC10YDQstC10YDQsCDQsiDQv9GA0L7RhtC10YHRgdC1INCy0YvQsdC+ 0YDQutC4INC00LDQvdC90YvRhSDQuNC3INC00LLQvtC40YfQvdC+0LPQviDQttGD0YDQvdCw0LvQ sCIKLSAgICAgICAgc3BhICJSZWNpYmnDsyBmYXRhbCBlcnJvciAlZDogJyUtLjI1NnMnIGRlbCBt YXN0ZXIgY3VhbmRvIGxleWVuZG8gZGF0b3MgZGVsIGJpbmFyeSBsb2ciCi0gICAgICAgIHN3ZSAi RmljayBmYXRhbHQgZmVsICVkOiAnJS0uMjU2cycgZnLDpW4gbWFzdGVyIHZpZCBsw6RzbmluZyBh diBiaW7DpHJsb2dnZW4iCisgICAgICAgIG5sYSAiS3JlZWcgZmF0YWxlIGZvdXQgJWQ6ICclLS41 MTJzJyB2YW4gbWFzdGVyIHRpamRlbnMgbGV6ZW4gdmFuIGRhdGEgdWl0IGJpbmFpcmUgbG9nIgor ICAgICAgICBlbmcgIkdvdCBmYXRhbCBlcnJvciAlZCBmcm9tIG1hc3RlciB3aGVuIHJlYWRpbmcg ZGF0YSBmcm9tIGJpbmFyeSBsb2c6ICclLS41MTJzJyIKKyAgICAgICAgZ2VyICJTY2h3ZXJlciBG ZWhsZXIgJWQ6ICclLS41MTJzIHZvbSBNYXN0ZXIgYmVpbSBMZXNlbiBkZXMgYmluw6RyZW4gTG9n cyIKKyAgICAgICAgaXRhICJFcnJvcmUgZmF0YWxlICVkOiAnJS0uNTEycycgZGFsIG1hc3RlciBs ZWdnZW5kbyBpIGRhdGkgZGFsIGxvZyBiaW5hcmlvIgorICAgICAgICBwb3IgIk9idGV2ZSBmYXRh bCBlcnJvICVkOiAnJS0uNTEycycgZG8gbWFzdGVyIHF1YW5kbyBsZW5kbyBkYWRvcyBkbyBiaW5h cnkgbG9nIgorICAgICAgICBydXMgItCf0L7Qu9GD0YfQtdC90LAg0L3QtdC40YHQv9GA0LDQstC4 0LzQsNGPINC+0YjQuNCx0LrQsCAlZDogJyUtLjUxMnMnINC+0YIg0LPQvtC70L7QstC90L7Qs9C+ INGB0LXRgNCy0LXRgNCwINCyINC/0YDQvtGG0LXRgdGB0LUg0LLRi9Cx0L7RgNC60Lgg0LTQsNC9 0L3Ri9GFINC40Lcg0LTQstC+0LjRh9C90L7Qs9C+INC20YPRgNC90LDQu9CwIgorICAgICAgICBz cGEgIlJlY2liacOzIGZhdGFsIGVycm9yICVkOiAnJS0uNTEycycgZGVsIG1hc3RlciBjdWFuZG8g bGV5ZW5kbyBkYXRvcyBkZWwgYmluYXJ5IGxvZyIKKyAgICAgICAgc3dlICJGaWNrIGZhdGFsdCBm ZWwgJWQ6ICclLS41MTJzJyBmcsOlbiBtYXN0ZXIgdmlkIGzDpHNuaW5nIGF2IGJpbsOkcmxvZ2dl biIKIEVSX1NMQVZFX0lHTk9SRURfVEFCTEUgIAogICAgICAgICBlbmcgIlNsYXZlIFNRTCB0aHJl YWQgaWdub3JlZCB0aGUgcXVlcnkgYmVjYXVzZSBvZiByZXBsaWNhdGUtKi10YWJsZSBydWxlcyIK ICAgICAgICAgZ2VyICJTbGF2ZS1TUUwtVGhyZWFkIGhhdCBkaWUgQWJmcmFnZSBhdWZncnVuZCB2 b24gcmVwbGljYXRlLSotdGFibGUtUmVnZWxuIGlnbm9yaWVydCIKCj09PSBtb2RpZmllZCBmaWxl ICdzcWwvc3FsX2V4ZWN1dG9yLmNjJwotLS0gYS9zcWwvc3FsX2V4ZWN1dG9yLmNjCTIwMTItMDEt MTcgMDg6MTI6NDAgKzAwMDAKKysrIGIvc3FsL3NxbF9leGVjdXRvci5jYwkyMDEyLTAxLTE4IDEz OjUzOjAwICswMDAwCkBAIC00NjgwLDY0ICs0NjgwLDg4IEBAIGNoYW5nZV90b191c2VfdG1wX2Zp ZWxkcyhUSEQgKnRoZCwgUmVmX3AKICAgcmVzX3NlbGVjdGVkX2ZpZWxkcy5lbXB0eSgpOwogICBy ZXNfYWxsX2ZpZWxkcy5lbXB0eSgpOwogCi0gIHVpbnQgaSwgYm9yZGVyPSBhbGxfZmllbGRzLmVs ZW1lbnRzIC0gZWxlbWVudHM7Ci0gIGZvciAoaT0gMDsgKGl0ZW09IGl0KyspOyBpKyspCisgIHVp bnQgYm9yZGVyPSBhbGxfZmllbGRzLmVsZW1lbnRzIC0gZWxlbWVudHM7CisgIGZvciAodWludCBp PSAwOyAoaXRlbT0gaXQrKyk7IGkrKykKICAgewogICAgIEZpZWxkICpmaWVsZDsKLQotICAgIGlm ICgoaXRlbS0+d2l0aF9zdW1fZnVuYyAmJiBpdGVtLT50eXBlKCkgIT0gSXRlbTo6U1VNX0ZVTkNf SVRFTSkgfHwKLSAgICAgICAgKGl0ZW0tPnR5cGUoKSA9PSBJdGVtOjpGVU5DX0lURU0gJiYKLSAg ICAgICAgICgoSXRlbV9mdW5jKilpdGVtKS0+ZnVuY3R5cGUoKSA9PSBJdGVtX2Z1bmM6OlNVU0VS VkFSX0ZVTkMpKQorICAgIGlmIChpdGVtLT53aXRoX3N1bV9mdW5jICYmIGl0ZW0tPnR5cGUoKSAh PSBJdGVtOjpTVU1fRlVOQ19JVEVNKQogICAgICAgaXRlbV9maWVsZD0gaXRlbTsKLSAgICBlbHNl CisgICAgZWxzZSBpZiAoaXRlbS0+dHlwZSgpID09IEl0ZW06OkZJRUxEX0lURU0pCisgICAgICBp dGVtX2ZpZWxkPSBpdGVtLT5nZXRfdG1wX3RhYmxlX2l0ZW0odGhkKTsKKyAgICBlbHNlIGlmIChp dGVtLT50eXBlKCkgPT0gSXRlbTo6RlVOQ19JVEVNICYmCisgICAgICAgICAgICAgKChJdGVtX2Z1 bmMqKWl0ZW0pLT5mdW5jdHlwZSgpID09IEl0ZW1fZnVuYzo6U1VTRVJWQVJfRlVOQykKICAgICB7 Ci0gICAgICBpZiAoaXRlbS0+dHlwZSgpID09IEl0ZW06OkZJRUxEX0lURU0pCisgICAgICBmaWVs ZD0gaXRlbS0+Z2V0X3RtcF90YWJsZV9maWVsZCgpOworICAgICAgaWYgKGZpZWxkICE9IE5VTEwp CiAgICAgICB7Ci0JaXRlbV9maWVsZD0gaXRlbS0+Z2V0X3RtcF90YWJsZV9pdGVtKHRoZCk7Cisg ICAgICAgIC8qCisgICAgICAgICAgUmVwbGFjZSAiQDo9PGV4cHJlc3Npb24+IiB3aXRoICJAOj08 dG1wIHRhYmxlIGNvbHVtbj4iLiBPdGhlcndpc2UsIHdlCisgICAgICAgICAgd291bGQgcmUtZXZh bHVhdGUgPGV4cHJlc3Npb24+LCBhbmQgaWYgZXhwcmVzc2lvbiB3ZXJlIGEgc3VicXVlcnksIHRo aXMKKyAgICAgICAgICB3b3VsZCBhY2Nlc3MgYWxyZWFkeS11bmxvY2tlZCB0YWJsZXMuCisgICAg ICAgICovCisgICAgICAgIEl0ZW1fZnVuY19zZXRfdXNlcl92YXIqIHN1dj0KKyAgICAgICAgICBu ZXcgSXRlbV9mdW5jX3NldF91c2VyX3Zhcih0aGQsIChJdGVtX2Z1bmNfc2V0X3VzZXJfdmFyKikg aXRlbSk7CisgICAgICAgIEl0ZW1fZmllbGQgKm5ld19maWVsZD0gbmV3IEl0ZW1fZmllbGQoZmll bGQpOworICAgICAgICBpZiAoIXN1diB8fCAhbmV3X2ZpZWxkKQorICAgICAgICAgIERCVUdfUkVU VVJOKHRydWUpOyAgICAgICAgICAgICAgICAgIC8vIEZhdGFsIGVycm9yCisgICAgICAgIC8qCisg ICAgICAgICAgV2UgYXJlIHJlcGxhY2luZyB0aGUgYXJndW1lbnQgb2YgSXRlbV9mdW5jX3NldF91 c2VyX3ZhciBhZnRlciBpdHMgdmFsdWUKKyAgICAgICAgICBoYXMgYmVlbiByZWFkLiBUaGUgYXJn dW1lbnQncyBudWxsX3ZhbHVlIHNob3VsZCBiZSBzZXQgYnkgbm93LCBzbyB3ZQorICAgICAgICAg IG11c3Qgc2V0IGl0IGV4cGxpY2l0bHkgZm9yIHRoZSByZXBsYWNlbWVudCBhcmd1bWVudCBzaW5j ZSB0aGUKKyAgICAgICAgICBudWxsX3ZhbHVlIG1heSBiZSByZWFkIHdpdGhvdXQgYW55IHByZWNl ZWRpbmcgY2FsbCB0byB2YWxfKigpLgorICAgICAgICAqLworICAgICAgICBuZXdfZmllbGQtPnVw ZGF0ZV9udWxsX3ZhbHVlKCk7CisgICAgICAgIExpc3Q8SXRlbT4gbGlzdDsKKyAgICAgICAgbGlz dC5wdXNoX2JhY2sobmV3X2ZpZWxkKTsKKyAgICAgICAgc3V2LT5zZXRfYXJndW1lbnRzKGxpc3Qp OworICAgICAgICBpdGVtX2ZpZWxkPSBzdXY7CiAgICAgICB9Ci0gICAgICBlbHNlIGlmICgoZmll bGQ9IGl0ZW0tPmdldF90bXBfdGFibGVfZmllbGQoKSkpCisgICAgICBlbHNlCisgICAgICAgIGl0 ZW1fZmllbGQ9IGl0ZW07CisgICAgfQorICAgIGVsc2UgaWYgKChmaWVsZD0gaXRlbS0+Z2V0X3Rt cF90YWJsZV9maWVsZCgpKSkKKyAgICB7CisgICAgICBpZiAoaXRlbS0+dHlwZSgpID09IEl0ZW06 OlNVTV9GVU5DX0lURU0gJiYgZmllbGQtPnRhYmxlLT5ncm91cCkKKyAgICAgICAgaXRlbV9maWVs ZD0gKChJdGVtX3N1bSopIGl0ZW0pLT5yZXN1bHRfaXRlbShmaWVsZCk7CisgICAgICBlbHNlCisg ICAgICAgIGl0ZW1fZmllbGQ9IChJdGVtKikgbmV3IEl0ZW1fZmllbGQoZmllbGQpOworICAgICAg aWYgKCFpdGVtX2ZpZWxkKQorICAgICAgICBEQlVHX1JFVFVSTih0cnVlKTsgICAgICAgICAgICAg ICAgICAgIC8vIEZhdGFsIGVycm9yCisKKyAgICAgIGlmIChpdGVtLT5yZWFsX2l0ZW0oKS0+dHlw ZSgpICE9IEl0ZW06OkZJRUxEX0lURU0pCisgICAgICAgIGZpZWxkLT5vcmlnX3RhYmxlPSAwOwor ICAgICAgaXRlbV9maWVsZC0+bmFtZT0gaXRlbS0+bmFtZTsKKyAgICAgIGlmIChpdGVtLT50eXBl KCkgPT0gSXRlbTo6UkVGX0lURU0pCiAgICAgICB7Ci0JaWYgKGl0ZW0tPnR5cGUoKSA9PSBJdGVt OjpTVU1fRlVOQ19JVEVNICYmIGZpZWxkLT50YWJsZS0+Z3JvdXApCi0JICBpdGVtX2ZpZWxkPSAo KEl0ZW1fc3VtKikgaXRlbSktPnJlc3VsdF9pdGVtKGZpZWxkKTsKLQllbHNlCi0JICBpdGVtX2Zp ZWxkPSAoSXRlbSopIG5ldyBJdGVtX2ZpZWxkKGZpZWxkKTsKLQlpZiAoIWl0ZW1fZmllbGQpCi0J ICBEQlVHX1JFVFVSTihUUlVFKTsgICAgICAgICAgICAgICAgICAgIC8vIEZhdGFsIGVycm9yCi0K LSAgICAgICAgaWYgKGl0ZW0tPnJlYWxfaXRlbSgpLT50eXBlKCkgIT0gSXRlbTo6RklFTERfSVRF TSkKLSAgICAgICAgICBmaWVsZC0+b3JpZ190YWJsZT0gMDsKLQlpdGVtX2ZpZWxkLT5uYW1lPSBp dGVtLT5uYW1lOwotICAgICAgICBpZiAoaXRlbS0+dHlwZSgpID09IEl0ZW06OlJFRl9JVEVNKQot ICAgICAgICB7Ci0gICAgICAgICAgSXRlbV9maWVsZCAqaWZpZWxkPSAoSXRlbV9maWVsZCAqKSBp dGVtX2ZpZWxkOwotICAgICAgICAgIEl0ZW1fcmVmICppcmVmPSAoSXRlbV9yZWYgKikgaXRlbTsK LSAgICAgICAgICBpZmllbGQtPnRhYmxlX25hbWU9IGlyZWYtPnRhYmxlX25hbWU7Ci0gICAgICAg ICAgaWZpZWxkLT5kYl9uYW1lPSBpcmVmLT5kYl9uYW1lOwotICAgICAgICB9CisgICAgICAgIEl0 ZW1fZmllbGQgKmlmaWVsZD0gKEl0ZW1fZmllbGQgKikgaXRlbV9maWVsZDsKKyAgICAgICAgSXRl bV9yZWYgKmlyZWY9IChJdGVtX3JlZiAqKSBpdGVtOworICAgICAgICBpZmllbGQtPnRhYmxlX25h bWU9IGlyZWYtPnRhYmxlX25hbWU7CisgICAgICAgIGlmaWVsZC0+ZGJfbmFtZT0gaXJlZi0+ZGJf bmFtZTsKKyAgICAgIH0KICNpZm5kZWYgREJVR19PRkYKLQlpZiAoIWl0ZW1fZmllbGQtPm5hbWUp Ci0JewotCSAgY2hhciBidWZmWzI1Nl07Ci0JICBTdHJpbmcgc3RyKGJ1ZmYsc2l6ZW9mKGJ1ZmYp LCZteV9jaGFyc2V0X2Jpbik7Ci0JICBzdHIubGVuZ3RoKDApOwotCSAgaXRlbS0+cHJpbnQoJnN0 ciwgUVRfT1JESU5BUlkpOwotCSAgaXRlbV9maWVsZC0+bmFtZT0gc3FsX3N0cm1ha2Uoc3RyLnB0 cigpLHN0ci5sZW5ndGgoKSk7Ci0JfQotI2VuZGlmCisgICAgICBpZiAoIWl0ZW1fZmllbGQtPm5h bWUpCisgICAgICB7CisgICAgICAgIGNoYXIgYnVmZlsyNTZdOworICAgICAgICBTdHJpbmcgc3Ry KGJ1ZmYsc2l6ZW9mKGJ1ZmYpLCZteV9jaGFyc2V0X2Jpbik7CisgICAgICAgIHN0ci5sZW5ndGgo MCk7CisgICAgICAgIGl0ZW0tPnByaW50KCZzdHIsIFFUX09SRElOQVJZKTsKKyAgICAgICAgaXRl bV9maWVsZC0+bmFtZT0gc3FsX3N0cm1ha2Uoc3RyLnB0cigpLHN0ci5sZW5ndGgoKSk7CiAgICAg ICB9Ci0gICAgICBlbHNlCi0JaXRlbV9maWVsZD0gaXRlbTsKKyNlbmRpZgogICAgIH0KKyAgICBl bHNlCisgICAgICBpdGVtX2ZpZWxkPSBpdGVtOworCiAgICAgcmVzX2FsbF9maWVsZHMucHVzaF9i YWNrKGl0ZW1fZmllbGQpOwogICAgIHJlZl9wb2ludGVyX2FycmF5WygoaSA8IGJvcmRlcik/IGFs bF9maWVsZHMuZWxlbWVudHMtaS0xIDogaS1ib3JkZXIpXT0KICAgICAgIGl0ZW1fZmllbGQ7CiAg IH0KIAogICBMaXN0X2l0ZXJhdG9yX2Zhc3Q8SXRlbT4gaXRyKHJlc19hbGxfZmllbGRzKTsKLSAg Zm9yIChpPSAwOyBpIDwgYm9yZGVyOyBpKyspCisgIGZvciAodWludCBpPSAwOyBpIDwgYm9yZGVy OyBpKyspCiAgICAgaXRyKys7CiAgIGl0ci5zdWJsaXN0KHJlc19zZWxlY3RlZF9maWVsZHMsIGVs ZW1lbnRzKTsKLSAgREJVR19SRVRVUk4oRkFMU0UpOworICBEQlVHX1JFVFVSTihmYWxzZSk7CiB9 CiAKIAoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfb3B0aW1pemVyLmNjJwotLS0gYS9zcWwv c3FsX29wdGltaXplci5jYwkyMDEyLTAxLTE2IDE0OjAwOjI4ICswMDAwCisrKyBiL3NxbC9zcWxf b3B0aW1pemVyLmNjCTIwMTItMDEtMTggMTM6NTM6MDAgKzAwMDAKQEAgLTQyNCw2ICs0MjQsMTIg QEAgSk9JTjo6b3B0aW1pemUoKQogICBpZiAoY29uZHMpCiAgIHsKICAgICBjb25kcz0gc3Vic3Rp dHV0ZV9mb3JfYmVzdF9lcXVhbF9maWVsZChjb25kcywgY29uZF9lcXVhbCwgbWFwMnRhYmxlKTsK KyAgICBpZiAodGhkLT5pc19lcnJvcigpKQorICAgIHsKKyAgICAgIGVycm9yPSAxOworICAgICAg REJVR19QUklOVCgiZXJyb3IiLCgiRXJyb3IgZnJvbSBzdWJzdGl0dXRlX2Zvcl9iZXN0X2VxdWFs IikpOworICAgICAgREJVR19SRVRVUk4oMSk7CisgICAgfQogICAgIGNvbmRzLT51cGRhdGVfdXNl ZF90YWJsZXMoKTsKICAgICBEQlVHX0VYRUNVVEUoIndoZXJlIiwKICAgICAgICAgICAgICAgICAg cHJpbnRfd2hlcmUoY29uZHMsCkBAIC00NDIsNiArNDQ4LDEyIEBAIEpPSU46Om9wdGltaXplKCkK ICAgICAgICp0YWItPm9uX2V4cHJfcmVmPSBzdWJzdGl0dXRlX2Zvcl9iZXN0X2VxdWFsX2ZpZWxk KCp0YWItPm9uX2V4cHJfcmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGFiLT5jb25kX2VxdWFsLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwMnRhYmxlKTsKKyAgICAg IGlmICh0aGQtPmlzX2Vycm9yKCkpCisgICAgICB7CisgICAgICAgIGVycm9yPSAxOworICAgICAg ICBEQlVHX1BSSU5UKCJlcnJvciIsKCJFcnJvciBmcm9tIHN1YnN0aXR1dGVfZm9yX2Jlc3RfZXF1 YWwiKSk7CisgICAgICAgIERCVUdfUkVUVVJOKDEpOworICAgICAgfQogICAgICAgKCp0YWItPm9u X2V4cHJfcmVmKS0+dXBkYXRlX3VzZWRfdGFibGVzKCk7CiAgICAgfQogICB9CkBAIC0xMTgzLDkg KzExOTUsOSBAQCBzdGF0aWMgYm9vbCBjaGVja19zaW1wbGVfZXF1YWxpdHkoSXRlbSAqCiAgICAg ICAgIGlmICghaXRlbSkKICAgICAgICAgewogICAgICAgICAgIEl0ZW1fZnVuY19lcSAqZXFfaXRl bTsKLSAgICAgICAgICBpZiAoKGVxX2l0ZW09IG5ldyBJdGVtX2Z1bmNfZXEobGVmdF9pdGVtLCBy aWdodF9pdGVtKSkpCisgICAgICAgICAgaWYgKCEoZXFfaXRlbT0gbmV3IEl0ZW1fZnVuY19lcShs ZWZ0X2l0ZW0sIHJpZ2h0X2l0ZW0pKSB8fAorICAgICAgICAgICAgICBlcV9pdGVtLT5zZXRfY21w X2Z1bmMoKSkKICAgICAgICAgICAgIHJldHVybiBGQUxTRTsKLSAgICAgICAgICBlcV9pdGVtLT5z ZXRfY21wX2Z1bmMoKTsKICAgICAgICAgICBlcV9pdGVtLT5xdWlja19maXhfZmllbGQoKTsKICAg ICAgICAgICBpdGVtPSBlcV9pdGVtOwogICAgICAgICB9ICAKQEAgLTEyNzYsOSArMTI4OCw5IEBA IHN0YXRpYyBib29sIGNoZWNrX3Jvd19lcXVhbGl0eShUSEQgKnRoZCwKICAgICBpZiAoIWlzX2Nv bnZlcnRlZCkKICAgICB7CiAgICAgICBJdGVtX2Z1bmNfZXEgKmVxX2l0ZW07Ci0gICAgICBpZiAo IShlcV9pdGVtPSBuZXcgSXRlbV9mdW5jX2VxKGxlZnRfaXRlbSwgcmlnaHRfaXRlbSkpKQorICAg ICAgaWYgKCEoZXFfaXRlbT0gbmV3IEl0ZW1fZnVuY19lcShsZWZ0X2l0ZW0sIHJpZ2h0X2l0ZW0p KSB8fAorICAgICAgICAgIGVxX2l0ZW0tPnNldF9jbXBfZnVuYygpKQogICAgICAgICByZXR1cm4g RkFMU0U7Ci0gICAgICBlcV9pdGVtLT5zZXRfY21wX2Z1bmMoKTsKICAgICAgIGVxX2l0ZW0tPnF1 aWNrX2ZpeF9maWVsZCgpOwogICAgICAgZXFfbGlzdC0+cHVzaF9iYWNrKGVxX2l0ZW0pOwogICAg IH0KQEAgLTE4NTIsMTAgKzE4NjQsOCBAQCBzdGF0aWMgSXRlbSAqZWxpbWluYXRlX2l0ZW1fZXF1 YWwoSXRlbSAqCiAgICAgICAgIGhlYWQ9IGl0ZW1fZXF1YWwtPmdldF9maXJzdCgpOwogCiAgICAg ICBlcV9pdGVtPSBuZXcgSXRlbV9mdW5jX2VxKGl0ZW1fZmllbGQsIGhlYWQpOwotICAgICAgaWYg KCFlcV9pdGVtKQorICAgICAgaWYgKCFlcV9pdGVtIHx8IGVxX2l0ZW0tPnNldF9jbXBfZnVuYygp KQogICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgICAgZXFfaXRlbS0+c2V0X2NtcF9mdW5jKCk7 CiAgICAgICBlcV9pdGVtLT5xdWlja19maXhfZmllbGQoKTsKICAgICB9CiAgIH0KQEAgLTE5MTEs NyArMTkyMSw3IEBAIHN0YXRpYyBJdGVtICplbGltaW5hdGVfaXRlbV9lcXVhbChJdGVtICoKICAg ICB0aGUgb3JkZXIgaW4gdGhlbSB0byBjb21wbHkgd2l0aCB0aGUgb3JkZXIgb2YgdXBwZXIgbGV2 ZWxzLgogCiAgIEByZXR1cm4KLSAgICBUaGUgdHJhbnNmb3JtZWQgY29uZGl0aW9uCisgICAgVGhl IHRyYW5zZm9ybWVkIGNvbmRpdGlvbiwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCiAqLwogCiBz dGF0aWMgSXRlbSogc3Vic3RpdHV0ZV9mb3JfYmVzdF9lcXVhbF9maWVsZChJdGVtICpjb25kLApA QCAtMTk1OCw2ICsxOTY4LDggQEAgc3RhdGljIEl0ZW0qIHN1YnN0aXR1dGVfZm9yX2Jlc3RfZXF1 YWxfZgogICAgICAgd2hpbGUgKChpdGVtX2VxdWFsPSBpdCsrKSkKICAgICAgIHsKICAgICAgICAg Y29uZD0gZWxpbWluYXRlX2l0ZW1fZXF1YWwoY29uZCwgY29uZF9lcXVhbC0+dXBwZXJfbGV2ZWxz LCBpdGVtX2VxdWFsKTsKKyAgICAgICAgaWYgKGNvbmQgPT0gTlVMTCkKKyAgICAgICAgICByZXR1 cm4gTlVMTDsKICAgICAgICAgLy8gVGhpcyBvY2N1cnMgd2hlbiBlbGltaW5hdGVfaXRlbV9lcXVh bCgpIGZvdW5kcyB0aGF0IGNvbmQgaXMKICAgICAgICAgLy8gYWx3YXlzIGZhbHNlIGFuZCBzdWJz dGl0dXRlcyBpdCB3aXRoIEl0ZW1faW50IDAuCiAgICAgICAgIC8vIER1ZSB0byB0aGlzLCB2YWx1 ZSBvZiBpdGVtX2VxdWFsIHdpbGwgYmUgMCwgc28ganVzdCByZXR1cm4gaXQuCgo9PT0gbW9kaWZp ZWQgZmlsZSAnc3FsL3NxbF9wbHVnaW4uY2MnCi0tLSBhL3NxbC9zcWxfcGx1Z2luLmNjCTIwMTEt MTEtMTAgMDk6NTU6MjAgKzAwMDAKKysrIGIvc3FsL3NxbF9wbHVnaW4uY2MJMjAxMi0wMS0xNyAw OTozOTo1NCArMDAwMApAQCAtNDY5LDE4ICs0NjksMjIgQEAgc3RhdGljIHN0X3BsdWdpbl9kbCAq cGx1Z2luX2RsX2FkZChjb25zdAogICBkbHBhdGhsZW49CiAgICAgc3RyeG5tb3YoZGxwYXRoLCBz aXplb2YoZGxwYXRoKSAtIDEsIG9wdF9wbHVnaW5fZGlyLCAiLyIsIGRsLT5zdHIsIE51bGxTKSAt CiAgICAgZGxwYXRoOworICAodm9pZCkgdW5wYWNrX2ZpbGVuYW1lKGRscGF0aCwgZGxwYXRoKTsK ICAgcGx1Z2luX2RsLnJlZl9jb3VudD0gMTsKICAgLyogT3BlbiBuZXcgZGxsIGhhbmRsZSAqLwog ICBpZiAoIShwbHVnaW5fZGwuaGFuZGxlPSBkbG9wZW4oZGxwYXRoLCBSVExEX05PVykpKQogICB7 Ci0gICAgY29uc3QgY2hhciAqZXJybXNnPWRsZXJyb3IoKTsKKyAgICBjb25zdCBjaGFyICplcnJt c2c7CisgICAgaW50IGVycm9yX251bWJlcj0gZGxvcGVuX2Vycm5vOworICAgIERMRVJST1JfR0VO RVJBVEUoZXJybXNnLCBlcnJvcl9udW1iZXIpOworCiAgICAgaWYgKCFzdHJuY21wKGRscGF0aCwg ZXJybXNnLCBkbHBhdGhsZW4pKQogICAgIHsgLy8gaWYgZXJybXNnIHN0YXJ0cyBmcm9tIGRscGF0 aCwgdHJpbSB0aGlzIHByZWZpeC4KICAgICAgIGVycm1zZys9ZGxwYXRobGVuOwogICAgICAgaWYg KCplcnJtc2cgPT0gJzonKSBlcnJtc2crKzsKICAgICAgIGlmICgqZXJybXNnID09ICcgJykgZXJy bXNnKys7CiAgICAgfQotICAgIHJlcG9ydF9lcnJvcihyZXBvcnQsIEVSX0NBTlRfT1BFTl9MSUJS QVJZLCBkbHBhdGgsIGVycm5vLCBlcnJtc2cpOworICAgIHJlcG9ydF9lcnJvcihyZXBvcnQsIEVS X0NBTlRfT1BFTl9MSUJSQVJZLCBkbHBhdGgsIGVycm9yX251bWJlciwgZXJybXNnKTsKICAgICBE QlVHX1JFVFVSTigwKTsKICAgfQogICAvKiBEZXRlcm1pbmUgaW50ZXJmYWNlIHZlcnNpb24gKi8K Cj09PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX3RhYmxlLmNjJwotLS0gYS9zcWwvc3FsX3RhYmxl LmNjCTIwMTItMDEtMTcgMDg6MTI6NDAgKzAwMDAKKysrIGIvc3FsL3NxbF90YWJsZS5jYwkyMDEy LTAxLTE4IDA0OjMzOjA4ICswMDAwCkBAIC0yNDUxLDYgKzI0NTEsMTQgQEAgaW50IG15c3FsX3Jt X3RhYmxlX25vX2xvY2tzKFRIRCAqdGhkLCBUQQogICAgIH0KICAgICBpZiAoZXJyb3IpCiAgICAg eworICAgICAgaWYgKGVycm9yID09IEhBX0VSUl9UT09fTUFOWV9DT05DVVJSRU5UX1RSWFMpCisg ICAgICB7CisgICAgICAgIG15X2Vycm9yKEhBX0VSUl9UT09fTUFOWV9DT05DVVJSRU5UX1RSWFMs IE1ZRigwKSk7CisgICAgICAgIHdyb25nX3RhYmxlcy5mcmVlKCk7CisgICAgICAgIGVycm9yPSAx OworICAgICAgICBnb3RvIGVycjsKKyAgICAgIH0KKwogICAgICAgaWYgKHdyb25nX3RhYmxlcy5s ZW5ndGgoKSkKICAgICAgICAgd3JvbmdfdGFibGVzLmFwcGVuZCgnLCcpOwogCgo9PT0gbW9kaWZp ZWQgZmlsZSAnc3FsL3NxbF91ZGYuY2MnCi0tLSBhL3NxbC9zcWxfdWRmLmNjCTIwMTEtMTEtMjgg MDc6NDI6MTggKzAwMDAKKysrIGIvc3FsL3NxbF91ZGYuY2MJMjAxMi0wMS0xNyAwOTozOTo1NCAr MDAwMApAQCAtMjE0LDEwICsyMTQsMTUgQEAgdm9pZCB1ZGZfaW5pdCgpCiAgICAgICBjaGFyIGRs cGF0aFtGTl9SRUZMRU5dOwogICAgICAgc3RyeG5tb3YoZGxwYXRoLCBzaXplb2YoZGxwYXRoKSAt IDEsIG9wdF9wbHVnaW5fZGlyLCAiLyIsIHRtcC0+ZGwsCiAgICAgICAgICAgICAgICBOdWxsUyk7 CisgICAgICAodm9pZCkgdW5wYWNrX2ZpbGVuYW1lKGRscGF0aCwgZGxwYXRoKTsKICAgICAgIGlm ICghKGRsPSBkbG9wZW4oZGxwYXRoLCBSVExEX05PVykpKQogICAgICAgeworCWNvbnN0IGNoYXIg KmVycm1zZzsKKwlpbnQgZXJyb3JfbnVtYmVyPSBkbG9wZW5fZXJybm87CisJRExFUlJPUl9HRU5F UkFURShlcnJtc2csIGVycm9yX251bWJlcik7CisKIAkvKiBQcmludCB3YXJuaW5nIHRvIGxvZyAq LwotICAgICAgICBzcWxfcHJpbnRfZXJyb3IoRVIoRVJfQ0FOVF9PUEVOX0xJQlJBUlkpLCB0bXAt PmRsLCBlcnJubywgZGxlcnJvcigpKTsKKyAgICAgICAgc3FsX3ByaW50X2Vycm9yKEVSKEVSX0NB TlRfT1BFTl9MSUJSQVJZKSwgdG1wLT5kbCwgZXJyb3JfbnVtYmVyLCBlcnJtc2cpOwogCS8qIEtl ZXAgdGhlIHVkZiBpbiB0aGUgaGFzaCBzbyB0aGF0IHdlIGNhbiByZW1vdmUgaXQgbGF0ZXIgKi8K IAljb250aW51ZTsKICAgICAgIH0KQEAgLTQ2NiwxMiArNDcxLDE4IEBAIGludCBteXNxbF9jcmVh dGVfZnVuY3Rpb24oVEhEICp0aGQsdWRmX2YKICAgewogICAgIGNoYXIgZGxwYXRoW0ZOX1JFRkxF Tl07CiAgICAgc3RyeG5tb3YoZGxwYXRoLCBzaXplb2YoZGxwYXRoKSAtIDEsIG9wdF9wbHVnaW5f ZGlyLCAiLyIsIHVkZi0+ZGwsIE51bGxTKTsKKyAgICAodm9pZCkgdW5wYWNrX2ZpbGVuYW1lKGRs cGF0aCwgZGxwYXRoKTsKKwogICAgIGlmICghKGRsID0gZGxvcGVuKGRscGF0aCwgUlRMRF9OT1cp KSkKICAgICB7CisgICAgICBjb25zdCBjaGFyICplcnJtc2c7CisgICAgICBpbnQgZXJyb3JfbnVt YmVyPSBkbG9wZW5fZXJybm87CisgICAgICBETEVSUk9SX0dFTkVSQVRFKGVycm1zZywgZXJyb3Jf bnVtYmVyKTsKKwogICAgICAgREJVR19QUklOVCgiZXJyb3IiLCgiZGxvcGVuIG9mICVzIGZhaWxl ZCwgZXJyb3I6ICVkICglcykiLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1ZGYtPmRsLCBl cnJubywgZGxlcnJvcigpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVkZi0+ZGwsIGVy cm9yX251bWJlciwgZXJybXNnKSk7CiAgICAgICBteV9lcnJvcihFUl9DQU5UX09QRU5fTElCUkFS WSwgTVlGKDApLAotICAgICAgICAgICAgICAgdWRmLT5kbCwgZXJybm8sIGRsZXJyb3IoKSk7Cisg ICAgICAgICAgICAgICB1ZGYtPmRsLCBlcnJvcl9udW1iZXIsIGVycm1zZyk7CiAgICAgICBnb3Rv IGVycjsKICAgICB9CiAgICAgbmV3X2RsPTE7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3RhYmxl LmgnCi0tLSBhL3NxbC90YWJsZS5oCTIwMTItMDEtMTMgMDk6MzM6MTMgKzAwMDAKKysrIGIvc3Fs L3RhYmxlLmgJMjAxMi0wMS0xOCAxNDo0MjoxNiArMDAwMApAQCAtMzM3LDYgKzMzNyw5IEBAIHB1 YmxpYzoKICAgdWNoYXIgKiphbGxvY19zb3J0X2J1ZmZlcih1aW50IG51bV9yZWNvcmRzLCB1aW50 IHJlY29yZF9sZW5ndGgpCiAgIHsgcmV0dXJuIGZpbGVzb3J0X2J1ZmZlci5hbGxvY19zb3J0X2J1 ZmZlcihudW1fcmVjb3JkcywgcmVjb3JkX2xlbmd0aCk7IH0KIAorICBzdGQ6OnBhaXI8dWludCwg dWludD4gc29ydF9idWZmZXJfcHJvcGVydGllcygpIGNvbnN0CisgIHsgcmV0dXJuIGZpbGVzb3J0 X2J1ZmZlci5zb3J0X2J1ZmZlcl9wcm9wZXJ0aWVzKCk7IH0KKwogICB2b2lkIGZyZWVfc29ydF9i dWZmZXIoKQogICB7IGZpbGVzb3J0X2J1ZmZlci5mcmVlX3NvcnRfYnVmZmVyKCk7IH0KIAoKPT09 IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvYnVmL2J1ZjBidWYuY2MnCi0tLSBhL3N0 b3JhZ2UvaW5ub2Jhc2UvYnVmL2J1ZjBidWYuY2MJMjAxMS0xMi0yOCAxMDo0MDo1NSArMDAwMAor KysgYi9zdG9yYWdlL2lubm9iYXNlL2J1Zi9idWYwYnVmLmNjCTIwMTItMDEtMTYgMDg6MTU6MjAg KzAwMDAKQEAgLTMwNzUsOSArMzA3NSwxOCBAQCBidWZfcGFnZV9nZXRfa25vd25fbm93YWl0KAog CXV0X2EoYnVmX2Jsb2NrX2dldF9zdGF0ZShibG9jaykgPT0gQlVGX0JMT0NLX0ZJTEVfUEFHRSk7 CiAjZW5kaWYgLyogVU5JVl9ERUJVRyB8fCBVTklWX0JVRl9ERUJVRyAqLwogI2lmIGRlZmluZWQg VU5JVl9ERUJVR19GSUxFX0FDQ0VTU0VTIHx8IGRlZmluZWQgVU5JVl9ERUJVRwotCW11dGV4X2Vu dGVyKCZibG9jay0+bXV0ZXgpOwotCXV0X2EoIWJsb2NrLT5wYWdlLmZpbGVfcGFnZV93YXNfZnJl ZWQpOwotCW11dGV4X2V4aXQoJmJsb2NrLT5tdXRleCk7CisJaWYgKG1vZGUgIT0gQlVGX0tFRVBf T0xEKSB7CisJCS8qIElmIG1vZGUgPT0gQlVGX0tFRVBfT0xELCB3ZSBhcmUgZXhlY3V0aW5nIGFu IEkvTworCQljb21wbGV0aW9uIHJvdXRpbmUuICBBdm9pZCBhIGJvZ3VzIGFzc2VydGlvbiBmYWls dXJlCisJCXdoZW4gaWJ1Zl9tZXJnZV9vcl9kZWxldGVfZm9yX3BhZ2UoKSBpcyBwcm9jZXNzaW5n IGEKKwkJcGFnZSB0aGF0IHdhcyBqdXN0IGZyZWVkIGR1ZSB0byBEUk9QIElOREVYLCBvcgorCQlk ZWxldGluZyBhIHJlY29yZCBmcm9tIFNZU19JTkRFWEVTLiBUaGlzIGNoZWNrIHdpbGwgYmUKKwkJ c2tpcHBlZCBpbiByZWN2X3JlY292ZXJfcGFnZSgpIGFzIHdlbGwuICovCisKKwkJbXV0ZXhfZW50 ZXIoJmJsb2NrLT5tdXRleCk7CisJCXV0X2EoIWJsb2NrLT5wYWdlLmZpbGVfcGFnZV93YXNfZnJl ZWQpOworCQltdXRleF9leGl0KCZibG9jay0+bXV0ZXgpOworCX0KICNlbmRpZgogCiAjaWZkZWYg VU5JVl9JQlVGX0NPVU5UX0RFQlVHCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFz ZS9kaWN0L2RpY3Qwc3RhdHMuY2MnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvZGljdC9kaWN0MHN0 YXRzLmNjCTIwMTEtMTItMTYgMTQ6MzQ6MTQgKzAwMDAKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9k aWN0L2RpY3Qwc3RhdHMuY2MJMjAxMi0wMS0xNyAwOTowNDoxOSArMDAwMApAQCAtMTkxMCwxMCAr MTkxMCw4IEBAIGRpY3Rfc3RhdHNfZmV0Y2hfaW5kZXhfc3RhdHNfc3RlcCgKIAkJCSAgICAgaW5k ZXggIT0gTlVMTDsKIAkJCSAgICAgaW5kZXggPSBkaWN0X3RhYmxlX2dldF9uZXh0X2luZGV4KGlu ZGV4KSkgewogCi0JCQkJLy8gRklYTUU6IENhbiB3ZSB1c2UgYSBiZXR0ZXIgY2FzdCBvcGVyYXRv cgotCQkJCWlmIChzdHJuY2FzZWNtcChpbmRleC0+bmFtZSwKLQkJCQkJCShjb25zdCBjaGFyKikg ZGF0YSwKLQkJCQkJCWxlbikgPT0gMCkgeworCQkJCWlmIChzdHJsZW4oaW5kZXgtPm5hbWUpID09 IGxlbgorCQkJCSAgICAmJiBtZW1jbXAoaW5kZXgtPm5hbWUsIGRhdGEsIGxlbikgPT0gMCkgewog CQkJCQkvKiB0aGUgY29ycmVzcG9uZGluZyBpbmRleCB3YXMgZm91bmQgKi8KIAkJCQkJYnJlYWs7 CiAJCQkJfQpAQCAtMTk5OSwyNiArMTk5NywyOSBAQCBkaWN0X3N0YXRzX2ZldGNoX2luZGV4X3N0 YXRzX3N0ZXAoCiAJLyogc2FtcGxlX3NpemUgY291bGQgYmUgVUlOVDY0X1VOREVGSU5FRCBoZXJl LCBpZiBpdCBpcyBOVUxMICovCiAKICNkZWZpbmUgUEZYCSJuX2RpZmZfcGZ4IgorI2RlZmluZSBQ RlhfTEVOCTEwCiAKLQlpZiAoc3RybmNhc2VjbXAoInNpemUiLCBzdGF0X25hbWUsIHN0YXRfbmFt ZV9sZW4pID09IDApIHsKKwlpZiAoc3RhdF9uYW1lX2xlbiA9PSA0IC8qIHN0cmxlbigic2l6ZSIp ICovCisJICAgICYmIHN0cm5jYXNlY21wKCJzaXplIiwgc3RhdF9uYW1lLCBzdGF0X25hbWVfbGVu KSA9PSAwKSB7CiAJCWluZGV4LT5zdGF0X2luZGV4X3NpemUgPSAodWxpbnQpIHN0YXRfdmFsdWU7 CiAJCWFyZy0+c3RhdHNfd2VyZV9tb2RpZmllZCA9IFRSVUU7Ci0JfSBlbHNlIGlmIChzdHJuY2Fz ZWNtcCgibl9sZWFmX3BhZ2VzIiwgc3RhdF9uYW1lLCBzdGF0X25hbWVfbGVuKQorCX0gZWxzZSBp ZiAoc3RhdF9uYW1lX2xlbiA9PSAxMiAvKiBzdHJsZW4oIm5fbGVhZl9wYWdlcyIpICovCisJCSAg ICYmIHN0cm5jYXNlY21wKCJuX2xlYWZfcGFnZXMiLCBzdGF0X25hbWUsIHN0YXRfbmFtZV9sZW4p CiAJCSAgID09IDApIHsKIAkJaW5kZXgtPnN0YXRfbl9sZWFmX3BhZ2VzID0gKHVsaW50KSBzdGF0 X3ZhbHVlOwogCQlhcmctPnN0YXRzX3dlcmVfbW9kaWZpZWQgPSBUUlVFOwotCX0gZWxzZSBpZiAo c3RybmNhc2VjbXAoUEZYLCBzdGF0X25hbWUsCi0JCQkgICAgICAgdXRfbWluKHN0cmxlbihQRlgp LCBzdGF0X25hbWVfbGVuKSkgPT0gMCkgeworCX0gZWxzZSBpZiAoc3RhdF9uYW1lX2xlbiA+IFBG WF9MRU4gLyogZS5nLiBzdGF0X25hbWU9PSJuX2RpZmZfcGZ4MDEiICovCisJCSAgICYmIHN0cm5j YXNlY21wKFBGWCwgc3RhdF9uYW1lLCBQRlhfTEVOKSA9PSAwKSB7CiAKIAkJY29uc3QgY2hhcioJ bnVtX3B0cjsKIAkJdW5zaWduZWQgbG9uZwluX3BmeDsKIAogCQkvKiBwb2ludCBudW1fcHRyIGlu dG8gIjEiIGZyb20gIm5fZGlmZl9wZngxMi4uLiIgKi8KLQkJbnVtX3B0ciA9IHN0YXRfbmFtZSAr IHN0cmxlbihQRlgpOworCQludW1fcHRyID0gc3RhdF9uYW1lICsgUEZYX0xFTjsKIAogCQkvKiBz dGF0X25hbWUgc2hvdWxkIGhhdmUgZXhhY3RseSAyIGNoYXJzIGFwcGVuZGVkIHRvIFBGWAogCQlh bmQgdGhleSBzaG91bGQgYmUgZGlnaXRzICovCi0JCWlmIChzdGF0X25hbWVfbGVuICE9IHN0cmxl bihQRlgpICsgMgorCQlpZiAoc3RhdF9uYW1lX2xlbiAhPSBQRlhfTEVOICsgMgogCQkgICAgfHwg bnVtX3B0clswXSA8ICcwJyB8fCBudW1fcHRyWzBdID4gJzknCiAJCSAgICB8fCBudW1fcHRyWzFd IDwgJzAnIHx8IG51bV9wdHJbMV0gPiAnOScpIHsKIAoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3Jh Z2UvaW5ub2Jhc2UvaWJ1Zi9pYnVmMGlidWYuY2MnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaWJ1 Zi9pYnVmMGlidWYuY2MJMjAxMS0xMi0yMyAxMzoxNzozNiArMDAwMAorKysgYi9zdG9yYWdlL2lu bm9iYXNlL2lidWYvaWJ1ZjBpYnVmLmNjCTIwMTItMDEtMTYgMTI6MzA6NTggKzAwMDAKQEAgLTEs NiArMSw2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIAotQ29weXJpZ2h0IChjKSAxOTk3LCAy MDExLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgor Q29weXJpZ2h0IChjKSAxOTk3LCAyMDEyLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBB bGwgUmlnaHRzIFJlc2VydmVkLgogCiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlcgogdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUKQEAgLTI0MTUsNyArMjQxNSwxNSBAQCBpYnVmX2dldF9tZXJnZV9wYWdlX25vc19m dW5jKAogCQl9IGVsc2UgewogCQkJcmVjX3BhZ2Vfbm8gPSBpYnVmX3JlY19nZXRfcGFnZV9ubyht dHIsIHJlYyk7CiAJCQlyZWNfc3BhY2VfaWQgPSBpYnVmX3JlY19nZXRfc3BhY2UobXRyLCByZWMp OwotCQkJdXRfYWQocmVjX3BhZ2Vfbm8gPiBJQlVGX1RSRUVfUk9PVF9QQUdFX05PKTsKKwkJCS8q IEluIHRoZSBzeXN0ZW0gdGFibGVzcGFjZSwgdGhlIHNtYWxsZXN0CisJCQlwb3NzaWJsZSBzZWNv bmRhcnkgaW5kZXggbGVhZiBwYWdlIG51bWJlciBpcworCQkJYmlnZ2VyIHRoYW4gSUJVRl9UUkVF X1JPT1RfUEFHRV9OTyAoNCkuIEluCisJCQlvdGhlciB0YWJsZXNwYWNlcywgdGhlIGNsdXN0ZXJl ZCBpbmRleCB0cmVlIGlzCisJCQljcmVhdGVkIGF0IHBhZ2UgMywgd2hpY2ggbWFrZXMgcGFnZSA0 IHRoZQorCQkJc21hbGxlc3QgcG9zc2libGUgc2Vjb25kYXJ5IGluZGV4IGxlYWYgcGFnZQorCQkJ KGFuZCB0aGF0IG9ubHkgYWZ0ZXIgRFJPUCBJTkRFWCkuICovCisJCQl1dF9hZChyZWNfcGFnZV9u bworCQkJICAgICAgPiBJQlVGX1RSRUVfUk9PVF9QQUdFX05PIC0gKHJlY19zcGFjZV9pZCAhPSAw KSk7CiAJCX0KIAogI2lmZGVmIFVOSVZfSUJVRl9ERUJVRwoKPT09IG1vZGlmaWVkIGZpbGUgJ3Vu aXR0ZXN0L2d1bml0L2ZpbGVzb3J0X2J1ZmZlci10LmNjJwotLS0gYS91bml0dGVzdC9ndW5pdC9m aWxlc29ydF9idWZmZXItdC5jYwkyMDExLTEyLTIwIDA5OjUxOjA1ICswMDAwCisrKyBiL3VuaXR0 ZXN0L2d1bml0L2ZpbGVzb3J0X2J1ZmZlci10LmNjCTIwMTItMDEtMTggMTQ6NDI6MTYgKzAwMDAK QEAgLTE2LDExICsxNiwxMSBAQAogLy8gRmlyc3QgaW5jbHVkZSAodGhlIGdlbmVyYXRlZCkgbXlf Y29uZmlnLmgsIHRvIGdldCBjb3JyZWN0IHBsYXRmb3JtIGRlZmluZXMuCiAjaW5jbHVkZSAibXlf Y29uZmlnLmgiCiAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKyNpbmNsdWRlIDx1dGlsaXR5Pgog CiAjaW5jbHVkZSAiZmlsZXNvcnRfdXRpbHMuaCIKICNpbmNsdWRlICJ0YWJsZS5oIgogCi0KIG5h bWVzcGFjZSB7CiAKIGNsYXNzIEZpbGVTb3J0QnVmZmVyVGVzdCA6IHB1YmxpYyA6OnRlc3Rpbmc6 OlRlc3QKQEAgLTI5LDYgKzI5LDEwIEBAIHByb3RlY3RlZDoKICAgdmlydHVhbCB2b2lkIFRlYXJE b3duKCkKICAgewogICAgIGZzX2luZm8uZnJlZV9zb3J0X2J1ZmZlcigpOworICAgIHN0ZDo6cGFp cjx1aW50LCB1aW50PiBidWZmZXJfcHJvcGVydGllcz0gZnNfaW5mby5zb3J0X2J1ZmZlcl9wcm9w ZXJ0aWVzKCk7CisgICAgRVhQRUNUX0VRKDBVLCBidWZmZXJfcHJvcGVydGllcy5maXJzdCk7Cisg ICAgRVhQRUNUX0VRKDBVLCBidWZmZXJfcHJvcGVydGllcy5zZWNvbmQpOworICAgIEVYUEVDVF9U UlVFKE5VTEwgPT0gZnNfaW5mby5nZXRfc29ydF9rZXlzKCkpOwogICB9CiAKICAgRmlsZXNvcnRf aW5mbyBmc19pbmZvOwpAQCAtMzgsOSArNDIsMTggQEAgcHJvdGVjdGVkOgogVEVTVF9GKEZpbGVT b3J0QnVmZmVyVGVzdCwgRmlsZVNvcnRCdWZmZXIpCiB7CiAgIGNvbnN0IGNoYXIgbGV0dGVyc1sx MF09ICJhYmNkZWZnaGkiOworICBzdGQ6OnBhaXI8dWludCwgdWludD4gYnVmZmVyX3Byb3BlcnRp ZXM9IGZzX2luZm8uc29ydF9idWZmZXJfcHJvcGVydGllcygpOworICBFWFBFQ1RfRVEoMFUsIGJ1 ZmZlcl9wcm9wZXJ0aWVzLmZpcnN0KTsKKyAgRVhQRUNUX0VRKDBVLCBidWZmZXJfcHJvcGVydGll cy5zZWNvbmQpOworCiAgIHVjaGFyICoqc29ydF9rZXlzPSBmc19pbmZvLmFsbG9jX3NvcnRfYnVm ZmVyKDEwLCBzaXplb2YoY2hhcikpOworICBidWZmZXJfcHJvcGVydGllcz0gZnNfaW5mby5zb3J0 X2J1ZmZlcl9wcm9wZXJ0aWVzKCk7CisgIEVYUEVDVF9FUSgxMFUsIGJ1ZmZlcl9wcm9wZXJ0aWVz LmZpcnN0KTsKKyAgRVhQRUNUX0VRKHNpemVvZihjaGFyKSwgYnVmZmVyX3Byb3BlcnRpZXMuc2Vj b25kKTsKKwogICB1Y2hhciAqKm51bGxfc29ydF9rZXlzPSBOVUxMOwogICBFWFBFQ1RfTkUobnVs bF9zb3J0X2tleXMsIHNvcnRfa2V5cyk7CisgIEVYUEVDVF9ORShudWxsX3NvcnRfa2V5cywgZnNf aW5mby5nZXRfc29ydF9rZXlzKCkpOwogICBmb3IgKHVpbnQgaXg9IDA7IGl4IDwgMTA7ICsraXgp CiAgIHsKICAgICB1Y2hhciAqcHRyPSBmc19pbmZvLmdldF9yZWNvcmRfYnVmZmVyKGl4KTsKCk5v IGJ1bmRsZSAocmVhc29uOiB1c2VsZXNzIGZvciBwdXNoIGVtYWlscyku