From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tremer To: development@lists.ipfire.org Subject: Re: [PATCH] bash: update to 4.3.30 Date: Fri, 03 Jun 2016 16:20:47 +0100 Message-ID: <1464967247.24121.53.camel@ipfire.org> In-Reply-To: <1464889428-6768-1-git-send-email-marcel.lorenz@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6145130380071380943==" List-Id: --===============6145130380071380943== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gVGh1LCAyMDE2LTA2LTAyIGF0IDE5OjQzICswMjAwLCBNYXJjZWwgTG9yZW56IHdyb3RlOgo+ IE9sZCBiYXNoIHBhdGNoZXMgYXJlIHJlbW92ZWQKCldoeT8gV2UgbmVlZCB0aG9zZS4KCj4gCj4g U2lnbmVkLW9mZi1ieTogTWFyY2VsIExvcmVueiA8bWFyY2VsLmxvcmVueihhKWlwZmlyZS5vcmc+ Cj4gLS0tCj4gwqBjb25maWcvcm9vdGZpbGVzL2NvbW1vbi9iYXNowqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDEyICsKPiDCoGxmcy9iYXNowqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgfMKgwqAyMCArLQo+IMKgc3JjL3BhdGNoZXMvYmFzaC0zLjItc3NoX3NvdXJjZV9iYXNo LnBhdGNowqDCoMKgwqDCoHzCoMKgMTIgLQo+IMKgc3JjL3BhdGNoZXMvYmFzaC00LjAtcGF0aHMt MS5wYXRjaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAxMSAtCj4gwqBzcmMvcGF0Y2hl cy9iYXNoLTQuMC1wcm9maWxlLTEucGF0Y2jCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAxMiAt Cj4gwqBzcmMvcGF0Y2hlcy9iYXNoLTQuMy4zMC11cHN0cmVhbV9maXhlcy0zLnBhdGNoIHwgNDg4 Cj4gKysrKysrKysrKysrKysrKysrKysrKysrKwo+IMKgNiBmaWxlcyBjaGFuZ2VkLCA1MDUgaW5z ZXJ0aW9ucygrKSwgNTAgZGVsZXRpb25zKC0pCj4gwqBkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3Bh dGNoZXMvYmFzaC0zLjItc3NoX3NvdXJjZV9iYXNoLnBhdGNoCj4gwqBkZWxldGUgbW9kZSAxMDA2 NDQgc3JjL3BhdGNoZXMvYmFzaC00LjAtcGF0aHMtMS5wYXRjaAo+IMKgZGVsZXRlIG1vZGUgMTAw NjQ0IHNyYy9wYXRjaGVzL2Jhc2gtNC4wLXByb2ZpbGUtMS5wYXRjaAo+IMKgY3JlYXRlIG1vZGUg MTAwNjQ0IHNyYy9wYXRjaGVzL2Jhc2gtNC4zLjMwLXVwc3RyZWFtX2ZpeGVzLTMucGF0Y2gKPiAK PiBkaWZmIC0tZ2l0IGEvY29uZmlnL3Jvb3RmaWxlcy9jb21tb24vYmFzaCBiL2NvbmZpZy9yb290 ZmlsZXMvY29tbW9uL2Jhc2gKPiBpbmRleCA4NGY1ODdmLi43NDNhNzFhIDEwMDY0NAo+IC0tLSBh L2NvbmZpZy9yb290ZmlsZXMvY29tbW9uL2Jhc2gKPiArKysgYi9jb25maWcvcm9vdGZpbGVzL2Nv bW1vbi9iYXNoCj4gQEAgLTU3LDMgKzU3LDE1IEBAIGJpbi9iYXNoCj4gwqAjdXNyL3NoYXJlL2xv Y2FsZS96aF9UVy9MQ19NRVNTQUdFUy9iYXNoLm1vCj4gwqAjdXNyL3NoYXJlL21hbi9tYW4xL2Jh c2guMQo+IMKgI3Vzci9zaGFyZS9tYW4vbWFuMS9iYXNoYnVnLjEKPiArI3Vzci9zaGFyZS9kb2Mv YmFzaC00LjMuMzAKPiArI3Vzci9zaGFyZS9kb2MvYmFzaC00LjMuMzAvQ0hBTkdFUwo+ICsjdXNy L3NoYXJlL2RvYy9iYXNoLTQuMy4zMC9DT01QQVQKPiArI3Vzci9zaGFyZS9kb2MvYmFzaC00LjMu MzAvRkFRCj4gKyN1c3Ivc2hhcmUvZG9jL2Jhc2gtNC4zLjMwL0lOVFJPCj4gKyN1c3Ivc2hhcmUv ZG9jL2Jhc2gtNC4zLjMwL05FV1MKPiArI3Vzci9zaGFyZS9kb2MvYmFzaC00LjMuMzAvUE9TSVgK PiArI3Vzci9zaGFyZS9kb2MvYmFzaC00LjMuMzAvUkJBU0gKPiArI3Vzci9zaGFyZS9kb2MvYmFz aC00LjMuMzAvUkVBRE1FCj4gKyN1c3Ivc2hhcmUvZG9jL2Jhc2gtNC4zLjMwL2Jhc2guaHRtbAo+ ICsjdXNyL3NoYXJlL2RvYy9iYXNoLTQuMy4zMC9iYXNocmVmLmh0bWwKPiArCj4gZGlmZiAtLWdp dCBhL2xmcy9iYXNoIGIvbGZzL2Jhc2gKPiBpbmRleCBjMjE1YjVhLi40MTZiMzgyIDEwMDY0NAo+ IC0tLSBhL2xmcy9iYXNoCj4gKysrIGIvbGZzL2Jhc2gKPiBAQCAtMjQsNyArMjQsNyBAQAo+IMKg Cj4gwqBpbmNsdWRlIENvbmZpZwo+IMKgCj4gLVZFUsKgwqDCoMKgwqDCoMKgwqA9IDQuMwo+ICtW RVLCoMKgwqDCoMKgwqDCoMKgPSA0LjMuMzAKPiDCoAo+IMKgVEhJU0FQUMKgwqDCoMKgPSBiYXNo LSQoVkVSKQo+IMKgRExfRklMRcKgwqDCoMKgPSAkKFRISVNBUFApLnRhci5nego+IEBAIC00Myw3 ICs0Myw4IEBAIGVsc2UKPiDCoGVuZGlmCj4gwqAKPiDCoENPTkZJR1VSRV9PUFRJT05TICs9IFwK PiAtCS0td2l0aG91dC1iYXNoLW1hbGxvYwo+ICsJLS13aXRob3V0LWJhc2gtbWFsbG9jIFwKPiAr CS0tZG9jZGlyPS91c3Ivc2hhcmUvZG9jL2Jhc2gtNC4zLjMwCj4gwqAKPiDCoCMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCj4gIyMKPiDCoCMgVG9wLWxldmVsIFJ1bGVzCj4gQEAgLTUzLDcgKzU0LDcgQEAg b2JqZWN0cyA9ICQoRExfRklMRSkKPiDCoAo+IMKgJChETF9GSUxFKcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgPSAkKERMX0ZST00pLyQoRExfRklMRSkKPiDCoAo+IC0kKERMX0ZJTEUpX01ENcKg wqDCoMKgwqDCoMKgwqDCoD0gODEzNDg5MzJkNWRhMjk0OTUzZTE1ZDQ4MTRjNzRkZDEKPiArJChE TF9GSUxFKV9NRDXCoMKgwqDCoMKgwqDCoMKgwqA9IGEyN2IzZWU5YmU4M2JkM2JhNDQ4YzBmZjUy YjI4NDQ3Cj4gwqAKPiDCoGluc3RhbGwgOiAkKFRBUkdFVCkKPiDCoAo+IEBAIC04MywxOCArODQs NyBAQCAkKHN1YnN0ICUsJV9NRDUsJChvYmplY3RzKSkgOgo+IMKgJChUQVJHRVQpIDogJChwYXRz dWJzdCAlLCQoRElSX0RMKS8lLCQob2JqZWN0cykpCj4gwqAJQCQoUFJFQlVJTEQpCj4gwqAJQHJt IC1yZiAkKERJUl9BUFApICYmIGNkICQoRElSX1NSQykgJiYgdGFyIHpheGYgJChESVJfREwpLyQo RExfRklMRSkKPiAtCj4gLQlzZWQgLWUgInMvZmlsZW5hbWUsIFJUTERfTEFaWS9maWxlbmFtZSwg UlRMRF9OT1cvIiBcCj4gLQkJLWkgJChESVJfQVBQKS9idWlsdGlucy9lbmFibGUuZGVmCj4gLQo+ IC0JZm9yIGkgaW4gJCQoc2VxIDEgMzApOyBkbyBcCj4gLQkJY2QgJChESVJfQVBQKSAmJiBwYXRj aCAtTnAwIDwKPiAkKERJUl9TUkMpL3NyYy9wYXRjaGVzL2Jhc2gvYmFzaDQzLSQkKHByaW50ZiAi JTAzZCIgIiQke2l9IikgfHwgZXhpdCAxOyBcCj4gLQlkb25lCj4gLQo+IC0JY2QgJChESVJfQVBQ KSAmJiBwYXRjaCAtTnAxIDwgJChESVJfU1JDKS9zcmMvcGF0Y2hlcy9iYXNoLTQuMC1wYXRocy0K PiAxLnBhdGNoCj4gLQljZCAkKERJUl9BUFApICYmIHBhdGNoIC1OcDEgPCAkKERJUl9TUkMpL3Ny Yy9wYXRjaGVzL2Jhc2gtNC4wLQo+IHByb2ZpbGUtMS5wYXRjaAo+IC0JY2QgJChESVJfQVBQKSAm JiBwYXRjaCAtTnAxIDwgJChESVJfU1JDKS9zcmMvcGF0Y2hlcy9iYXNoLTMuMi0KPiBzc2hfc291 cmNlX2Jhc2gucGF0Y2gKPiAtCj4gKwljZCAkKERJUl9BUFApICYmIHBhdGNoIC1OcDEgPCAkKERJ Ul9TUkMpL3NyYy9wYXRjaGVzL2Jhc2gtNC4zLjMwLQo+IHVwc3RyZWFtX2ZpeGVzLTMucGF0Y2gK PiDCoAljZCAkKERJUl9BUFApICYmIC4vY29uZmlndXJlICQoQ09ORklHVVJFX09QVElPTlMpCj4g wqAJY2QgJChESVJfQVBQKSAmJiBtYWtlICQoTUFLRVRVTklORykKPiDCoAljZCAkKERJUl9BUFAp ICYmIG1ha2UgaW5zdGFsbAo+IGRpZmYgLS1naXQgYS9zcmMvcGF0Y2hlcy9iYXNoLTMuMi1zc2hf c291cmNlX2Jhc2gucGF0Y2ggYi9zcmMvcGF0Y2hlcy9iYXNoLQo+IDMuMi1zc2hfc291cmNlX2Jh c2gucGF0Y2gKPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCA1YmQxOWNlLi4wMDAw MDAwCj4gLS0tIGEvc3JjL3BhdGNoZXMvYmFzaC0zLjItc3NoX3NvdXJjZV9iYXNoLnBhdGNoCj4g KysrIC9kZXYvbnVsbAo+IEBAIC0xLDEyICswLDAgQEAKPiAtZGlmZiAtdXAgYmFzaC00LjAvY29u ZmlnLXRvcC5oLnNzaF9zb3VyY2VfYmFzaCBiYXNoLTQuMC9jb25maWctdG9wLmgKPiAtLS0tIGJh c2gtNC4wL2NvbmZpZy10b3AuaC5zc2hfc291cmNlX2Jhc2gJMjAwOS0wMS0yMQo+IDE1OjIwOjA2 LjAwMDAwMDAwMCArMDEwMAo+IC0rKysgYmFzaC00LjAvY29uZmlnLXRvcC5oCTIwMDktMDEtMjEg MTU6MjU6NDYuMDAwMDAwMDAwICswMTAwCj4gLUBAIC05MCw3ICs5MCw3IEBACj4gLcKgwqDCoMKg c3NoZCBhbmQgc291cmNlIHRoZSAuYmFzaHJjIGlmIHNvIChsaWtlIHRoZSByc2hkIGJlaGF2aW9y KS7CoMKgVGhpcyBjaGVja3MKPiAtwqDCoMKgwqBmb3IgdGhlIHByZXNlbmNlIG9mIFNTSF9DTElF TlQgb3IgU1NIMl9DTElFTlQgaW4gdGhlIGluaXRpYWwgZW52aXJvbm1lbnQsCj4gLcKgwqDCoMKg d2hpY2ggY2FuIGJlIGZvb2xlZCB1bmRlciBjZXJ0YWluIG5vdC11bmNvbW1vbiBjaXJjdW1zdGFu Y2VzLiAqLwo+IC0tLyogI2RlZmluZSBTU0hfU09VUkNFX0JBU0hSQyAqLwo+IC0rI2RlZmluZSBT U0hfU09VUkNFX0JBU0hSQwo+IC3CoAo+IC0gLyogRGVmaW5lIGlmIHlvdSB3YW50IHRoZSBjYXNl LWNhcGl0YWxpemluZyBvcGVyYXRvcnMgKH5bfl0pIGFuZCB0aGUKPiAtwqDCoMKgwqBgY2FwY2Fz ZScgdmFyaWFibGUgYXR0cmlidXRlIChkZWNsYXJlIC1jKS4gKi8KPiBkaWZmIC0tZ2l0IGEvc3Jj L3BhdGNoZXMvYmFzaC00LjAtcGF0aHMtMS5wYXRjaCBiL3NyYy9wYXRjaGVzL2Jhc2gtNC4wLXBh dGhzLQo+IDEucGF0Y2gKPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAyNGVjNWNj Li4wMDAwMDAwCj4gLS0tIGEvc3JjL3BhdGNoZXMvYmFzaC00LjAtcGF0aHMtMS5wYXRjaAo+ICsr KyAvZGV2L251bGwKPiBAQCAtMSwxMSArMCwwIEBACj4gLS0tLSBiYXNoLTMuMC9jb25maWctdG9w LmgucGF0aHMJMjAwMy0wOC0wNSAxNTozNjoxMi4wMDAwMDAwMDAgKzAxMDAKPiAtKysrIGJhc2gt My4wL2NvbmZpZy10b3AuaAkyMDA0LTA3LTI4IDA5OjM2OjI3LjExNzIwNTYzNyArMDEwMAo+IC1A QCAtNjYsNyArNjYsNyBAQAo+IC3CoMKgwqDCoHRoZSBQb3NpeC4yIGNvbmZzdHIgKCkgZnVuY3Rp b24sIG9yIENTX1BBVEggZGVmaW5lIGFyZSBub3QgcHJlc2VudC4gKi8KPiAtICNpZm5kZWYgU1RB TkRBUkRfVVRJTFNfUEFUSAo+IC0gI2RlZmluZSBTVEFOREFSRF9VVElMU19QQVRIIFwKPiAtLcKg wqAiL2JpbjovdXNyL2Jpbjovc2JpbjovdXNyL3NiaW46L2V0YzovdXNyL2V0YyIKPiAtK8KgwqAi L2JpbjovdXNyL2JpbjovdXNyL3NiaW46L3NiaW4iCj4gLSAjZW5kaWYKPiAtwqAKPiAtIC8qIERl ZmF1bHQgcHJpbWFyeSBhbmQgc2Vjb25kYXJ5IHByb21wdCBzdHJpbmdzLiAqLwo+IGRpZmYgLS1n aXQgYS9zcmMvcGF0Y2hlcy9iYXNoLTQuMC1wcm9maWxlLTEucGF0Y2ggYi9zcmMvcGF0Y2hlcy9i YXNoLTQuMC0KPiBwcm9maWxlLTEucGF0Y2gKPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiBp bmRleCBiYTMzNDRiLi4wMDAwMDAwCj4gLS0tIGEvc3JjL3BhdGNoZXMvYmFzaC00LjAtcHJvZmls ZS0xLnBhdGNoCj4gKysrIC9kZXYvbnVsbAo+IEBAIC0xLDEyICswLDAgQEAKPiAtZGlmZiAtdXAg YmFzaC0zLjIvY29uZmlnLXRvcC5oLnByb2ZpbGUgYmFzaC0zLjIvY29uZmlnLXRvcC5oCj4gLS0t LSBiYXNoLTMuMi9jb25maWctdG9wLmgucHJvZmlsZQkyMDA4LTA3LTE3IDEzOjM1OjM5LjAwMDAw MDAwMCArMDIwMAo+IC0rKysgYmFzaC0zLjIvY29uZmlnLXRvcC5oCTIwMDgtMDctMTcgMTM6NDI6 MTguMDAwMDAwMDAwICswMjAwCj4gLUBAIC0yNiw2ICsyNiw4IEBACj4gLcKgwqDCoMKgd2hhdCBQ T1NJWC4yIHNwZWNpZmllcy4gKi8KPiAtICNkZWZpbmUgQ09OVElOVUVfQUZURVJfS0lMTF9FUlJP Ugo+IC3CoAo+IC0rI2RlZmluZSBOT05fSU5URVJBQ1RJVkVfTE9HSU5fU0hFTExTCj4gLSsKPiAt IC8qIERlZmluZSBCUkVBS19DT01QTEFJTlMgaWYgeW91IHdhbnQgdGhlIG5vbi1zdGFuZGFyZCwg YnV0IHVzZWZ1bAo+IC3CoMKgwqDCoGVycm9yIG1lc3NhZ2VzIGFib3V0IGBicmVhaycgYW5kIGBj b250aW51ZScgb3V0IG9mIGNvbnRleHQuICovCj4gLSAjZGVmaW5lIEJSRUFLX0NPTVBMQUlOUwo+ IGRpZmYgLS1naXQgYS9zcmMvcGF0Y2hlcy9iYXNoLTQuMy4zMC11cHN0cmVhbV9maXhlcy0zLnBh dGNoCj4gYi9zcmMvcGF0Y2hlcy9iYXNoLTQuMy4zMC11cHN0cmVhbV9maXhlcy0zLnBhdGNoCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi40NTljZTI2Cj4gLS0tIC9kZXYv bnVsbAo+ICsrKyBiL3NyYy9wYXRjaGVzL2Jhc2gtNC4zLjMwLXVwc3RyZWFtX2ZpeGVzLTMucGF0 Y2gKPiBAQCAtMCwwICsxLDQ4OCBAQAo+ICtTdWJtaXR0ZWQgQnk6wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgQXJtaW4gSy4gPGtyZWp6aSBhdCBlbWFpbCBkb3QgY29tPgo+ICtEYXRlOsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAyMDE2LTAyLTE2Cj4gK0luaXRpYWwgUGFj a2FnZSBWZXJzaW9uOiA0LjMKPiArVXBzdHJlYW0gU3RhdHVzOsKgwqDCoMKgwqDCoMKgwqDCoEFs cmVhZHkgaW4gdXBzdHJlYW0gcGF0Y2ggcmVwbwo+ICtPcmlnaW46wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgVXBzdHJlYW0KPiArRGVzY3JpcHRpb246wqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBUaGlzIHBhdGNoIGNvbnRhaW5zIHVwc3RyZWFtIHBhdGNoIG51bWJlcnMgMDMx IHRocnUKPiAwNDIKPiArCj4gKy0tLSBhL2FycmF5ZnVuYy5jCTIwMTQtMTAtMDEgMTg6NTc6MzUu MDAwMDAwMDAwICswMjAwCj4gKysrKyBiL2FycmF5ZnVuYy5jCTIwMTUtMDktMDYgMjI6NTc6NTYu MzI4OTQxMDU5ICswMjAwCj4gK0BAIC00MDQsNiArNDA0LDkgQEAKPiArwqDCoMKgwqDCoMKgwqAo KnZhci0+YXNzaWduX2Z1bmMpICh2YXIsIGwtPndvcmQtPndvcmQsIGksIDApOwo+ICvCoMKgwqDC oMKgZWxzZQo+ICvCoMKgwqDCoMKgwqDCoGFycmF5X2luc2VydCAoYSwgaSwgbC0+d29yZC0+d29y ZCk7Cj4gKysKPiArK8KgwqBWVU5TRVRBVFRSICh2YXIsIGF0dF9pbnZpc2libGUpOwkvKiBubyBs b25nZXIgaW52aXNpYmxlICovCj4gKysKPiArwqDCoMKgcmV0dXJuIHZhcjsKPiArIH0KPiArwqAK PiArQEAgLTYzNCw2ICs2MzcsMTAgQEAKPiArwqAKPiArwqDCoMKgaWYgKG5saXN0KQo+ICvCoMKg wqDCoMKgZGlzcG9zZV93b3JkcyAobmxpc3QpOwo+ICsrCj4gKyvCoMKgaWYgKHZhcikKPiArK8Kg wqDCoMKgVlVOU0VUQVRUUiAodmFyLCBhdHRfaW52aXNpYmxlKTsJLyogbm8gbG9uZ2VyIGludmlz aWJsZSAqLwo+ICsrCj4gK8KgwqDCoHJldHVybiAodmFyKTsKPiArIH0KPiArwqAKPiArLS0tIGEv YXNzb2MuYwkyMDExLTExLTA1IDIxOjM5OjA1LjAwMDAwMDAwMCArMDEwMAo+ICsrKysgYi9hc3Nv Yy5jCTIwMTUtMDktMDYgMjI6NTc6NTYuMzI4OTQxMDU5ICswMjAwCj4gK0BAIC00MzYsNiArNDM2 LDggQEAKPiArICNpZiAxCj4gK8KgCWlmIChzaF9jb250YWluc19zaGVsbF9tZXRhcyAodGxpc3Qt PmtleSkpCj4gK8KgCcKgwqBpc3RyID0gc2hfZG91YmxlX3F1b3RlICh0bGlzdC0+a2V5KTsKPiAr KwllbHNlIGlmIChBTExfRUxFTUVOVF9TVUIgKHRsaXN0LT5rZXlbMF0pICYmIHRsaXN0LT5rZXlb MV0gPT0gJ1wwJykKPiArKwnCoMKgaXN0ciA9IHNoX2RvdWJsZV9xdW90ZSAodGxpc3QtPmtleSk7 CQo+ICvCoAllbHNlCj4gK8KgCcKgwqBpc3RyID0gdGxpc3QtPmtleTsJCj4gKyAjZWxzZQo+ICst LS0gYS9iYXNobGluZS5jCTIwMTQtMTAtMDEgMTg6NTc6MzAuMDAwMDAwMDAwICswMjAwCj4gKysr KyBiL2Jhc2hsaW5lLmMJMjAxNS0wOS0wNiAyMjo1ODozNC43MTE3Njg5NDMgKzAyMDAKPiArQEAg LTIwMiw2ICsyMDIsNyBAQAo+ICsgZXh0ZXJuIGludCBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZTsK PiArIGV4dGVybiBpbnQgYXJyYXlfbmVlZHNfbWFraW5nOwo+ICsgZXh0ZXJuIGludCBwb3NpeGx5 X2NvcnJlY3QsIG5vX3N5bWJvbGljX2xpbmtzOwo+ICsrZXh0ZXJuIGludCBzaWdhbHJtX3NlZW47 Cj4gKyBleHRlcm4gY2hhciAqY3VycmVudF9wcm9tcHRfc3RyaW5nLCAqcHMxX3Byb21wdDsKPiAr IGV4dGVybiBTVFJJTkdfSU5UX0FMSVNUIHdvcmRfdG9rZW5fYWxpc3RbXTsKPiArIGV4dGVybiBz aF9idWlsdGluX2Z1bmNfdCAqbGFzdF9zaGVsbF9idWlsdGluLCAqdGhpc19zaGVsbF9idWlsdGlu Owo+ICtAQCAtMTQ2NywxMCArMTQ2OCwyMyBAQAo+ICvCoAo+ICvCoMKgwqDCoMKgwqDCoG9zID0g c3RhcnQ7Cj4gK8KgwqDCoMKgwqDCoMKgbiA9IDA7Cj4gKyvCoMKgwqDCoMKgwqB3YXNfYXNzaWdu bWVudCA9IDA7Cj4gK8KgwqDCoMKgwqDCoMKgcyA9IGZpbmRfY21kX3N0YXJ0IChvcyk7Cj4gK8Kg wqDCoMKgwqDCoMKgZSA9IGZpbmRfY21kX2VuZCAoZW5kKTsKPiArwqDCoMKgwqDCoMKgwqBkbwo+ ICvCoAl7Cj4gKysJwqDCoC8qIERvbid0IHJlYWQgcGFzdCB0aGUgZW5kIG9mIHJsX2xpbmVfYnVm ZmVyICovCj4gKysJwqDCoGlmIChzID4gcmxfZW5kKQo+ICsrCcKgwqDCoMKgewo+ICsrCcKgwqDC oMKgwqDCoHMxID0gcyA9IGUxOwo+ICsrCcKgwqDCoMKgwqDCoGJyZWFrOwo+ICsrCcKgwqDCoMKg fQo+ICsrCcKgwqAvKiBPciBwYXN0IHBvaW50IGlmIHBvaW50IGlzIHdpdGhpbiBhbiBhc3NpZ25t ZW50IHN0YXRlbWVudCAqLwo+ICsrCcKgwqBlbHNlIGlmICh3YXNfYXNzaWdubWVudCAmJiBzID4g cmxfcG9pbnQpCj4gKysJwqDCoMKgwqB7Cj4gKysJwqDCoMKgwqDCoMKgczEgPSBzID0gZTE7Cj4g KysJwqDCoMKgwqDCoMKgYnJlYWs7Cj4gKysJwqDCoMKgwqB9Cj4gK8KgCcKgwqAvKiBTa2lwIG92 ZXIgYXNzaWdubWVudCBzdGF0ZW1lbnRzIHByZWNlZGluZyBhIGNvbW1hbmQgbmFtZS7CoMKgSWYK PiB3ZQo+ICvCoAnCoMKgwqDCoMKgZG9uJ3QgZmluZCBhIGNvbW1hbmQgbmFtZSBhdCBhbGwsIHdl IGNhbiBwZXJmb3JtIGNvbW1hbmQgbmFtZQo+ICvCoAnCoMKgwqDCoMKgY29tcGxldGlvbi7CoMKg SWYgd2UgZmluZCBhIHBhcnRpYWwgY29tbWFuZCBuYW1lLCB3ZSBzaG91bGQKPiBwZXJmb3JtCj4g K0BAIC00MjA4LDggKzQyMjIsOSBAQAo+ICsgewo+ICvCoMKgwqAvKiBJZiB3ZSdyZSBnb2luZyB0 byBsb25nam1wIHRvIHRvcF9sZXZlbCwgbWFrZSBzdXJlIHdlIGNsZWFuIHVwIHJlYWRsaW5lLgo+ ICvCoMKgwqDCoMKgwqBjaGVja19zaWduYWxzIHdpbGwgY2FsbCBRVUlULCB3aGljaCB3aWxsIGV2 ZW50dWFsbHkgbG9uZ2ptcCB0bwo+IHRvcF9sZXZlbCwKPiArLcKgwqDCoMKgwqBjYWxsaW5nIHJ1 bl9pbnRlcnJ1cHRfdHJhcCBhbG9uZyB0aGUgd2F5LiAqLwo+ICstwqDCoGlmIChpbnRlcnJ1cHRf c3RhdGUpCj4gKyvCoMKgwqDCoMKgY2FsbGluZyBydW5faW50ZXJydXB0X3RyYXAgYWxvbmcgdGhl IHdheS7CoMKgVGhlIGNoZWNrIGZvciBzaWdhbHJtX3NlZW4KPiBpcwo+ICsrwqDCoMKgwqDCoHRv IGNsZWFuIHVwIHRoZSByZWFkIGJ1aWx0aW4ncyBzdGF0ZS4gKi8KPiArK8KgwqBpZiAodGVybWlu YXRpbmdfc2lnbmFsIHx8IGludGVycnVwdF9zdGF0ZSB8fCBzaWdhbHJtX3NlZW4pCj4gK8KgwqDC oMKgwqBybF9jbGVhbnVwX2FmdGVyX3NpZ25hbCAoKTsKPiArwqDCoMKgYmFzaGxpbmVfcmVzZXRf ZXZlbnRfaG9vayAoKTsKPiArwqDCoMKgY2hlY2tfc2lnbmFsc19hbmRfdHJhcHMgKCk7CS8qIFhY WCAqLwo+ICstLS0gYS9idWlsdGlucy9jb21tb24uaAkyMDE0LTEwLTAxIDE4OjU3OjQ3LjAwMDAw MDAwMCArMDIwMAo+ICsrKysgYi9idWlsdGlucy9jb21tb24uaAkyMDE1LTA5LTA2IDIyOjU3OjU2 LjMzMDk0MTEwMyArMDIwMAo+ICtAQCAtMTIyLDYgKzEyMiwxMCBAQAo+ICsgLyogRnVuY3Rpb25z IGZyb20gZ2V0b3B0cy5kZWYgKi8KPiArIGV4dGVybiB2b2lkIGdldG9wdHNfcmVzZXQgX19QKChp bnQpKTsKPiArwqAKPiArKy8qIEZ1bmN0aW9ucyBmcm9tIHJlYWQuZGVmICovCj4gKytleHRlcm4g dm9pZCByZWFkX3R0eV9jbGVhbnVwIF9fUCgodm9pZCkpOwo+ICsrZXh0ZXJuIGludCByZWFkX3R0 eV9tb2RpZmllZCBfX1AoKHZvaWQpKTsKPiArKwo+ICsgLyogRnVuY3Rpb25zIGZyb20gc2V0LmRl ZiAqLwo+ICsgZXh0ZXJuIGludCBtaW51c19vX29wdGlvbl92YWx1ZSBfX1AoKGNoYXIgKikpOwo+ ICsgZXh0ZXJuIHZvaWQgbGlzdF9taW51c19vX29wdHMgX19QKChpbnQsIGludCkpOwo+ICstLS0g YS9idWlsdGlucy9yZWFkLmRlZgkyMDE0LTEwLTAxIDE4OjU3OjM4LjAwMDAwMDAwMCArMDIwMAo+ ICsrKysgYi9idWlsdGlucy9yZWFkLmRlZgkyMDE1LTA5LTA2IDIyOjU3OjU2LjMzNTk0MTIxMiAr MDIwMAo+ICtAQCAtMTQwLDEwICsxNDAsMTIgQEAKPiArIHByb2NlbnZfdCBhbHJtYnVmOwo+ICsg aW50IHNpZ2Fscm1fc2VlbjsKPiArwqAKPiArLXN0YXRpYyBpbnQgcmVhZGluZzsKPiArK3N0YXRp YyBpbnQgcmVhZGluZywgdHR5X21vZGlmaWVkOwo+ICsgc3RhdGljIFNpZ0hhbmRsZXIgKm9sZF9h bHJtOwo+ICsgc3RhdGljIHVuc2lnbmVkIGNoYXIgZGVsaW07Cj4gK8KgCj4gKytzdGF0aWMgc3Ry dWN0IHR0c2F2ZSB0ZXJtc2F2ZTsKPiArKwo+ICsgLyogSW4gYWxsIGNhc2VzLCBTSUdBTFJNIGp1 c3Qgc2V0cyBhIGZsYWcgdGhhdCB3ZSBjaGVjayBwZXJpb2RpY2FsbHkuwqDCoFRoaXMKPiArwqDC oMKgwqBhdm9pZHMgcHJvYmxlbXMgd2l0aCB0aGUgc2VtaS10cmlja3kgc3R1ZmYgd2UgZG8gd2l0 aCB0aGUgeGZyZWUgb2YKPiArwqDCoMKgwqBpbnB1dF9zdHJpbmcgYXQgdGhlIHRvcCBvZiB0aGUg dW53aW5kLXByb3RlY3QgbGlzdCAoc2VlIGJlbG93KS4gKi8KPiArQEAgLTE4OCw3ICsxOTAsNiBA QAo+ICvCoMKgwqBzdHJ1Y3Qgc3RhdCB0c2I7Cj4gK8KgwqDCoFNIRUxMX1ZBUiAqdmFyOwo+ICvC oMKgwqBUVFlTVFJVQ1QgdHRhdHRycywgdHRzZXQ7Cj4gKy3CoMKgc3RydWN0IHR0c2F2ZSB0ZXJt c2F2ZTsKPiArICNpZiBkZWZpbmVkIChBUlJBWV9WQVJTKQo+ICvCoMKgwqBXT1JEX0xJU1QgKmFs aXN0Owo+ICsgI2VuZGlmCj4gK0BAIC0yMjEsNyArMjIyLDcgQEAKPiArwqDCoMKgVVNFX1ZBUihw czIpOwo+ICvCoMKgwqBVU0VfVkFSKGxhc3RzaWcpOwo+ICvCoAo+ICstwqDCoHNpZ2Fscm1fc2Vl biA9IHJlYWRpbmcgPSAwOwo+ICsrwqDCoHNpZ2Fscm1fc2VlbiA9IHJlYWRpbmcgPSB0dHlfbW9k aWZpZWQgPSAwOwo+ICvCoAo+ICvCoMKgwqBpID0gMDsJCS8qIEluZGV4IGludG8gdGhlIHN0cmlu ZyB0aGF0IHdlIGFyZSByZWFkaW5nLiAqLwo+ICvCoMKgwqByYXcgPSBlZGl0ID0gMDsJLyogTm90 IHJlYWRpbmcgcmF3IGlucHV0IGJ5IGRlZmF1bHQuICovCj4gK0BAIC00MzgsNiArNDM5LDggQEAK PiArwqAJwqDCoHJldHZhbCA9IDEyOCtTSUdBTFJNOwo+ICvCoAnCoMKgZ290byBhc3NpZ25fdmFy czsKPiArwqAJfQo+ICsrwqDCoMKgwqDCoMKgaWYgKGludGVyYWN0aXZlX3NoZWxsID09IDApCj4g KysJaW5pdGlhbGl6ZV90ZXJtaW5hdGluZ19zaWduYWxzICgpOwo+ICvCoMKgwqDCoMKgwqDCoG9s ZF9hbHJtID0gc2V0X3NpZ25hbF9oYW5kbGVyIChTSUdBTFJNLCBzaWdhbHJtKTsKPiArwqDCoMKg wqDCoMKgwqBhZGRfdW53aW5kX3Byb3RlY3QgKHJlc2V0X2FsYXJtLCAoY2hhciAqKU5VTEwpOwo+ ICsgI2lmIGRlZmluZWQgKFJFQURMSU5FKQo+ICtAQCAtNDgyLDcgKzQ4NSwxMCBAQAo+ICvCoAnC oMKgaSA9IHNpbGVudCA/IHR0ZmRfY2JyZWFrIChmZCwgJnR0c2V0KSA6IHR0ZmRfb25lY2hhciAo ZmQsICZ0dHNldCk7Cj4gK8KgCcKgwqBpZiAoaSA8IDApCj4gK8KgCcKgwqDCoMKgc2hfdHR5ZXJy b3IgKDEpOwo+ICsrCcKgwqB0dHlfbW9kaWZpZWQgPSAxOwo+ICvCoAnCoMKgYWRkX3Vud2luZF9w cm90ZWN0ICgoRnVuY3Rpb24gKil0dHlyZXN0b3JlLCAoY2hhciAqKSZ0ZXJtc2F2ZSk7Cj4gKysJ wqDCoGlmIChpbnRlcmFjdGl2ZV9zaGVsbCA9PSAwKQo+ICsrCcKgwqDCoMKgaW5pdGlhbGl6ZV90 ZXJtaW5hdGluZ19zaWduYWxzICgpOwo+ICvCoAl9Cj4gK8KgwqDCoMKgwqB9Cj4gK8KgwqDCoGVs c2UgaWYgKHNpbGVudCkJLyogdHVybiBvZmYgZWNobyBidXQgbGVhdmUgdGVybSBpbiBjYW5vbmlj YWwgbW9kZQo+ICovCj4gK0BAIC00OTcsNyArNTAzLDEwIEBACj4gK8KgwqDCoMKgwqDCoMKgaWYg KGkgPCAwKQo+ICvCoAlzaF90dHllcnJvciAoMSk7Cj4gK8KgCj4gKyvCoMKgwqDCoMKgwqB0dHlf bW9kaWZpZWQgPSAxOwo+ICvCoMKgwqDCoMKgwqDCoGFkZF91bndpbmRfcHJvdGVjdCAoKEZ1bmN0 aW9uICopdHR5cmVzdG9yZSwgKGNoYXIgKikmdGVybXNhdmUpOwo+ICsrwqDCoMKgwqDCoMKgaWYg KGludGVyYWN0aXZlX3NoZWxsID09IDApCj4gKysJaW5pdGlhbGl6ZV90ZXJtaW5hdGluZ19zaWdu YWxzICgpOwo+ICvCoMKgwqDCoMKgfQo+ICvCoAo+ICvCoMKgwqAvKiBUaGlzICptdXN0KiBiZSB0 aGUgdG9wIHVud2luZC1wcm90ZWN0IG9uIHRoZSBzdGFjaywgc28gdGhlIG1hbmlwdWxhdGlvbgo+ ICtAQCAtNTg4LDYgKzU5Nyw4IEBACj4gK8KgCcKgwqDCoMKgfQo+ICvCoAnCoMKgZWxzZQo+ICvC oAnCoMKgwqDCoGxhc3RzaWcgPSAwOwo+ICsrCcKgwqBpZiAodGVybWluYXRpbmdfc2lnbmFsICYm IHR0eV9tb2RpZmllZCkKPiArKwnCoMKgwqDCoHR0eXJlc3RvcmUgKCZ0ZXJtc2F2ZSk7CS8qIGZp eCB0ZXJtaW5hbCBiZWZvcmUgZXhpdGluZyAqLwo+ICvCoAnCoMKgQ0hFQ0tfVEVSTVNJRzsKPiAr wqAJwqDCoGVvZiA9IDE7Cj4gK8KgCcKgwqBicmVhazsKPiArQEAgLTk3OCw2ICs5ODksMjAgQEAK PiArwqDCoMKgwqDCoMKgc3RydWN0IHR0c2F2ZSAqdHRwOwo+ICsgewo+ICvCoMKgwqB0dHNldGF0 dHIgKHR0cC0+ZmQsIHR0cC0+YXR0cnMpOwo+ICsrwqDCoHR0eV9tb2RpZmllZCA9IDA7Cj4gKyt9 Cj4gKysKPiArK3ZvaWQKPiArK3JlYWRfdHR5X2NsZWFudXAgKCkKPiArK3sKPiArK8KgwqBpZiAo dHR5X21vZGlmaWVkKQo+ICsrwqDCoMKgwqB0dHlyZXN0b3JlICgmdGVybXNhdmUpOwo+ICsrfQo+ ICsrCj4gKytpbnQKPiArK3JlYWRfdHR5X21vZGlmaWVkICgpCj4gKyt7Cj4gKyvCoMKgcmV0dXJu ICh0dHlfbW9kaWZpZWQpOwo+ICsgfQo+ICvCoAo+ICsgI2lmIGRlZmluZWQgKFJFQURMSU5FKQo+ ICstLS0gYS9idWlsdGlucy9zZXQuZGVmCTIwMTMtMDQtMTkgMTM6MjA6MzQuMDAwMDAwMDAwICsw MjAwCj4gKysrKyBiL2J1aWx0aW5zL3NldC5kZWYJMjAxNS0wOS0wNiAyMjo1Nzo1Ni4zMzY5NDEy MzQgKzAyMDAKPiArQEAgLTc1MSw5ICs3NTEsMTEgQEAKPiArwqDCoMKgV09SRF9MSVNUICpsaXN0 Owo+ICsgewo+ICvCoMKgwqBpbnQgdW5zZXRfZnVuY3Rpb24sIHVuc2V0X3ZhcmlhYmxlLCB1bnNl dF9hcnJheSwgb3B0LCBuYW1lcmVmLCBhbnlfZmFpbGVkOwo+ICsrwqDCoGludCBnbG9iYWxfdW5z ZXRfZnVuYywgZ2xvYmFsX3Vuc2V0X3ZhcjsKPiArwqDCoMKgY2hhciAqbmFtZTsKPiArwqAKPiAr wqDCoMKgdW5zZXRfZnVuY3Rpb24gPSB1bnNldF92YXJpYWJsZSA9IHVuc2V0X2FycmF5ID0gbmFt ZXJlZiA9IGFueV9mYWlsZWQgPSAwOwo+ICsrwqDCoGdsb2JhbF91bnNldF9mdW5jID0gZ2xvYmFs X3Vuc2V0X3ZhciA9IDA7Cj4gK8KgCj4gK8KgwqDCoHJlc2V0X2ludGVybmFsX2dldG9wdCAoKTsK PiArwqDCoMKgd2hpbGUgKChvcHQgPSBpbnRlcm5hbF9nZXRvcHQgKGxpc3QsICJmbnYiKSkgIT0g LTEpCj4gK0BAIC03NjEsMTAgKzc2MywxMCBAQAo+ICvCoMKgwqDCoMKgwqDCoHN3aXRjaCAob3B0 KQo+ICvCoAl7Cj4gK8KgCWNhc2UgJ2YnOgo+ICstCcKgwqB1bnNldF9mdW5jdGlvbiA9IDE7Cj4g KysJwqDCoGdsb2JhbF91bnNldF9mdW5jID0gMTsKPiArwqAJwqDCoGJyZWFrOwo+ICvCoAljYXNl ICd2JzoKPiArLQnCoMKgdW5zZXRfdmFyaWFibGUgPSAxOwo+ICsrCcKgwqBnbG9iYWxfdW5zZXRf dmFyID0gMTsKPiArwqAJwqDCoGJyZWFrOwo+ICvCoAljYXNlICduJzoKPiArwqAJwqDCoG5hbWVy ZWYgPSAxOwo+ICtAQCAtNzc3LDcgKzc3OSw3IEBACj4gK8KgCj4gK8KgwqDCoGxpc3QgPSBsb3B0 ZW5kOwo+ICvCoAo+ICstwqDCoGlmICh1bnNldF9mdW5jdGlvbiAmJiB1bnNldF92YXJpYWJsZSkK PiArK8KgwqBpZiAoZ2xvYmFsX3Vuc2V0X2Z1bmMgJiYgZ2xvYmFsX3Vuc2V0X3ZhcikKPiArwqDC oMKgwqDCoHsKPiArwqDCoMKgwqDCoMKgwqBidWlsdGluX2Vycm9yIChfKCJjYW5ub3Qgc2ltdWx0 YW5lb3VzbHkgdW5zZXQgYSBmdW5jdGlvbiBhbmQgYQo+IHZhcmlhYmxlIikpOwo+ICvCoMKgwqDC oMKgwqDCoHJldHVybiAoRVhFQ1VUSU9OX0ZBSUxVUkUpOwo+ICtAQCAtNzk1LDYgKzc5Nyw5IEBA Cj4gK8KgCj4gK8KgwqDCoMKgwqDCoMKgbmFtZSA9IGxpc3QtPndvcmQtPndvcmQ7Cj4gK8KgCj4g KyvCoMKgwqDCoMKgwqB1bnNldF9mdW5jdGlvbiA9IGdsb2JhbF91bnNldF9mdW5jOwo+ICsrwqDC oMKgwqDCoMKgdW5zZXRfdmFyaWFibGUgPSBnbG9iYWxfdW5zZXRfdmFyOwo+ICsrCj4gKyAjaWYg ZGVmaW5lZCAoQVJSQVlfVkFSUykKPiArwqDCoMKgwqDCoMKgwqB1bnNldF9hcnJheSA9IDA7Cj4g K8KgwqDCoMKgwqDCoMKgaWYgKCF1bnNldF9mdW5jdGlvbiAmJiB2YWxpZF9hcnJheV9yZWZlcmVu Y2UgKG5hbWUpKQo+ICstLS0gYS9qb2JzLmMJMjAxNC0xMC0wMSAxODo1NzoyNi4wMDAwMDAwMDAg KzAyMDAKPiArKysrIGIvam9icy5jCTIwMTUtMDktMDYgMjI6NTc6NTYuMzQwOTQxMzIxICswMjAw Cj4gK0BAIC0zMzM5LDcgKzMzMzksOSBAQAo+ICvCoMKgwqDCoMKgwqDCoGlmIChwb3NpeGx5X2Nv cnJlY3QgJiYgdGhpc19zaGVsbF9idWlsdGluICYmIHRoaXNfc2hlbGxfYnVpbHRpbiA9PQo+IHdh aXRfYnVpbHRpbikKPiArwqAJewo+ICvCoAnCoMKgaW50ZXJydXB0X2ltbWVkaWF0ZWx5ID0gMDsK PiArLQnCoMKgdHJhcF9oYW5kbGVyIChTSUdDSExEKTsJLyogc2V0IHBlbmRpbmdfdHJhcHNbU0lH Q0hMRF0gKi8KPiArKwnCoMKgLyogVGhpcyB3YXMgdHJhcF9oYW5kbGVyIChTSUdDSExEKSBidXQg dGhhdCBjYW4gbG9zZSB0cmFwcyBpZgo+ICsrCcKgwqDCoMKgwqBjaGlsZHJlbl9leGl0ZWQgPiAx ICovCj4gKysJwqDCoHF1ZXVlX3NpZ2NobGRfdHJhcCAoY2hpbGRyZW5fZXhpdGVkKTsKPiArwqAJ wqDCoHdhaXRfc2lnbmFsX3JlY2VpdmVkID0gU0lHQ0hMRDsKPiArwqAJwqDCoC8qIElmIHdlJ3Jl IGluIGEgc2lnbmFsIGhhbmRsZXIsIGxldCBDSEVDS19XQUlUX0lOVFIgcGljayBpdCB1cDsKPiAr wqAJwqDCoMKgwqDCoHJ1bl9wZW5kaW5nX3RyYXBzIHdpbGwgY2FsbCBydW5fc2lnY2hsZF90cmFw IGxhdGVywqDCoCovCj4gKy0tLSBhL2xpYi9yZWFkbGluZS9jb21wbGV0ZS5jCTIwMTMtMTAtMTQg MTU6Mjc6MTAuMDAwMDAwMDAwICswMjAwCj4gKysrKyBiL2xpYi9yZWFkbGluZS9jb21wbGV0ZS5j CTIwMTUtMDktMDYgMjI6NTg6MzQuNzEyNzY4OTY0ICswMjAwCj4gK0BAIC02ODksNiArNjg5LDgg QEAKPiArwqAKPiArwqDCoMKgaWYgKHRlbXAgPT0gMCB8fCAqdGVtcCA9PSAnXDAnKQo+ICvCoMKg wqDCoMKgcmV0dXJuIChwYXRobmFtZSk7Cj4gKyvCoMKgZWxzZSBpZiAodGVtcFsxXSA9PSAwICYm IHRlbXAgPT0gcGF0aG5hbWUpCj4gKyvCoMKgwqDCoHJldHVybiAocGF0aG5hbWUpOwo+ICvCoMKg wqAvKiBJZiB0aGUgYmFzZW5hbWUgaXMgTlVMTCwgd2UgbWlnaHQgaGF2ZSBhIHBhdGhuYW1lIGxp a2UgJy91c3Ivc3JjLycuCj4gK8KgwqDCoMKgwqDCoExvb2sgZm9yIGEgcHJldmlvdXMgc2xhc2gg YW5kLCBpZiBvbmUgaXMgZm91bmQsIHJldHVybiB0aGUgcG9ydGlvbgo+ICvCoMKgwqDCoMKgwqBm b2xsb3dpbmcgdGhhdCBzbGFzaC7CoMKgSWYgdGhlcmUncyBubyBwcmV2aW91cyBzbGFzaCwganVz dCByZXR1cm4gdGhlCj4gKy0tLSBhL2xpYi9zaC91bmljb2RlLmMJMjAxNC0wMS0zMCAyMjo0Nzox OS4wMDAwMDAwMDAgKzAxMDAKPiArKysrIGIvbGliL3NoL3VuaWNvZGUuYwkyMDE1LTA5LTA2IDIy OjU3OjU2LjM0MTk0MTM0MyArMDIwMAo+ICtAQCAtNzgsMTMgKzc4LDE1IEBACj4gK8KgwqDCoHMg PSBzdHJyY2hyIChsb2NhbGUsICcuJyk7Cj4gK8KgwqDCoGlmIChzKQo+ICvCoMKgwqDCoMKgewo+ ICstwqDCoMKgwqDCoMKgc3RyY3B5IChjaGFyc2V0YnVmLCBzKzEpOwo+ICsrwqDCoMKgwqDCoMKg c3RybmNweSAoY2hhcnNldGJ1ZiwgcysxLCBzaXplb2YgKGNoYXJzZXRidWYpIC0gMSk7Cj4gKyvC oMKgwqDCoMKgwqBjaGFyc2V0YnVmW3NpemVvZiAoY2hhcnNldGJ1ZikgLSAxXSA9ICdcMCc7Cj4g K8KgwqDCoMKgwqDCoMKgdCA9IHN0cmNociAoY2hhcnNldGJ1ZiwgJ0AnKTsKPiArwqDCoMKgwqDC oMKgwqBpZiAodCkKPiArwqAJKnQgPSAwOwo+ICvCoMKgwqDCoMKgwqDCoHJldHVybiBjaGFyc2V0 YnVmOwo+ICvCoMKgwqDCoMKgfQo+ICstwqDCoHN0cmNweSAoY2hhcnNldGJ1ZiwgbG9jYWxlKTsK PiArK8KgwqBzdHJuY3B5IChjaGFyc2V0YnVmLCBsb2NhbGUsIHNpemVvZiAoY2hhcnNldGJ1Zikg LSAxKTsKPiArK8KgwqBjaGFyc2V0YnVmW3NpemVvZiAoY2hhcnNldGJ1ZikgLSAxXSA9ICdcMCc7 Cj4gK8KgwqDCoHJldHVybiBjaGFyc2V0YnVmOwo+ICsgfQo+ICsgI2VuZGlmCj4gKy0tLSBhL3Bh cnNlLnkJMjAxNC0xMC0wNSAxOTo1Mjo1MC4wMDAwMDAwMDAgKzAyMDAKPiArKysrIGIvcGFyc2Uu eQkyMDE1LTA5LTA2IDIyOjU4OjM1LjI0NTc4MDMxMyArMDIwMAo+ICtAQCAtMjgxOCwxMSArMjgx OCwxNiBAQAo+ICvCoMKgwqDCoMKgY2FzZSBBTkRfQU5EOgo+ICvCoMKgwqDCoMKgY2FzZSBPUl9P UjoKPiArwqDCoMKgwqDCoGNhc2UgJyYnOgo+ICsrwqDCoMKgwqBjYXNlIFdISUxFOgo+ICvCoMKg wqDCoMKgY2FzZSBETzoKPiArK8KgwqDCoMKgY2FzZSBVTlRJTDoKPiArK8KgwqDCoMKgY2FzZSBJ RjoKPiArwqDCoMKgwqDCoGNhc2UgVEhFTjoKPiArK8KgwqDCoMKgY2FzZSBFTElGOgo+ICvCoMKg wqDCoMKgY2FzZSBFTFNFOgo+ICvCoMKgwqDCoMKgY2FzZSAneyc6CQkvKiB9ICovCj4gKy3CoMKg wqDCoGNhc2UgJygnOgkJLyogKSAqLwo+ICsrwqDCoMKgwqBjYXNlICcoJzoJCS8qICkoICovCj4g KyvCoMKgwqDCoGNhc2UgJyknOgkJLyogb25seSB2YWxpZCBpbiBjYXNlIHN0YXRlbWVudCAqLwo+ ICvCoMKgwqDCoMKgY2FzZSBCQU5HOgkJLyogISB0aW1lIHBpcGVsaW5lICovCj4gK8KgwqDCoMKg wqBjYXNlIFRJTUU6CQkvKiB0aW1lIHRpbWUgcGlwZWxpbmUgKi8KPiArwqDCoMKgwqDCoGNhc2Ug VElNRU9QVDoJLyogdGltZSAtcCB0aW1lIHBpcGVsaW5lICovCj4gK0BAIC0zNzAzLDYgKzM3MDgs OCBAQAo+ICsgLyppdHJhY2UoInBhcnNlX2NvbXN1YjolZDogbGV4X2lud29yZCAtPiAxIGNoID0g YCVjJyAoJWQpIiwgbGluZV9udW1iZXIsIGNoLAo+IF9fTElORV9fKTsqLwo+ICvCoAnCoMKgwqDC oMKgwqB0ZmxhZ3MgfD0gTEVYX0lOV09SRDsKPiArwqAJwqDCoMKgwqDCoMKgbGV4X3dsZW4gPSAw Owo+ICsrCcKgwqDCoMKgwqDCoGlmICh0ZmxhZ3MgJiBMRVhfUkVTV0RPSykKPiArKwkJbGV4X3J3 bGVuID0gMDsKPiArwqAJwqDCoMKgwqB9Cj4gK8KgCX0KPiArwqAKPiArLS0tIGEvcGF0Y2hsZXZl bC5oCTIwMTQtMTAtMDUgMTk6NTI6NTAuMDAwMDAwMDAwICswMjAwCj4gKysrKyBiL3BhdGNobGV2 ZWwuaAkyMDE1LTA5LTA2IDIyOjU4OjM1LjI0ODc4MDM3NyArMDIwMAo+ICtAQCAtMjUsNiArMjUs NiBAQAo+ICvCoMKgwqDCoHJlZ2V4cCBgXiNkZWZpbmVbwqAJXSpQQVRDSExFVkVMJywgc2luY2Ug dGhhdCdzIHdoYXQKPiBzdXBwb3J0L21rdmVyc2lvbi5zaAo+ICvCoMKgwqDCoGxvb2tzIGZvciB0 byBmaW5kIHRoZSBwYXRjaCBsZXZlbCAoZm9yIHRoZSBzY2NzIHZlcnNpb24gc3RyaW5nKS4gKi8K PiArwqAKPiArLSNkZWZpbmUgUEFUQ0hMRVZFTCAzMAo+ICsrI2RlZmluZSBQQVRDSExFVkVMIDQy Cj4gK8KgCj4gKyAjZW5kaWYgLyogX1BBVENITEVWRUxfSF8gKi8KPiArLS0tIGEvc2hlbGwuYwky MDE0LTAxLTE0IDE0OjA0OjMyLjAwMDAwMDAwMCArMDEwMAo+ICsrKysgYi9zaGVsbC5jCTIwMTUt MDktMDYgMjI6NTc6NTYuMzQzOTQxMzg3ICswMjAwCj4gK0BAIC03Myw2ICs3Myw3IEBACj4gKyAj ZW5kaWYKPiArwqAKPiArICNpZiBkZWZpbmVkIChSRUFETElORSkKPiArKyPCoMKgaW5jbHVkZSA8 cmVhZGxpbmUvcmVhZGxpbmUuaD4KPiArICPCoMKgaW5jbHVkZSAiYmFzaGxpbmUuaCIKPiArICNl bmRpZgo+ICvCoAo+ICtAQCAtOTA5LDYgKzkxMCwxNCBAQAo+ICvCoMKgwqBmZmx1c2ggKHN0ZG91 dCk7CQkvKiBYWFggKi8KPiArwqDCoMKgZmZsdXNoIChzdGRlcnIpOwo+ICvCoAo+ICsrwqDCoC8q IENsZWFuIHVwIHRoZSB0ZXJtaW5hbCBpZiB3ZSBhcmUgaW4gYSBzdGF0ZSB3aGVyZSBpdCdzIGJl ZW4gbW9kaWZpZWQuICovCj4gKysjaWYgZGVmaW5lZCAoUkVBRExJTkUpCj4gKyvCoMKgaWYgKFJM X0lTU1RBVEUgKFJMX1NUQVRFX1RFUk1QUkVQUEVEKSAmJiBybF9kZXByZXBfdGVybV9mdW5jdGlv bikKPiArK8KgwqDCoMKgKCpybF9kZXByZXBfdGVybV9mdW5jdGlvbikgKCk7Cj4gKysjZW5kaWYK PiArK8KgwqBpZiAocmVhZF90dHlfbW9kaWZpZWQgKCkpCj4gKyvCoMKgwqDCoHJlYWRfdHR5X2Ns ZWFudXAgKCk7Cj4gKysKPiArwqDCoMKgLyogRG8gdHJhcFswXSBpZiBkZWZpbmVkLsKgwqBBbGxv dyBpdCB0byBvdmVycmlkZSB0aGUgZXhpdCBzdGF0dXMKPiArwqDCoMKgwqDCoMKgcGFzc2VkIHRv IHVzLiAqLwo+ICvCoMKgwqBpZiAoc2lnbmFsX2lzX3RyYXBwZWQgKDApKQo+ICstLS0gYS9zaWcu YwkyMDE0LTAxLTEwIDIxOjA2OjA2LjAwMDAwMDAwMCArMDEwMAo+ICsrKysgYi9zaWcuYwkyMDE1 LTA5LTA2IDIyOjU3OjU2LjM0NDk0MTQwOCArMDIwMAo+ICtAQCAtNTMyLDggKzUzMiwxMCBAQAo+ ICsgI2lmIGRlZmluZWQgKFJFQURMSU5FKQo+ICvCoMKgwqAvKiBTZXQgdGhlIGV2ZW50IGhvb2sg c28gcmVhZGxpbmUgd2lsbCBjYWxsIGl0IGFmdGVyIHRoZSBzaWduYWwgaGFuZGxlcnMKPiArwqDC oMKgwqDCoMKgZmluaXNoIGV4ZWN1dGluZywgc28gaWYgdGhpcyBpbnRlcnJ1cHRlZCBjaGFyYWN0 ZXIgaW5wdXQgd2UgY2FuIGdldAo+ICstwqDCoMKgwqDCoHF1aWNrIHJlc3BvbnNlLiAqLwo+ICst wqDCoGlmIChpbnRlcmFjdGl2ZV9zaGVsbCAmJiBpbnRlcmFjdGl2ZSAmJiBub19saW5lX2VkaXRp bmcgPT0gMCkKPiArK8KgwqDCoMKgwqBxdWljayByZXNwb25zZS7CoMKgSWYgcmVhZGxpbmUgaXMg YWN0aXZlIG9yIGhhcyBtb2RpZmllZCB0aGUgdGVybWluYWwgd2UKPiArK8KgwqDCoMKgwqBuZWVk IHRvIHNldCB0aGlzIG5vIG1hdHRlciB3aGF0IHRoZSBzaWduYWwgaXMsIHRob3VnaCB0aGUgY2hl Y2sgZm9yCj4gKyvCoMKgwqDCoMKgUkxfU1RBVEVfVEVSTVBSRVBQRUQgaXMgcG9zc2libHkgcmVk dW5kYW50LiAqLwo+ICsrwqDCoGlmIChSTF9JU1NUQVRFIChSTF9TVEFURV9TSUdIQU5ETEVSKSB8 fCBSTF9JU1NUQVRFIChSTF9TVEFURV9URVJNUFJFUFBFRCkpCj4gK8KgwqDCoMKgwqBiYXNobGlu ZV9zZXRfZXZlbnRfaG9vayAoKTsKPiArICNlbmRpZgo+ICvCoAo+ICstLS0gYS9zdWJzdC5jCTIw MTQtMTAtMDEgMTg6NTc6NDcuMDAwMDAwMDAwICswMjAwCj4gKysrKyBiL3N1YnN0LmMJMjAxNS0w OS0wNiAyMjo1ODozNC4xNzc3NTc1NzAgKzAyMDAKPiArQEAgLTU3ODIsNyArNTc4Miw3IEBACj4g K8KgwqDCoMKgwqDCoMKgLyogWFhYIC0gZG9lcyB0aGlzIGxlYWsgaWYgbmFtZVtAXSBvciBuYW1l WypdPyAqLwo+ICvCoMKgwqDCoMKgwqDCoGlmIChwZmxhZ3MgJiBQRl9BU1NJR05SSFMpCj4gK8Kg wqDCoMKgwqDCoMKgwqDCoHsKPiArLcKgwqDCoMKgwqDCoMKgwqDCoMKgdGVtcCA9IGFycmF5X3Zh cmlhYmxlX25hbWUgKG5hbWUsICZ0dCwgKGludCAqKTApOwo+ICsrwqDCoMKgwqDCoMKgwqDCoMKg wqB2YXIgPSBhcnJheV92YXJpYWJsZV9wYXJ0IChuYW1lLCAmdHQsIChpbnQgKikwKTsKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGlmIChBTExfRUxFTUVOVF9TVUIgKHR0WzBdKSAmJiB0dFsxXSA9 PSAnXScpCj4gK8KgCcKgwqDCoMKgdGVtcCA9IGFycmF5X3ZhbHVlIChuYW1lLCBxdW90ZWR8UV9E T1VCTEVfUVVPVEVTLCAwLCAmYXR5cGUsCj4gJmluZCk7Cj4gK8KgCcKgwqBlbHNlCj4gKy0tLSBh L3N1YnN0LmgJMjAxNC0xMC0wMSAxODo1Nzo0My4wMDAwMDAwMDAgKzAyMDAKPiArKysrIGIvc3Vi c3QuaAkyMDE1LTA5LTA2IDIyOjU3OjU2LjM0NDk0MTQwOCArMDIwMAo+ICtAQCAtNDcsNiArNDcs NyBAQAo+ICsgI2RlZmluZSBBU1NfTUtBU1NPQwkweDAwMDQKPiArICNkZWZpbmUgQVNTX01LR0xP QkFMCTB4MDAwOAkvKiBmb3JjZSBnbG9iYWwgYXNzaWdubWVudCAqLwo+ICsgI2RlZmluZSBBU1Nf TkFNRVJFRgkweDAwMTAJLyogYXNzaWduaW5nIHRvIG5hbWVyZWYgdmFyaWFibGUgKi8KPiArKyNk ZWZpbmUgQVNTX0ZST01SRUYJMHgwMDIwCS8qIGFzc2lnbmluZyBmcm9tIHZhbHVlIG9mIG5hbWVy ZWYKPiB2YXJpYWJsZSAqLwo+ICvCoAo+ICsgLyogRmxhZ3MgZm9yIHRoZSBzdHJpbmcgZXh0cmFj dGlvbiBmdW5jdGlvbnMuICovCj4gKyAjZGVmaW5lIFNYX05PQUxMT0MJMHgwMDAxCS8qIGp1c3Qg c2tpcDsgZG9uJ3QgcmV0dXJuIHN1YnN0cmluZwo+ICovCj4gKy0tLSBhL3ZhcmlhYmxlcy5jCTIw MTQtMTAtMDEgMTg6NTc6NTEuMDAwMDAwMDAwICswMjAwCj4gKysrKyBiL3ZhcmlhYmxlcy5jCTIw MTUtMDktMDYgMjI6NTc6NTYuMzQ1OTQxNDMwICswMjAwCj4gK0BAIC0yNTE2LDEwICsyNTE2LDI3 IEBACj4gK8KgwqDCoMKgwqDCoEhBU0hfVEFCTEUgKnRhYmxlOwo+ICvCoMKgwqDCoMKgwqBpbnQg aGZsYWdzLCBhZmxhZ3M7Cj4gKyB7Cj4gKy3CoMKgY2hhciAqbmV3dmFsOwo+ICsrwqDCoGNoYXIg Km5ld25hbWUsICpuZXd2YWw7Cj4gK8KgwqDCoFNIRUxMX1ZBUiAqZW50cnk7Cj4gKysjaWYgZGVm aW5lZCAoQVJSQVlfVkFSUykKPiArK8KgwqBhcnJheWluZF90IGluZDsKPiArK8KgwqBjaGFyICpz dWJwOwo+ICsrwqDCoGludCBzdWJsZW47Cj4gKysjZW5kaWYKPiArwqAKPiArK8KgwqBuZXduYW1l ID0gMDsKPiArKyNpZiBkZWZpbmVkIChBUlJBWV9WQVJTKQo+ICsrwqDCoGlmICgoYWZsYWdzICYg QVNTX0ZST01SRUYpICYmIChoZmxhZ3MgJiBIQVNIX05PU1JDSCkgPT0gMCAmJgo+IHZhbGlkX2Fy cmF5X3JlZmVyZW5jZSAobmFtZSkpCj4gKyvCoMKgwqDCoHsKPiArK8KgwqDCoMKgwqDCoG5ld25h bWUgPSBhcnJheV92YXJpYWJsZV9uYW1lIChuYW1lLCAmc3VicCwgJnN1Ymxlbik7Cj4gKyvCoMKg wqDCoMKgwqBpZiAobmV3bmFtZSA9PSAwKQo+ICsrCXJldHVybiAoU0hFTExfVkFSICopTlVMTDsJ LyogWFhYICovCj4gKyvCoMKgwqDCoMKgwqBlbnRyeSA9IGhhc2hfbG9va3VwIChuZXduYW1lLCB0 YWJsZSk7Cj4gKyvCoMKgwqDCoH0KPiArK8KgwqBlbHNlCj4gKysjZW5kaWYKPiArwqDCoMKgZW50 cnkgPSAoaGZsYWdzICYgSEFTSF9OT1NSQ0gpID8gKFNIRUxMX1ZBUiAqKU5VTEwgOiBoYXNoX2xv b2t1cCAobmFtZSwKPiB0YWJsZSk7Cj4gKysKPiArwqDCoMKgLyogRm9sbG93IHRoZSBuYW1lcmVm IGNoYWluIGhlcmUgaWYgdGhpcyBpcyB0aGUgZ2xvYmFsIHZhcmlhYmxlcyB0YWJsZSAqLwo+ICvC oMKgwqBpZiAoZW50cnkgJiYgbmFtZXJlZl9wIChlbnRyeSkgJiYgKGludmlzaWJsZV9wIChlbnRy eSkgPT0gMCkgJiYgdGFibGUgPT0KPiBnbG9iYWxfdmFyaWFibGVzLT50YWJsZSkKPiArwqDCoMKg wqDCoHsKPiArQEAgLTI1NTAsNiArMjU2NywxNiBAQAo+ICvCoMKgwqDCoMKgwqDCoHZhcl9zZXR2 YWx1ZSAoZW50cnksIG1ha2VfdmFyaWFibGVfdmFsdWUgKGVudHJ5LCB2YWx1ZSwgMCkpOwo+ICvC oMKgwqDCoMKgwqDCoH0KPiArwqDCoMKgwqDCoH0KPiArKyNpZiBkZWZpbmVkIChBUlJBWV9WQVJT KQo+ICsrwqDCoGVsc2UgaWYgKGVudHJ5ID09IDAgJiYgbmV3bmFtZSkKPiArK8KgwqDCoMKgewo+ ICsrwqDCoMKgwqDCoMKgZW50cnkgPSBtYWtlX25ld19hcnJheV92YXJpYWJsZSAobmV3bmFtZSk7 CS8qIGluZGV4ZWQgYXJyYXkgYnkKPiBkZWZhdWx0ICovCj4gKyvCoMKgwqDCoMKgwqBpZiAoZW50 cnkgPT0gMCkKPiArKwlyZXR1cm4gZW50cnk7Cj4gKyvCoMKgwqDCoMKgwqBpbmQgPSBhcnJheV9l eHBhbmRfaW5kZXggKG5hbWUsIHN1YnAsIHN1Ymxlbik7Cj4gKyvCoMKgwqDCoMKgwqBiaW5kX2Fy cmF5X2VsZW1lbnQgKGVudHJ5LCBpbmQsIHZhbHVlLCBhZmxhZ3MpOwo+ICsrwqDCoMKgwqB9Cj4g KysjZW5kaWYKPiArwqDCoMKgZWxzZSBpZiAoZW50cnkgPT0gMCkKPiArwqDCoMKgwqDCoHsKPiAr wqDCoMKgwqDCoMKgwqBlbnRyeSA9IG1ha2VfbmV3X3ZhcmlhYmxlIChuYW1lLCB0YWJsZSk7Cj4g K0BAIC0yNjcwLDcgKzI2OTcsOCBAQAo+ICvCoAkJCcKgbm9ybWFsLiAqLwo+ICvCoAkJwqDCoMKg wqDCoMKgaWYgKG5hbWVyZWZfY2VsbCAobnYpID09IDApCj4gK8KgCQkJcmV0dXJuIChiaW5kX3Zh cmlhYmxlX2ludGVybmFsIChudi0+bmFtZSwgdmFsdWUsCj4gbnZjLT50YWJsZSwgMCwgZmxhZ3Mp KTsKPiArLQkJwqDCoMKgwqDCoMKgcmV0dXJuIChiaW5kX3ZhcmlhYmxlX2ludGVybmFsIChuYW1l cmVmX2NlbGwgKG52KSwKPiB2YWx1ZSwgbnZjLT50YWJsZSwgMCwgZmxhZ3MpKTsKPiArKwkJwqDC oMKgwqDCoMKgLyogWFhYIC0gYnVnIGhlcmUgd2l0aCByZWY9YXJyYXlbaW5kZXhdICovCj4gKysJ CcKgwqDCoMKgwqDCoHJldHVybiAoYmluZF92YXJpYWJsZV9pbnRlcm5hbCAobmFtZXJlZl9jZWxs IChudiksCj4gdmFsdWUsIG52Yy0+dGFibGUsIDAsIGZsYWdzfEFTU19GUk9NUkVGKSk7Cj4gK8Kg CQnCoMKgwqDCoH0KPiArwqAJCcKgwqBlbHNlCj4gK8KgCQnCoMKgwqDCoHYgPSBudjsKPiArQEAg LTI4MDUsMTAgKzI4MzMsMTIgQEAKPiArICNlbmRpZgo+ICvCoMKgwqDCoMKgdiA9IGJpbmRfdmFy aWFibGUgKGxocywgcmhzLCAwKTsKPiArwqAKPiArLcKgwqBpZiAodiAmJiBpc2ludCkKPiArLcKg wqDCoMKgVlNFVEFUVFIgKHYsIGF0dF9pbnRlZ2VyKTsKPiArLQo+ICstwqDCoFZVTlNFVEFUVFIg KHYsIGF0dF9pbnZpc2libGUpOwo+ICsrwqDCoGlmICh2KQo+ICsrwqDCoMKgwqB7Cj4gKyvCoMKg wqDCoMKgwqBpZiAoaXNpbnQpCj4gKysJVlNFVEFUVFIgKHYsIGF0dF9pbnRlZ2VyKTsKPiArK8Kg wqDCoMKgwqDCoFZVTlNFVEFUVFIgKHYsIGF0dF9pbnZpc2libGUpOwo+ICsrwqDCoMKgwqB9Cj4g K8KgCj4gK8KgwqDCoHJldHVybiAodik7Cj4gKyB9Cj4gKy0tLSBhL3kudGFiLmMJMjAxNC0xMC0w NSAxOTo1Mjo1MC4wMDAwMDAwMDAgKzAyMDAKPiArKysrIGIveS50YWIuYwkyMDE1LTA5LTA2IDIy OjU4OjM1LjI0Nzc4MDM1NiArMDIwMAo+ICtAQCAtNTEzMCwxMSArNTEzMCwxNiBAQAo+ICvCoMKg wqDCoMKgY2FzZSBBTkRfQU5EOgo+ICvCoMKgwqDCoMKgY2FzZSBPUl9PUjoKPiArwqDCoMKgwqDC oGNhc2UgJyYnOgo+ICsrwqDCoMKgwqBjYXNlIFdISUxFOgo+ICvCoMKgwqDCoMKgY2FzZSBETzoK PiArK8KgwqDCoMKgY2FzZSBVTlRJTDoKPiArK8KgwqDCoMKgY2FzZSBJRjoKPiArwqDCoMKgwqDC oGNhc2UgVEhFTjoKPiArK8KgwqDCoMKgY2FzZSBFTElGOgo+ICvCoMKgwqDCoMKgY2FzZSBFTFNF Ogo+ICvCoMKgwqDCoMKgY2FzZSAneyc6CQkvKiB9ICovCj4gKy3CoMKgwqDCoGNhc2UgJygnOgkJ LyogKSAqLwo+ICsrwqDCoMKgwqBjYXNlICcoJzoJCS8qICkoICovCj4gKyvCoMKgwqDCoGNhc2Ug JyknOgkJLyogb25seSB2YWxpZCBpbiBjYXNlIHN0YXRlbWVudCAqLwo+ICvCoMKgwqDCoMKgY2Fz ZSBCQU5HOgkJLyogISB0aW1lIHBpcGVsaW5lICovCj4gK8KgwqDCoMKgwqBjYXNlIFRJTUU6CQkv KiB0aW1lIHRpbWUgcGlwZWxpbmUgKi8KPiArwqDCoMKgwqDCoGNhc2UgVElNRU9QVDoJLyogdGlt ZSAtcCB0aW1lIHBpcGVsaW5lICovCj4gK0BAIC02MDE1LDYgKzYwMjAsOCBAQAo+ICsgLyppdHJh Y2UoInBhcnNlX2NvbXN1YjolZDogbGV4X2lud29yZCAtPiAxIGNoID0gYCVjJyAoJWQpIiwgbGlu ZV9udW1iZXIsIGNoLAo+IF9fTElORV9fKTsqLwo+ICvCoAnCoMKgwqDCoMKgwqB0ZmxhZ3MgfD0g TEVYX0lOV09SRDsKPiArwqAJwqDCoMKgwqDCoMKgbGV4X3dsZW4gPSAwOwo+ICsrCcKgwqDCoMKg wqDCoGlmICh0ZmxhZ3MgJiBMRVhfUkVTV0RPSykKPiArKwkJbGV4X3J3bGVuID0gMDsKPiArwqAJ wqDCoMKgwqB9Cj4gK8KgCX0KPiArwqAK --===============6145130380071380943== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="signature.asc" MIME-Version: 1.0 LS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0KVmVyc2lvbjogR251UEcgdjIKCmlRSWNCQUFC Q2dBR0JRSlhVYUJQQUFvSkVJQjU4UDl2a0FrSFAxWVAvMFpWWkNoY3F5ZURhYmNsOTg1bkdpSTUK N3FseHNhTG5RNklQN3JTNC8rc1lWcmo3VDk4NDBzWXRQcDRKVysyQjRsZDJ3cFdsNU13KzFZUlVH NXRFRUF6awpVSmcybUkyMmJHVUF6enpIQ1dXallmYlcwaE5hWm0yN2o4elpUUUNWdjBYYm1sdjd4 ekViNm5NeXZCYmZ1eDczCmZlVTVJV1hUQ0RZL0VVN2dNMUVtSFhrVThiL2ZzU1dIVVptU2NhYkdM RyszeDM4dk1NbHl6RUs2dlpyK1ZnaVUKQmI1UDRXLzBXOFhtUlFsL0k2UHFkZnVyK0t3NzBLZndZ aUN6aUtSUXNrVjRGWm5qYnJQMldGMzJoOFlGYmlxbQo3SW9POG5LY1VpNWlyUWxydCtTamFpNDNw SGJTYnJmWkFyY0tXU1pNd1dPYy9ScDVRdWxCNzhwTDJ5NGx5S1pjCnV4ODVkaE1DL21FRjBjRWNY MjR0eDd5NURiSnFtS2hCNWpUQUZvZXkrM3VFZWhKRHdEc2tERi9DUmtGNU1qZVEKQWN1R3dQMUVu SEYzWDhpVjJmVzUvZmpMSForaFVueXZiSmtPTHBUM0E1VGtFRDAzU0VpRkpQMzl3R0VYWVQxTQpF MHM2azdwVEVUZHhaT2tzNE1PZjYyTUNmZktGeGFFZXBiaWRlOFN3Um1CMVFiYnA1R2RvNWNFTDBw cDcxOHBRCnZlZXByNm9nZlFjbU5jWWtjalZ3OEtoMjFWaTNBM0NIWHVwNTlYendUVEJDcnRGMmpM VWNUTVV0d3d6aUZKNHEKYkk5NFF6eXpqNmZERC96eFhSSkU3SitMc0lGM1ZTNHdhVzViY0thdG9h MW5SRmNmeGxId0poQWdwKzZGeXVjZgpRVThaZ2NPUHJqVWpOOTV0cmQ2NQo9cmJybwotLS0tLUVO RCBQR1AgU0lHTkFUVVJFLS0tLS0K --===============6145130380071380943==--