php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Return to Bug #53709
Patch md5sha1_file.diff.base64 revision 2011-01-10 21:17 UTC by jthijssen at noxlogic dot nl
Patch md5sha1_file.diff revision 2011-01-10 21:14 UTC by jthijssen at noxlogic dot nl

Patch md5sha1_file.diff.base64 for hash related Bug #53709

Patch version 2011-01-10 21:17 UTC

Return to Bug #53709 | Download this patch
Patch Revisions:

Developer: jthijssen@noxlogic.nl

SW5kZXg6IGV4dC9zdGFuZGFyZC9zaGExLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXh0L3N0YW5kYXJkL3No
YTEuYwkocmV2aXNpb24gMzA3MTM1KQorKysgZXh0L3N0YW5kYXJkL3NoYTEuYwkod29ya2luZyBj
b3B5KQpAQCAtNzQsOCArNzQsOSBAQAogCVBIUF9TSEExX0NUWCAgIGNvbnRleHQ7CiAJaW50ICAg
ICAgICAgICBuOwogCXBocF9zdHJlYW0gICAgKnN0cmVhbTsKKwlsb25nICAgICAgICAgIGxlbmd0
aCA9IC0xOwogCi0JaWYgKHplbmRfcGFyc2VfcGFyYW1ldGVycyhaRU5EX05VTV9BUkdTKCkgVFNS
TUxTX0NDLCAic3xiIiwgJmFyZywgJmFyZ19sZW4sICZyYXdfb3V0cHV0KSA9PSBGQUlMVVJFKSB7
CisJaWYgKHplbmRfcGFyc2VfcGFyYW1ldGVycyhaRU5EX05VTV9BUkdTKCkgVFNSTUxTX0NDLCAi
c3xibCIsICZhcmcsICZhcmdfbGVuLCAmcmF3X291dHB1dCwgJmxlbmd0aCkgPT0gRkFJTFVSRSkg
ewogCQlyZXR1cm47CiAJfQogCQpAQCAtODcsNyArODgsMTggQEAKIAlQSFBfU0hBMUluaXQoJmNv
bnRleHQpOwogCiAJd2hpbGUgKChuID0gcGhwX3N0cmVhbV9yZWFkKHN0cmVhbSwgYnVmLCBzaXpl
b2YoYnVmKSkpID4gMCkgewotCQlQSFBfU0hBMVVwZGF0ZSgmY29udGV4dCwgYnVmLCBuKTsKKwkJ
aWYgKGxlbmd0aCA9PSAtMSkgeworCQkJUEhQX1NIQTFVcGRhdGUoJmNvbnRleHQsIGJ1Ziwgbik7
CisJCX0gZWxzZSB7CisJCQlpZiAobGVuZ3RoIDwgbikgeworCQkJCW4gPSBsZW5ndGg7CisJCQl9
CisJCQlQSFBfU0hBMVVwZGF0ZSgmY29udGV4dCwgYnVmLCBuKTsKKwkJCWxlbmd0aCAtPSBuOwor
CQkJaWYgKGxlbmd0aCA9PSAwKSB7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KIAl9CiAKIAlQSFBf
U0hBMUZpbmFsKGRpZ2VzdCwgJmNvbnRleHQpOwpJbmRleDogZXh0L3N0YW5kYXJkL3Rlc3RzL3N0
cmluZ3Mvc2hhMV9maWxlLnBocHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXh0L3N0YW5kYXJkL3Rlc3RzL3N0
cmluZ3Mvc2hhMV9maWxlLnBocHQJKHJldmlzaW9uIDMwNzEzNSkKKysrIGV4dC9zdGFuZGFyZC90
ZXN0cy9zdHJpbmdzL3NoYTFfZmlsZS5waHB0CSh3b3JraW5nIGNvcHkpCkBAIC02LDE2ICs2LDE4
IEBACiAkcGF0aCA9IGRpcm5hbWUoX19GSUxFX18pOwogJGRhdGFfZmlsZSA9ICIkcGF0aC9FbXB0
eUZpbGUudHh0IjsKICRkYXRhX2ZpbGUxID0gIiRwYXRoL0RhdGFGaWxlLnR4dCI7Ci1pZiAhKCgk
ZnAgPSBmb3BlbigkZGF0YV9maWxlLCAndycpKSB8fCAoJGZwMSA9IGZvcGVuKCRkYXRhX2ZpbGUx
LCAndycpKSAgeworJGRhdGFfZmlsZTIgPSAiJHBhdGgvTGFyZ2VEYXRhRmlsZS50eHQiOworaWYg
ISgoJGZwID0gZm9wZW4oJGRhdGFfZmlsZSwgJ3cnKSkgfHwgKCRmcDEgPSBmb3BlbigkZGF0YV9m
aWxlMSwgJ3cnKSB8fCAoJGZwMiA9IGZvcGVuKCRkYXRhX2ZpbGUyLCAndycpKSAgewogICBlY2hv
ICJGaWxlIGNvdWxkIG5vdCBiZSBjcmVhdGVkICxoZW5jZSBleGl0aW5nIGZyb20gdGVzdGNhc2Ug
ZHVlIHRvIHByZS1yZXF1aXNpdGUgZmFpbHVyZVxuIjsKIH0KIGZjbG9zZSggJGZwICk7CiBmY2xv
c2UoICRmcDEgKTsKK2ZjbG9zZSggJGZwMiApOwogCiAtLUZJTEUtLQogPD9waHAKIAotLyogUHJv
dG90eXBlOiBzdHJpbmcgc2hhMV9maWxlKCBzdHJpbmcgZmlsZW5hbWVbLCBib29sIHJhd19vdXRw
dXRdICkKKy8qIFByb3RvdHlwZTogc3RyaW5nIHNoYTFfZmlsZSggc3RyaW5nIGZpbGVuYW1lWywg
Ym9vbCByYXdfb3V0cHV0XSBbLGxvbmcgbGVuZ3RoXSApCiAgKiBEZXNjcmlwdGlvbjogQ2FsY3Vs
YXRlIHRoZSBzaGExIGhhc2ggb2YgYSBmaWxlCiAgKi8KIApAQCAtMjksNiArMzEsMTEgQEAKIGlm
ICgoJGhhbmRsZTIgPSBmb3BlbiggIkRhdGFGaWxlLnR4dCIsICJ3KyIpKSA9PSBGQUxTRSkKIHJl
dHVybiBmYWxzZTsKIAorLyogQ3JlYXRpbmcgYSBkYXRhIGZpbGUgKi8KK2lmICgoJGhhbmRsZTMg
PSBmb3BlbiggIkxhcmdlRGF0YUZpbGUudHh0IiwgIncrIikpID09IEZBTFNFKQorcmV0dXJuIGZh
bHNlOworCisKIC8qIFdyaXRpbmcgaW50byBmaWxlICovIAogJGZpbGVuYW1lID0gIkRhdGFGaWxl
LnR4dCI7CiAkY29udGVudCA9IGIiQWRkIHRoaXMgdG8gdGhlIGZpbGVcbiI7CkBAIC0zOSw5ICs0
NiwyMCBAQAogICB9CiB9CiAKKy8qIFdyaXRpbmcgaW50byBmaWxlICovCiskZmlsZW5hbWUgPSAi
TGFyZ2VEYXRhRmlsZS50eHQiOworJGNvbnRlbnQgPSBzdHJfcmVwZWF0KCIxMjM0NTY3ODkwIiwg
MTAyNDApOworaWYgKGlzX3dyaXRhYmxlKCRmaWxlbmFtZSkpIHsKKyAgaWYgKGZ3cml0ZSgkaGFu
ZGxlMywgJGNvbnRlbnQpID09PSBGQUxTRSkgeworICAgIGVjaG8gIkNhbm5vdCB3cml0ZSB0byBm
aWxlICgkZmlsZW5hbWUpIjsKKyAgICBleGl0OworICB9Cit9CisKIC8vIGNsb3NlIHRoZSBmaWxl
cyAKIGZjbG9zZSgkaGFuZGxlKTsKIGZjbG9zZSgkaGFuZGxlMik7CitmY2xvc2UoJGhhbmRsZTMp
OwogCiAvKiBUZXN0aW5nIGVycm9yIGNvbmRpdGlvbnMgKi8KIGVjaG8gIlxuKioqIFRlc3Rpbmcg
Zm9yIGVycm9yIGNvbmRpdGlvbnMgKioqXG4iOwpAQCAtNjEsOCArNzksOCBAQAogZWNobyAiXG4t
LSBaZXJvIGFyZ3VtZW50cyAtLVxuIjsKICB2YXJfZHVtcCAoIHNoYTFfZmlsZSgpICk7CiAKLWVj
aG8gIlxuLS0gTW9yZSB0aGFuIHZhbGlkIG51bWJlciBvZiBhcmd1bWVudHMgKCB2YWxpZCBpcyAy
KSAtLVxuIjsKLXZhcl9kdW1wICggc2hhMV9maWxlKCJFbXB0eUZpbGUudHh0IiwgdHJ1ZSwgTlVM
TCkgKTsKK2VjaG8gIlxuLS0gTW9yZSB0aGFuIHZhbGlkIG51bWJlciBvZiBhcmd1bWVudHMgKCB2
YWxpZCBpcyAzKSAtLVxuIjsKK3Zhcl9kdW1wICggc2hhMV9maWxlKCJFbXB0eUZpbGUudHh0Iiwg
dHJ1ZSwgMCwgTlVMTCkgKTsKIAogZWNobyAiXG4tLSBIZXhhZGVjaW1hbCBPdXRwdXQgZm9yIEVt
cHR5IGZpbGUgYXMgQXJndW1lbnQgLS1cbiI7CiB2YXJfZHVtcCggc2hhMV9maWxlKCJFbXB0eUZp
bGUudHh0IikgKTsKQEAgLTcwLDE4ICs4OCw4NSBAQAogZWNobyAiXG4tLSBSYXcgQmluYXJ5IE91
dHB1dCBmb3IgRW1wdHkgZmlsZSBhcyBBcmd1bWVudCAtLVxuIjsKIHZhcl9kdW1wKCBiaW4yaGV4
KHNoYTFfZmlsZSgiRW1wdHlGaWxlLnR4dCIsIHRydWUpKSk7CiAKKy8qIE5vcm1hbCBvcGVyYXRp
b24gd2l0aCBoZXhhZGVjaW1hbCBvdXRwdXQgKi8KIGVjaG8gIlxuLS0gSGV4YWRlY2ltYWwgT3V0
cHV0IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIC0tXG4iOwogdmFyX2R1bXAo
IHNoYTFfZmlsZSgiRGF0YUZpbGUudHh0IikgKTsKIAorLyogTm9ybWFsIG9wZXJhdGlvbiB3aXRo
IGhleGFkZWNpbWFsIG91dHB1dCAqLworZWNobyAiXG4tLSBIZXhhZGVjaW1hbCBPdXRwdXQgZm9y
IGEgdmFsaWQgZmlsZSB3aXRoIHNvbWUgY29udGVudHMgYW5kIGFkZGl0aW9uYWwgbGVuZ3RoIC0t
XG4iOwordmFyX2R1bXAgKCBzaGExX2ZpbGUoIkRhdGFGaWxlLnR4dCIsIGZhbHNlLCAxMCkgKTsK
KworLyogTm9ybWFsIG9wZXJhdGlvbiB3aXRoIGhleGFkZWNpbWFsIG91dHB1dCAqLworZWNobyAi
XG4tLSBIZXhhZGVjaW1hbCBPdXRwdXQgZm9yIGEgdmFsaWQgZmlsZSB3aXRoIHNvbWUgY29udGVu
dHMgYW5kIGFkZGl0aW9uYWwgbGVuZ3RoIC0tXG4iOwordmFyX2R1bXAgKCBzaGExX2ZpbGUoIkRh
dGFGaWxlLnR4dCIsIGZhbHNlLCAxNSkgKTsKKworLyogTm9ybWFsIG9wZXJhdGlvbiB3aXRoIGhl
eGFkZWNpbWFsIG91dHB1dCAqLworZWNobyAiXG4tLSBIZXhhZGVjaW1hbCBPdXRwdXQgZm9yIGEg
dmFsaWQgZmlsZSB3aXRoIHNvbWUgY29udGVudHMgYW5kIGEgdG9vIGxhcmdlIGxlbmd0aCAtLVxu
IjsKK3Zhcl9kdW1wICggc2hhMV9maWxlKCJEYXRhRmlsZS50eHQiLCBmYWxzZSwgMTAwMDAwMDAp
ICk7CisKKy8qIE5vcm1hbCBvcGVyYXRpb24gd2l0aCBoZXhhZGVjaW1hbCBvdXRwdXQgKi8KK2Vj
aG8gIlxuLS0gSGV4YWRlY2ltYWwgT3V0cHV0IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBzb21lIGNv
bnRlbnRzIGFuZCB6ZXJvIGxlbmd0aCAtLVxuIjsKK3Zhcl9kdW1wICggc2hhMV9maWxlKCJEYXRh
RmlsZS50eHQiLCBmYWxzZSwgMCkgKTsKKworLyogTm9ybWFsIG9wZXJhdGlvbiB3aXRoIGhleGFk
ZWNpbWFsIG91dHB1dCAqLworZWNobyAiXG4tLSBIZXhhZGVjaW1hbCBPdXRwdXQgZm9yIGEgdmFs
aWQgZmlsZSB3aXRoIHNvbWUgY29udGVudHMgYW5kIGRlZmF1bHQgbGVuZ3RoIC0tXG4iOwordmFy
X2R1bXAgKCBzaGExX2ZpbGUoIkRhdGFGaWxlLnR4dCIsIGZhbHNlLCAtMSkgKTsKKworLyogTm9y
bWFsIG9wZXJhdGlvbiB3aXRoIHJhdyBiaW5hcnkgb3V0cHV0ICovCiBlY2hvICJcbi0tIFJhdyBC
aW5hcnkgT3V0cHV0IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIC0tXG4iOwot
dmFyX2R1bXAgKCBiaW4yaGV4KHNoYTFfZmlsZSgiRGF0YUZpbGUudHh0IiwgdHJ1ZSkpKTsKK3Zh
cl9kdW1wICggYmluMmhleChzaGExX2ZpbGUoIkRhdGFGaWxlLnR4dCIsIHRydWUpKSApOwogCisv
KiBOb3JtYWwgb3BlcmF0aW9uIHdpdGggcmF3IGJpbmFyeSBvdXRwdXQgZm9yIG9ubHkgYSBwYXJ0
IG9mIHRoZSBmaWxlICovCitlY2hvICJcbi0tIFJhdyBCaW5hcnkgT3V0cHV0IGZvciBhIHZhbGlk
IGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIGFuZCBhZGRpdGlvbmFsIGxlbmd0aCAtLVxuIjsKK3Zh
cl9kdW1wICggYmluMmhleChzaGExX2ZpbGUoIkRhdGFGaWxlLnR4dCIsIHRydWUsIDEwKSkgKTsK
KworLyogTm9ybWFsIG9wZXJhdGlvbiB3aXRoIHJhdyBiaW5hcnkgb3V0cHV0IGZvciBhIGxhcmdl
ciBwYXJ0IG9mIHRoZSBmaWxlICovCitlY2hvICJcbi0tIFJhdyBCaW5hcnkgT3V0cHV0IGZvciBh
IHZhbGlkIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIGFuZCBhZGRpdGlvbmFsIGxlbmd0aCAtLVxu
IjsKK3Zhcl9kdW1wICggYmluMmhleChzaGExX2ZpbGUoIkRhdGFGaWxlLnR4dCIsIHRydWUsIDE1
KSkgKTsKKworLyogTm9ybWFsIG9wZXJhdGlvbiB3aXRoIHJhdyBiaW5hcnkgb3V0cHV0IGZvciBh
IHRvbyBsYXJnZSBsZW5ndGgqLworZWNobyAiXG4tLSBSYXcgQmluYXJ5IE91dHB1dCBmb3IgYSB2
YWxpZCBmaWxlIHdpdGggc29tZSBjb250ZW50cyBhbmQgYSB0b28gbGFyZ2UgbGVuZ3RoIC0tXG4i
OwordmFyX2R1bXAgKCBiaW4yaGV4KHNoYTFfZmlsZSgiRGF0YUZpbGUudHh0IiwgdHJ1ZSwgMTAw
MDAwMDApKSApOworCisvKiBOb3JtYWwgb3BlcmF0aW9uIHdpdGggcmF3IGJpbmFyeSBvdXRwdXQg
Ki8KK2VjaG8gIlxuLS0gUmF3IEJpbmFyeSBPdXRwdXQgZm9yIGEgdmFsaWQgZmlsZSB3aXRoIHNv
bWUgY29udGVudHMgYW5kIHplcm8gbGVuZ3RoIC0tXG4iOwordmFyX2R1bXAgKCBiaW4yaGV4KHNo
YTFfZmlsZSgiRGF0YUZpbGUudHh0IiwgdHJ1ZSwgMCkpICk7CisKKy8qIE5vcm1hbCBvcGVyYXRp
b24gd2l0aCByYXcgYmluYXJ5IG91dHB1dCAqLworZWNobyAiXG4tLSBSYXcgQmluYXJ5IE91dHB1
dCBmb3IgYSB2YWxpZCBmaWxlIHdpdGggc29tZSBjb250ZW50cyBhbmQgZGVmYXVsdCBsZW5ndGgg
LS1cbiI7Cit2YXJfZHVtcCAoIGJpbjJoZXgoc2hhMV9maWxlKCJEYXRhRmlsZS50eHQiLCB0cnVl
LCAtMSkpICk7CisKKy8qIE5vcm1hbCBvcGVyYXRpb24gd2l0aCBoZXhhZGVjaW1hbCBvdXRwdXQg
Ki8KK2VjaG8gIlxuLS0gSGV4YWRlY2ltYWwgT3V0cHV0IGZvciBhIGxhcmdlIGZpbGUgd2l0aCBz
b21lIGNvbnRlbnRzIC0tXG4iOwordmFyX2R1bXAgKCBzaGExX2ZpbGUoIkxhcmdlRGF0YUZpbGUu
dHh0IikgKTsKKworLyogTm9ybWFsIG9wZXJhdGlvbiB3aXRoIGhleGFkZWNpbWFsIG91dHB1dCAq
LworZWNobyAiXG4tLSBIZXhhZGVjaW1hbCBPdXRwdXQgZm9yIGEgbGFyZ2UgZmlsZSB3aXRoIHNv
bWUgY29udGVudHMgYW5kIGFkZGl0aW9uYWwgbGVuZ3RoIC0tXG4iOwordmFyX2R1bXAgKCBzaGEx
X2ZpbGUoIkxhcmdlRGF0YUZpbGUudHh0IiwgZmFsc2UsIDEwKSApOworCisvKiBOb3JtYWwgb3Bl
cmF0aW9uIHdpdGggaGV4YWRlY2ltYWwgb3V0cHV0ICovCitlY2hvICJcbi0tIEhleGFkZWNpbWFs
IE91dHB1dCBmb3IgYSBsYXJnZSBmaWxlIHdpdGggc29tZSBjb250ZW50cyBhbmQgYWRkaXRpb25h
bCBsZW5ndGggLS1cbiI7Cit2YXJfZHVtcCAoIHNoYTFfZmlsZSgiTGFyZ2VEYXRhRmlsZS50eHQi
LCBmYWxzZSwgMTA2MTcpICk7CisKKy8qIE5vcm1hbCBvcGVyYXRpb24gd2l0aCBoZXhhZGVjaW1h
bCBvdXRwdXQgKi8KK2VjaG8gIlxuLS0gSGV4YWRlY2ltYWwgT3V0cHV0IGZvciBhIGxhcmdlIGZp
bGUgd2l0aCBzb21lIGNvbnRlbnRzIGFuZCBhIHRvbyBsYXJnZSBsZW5ndGggLS1cbiI7Cit2YXJf
ZHVtcCAoIHNoYTFfZmlsZSgiTGFyZ2VEYXRhRmlsZS50eHQiLCBmYWxzZSwgMTAwMDAwMDAwMDAp
ICk7CisKKy8qIE5vcm1hbCBvcGVyYXRpb24gd2l0aCBoZXhhZGVjaW1hbCBvdXRwdXQgKi8KK2Vj
aG8gIlxuLS0gSGV4YWRlY2ltYWwgT3V0cHV0IGZvciBhIGxhcmdlIGZpbGUgd2l0aCBzb21lIGNv
bnRlbnRzIGFuZCB6ZXJvIGxlbmd0aCAtLVxuIjsKK3Zhcl9kdW1wICggc2hhMV9maWxlKCJMYXJn
ZURhdGFGaWxlLnR4dCIsIGZhbHNlLCAwKSApOworCisvKiBOb3JtYWwgb3BlcmF0aW9uIHdpdGgg
aGV4YWRlY2ltYWwgb3V0cHV0ICovCitlY2hvICJcbi0tIEhleGFkZWNpbWFsIE91dHB1dCBmb3Ig
YSBsYXJnZSBmaWxlIHdpdGggc29tZSBjb250ZW50cyBhbmQgZGVmYXVsdCBsZW5ndGggLS1cbiI7
Cit2YXJfZHVtcCAoIHNoYTFfZmlsZSgiTGFyZ2VEYXRhRmlsZS50eHQiLCBmYWxzZSwgLTEpICk7
CisKIC8vIHJlbW92ZSB0ZW1wIGZpbGVzCit1bmxpbmsoIkxhcmdlRGF0YUZpbGUudHh0Iik7CiB1
bmxpbmsoIkRhdGFGaWxlLnR4dCIpOwogdW5saW5rKCJFbXB0eUZpbGUudHh0Iik7CiAKK2VjaG8g
IlxuRG9uZSI7CiA/PgotPT09RE9ORT09PQogLS1FWFBFQ1RGLS0KICoqKiBUZXN0aW5nIHNoYTFf
ZmlsZSgpIDogYmFzaWMgZnVuY3Rpb25hbGl0eSAqKioKIApAQCAtMTEyLDkgKzE5Nyw5IEBACiBX
YXJuaW5nOiBzaGExX2ZpbGUoKSBleHBlY3RzIGF0IGxlYXN0IDEgcGFyYW1ldGVyLCAwIGdpdmVu
IGluICVzIG9uIGxpbmUgJWQKIE5VTEwKIAotLS0gTW9yZSB0aGFuIHZhbGlkIG51bWJlciBvZiBh
cmd1bWVudHMgKCB2YWxpZCBpcyAyKSAtLQorLS0gTW9yZSB0aGFuIHZhbGlkIG51bWJlciBvZiBh
cmd1bWVudHMgKCB2YWxpZCBpcyAzKSAtLQogCi1XYXJuaW5nOiBzaGExX2ZpbGUoKSBleHBlY3Rz
IGF0IG1vc3QgMiBwYXJhbWV0ZXJzLCAzIGdpdmVuIGluICVzIG9uIGxpbmUgJWQKK1dhcm5pbmc6
IHNoYTFfZmlsZSgpIGV4cGVjdHMgYXQgbW9zdCAzIHBhcmFtZXRlcnMsIDQgZ2l2ZW4gaW4gJXMg
b24gbGluZSAlZAogTlVMTAogCiAtLSBIZXhhZGVjaW1hbCBPdXRwdXQgZm9yIEVtcHR5IGZpbGUg
YXMgQXJndW1lbnQgLS0KQEAgLTEyNiw2ICsyMTEsNTUgQEAKIC0tIEhleGFkZWNpbWFsIE91dHB1
dCBmb3IgYSB2YWxpZCBmaWxlIHdpdGggc29tZSBjb250ZW50cyAtLQogc3RyaW5nKDQwKSAiZDE2
YTU2OGFiOTgyMzNkZWZmN2VjOGIxNjY4ZWI0YjNkOWU1M2ZlZSIKIAorLS0gSGV4YWRlY2ltYWwg
T3V0cHV0IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIGFuZCBhZGRpdGlvbmFs
IGxlbmd0aCAtLQorc3RyaW5nKDQwKSAiZWIxMDQ3ODVjM2FmODczZGFiNDdjNTU1NjYzN2YyY2M1
OGFjODJmZCIKKworLS0gSGV4YWRlY2ltYWwgT3V0cHV0IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBz
b21lIGNvbnRlbnRzIGFuZCBhZGRpdGlvbmFsIGxlbmd0aCAtLQorc3RyaW5nKDQwKSAiMmI4OGFm
MDdhMTY4YTE5YzJlMzE5NzllMjgwY2EzNzEwOGM0Mzk2ZCIKKworLS0gSGV4YWRlY2ltYWwgT3V0
cHV0IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIGFuZCBhIHRvbyBsYXJnZSBs
ZW5ndGggLS0KK3N0cmluZyg0MCkgImQxNmE1NjhhYjk4MjMzZGVmZjdlYzhiMTY2OGViNGIzZDll
NTNmZWUiCisKKy0tIEhleGFkZWNpbWFsIE91dHB1dCBmb3IgYSB2YWxpZCBmaWxlIHdpdGggc29t
ZSBjb250ZW50cyBhbmQgemVybyBsZW5ndGggLS0KK3N0cmluZyg0MCkgImRhMzlhM2VlNWU2YjRi
MGQzMjU1YmZlZjk1NjAxODkwYWZkODA3MDkiCisKKy0tIEhleGFkZWNpbWFsIE91dHB1dCBmb3Ig
YSB2YWxpZCBmaWxlIHdpdGggc29tZSBjb250ZW50cyBhbmQgZGVmYXVsdCBsZW5ndGggLS0KK3N0
cmluZyg0MCkgImQxNmE1NjhhYjk4MjMzZGVmZjdlYzhiMTY2OGViNGIzZDllNTNmZWUiCisKIC0t
IFJhdyBCaW5hcnkgT3V0cHV0IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIC0t
CiBzdHJpbmcoNDApICJkMTZhNTY4YWI5ODIzM2RlZmY3ZWM4YjE2NjhlYjRiM2Q5ZTUzZmVlIgot
PT09RE9ORT09PQorCistLSBSYXcgQmluYXJ5IE91dHB1dCBmb3IgYSB2YWxpZCBmaWxlIHdpdGgg
c29tZSBjb250ZW50cyBhbmQgYWRkaXRpb25hbCBsZW5ndGggLS0KK3N0cmluZyg0MCkgImViMTA0
Nzg1YzNhZjg3M2RhYjQ3YzU1NTY2MzdmMmNjNThhYzgyZmQiCisKKy0tIFJhdyBCaW5hcnkgT3V0
cHV0IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIGFuZCBhZGRpdGlvbmFsIGxl
bmd0aCAtLQorc3RyaW5nKDQwKSAiMmI4OGFmMDdhMTY4YTE5YzJlMzE5NzllMjgwY2EzNzEwOGM0
Mzk2ZCIKKworLS0gUmF3IEJpbmFyeSBPdXRwdXQgZm9yIGEgdmFsaWQgZmlsZSB3aXRoIHNvbWUg
Y29udGVudHMgYW5kIGEgdG9vIGxhcmdlIGxlbmd0aCAtLQorc3RyaW5nKDQwKSAiZDE2YTU2OGFi
OTgyMzNkZWZmN2VjOGIxNjY4ZWI0YjNkOWU1M2ZlZSIKKworLS0gUmF3IEJpbmFyeSBPdXRwdXQg
Zm9yIGEgdmFsaWQgZmlsZSB3aXRoIHNvbWUgY29udGVudHMgYW5kIHplcm8gbGVuZ3RoIC0tCitz
dHJpbmcoNDApICJkYTM5YTNlZTVlNmI0YjBkMzI1NWJmZWY5NTYwMTg5MGFmZDgwNzA5IgorCist
LSBSYXcgQmluYXJ5IE91dHB1dCBmb3IgYSB2YWxpZCBmaWxlIHdpdGggc29tZSBjb250ZW50cyBh
bmQgZGVmYXVsdCBsZW5ndGggLS0KK3N0cmluZyg0MCkgImQxNmE1NjhhYjk4MjMzZGVmZjdlYzhi
MTY2OGViNGIzZDllNTNmZWUiCisKKy0tIEhleGFkZWNpbWFsIE91dHB1dCBmb3IgYSBsYXJnZSBm
aWxlIHdpdGggc29tZSBjb250ZW50cyAtLQorc3RyaW5nKDQwKSAiMWNhYTcxOTg5NTNmMTA4NzY1
YWFmYjgyZmU3MDhkMDZkMDkwMjk1MCIKKworLS0gSGV4YWRlY2ltYWwgT3V0cHV0IGZvciBhIGxh
cmdlIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIGFuZCBhZGRpdGlvbmFsIGxlbmd0aCAtLQorc3Ry
aW5nKDQwKSAiMDFiMzA3YWNiYTRmNTRmNTVhYWZjMzNiYjA2YmJiZjZjYTgwM2U5YSIKKworLS0g
SGV4YWRlY2ltYWwgT3V0cHV0IGZvciBhIGxhcmdlIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIGFu
ZCBhZGRpdGlvbmFsIGxlbmd0aCAtLQorc3RyaW5nKDQwKSAiODg3NjFiOTdhMDI4MDI2ZDRkYWU5
NjBjYWIwY2JkZjkxYTI4Y2E2MyIKKworLS0gSGV4YWRlY2ltYWwgT3V0cHV0IGZvciBhIGxhcmdl
IGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIGFuZCBhIHRvbyBsYXJnZSBsZW5ndGggLS0KK3N0cmlu
Zyg0MCkgIjFjYWE3MTk4OTUzZjEwODc2NWFhZmI4MmZlNzA4ZDA2ZDA5MDI5NTAiCisKKy0tIEhl
eGFkZWNpbWFsIE91dHB1dCBmb3IgYSBsYXJnZSBmaWxlIHdpdGggc29tZSBjb250ZW50cyBhbmQg
emVybyBsZW5ndGggLS0KK3N0cmluZyg0MCkgImRhMzlhM2VlNWU2YjRiMGQzMjU1YmZlZjk1NjAx
ODkwYWZkODA3MDkiCisKKy0tIEhleGFkZWNpbWFsIE91dHB1dCBmb3IgYSBsYXJnZSBmaWxlIHdp
dGggc29tZSBjb250ZW50cyBhbmQgZGVmYXVsdCBsZW5ndGggLS0KK3N0cmluZyg0MCkgIjFjYWE3
MTk4OTUzZjEwODc2NWFhZmI4MmZlNzA4ZDA2ZDA5MDI5NTAiCisKK0RvbmUKSW5kZXg6IGV4dC9z
dGFuZGFyZC90ZXN0cy9zdHJpbmdzL21kNV9maWxlLnBocHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXh0L3N0
YW5kYXJkL3Rlc3RzL3N0cmluZ3MvbWQ1X2ZpbGUucGhwdAkocmV2aXNpb24gMzA3MTM1KQorKysg
ZXh0L3N0YW5kYXJkL3Rlc3RzL3N0cmluZ3MvbWQ1X2ZpbGUucGhwdAkod29ya2luZyBjb3B5KQpA
QCAtNiwxNiArNiwxOCBAQAogJHBhdGggPSBkaXJuYW1lKF9fRklMRV9fKTsKICRkYXRhX2ZpbGUg
PSAiJHBhdGgvRW1wdHlGaWxlLnR4dCI7CiAkZGF0YV9maWxlMSA9ICIkcGF0aC9EYXRhRmlsZS50
eHQiOwotaWYgISgoJGZwID0gZm9wZW4oJGRhdGFfZmlsZSwgJ3cnKSkgfHwgKCRmcDEgPSBmb3Bl
bigkZGF0YV9maWxlMSwgJ3cnKSkgIHsKKyRkYXRhX2ZpbGUyID0gIiRwYXRoL0xhcmdlRGF0YUZp
bGUudHh0IjsKK2lmICEoKCRmcCA9IGZvcGVuKCRkYXRhX2ZpbGUsICd3JykpIHx8ICgkZnAxID0g
Zm9wZW4oJGRhdGFfZmlsZTEsICd3JykgfHwgKCRmcDIgPSBmb3BlbigkZGF0YV9maWxlMiwgJ3cn
KSkgIHsKICAgZWNobyAiRmlsZSBjb3VsZCBub3QgYmUgY3JlYXRlZCAsaGVuY2UgZXhpdGluZyBm
cm9tIHRlc3RjYXNlIGR1ZSB0byBwcmUtcmVxdWlzaXRlIGZhaWx1cmVcbiI7CiB9CiBmY2xvc2Uo
ICRmcCApOwogZmNsb3NlKCAkZnAxICk7CitmY2xvc2UoICRmcDIgKTsKIAogLS1GSUxFLS0KIDw/
cGhwCiAKLS8qIFByb3RvdHlwZTogc3RyaW5nIG1kNV9maWxlKCBzdHJpbmcgZmlsZW5hbWVbLCBi
b29sIHJhd19vdXRwdXRdICkKKy8qIFByb3RvdHlwZTogc3RyaW5nIG1kNV9maWxlKCBzdHJpbmcg
ZmlsZW5hbWVbLCBib29sIHJhd19vdXRwdXRdIFssbG9uZyBsZW5ndGhdICkKICAqIERlc2NyaXB0
aW9uOiBDYWxjdWxhdGUgdGhlIE1ENSBoYXNoIG9mIGEgZ2l2ZW4gZmlsZQogICovCiAKQEAgLTI3
LDYgKzI5LDExIEBACiBpZiAoKCRoYW5kbGUyID0gZm9wZW4oICJEYXRhRmlsZS50eHQiLCAidysi
KSkgPT0gRkFMU0UpCiByZXR1cm4gZmFsc2U7CiAKKy8qIENyZWF0aW5nIGEgZGF0YSBmaWxlICov
CitpZiAoKCRoYW5kbGUzID0gZm9wZW4oICJMYXJnZURhdGFGaWxlLnR4dCIsICJ3KyIpKSA9PSBG
QUxTRSkKK3JldHVybiBmYWxzZTsKKworCiAvKiBXcml0aW5nIGludG8gZmlsZSAqLyAKICRmaWxl
bmFtZSA9ICJEYXRhRmlsZS50eHQiOwogJGNvbnRlbnQgPSAiQWRkIHRoaXMgdG8gdGhlIGZpbGVc
biI7CkBAIC0zNyw5ICs0NCwyMSBAQAogICB9CiB9CiAKKy8qIFdyaXRpbmcgaW50byBmaWxlICov
CiskZmlsZW5hbWUgPSAiTGFyZ2VEYXRhRmlsZS50eHQiOworJGNvbnRlbnQgPSBzdHJfcmVwZWF0
KCIxMjM0NTY3ODkwIiwgMTAyNDApOworaWYgKGlzX3dyaXRhYmxlKCRmaWxlbmFtZSkpIHsKKyAg
aWYgKGZ3cml0ZSgkaGFuZGxlMywgJGNvbnRlbnQpID09PSBGQUxTRSkgeworICAgIGVjaG8gIkNh
bm5vdCB3cml0ZSB0byBmaWxlICgkZmlsZW5hbWUpIjsKKyAgICBleGl0OworICB9Cit9CisKKwog
Ly8gY2xvc2UgdGhlIGZpbGVzIAogZmNsb3NlKCRoYW5kbGUpOwogZmNsb3NlKCRoYW5kbGUyKTsK
K2ZjbG9zZSgkaGFuZGxlMyk7CiAKIC8qIFRlc3RpbmcgZXJyb3IgY29uZGl0aW9ucyAqLwogZWNo
byAiXG4qKiogVGVzdGluZyBmb2UgZXJyb3IgY29uZGl0aW9ucyAqKipcbiI7CkBAIC01OSw4ICs3
OCw4IEBACiAvKiBaZXJvIGFyZ3VtZW50cyAqLwogIHZhcl9kdW1wICggbWQ1X2ZpbGUoKSApOwog
Ci0vKiBNb3JlIHRoYW4gdmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyAoIHZhbGlkIGlzIDIpICAq
LwotdmFyX2R1bXAgKCBtZDVfZmlsZSgiRW1wdHlGaWxlLnR4dCIsIHRydWUsIE5VTEwpICk7Cisv
KiBNb3JlIHRoYW4gdmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyAoIHZhbGlkIGlzIDMpICAqLwor
dmFyX2R1bXAgKCBtZDVfZmlsZSgiRW1wdHlGaWxlLnR4dCIsIHRydWUsIC0xLCBOVUxMKSApOwog
CiAvKiBIZXhhZGVjaW1hbCBPdXRwdXQgZm9yIEVtcHR5IGZpbGUgYXMgaW5wdXQgKi8KIGVjaG8g
IlxuKioqIEhleGFkZWNpbWFsIE91dHB1dCBmb3IgRW1wdHkgZmlsZSBhcyBBcmd1bWVudCAqKipc
biI7CkBAIC02OCwxNyArODcsODIgQEAKIAogLyogUmF3IEJpbmFyeSBPdXRwdXQgZm9yIEVtcHR5
IGZpbGUgYXMgaW5wdXQgKi8KIGVjaG8gIlxuKioqIFJhdyBCaW5hcnkgT3V0cHV0IGZvciBFbXB0
eSBmaWxlIGFzIEFyZ3VtZW50ICoqKlxuIjsKLXZhcl9kdW1wKCBtZDVfZmlsZSgiRW1wdHlGaWxl
LnR4dCIsIHRydWUpICk7Cit2YXJfZHVtcCggYmluMmhleChtZDVfZmlsZSgiRW1wdHlGaWxlLnR4
dCIsIHRydWUpKSApOwogCiAvKiBOb3JtYWwgb3BlcmF0aW9uIHdpdGggaGV4YWRlY2ltYWwgb3V0
cHV0ICovCiBlY2hvICJcbioqKiBIZXhhZGVjaW1hbCBPdXRwdXQgZm9yIGEgdmFsaWQgZmlsZSB3
aXRoIHNvbWUgY29udGVudHMgKioqXG4iOwogdmFyX2R1bXAoIG1kNV9maWxlKCJEYXRhRmlsZS50
eHQiKSApOwogCisvKiBOb3JtYWwgb3BlcmF0aW9uIHdpdGggaGV4YWRlY2ltYWwgb3V0cHV0ICov
CitlY2hvICJcbioqKiBIZXhhZGVjaW1hbCBPdXRwdXQgZm9yIGEgdmFsaWQgZmlsZSB3aXRoIHNv
bWUgY29udGVudHMgYW5kIGFkZGl0aW9uYWwgbGVuZ3RoICoqKlxuIjsKK3Zhcl9kdW1wICggbWQ1
X2ZpbGUoIkRhdGFGaWxlLnR4dCIsIGZhbHNlLCAxMCkgKTsKKworLyogTm9ybWFsIG9wZXJhdGlv
biB3aXRoIGhleGFkZWNpbWFsIG91dHB1dCAqLworZWNobyAiXG4qKiogSGV4YWRlY2ltYWwgT3V0
cHV0IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIGFuZCBhZGRpdGlvbmFsIGxl
bmd0aCAqKipcbiI7Cit2YXJfZHVtcCAoIG1kNV9maWxlKCJEYXRhRmlsZS50eHQiLCBmYWxzZSwg
MTUpICk7CisKKy8qIE5vcm1hbCBvcGVyYXRpb24gd2l0aCBoZXhhZGVjaW1hbCBvdXRwdXQgKi8K
K2VjaG8gIlxuKioqIEhleGFkZWNpbWFsIE91dHB1dCBmb3IgYSB2YWxpZCBmaWxlIHdpdGggc29t
ZSBjb250ZW50cyBhbmQgYSB0b28gbGFyZ2UgbGVuZ3RoICoqKlxuIjsKK3Zhcl9kdW1wICggbWQ1
X2ZpbGUoIkRhdGFGaWxlLnR4dCIsIGZhbHNlLCAxMDAwMDAwMCkgKTsKKworLyogTm9ybWFsIG9w
ZXJhdGlvbiB3aXRoIGhleGFkZWNpbWFsIG91dHB1dCAqLworZWNobyAiXG4qKiogSGV4YWRlY2lt
YWwgT3V0cHV0IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIGFuZCB6ZXJvIGxl
bmd0aCAqKipcbiI7Cit2YXJfZHVtcCAoIG1kNV9maWxlKCJEYXRhRmlsZS50eHQiLCBmYWxzZSwg
MCkgKTsKKworLyogTm9ybWFsIG9wZXJhdGlvbiB3aXRoIGhleGFkZWNpbWFsIG91dHB1dCAqLwor
ZWNobyAiXG4qKiogSGV4YWRlY2ltYWwgT3V0cHV0IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBzb21l
IGNvbnRlbnRzIGFuZCBkZWZhdWx0IGxlbmd0aCAqKipcbiI7Cit2YXJfZHVtcCAoIG1kNV9maWxl
KCJEYXRhRmlsZS50eHQiLCBmYWxzZSwgLTEpICk7CisKIC8qIE5vcm1hbCBvcGVyYXRpb24gd2l0
aCByYXcgYmluYXJ5IG91dHB1dCAqLwogZWNobyAiXG4qKiogUmF3IEJpbmFyeSBPdXRwdXQgZm9y
IGEgdmFsaWQgZmlsZSB3aXRoIHNvbWUgY29udGVudHMgKioqXG4iOwotdmFyX2R1bXAgKCBtZDVf
ZmlsZSgiRGF0YUZpbGUudHh0IiwgdHJ1ZSkgKTsKK3Zhcl9kdW1wICggYmluMmhleChtZDVfZmls
ZSgiRGF0YUZpbGUudHh0IiwgdHJ1ZSkpICk7CiAKKy8qIE5vcm1hbCBvcGVyYXRpb24gd2l0aCBy
YXcgYmluYXJ5IG91dHB1dCBmb3Igb25seSBhIHBhcnQgb2YgdGhlIGZpbGUgKi8KK2VjaG8gIlxu
KioqIFJhdyBCaW5hcnkgT3V0cHV0IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRz
IGFuZCBhZGRpdGlvbmFsIGxlbmd0aCAqKipcbiI7Cit2YXJfZHVtcCAoIGJpbjJoZXgobWQ1X2Zp
bGUoIkRhdGFGaWxlLnR4dCIsIHRydWUsIDEwKSkgKTsKKworLyogTm9ybWFsIG9wZXJhdGlvbiB3
aXRoIHJhdyBiaW5hcnkgb3V0cHV0IGZvciBhIGxhcmdlciBwYXJ0IG9mIHRoZSBmaWxlICovCitl
Y2hvICJcbioqKiBSYXcgQmluYXJ5IE91dHB1dCBmb3IgYSB2YWxpZCBmaWxlIHdpdGggc29tZSBj
b250ZW50cyBhbmQgYWRkaXRpb25hbCBsZW5ndGggKioqXG4iOwordmFyX2R1bXAgKCBiaW4yaGV4
KG1kNV9maWxlKCJEYXRhRmlsZS50eHQiLCB0cnVlLCAxNSkpICk7CisKKy8qIE5vcm1hbCBvcGVy
YXRpb24gd2l0aCByYXcgYmluYXJ5IG91dHB1dCBmb3IgYSB0b28gbGFyZ2UgbGVuZ3RoKi8KK2Vj
aG8gIlxuKioqIFJhdyBCaW5hcnkgT3V0cHV0IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBzb21lIGNv
bnRlbnRzIGFuZCBhIHRvbyBsYXJnZSBsZW5ndGggKioqXG4iOwordmFyX2R1bXAgKCBiaW4yaGV4
KG1kNV9maWxlKCJEYXRhRmlsZS50eHQiLCB0cnVlLCAxMDAwMDAwMCkpICk7CisKKy8qIE5vcm1h
bCBvcGVyYXRpb24gd2l0aCByYXcgYmluYXJ5IG91dHB1dCAqLworZWNobyAiXG4qKiogUmF3IEJp
bmFyeSBPdXRwdXQgZm9yIGEgdmFsaWQgZmlsZSB3aXRoIHNvbWUgY29udGVudHMgYW5kIHplcm8g
bGVuZ3RoICoqKlxuIjsKK3Zhcl9kdW1wICggYmluMmhleChtZDVfZmlsZSgiRGF0YUZpbGUudHh0
IiwgdHJ1ZSwgMCkpICk7CisKKy8qIE5vcm1hbCBvcGVyYXRpb24gd2l0aCByYXcgYmluYXJ5IG91
dHB1dCAqLworZWNobyAiXG4qKiogUmF3IEJpbmFyeSBPdXRwdXQgZm9yIGEgdmFsaWQgZmlsZSB3
aXRoIHNvbWUgY29udGVudHMgYW5kIGRlZmF1bHQgbGVuZ3RoICoqKlxuIjsKK3Zhcl9kdW1wICgg
YmluMmhleChtZDVfZmlsZSgiRGF0YUZpbGUudHh0IiwgdHJ1ZSwgLTEpKSApOworCisvKiBOb3Jt
YWwgb3BlcmF0aW9uIHdpdGggaGV4YWRlY2ltYWwgb3V0cHV0ICovCitlY2hvICJcbioqKiBIZXhh
ZGVjaW1hbCBPdXRwdXQgZm9yIGEgbGFyZ2UgZmlsZSB3aXRoIHNvbWUgY29udGVudHMgKioqXG4i
OwordmFyX2R1bXAgKCBtZDVfZmlsZSgiTGFyZ2VEYXRhRmlsZS50eHQiKSApOworCisvKiBOb3Jt
YWwgb3BlcmF0aW9uIHdpdGggaGV4YWRlY2ltYWwgb3V0cHV0ICovCitlY2hvICJcbioqKiBIZXhh
ZGVjaW1hbCBPdXRwdXQgZm9yIGEgbGFyZ2UgZmlsZSB3aXRoIHNvbWUgY29udGVudHMgYW5kIGFk
ZGl0aW9uYWwgbGVuZ3RoICoqKlxuIjsKK3Zhcl9kdW1wICggbWQ1X2ZpbGUoIkxhcmdlRGF0YUZp
bGUudHh0IiwgZmFsc2UsIDEwKSApOworCisvKiBOb3JtYWwgb3BlcmF0aW9uIHdpdGggaGV4YWRl
Y2ltYWwgb3V0cHV0ICovCitlY2hvICJcbioqKiBIZXhhZGVjaW1hbCBPdXRwdXQgZm9yIGEgbGFy
Z2UgZmlsZSB3aXRoIHNvbWUgY29udGVudHMgYW5kIGFkZGl0aW9uYWwgbGVuZ3RoICoqKlxuIjsK
K3Zhcl9kdW1wICggbWQ1X2ZpbGUoIkxhcmdlRGF0YUZpbGUudHh0IiwgZmFsc2UsIDEwNjE3KSAp
OworCisvKiBOb3JtYWwgb3BlcmF0aW9uIHdpdGggaGV4YWRlY2ltYWwgb3V0cHV0ICovCitlY2hv
ICJcbioqKiBIZXhhZGVjaW1hbCBPdXRwdXQgZm9yIGEgbGFyZ2UgZmlsZSB3aXRoIHNvbWUgY29u
dGVudHMgYW5kIGEgdG9vIGxhcmdlIGxlbmd0aCAqKipcbiI7Cit2YXJfZHVtcCAoIG1kNV9maWxl
KCJMYXJnZURhdGFGaWxlLnR4dCIsIGZhbHNlLCAxMDAwMDAwMDAwMCkgKTsKKworLyogTm9ybWFs
IG9wZXJhdGlvbiB3aXRoIGhleGFkZWNpbWFsIG91dHB1dCAqLworZWNobyAiXG4qKiogSGV4YWRl
Y2ltYWwgT3V0cHV0IGZvciBhIGxhcmdlIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIGFuZCB6ZXJv
IGxlbmd0aCAqKipcbiI7Cit2YXJfZHVtcCAoIG1kNV9maWxlKCJMYXJnZURhdGFGaWxlLnR4dCIs
IGZhbHNlLCAwKSApOworCisvKiBOb3JtYWwgb3BlcmF0aW9uIHdpdGggaGV4YWRlY2ltYWwgb3V0
cHV0ICovCitlY2hvICJcbioqKiBIZXhhZGVjaW1hbCBPdXRwdXQgZm9yIGEgbGFyZ2UgZmlsZSB3
aXRoIHNvbWUgY29udGVudHMgYW5kIGRlZmF1bHQgbGVuZ3RoICoqKlxuIjsKK3Zhcl9kdW1wICgg
bWQ1X2ZpbGUoIkxhcmdlRGF0YUZpbGUudHh0IiwgZmFsc2UsIC0xKSApOworCiAvLyByZW1vdmUg
dGVtcCBmaWxlcwordW5saW5rKCJMYXJnZURhdGFGaWxlLnR4dCIpOwogdW5saW5rKCJEYXRhRmls
ZS50eHQiKTsKIHVubGluaygiRW1wdHlGaWxlLnR4dCIpOwogCkBAIC0xMDIsMjAgKzE4Niw2OCBA
QAogV2FybmluZzogbWQ1X2ZpbGUoKSBleHBlY3RzIGF0IGxlYXN0IDEgcGFyYW1ldGVyLCAwIGdp
dmVuIGluICVzIG9uIGxpbmUgJWQKIE5VTEwKIAotV2FybmluZzogbWQ1X2ZpbGUoKSBleHBlY3Rz
IGF0IG1vc3QgMiBwYXJhbWV0ZXJzLCAzIGdpdmVuIGluICVzIG9uIGxpbmUgJWQKK1dhcm5pbmc6
IG1kNV9maWxlKCkgZXhwZWN0cyBhdCBtb3N0IDMgcGFyYW1ldGVycywgNCBnaXZlbiBpbiAlcyBv
biBsaW5lICVkCiBOVUxMCiAKICoqKiBIZXhhZGVjaW1hbCBPdXRwdXQgZm9yIEVtcHR5IGZpbGUg
YXMgQXJndW1lbnQgKioqCiBzdHJpbmcoMzIpICJkNDFkOGNkOThmMDBiMjA0ZTk4MDA5OThlY2Y4
NDI3ZSIKIAogKioqIFJhdyBCaW5hcnkgT3V0cHV0IGZvciBFbXB0eSBmaWxlIGFzIEFyZ3VtZW50
ICoqKgotc3RyaW5nKDE2KSAi1B2M2Y8AsgTpgAmY7PhCfiIKK3N0cmluZygzMikgImQ0MWQ4Y2Q5
OGYwMGIyMDRlOTgwMDk5OGVjZjg0MjdlIgogCiAqKiogSGV4YWRlY2ltYWwgT3V0cHV0IGZvciBh
IHZhbGlkIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzICoqKgogc3RyaW5nKDMyKSAiN2YyOGVjNjQ3
ODI1ZTJhNzBiZjY3Nzc4NDcyY2Q0YTIiCiAKKyoqKiBIZXhhZGVjaW1hbCBPdXRwdXQgZm9yIGEg
dmFsaWQgZmlsZSB3aXRoIHNvbWUgY29udGVudHMgYW5kIGFkZGl0aW9uYWwgbGVuZ3RoICoqKgor
c3RyaW5nKDMyKSAiMjk5YjZlYjIyYzY5MTQ4MzA5NTE2N2FlOTY5ZGU3YzgiCisKKyoqKiBIZXhh
ZGVjaW1hbCBPdXRwdXQgZm9yIGEgdmFsaWQgZmlsZSB3aXRoIHNvbWUgY29udGVudHMgYW5kIGFk
ZGl0aW9uYWwgbGVuZ3RoICoqKgorc3RyaW5nKDMyKSAiZTMyODVhYWNjNGI0ZjBmYjNkYjZmN2Vm
NjQxYjVlMGUiCisKKyoqKiBIZXhhZGVjaW1hbCBPdXRwdXQgZm9yIGEgdmFsaWQgZmlsZSB3aXRo
IHNvbWUgY29udGVudHMgYW5kIGEgdG9vIGxhcmdlIGxlbmd0aCAqKioKK3N0cmluZygzMikgIjdm
MjhlYzY0NzgyNWUyYTcwYmY2Nzc3ODQ3MmNkNGEyIgorCisqKiogSGV4YWRlY2ltYWwgT3V0cHV0
IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIGFuZCB6ZXJvIGxlbmd0aCAqKioK
K3N0cmluZygzMikgImQ0MWQ4Y2Q5OGYwMGIyMDRlOTgwMDk5OGVjZjg0MjdlIgorCisqKiogSGV4
YWRlY2ltYWwgT3V0cHV0IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIGFuZCBk
ZWZhdWx0IGxlbmd0aCAqKioKK3N0cmluZygzMikgIjdmMjhlYzY0NzgyNWUyYTcwYmY2Nzc3ODQ3
MmNkNGEyIgorCiAqKiogUmF3IEJpbmFyeSBPdXRwdXQgZm9yIGEgdmFsaWQgZmlsZSB3aXRoIHNv
bWUgY29udGVudHMgKioqCi1zdHJpbmcoMTYpICJ/KOxkeCXipwv2d3hHLNSiIgorc3RyaW5nKDMy
KSAiN2YyOGVjNjQ3ODI1ZTJhNzBiZjY3Nzc4NDcyY2Q0YTIiCiAKKyoqKiBSYXcgQmluYXJ5IE91
dHB1dCBmb3IgYSB2YWxpZCBmaWxlIHdpdGggc29tZSBjb250ZW50cyBhbmQgYWRkaXRpb25hbCBs
ZW5ndGggKioqCitzdHJpbmcoMzIpICIyOTliNmViMjJjNjkxNDgzMDk1MTY3YWU5NjlkZTdjOCIK
KworKioqIFJhdyBCaW5hcnkgT3V0cHV0IGZvciBhIHZhbGlkIGZpbGUgd2l0aCBzb21lIGNvbnRl
bnRzIGFuZCBhZGRpdGlvbmFsIGxlbmd0aCAqKioKK3N0cmluZygzMikgImUzMjg1YWFjYzRiNGYw
ZmIzZGI2ZjdlZjY0MWI1ZTBlIgorCisqKiogUmF3IEJpbmFyeSBPdXRwdXQgZm9yIGEgdmFsaWQg
ZmlsZSB3aXRoIHNvbWUgY29udGVudHMgYW5kIGEgdG9vIGxhcmdlIGxlbmd0aCAqKioKK3N0cmlu
ZygzMikgIjdmMjhlYzY0NzgyNWUyYTcwYmY2Nzc3ODQ3MmNkNGEyIgorCisqKiogUmF3IEJpbmFy
eSBPdXRwdXQgZm9yIGEgdmFsaWQgZmlsZSB3aXRoIHNvbWUgY29udGVudHMgYW5kIHplcm8gbGVu
Z3RoICoqKgorc3RyaW5nKDMyKSAiZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UiCisK
KyoqKiBSYXcgQmluYXJ5IE91dHB1dCBmb3IgYSB2YWxpZCBmaWxlIHdpdGggc29tZSBjb250ZW50
cyBhbmQgZGVmYXVsdCBsZW5ndGggKioqCitzdHJpbmcoMzIpICI3ZjI4ZWM2NDc4MjVlMmE3MGJm
Njc3Nzg0NzJjZDRhMiIKKworKioqIEhleGFkZWNpbWFsIE91dHB1dCBmb3IgYSBsYXJnZSBmaWxl
IHdpdGggc29tZSBjb250ZW50cyAqKioKK3N0cmluZygzMikgIjcyYzgzY2UxNjViNGU1NWM3MDE3
NDM0NzdkYzM2YjU5IgorCisqKiogSGV4YWRlY2ltYWwgT3V0cHV0IGZvciBhIGxhcmdlIGZpbGUg
d2l0aCBzb21lIGNvbnRlbnRzIGFuZCBhZGRpdGlvbmFsIGxlbmd0aCAqKioKK3N0cmluZygzMikg
ImU4MDdmMWZjZjgyZDEzMmY5YmIwMThjYTY3MzhhMTlmIgorCisqKiogSGV4YWRlY2ltYWwgT3V0
cHV0IGZvciBhIGxhcmdlIGZpbGUgd2l0aCBzb21lIGNvbnRlbnRzIGFuZCBhZGRpdGlvbmFsIGxl
bmd0aCAqKioKK3N0cmluZygzMikgIjc2MmIzMWFhZjIzNDA1ODY2ZjM1ODBiNmJjOTk4NjIxIgor
CisqKiogSGV4YWRlY2ltYWwgT3V0cHV0IGZvciBhIGxhcmdlIGZpbGUgd2l0aCBzb21lIGNvbnRl
bnRzIGFuZCBhIHRvbyBsYXJnZSBsZW5ndGggKioqCitzdHJpbmcoMzIpICI3MmM4M2NlMTY1YjRl
NTVjNzAxNzQzNDc3ZGMzNmI1OSIKKworKioqIEhleGFkZWNpbWFsIE91dHB1dCBmb3IgYSBsYXJn
ZSBmaWxlIHdpdGggc29tZSBjb250ZW50cyBhbmQgemVybyBsZW5ndGggKioqCitzdHJpbmcoMzIp
ICJkNDFkOGNkOThmMDBiMjA0ZTk4MDA5OThlY2Y4NDI3ZSIKKworKioqIEhleGFkZWNpbWFsIE91
dHB1dCBmb3IgYSBsYXJnZSBmaWxlIHdpdGggc29tZSBjb250ZW50cyBhbmQgZGVmYXVsdCBsZW5n
dGggKioqCitzdHJpbmcoMzIpICI3MmM4M2NlMTY1YjRlNTVjNzAxNzQzNDc3ZGMzNmI1OSIKKwog
RG9uZQogCkluZGV4OiBleHQvc3RhbmRhcmQvbWQ1LmMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXh0L3N0YW5k
YXJkL21kNS5jCShyZXZpc2lvbiAzMDcxMzUpCisrKyBleHQvc3RhbmRhcmQvbWQ1LmMJKHdvcmtp
bmcgY29weSkKQEAgLTcxLDcgKzcxLDcgQEAKIH0KIC8qIH19fSAqLwogCi0vKiB7e3sgcHJvdG8g
c3RyaW5nIG1kNV9maWxlKHN0cmluZyBmaWxlbmFtZSBbLCBib29sIHJhd19vdXRwdXRdKQorLyog
e3t7IHByb3RvIHN0cmluZyBtZDVfZmlsZShzdHJpbmcgZmlsZW5hbWUgWywgYm9vbCByYXdfb3V0
cHV0XSBbLCBsb25nIGxlbmd0aF0pCiAgICBDYWxjdWxhdGUgdGhlIG1kNSBoYXNoIG9mIGdpdmVu
IGZpbGVuYW1lICovCiBQSFBfTkFNRURfRlVOQ1RJT04ocGhwX2lmX21kNV9maWxlKQogewpAQCAt
ODQsOCArODQsOSBAQAogCVBIUF9NRDVfQ1RYICAgY29udGV4dDsKIAlpbnQgICAgICAgICAgIG47
CiAJcGhwX3N0cmVhbSAgICAqc3RyZWFtOworCWxvbmcgICAgICAgICAgbGVuZ3RoID0gLTE7CiAK
LQlpZiAoemVuZF9wYXJzZV9wYXJhbWV0ZXJzKFpFTkRfTlVNX0FSR1MoKSBUU1JNTFNfQ0MsICJz
fGIiLCAmYXJnLCAmYXJnX2xlbiwgJnJhd19vdXRwdXQpID09IEZBSUxVUkUpIHsKKwlpZiAoemVu
ZF9wYXJzZV9wYXJhbWV0ZXJzKFpFTkRfTlVNX0FSR1MoKSBUU1JNTFNfQ0MsICJzfGJsIiwgJmFy
ZywgJmFyZ19sZW4sICZyYXdfb3V0cHV0LCAmbGVuZ3RoKSA9PSBGQUlMVVJFKSB7CiAJCXJldHVy
bjsKIAl9CiAJCkBAIC05Nyw3ICs5OCwxOCBAQAogCVBIUF9NRDVJbml0KCZjb250ZXh0KTsKIAog
CXdoaWxlICgobiA9IHBocF9zdHJlYW1fcmVhZChzdHJlYW0sIGJ1Ziwgc2l6ZW9mKGJ1ZikpKSA+
IDApIHsKLQkJUEhQX01ENVVwZGF0ZSgmY29udGV4dCwgYnVmLCBuKTsKKwkJaWYgKGxlbmd0aCA9
PSAtMSkgeworCQkJUEhQX01ENVVwZGF0ZSgmY29udGV4dCwgYnVmLCBuKTsKKwkJfSBlbHNlIHsK
KwkJCWlmIChsZW5ndGggPCBuKSB7CisJCQkJbiA9IGxlbmd0aDsKKwkJCX0KKwkJCVBIUF9NRDVV
cGRhdGUoJmNvbnRleHQsIGJ1Ziwgbik7CisJCQlsZW5ndGggLT0gbjsKKwkJCWlmIChsZW5ndGgg
PT0gMCkgeworCQkJCWJyZWFrOworCQkJfQorCQl9CiAJfQogCiAJUEhQX01ENUZpbmFsKGRpZ2Vz
dCwgJmNvbnRleHQpOwo=
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue May 21 11:01:34 2024 UTC