From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Antonio Trande To: git-commits@fedoraproject.org Subject: [rpms/python-dmidecode] f45: Patched for libxml2-2.15.4 Date: Sat, 26 Sep 2026 16:32:52 GMT Message-ID: <179044037272.1.14024179319788467407.rpms-python-dmidecode-b807f4cd3325@fedoraproject.org> List-ID: X-Git-Repo: rpms/python-dmidecode X-Git-Branch: f45 X-Git-Rev: b807f4cd332538f0668b1ac00df13dcbb74b68ef QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcHl0aG9uLWRtaWRl Y29kZQpCcmFuY2ggOiBmNDUKQ29tbWl0IDogYjgwN2Y0Y2QzMzI1MzhmMDY2OGIxYWMwMGRmMTNk Y2JiNzRiNjhlZgpBdXRob3IgOiBBbnRvbmlvIFRyYW5kZSA8c2FnaXR0ZXJAZmVkb3JhcHJvamVj dC5vcmc+CkRhdGUgICA6IDIwMjYtMDktMTdUMjE6MDI6NTYrMDI6MDAKU3RhdHMgIDogKzc1Mi8t NCBpbiAyIGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBt cy9weXRob24tZG1pZGVjb2RlL2MvYjgwN2Y0Y2QzMzI1MzhmMDY2OGIxYWMwMGRmMTNkY2JiNzRi NjhlZj9icmFuY2g9ZjQ1CgpMb2c6ClBhdGNoZWQgZm9yIGxpYnhtbDItMi4xNS40CgotLS0KZGlm ZiAtLWdpdCBhL3B5dGhvbi1kbWlkZWNvZGUtbGlieG1sMi5wYXRjaCBiL3B5dGhvbi1kbWlkZWNv ZGUtbGlieG1sMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODJj OGMwCi0tLSAvZGV2L251bGwKKysrIGIvcHl0aG9uLWRtaWRlY29kZS1saWJ4bWwyLnBhdGNoCkBA IC0wLDAgKzEsNzM3IEBACitGcm9tIDRhZDJlNGNhMGY2Y2E2YzQwZmI5OTRhNzJmODk3MmQyNGI4 OTA1NTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBZdXp1cnUxMCA8eXV6dXJ1XzEw QHByb3Rvbi5tZT4KK0RhdGU6IFNhdCwgNSBKdWwgMjAyNSAyMDoyMToxNCArMDMwMAorU3ViamVj dDogW1BBVENIXSBGaXggWE1MIGhhbmRsaW5nIGFuZCB1cGRhdGUgbGlieG1sMiBiaW5kaW5ncyBp biBweXRob24tZG1pZGVjb2RlCisKK2RpZmYgLS1naXQgYS9kbWlkZWNvZGUucHkgYi9kbWlkZWNv ZGUucHkKK2luZGV4IGFjODEzNjUuLjE5Mzc5ZjQgMTAwNjQ0CistLS0gYS9kbWlkZWNvZGUucHkK KysrKyBiL2RtaWRlY29kZS5weQorQEAgLTI1LDI0ICsyNSwyNSBAQAorICMgICBhcmUgZGVlbWVk IHRvIGJlIHBhcnQgb2YgdGhlIHNvdXJjZSBjb2RlLgorICMKKyAKKy1pbXBvcnQgbGlieG1sMgor K3RyeToKKysgICAgZnJvbSBseG1sIGltcG9ydCBldHJlZQorK2V4Y2VwdCBJbXBvcnRFcnJvcjoK KysgICAgcmFpc2UgSW1wb3J0RXJyb3IoImx4bWwgaXMgcmVxdWlyZWQuIEluc3RhbGwgd2l0aDog cGlwIGluc3RhbGwgbHhtbCIpCisrCisgZnJvbSBkbWlkZWNvZGVtb2QgaW1wb3J0ICoKKytmcm9t IGx4bWwgaW1wb3J0IGV0cmVlCisrZnJvbSBkbWlkZWNvZGVtb2QgaW1wb3J0IHhtbGFwaQorIAor LURNSVhNTF9OT0RFPSduJworLURNSVhNTF9ET0M9J2QnCisrRE1JWE1MX05PREUgPSAnbicKKytE TUlYTUxfRE9DID0gJ2QnCisgCisgY2xhc3MgZG1pZGVjb2RlWE1MOgorICAgICAiTmF0aXZlIFB5 dGhvbiBBUEkgZm9yIHJldHJpZXZpbmcgZG1pZGVjb2RlIGluZm9ybWF0aW9uIGFzIFhNTCIKKy0K KysgICAgCisgICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKy0gICAgICAgIHNlbGYucmVzdHlwZSA9 IERNSVhNTF9OT0RFOworKyAgICAgICAgc2VsZi5yZXN0eXBlID0gRE1JWE1MX05PREUKKyAKKyAg ICAgZGVmIFNldFJlc3VsdFR5cGUoc2VsZiwgdHlwZSk6CistICAgICAgICAiIiIKKy0gICAgICAg IFNldHMgdGhlIHJlc3VsdCB0eXBlIG9mIHF1ZXJpZXMuICBUaGUgdmFsdWUgY2FuIGJlIERNSVhN TF9OT0RFIG9yIERNSVhNTF9ET0MsCistICAgICAgICB3aGljaCB3aWxsIHJldHVybiBhbiBsaWJ4 bWwyOjp4bWxOb2RlIG9yIGxpYnhtbDI6OnhtbERvYyBvYmplY3QsIHJlc3BlY3RpdmVseQorLSAg ICAgICAgIiIiCistCisgICAgICAgICBpZiB0eXBlID09IERNSVhNTF9OT0RFOgorICAgICAgICAg ICAgIHNlbGYucmVzdHlwZSA9IERNSVhNTF9OT0RFCisgICAgICAgICBlbGlmIHR5cGUgPT0gRE1J WE1MX0RPQzoKK0BAIC01MiwzOCArNTMsMzA4IEBAIGRlZiBTZXRSZXN1bHRUeXBlKHNlbGYsIHR5 cGUpOgorICAgICAgICAgcmV0dXJuIFRydWUKKyAKKyAgICAgZGVmIFF1ZXJ5U2VjdGlvbihzZWxm LCBzZWN0bmFtZSk6CistICAgICAgICAiIiIKKy0gICAgICAgIFF1ZXJpZXMgdGhlIERNSSBkYXRh IHN0cnVjdHVyZSBmb3IgYSBnaXZlbiBzZWN0aW9uIG5hbWUuICBBIHNlY3Rpb24KKy0gICAgICAg IGNhbiBvZnRlbiBjb250YWluIHNldmVyYWwgRE1JIHR5cGUgZWxlbWVudHMKKy0gICAgICAgICIi IgorLSAgICAgICAgaWYgc2VsZi5yZXN0eXBlID09IERNSVhNTF9OT0RFOgorLSAgICAgICAgICAg IHJldCA9IGxpYnhtbDIueG1sTm9kZSggX29iaiA9IHhtbGFwaShxdWVyeV90eXBlPSdzJywKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJlc3VsdF90eXBlPXNlbGYucmVzdHlwZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb249c2VjdG5hbWUpICkKKy0gICAg ICAgIGVsaWYgc2VsZi5yZXN0eXBlID09IERNSVhNTF9ET0M6CistICAgICAgICAgICAgcmV0ID0g bGlieG1sMi54bWxEb2MoIF9vYmogPSB4bWxhcGkocXVlcnlfdHlwZT0ncycsCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdF90 eXBlPXNlbGYucmVzdHlwZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbj1zZWN0bmFtZSkgKQorLSAgICAgICAgZWxzZToK Ky0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIkludmFsaWQgcmVzdWx0IHR5cGUgdmFsdWUi KQorKyAgICAgICAgdHJ5OgorKyAgICAgICAgICAgIHF1ZXJ5X2FyZ3MgPSB7CisrICAgICAgICAg ICAgICAgICdxdWVyeV90eXBlJzogJ3MnLAorKyAgICAgICAgICAgICAgICAncmVzdWx0X3R5cGUn OiAnbicgaWYgc2VsZi5yZXN0eXBlID09IERNSVhNTF9OT0RFIGVsc2UgJ2QnLAorKyAgICAgICAg ICAgICAgICAnc2VjdGlvbic6IHNlY3RuYW1lCisrICAgICAgICAgICAgfQorKworKyAgICAgICAg ICAgIHhtbF9zdHJpbmcgPSB4bWxhcGkoKipxdWVyeV9hcmdzKQorIAorLSAgICAgICAgcmV0dXJu IHJldAorKyAgICAgICAgICAgIGlmIG5vdCB4bWxfc3RyaW5nIG9yIG5vdCBpc2luc3RhbmNlKHht bF9zdHJpbmcsIHN0cik6CisrICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiQyBt b2R1bGUgZGlkIG5vdCByZXR1cm4gYSB2YWxpZCBYTUwgc3RyaW5nIikKKyAKKysgICAgICAgICAg ICBpZiBzZWxmLnJlc3R5cGUgPT0gRE1JWE1MX05PREU6CisrICAgICAgICAgICAgICAgIHJldHVy biBldHJlZS5mcm9tc3RyaW5nKHhtbF9zdHJpbmcpCisrICAgICAgICAgICAgZWxpZiBzZWxmLnJl c3R5cGUgPT0gRE1JWE1MX0RPQzoKKysgICAgICAgICAgICAgICAgcmV0dXJuIGV0cmVlLkVsZW1l bnRUcmVlKGV0cmVlLmZyb21zdHJpbmcoeG1sX3N0cmluZykpCisrICAgICAgICAgICAgZWxzZToK KysgICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJJbnZhbGlkIHJlc3VsdCB0eXBlIHZh bHVlIikKKysKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKysgICAgICAgICAgICBy YWlzZSBSdW50aW1lRXJyb3IoZiJGYWlsZWQgdG8gcXVlcnkgc2VjdGlvbiAne3NlY3RuYW1lfSc6 IHtzdHIoZSl9IikKKyAKKyAgICAgZGVmIFF1ZXJ5VHlwZUlkKHNlbGYsIHRwaWQpOgorLSAgICAg ICAgIiIiCistICAgICAgICBRdWVyaWVzIHRoZSBETUkgZGF0YSBzdHJ1Y3R1cmUgZm9yIGEgc3Bl Y2lmaWMgRE1JIHR5cGUuCistICAgICAgICAiIiIKKy0gICAgICAgIGlmIHNlbGYucmVzdHlwZSA9 PSBETUlYTUxfTk9ERToKKy0gICAgICAgICAgICByZXQgPSBsaWJ4bWwyLnhtbE5vZGUoIF9vYmog PSB4bWxhcGkocXVlcnlfdHlwZT0ndCcsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRfdHlwZT1zZWxmLnJlc3R5cGUsCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB0eXBlaWQ9dHBpZCkpCistICAgICAgICBlbGlmIHNlbGYucmVzdHlwZSA9PSBETUlYTUxfRE9D OgorLSAgICAgICAgICAgIHJldCA9IGxpYnhtbDIueG1sRG9jKCBfb2JqID0geG1sYXBpKHF1ZXJ5 X3R5cGU9J3QnLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICByZXN1bHRfdHlwZT1zZWxmLnJlc3R5cGUsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVpZD10cGlkKSkK Ky0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJJbnZhbGlkIHJl c3VsdCB0eXBlIHZhbHVlIikKKysgICAgICAgIHRyeToKKysgICAgICAgICAgICB0cGlkID0gaW50 KHRwaWQpCisrICAgICAgICAgICAgcXVlcnlfYXJncyA9IHsKKysgICAgICAgICAgICAgICAgJ3F1 ZXJ5X3R5cGUnOiAndCcsCisrICAgICAgICAgICAgICAgICdyZXN1bHRfdHlwZSc6ICduJyBpZiBz ZWxmLnJlc3R5cGUgPT0gRE1JWE1MX05PREUgZWxzZSAnZCcsCisrICAgICAgICAgICAgICAgICd0 eXBlaWQnOiB0cGlkCisrICAgICAgICAgICAgfQorKworKyAgICAgICAgICAgIHhtbF9zdHJpbmcg PSB4bWxhcGkoKipxdWVyeV9hcmdzKQorKworKyAgICAgICAgICAgIGlmIG5vdCB4bWxfc3RyaW5n IG9yIG5vdCBpc2luc3RhbmNlKHhtbF9zdHJpbmcsIHN0cik6CisrICAgICAgICAgICAgICAgIHJh aXNlIFJ1bnRpbWVFcnJvcigiQyBtb2R1bGUgZGlkIG5vdCByZXR1cm4gYSB2YWxpZCBYTUwgc3Ry aW5nIikKKysKKysgICAgICAgICAgICBpZiBzZWxmLnJlc3R5cGUgPT0gRE1JWE1MX05PREU6Cisr ICAgICAgICAgICAgICAgIHJldHVybiBldHJlZS5mcm9tc3RyaW5nKHhtbF9zdHJpbmcpCisrICAg ICAgICAgICAgZWxpZiBzZWxmLnJlc3R5cGUgPT0gRE1JWE1MX0RPQzoKKysgICAgICAgICAgICAg ICAgcmV0dXJuIGV0cmVlLkVsZW1lbnRUcmVlKGV0cmVlLmZyb21zdHJpbmcoeG1sX3N0cmluZykp CisrICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJJ bnZhbGlkIHJlc3VsdCB0eXBlIHZhbHVlIikKKysKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24g YXMgZToKKysgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoZiJGYWlsZWQgdG8gcXVlcnkg dHlwZSBJRCAne3RwaWR9Jzoge3N0cihlKX0iKQorKworKyMgQ29udmVuaWVuY2UgZnVuY3Rpb25z IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5CisrZGVmIHF1ZXJ5X3NlY3Rpb24oc2VjdG5hbWUs IHJlc3VsdF90eXBlPURNSVhNTF9OT0RFKToKKysgICAgIiIiCisrICAgIENvbnZlbmllbmNlIGZ1 bmN0aW9uIHRvIHF1ZXJ5IGEgc2VjdGlvbiBhbmQgcmV0dXJuIGx4bWwgb2JqZWN0CisrICAgICIi IgorKyAgICBkbWkgPSBkbWlkZWNvZGVYTUwoKQorKyAgICBkbWkuU2V0UmVzdWx0VHlwZShyZXN1 bHRfdHlwZSkKKysgICAgcmV0dXJuIGRtaS5RdWVyeVNlY3Rpb24oc2VjdG5hbWUpCisrCisrZGVm IHF1ZXJ5X3R5cGVfaWQodHBpZCwgcmVzdWx0X3R5cGU9RE1JWE1MX05PREUpOgorKyAgICAiIiIK KysgICAgQ29udmVuaWVuY2UgZnVuY3Rpb24gdG8gcXVlcnkgYSB0eXBlIElEIGFuZCByZXR1cm4g bHhtbCBvYmplY3QKKysgICAgIiIiCisrICAgIGRtaSA9IGRtaWRlY29kZVhNTCgpCisrICAgIGRt aS5TZXRSZXN1bHRUeXBlKHJlc3VsdF90eXBlKQorKyAgICByZXR1cm4gZG1pLlF1ZXJ5VHlwZUlk KHRwaWQpCisrCisrIyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGNsYXNzIGZvciBvbGRlciBBUEkK KytjbGFzcyBETUlEZWNvZGU6CisrICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKysgICAgICAgIHNl bGYuZG1pID0gZG1pZGVjb2RlWE1MKCkKKysKKysgICAgZGVmIGdldChzZWxmLCBzZWN0aW9uPU5v bmUsIHR5cGVfaWQ9Tm9uZSk6CisrICAgICAgICB0cnk6CisrICAgICAgICAgICAgaWYgc2VjdGlv biBpcyBub3QgTm9uZToKKysgICAgICAgICAgICAgICAgc2VjdGlvbiA9IHN0cihzZWN0aW9uKQor KyAgICAgICAgICAgICAgICB4bWxfZGF0YSA9IHNlbGYuZG1pLlF1ZXJ5U2VjdGlvbihzZWN0aW9u KQorKyAgICAgICAgICAgIGVsaWYgdHlwZV9pZCBpcyBub3QgTm9uZToKKysgICAgICAgICAgICAg ICAgaWYgaXNpbnN0YW5jZSh0eXBlX2lkLCBkaWN0KToKKysgICAgICAgICAgICAgICAgICAgIHRy eToKKysgICAgICAgICAgICAgICAgICAgICAgICB0eXBlX2lkID0gaW50KGxpc3QodHlwZV9pZC5r ZXlzKCkpWzBdLCAxNikKKysgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMg ZToKKysgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiSW52YWxpZCB0 eXBlX2lkIGRpY3QgZm9ybWF0OiB7dHlwZV9pZH0iKSBmcm9tIGUKKysgICAgICAgICAgICAgICAg ZWxzZToKKysgICAgICAgICAgICAgICAgICAgIHR5cGVfaWQgPSBpbnQodHlwZV9pZCkKKysgICAg ICAgICAgICAgICAgeG1sX2RhdGEgPSBzZWxmLmRtaS5RdWVyeVR5cGVJZCh0eXBlX2lkKQorKyAg ICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkVpdGhl ciBzZWN0aW9uIG9yIHR5cGVfaWQgbXVzdCBiZSBzcGVjaWZpZWQiKQorKworKyAgICAgICAgICAg IGlmIHhtbF9kYXRhIGlzIE5vbmU6CisrICAgICAgICAgICAgICAgIHJldHVybiB7fQorKworKyAg ICAgICAgICAgIHJldHVybiBzZWxmLl94bWxfdG9fZGljdCh4bWxfZGF0YSkKKysKKysgICAgICAg IGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKysgICAgICAgICAgICBpbXBvcnQgdHJhY2ViYWNrCisr ICAgICAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4YygpCisrICAgICAgICAgICAgcmV0dXJuIHt9 CisrCisrICAgIGRlZiBfeG1sX3RvX2RpY3Qoc2VsZiwgeG1sX2VsZW1lbnQpOgorKyAgICAgICAg cmVzdWx0ID0ge30KKysgICAgICAgIGlmIHhtbF9lbGVtZW50LmF0dHJpYjoKKysgICAgICAgICAg ICByZXN1bHQudXBkYXRlKHhtbF9lbGVtZW50LmF0dHJpYikKKysgICAgICAgIGlmIHhtbF9lbGVt ZW50LnRleHQgYW5kIHhtbF9lbGVtZW50LnRleHQuc3RyaXAoKToKKysgICAgICAgICAgICBpZiBs ZW4oeG1sX2VsZW1lbnQpID09IDA6CisrICAgICAgICAgICAgICAgIHJldHVybiB4bWxfZWxlbWVu dC50ZXh0LnN0cmlwKCkKKysgICAgICAgICAgICBlbHNlOgorKyAgICAgICAgICAgICAgICByZXN1 bHRbJ190ZXh0J10gPSB4bWxfZWxlbWVudC50ZXh0LnN0cmlwKCkKKysgICAgICAgIGZvciBjaGls ZCBpbiB4bWxfZWxlbWVudDoKKysgICAgICAgICAgICBjaGlsZF9kYXRhID0gc2VsZi5feG1sX3Rv X2RpY3QoY2hpbGQpCisrICAgICAgICAgICAgaWYgY2hpbGQudGFnIGluIHJlc3VsdDoKKysgICAg ICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UocmVzdWx0W2NoaWxkLnRhZ10sIGxpc3QpOgor KyAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2NoaWxkLnRhZ10gPSBbcmVzdWx0W2NoaWxkLnRh Z11dCisrICAgICAgICAgICAgICAgIHJlc3VsdFtjaGlsZC50YWddLmFwcGVuZChjaGlsZF9kYXRh KQorKyAgICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAgIHJlc3VsdFtjaGlsZC50YWdd ID0gY2hpbGRfZGF0YQorKyAgICAgICAgcmV0dXJuIHJlc3VsdAorKworKyAgICBkZWYgc3lzdGVt KHNlbGYpOgorKyAgICAgICAgIiIiR2V0IHN5c3RlbSBpbmZvcm1hdGlvbiIiIgorKyAgICAgICAg cmV0dXJuIHNlbGYuZ2V0KHNlY3Rpb249InN5c3RlbSIpCisrICAgIAorKyAgICBkZWYgYmlvcyhz ZWxmKToKKysgICAgICAgICIiIkdldCBCSU9TIGluZm9ybWF0aW9uIiIiCisrICAgICAgICByZXR1 cm4gc2VsZi5nZXQodHlwZV9pZD0wKQorKyAgICAKKysgICAgZGVmIGJhc2Vib2FyZChzZWxmKToK KysgICAgICAgICIiIkdldCBiYXNlYm9hcmQgaW5mb3JtYXRpb24iIiIKKysgICAgICAgIHJldHVy biBzZWxmLmdldCh0eXBlX2lkPTIpCisrICAgIAorKyAgICBkZWYgY2hhc3NpcyhzZWxmKToKKysg ICAgICAgICIiIkdldCBjaGFzc2lzIGluZm9ybWF0aW9uIiIiCisrICAgICAgICByZXR1cm4gc2Vs Zi5nZXQodHlwZV9pZD0zKQorKyAgICAKKysgICAgZGVmIHByb2Nlc3NvcihzZWxmKToKKysgICAg ICAgICIiIkdldCBwcm9jZXNzb3IgaW5mb3JtYXRpb24iIiIKKysgICAgICAgIHJldHVybiBzZWxm LmdldCh0eXBlX2lkPTQpCisrICAgIAorKyAgICBkZWYgbWVtb3J5KHNlbGYpOgorKyAgICAgICAg IiIiR2V0IG1lbW9yeSBpbmZvcm1hdGlvbiIiIgorKyAgICAgICAgcmV0dXJuIHNlbGYuZ2V0KHNl Y3Rpb249Im1lbW9yeSIpCisrICAgIAorKyAgICBkZWYgbW9kZWwoc2VsZik6CisrICAgICAgICAi IiJHZXQgc3lzdGVtIG1vZGVsIGluZm9ybWF0aW9uIiIiCisrICAgICAgICB0cnk6CisrICAgICAg ICAgICAgc3lzdGVtX2luZm8gPSBzZWxmLmdldChzZWN0aW9uPSJzeXN0ZW0iKQorKyAgICAgICAg ICAgIGlmIHN5c3RlbV9pbmZvIGFuZCBpc2luc3RhbmNlKHN5c3RlbV9pbmZvLCBkaWN0KToKKysg ICAgICAgICAgICAgICAgIyBUcnkgdG8gZmluZCBtb2RlbC9wcm9kdWN0IG5hbWUgaW4gdGhlIHN5 c3RlbSBpbmZvCisrICAgICAgICAgICAgICAgICMgTG9vayBmb3IgY29tbW9uIGtleXMgdGhhdCBt aWdodCBjb250YWluIG1vZGVsIGluZm8KKysgICAgICAgICAgICAgICAgZm9yIGtleSBpbiBbJ3By b2R1Y3QnLCAnbW9kZWwnLCAncHJvZHVjdF9uYW1lJywgJ3N5c3RlbV9wcm9kdWN0X25hbWUnXToK KysgICAgICAgICAgICAgICAgICAgIGlmIGtleSBpbiBzeXN0ZW1faW5mbzoKKysgICAgICAgICAg ICAgICAgICAgICAgICByZXR1cm4gc3lzdGVtX2luZm9ba2V5XQorKyAgICAgICAgICAgICAgICAK KysgICAgICAgICAgICAgICAgIyBJZiBpdCdzIG5lc3RlZCwgdHJ5IHRvIGZpbmQgaXQgaW4gbmVz dGVkIHN0cnVjdHVyZXMKKysgICAgICAgICAgICAgICAgZm9yIHZhbHVlIGluIHN5c3RlbV9pbmZv LnZhbHVlcygpOgorKyAgICAgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgZGlj dCk6CisrICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHN1YmtleSBpbiBbJ3Byb2R1Y3QnLCAn bW9kZWwnLCAncHJvZHVjdF9uYW1lJ106CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm IHN1YmtleSBpbiB2YWx1ZToKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy biB2YWx1ZVtzdWJrZXldCisrICAgICAgICAgICAgCisrICAgICAgICAgICAgcmV0dXJuICJVbmtu b3duIgorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgICAgIHByaW50 KGYiRXJyb3IgZ2V0dGluZyBtb2RlbCBpbmZvOiB7ZX0iKQorKyAgICAgICAgICAgIHJldHVybiAi VW5rbm93biIKKysgICAgCisrICAgIGRlZiBtYW51ZmFjdHVyZXIoc2VsZik6CisrICAgICAgICAi IiJHZXQgc3lzdGVtIG1hbnVmYWN0dXJlciIiIgorKyAgICAgICAgdHJ5OgorKyAgICAgICAgICAg IHN5c3RlbV9pbmZvID0gc2VsZi5nZXQoc2VjdGlvbj0ic3lzdGVtIikKKysgICAgICAgICAgICBp ZiBzeXN0ZW1faW5mbyBhbmQgaXNpbnN0YW5jZShzeXN0ZW1faW5mbywgZGljdCk6CisrICAgICAg ICAgICAgICAgIGZvciBrZXkgaW4gWydtYW51ZmFjdHVyZXInLCAndmVuZG9yJywgJ3N5c3RlbV9t YW51ZmFjdHVyZXInXToKKysgICAgICAgICAgICAgICAgICAgIGlmIGtleSBpbiBzeXN0ZW1faW5m bzoKKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3lzdGVtX2luZm9ba2V5XQorKyAg ICAgICAgICAgICAgICAKKysgICAgICAgICAgICAgICAgIyBDaGVjayBuZXN0ZWQgc3RydWN0dXJl cworKyAgICAgICAgICAgICAgICBmb3IgdmFsdWUgaW4gc3lzdGVtX2luZm8udmFsdWVzKCk6Cisr ICAgICAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBkaWN0KToKKysgICAgICAg ICAgICAgICAgICAgICAgICBmb3Igc3Via2V5IGluIFsnbWFudWZhY3R1cmVyJywgJ3ZlbmRvcidd OgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBzdWJrZXkgaW4gdmFsdWU6CisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVbc3Via2V5XQorKyAgICAg ICAgICAgIAorKyAgICAgICAgICAgIHJldHVybiAiVW5rbm93biIKKysgICAgICAgIGV4Y2VwdCBF eGNlcHRpb24gYXMgZToKKysgICAgICAgICAgICBwcmludChmIkVycm9yIGdldHRpbmcgbWFudWZh Y3R1cmVyIGluZm86IHtlfSIpCisrICAgICAgICAgICAgcmV0dXJuICJVbmtub3duIgorKyAgICAK KysgICAgZGVmIHZlcnNpb24oc2VsZik6CisrICAgICAgICAiIiJHZXQgc3lzdGVtIHZlcnNpb24i IiIKKysgICAgICAgIHRyeToKKysgICAgICAgICAgICBzeXN0ZW1faW5mbyA9IHNlbGYuZ2V0KHNl Y3Rpb249InN5c3RlbSIpCisrICAgICAgICAgICAgaWYgc3lzdGVtX2luZm8gYW5kIGlzaW5zdGFu Y2Uoc3lzdGVtX2luZm8sIGRpY3QpOgorKyAgICAgICAgICAgICAgICBmb3Iga2V5IGluIFsndmVy c2lvbicsICdzeXN0ZW1fdmVyc2lvbiddOgorKyAgICAgICAgICAgICAgICAgICAgaWYga2V5IGlu IHN5c3RlbV9pbmZvOgorKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzeXN0ZW1faW5m b1trZXldCisrICAgICAgICAgICAgICAgIAorKyAgICAgICAgICAgICAgICAjIENoZWNrIG5lc3Rl ZCBzdHJ1Y3R1cmVzCisrICAgICAgICAgICAgICAgIGZvciB2YWx1ZSBpbiBzeXN0ZW1faW5mby52 YWx1ZXMoKToKKysgICAgICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIGRpY3Qp OgorKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICd2ZXJzaW9uJyBpbiB2YWx1ZToKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlWyd2ZXJzaW9uJ10KKysgICAgICAg ICAgICAKKysgICAgICAgICAgICByZXR1cm4gIlVua25vd24iCisrICAgICAgICBleGNlcHQgRXhj ZXB0aW9uIGFzIGU6CisrICAgICAgICAgICAgcHJpbnQoZiJFcnJvciBnZXR0aW5nIHZlcnNpb24g aW5mbzoge2V9IikKKysgICAgICAgICAgICByZXR1cm4gIlVua25vd24iCisrICAgIAorKyAgICBk ZWYgc2VyaWFsKHNlbGYpOgorKyAgICAgICAgIiIiR2V0IHN5c3RlbSBzZXJpYWwgbnVtYmVyIiIi CisrICAgICAgICB0cnk6CisrICAgICAgICAgICAgc3lzdGVtX2luZm8gPSBzZWxmLmdldChzZWN0 aW9uPSJzeXN0ZW0iKQorKyAgICAgICAgICAgIGlmIHN5c3RlbV9pbmZvIGFuZCBpc2luc3RhbmNl KHN5c3RlbV9pbmZvLCBkaWN0KToKKysgICAgICAgICAgICAgICAgZm9yIGtleSBpbiBbJ3Nlcmlh bCcsICdzZXJpYWxfbnVtYmVyJywgJ3N5c3RlbV9zZXJpYWwnXToKKysgICAgICAgICAgICAgICAg ICAgIGlmIGtleSBpbiBzeXN0ZW1faW5mbzoKKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1 cm4gc3lzdGVtX2luZm9ba2V5XQorKyAgICAgICAgICAgICAgICAKKysgICAgICAgICAgICAgICAg IyBDaGVjayBuZXN0ZWQgc3RydWN0dXJlcworKyAgICAgICAgICAgICAgICBmb3IgdmFsdWUgaW4g c3lzdGVtX2luZm8udmFsdWVzKCk6CisrICAgICAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNl KHZhbHVlLCBkaWN0KToKKysgICAgICAgICAgICAgICAgICAgICAgICBmb3Igc3Via2V5IGluIFsn c2VyaWFsJywgJ3NlcmlhbF9udW1iZXInXToKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg aWYgc3Via2V5IGluIHZhbHVlOgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0 dXJuIHZhbHVlW3N1YmtleV0KKysgICAgICAgICAgICAKKysgICAgICAgICAgICByZXR1cm4gIlVu a25vd24iCisrICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisrICAgICAgICAgICAgcHJp bnQoZiJFcnJvciBnZXR0aW5nIHNlcmlhbCBpbmZvOiB7ZX0iKQorKyAgICAgICAgICAgIHJldHVy biAiVW5rbm93biIKKysgICAgCisrICAgIGRlZiBjcHVfdHlwZShzZWxmKToKKysgICAgICAgICIi IkdldCBDUFUgdHlwZS9tb2RlbCBpbmZvcm1hdGlvbiIiIgorKyAgICAgICAgdHJ5OgorKyAgICAg ICAgICAgICMgVHJ5IHByb2Nlc3NvciBzZWN0aW9uIGZpcnN0CisrICAgICAgICAgICAgcHJvY19p bmZvID0gc2VsZi5nZXQodHlwZV9pZD00KSAgIyBUeXBlIDQgaXMgcHJvY2Vzc29yCisrICAgICAg ICAgICAgaWYgcHJvY19pbmZvIGFuZCBpc2luc3RhbmNlKHByb2NfaW5mbywgZGljdCk6CisrICAg ICAgICAgICAgICAgICMgTG9vayBmb3IgQ1BVIG1vZGVsL3R5cGUgaW5mbworKyAgICAgICAgICAg ICAgICBmb3Iga2V5IGluIFsndmVyc2lvbicsICdtb2RlbCcsICduYW1lJywgJ3Byb2Nlc3Nvcl92 ZXJzaW9uJywgJ3Byb2Nlc3Nvcl9uYW1lJ106CisrICAgICAgICAgICAgICAgICAgICBpZiBrZXkg aW4gcHJvY19pbmZvOgorKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcm9jX2luZm9b a2V5XQorKyAgICAgICAgICAgICAgICAKKysgICAgICAgICAgICAgICAgIyBDaGVjayBuZXN0ZWQg c3RydWN0dXJlcworKyAgICAgICAgICAgICAgICBmb3IgdmFsdWUgaW4gcHJvY19pbmZvLnZhbHVl cygpOgorKyAgICAgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgZGljdCk6Cisr ICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHN1YmtleSBpbiBbJ3ZlcnNpb24nLCAnbW9kZWwn LCAnbmFtZSddOgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBzdWJrZXkgaW4gdmFs dWU6CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVbc3Via2V5 XQorKyAgICAgICAgICAgIAorKyAgICAgICAgICAgICMgSWYgdGhhdCBmYWlscywgdHJ5IGEgZGlm ZmVyZW50IGFwcHJvYWNoCisrICAgICAgICAgICAgcmV0dXJuICJVbmtub3duIgorKyAgICAgICAg ZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgICAgIHByaW50KGYiRXJyb3IgZ2V0dGlu ZyBDUFUgdHlwZToge2V9IikKKysgICAgICAgICAgICByZXR1cm4gIlVua25vd24iCisrICAgIAor KyAgICBkZWYgY3B1KHNlbGYpOgorKyAgICAgICAgIiIiQWxpYXMgZm9yIGNwdV90eXBlKCkgZm9y IGNvbXBhdGliaWxpdHkiIiIKKysgICAgICAgIHJldHVybiBzZWxmLmNwdV90eXBlKCkKKyAKKy0g ICAgICAgIHJldHVybiByZXQKKysjIEV4YW1wbGUgdXNhZ2UgZnVuY3Rpb25zCisrZGVmIGdldF9z eXN0ZW1faW5mbygpOgorKyAgICAiIiIKKysgICAgR2V0IHN5c3RlbSBpbmZvcm1hdGlvbiBhcyBh IGNvbnZlbmllbnQgZGljdGlvbmFyeQorKyAgICAiIiIKKysgICAgdHJ5OgorKyAgICAgICAgcm9v dCA9IHF1ZXJ5X3NlY3Rpb24oInN5c3RlbSIpCisrICAgICAgICBpZiByb290IGlzIE5vbmU6Cisr ICAgICAgICAgICAgcmV0dXJuIE5vbmUKKysgICAgICAgIAorKyAgICAgICAgc3lzdGVtX2luZm8g PSB7fQorKyAgICAgICAgCisrICAgICAgICAjIEV4dHJhY3QgY29tbW9uIHN5c3RlbSBpbmZvcm1h dGlvbgorKyAgICAgICAgZm9yIGVsZW0gaW4gcm9vdC5pdGVyKCk6CisrICAgICAgICAgICAgaWYg ZWxlbS50YWcgPT0gIm1hbnVmYWN0dXJlciI6CisrICAgICAgICAgICAgICAgIHN5c3RlbV9pbmZv WyJtYW51ZmFjdHVyZXIiXSA9IGVsZW0udGV4dAorKyAgICAgICAgICAgIGVsaWYgZWxlbS50YWcg PT0gInByb2R1Y3QiOgorKyAgICAgICAgICAgICAgICBzeXN0ZW1faW5mb1sicHJvZHVjdCJdID0g ZWxlbS50ZXh0CisrICAgICAgICAgICAgZWxpZiBlbGVtLnRhZyA9PSAidmVyc2lvbiI6CisrICAg ICAgICAgICAgICAgIHN5c3RlbV9pbmZvWyJ2ZXJzaW9uIl0gPSBlbGVtLnRleHQKKysgICAgICAg ICAgICBlbGlmIGVsZW0udGFnID09ICJzZXJpYWwiOgorKyAgICAgICAgICAgICAgICBzeXN0ZW1f aW5mb1sic2VyaWFsIl0gPSBlbGVtLnRleHQKKysgICAgICAgICAgICBlbGlmIGVsZW0udGFnID09 ICJ1dWlkIjoKKysgICAgICAgICAgICAgICAgc3lzdGVtX2luZm9bInV1aWQiXSA9IGVsZW0udGV4 dAorKyAgICAgICAgICAgIGVsaWYgZWxlbS50YWcgPT0gImZhbWlseSI6CisrICAgICAgICAgICAg ICAgIHN5c3RlbV9pbmZvWyJmYW1pbHkiXSA9IGVsZW0udGV4dAorKyAgICAgICAgCisrICAgICAg ICByZXR1cm4gc3lzdGVtX2luZm8KKysgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAg ICAgcHJpbnQoZiJFcnJvciBnZXR0aW5nIHN5c3RlbSBpbmZvOiB7ZX0iKQorKyAgICAgICAgcmV0 dXJuIE5vbmUKKyAKKytkZWYgZ2V0X21lbW9yeV9pbmZvKCk6CisrICAgICIiIgorKyAgICBHZXQg bWVtb3J5IGluZm9ybWF0aW9uIGFzIGEgbGlzdCBvZiBtZW1vcnkgbW9kdWxlcworKyAgICAiIiIK KysgICAgdHJ5OgorKyAgICAgICAgcm9vdCA9IHF1ZXJ5X3NlY3Rpb24oIm1lbW9yeSIpCisrICAg ICAgICBpZiByb290IGlzIE5vbmU6CisrICAgICAgICAgICAgcmV0dXJuIE5vbmUKKysgICAgICAg IAorKyAgICAgICAgbWVtb3J5X21vZHVsZXMgPSBbXQorKyAgICAgICAgCisrICAgICAgICAjIFRo aXMgaXMgYSBzaW1wbGlmaWVkIGV4YW1wbGUgLSB5b3UnZCBuZWVkIHRvIGFkanVzdCBiYXNlZCBv biBhY3R1YWwgWE1MIHN0cnVjdHVyZQorKyAgICAgICAgZm9yIGRldmljZSBpbiByb290LmZpbmRh bGwoIi4vL21lbW9yeV9kZXZpY2UiKToKKysgICAgICAgICAgICBtb2R1bGUgPSB7fQorKyAgICAg ICAgICAgIGZvciBjaGlsZCBpbiBkZXZpY2U6CisrICAgICAgICAgICAgICAgIG1vZHVsZVtjaGls ZC50YWddID0gY2hpbGQudGV4dAorKyAgICAgICAgICAgIG1lbW9yeV9tb2R1bGVzLmFwcGVuZCht b2R1bGUpCisrICAgICAgICAKKysgICAgICAgIHJldHVybiBtZW1vcnlfbW9kdWxlcworKyAgICBl eGNlcHQgRXhjZXB0aW9uIGFzIGU6CisrICAgICAgICBwcmludChmIkVycm9yIGdldHRpbmcgbWVt b3J5IGluZm86IHtlfSIpCisrICAgICAgICByZXR1cm4gTm9uZQorCitkaWZmIC0tZ2l0IGEvc3Jj L2RtaWRlY29kZW1vZHVsZS5jIGIvc3JjL2RtaWRlY29kZW1vZHVsZS5jCitpbmRleCBlZmE3MzBi Li4yYjNmNjdmIDEwMDY0NAorLS0tIGEvc3JjL2RtaWRlY29kZW1vZHVsZS5jCisrKysgYi9zcmMv ZG1pZGVjb2RlbW9kdWxlLmMKK0BAIC00Miw4ICs0Miw2IEBACisgI2luY2x1ZGUgPFB5dGhvbi5o PgorIAorICNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorLSNpbmNsdWRlICJsaWJ4bWxfd3JhcC5o IgorLQorICNpbmNsdWRlICJkbWlkZWNvZGVtb2R1bGUuaCIKKyAjaW5jbHVkZSAiZG1peG1sLmgi CisgI2luY2x1ZGUgImRtaWVycm9yLmgiCitAQCAtNDMxLDYgKzQyOSw3IEBAIHhtbE5vZGUgKl9f ZG1pZGVjb2RlX3htbF9nZXRzZWN0aW9uKG9wdGlvbnMgKm9wdCwgY29uc3QgY2hhciAqc2VjdGlv bikgeworIAorICAgICAgICAgZG1peG1sX24gPSB4bWxOZXdOb2RlKE5VTEwsICh4bWxDaGFyICop ICJkbWlkZWNvZGUiKTsKKyAgICAgICAgIGFzc2VydCggZG1peG1sX24gIT0gTlVMTCApOworKwor ICAgICAgICAgLy8gQXBwZW5kIERNSSB2ZXJzaW9uIGluZm8KKyAgICAgICAgIGlmKCBvcHQtPmRt aXZlcnNpb25fbiAhPSBOVUxMICkgeworICAgICAgICAgICAgICAgICB4bWxBZGRDaGlsZChkbWl4 bWxfbiwgeG1sQ29weU5vZGUob3B0LT5kbWl2ZXJzaW9uX24sIDEpKTsKK0BAIC00MzksNyArNDM4 LDYgQEAgeG1sTm9kZSAqX19kbWlkZWNvZGVfeG1sX2dldHNlY3Rpb24ob3B0aW9ucyAqb3B0LCBj b25zdCBjaGFyICpzZWN0aW9uKSB7CisgICAgICAgICAvLyBGZXRjaCB0aGUgTWFwcGluZyBYTUwg ZmlsZQorICAgICAgICAgaWYoIChncm91cF9uID0gbG9hZF9tYXBwaW5neG1sKG9wdCkpID09IE5V TEwpIHsKKyAgICAgICAgICAgICAgICAgeG1sRnJlZU5vZGUoZG1peG1sX24pOworLSAgICAgICAg ICAgICAgICAvLyBFeGNlcHRpb24gYWxyZWFkeSBzZXQgYnkgY2FsbGluZyBmdW5jdGlvbgorICAg ICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgIH0KKyAKK0BAIC00NjgsMzYgKzQ2 NiwzNSBAQCB4bWxOb2RlICpfX2RtaWRlY29kZV94bWxfZ2V0c2VjdGlvbihvcHRpb25zICpvcHQs IGNvbnN0IGNoYXIgKnNlY3Rpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51 ZTsKKyAgICAgICAgICAgICAgICAgfQorIAorLSAgICAgICAgICAgICAgICAvLyBUaGUgY2hpbGRy ZW4gb2YgPE1hcHBpbmc+IHRhZ3MgbXVzdCBvbmx5IGJlIDxUeXBlTWFwPiBhbmQKKy0gICAgICAg ICAgICAgICAgLy8gdGhleSBtdXN0IGhhdmUgYW4gJ2lkJyBhdHRyaWJ1dGUKKyAgICAgICAgICAg ICAgICAgaWYoICh0eXBlaWQgPT0gTlVMTCkgfHwgKHhtbFN0cmNtcChncm91cF9uLT5uYW1lLCAo eG1sQ2hhciAqKSAiVHlwZU1hcCIpICE9IDApICkgeworICAgICAgICAgICAgICAgICAgICAgICAg IFB5UmV0dXJuRXJyb3IoUHlFeGNfUnVudGltZUVycm9yLCAiSW52YWxpZCBUeXBlTWFwIG5vZGUg aW4gbWFwcGluZyBYTUwiKTsKKyAgICAgICAgICAgICAgICAgfQorIAorLSAgICAgICAgICAgICAg ICAvLyBQYXJzZSB0aGUgdHlwZWlkIHN0cmluZyB0byBhIGFuIGludGVnZXIKKyAgICAgICAgICAg ICAgICAgb3B0LT50eXBlID0gcGFyc2Vfb3B0X3R5cGUob3B0LT5sb2dkYXRhLCB0eXBlaWQpOwor ICAgICAgICAgICAgICAgICBpZihvcHQtPnR5cGUgPT0gLTEpIHsKKyAgICAgICAgICAgICAgICAg ICAgICAgICBjaGFyICplcnIgPSBsb2dfcmV0cmlldmUob3B0LT5sb2dkYXRhLCBMT0dfRVJSKTsK KyAgICAgICAgICAgICAgICAgICAgICAgICBsb2dfY2xlYXJfcGFydGlhbChvcHQtPmxvZ2RhdGEs IExPR19FUlIsIDApOworLSAgICAgICAgICAgICAgICAgICAgICAgIF9weVJldHVybkVycm9yKFB5 RXhjX1J1bnRpbWVFcnJvciwgIkludmFsaWQgdHlwZSBpZCAnJXMnIC0tICVzIiwgdHlwZWlkLCBl cnIpOworKyAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19SdW50aW1l RXJyb3IsICJJbnZhbGlkIHR5cGUgaWQgJyVzJyAtLSAlcyIsIHR5cGVpZCwgZXJyKTsKKyAgICAg ICAgICAgICAgICAgICAgICAgICBmcmVlKGVycik7CisgICAgICAgICAgICAgICAgICAgICAgICAg cmV0dXJuIE5VTEw7CisgICAgICAgICAgICAgICAgIH0KKyAKKy0gICAgICAgICAgICAgICAgLy8g UGFyc2UgdGhlIERNSSBkYXRhIGFuZCBwdXQgdGhlIHJlc3VsdCBpbnRvIGRtaXhtbF9uIG5vZGUg Y2hhaW4uCisgICAgICAgICAgICAgICAgIGlmKCBkbWlkZWNvZGVfZ2V0X3htbChvcHQsIGRtaXht bF9uKSAhPSAwICkgeworLSAgICAgICAgICAgICAgICAgICAgICAgIFB5UmV0dXJuRXJyb3IoUHlF eGNfUnVudGltZUVycm9yLCAiRXJyb3IgZGVjb2RpbmcgRE1JIGRhdGEiKTsKKysgICAgICAgICAg ICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgICAgICAgfQorICAgICAgICAg fQorKworICNpZiAwICAvLyBERUJVRyAtIHdpbGwgZHVtcCBnZW5lcmF0ZWQgWE1MIHRvIHN0ZG91 dAorICAgICAgICAgeG1sRG9jICpkb2MgPSB4bWxOZXdEb2MoKHhtbENoYXIgKikgIjEuMCIpOwor ICAgICAgICAgeG1sRG9jU2V0Um9vdEVsZW1lbnQoZG9jLCB4bWxDb3B5Tm9kZShkbWl4bWxfbiwg MSkpOworICAgICAgICAgeG1sU2F2ZUZvcm1hdEZpbGVFbmMoIi0iLCBkb2MsICJVVEYtOCIsIDEp OworICAgICAgICAgeG1sRnJlZURvYyhkb2MpOworICNlbmRpZgorKworICAgICAgICAgcmV0dXJu IGRtaXhtbF9uOworIH0KKyAKKysKKyBzdGF0aWMgUHlPYmplY3QgKmRtaWRlY29kZV9nZXRfZ3Jv dXAob3B0aW9ucyAqb3B0LCBjb25zdCBjaGFyICpzZWN0aW9uKQorIHsKKyAJaW50IGVmaTsKK0BA IC02OTIsNzMgKzY4OSwxMjcgQEAgc3RhdGljIFB5T2JqZWN0ICpkbWlkZWNvZGVfZ2V0X3R5cGUo UHlPYmplY3QgKiBzZWxmLCBQeU9iamVjdCAqIGFyZ3MpCisgCisgc3RhdGljIFB5T2JqZWN0ICpk bWlkZWNvZGVfeG1sYXBpKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3Qg KmtleXdkcykKKyB7CistICAgICAgICBzdGF0aWMgY2hhciAqa2V5d29yZGxpc3RbXSA9IHsicXVl cnlfdHlwZSIsICJyZXN1bHRfdHlwZSIsICJzZWN0aW9uIiwgInR5cGVpZCIsIE5VTEx9OworLSAg ICAgICAgUHlPYmplY3QgKnB5ZGF0YSA9IE5VTEw7CistICAgICAgICB4bWxEb2MgKmRtaXhtbF9k b2MgPSBOVUxMOworLSAgICAgICAgeG1sTm9kZSAqZG1peG1sX24gPSBOVUxMOworLSAgICAgICAg Y2hhciAqc2VjdF9xdWVyeSA9IE5VTEwsICpxdHlwZSA9IE5VTEwsICpydHlwZSA9IE5VTEw7Cist ICAgICAgICBpbnQgdHlwZV9xdWVyeSA9IC0xOworKyAgICBzdGF0aWMgY2hhciAqa2V5d29yZGxp c3RbXSA9IHsicXVlcnlfdHlwZSIsICJyZXN1bHRfdHlwZSIsICJzZWN0aW9uIiwgInR5cGVpZCIs IE5VTEx9OworKyAgICBQeU9iamVjdCAqcHlkYXRhID0gTlVMTDsKKysgICAgeG1sRG9jICpkbWl4 bWxfZG9jID0gTlVMTDsKKysgICAgeG1sTm9kZSAqZG1peG1sX24gPSBOVUxMOworKyAgICBjaGFy ICpzZWN0X3F1ZXJ5ID0gTlVMTCwgKnF0eXBlID0gTlVMTCwgKnJ0eXBlID0gTlVMTDsKKysgICAg aW50IHR5cGVfcXVlcnkgPSAtMTsKKysgICAgeG1sQnVmZmVyICpidWZmZXIgPSBOVUxMOworKyAg ICB4bWxDaGFyICp4bWxfc3RyaW5nID0gTlVMTDsKKysgICAgaW50IHhtbF9zaXplID0gMDsKKysK KysgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga2V5d2RzLCAic3N8 c2kiLCBrZXl3b3JkbGlzdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JnF0eXBlLCAmcnR5cGUsICZzZWN0X3F1ZXJ5LCAmdHlwZV9xdWVyeSkpCisrICAgICAgICByZXR1 cm4gTlVMTDsKKysKKysgICAgaWYgKCFxdHlwZSB8fCAhcnR5cGUpIHsKKysgICAgICAgIFB5RXJy X1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJxdWVyeV90eXBlIGFuZCByZXN1bHRfdHlwZSBj YW5ub3QgYmUgTlVMTCIpOworKyAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgIH0KKysKKysgICAg c3dpdGNoICgqcXR5cGUpIHsKKysgICAgICAgIGNhc2UgJ3MnOgorKyAgICAgICAgICAgIGlmICgh c2VjdF9xdWVyeSkgeworKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlw ZUVycm9yLCAic2VjdGlvbiBrZXl3b3JkIGNhbm5vdCBiZSBOVUxMIik7CisrICAgICAgICAgICAg ICAgIHJldHVybiBOVUxMOworKyAgICAgICAgICAgIH0KKysgICAgICAgICAgICBkbWl4bWxfbiA9 IF9fZG1pZGVjb2RlX3htbF9nZXRzZWN0aW9uKGdsb2JhbF9vcHRpb25zLCBzZWN0X3F1ZXJ5KTsK KysgICAgICAgICAgICBpZiAoIWRtaXhtbF9uKSB7CisrICAgICAgICAgICAgICAgIFB5RXJyX0Zv cm1hdChQeUV4Y19SdW50aW1lRXJyb3IsICJETUkgc2VjdGlvbiAnJXMnIHJldHVybmVkIE5VTEwg LSBwb3NzaWJseSB1bnN1cHBvcnRlZCBvciBiYWQgcGVybWlzc2lvbnMiLCBzZWN0X3F1ZXJ5KTsK KysgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgICAgICAgICAgfQorKyAgICAgICAg ICAgIGJyZWFrOworKyAgICAgICAgY2FzZSAndCc6CisrICAgICAgICAgICAgaWYgKHR5cGVfcXVl cnkgPCAwKSB7CisrICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJy b3IsICJ0eXBlaWQga2V5d29yZCBtdXN0IGJlIHNldCBhbmQgcG9zaXRpdmUgaW50ZWdlciIpOwor KyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgICAgICB9CisrICAgICAgICAg ICAgaWYgKHR5cGVfcXVlcnkgPiAyNTUpIHsKKysgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3Ry aW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJ0eXBlaWQgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDI1NSIp OworKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgICAgICB9CisrICAgICAg ICAgICAgZG1peG1sX24gPSBfX2RtaWRlY29kZV94bWxfZ2V0dHlwZWlkKGdsb2JhbF9vcHRpb25z LCB0eXBlX3F1ZXJ5KTsKKysgICAgICAgICAgICBpZiAoIWRtaXhtbF9uKSB7CisrICAgICAgICAg ICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19SdW50aW1lRXJyb3IsICJETUkgdHlwZSAnJWQnIHJl dHVybmVkIE5VTEwgLSBwb3NzaWJseSB1bnN1cHBvcnRlZCBvciBiYWQgcGVybWlzc2lvbnMiLCB0 eXBlX3F1ZXJ5KTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgICAgICAgICAg fQorKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgZGVmYXVsdDoKKysgICAgICAgICAgICBQ eUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiSW52YWxpZCBxdWVyeSB0eXBlICclYycgLSBt dXN0IGJlICdzJyBvciAndCciLCAqcXR5cGUpOworKyAgICAgICAgICAgIHJldHVybiBOVUxMOwor KyAgICB9CisrCisrICAgIGlmICghZG1peG1sX24pIC8vIGVrc3RyYSBrb250cm9sLCB6YXRlbiBo YXRhIHNldCBlZGlsZGkKKysgICAgICAgIHJldHVybiBOVUxMOworIAorLSAgICAgICAgLy8gUGFy c2UgdGhlIGtleXdvcmRzIC0gd2Ugb25seSBzdXBwb3J0IGtleXdvcmRzLCBhcyB0aGlzIGlzIGFu IGludGVybmFsIEFQSQorLSAgICAgICAgaWYoICFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMo YXJncywga2V5d2RzLCAic3N8c2kiLCBrZXl3b3JkbGlzdCwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZxdHlwZSwgJnJ0eXBlLCAmc2VjdF9xdWVyeSwgJnR5cGVf cXVlcnkpICkgeworKyAgICBzd2l0Y2ggKCpydHlwZSkgeworKyAgICAgICAgY2FzZSAnbic6IC8v IFhNTCBub2RlIHN0cmluZworKyAgICAgICAgICAgIGJ1ZmZlciA9IHhtbEJ1ZmZlckNyZWF0ZSgp OworKyAgICAgICAgICAgIGlmICghYnVmZmVyKSB7CisrICAgICAgICAgICAgICAgIHhtbEZyZWVO b2RlKGRtaXhtbF9uKTsKKysgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX01l bW9yeUVycm9yLCAiQ291bGQgbm90IGNyZWF0ZSBYTUwgYnVmZmVyIik7CisgICAgICAgICAgICAg ICAgIHJldHVybiBOVUxMOworLSAgICAgICAgfQorKyAgICAgICAgICAgIH0KKyAKKy0gICAgICAg IC8vIENoZWNrIGZvciBzZW5zaWJsZSBhcmd1bWVudHMgYW5kIHJldHJpZXZlIHRoZSB4bWxOb2Rl IHdpdGggRE1JIGRhdGEKKy0gICAgICAgIHN3aXRjaCggKnF0eXBlICkgeworLSAgICAgICAgY2Fz ZSAncyc6IC8vIFNlY3Rpb24gLyBHcm91cE5hbWUKKy0gICAgICAgICAgICAgICAgaWYoIHNlY3Rf cXVlcnkgPT0gTlVMTCApIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBQeVJldHVybkVycm9y KFB5RXhjX1R5cGVFcnJvciwgInNlY3Rpb24ga2V5d29yZCBjYW5ub3QgYmUgTlVMTCIpCistICAg ICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAgICAgZG1peG1sX24gPSBfX2RtaWRlY29kZV94 bWxfZ2V0c2VjdGlvbihnbG9iYWxfb3B0aW9ucywgc2VjdF9xdWVyeSk7CistICAgICAgICAgICAg ICAgIGJyZWFrOworLQorLSAgICAgICAgY2FzZSAndCc6IC8vIFR5cGVJRCAvIGRpcmVjdCBUeXBl TWFwCistICAgICAgICAgICAgICAgIGlmKCB0eXBlX3F1ZXJ5IDwgMCApIHsKKy0gICAgICAgICAg ICAgICAgICAgICAgICBQeVJldHVybkVycm9yKFB5RXhjX1R5cGVFcnJvciwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlaWQga2V5d29yZCBtdXN0IGJlIHNldCBh bmQgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIiKTsKKy0gICAgICAgICAgICAgICAgfSBlbHNl IGlmKCB0eXBlX3F1ZXJ5ID4gMjU1ICkgeworLSAgICAgICAgICAgICAgICAgICAgICAgIFB5UmV0 dXJuRXJyb3IoUHlFeGNfVmFsdWVFcnJvciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJ0eXBlaWQga2V5d29yZCBtdXN0IGJlIGFuIGludGVnZXIgYmV0d2VlbiAwIGFu ZCAyNTUiKTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgICAgICBkbWl4bWxfbiA9 IF9fZG1pZGVjb2RlX3htbF9nZXR0eXBlaWQoZ2xvYmFsX29wdGlvbnMsIHR5cGVfcXVlcnkpOwor LSAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICBpZiAoeG1sTm9kZUR1bXAoYnVm ZmVyLCBkbWl4bWxfbi0+ZG9jLCBkbWl4bWxfbiwgMCwgMSkgPCAwKSB7CisrICAgICAgICAgICAg ICAgIHhtbEJ1ZmZlckZyZWUoYnVmZmVyKTsKKysgICAgICAgICAgICAgICAgeG1sRnJlZU5vZGUo ZG1peG1sX24pOworKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGlt ZUVycm9yLCAiQ291bGQgbm90IGR1bXAgWE1MIG5vZGUgdG8gYnVmZmVyIik7CisrICAgICAgICAg ICAgICAgIHJldHVybiBOVUxMOworKyAgICAgICAgICAgIH0KKyAKKy0gICAgICAgIGRlZmF1bHQ6 CistICAgICAgICAgICAgICAgIFB5UmV0dXJuRXJyb3IoUHlFeGNfVHlwZUVycm9yLCAiSW50ZXJu YWwgZXJyb3IgLSBpbnZhbGlkIHF1ZXJ5IHR5cGUgJyVjJyIsICpxdHlwZSk7CistICAgICAgICB9 CisrICAgICAgICAgICAgcHlkYXRhID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoKGNvbnN0IGNoYXIg Kil4bWxCdWZmZXJDb250ZW50KGJ1ZmZlcikpOworKyAgICAgICAgICAgIHhtbEJ1ZmZlckZyZWUo YnVmZmVyKTsKKysgICAgICAgICAgICB4bWxGcmVlTm9kZShkbWl4bWxfbik7CisrICAgICAgICAg ICAgYnJlYWs7CisgCistICAgICAgICAvLyBDaGVjayBpZiB3ZSBnb3QgYW55IGRhdGEKKy0gICAg ICAgIGlmKCBkbWl4bWxfbiA9PSBOVUxMICkgeworLSAgICAgICAgICAgICAgICAvLyBFeGNlcHRp b24gYWxyZWFkeSBzZXQKKysgICAgICAgIGNhc2UgJ2QnOiAvLyBGdWxsIFhNTCBkb2N1bWVudCBz dHJpbmcKKysgICAgICAgICAgICBkbWl4bWxfZG9jID0geG1sTmV3RG9jKCh4bWxDaGFyICopIjEu MCIpOworKyAgICAgICAgICAgIGlmICghZG1peG1sX2RvYykgeworKyAgICAgICAgICAgICAgICB4 bWxGcmVlTm9kZShkbWl4bWxfbik7CisrICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQ eUV4Y19NZW1vcnlFcnJvciwgIkNvdWxkIG5vdCBjcmVhdGUgbmV3IFhNTCBkb2N1bWVudCIpOwor ICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKy0gICAgICAgIH0KKysgICAgICAgICAgICB9 CisgCistICAgICAgICAvLyBDaGVjayBmb3Igc2Vuc2libGUgcmV0dXJuIHR5cGUgYW5kIHdyYXAg dGhlIGNvcnJlY3QgdHlwZSBpbnRvIGEgUHl0aG9uIE9iamVjdAorLSAgICAgICAgc3dpdGNoKCAq cnR5cGUgKSB7CistICAgICAgICBjYXNlICduJzoKKy0gICAgICAgICAgICAgICAgcHlkYXRhID0g bGlieG1sX3htbE5vZGVQdHJXcmFwKCh4bWxOb2RlICopIGRtaXhtbF9uKTsKKy0gICAgICAgICAg ICAgICAgYnJlYWs7CisrICAgICAgICAgICAgeG1sTm9kZSAqcm9vdF9ub2RlID0geG1sQ29weU5v ZGUoZG1peG1sX24sIDEpOworKyAgICAgICAgICAgIGlmICghcm9vdF9ub2RlKSB7CisrICAgICAg ICAgICAgICAgIHhtbEZyZWVEb2MoZG1peG1sX2RvYyk7CisrICAgICAgICAgICAgICAgIHhtbEZy ZWVOb2RlKGRtaXhtbF9uKTsKKysgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhj X01lbW9yeUVycm9yLCAiQ291bGQgbm90IGNvcHkgWE1MIG5vZGUiKTsKKysgICAgICAgICAgICAg ICAgcmV0dXJuIE5VTEw7CisrICAgICAgICAgICAgfQorIAorLSAgICAgICAgY2FzZSAnZCc6Cist ICAgICAgICAgICAgICAgIGRtaXhtbF9kb2MgPSB4bWxOZXdEb2MoKHhtbENoYXIgKikgIjEuMCIp OworLSAgICAgICAgICAgICAgICBpZiggZG1peG1sX2RvYyA9PSBOVUxMICkgeworLSAgICAgICAg ICAgICAgICAgICAgICAgIFB5UmV0dXJuRXJyb3IoUHlFeGNfTWVtb3J5RXJyb3IsICJDb3VsZCBu b3QgY3JlYXRlIG5ldyBYTUwgZG9jdW1lbnQiKTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAg ICAgICAgICAgICB4bWxEb2NTZXRSb290RWxlbWVudChkbWl4bWxfZG9jLCBkbWl4bWxfbik7Cist ICAgICAgICAgICAgICAgIHB5ZGF0YSA9IGxpYnhtbF94bWxEb2NQdHJXcmFwKCh4bWxEb2MgKikg ZG1peG1sX2RvYyk7CistICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgIHhtbERv Y1NldFJvb3RFbGVtZW50KGRtaXhtbF9kb2MsIHJvb3Rfbm9kZSk7CisrCisrICAgICAgICAgICAg eG1sRG9jRHVtcE1lbW9yeShkbWl4bWxfZG9jLCAmeG1sX3N0cmluZywgJnhtbF9zaXplKTsKKysg ICAgICAgICAgICBpZiAoIXhtbF9zdHJpbmcpIHsKKysgICAgICAgICAgICAgICAgeG1sRnJlZURv YyhkbWl4bWxfZG9jKTsKKysgICAgICAgICAgICAgICAgeG1sRnJlZU5vZGUoZG1peG1sX24pOwor KyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCAiQ291 bGQgbm90IGR1bXAgWE1MIGRvY3VtZW50IHRvIG1lbW9yeSIpOworKyAgICAgICAgICAgICAgICBy ZXR1cm4gTlVMTDsKKysgICAgICAgICAgICB9CisrCisrICAgICAgICAgICAgcHlkYXRhID0gUHlV bmljb2RlX0Zyb21TdHJpbmcoKGNvbnN0IGNoYXIgKil4bWxfc3RyaW5nKTsKKysKKysgICAgICAg ICAgICB4bWxGcmVlKHhtbF9zdHJpbmcpOworKyAgICAgICAgICAgIHhtbEZyZWVEb2MoZG1peG1s X2RvYyk7CisrICAgICAgICAgICAgeG1sRnJlZU5vZGUoZG1peG1sX24pOworKyAgICAgICAgICAg IGJyZWFrOworIAorICAgICAgICAgZGVmYXVsdDoKKy0gICAgICAgICAgICAgICAgUHlSZXR1cm5F cnJvcihQeUV4Y19UeXBlRXJyb3IsICJJbnRlcm5hbCBlcnJvciAtIGludmFsaWQgcmVzdWx0IHR5 cGUgJyVjJyIsICpydHlwZSk7CistICAgICAgICB9CisrICAgICAgICAgICAgeG1sRnJlZU5vZGUo ZG1peG1sX24pOworKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJJ bnZhbGlkIHJlc3VsdCB0eXBlICclYycgLSBtdXN0IGJlICduJyBvciAnZCciLCAqcnR5cGUpOwor KyAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICB9CisgCistICAgICAgICAvLyBSZXR1cm4g WE1MIGRhdGEKKy0gICAgICAgIFB5X0lOQ1JFRihweWRhdGEpOworLSAgICAgICAgcmV0dXJuIHB5 ZGF0YTsKKy19CisrICAgIGlmICghcHlkYXRhKSB7CisrICAgICAgICBQeUVycl9TZXRTdHJpbmco UHlFeGNfUnVudGltZUVycm9yLCAiQ291bGQgbm90IGNyZWF0ZSBQeXRob24gc3RyaW5nIGZyb20g WE1MIGRhdGEiKTsKKysgICAgICAgIHJldHVybiBOVUxMOworKyAgICB9CisgCisrICAgIHJldHVy biBweWRhdGE7CisrfQorIAorIAorIHN0YXRpYyBQeU9iamVjdCAqZG1pZGVjb2RlX2R1bXAoUHlP YmplY3QgKiBzZWxmLCBQeU9iamVjdCAqIG51bGwpCitAQCAtOTEzLDggKzk2NCwxMiBAQCBzdGF0 aWMgUHlNZXRob2REZWYgRE1JRGF0YU1ldGhvZHNbXSA9IHsKKyAgICAgICAgIHsoY2hhciAqKSJw eXRob25tYXAiLCBkbWlkZWNvZGVfc2V0X3B5dGhvbnhtbG1hcCwgTUVUSF9PLAorICAgICAgICAg IChjaGFyICopICJVc2UgYW5vdGhlciBweXRob24gZGljdCBtYXAgZGVmaW5pdGlvbi4gVGhlIGRl ZmF1bHQgZmlsZSBpcyAiIFBZVEhPTl9YTUxfTUFQfSwKKyAKKy0gICAgICAgIHsoY2hhciAqKSJ4 bWxhcGkiLCBkbWlkZWNvZGVfeG1sYXBpLCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAor LSAgICAgICAgIChjaGFyICopICJJbnRlcm5hbCBBUEkgZm9yIHJldHJpZXZpbmcgZGF0YSBhcyBy YXcgWE1MIGRhdGEifSwKKysgICAgICAgIHsgCisrICAgICAgICAgICAgICAgICAubWxfbmFtZSA9 ICJ4bWxhcGkiLCAKKysgICAgICAgICAgICAgICAgIC5tbF9tZXRoID0gKFB5Q0Z1bmN0aW9uKSh2 b2lkKCopKHZvaWQpKWRtaWRlY29kZV94bWxhcGksCisrICAgICAgICAgICAgICAgIC5tbF9mbGFn cyA9IE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIAorKyAgICAgICAgICAgICAgICAgLm1s X2RvYyA9ICJHZXQgRE1JIGRhdGEgYXMgWE1MIgorKyAgICAgICAgfSwKKyAKKyAKKyAgICAgICAg IHsoY2hhciAqKSJnZXRfd2FybmluZ3MiLCBkbWlkZWNvZGVfZ2V0X3dhcm5pbmdzLCBNRVRIX05P QVJHUywKK0BAIC05MjYsNDggKzk4MSw0OSBAQCBzdGF0aWMgUHlNZXRob2REZWYgRE1JRGF0YU1l dGhvZHNbXSA9IHsKKyAgICAgICAgIHtOVUxMLCBOVUxMLCAwLCBOVUxMfQorIH07CisgCistdm9p ZCBkZXN0cnVjdF9vcHRpb25zKHZvaWQgKnB0cikKKyt2b2lkIGRlc3RydWN0X29wdGlvbnMoUHlP YmplY3QgKmNhcHN1bGUpCisgeworLSNpZmRlZiBJU19QWTNLCistICAgICAgICBwdHIgPSBQeUNh cHN1bGVfR2V0UG9pbnRlcihwdHIsIE5VTEwpOworLSNlbmRpZgorKyAgICB2b2lkICpwdHIgPSBQ eUNhcHN1bGVfR2V0UG9pbnRlcihjYXBzdWxlLCBOVUxMKTsKKysgICAgaWYgKHB0cikgeworICAg ICAgICAgb3B0aW9ucyAqb3B0ID0gKG9wdGlvbnMgKikgcHRyOworIAorICAgICAgICAgaWYoIG9w dC0+bWFwcGluZ3htbCAhPSBOVUxMICkgeworLSAgICAgICAgICAgICAgICB4bWxGcmVlRG9jKG9w dC0+bWFwcGluZ3htbCk7CistICAgICAgICAgICAgICAgIG9wdC0+bWFwcGluZ3htbCA9IE5VTEw7 CisrICAgICAgICAgICAgeG1sRnJlZURvYyhvcHQtPm1hcHBpbmd4bWwpOworKyAgICAgICAgICAg IG9wdC0+bWFwcGluZ3htbCA9IE5VTEw7CisgICAgICAgICB9CisgCisgICAgICAgICBpZiggb3B0 LT5weXRob25feG1sX21hcCAhPSBOVUxMICkgeworLSAgICAgICAgICAgICAgICBmcmVlKG9wdC0+ cHl0aG9uX3htbF9tYXApOworLSAgICAgICAgICAgICAgICBvcHQtPnB5dGhvbl94bWxfbWFwID0g TlVMTDsKKysgICAgICAgICAgICBmcmVlKG9wdC0+cHl0aG9uX3htbF9tYXApOworKyAgICAgICAg ICAgIG9wdC0+cHl0aG9uX3htbF9tYXAgPSBOVUxMOworICAgICAgICAgfQorIAorICAgICAgICAg aWYoIG9wdC0+ZG1pdmVyc2lvbl9uICE9IE5VTEwgKSB7CistICAgICAgICAgICAgICAgIHhtbEZy ZWVOb2RlKG9wdC0+ZG1pdmVyc2lvbl9uKTsKKy0gICAgICAgICAgICAgICAgb3B0LT5kbWl2ZXJz aW9uX24gPSBOVUxMOworKyAgICAgICAgICAgIHhtbEZyZWVOb2RlKG9wdC0+ZG1pdmVyc2lvbl9u KTsKKysgICAgICAgICAgICBvcHQtPmRtaXZlcnNpb25fbiA9IE5VTEw7CisgICAgICAgICB9Cisg CisgICAgICAgICBpZiggb3B0LT5kdW1wZmlsZSAhPSBOVUxMICkgeworLSAgICAgICAgICAgICAg ICBmcmVlKG9wdC0+ZHVtcGZpbGUpOworLSAgICAgICAgICAgICAgICBvcHQtPmR1bXBmaWxlID0g TlVMTDsKKysgICAgICAgICAgICBmcmVlKG9wdC0+ZHVtcGZpbGUpOworKyAgICAgICAgICAgIG9w dC0+ZHVtcGZpbGUgPSBOVUxMOworICAgICAgICAgfQorIAorICAgICAgICAgaWYoIG9wdC0+bG9n ZGF0YSAhPSBOVUxMICkgeworLSAgICAgICAgICAgICAgICBjaGFyICp3YXJuID0gTlVMTDsKKysg ICAgICAgICAgICBjaGFyICp3YXJuID0gTlVMTDsKKyAKKy0gICAgICAgICAgICAgICAgbG9nX2Ns ZWFyX3BhcnRpYWwob3B0LT5sb2dkYXRhLCBMT0dfV0FSTklORywgMCk7CistICAgICAgICAgICAg ICAgIHdhcm4gPSBsb2dfcmV0cmlldmUob3B0LT5sb2dkYXRhLCBMT0dfV0FSTklORyk7CistICAg ICAgICAgICAgICAgIGlmKCB3YXJuICkgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGZwcmlu dGYoc3RkZXJyLCAiXG4qKiBDT0xMRUNURUQgV0FSTklOR1MgKipcbiVzKiogRU5EIE9GIFdBUk5J TkdTICoqXG5cbiIsIHdhcm4pOworLSAgICAgICAgICAgICAgICAgICAgICAgIGZyZWUod2Fybik7 CistICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAgICAgbG9nX2Nsb3NlKG9wdC0+bG9n ZGF0YSk7CisrICAgICAgICAgICAgbG9nX2NsZWFyX3BhcnRpYWwob3B0LT5sb2dkYXRhLCBMT0df V0FSTklORywgMCk7CisrICAgICAgICAgICAgd2FybiA9IGxvZ19yZXRyaWV2ZShvcHQtPmxvZ2Rh dGEsIExPR19XQVJOSU5HKTsKKysgICAgICAgICAgICBpZiggd2FybiApIHsKKysgICAgICAgICAg ICAgICAgZnByaW50ZihzdGRlcnIsICJcbioqIENPTExFQ1RFRCBXQVJOSU5HUyAqKlxuJXMqKiBF TkQgT0YgV0FSTklOR1MgKipcblxuIiwgd2Fybik7CisrICAgICAgICAgICAgICAgIGZyZWUod2Fy bik7CisrICAgICAgICAgICAgfQorKyAgICAgICAgICAgIGxvZ19jbG9zZShvcHQtPmxvZ2RhdGEp OworICAgICAgICAgfQorIAorICAgICAgICAgZnJlZShwdHIpOworKyAgICB9CisgfQorIAorKwor ICNpZmRlZiBJU19QWTNLCisgc3RhdGljIHN0cnVjdCBQeU1vZHVsZURlZiBkbWlkZWNvZGVtb2Rf ZGVmID0geworICAgICBQeU1vZHVsZURlZl9IRUFEX0lOSVQsCitkaWZmIC0tZ2l0IGEvc3JjL3Nl dHVwX2NvbW1vbi5weSBiL3NyYy9zZXR1cF9jb21tb24ucHkKK2luZGV4IGFlYzFmOWIuLjkwZDg4 YzMgMTAwNjQ0CistLS0gYS9zZXR1cF9jb21tb24ucHkKKysrKyBiL3NldHVwX2NvbW1vbi5weQor QEAgLTY5LDcgKzY5LDcgQEAgZGVmIGxpYnhtbDJfbGliKGxpYmRpciwgbGlicyk6CisgICAgICAg ICAgICAgbGlicy5hcHBlbmQobC5yZXBsYWNlKCItbCIsICIiLCAxKSkKKyAKKyAgICAgIyB0aGlz IGxpYnJhcnkgaXMgbm90IHJlcG9ydGVkIGFuZCB3ZSBuZWVkIGl0IGFueXdheQorLSAgICBsaWJz LmFwcGVuZCgneG1sMm1vZCcpCisrICAgICNsaWJzLmFwcGVuZCgneG1sMm1vZCcpCisgCisgCisg CisKCmRpZmYgLS1naXQgYS9weXRob24tZG1pZGVjb2RlLnNwZWMgYi9weXRob24tZG1pZGVjb2Rl LnNwZWMKaW5kZXggZjIxMGFjMS4uMTI4NDA5YSAxMDA2NDQKLS0tIGEvcHl0aG9uLWRtaWRlY29k ZS5zcGVjCisrKyBiL3B5dGhvbi1kbWlkZWNvZGUuc3BlYwpAQCAtMTMsMTggKzEzLDIzIEBACiBO YW1lOiBweXRob24tZG1pZGVjb2RlCiBTdW1tYXJ5OiBQeXRob24gbW9kdWxlIHRvIGFjY2VzcyBE TUkgZGF0YQogVmVyc2lvbjogMy4xMi4zCi1SZWxlYXNlOiAxOSV7ZGF0ZX0le3Nob3J0Y29tbWl0 fSV7P2Rpc3R9CitSZWxlYXNlOiAyMCV7ZGF0ZX0le3Nob3J0Y29tbWl0fSV7P2Rpc3R9CiBMaWNl bnNlOiBHUEwtMi4wLW9ubHkKIFVSTDogaHR0cHM6Ly9naXRodWIuY29tL25pbWEvcHl0aG9uLWRt aWRlY29kZQogU291cmNlMDogJXt1cmx9L2FyY2hpdmUvJXt2ZXJzaW9ufS8le25hbWV9LSV7dmVy c2lvbn0udGFyLmd6CiAKIFBhdGNoMDogcHl0aG9uLWRtaWRlY29kZS1yaGJ6MjE1NDk0OS5wYXRj aAogCisjIFRoaXMgcGF0Y2ggZGVyaXZlcyBieSBhIGZvcmssIAorIyBodHRwczovL2dpdGh1Yi5j b20vWXV6dXJ1MTAvcHl0aG9uLWRtaWRlY29kZS9jb21taXQvNGFkMmU0Y2EwZjZjYTZjNDBmYjk5 NGE3MmY4OTcyZDI0Yjg5MDU1NAorUGF0Y2gxOiBweXRob24tZG1pZGVjb2RlLWxpYnhtbDIucGF0 Y2gKKwogQnVpbGRSZXF1aXJlczogbWFrZQogQnVpbGRSZXF1aXJlczogZ2NjCiBCdWlsZFJlcXVp cmVzOiBsaWJ4bWwyLWRldmVsCiBCdWlsZFJlcXVpcmVzOiBweXRob24zLWRldmVsCiBCdWlsZFJl cXVpcmVzOiBsaWJ4bWwyLXB5dGhvbjMKK0J1aWxkUmVxdWlyZXM6IHB5dGhvbjMtbHhtbAogCiAl Z2xvYmFsIF9kZXNjcmlwdGlvblwKIHB5dGhvbi1kbWlkZWNvZGUgaXMgYSBweXRob24gZXh0ZW5z aW9uIG1vZHVsZSB0aGF0IHVzZXMgdGhlXApAQCAtMzgsNiArNDMsNyBAQCBhcyBweXRob24gZGF0 YSBzdHJ1Y3R1cmVzIG9yIGFzIFhNTCBkYXRhIHVzaW5nIGxpYnhtbDIuXAogJXBhY2thZ2UgLW4g cHl0aG9uMy1kbWlkZWNvZGUKIFN1bW1hcnk6IFB5dGhvbiAzIG1vZHVsZSB0byBhY2Nlc3MgRE1J IGRhdGEKIFJlcXVpcmVzOiBsaWJ4bWwyLXB5dGhvbjMKK1JlcXVpcmVzOiBweXRob24zLWx4bWwK IAogJWRlc2NyaXB0aW9uIC1uIHB5dGhvbjMtZG1pZGVjb2RlICVfZGVzY3JpcHRpb24KIApAQCAt NDksNiArNTUsMTAgQEAgUmVxdWlyZXM6IGxpYnhtbDItcHl0aG9uMwogIyB3ZSBuZWVkIHRoZSBz ZXR1cC5weSBmaWxlIGluIFBXRCB0byBtYWtlIHRoZSBzZXR1cHRvb2xzIGJ1aWxkIGJhY2tlbmQg c2VlIGl0CiBtdiBzcmMvc2V0dXAqLnB5IC4KIAorJWlmIDAlez9mZWRvcmF9ID4gNDUKKyVwYXRj aCAxIC1wMSAtYiAubGlieG1sMgorJWVuZGlmCisKICVnZW5lcmF0ZV9idWlsZHJlcXVpcmVzCiAl cHlwcm9qZWN0X2J1aWxkcmVxdWlyZXMKIApAQCAtNjUsMjAgKzc1LDIxIEBAIGV4cG9ydCBDWFg9 ZysrCiAlcHlwcm9qZWN0X2luc3RhbGwKICVweXByb2plY3Rfc2F2ZV9maWxlcyAtTCBkbWlkZWNv ZGUgZG1pZGVjb2RlbW9kCiAKLQogJWNoZWNrCiAlcHlwcm9qZWN0X2NoZWNrX2ltcG9ydAogZXhw b3J0IFBZVEhPTlBBVEg9JXtidWlsZHJvb3R9JXtweXRob24zX3NpdGVhcmNofQotZXhwb3J0IFBZ VEhPTl9CSU49JXtfX3B5dGhvbjN9Cisle3B5M190ZXN0X2VudnZhcnN9CiBtYWtlIC1DIHVuaXQt dGVzdHMKIAotCiAlZmlsZXMgLW4gcHl0aG9uMy1kbWlkZWNvZGUgLWYgJXtweXByb2plY3RfZmls ZXN9CiAlbGljZW5zZSBkb2MvTElDRU5TRQogJWRvYyBSRUFETUUgZG9jL0FVVEhPUlMgZG9jL0FV VEhPUlMudXBzdHJlYW0KICV7X2RhdGFkaXJ9LyV7bmFtZX0vCiAKICVjaGFuZ2Vsb2cKKyogVGh1 IFNlcCAxNyAyMDI2IEFudG9uaW8gVHJhbmRlIDxzYWdpdHRlckBmZWRvcmFwcm9qZWN0Lm9yZz4g LSAzLjEyLjMtMjAKKy0gUGF0Y2hlZCBmb3IgbGlieG1sMi0yLjE1LjQKKwogKiBXZWQgSnVsIDIy IDIwMjYgUHl0aG9uIE1haW50IDxweXRob24tbWFpbnRAcmVkaGF0LmNvbT4gLSAzLjEyLjMtMTkK IC0gUmVidWlsdCBmb3IgUHl0aG9uIDMuMTUuMGI0IEFCSSBjaGFuZ2UKIAo=