From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.7 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE,URIBL_BLACK autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 20267 invoked from network); 5 Feb 2022 16:47:44 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 5 Feb 2022 16:47:44 -0000 Content-Type: multipart/mixed; boundary="===============0615305336155125576==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_bubblewrap=3A_update_to_0=2E5=2E0=2E?= To: ml@inbox.vuxu.org From: UsernameRandomlyGenerated Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 05 Feb 2022 17:47:43 +0100 List-Id: Message-ID: <20220205164743.ELoWF1Kx8D1y5TbHLhynzBXRHEW0ySclCfZMQD-g7pk@z> GitHub notification mails are now in MIME to allow UTF8. --===============0615305336155125576== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgVXNlcm5hbWVSYW5kb21seUdlbmVy YXRlZCBhZ2FpbnN0IG1hc3RlciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRw czovL2dpdGh1Yi5jb20vVXNlcm5hbWVSYW5kb21seUdlbmVyYXRlZC92b2lkLXBhY2thZ2VzIGJ3 cmFwMDUwCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8z MzM3MgoKYnViYmxld3JhcDogdXBkYXRlIHRvIDAuNS4wLgpNdXNsIHByb2JsZW0gc2VlbXMgdG8g YmUgcmVzb2x2ZWQsIHRlc3RlZCBmbGF0cGFrIHN0ZWFtLCBydW5zIGZpbmUuDQoNCg0KPCEtLSBN YXJrIGl0ZW1zIHdpdGggW3hdIHdoZXJlIGFwcGxpY2FibGUgLS0+DQoNCiMjIyMgR2VuZXJhbA0K LSBbIF0gVGhpcyBpcyBhIG5ldyBwYWNrYWdlIGFuZCBpdCBjb25mb3JtcyB0byB0aGUgW3F1YWxp dHkgcmVxdWlyZW1lbnRzXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2th Z2VzL2Jsb2IvbWFzdGVyL01hbnVhbC5tZCNxdWFsaXR5LXJlcXVpcmVtZW50cykNCg0KIyMjIyBI YXZlIHRoZSByZXN1bHRzIG9mIHRoZSBwcm9wb3NlZCBjaGFuZ2VzIGJlZW4gdGVzdGVkPw0KLSBb eF0gSSB1c2UgdGhlIHBhY2thZ2VzIGFmZmVjdGVkIGJ5IHRoZSBwcm9wb3NlZCBjaGFuZ2VzIG9u IGEgcmVndWxhciBiYXNpcyBhbmQgY29uZmlybSB0aGlzIFBSIHdvcmtzIGZvciBtZQ0KLSBbIF0g SSBnZW5lcmFsbHkgZG9uJ3QgdXNlIHRoZSBhZmZlY3RlZCBwYWNrYWdlcyBidXQgYnJpZWZseSB0 ZXN0ZWQgdGhpcyBQUg0KDQo8IS0tDQpJZiBHaXRIdWIgQ0kgY2Fubm90IGJlIHVzZWQgdG8gdmFs aWRhdGUgdGhlIGJ1aWxkIHJlc3VsdCAoZm9yIGV4YW1wbGUsIGlmIHRoZQ0KYnVpbGQgaXMgbGlr ZWx5IHRvIHRha2Ugc2V2ZXJhbCBob3VycyksIG1ha2Ugc3VyZSB0bw0KW3NraXAgQ0ldKGh0dHBz Oi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJ QlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24pLg0KV2hlbiBza2lwcGluZyBDSSwgdW5j b21tZW50IGFuZCBmaWxsIG91dCB0aGUgZm9sbG93aW5nIHNlY3Rpb24uDQpOb3RlOiBmb3IgYnVp bGRzIHRoYXQgYXJlIGxpa2VseSB0byBjb21wbGV0ZSBpbiBsZXNzIHRoYW4gMiBob3VycywgaXQg aXMgbm90DQphY2NlcHRhYmxlIHRvIHNraXAgQ0kuDQotLT4NCjwhLS0gDQojIyMjIERvZXMgaXQg YnVpbGQgYW5kIHJ1biBzdWNjZXNzZnVsbHk/IA0KKFBsZWFzZSBjaG9vc2UgYXQgbGVhc3Qgb25l IG5hdGl2ZSBidWlsZCBhbmQsIGlmIHN1cHBvcnRlZCwgYXQgbGVhc3Qgb25lIGNyb3NzIGJ1aWxk LiBNb3JlIGFyZSBiZXR0ZXIuKQ0KLSBbIF0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIG15 IG5hdGl2ZSBhcmNoaXRlY3R1cmUsIChBUkNILUxJQkMpDQotIFsgXSBJIGJ1aWx0IHRoaXMgUFIg bG9jYWxseSBmb3IgdGhlc2UgYXJjaGl0ZWN0dXJlcyAoaWYgc3VwcG9ydGVkLiBtYXJrIGNyb3Nz YnVpbGRzKToNCiAgLSBbIF0gYWFyY2g2NC1tdXNsDQogIC0gWyBdIGFybXY3bA0KICAtIFsgXSBh cm12NmwtbXVzbA0KLS0+DQoNCgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29t L3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzMzMzcyLnBhdGNoIGlzIGF0dGFjaGVk --===============0615305336155125576== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-bwrap050-33372.patch" RnJvbSA4NDc2YjQ0OTZhM2MwYjExM2ExZDAzNDdiYWY5ZDRmZGQzZWEyMDdmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBVc2VybmFtZVJhbmRvbWx5R2VuZXJhdGVkIDxvdmVydHdpc3Rf d3RAYWxlZWFzLmNvbT4KRGF0ZTogU2F0LCA1IEZlYiAyMDIyIDE3OjQ2OjQ1ICswMTAwClN1Ympl Y3Q6IFtQQVRDSCAxLzJdIG11c2w6IGFkZCByZWFkbGluayBhbmQgcmVhbHBhdGggcGF0Y2hlcywg dXBkYXRlIGhvbWVwYWdlCgotLS0KIHNyY3BrZ3MvbXVzbC9wYXRjaGVzL3JlYWRsaW5rLnBhdGNo IHwgIDQxICsrKysrKysKIHNyY3BrZ3MvbXVzbC9wYXRjaGVzL3JlYWxwYXRoLnBhdGNoIHwgMTg0 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvbXVzbC90ZW1wbGF0ZSAgICAg ICAgICAgICAgIHwgICA2ICstCiAzIGZpbGVzIGNoYW5nZWQsIDIyOCBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVzL3Jl YWRsaW5rLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXNsL3BhdGNoZXMvcmVh bHBhdGgucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9yZWFkbGluay5w YXRjaCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL3JlYWRsaW5rLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMDZmMzU5MTY4YTJkCi0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvcmVhZGxpbmsucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAor ZGlmZiAtLWdpdCBhL3NyYy91bmlzdGQvcmVhZGxpbmsuYyBiL3NyYy91bmlzdGQvcmVhZGxpbmsu YworaW5kZXggYTE1MmQ1MjQuLjMyZjQ1MzdmIDEwMDY0NAorLS0tIGEvc3JjL3VuaXN0ZC9yZWFk bGluay5jCisrKysgYi9zcmMvdW5pc3RkL3JlYWRsaW5rLmMKK0BAIC00LDkgKzQsMTYgQEAKKyAK KyBzc2l6ZV90IHJlYWRsaW5rKGNvbnN0IGNoYXIgKnJlc3RyaWN0IHBhdGgsIGNoYXIgKnJlc3Ry aWN0IGJ1Ziwgc2l6ZV90IGJ1ZnNpemUpCisgeworKwljaGFyIGR1bW15WzFdOworKwlpZiAoIWJ1 ZnNpemUpIHsKKysJCWJ1ZiA9IGR1bW15OworKwkJYnVmc2l6ZSA9IDE7CisrCX0KKyAjaWZkZWYg U1lTX3JlYWRsaW5rCistCXJldHVybiBzeXNjYWxsKFNZU19yZWFkbGluaywgcGF0aCwgYnVmLCBi dWZzaXplKTsKKysJaW50IHIgPSBfX3N5c2NhbGwoU1lTX3JlYWRsaW5rLCBwYXRoLCBidWYsIGJ1 ZnNpemUpOworICNlbHNlCistCXJldHVybiBzeXNjYWxsKFNZU19yZWFkbGlua2F0LCBBVF9GRENX RCwgcGF0aCwgYnVmLCBidWZzaXplKTsKKysJaW50IHIgPSBfX3N5c2NhbGwoU1lTX3JlYWRsaW5r YXQsIEFUX0ZEQ1dELCBwYXRoLCBidWYsIGJ1ZnNpemUpOworICNlbmRpZgorKwlpZiAoYnVmID09 IGR1bW15ICYmIHIgPiAwKSByID0gMDsKKysJcmV0dXJuIF9fc3lzY2FsbF9yZXQocik7CisgfQor ZGlmZiAtLWdpdCBhL3NyYy91bmlzdGQvcmVhZGxpbmthdC5jIGIvc3JjL3VuaXN0ZC9yZWFkbGlu a2F0LmMKK2luZGV4IDlhZjQ1Y2Q1Li5mNzlkM2QxNCAxMDA2NDQKKy0tLSBhL3NyYy91bmlzdGQv cmVhZGxpbmthdC5jCisrKysgYi9zcmMvdW5pc3RkL3JlYWRsaW5rYXQuYworQEAgLTMsNSArMywx MiBAQAorIAorIHNzaXplX3QgcmVhZGxpbmthdChpbnQgZmQsIGNvbnN0IGNoYXIgKnJlc3RyaWN0 IHBhdGgsIGNoYXIgKnJlc3RyaWN0IGJ1Ziwgc2l6ZV90IGJ1ZnNpemUpCisgeworLQlyZXR1cm4g c3lzY2FsbChTWVNfcmVhZGxpbmthdCwgZmQsIHBhdGgsIGJ1ZiwgYnVmc2l6ZSk7CisrCWNoYXIg ZHVtbXlbMV07CisrCWlmICghYnVmc2l6ZSkgeworKwkJYnVmID0gZHVtbXk7CisrCQlidWZzaXpl ID0gMTsKKysJfQorKwlpbnQgciA9IF9fc3lzY2FsbChTWVNfcmVhZGxpbmthdCwgZmQsIHBhdGgs IGJ1ZiwgYnVmc2l6ZSk7CisrCWlmIChidWYgPT0gZHVtbXkgJiYgciA+IDApIHIgPSAwOworKwly ZXR1cm4gX19zeXNjYWxsX3JldChyKTsKKyB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL211c2wvcGF0 Y2hlcy9yZWFscGF0aC5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL3JlYWxwYXRoLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uM2Q0YmM5YWUwNzlkCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvcmVhbHBhdGgucGF0Y2gKQEAg LTAsMCArMSwxODQgQEAKK2RpZmYgLS1naXQgYS9zcmMvbWlzYy9yZWFscGF0aC5jIGIvc3JjL21p c2MvcmVhbHBhdGguYworaW5kZXggZDI3MDhlNTkuLmRiOGI3NGRjIDEwMDY0NAorLS0tIGEvc3Jj L21pc2MvcmVhbHBhdGguYworKysrIGIvc3JjL21pc2MvcmVhbHBhdGguYworQEAgLTEsNDMgKzEs MTU2IEBACisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDxsaW1pdHMuaD4KKy0jaW5j bHVkZSA8c3lzL3N0YXQuaD4KKy0jaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8ZXJybm8u aD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorLSNpbmNsdWRl ICJzeXNjYWxsLmgiCisrCisrc3RhdGljIHNpemVfdCBzbGFzaF9sZW4oY29uc3QgY2hhciAqcykK Kyt7CisrCWNvbnN0IGNoYXIgKnMwID0gczsKKysJd2hpbGUgKCpzID09ICcvJykgcysrOworKwly ZXR1cm4gcy1zMDsKKyt9CisgCisgY2hhciAqcmVhbHBhdGgoY29uc3QgY2hhciAqcmVzdHJpY3Qg ZmlsZW5hbWUsIGNoYXIgKnJlc3RyaWN0IHJlc29sdmVkKQorIHsKKy0JaW50IGZkOworLQlzc2l6 ZV90IHI7CistCXN0cnVjdCBzdGF0IHN0MSwgc3QyOworLQljaGFyIGJ1ZlsxNSszKnNpemVvZihp bnQpXTsKKy0JY2hhciB0bXBbUEFUSF9NQVhdOworKwljaGFyIHN0YWNrW1BBVEhfTUFYKzFdOwor KwljaGFyIG91dHB1dFtQQVRIX01BWF07CisrCXNpemVfdCBwLCBxLCBsLCBsMCwgY250PTAsIG51 cD0wOworKwlpbnQgY2hlY2tfZGlyPTA7CisgCisgCWlmICghZmlsZW5hbWUpIHsKKyAJCWVycm5v ID0gRUlOVkFMOworIAkJcmV0dXJuIDA7CisgCX0KKysJbCA9IHN0cm5sZW4oZmlsZW5hbWUsIHNp emVvZiBzdGFjayk7CisrCWlmICghbCkgeworKwkJZXJybm8gPSBFTk9FTlQ7CisrCQlyZXR1cm4g MDsKKysJfQorKwlpZiAobCA+PSBQQVRIX01BWCkgZ290byB0b29sb25nOworKwlwID0gc2l6ZW9m IHN0YWNrIC0gbCAtIDE7CisrCXEgPSAwOworKwltZW1jcHkoc3RhY2srcCwgZmlsZW5hbWUsIGwr MSk7CisrCisrCS8qIE1haW4gbG9vcC4gRWFjaCBpdGVyYXRpb24gcG9wcyB0aGUgbmV4dCBwYXJ0 IGZyb20gc3RhY2sgb2YKKysJICogcmVtYWluaW5nIHBhdGggY29tcG9uZW50cyBhbmQgY29uc3Vt ZXMgYW55IHNsYXNoZXMgdGhhdCBmb2xsb3cuCisrCSAqIElmIG5vdCBhIGxpbmssIGl0J3MgbW92 ZWQgdG8gb3V0cHV0OyBpZiBhIGxpbmssIGNvbnRlbnRzIGFyZQorKwkgKiBwdXNoZWQgdG8gdGhl IHN0YWNrLiAqLworK3Jlc3RhcnQ6CisrCWZvciAoOyA7IHArPXNsYXNoX2xlbihzdGFjaytwKSkg eworKwkJLyogSWYgc3RhY2sgc3RhcnRzIHdpdGggLywgdGhlIHdob2xlIGNvbXBvbmVudCBpcyAv IG9yIC8vCisrCQkgKiBhbmQgdGhlIG91dHB1dCBzdGF0ZSBtdXN0IGJlIHJlc2V0LiAqLworKwkJ aWYgKHN0YWNrW3BdID09ICcvJykgeworKwkJCWNoZWNrX2Rpcj0wOworKwkJCW51cD0wOworKwkJ CXE9MDsKKysJCQlvdXRwdXRbcSsrXSA9ICcvJzsKKysJCQlwKys7CisrCQkJLyogSW5pdGlhbCAv LyBpcyBzcGVjaWFsLiAqLworKwkJCWlmIChzdGFja1twXSA9PSAnLycgJiYgc3RhY2tbcCsxXSAh PSAnLycpCisrCQkJCW91dHB1dFtxKytdID0gJy8nOworKwkJCWNvbnRpbnVlOworKwkJfQorKwor KwkJY2hhciAqeiA9IF9fc3RyY2hybnVsKHN0YWNrK3AsICcvJyk7CisrCQlsMCA9IGwgPSB6LShz dGFjaytwKTsKKyAKKy0JZmQgPSBzeXNfb3BlbihmaWxlbmFtZSwgT19QQVRIfE9fTk9OQkxPQ0t8 T19DTE9FWEVDKTsKKy0JaWYgKGZkIDwgMCkgcmV0dXJuIDA7CistCV9fcHJvY2ZkbmFtZShidWYs IGZkKTsKKysJCWlmICghbCAmJiAhY2hlY2tfZGlyKSBicmVhazsKKyAKKy0JciA9IHJlYWRsaW5r KGJ1ZiwgdG1wLCBzaXplb2YgdG1wIC0gMSk7CistCWlmIChyIDwgMCkgZ290byBlcnI7CistCXRt cFtyXSA9IDA7CisrCQkvKiBTa2lwIGFueSAuIGNvbXBvbmVudCBidXQgcHJlc2VydmUgY2hlY2tf ZGlyIHN0YXR1cy4gKi8KKysJCWlmIChsPT0xICYmIHN0YWNrW3BdPT0nLicpIHsKKysJCQlwICs9 IGw7CisrCQkJY29udGludWU7CisrCQl9CisgCistCWZzdGF0KGZkLCAmc3QxKTsKKy0JciA9IHN0 YXQodG1wLCAmc3QyKTsKKy0JaWYgKHI8MCB8fCBzdDEuc3RfZGV2ICE9IHN0Mi5zdF9kZXYgfHwg c3QxLnN0X2lubyAhPSBzdDIuc3RfaW5vKSB7CistCQlpZiAoIXIpIGVycm5vID0gRUxPT1A7Cist CQlnb3RvIGVycjsKKysJCS8qIENvcHkgbmV4dCBjb21wb25lbnQgb250byBvdXRwdXQgYXQgbGVh c3QgdGVtcG9yYXJpbHksIHRvCisrCQkgKiBjYWxsIHJlYWRsaW5rLCBidXQgd2FpdCB0byBhZHZh bmNlIG91dHB1dCBwb3NpdGlvbiB1bnRpbAorKwkJICogZGV0ZXJtaW5pbmcgaXQncyBub3QgYSBs aW5rLiAqLworKwkJaWYgKHEgJiYgb3V0cHV0W3EtMV0gIT0gJy8nKSB7CisrCQkJaWYgKCFwKSBn b3RvIHRvb2xvbmc7CisrCQkJc3RhY2tbLS1wXSA9ICcvJzsKKysJCQlsKys7CisrCQl9CisrCQlp ZiAocStsID49IFBBVEhfTUFYKSBnb3RvIHRvb2xvbmc7CisrCQltZW1jcHkob3V0cHV0K3EsIHN0 YWNrK3AsIGwpOworKwkJb3V0cHV0W3ErbF0gPSAwOworKwkJcCArPSBsOworKworKwkJaW50IHVw ID0gMDsKKysJCWlmIChsMD09MiAmJiBzdGFja1twLTJdPT0nLicgJiYgc3RhY2tbcC0xXT09Jy4n KSB7CisrCQkJdXAgPSAxOworKwkJCS8qIEFueSBub24tLi4gcGF0aCBjb21wb25lbnRzIHdlIGNv dWxkIGNhbmNlbCBzdGFydAorKwkJCSAqIGFmdGVyIG51cCByZXBldGl0aW9ucyBvZiB0aGUgMy1i eXRlIHN0cmluZyAiLi4vIjsKKysJCQkgKiBpZiB0aGVyZSBhcmUgbm9uZSwgYWNjdW11bGF0ZSAu LiBjb21wb25lbnRzIHRvCisrCQkJICogbGF0ZXIgYXBwbHkgdG8gY3dkLCBpZiBuZWVkZWQuICov CisrCQkJaWYgKHEgPD0gMypudXApIHsKKysJCQkJbnVwKys7CisrCQkJCXEgKz0gbDsKKysJCQkJ Y29udGludWU7CisrCQkJfQorKwkJCS8qIFdoZW4gcHJldmlvdXMgY29tcG9uZW50cyBhcmUgYWxy ZWFkeSBrbm93biB0byBiZQorKwkJCSAqIGRpcmVjdG9yaWVzLCBwcm9jZXNzaW5nIC4uIGNhbiBz a2lwIHJlYWRsaW5rLiAqLworKwkJCWlmICghY2hlY2tfZGlyKSBnb3RvIHNraXBfcmVhZGxpbms7 CisrCQl9CisrCQlzc2l6ZV90IGsgPSByZWFkbGluayhvdXRwdXQsIHN0YWNrLCBwKTsKKysJCWlm IChrPT1wKSBnb3RvIHRvb2xvbmc7CisrCQlpZiAoIWspIHsKKysJCQllcnJubyA9IEVOT0VOVDsK KysJCQlyZXR1cm4gMDsKKysJCX0KKysJCWlmIChrPDApIHsKKysJCQlpZiAoZXJybm8gIT0gRUlO VkFMKSByZXR1cm4gMDsKKytza2lwX3JlYWRsaW5rOgorKwkJCWNoZWNrX2RpciA9IDA7CisrCQkJ aWYgKHVwKSB7CisrCQkJCXdoaWxlKHEgJiYgb3V0cHV0W3EtMV0hPScvJykgcS0tOworKwkJCQlp ZiAocT4xICYmIChxPjIgfHwgb3V0cHV0WzBdIT0nLycpKSBxLS07CisrCQkJCWNvbnRpbnVlOwor KwkJCX0KKysJCQlpZiAobDApIHEgKz0gbDsKKysJCQljaGVja19kaXIgPSBzdGFja1twXTsKKysJ CQljb250aW51ZTsKKysJCX0KKysJCWlmICgrK2NudCA9PSBTWU1MT09QX01BWCkgeworKwkJCWVy cm5vID0gRUxPT1A7CisrCQkJcmV0dXJuIDA7CisrCQl9CisrCisrCQkvKiBJZiBsaW5rIGNvbnRl bnRzIGVuZCBpbiAvLCBzdHJpcCBhbnkgc2xhc2hlcyBhbHJlYWR5IG9uCisrCQkgKiBzdGFjayB0 byBhdm9pZCAvLT4vLyBvciAvLy0+Ly8vIG9yIHNwdXJpb3VzIHRvb2xvbmcuICovCisrCQlpZiAo c3RhY2tbay0xXT09Jy8nKSB3aGlsZSAoc3RhY2tbcF09PScvJykgcCsrOworKwkJcCAtPSBrOwor KwkJbWVtbW92ZShzdGFjaytwLCBzdGFjaywgayk7CisrCisrCQkvKiBTa2lwIHRoZSBzdGFjayBh ZHZhbmNlbWVudCBpbiBjYXNlIHdlIGhhdmUgYSBuZXcKKysJCSAqIGFic29sdXRlIGJhc2UgcGF0 aC4gKi8KKysJCWdvdG8gcmVzdGFydDsKKyAJfQorIAorLQlfX3N5c2NhbGwoU1lTX2Nsb3NlLCBm ZCk7CistCXJldHVybiByZXNvbHZlZCA/IHN0cmNweShyZXNvbHZlZCwgdG1wKSA6IHN0cmR1cCh0 bXApOworLWVycjoKKy0JX19zeXNjYWxsKFNZU19jbG9zZSwgZmQpOworKyAJb3V0cHV0W3FdID0g MDsKKysKKysJaWYgKG91dHB1dFswXSAhPSAnLycpIHsKKysJCWlmICghZ2V0Y3dkKHN0YWNrLCBz aXplb2Ygc3RhY2spKSByZXR1cm4gMDsKKysJCWwgPSBzdHJsZW4oc3RhY2spOworKwkJLyogQ2Fu Y2VsIGFueSBpbml0aWFsIC4uIGNvbXBvbmVudHMuICovCisrCQlwID0gMDsKKysJCXdoaWxlIChu dXAtLSkgeworKwkJCXdoaWxlKGw+MSAmJiBzdGFja1tsLTFdIT0nLycpIGwtLTsKKysJCQlpZiAo bD4xKSBsLS07CisrCQkJcCArPSAyOworKwkJCWlmIChwPHEpIHArKzsKKysJCX0KKysJCWlmIChx LXAgJiYgc3RhY2tbbC0xXSE9Jy8nKSBzdGFja1tsKytdID0gJy8nOworKwkJaWYgKGwgKyAocS1w KSArIDEgPj0gUEFUSF9NQVgpIGdvdG8gdG9vbG9uZzsKKysJCW1lbW1vdmUob3V0cHV0ICsgbCwg b3V0cHV0ICsgcCwgcSAtIHAgKyAxKTsKKysJCW1lbWNweShvdXRwdXQsIHN0YWNrLCBsKTsKKysJ CXEgPSBsICsgcS1wOworKwl9CisrCisrCWlmIChyZXNvbHZlZCkgcmV0dXJuIG1lbWNweShyZXNv bHZlZCwgb3V0cHV0LCBxKzEpOworKwllbHNlIHJldHVybiBzdHJkdXAob3V0cHV0KTsKKysKKyt0 b29sb25nOgorKwllcnJubyA9IEVOQU1FVE9PTE9ORzsKKyAJcmV0dXJuIDA7CisgfQpkaWZmIC0t Z2l0IGEvc3JjcGtncy9tdXNsL3RlbXBsYXRlIGIvc3JjcGtncy9tdXNsL3RlbXBsYXRlCmluZGV4 IGQzMGM5OWE1NjNhMC4uZDQzMzlmNzc0OGM0IDEwMDY0NAotLS0gYS9zcmNwa2dzL211c2wvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9tdXNsL3RlbXBsYXRlCkBAIC0yLDcgKzIsNyBAQAogcGtnbmFt ZT1tdXNsCiByZXZlcnRzPSIxLjIuMF8xIgogdmVyc2lvbj0xLjEuMjQKLXJldmlzaW9uPTkKK3Jl dmlzaW9uPTEwCiBhcmNocz0iKi1tdXNsIgogYm9vdHN0cmFwPXllcwogYnVpbGRfc3R5bGU9Z251 LWNvbmZpZ3VyZQpAQCAtMTAsOCArMTAsOCBAQCBjb25maWd1cmVfYXJncz0iLS1wcmVmaXg9L3Vz ciAtLWRpc2FibGUtZ2NjLXdyYXBwZXIiCiBzaG9ydF9kZXNjPSJNdXNsIEMgbGlicmFyeSIKIG1h aW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJN SVQiCi1ob21lcGFnZT0iaHR0cDovL3d3dy5tdXNsLWxpYmMub3JnLyIKLWRpc3RmaWxlcz0iaHR0 cDovL3d3dy5tdXNsLWxpYmMub3JnL3JlbGVhc2VzL211c2wtJHt2ZXJzaW9ufS50YXIuZ3oiCito b21lcGFnZT0iaHR0cHM6Ly93d3cubXVzbC5saWJjLm9yZy8iCitkaXN0ZmlsZXM9Imh0dHBzOi8v d3d3Lm11c2wubGliYy5vcmcvcmVsZWFzZXMvbXVzbC0ke3ZlcnNpb259LnRhci5neiIKIGNoZWNr c3VtPTEzNzBjOWE4MTJiMmNmMmE3ZDkyODAyNTEwY2NhMDA1OGNjMzdlNjZhN2JlZGQ3MDA1MWYw YTM0MDE1MDIyYTMKIAogbm9zdHJpcF9maWxlcz0ibGliYy5zbyIKCkZyb20gMjU5MGVkZWRiOTBk OWNjNDFkY2QxODQ1YTFjZjc0MTI4MDNiMjk5MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogVXNlcm5hbWVSYW5kb21seUdlbmVyYXRlZCA8b3ZlcnR3aXN0X3d0QGFsZWVhcy5jb20+CkRh dGU6IFNhdCwgNSBGZWIgMjAyMiAxNzo0NzoyOSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBi dWJibGV3cmFwOiB1cGRhdGUgdG8gMC41LjAuCgotLS0KIC4uLi9maXgtVEVNUF9GQUlMVFVSRV9S RVRSWS1tdXNsLnBhdGNoICAgICAgICB8ICAxOSAtLQogLi4uL3BhdGNoZXMvcmVhbHBhdGgtd29y a2Fyb3VuZC5wYXRjaCAgICAgICAgIHwgMjQ5IC0tLS0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy9i dWJibGV3cmFwL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgIHwgIDEyICstCiAzIGZpbGVzIGNo YW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMjc3IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvYnViYmxld3JhcC9wYXRjaGVzL2ZpeC1URU1QX0ZBSUxUVVJFX1JFVFJZLW11 c2wucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2J1YmJsZXdyYXAvcGF0Y2hlcy9y ZWFscGF0aC13b3JrYXJvdW5kLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9idWJibGV3cmFw L3BhdGNoZXMvZml4LVRFTVBfRkFJTFRVUkVfUkVUUlktbXVzbC5wYXRjaCBiL3NyY3BrZ3MvYnVi Ymxld3JhcC9wYXRjaGVzL2ZpeC1URU1QX0ZBSUxUVVJFX1JFVFJZLW11c2wucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhZmE5ZTRmOTgzMi4uMDAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3MvYnViYmxld3JhcC9wYXRjaGVzL2ZpeC1URU1QX0ZBSUxUVVJFX1JFVFJZLW11c2wu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0tLS0gYS9idWJibGV3cmFwLmMK LSsrKyBiL2J1YmJsZXdyYXAuYwotQEAgLTQyLDYgKzQyLDE2IEBACi0gI2RlZmluZSBDTE9ORV9O RVdDR1JPVVAgMHgwMjAwMDAwMCAvKiBOZXcgY2dyb3VwIG5hbWVzcGFjZSAqLwotICNlbmRpZgot IAotKy8qIHRha2VuIGZyb20gZ2xpYmMgdW5pc3RkLmggYW5kIGZpeGVzIG11c2wgKi8KLSsjaWZu ZGVmIFRFTVBfRkFJTFVSRV9SRVRSWQotKyNkZWZpbmUgVEVNUF9GQUlMVVJFX1JFVFJZKGV4cHJl c3Npb24pIFwKLSsgIChfX2V4dGVuc2lvbl9fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0rICAgICh7IGxvbmcgaW50IF9fcmVz dWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAotKyAgICAgICBkbyBfX3Jlc3VsdCA9IChsb25nIGludCkgKGV4cHJlc3Npb24pOyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSsgICAgICAgd2hpbGUgKF9fcmVzdWx0ID09IC0x TCAmJiBlcnJubyA9PSBFSU5UUik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0rICAg ICAgIF9fcmVzdWx0OyB9KSkKLSsjZW5kaWYKLSsKLSAvKiBHbG9iYWxzIHRvIGF2b2lkIGhhdmlu ZyB0byB1c2UgZ2V0dWlkKCksIHNpbmNlIHRoZSB1aWQvZ2lkIGNoYW5nZXMgZHVyaW5nIHJ1bnRp bWUgKi8KLSBzdGF0aWMgdWlkX3QgcmVhbF91aWQ7Ci0gc3RhdGljIGdpZF90IHJlYWxfZ2lkOwpk aWZmIC0tZ2l0IGEvc3JjcGtncy9idWJibGV3cmFwL3BhdGNoZXMvcmVhbHBhdGgtd29ya2Fyb3Vu ZC5wYXRjaCBiL3NyY3BrZ3MvYnViYmxld3JhcC9wYXRjaGVzL3JlYWxwYXRoLXdvcmthcm91bmQu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1ZDFmZDYyMzFiNi4uMDAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3MvYnViYmxld3JhcC9wYXRjaGVzL3JlYWxwYXRoLXdvcmthcm91 bmQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNDkgKzAsMCBAQAotLS0tIC9kZXYvbnVsbAky MDIwLTEwLTE4IDA5OjI2OjMyLjMxMjc0NTc1NSArMDIwMAotKysrIGIvTElDRU5TRS5yZWFscGF0 aAkyMDIwLTEwLTE4IDExOjA5OjE0LjExOTkyOTA3NiArMDIwMAotQEAgLTAsMCArMSwyOSBAQAot K0NvcHlyaWdodCAoYykgMTk4OSwgMTk5MSwgMTk5MywgMTk5NQotKyAgICAgVGhlIFJlZ2VudHMg b2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0r Ci0rVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJr ZWxleSBieQotK0phbi1TaW1vbiBQZW5kcnkuCi0rCi0rUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0rbW9kaWZpY2F0aW9u LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0r YXJlIG1ldDoKLSsxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g dGhlIGFib3ZlIGNvcHlyaWdodAotKyAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSsyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotKyAgIG5vdGljZSwg dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0 aGUKLSsgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0 aCB0aGUgZGlzdHJpYnV0aW9uLgotKzMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNp dHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0rICAgbWF5IGJlIHVzZWQgdG8g ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCi0r ICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0rCi0rVEhJUyBT T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMg SVMnJyBBTkQKLStBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLStJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotK0FSRSBESVNDTEFJ TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJ QUJMRQotK0ZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0rREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLStPUiBTRVJWSUNFUzsg TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikK LStIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg SU4gQ09OVFJBQ1QsIFNUUklDVAotK0xJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLStPVVQgT0YgVEhFIFVTRSBP RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0r U1VDSCBEQU1BR0UuCi0tLS0gYS9iaW5kLW1vdW50LmMJMjAxOC0wOS0yNiAxNDo1NToxNy4wMDAw MDAwMDAgKzAyMDAKLSsrKyBiL2JpbmQtbW91bnQuYwkyMDIwLTEwLTE4IDExOjA4OjM3LjgyMjkz MTQ1MiArMDIwMAotQEAgLTIyLDYgKzIyLDE5OCBAQAotIAotICNpbmNsdWRlICJ1dGlscy5oIgot ICNpbmNsdWRlICJiaW5kLW1vdW50LmgiCi0rI2luY2x1ZGUgPHN0ZGxpYi5oPgotKyNpbmNsdWRl IDxzdHJpbmcuaD4KLSsjaW5jbHVkZSA8bGltaXRzLmg+Ci0rI2luY2x1ZGUgPHVuaXN0ZC5oPgot KyNpbmNsdWRlIDxzeXMvc3RhdC5oPgotKyNpbmNsdWRlIDxlcnJuby5oPgotKyNpbmNsdWRlIDxm Y250bC5oPgotKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KLSsKLSsjaWZuZGVmIF9fR0xJQkNfXwot Ky8qCi0rICogQ29weXJpZ2h0IChjKSAxOTg5LCAxOTkxLCAxOTkzLCAxOTk1Ci0rICogICAgICBU aGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyBy ZXNlcnZlZC4KLSsgKgotKyAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgY29u dHJpYnV0ZWQgdG8gQmVya2VsZXkgYnkKLSsgKiBKYW4tU2ltb24gUGVuZHJ5LgotKyAqCi0rICog UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv ciB3aXRob3V0Ci0rICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0rICogYXJlIG1ldDoKLSsgKiAxLiBSZWRpc3RyaWJ1 dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotKyAq ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz Y2xhaW1lci4KLSsgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSsgKiAgICBkb2N1 bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp YnV0aW9uLgotKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRo ZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0rICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCi0rICogICAg d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0rICoKLSsgKiBUSElT IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBB UyBJUycnIEFORAotKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0rICog QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklC VVRPUlMgQkUgTElBQkxFCi0rICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSsgKiBEQU1BR0VTIChJTkNM VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E UwotKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT SU5FU1MgSU5URVJSVVBUSU9OKQotKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0rICogTElBQklMSVRZ LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g QU5ZIFdBWQotKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSsgKiBTVUNIIERBTUFHRS4KLSsgKi8KLStjaGFy ICpyZWFscGF0aF9pbnQoY29uc3QgY2hhciAqLCBjaGFyKik7Ci0rY2hhciAqCi0rcmVhbHBhdGhf aW50KGNvbnN0IGNoYXIgKiBwYXRoLCBjaGFyICogcmVzb2x2ZWQpCi0rewotKyAgICAgICAgc3Ry dWN0IHN0YXQgc2I7Ci0rICAgICAgICBpbnQgaWR4ID0gMCwgbmxuayA9IDA7Ci0rICAgICAgICBj b25zdCBjaGFyICpxOwotKyAgICAgICAgY2hhciAqcCwgd2J1ZlsyXVtNQVhQQVRITEVOXSwgKmZy ZXM7Ci0rICAgICAgICBzaXplX3QgbGVuOwotKyAgICAgICAgc3NpemVfdCBuOwotKwotKyAgICAg ICAgLyogUE9TSVggc2V6IHdlIG11c3QgdGVzdCBmb3IgdGhpcyAqLwotKyAgICAgICAgaWYgKHBh dGggPT0gTlVMTCkgewotKyAgICAgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSsgICAgICAg ICAgICAgICAgcmV0dXJuIE5VTEw7Ci0rICAgICAgICB9Ci0rCi0rICAgICAgICBpZiAocmVzb2x2 ZWQgPT0gTlVMTCkgewotKyAgICAgICAgICAgICAgICBmcmVzID0gcmVzb2x2ZWQgPSBtYWxsb2Mo TUFYUEFUSExFTik7Ci0rICAgICAgICAgICAgICAgIGlmIChyZXNvbHZlZCA9PSBOVUxMKQotKyAg ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotKyAgICAgICAgfSBlbHNlCi0rICAg ICAgICAgICAgICAgIGZyZXMgPSBOVUxMOwotKwotKwotKyAgICAgICAgLyoKLSsgICAgICAgICAq IEJ1aWxkIHJlYWwgcGF0aCBvbmUgYnkgb25lIHdpdGggcGF5aW5nIGFuIGF0dGVudGlvbiB0byAu LAotKyAgICAgICAgICogLi4gYW5kIHN5bWJvbGljIGxpbmsuCi0rICAgICAgICAgKi8KLSsKLSsg ICAgICAgIC8qCi0rICAgICAgICAgKiBgcCcgaXMgd2hlcmUgd2UnbGwgcHV0IGEgbmV3IGNvbXBv bmVudCB3aXRoIHByZXBlbmRpbmcKLSsgICAgICAgICAqIGEgZGVsaW1pdGVyLgotKyAgICAgICAg ICovCi0rICAgICAgICBwID0gcmVzb2x2ZWQ7Ci0rCi0rICAgICAgICBpZiAoKnBhdGggPT0gJ1ww JykgewotKyAgICAgICAgICAgICAgICAqcCA9ICdcMCc7Ci0rICAgICAgICAgICAgICAgIGVycm5v ID0gRU5PRU5UOwotKyAgICAgICAgICAgICAgICBnb3RvIG91dDsKLSsgICAgICAgIH0KLSsKLSsg ICAgICAgIC8qIElmIHJlbGF0aXZlIHBhdGgsIHN0YXJ0IGZyb20gY3VycmVudCB3b3JraW5nIGRp cmVjdG9yeS4gKi8KLSsgICAgICAgIGlmICgqcGF0aCAhPSAnLycpIHsKLSsgICAgICAgICAgICAg ICAgLyogY2hlY2sgZm9yIHJlc29sdmVkIHBvaW50ZXIgdG8gYXBwZWFzZSBjb3Zlcml0eSAqLwot KyAgICAgICAgICAgICAgICBpZiAocmVzb2x2ZWQgJiYgZ2V0Y3dkKHJlc29sdmVkLCBNQVhQQVRI TEVOKSA9PSBOVUxMKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcFswXSA9ICcuJzsKLSsg ICAgICAgICAgICAgICAgICAgICAgICBwWzFdID0gJ1wwJzsKLSsgICAgICAgICAgICAgICAgICAg ICAgICBnb3RvIG91dDsKLSsgICAgICAgICAgICAgICAgfQotKyAgICAgICAgICAgICAgICBsZW4g PSBzdHJsZW4ocmVzb2x2ZWQpOwotKyAgICAgICAgICAgICAgICBpZiAobGVuID4gMSkKLSsgICAg ICAgICAgICAgICAgICAgICAgICBwICs9IGxlbjsKLSsgICAgICAgIH0KLSsKLStsb29wOgotKyAg ICAgICAgLyogU2tpcCBhbnkgc2xhc2guICovCi0rICAgICAgICB3aGlsZSAoKnBhdGggPT0gJy8n KQotKyAgICAgICAgICAgICAgICBwYXRoKys7Ci0rCi0rICAgICAgICBpZiAoKnBhdGggPT0gJ1ww JykgewotKyAgICAgICAgICAgICAgICBpZiAocCA9PSByZXNvbHZlZCkKLSsgICAgICAgICAgICAg ICAgICAgICAgICAqcCsrID0gJy8nOwotKyAgICAgICAgICAgICAgICAqcCA9ICdcMCc7Ci0rICAg ICAgICAgICAgICAgIHJldHVybiByZXNvbHZlZDsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIC8q IEZpbmQgdGhlIGVuZCBvZiB0aGlzIGNvbXBvbmVudC4gKi8KLSsgICAgICAgIHEgPSBwYXRoOwot KyAgICAgICAgZG8KLSsgICAgICAgICAgICAgICAgcSsrOwotKyAgICAgICAgd2hpbGUgKCpxICE9 ICcvJyAmJiAqcSAhPSAnXDAnKTsKLSsKLSsgICAgICAgIC8qIFRlc3QgLiBvciAuLiAqLwotKyAg ICAgICAgaWYgKHBhdGhbMF0gPT0gJy4nKSB7Ci0rICAgICAgICAgICAgICAgIGlmIChxIC0gcGF0 aCA9PSAxKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCA9IHE7Ci0rICAgICAgICAg ICAgICAgICAgICAgICAgZ290byBsb29wOwotKyAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAg ICAgICAgIGlmIChwYXRoWzFdID09ICcuJyAmJiBxIC0gcGF0aCA9PSAyKSB7Ci0rICAgICAgICAg ICAgICAgICAgICAgICAgLyogVHJpbSB0aGUgbGFzdCBjb21wb25lbnQuICovCi0rICAgICAgICAg ICAgICAgICAgICAgICAgaWYgKHAgIT0gcmVzb2x2ZWQpCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB3aGlsZSAoKi0tcCAhPSAnLycpCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotKyAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgg PSBxOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gbG9vcDsKLSsgICAgICAgICAgICAg ICAgfQotKyAgICAgICAgfQotKwotKyAgICAgICAgLyogQXBwZW5kIHRoaXMgY29tcG9uZW50LiAq LwotKyAgICAgICAgaWYgKHAgLSByZXNvbHZlZCArIDEgKyBxIC0gcGF0aCArIDEgPiBNQVhQQVRI TEVOKSB7Ci0rICAgICAgICAgICAgICAgIGVycm5vID0gRU5BTUVUT09MT05HOwotKyAgICAgICAg ICAgICAgICBpZiAocCA9PSByZXNvbHZlZCkKLSsgICAgICAgICAgICAgICAgICAgICAgICAqcCsr ID0gJy8nOwotKyAgICAgICAgICAgICAgICAqcCA9ICdcMCc7Ci0rICAgICAgICAgICAgICAgIGdv dG8gb3V0OwotKyAgICAgICAgfQotKyAgICAgICAgcFswXSA9ICcvJzsKLSsgICAgICAgIG1lbWNw eSgmcFsxXSwgcGF0aCwKLSsgICAgICAgICAgICAvKiBMSU5URUQgV2Uga25vdyBxID4gcGF0aC4g Ki8KLSsgICAgICAgICAgICBxIC0gcGF0aCk7Ci0rICAgICAgICBwWzEgKyBxIC0gcGF0aF0gPSAn XDAnOwotKwotKyAgICAgICAgLyoKLSsgICAgICAgICAqIElmIHRoaXMgY29tcG9uZW50IGlzIGEg c3ltbGluaywgdG9zcyBpdCBhbmQgcHJlcGVuZCBsaW5rCi0rICAgICAgICAgKiB0YXJnZXQgdG8g dW5yZXNvbHZlZCBwYXRoLgotKyAgICAgICAgICovCi0rICAgICAgICBpZiAobHN0YXQocmVzb2x2 ZWQsICZzYikgPT0gLTEpCi0rICAgICAgICAgICAgICAgIGdvdG8gb3V0OwotKwotKyAgICAgICAg aWYgKFNfSVNMTksoc2Iuc3RfbW9kZSkpIHsKLSsgICAgICAgICAgICAgICAgaWYgKG5sbmsrKyA+ PSBNQVhTWU1MSU5LUykgewotKyAgICAgICAgICAgICAgICAgICAgICAgIGVycm5vID0gRUxPT1A7 Ci0rICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7Ci0rICAgICAgICAgICAgICAgIH0K LSsgICAgICAgICAgICAgICAgbiA9IHJlYWRsaW5rKHJlc29sdmVkLCB3YnVmW2lkeF0sIHNpemVv Zih3YnVmWzBdKSAtIDEpOwotKyAgICAgICAgICAgICAgICBpZiAobiA8IDApCi0rICAgICAgICAg ICAgICAgICAgICAgICAgZ290byBvdXQ7Ci0rICAgICAgICAgICAgICAgIGlmIChuID09IDApIHsK LSsgICAgICAgICAgICAgICAgICAgICAgICBlcnJubyA9IEVOT0VOVDsKLSsgICAgICAgICAgICAg ICAgICAgICAgICBnb3RvIG91dDsKLSsgICAgICAgICAgICAgICAgfQotKwotKyAgICAgICAgICAg ICAgICAvKiBBcHBlbmQgdW5yZXNvbHZlZCBwYXRoIHRvIGxpbmsgdGFyZ2V0IGFuZCBzd2l0Y2gg dG8gaXQuICovCi0rICAgICAgICAgICAgICAgIGlmIChuICsgKGxlbiA9IHN0cmxlbihxKSkgKyAx ID4gc2l6ZW9mKHdidWZbMF0pKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgZXJybm8gPSBF TkFNRVRPT0xPTkc7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7Ci0rICAgICAg ICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgbWVtY3B5KCZ3YnVmW2lkeF1bbl0sIHEsIGxl biArIDEpOwotKyAgICAgICAgICAgICAgICBwYXRoID0gd2J1ZltpZHhdOwotKyAgICAgICAgICAg ICAgICBpZHggXj0gMTsKLSsKLSsgICAgICAgICAgICAgICAgLyogSWYgYWJzb2x1dGUgc3ltbGlu aywgc3RhcnQgZnJvbSByb290LiAqLwotKyAgICAgICAgICAgICAgICBpZiAoKnBhdGggPT0gJy8n KQotKyAgICAgICAgICAgICAgICAgICAgICAgIHAgPSByZXNvbHZlZDsKLSsgICAgICAgICAgICAg ICAgZ290byBsb29wOwotKyAgICAgICAgfQotKyAgICAgICAgaWYgKCpxID09ICcvJyAmJiAhU19J U0RJUihzYi5zdF9tb2RlKSkgewotKyAgICAgICAgICAgICAgICBlcnJubyA9IEVOT1RESVI7Ci0r ICAgICAgICAgICAgICAgIGdvdG8gb3V0OwotKyAgICAgICAgfQotKwotKyAgICAgICAgLyogQWR2 YW5jZSBib3RoIHJlc29sdmVkIGFuZCB1bnJlc29sdmVkIHBhdGguICovCi0rICAgICAgICBwICs9 IDEgKyBxIC0gcGF0aDsKLSsgICAgICAgIHBhdGggPSBxOwotKyAgICAgICAgZ290byBsb29wOwot K291dDoKLSsgICAgICAgIGZyZWUoZnJlcyk7Ci0rICAgICAgICByZXR1cm4gTlVMTDsKLSt9Ci0r I2VuZGlmCi0gCi0gc3RhdGljIGNoYXIgKgotIHNraXBfdG9rZW4gKGNoYXIgKmxpbmUsIGJvb2wg ZWF0X3doaXRlc3BhY2UpCi1AQCAtMzk1LDkgKzU4NywxNCBAQAotIAotICAgLyogVGhlIG1vdW50 IG9wZXJhdGlvbiB3aWxsIHJlc29sdmUgYW55IHN5bWxpbmtzIGluIHRoZSBkZXN0aW5hdGlvbgot ICAgICAgcGF0aCwgc28gdG8gZmluZCBpdCBpbiB0aGUgbW91bnQgdGFibGUgd2UgbmVlZCB0byBk byB0aGF0IHRvby4gKi8KLSsjaWZkZWYgX19HTElCQ19fCi0gICByZXNvbHZlZF9kZXN0ID0gcmVh bHBhdGggKGRlc3QsIE5VTEwpOwotLSAgaWYgKHJlc29sdmVkX2Rlc3QgPT0gTlVMTCkKLSsjZWxz ZQotKyAgcmVzb2x2ZWRfZGVzdCA9IHJlYWxwYXRoX2ludCAoZGVzdCwgTlVMTCk7Ci0rI2VuZGlm Ci0rICBpZiAocmVzb2x2ZWRfZGVzdCA9PSBOVUxMKSB7Ci0gICAgIHJldHVybiAyOwotKyAgfQot IAotICAgbW91bnRfdGFiID0gcGFyc2VfbW91bnRpbmZvIChwcm9jX2ZkLCByZXNvbHZlZF9kZXN0 KTsKLSAgIGlmIChtb3VudF90YWJbMF0ubW91bnRwb2ludCA9PSBOVUxMKQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9idWJibGV3cmFwL3RlbXBsYXRlIGIvc3JjcGtncy9idWJibGV3cmFwL3RlbXBsYXRl CmluZGV4IDRkZjFkYWM1OTM5NS4uMzJhN2FhZDUwNDU3IDEwMDY0NAotLS0gYS9zcmNwa2dzL2J1 YmJsZXdyYXAvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9idWJibGV3cmFwL3RlbXBsYXRlCkBAIC0x LDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnYnViYmxld3JhcCcKIHBrZ25hbWU9YnVi Ymxld3JhcAotdmVyc2lvbj0wLjQuMQotcmV2aXNpb249MgordmVyc2lvbj0wLjUuMAorcmV2aXNp b249MQogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJsaWJ4c2x0 IGRvY2Jvb2steHNsIHBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0ibGliY2FwLWRldmVsIgpAQCAt MTAsMTAgKzEwLDQgQEAgbWFpbnRhaW5lcj0iRHVuY2FlbiA8ZHVuY2FlbkB2b2lkbGludXgub3Jn PiIKIGxpY2Vuc2U9IkxHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHVi LmNvbS9jb250YWluZXJzL2J1YmJsZXdyYXAiCiBkaXN0ZmlsZXM9IiR7aG9tZXBhZ2V9L3JlbGVh c2VzL2Rvd25sb2FkL3Yke3ZlcnNpb259LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIueHoiCi1j aGVja3N1bT1iOWM2OWI5YjFjNjFhNjA4ZjM0MzI1YzhlMWE0OTUyMjliYWNmNmU0YTA3Y2JiMGM4 MGNmN2E4MTRkN2NjYzAzCi0KLXBvc3RfaW5zdGFsbCgpIHsKLQlpZiBbICIkWEJQU19UQVJHRVRf TElCQyIgPSAibXVzbCIgXTsgdGhlbgotCQl2bGljZW5zZSBMSUNFTlNFLnJlYWxwYXRoCi0JZmkK LX0KK2NoZWNrc3VtPTE2ZmRhZjMzNzk5ZDYzMTA0ZTM0N2UwMTMzZjkwOTE5NmZlOTBkMGM1MDUx NWQwMTBiY2I0MjJlYjVhMDA4MTgK --===============0615305336155125576==--