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: Jan Grulich To: git-commits@fedoraproject.org Subject: [rpms/kdevelop-python] f44: Support Python 3.9 Date: Sat, 04 Jul 2026 01:00:15 GMT Message-ID: <178312681565.1.1510766965938587747.rpms-kdevelop-python-ca94903e7ae1@fedoraproject.org> List-ID: X-Git-Repo: rpms/kdevelop-python X-Git-Branch: f44 X-Git-Rev: ca94903e7ae1bcf493bbbc1b1ebffccd45c98540 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMva2RldmVsb3AtcHl0 aG9uCkJyYW5jaCA6IGY0NApDb21taXQgOiBjYTk0OTAzZTdhZTFiY2Y0OTNiYmJjMWIxZWJmZmNj ZDQ1Yzk4NTQwCkF1dGhvciA6IEphbiBHcnVsaWNoIDxqZ3J1bGljaEByZWRoYXQuY29tPgpEYXRl ICAgOiAyMDIwLTA4LTI0VDEzOjQ4OjUzKzAyOjAwClN0YXRzICA6ICs0OTcvLTUgaW4gMiBmaWxl KHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMva2RldmVsb3At cHl0aG9uL2MvY2E5NDkwM2U3YWUxYmNmNDkzYmJiYzFiMWViZmZjY2Q0NWM5ODU0MD9icmFuY2g9 ZjQ0CgpMb2c6ClN1cHBvcnQgUHl0aG9uIDMuOQoKLS0tCmRpZmYgLS1naXQgYS9rZGV2ZWxvcC1w eXRob24tMzkucGF0Y2ggYi9rZGV2ZWxvcC1weXRob24tMzkucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uZmUxYWI1YQotLS0gL2Rldi9udWxsCisrKyBiL2tkZXZlbG9w LXB5dGhvbi0zOS5wYXRjaApAQCAtMCwwICsxLDQ4NyBAQAorZGlmZiAtLWdpdCBhL0NNYWtlTGlz dHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IGFmMDI1Y2QzLi45ZDg1MTY1OSAxMDA2NDQK Ky0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTMxLDcgKzMx LDcgQEAgYWRkX2RlZmluaXRpb25zKCAtRFRSQU5TTEFUSU9OX0RPTUFJTj1cImtkZXZweXRob25c IiApCisgCisgIyBDTWFrZSBsb29rcyBmb3IgZXhhY3RseSB0aGUgc3BlY2lmaWVkIHZlcnNpb24g Zmlyc3QgYW5kIGlnbm9yZXMgbmV3ZXIgdmVyc2lvbnMuCisgIyBUbyBhdm9pZCB0aGF0LCBzdGFy dCBsb29raW5nIGZvciB0aGUgbmV3ZXN0IHN1cHBvcnRlZCB2ZXJzaW9uIGFuZCB3b3JrIGRvd24u Cistc2V0KFB5dGhvbl9BRERJVElPTkFMX1ZFUlNJT05TIDMuOCAzLjcgMy42IDMuNSAzLjQpCisr c2V0KFB5dGhvbl9BRERJVElPTkFMX1ZFUlNJT05TIDMuOSAzLjggMy43IDMuNiAzLjUgMy40KQor IGZvcmVhY2goX1BZVEhPTl9WICR7UHl0aG9uX0FERElUSU9OQUxfVkVSU0lPTlN9KQorICAgICBm aW5kX3BhY2thZ2UoUHl0aG9uSW50ZXJwICR7X1BZVEhPTl9WfSkKKyAgICAgaWYgKCBQWVRIT05J TlRFUlBfRk9VTkQgKQorQEAgLTQ5LDcgKzQ5LDcgQEAgaWYgKCBQWVRIT05JTlRFUlBfRk9VTkQg QU5EIFBZVEhPTl9WRVJTSU9OX1NUUklORyBWRVJTSU9OX0dSRUFURVIgIjMuNCIgKQorIGVuZGlm KCkKKyAKKyBpZiAoIE5PVCBQWVRIT05MSUJTX0ZPVU5EIE9SIFBZVEhPTkxJQlNfVkVSU0lPTl9T VFJJTkcgVkVSU0lPTl9MRVNTICIzLjQuMyIgKQorLSAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJQ eXRob24gPj0gMy40LjMgYnV0IDwgMy45IHdpdGggLS1lbmFibGUtc2hhcmVkIGlzIHJlcXVpcmVk IHRvIGJ1aWxkIGtkZXYtcHl0aG9uIikKKysgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiUHl0aG9u ID49IDMuNC4zIGJ1dCA8IDMuMTAgd2l0aCAtLWVuYWJsZS1zaGFyZWQgaXMgcmVxdWlyZWQgdG8g YnVpbGQga2Rldi1weXRob24iKQorIGVuZGlmKCkKKyAKKyBjb25maWd1cmVfZmlsZShrZGV2cHl0 aG9udmVyc2lvbi5oLmNtYWtlICIke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0va2RldnB5dGhv bnZlcnNpb24uaCIgQE9OTFkpCitkaWZmIC0tZ2l0IGEvZHVjaGFpbi9kZWNsYXJhdGlvbmJ1aWxk ZXIuY3BwIGIvZHVjaGFpbi9kZWNsYXJhdGlvbmJ1aWxkZXIuY3BwCitpbmRleCA2MWUxNDRjNS4u YjU4ODIyNmEgMTAwNjQ0CistLS0gYS9kdWNoYWluL2RlY2xhcmF0aW9uYnVpbGRlci5jcHAKKysr KyBiL2R1Y2hhaW4vZGVjbGFyYXRpb25idWlsZGVyLmNwcAorQEAgLTExMzksOSArMTEzOSw5IEBA IHZvaWQgRGVjbGFyYXRpb25CdWlsZGVyOjphc3NpZ25Ub1N1YnNjcmlwdChTdWJzY3JpcHRBc3Qq IHN1YnNjcmlwdCwgY29uc3QgRGVjbGFyCisgICAgIH0KKyAgICAgYXV0byBtYXAgPSBNYXBUeXBl OjpQdHI6OmR5bmFtaWNDYXN0KGxpc3QpOworICAgICBpZiAoIG1hcCApIHsKKy0gICAgICAgIGlm ICggc3Vic2NyaXB0LT5zbGljZSAmJiBzdWJzY3JpcHQtPnNsaWNlLT5hc3RUeXBlID09IEFzdDo6 SW5kZXhBc3RUeXBlICkgeworKyAgICAgICAgaWYgKCBzdWJzY3JpcHQtPnNsaWNlICYmIHN1YnNj cmlwdC0+c2xpY2UtPmFzdFR5cGUgIT0gQXN0OjpTbGljZUFzdFR5cGUpIHsKKyAgICAgICAgICAg ICBFeHByZXNzaW9uVmlzaXRvciBrZXlWaXNpdG9yKGN1cnJlbnRDb250ZXh0KCkpOworLSAgICAg ICAgICAgIGtleVZpc2l0b3IudmlzaXROb2RlKHN0YXRpY19jYXN0PEluZGV4QXN0Kj4oc3Vic2Ny aXB0LT5zbGljZSktPnZhbHVlKTsKKysgICAgICAgICAgICBrZXlWaXNpdG9yLnZpc2l0Tm9kZShz dWJzY3JpcHQtPnNsaWNlKTsKKyAgICAgICAgICAgICBBYnN0cmFjdFR5cGU6OlB0ciBrZXkgPSBr ZXlWaXNpdG9yLmxhc3RUeXBlKCk7CisgICAgICAgICAgICAgaWYgKCBrZXkgKSB7CisgICAgICAg ICAgICAgICAgIG1hcC0+YWRkS2V5VHlwZTxQeXRob246OlVuc3VyZVR5cGU+KGtleSk7CitkaWZm IC0tZ2l0IGEvZHVjaGFpbi9leHByZXNzaW9udmlzaXRvci5jcHAgYi9kdWNoYWluL2V4cHJlc3Np b252aXNpdG9yLmNwcAoraW5kZXggMDU1YzViNDkuLjMxODVlYTgwIDEwMDY0NAorLS0tIGEvZHVj aGFpbi9leHByZXNzaW9udmlzaXRvci5jcHAKKysrKyBiL2R1Y2hhaW4vZXhwcmVzc2lvbnZpc2l0 b3IuY3BwCitAQCAtMzY1LDcgKzM2NSw3IEBAIHZvaWQgRXhwcmVzc2lvblZpc2l0b3I6OnZpc2l0 U3Vic2NyaXB0KFN1YnNjcmlwdEFzdCogbm9kZSkKKyAgICAgICAgICAgICAgICAgY29udGludWU7 CisgICAgICAgICAgICAgfQorICAgICAgICAgfQorLSAgICAgICAgaWYgKCAobm9kZS0+c2xpY2Ut PmFzdFR5cGUgIT0gQXN0OjpJbmRleEFzdFR5cGUpICYmIHR5cGUuY2FzdDxMaXN0VHlwZT4oKSAp IHsKKysgICAgICAgIGlmICggKG5vZGUtPnNsaWNlLT5hc3RUeXBlID09IEFzdDo6U2xpY2VBc3RU eXBlKSAmJiB0eXBlLmNhc3Q8TGlzdFR5cGU+KCkgKSB7CisgICAgICAgICAgICAgaWYgKCB0eXBl LmNhc3Q8TWFwVHlwZT4oKSApIHsKKyAgICAgICAgICAgICAgICAgY29udGludWU7IC8vIENhbid0 IHNsaWNlIGRpY3RzLgorICAgICAgICAgICAgIH0KK0BAIC0zNzMsNyArMzczLDcgQEAgdm9pZCBF eHByZXNzaW9uVmlzaXRvcjo6dmlzaXRTdWJzY3JpcHQoU3Vic2NyaXB0QXN0KiBub2RlKQorICAg ICAgICAgICAgIHJlc3VsdCA9IEhlbHBlcjo6bWVyZ2VUeXBlcyhyZXN1bHQsIHR5cGUpOworICAg ICAgICAgfQorICAgICAgICAgZWxzZSBpZiAoIGNvbnN0IGF1dG8mIGluZGV4ZWQgPSB0eXBlLmNh c3Q8SW5kZXhlZENvbnRhaW5lcj4oKSApIHsKKy0gICAgICAgICAgICBsb25nIHNsaWNlSW5kZXgg PSBpbnRlZ2VyVmFsdWUoc3RhdGljX2Nhc3Q8SW5kZXhBc3QqPihub2RlLT5zbGljZSktPnZhbHVl LCBpbmRleGVkLT50eXBlc0NvdW50KCkpOworKyAgICAgICAgICAgIGxvbmcgc2xpY2VJbmRleCA9 IGludGVnZXJWYWx1ZShub2RlLT5zbGljZSwgaW5kZXhlZC0+dHlwZXNDb3VudCgpKTsKKyAgICAg ICAgICAgICBpZiAoIDAgPD0gc2xpY2VJbmRleCAmJiBzbGljZUluZGV4IDwgaW5kZXhlZC0+dHlw ZXNDb3VudCgpICkgeworICAgICAgICAgICAgICAgICByZXN1bHQgPSBIZWxwZXI6Om1lcmdlVHlw ZXMocmVzdWx0LCBpbmRleGVkLT50eXBlQXQoc2xpY2VJbmRleCkuYWJzdHJhY3RUeXBlKCkpOwor ICAgICAgICAgICAgICAgICBjb250aW51ZTsKK2RpZmYgLS1naXQgYS9kdWNoYWluL3Rlc3RzL3B5 ZHVjaGFpbnRlc3QuY3BwIGIvZHVjaGFpbi90ZXN0cy9weWR1Y2hhaW50ZXN0LmNwcAoraW5kZXgg MTdiYTM0ZTUuLjA0ZDkxNjRkIDEwMDY0NAorLS0tIGEvZHVjaGFpbi90ZXN0cy9weWR1Y2hhaW50 ZXN0LmNwcAorKysrIGIvZHVjaGFpbi90ZXN0cy9weWR1Y2hhaW50ZXN0LmNwcAorQEAgLTQzOCwx NSArNDM4LDE1IEBAIHZvaWQgUHlEVUNoYWluVGVzdDo6dGVzdENyYXNoZXNfZGF0YSgpIHsKKyAg ICAgICAgICIgICAgICBcIlwiXCIhIHJldHVybkNvbnRlbnRFcXVhbHNDb250ZW50T2YgISAtM1wi XCJcIlxuIgorICAgICAgICAgImUgPSBFdmlsKClcbiIKKyAgICAgICAgICJ6ID0gW2UuYWEoMSks IGUuYmIoMiksIGUuY2MoMyldIjsKKysgICAgUVRlc3Q6Om5ld1JvdygiY29tcHJlaGVuc2lvbl9p bl9sYW1iZGEiKSA8PCAibGFtYmRhIGZvbzogW2JhciBmb3IgYmFyIGluIGZvb10iOworICNpZiBQ WVRIT05fVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDMsIDYsIDApCisgICAgIFFUZXN0Ojpu ZXdSb3coImNvbXByZWhlbnNpb25faW5fZnN0cmluZyIpIDw8CisgICAgICAgICAiZGVmIGNyYXNo KCk6IHJldHVybiBmJ2V4cHI9eyB7eDogeSBmb3IgeCwgeSBpbiBbKDEsIDIpLCBdfX0nIjsKKy0j ZW5kaWYKKy0gICAgUVRlc3Q6Om5ld1JvdygiY29tcHJlaGVuc2lvbl9pbl9sYW1iZGEiKSA8PCAi bGFtYmRhIGZvbzogW2JhciBmb3IgYmFyIGluIGZvb10iOworICAgICBRVGVzdDo6bmV3Um93KCJj b21wcmVoZW5zaW9uX2luX2FubmFzc2lnbl8xIikgPDwgImZvbzogaW50ID0gW3ggZm9yIHggaW4g KDQyLCldWzBdIjsKKyAgICAgUVRlc3Q6Om5ld1JvdygiY29tcHJlaGVuc2lvbl9pbl9hbm5hc3Np Z25fMiIpIDw8ICJmb286IFt0IGZvciB0IGluIChpbnQsKV1bMF0gPSA0MiI7CisgICAgIFFUZXN0 OjpuZXdSb3coImxhbWJkYV9pbl9hbm5hc3NpZ25fMSIpIDw8ICJmb286IGludCA9IChsYW1iZGE6 IDQyKSgpIjsKKyAgICAgUVRlc3Q6Om5ld1JvdygibGFtYmRhX2luX2FubmFzc2lnbl8yIikgPDwg ImZvbzogKGxhbWJkYTogaW50KSgpID0gNDIiOworKyNlbmRpZgorICAgICBRVGVzdDo6bmV3Um93 KCJkZWZpbml0aW9uX2luX2Jhc2VjbGFzc18xIikgPDwgImNsYXNzIEZvbyhsYW1iZGEgeDogMSk6 IHBhc3MiOworICAgICBRVGVzdDo6bmV3Um93KCJkZWZpbml0aW9uX2luX2Jhc2VjbGFzc18yIikg PDwgImNsYXNzIEZvbyhbeCBmb3IgeCBpbiAoMSwgMildKTogcGFzcyI7CisgfQorQEAgLTk1NCwx MCArOTU0LDEyIEBAIHZvaWQgUHlEVUNoYWluVGVzdDo6dGVzdFR5cGVzX2RhdGEoKQorIC8vICAg ICBRVGVzdDo6bmV3Um93KCJjbGFzc19tZXRob2Rfc2VsZiIpIDw8ICJjbGFzcyBjOlxuIGRlZiBm dW5jKGNoZWNrbWUsIGFyZywgYXJnMik6XG4gIHBhc3NcbiIgPDwgImMiOworIC8vICAgIFFUZXN0 OjpuZXdSb3coImZ1bmNjYWxsX2RpY3QiKSA8PCAiZGVmIGZvbygpOiByZXR1cm4gZm9vOyBjaGVj a21lID0gZm9vKCk7IiA8PCAodWludCkgSW50ZWdyYWxUeXBlOjpUeXBlRnVuY3Rpb247CisgCisr I2lmIFBZVEhPTl9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soMywgNiwgMCkKKyAgICAgLy8g V2l0aCBvbmx5IG9uZSBzdWJiZWQgdmFsdWUgd2UgZ2V0IGEgRm9ybWF0dGVkVmFsdWUgbm9kZQor ICAgICBRVGVzdDo6bmV3Um93KCJmc3RyaW5nX2Zvcm1hdHRlZHZhbHVlIikgPDwgIm5hbWUgPSAn SmltJzsgY2hlY2ttZSA9IGYne25hbWV9JyIgPDwgInN0ciI7CisgICAgIC8vIE90aGVyd2lzZSBh IEpvaW5lZFN0cmluZywgd2l0aCBGb3JtYXR0ZWRWYWx1ZXMgYXMgY2hpbGRyZW4uCisgICAgIFFU ZXN0OjpuZXdSb3coImZzdHJpbmdfam9pbmVkc3RyaW5nIikgPDwgIm5hbWUgPSAnSmltJzsgY2hl Y2ttZSA9IGYnSGVsbG8sIHtuYW1lfSEgWW91ciBuYW1lIGlzIHtuYW1lfS4nIiA8PCAic3RyIjsK KysjZW5kaWYKKyAKKyAgICAgUVRlc3Q6Om5ld1JvdygidHVwbGVfc2ltcGxlIikgPDwgIm15dHVw bGUgPSAzLCA1LjVcbmNoZWNrbWUsIGZvb2JhciA9IG15dHVwbGUiIDw8ICJpbnQiOworICAgICBR VGVzdDo6bmV3Um93KCJ0dXBsZV9zaW1wbGUyIikgPDwgIm15dHVwbGUgPSAzLCA1LjVcbmZvb2Jh ciwgY2hlY2ttZSA9IG15dHVwbGUiIDw8ICJmbG9hdCI7CitAQCAtMTMxNyw2ICsxMzE5LDcgQEAg dm9pZCBQeURVQ2hhaW5UZXN0Ojp0ZXN0VHlwZXNfZGF0YSgpCisgICAgICJkZWYgZm9vKGEsIGIs IC8sIGMsIGQpOlxuIgorICAgICAiICAgIHJldHVybiBhLCBiLCBjLCBkXG4iCisgICAgICJjaGVj a21lID0gZm9vKDEwLCAneCcsIDIuMywgZD0neScpXG4iIDw8ICJ0dXBsZSBvZiAoaW50LCBzdHIs IGZsb2F0LCBzdHIpIjsKKysgICAgUVRlc3Q6Om5ld1JvdygiZnN0cmluZ19zZWxmX2RvY3VtZW50 aW5nIikgPDwgImNoZWNrbWUgPSBmJ3tleHByPX0nIiA8PCAic3RyIjsKKyAjZW5kaWYKKyB9Cisg CitAQCAtMTM4OSw3ICsxMzkyLDkgQEAgdm9pZCBQeURVQ2hhaW5UZXN0Ojp0ZXN0UHJvYmxlbUNv dW50X2RhdGEoKQorICAgICBRVGVzdDo6bmV3Um93KCJjb3JyZWN0X3JldHVybiIpIDw8ICJkZWYg Zm9vKCk6XG4gcmV0dXJuIiA8PCAwOworICAgICBRVGVzdDo6bmV3Um93KCJsYW1iZGFfYXJndW1l bnRfb3V0c2lkZSIpIDw8ICJkZWYgYmFyKCk6XG4gbGFtYmRhIGZvbzogM1xuIGZvbyIgPDwgMTsK KyAgICAgUVRlc3Q6Om5ld1JvdygidXNlX2ZvdW5kX2F0X2RlY2wiKSA8PCAiZm9vID0gMyIgPDwg MDsKKysjaWYgUFlUSE9OX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSygzLCA2LCAwKQorICAg ICBRVGVzdDo6bmV3Um93KCJmc3RyaW5nX3Zpc2l0X2luc2lkZSIpIDw8ICJjaGVja21lID0gZid7 bmFtZX0nIiA8PCAxOworKyNlbmRpZgorIH0KKyAKKyB2b2lkIFB5RFVDaGFpblRlc3Q6OnRlc3RJ bXBvcnREZWNsYXJhdGlvbnNfZGF0YSgpIHsKK2RpZmYgLS1naXQgYS9rZGV2cHl0aG9udmVyc2lv bi5oLmNtYWtlIGIva2RldnB5dGhvbnZlcnNpb24uaC5jbWFrZQoraW5kZXggNDhkZjEyN2IuLmFi Nzg5ZWJiIDEwMDY0NAorLS0tIGEva2RldnB5dGhvbnZlcnNpb24uaC5jbWFrZQorKysrIGIva2Rl dnB5dGhvbnZlcnNpb24uaC5jbWFrZQorQEAgLTIwLDkgKzIwLDE1IEBACisgI2lmbmRlZiBLREVW UFlUSE9OX1ZFUlNJT05fSAorICNkZWZpbmUgS0RFVlBZVEhPTl9WRVJTSU9OX0gKKyAKKysjZGVm aW5lIFBZVEhPTl9WRVJTSU9OX01JTk9SIEBQWVRIT05fVkVSU0lPTl9NSU5PUkAKKysjZGVmaW5l IFBZVEhPTl9WRVJTSU9OX01JTk9SX1NUUiAiQFBZVEhPTl9WRVJTSU9OX01JTk9SQCIKKysKKysj ZGVmaW5lIFBZVEhPTl9WRVJTSU9OX01BSk9SIEBQWVRIT05fVkVSU0lPTl9NQUpPUkAKKyAjZGVm aW5lIFBZVEhPTl9WRVJTSU9OX01BSk9SX1NUUiAiQFBZVEhPTl9WRVJTSU9OX01BSk9SQCIKKysK KyAjZGVmaW5lIFBZVEhPTl9WRVJTSU9OIFFUX1ZFUlNJT05fQ0hFQ0soQFBZVEhPTl9WRVJTSU9O X01BSk9SQCwgQFBZVEhPTl9WRVJTSU9OX01JTk9SQCwgQFBZVEhPTl9WRVJTSU9OX1BBVENIQCkK KyAjZGVmaW5lIFBZVEhPTl9WRVJTSU9OX1NUUiAiQFBZVEhPTl9WRVJTSU9OX01BSk9SQC5AUFlU SE9OX1ZFUlNJT05fTUlOT1JAIgorKworICNkZWZpbmUgUFlUSE9OX0VYRUNVVEFCTEUgIkBQWVRI T05fRVhFQ1VUQUJMRUAiCisgCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvcGFyc2VyL2FzdC5jcHAg Yi9wYXJzZXIvYXN0LmNwcAoraW5kZXggY2Q1NzBkMzYuLmRlZTkzNjVkIDEwMDY0NAorLS0tIGEv cGFyc2VyL2FzdC5jcHAKKysrKyBiL3BhcnNlci9hc3QuY3BwCitAQCAtMTI4LDEyICsxMjgsNyBA QCBEaWN0QXN0OjpEaWN0QXN0KEFzdCogcGFyZW50KTogRXhwcmVzc2lvbkFzdChwYXJlbnQsIEFz dDo6RGljdEFzdFR5cGUpCisgCisgfQorIAorLUluZGV4QXN0OjpJbmRleEFzdChBc3QqIHBhcmVu dCk6IFNsaWNlQXN0QmFzZShwYXJlbnQsIEFzdDo6SW5kZXhBc3RUeXBlKSwgdmFsdWUobnVsbHB0 cikKKy17CistCistfQorLQorLVNsaWNlQXN0OjpTbGljZUFzdChBc3QqIHBhcmVudCk6IFNsaWNl QXN0QmFzZShwYXJlbnQsIEFzdDo6U2xpY2VBc3RUeXBlKSwgbG93ZXIobnVsbHB0ciksIHVwcGVy KG51bGxwdHIpLCBzdGVwKG51bGxwdHIpCisrU2xpY2VBc3Q6OlNsaWNlQXN0KEFzdCogcGFyZW50 KTogRXhwcmVzc2lvbkFzdChwYXJlbnQsIEFzdDo6U2xpY2VBc3RUeXBlKSwgbG93ZXIobnVsbHB0 ciksIHVwcGVyKG51bGxwdHIpLCBzdGVwKG51bGxwdHIpCisgeworIAorIH0KK0BAIC0xNDMsNyAr MTM4LDcgQEAgRGljdGlvbmFyeUNvbXByZWhlbnNpb25Bc3Q6OkRpY3Rpb25hcnlDb21wcmVoZW5z aW9uQXN0KEFzdCogcGFyZW50KTogRXhwcmVzc2lvbkEKKyAgICAgCisgfQorIAorLUVsbGlwc2lz QXN0OjpFbGxpcHNpc0FzdChBc3QqIHBhcmVudCk6IFNsaWNlQXN0QmFzZShwYXJlbnQsIEFzdDo6 RWxsaXBzaXNBc3RUeXBlKQorK0VsbGlwc2lzQXN0OjpFbGxpcHNpc0FzdChBc3QqIHBhcmVudCk6 IEV4cHJlc3Npb25Bc3QocGFyZW50LCBBc3Q6OkVsbGlwc2lzQXN0VHlwZSkKKyB7CisgICAgIAor IH0KK0BAIC0xNzMsMTEgKzE2OCw2IEBAIFlpZWxkRnJvbUFzdDo6WWllbGRGcm9tQXN0KEFzdCog cGFyZW50KSA6IEV4cHJlc3Npb25Bc3QocGFyZW50LCBBc3Q6OllpZWxkRnJvbUFzCisgCisgfQor IAorLUV4dGVuZGVkU2xpY2VBc3Q6OkV4dGVuZGVkU2xpY2VBc3QoQXN0KiBwYXJlbnQpOiBTbGlj ZUFzdEJhc2UocGFyZW50LCBBc3Q6OkV4dGVuZGVkU2xpY2VBc3RUeXBlKQorLXsKKy0gICAgCist fQorLQorIEZvckFzdDo6Rm9yQXN0KEFzdCogcGFyZW50KTogU3RhdGVtZW50QXN0KHBhcmVudCwg QXN0OjpGb3JBc3RUeXBlKSwgdGFyZ2V0KG51bGxwdHIpLCBpdGVyYXRvcihudWxscHRyKQorIHsK KyAgICAgCitAQCAtMjg4LDExICsyNzgsNiBAQCBTZXRDb21wcmVoZW5zaW9uQXN0OjpTZXRDb21w cmVoZW5zaW9uQXN0KEFzdCogcGFyZW50KTogRXhwcmVzc2lvbkFzdChwYXJlbnQsIEFzdAorICAg ICAKKyB9CisgCistU2xpY2VBc3RCYXNlOjpTbGljZUFzdEJhc2UoQXN0KiBwYXJlbnQsIEFzdFR5 cGUgdHlwZSk6IEFzdChwYXJlbnQsIHR5cGUpCisteworLSAgICAKKy19CistCisgU3RhdGVtZW50 QXN0OjpTdGF0ZW1lbnRBc3QoQXN0KiBwYXJlbnQsIEFzdFR5cGUgdHlwZSk6IEFzdChwYXJlbnQs IHR5cGUpCisgeworICAgICAKK2RpZmYgLS1naXQgYS9wYXJzZXIvYXN0LmggYi9wYXJzZXIvYXN0 LmgKK2luZGV4IDY1ZmVmMWNkLi5lNDU5YTc4MCAxMDA2NDQKKy0tLSBhL3BhcnNlci9hc3QuaAor KysrIGIvcGFyc2VyL2FzdC5oCitAQCAtNTUsNyArNTUsNiBAQCBuYW1lc3BhY2UgUHl0aG9uIHsK KyAgICAgY2xhc3MgRXhjZXB0aW9uSGFuZGxlckFzdDsKKyAgICAgY2xhc3MgQWxpYXNBc3Q7Cisg ICAgIGNsYXNzIENvbXByZWhlbnNpb25Bc3Q7CistICAgIGNsYXNzIFNsaWNlQXN0QmFzZTsKKyAg ICAgY2xhc3MgU2xpY2VBc3Q7CisgfQorIAorQEAgLTEwMiw3ICsxMDEsNiBAQCBwdWJsaWM6Cisg ICAgICAgICBOYW1lQ29uc3RhbnRBc3RUeXBlLAorICAgICAgICAgQ2FsbEFzdFR5cGUsCisgICAg ICAgICBBdHRyaWJ1dGVBc3RUeXBlLAorLSAgICAgICAgRXh0ZW5kZWRTbGljZUFzdFR5cGUsCisg ICAgICAgICBEaWN0aW9uYXJ5Q29tcHJlaGVuc2lvbkFzdFR5cGUsCisgICAgICAgICBCb29sZWFu T3BlcmF0aW9uQXN0VHlwZSwKKyAgICAgICAgIEJpbmFyeU9wZXJhdGlvbkFzdFR5cGUsCitAQCAt MTI3LDEwICsxMjUsOCBAQCBwdWJsaWM6CisgICAgICAgICBUdXBsZUFzdFR5cGUsCisgICAgICAg ICBZaWVsZEZyb21Bc3RUeXBlLAorICAgICAgICAgQ29tcHJlaGVuc2lvbkFzdFR5cGUsCistCisg ICAgICAgICBTbGljZUFzdFR5cGUsCisgICAgICAgICBFbGxpcHNpc0FzdFR5cGUsCistICAgICAg ICBJbmRleEFzdFR5cGUsCisgICAgICAgICBBc3NpZ25tZW50RXhwcmVzc2lvbkFzdFR5cGUsCisg ICAgICAgICBMYXN0RXhwcmVzc2lvblR5cGUsIC8vIGtlZXAgdGhpcyBhdCB0aGUgZW5kIG9mIHRo ZSBleHByIGFzdCBsaXN0CisgCitAQCAtNjgxLDcgKzY3Nyw3IEBAIGNsYXNzIEtERVZQWVRIT05Q QVJTRVJfRVhQT1JUIFN1YnNjcmlwdEFzdCA6IHB1YmxpYyBFeHByZXNzaW9uQXN0IHsKKyBwdWJs aWM6CisgICAgIFN1YnNjcmlwdEFzdChBc3QqIHBhcmVudCk7CisgICAgIEV4cHJlc3Npb25Bc3Qq IHZhbHVlOworLSAgICBTbGljZUFzdEJhc2UqIHNsaWNlOworKyAgICBFeHByZXNzaW9uQXN0KiBz bGljZTsKKyAgICAgRXhwcmVzc2lvbkFzdDo6Q29udGV4dCBjb250ZXh0OworIH07CisgCitAQCAt NzA2LDE4ICs3MDIsMTIgQEAgcHVibGljOgorICAgICBFeHByZXNzaW9uQXN0OjpDb250ZXh0IGNv bnRleHQ7CisgfTsKKyAKKy0vKiogU2xpY2UgY2xhc3NlcyAqKi8KKy1jbGFzcyBLREVWUFlUSE9O UEFSU0VSX0VYUE9SVCBTbGljZUFzdEJhc2UgOiBwdWJsaWMgQXN0IHsKKy1wdWJsaWM6CistICAg IFNsaWNlQXN0QmFzZShBc3QqIHBhcmVudCwgQXN0VHlwZSB0eXBlKTsKKy19OworLQorLWNsYXNz IEtERVZQWVRIT05QQVJTRVJfRVhQT1JUIEVsbGlwc2lzQXN0IDogcHVibGljIFNsaWNlQXN0QmFz ZSB7CisrY2xhc3MgS0RFVlBZVEhPTlBBUlNFUl9FWFBPUlQgRWxsaXBzaXNBc3QgOiBwdWJsaWMg RXhwcmVzc2lvbkFzdCB7CisgcHVibGljOgorICAgICBFbGxpcHNpc0FzdChBc3QqIHBhcmVudCk7 CisgfTsKKyAKKy1jbGFzcyBLREVWUFlUSE9OUEFSU0VSX0VYUE9SVCBTbGljZUFzdCA6IHB1Ymxp YyBTbGljZUFzdEJhc2UgeworK2NsYXNzIEtERVZQWVRIT05QQVJTRVJfRVhQT1JUIFNsaWNlQXN0 IDogcHVibGljIEV4cHJlc3Npb25Bc3QgeworIHB1YmxpYzoKKyAgICAgU2xpY2VBc3QoQXN0KiBw YXJlbnQpOworICAgICBFeHByZXNzaW9uQXN0KiBsb3dlcjsKK0BAIC03MjUsMTcgKzcxNSw2IEBA IHB1YmxpYzoKKyAgICAgRXhwcmVzc2lvbkFzdCogc3RlcDsKKyB9OworIAorLWNsYXNzIEtERVZQ WVRIT05QQVJTRVJfRVhQT1JUIEV4dGVuZGVkU2xpY2VBc3QgOiBwdWJsaWMgU2xpY2VBc3RCYXNl IHsKKy1wdWJsaWM6CistICAgIEV4dGVuZGVkU2xpY2VBc3QoQXN0KiBwYXJlbnQpOworLSAgICBR TGlzdDxTbGljZUFzdCo+IGRpbXM7CistfTsKKy0KKy1jbGFzcyBLREVWUFlUSE9OUEFSU0VSX0VY UE9SVCBJbmRleEFzdCA6IHB1YmxpYyBTbGljZUFzdEJhc2UgeworLXB1YmxpYzoKKy0gICAgSW5k ZXhBc3QoQXN0KiBwYXJlbnQpOworLSAgICBFeHByZXNzaW9uQXN0KiB2YWx1ZTsKKy19OworIAor IC8qKiBJbmRlcGVuZGVudCBjbGFzc2VzICoqLworIAorZGlmZiAtLWdpdCBhL3BhcnNlci9hc3Ri dWlsZGVyLmNwcCBiL3BhcnNlci9hc3RidWlsZGVyLmNwcAoraW5kZXggYWQyZTBkY2UuLjc2ZTY1 MmNhIDEwMDY0NAorLS0tIGEvcGFyc2VyL2FzdGJ1aWxkZXIuY3BwCisrKysgYi9wYXJzZXIvYXN0 YnVpbGRlci5jcHAKK0BAIC0xMDQsNyArMTA0LDcgQEAgQ29kZUFzdDo6UHRyIEFzdEJ1aWxkZXI6 OnBhcnNlKGNvbnN0IFFVcmwmIGZpbGVuYW1lLCBRU3RyaW5nICZjb250ZW50cykKKyAjaWYgUFlU SE9OX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSygzLCA4LCAwKQorICAgICBQeUNvbXBpbGVy RmxhZ3MgZmxhZ3M7CisgICAgIGZsYWdzLmNmX2ZsYWdzID0gUHlDRl9TT1VSQ0VfSVNfVVRGOCB8 IFB5Q0ZfSUdOT1JFX0NPT0tJRSB8IFB5Q0ZfT05MWV9BU1Q7CistICAgIGZsYWdzLmNmX2ZlYXR1 cmVfdmVyc2lvbiA9IDc7CisrICAgIGZsYWdzLmNmX2ZlYXR1cmVfdmVyc2lvbiA9IFBZVEhPTl9W RVJTSU9OX01JTk9SOworICNlbHNlCisgICAgIFB5Q29tcGlsZXJGbGFncyBmbGFncyA9IHtQeUNG X1NPVVJDRV9JU19VVEY4IHwgUHlDRl9JR05PUkVfQ09PS0lFfTsKKyAjZW5kaWYKK2RpZmYgLS1n aXQgYS9wYXJzZXIvYXN0ZGVmYXVsdHZpc2l0b3IuY3BwIGIvcGFyc2VyL2FzdGRlZmF1bHR2aXNp dG9yLmNwcAoraW5kZXggY2RkMzFiYmYuLmJmNzlmZjUyIDEwMDY0NAorLS0tIGEvcGFyc2VyL2Fz dGRlZmF1bHR2aXNpdG9yLmNwcAorKysrIGIvcGFyc2VyL2FzdGRlZmF1bHR2aXNpdG9yLmNwcAor QEAgLTExMywxMSArMTEzLDYgQEAgdm9pZCBBc3REZWZhdWx0VmlzaXRvcjo6dmlzaXREZWxldGUo RGVsZXRlQXN0KiBub2RlKQorICAgICB2aXNpdE5vZGVMaXN0KG5vZGUtPnRhcmdldHMpOworIH0K KyAKKy12b2lkIEFzdERlZmF1bHRWaXNpdG9yOjp2aXNpdEV4dGVuZGVkU2xpY2UoRXh0ZW5kZWRT bGljZUFzdCogbm9kZSkKKy17CistICAgIHZpc2l0Tm9kZUxpc3Qobm9kZS0+ZGltcyk7CistfQor LQorIHZvaWQgQXN0RGVmYXVsdFZpc2l0b3I6OnZpc2l0Rm9yKEZvckFzdCogbm9kZSkKKyB7Cisg ICAgIHZpc2l0Tm9kZShub2RlLT50YXJnZXQpOworQEAgLTE1NywxMSArMTUyLDYgQEAgdm9pZCBB c3REZWZhdWx0VmlzaXRvcjo6dmlzaXRJbXBvcnRGcm9tKEltcG9ydEZyb21Bc3QqIG5vZGUpCisg ICAgIHZpc2l0SWRlbnRpZmllcihub2RlLT5tb2R1bGUpOworIH0KKyAKKy12b2lkIEFzdERlZmF1 bHRWaXNpdG9yOjp2aXNpdEluZGV4KEluZGV4QXN0KiBub2RlKQorLXsKKy0gICAgdmlzaXROb2Rl KG5vZGUtPnZhbHVlKTsKKy19CistCisgdm9pZCBBc3REZWZhdWx0VmlzaXRvcjo6dmlzaXRMYW1i ZGEoTGFtYmRhQXN0KiBub2RlKQorIHsKKyAgICAgdmlzaXROb2RlKG5vZGUtPmFyZ3VtZW50cyk7 CitkaWZmIC0tZ2l0IGEvcGFyc2VyL2FzdGRlZmF1bHR2aXNpdG9yLmggYi9wYXJzZXIvYXN0ZGVm YXVsdHZpc2l0b3IuaAoraW5kZXggYWExZjU0MGMuLjg1YzMxYjQ2IDEwMDY0NAorLS0tIGEvcGFy c2VyL2FzdGRlZmF1bHR2aXNpdG9yLmgKKysrKyBiL3BhcnNlci9hc3RkZWZhdWx0dmlzaXRvci5o CitAQCAtOTMsOCArOTMsNiBAQCBwdWJsaWM6CisgICAgIHZvaWQgdmlzaXRUdXBsZShUdXBsZUFz dCogbm9kZSkgb3ZlcnJpZGU7CisgICAgIHZvaWQgdmlzaXRFbGxpcHNpcyhFbGxpcHNpc0FzdCog bm9kZSkgb3ZlcnJpZGU7CisgICAgIHZvaWQgdmlzaXRTbGljZShTbGljZUFzdCogbm9kZSkgb3Zl cnJpZGU7CistICAgIHZvaWQgdmlzaXRFeHRlbmRlZFNsaWNlKEV4dGVuZGVkU2xpY2VBc3QqIG5v ZGUpIG92ZXJyaWRlOworLSAgICB2b2lkIHZpc2l0SW5kZXgoSW5kZXhBc3QqIG5vZGUpIG92ZXJy aWRlOworICAgICB2b2lkIHZpc2l0QXJndW1lbnRzKEFyZ3VtZW50c0FzdCogbm9kZSkgb3ZlcnJp ZGU7CisgICAgIHZvaWQgdmlzaXRBcmcoQXJnQXN0KiBub2RlKSBvdmVycmlkZTsKKyAgICAgdm9p ZCB2aXNpdEtleXdvcmQoS2V5d29yZEFzdCogbm9kZSkgb3ZlcnJpZGU7CitAQCAtMTY3LDggKzE2 NSw2IEBAIHB1YmxpYzoKKyAgICAgdm9pZCB2aXNpdFR1cGxlKFR1cGxlQXN0KiBub2RlKSBvdmVy cmlkZSB7IEFzdERlZmF1bHRWaXNpdG9yOjp2aXNpdFR1cGxlKG5vZGUpOyBkZWxldGUgbm9kZTsg fQorICAgICB2b2lkIHZpc2l0RWxsaXBzaXMoRWxsaXBzaXNBc3QqIG5vZGUpIG92ZXJyaWRlIHsg QXN0RGVmYXVsdFZpc2l0b3I6OnZpc2l0RWxsaXBzaXMobm9kZSk7IGRlbGV0ZSBub2RlOyB9Cisg ICAgIHZvaWQgdmlzaXRTbGljZShTbGljZUFzdCogbm9kZSkgb3ZlcnJpZGUgeyBBc3REZWZhdWx0 VmlzaXRvcjo6dmlzaXRTbGljZShub2RlKTsgZGVsZXRlIG5vZGU7IH0KKy0gICAgdm9pZCB2aXNp dEV4dGVuZGVkU2xpY2UoRXh0ZW5kZWRTbGljZUFzdCogbm9kZSkgb3ZlcnJpZGUgeyBBc3REZWZh dWx0VmlzaXRvcjo6dmlzaXRFeHRlbmRlZFNsaWNlKG5vZGUpOyBkZWxldGUgbm9kZTsgfQorLSAg ICB2b2lkIHZpc2l0SW5kZXgoSW5kZXhBc3QqIG5vZGUpIG92ZXJyaWRlIHsgQXN0RGVmYXVsdFZp c2l0b3I6OnZpc2l0SW5kZXgobm9kZSk7IGRlbGV0ZSBub2RlOyB9CisgICAgIHZvaWQgdmlzaXRB cmd1bWVudHMoQXJndW1lbnRzQXN0KiBub2RlKSBvdmVycmlkZSB7IEFzdERlZmF1bHRWaXNpdG9y Ojp2aXNpdEFyZ3VtZW50cyhub2RlKTsgZGVsZXRlIG5vZGU7IH0KKyAgICAgdm9pZCB2aXNpdEFy ZyhBcmdBc3QqIG5vZGUpIG92ZXJyaWRlIHsgQXN0RGVmYXVsdFZpc2l0b3I6OnZpc2l0QXJnKG5v ZGUpOyBkZWxldGUgbm9kZTsgfQorICAgICB2b2lkIHZpc2l0S2V5d29yZChLZXl3b3JkQXN0KiBu b2RlKSBvdmVycmlkZSB7IEFzdERlZmF1bHRWaXNpdG9yOjp2aXNpdEtleXdvcmQobm9kZSk7IGRl bGV0ZSBub2RlOyB9CitkaWZmIC0tZ2l0IGEvcGFyc2VyL2FzdHZpc2l0b3IuY3BwIGIvcGFyc2Vy L2FzdHZpc2l0b3IuY3BwCitpbmRleCA1MWM1YTFjNS4uNWRjNWU0ZWMgMTAwNjQ0CistLS0gYS9w YXJzZXIvYXN0dmlzaXRvci5jcHAKKysrKyBiL3BhcnNlci9hc3R2aXNpdG9yLmNwcAorQEAgLTkw LDggKzkwLDYgQEAgdm9pZCBBc3RWaXNpdG9yOjp2aXNpdE5vZGUoQXN0KiBub2RlKQorICAgICAg ICAgY2FzZSBBc3Q6OlR1cGxlQXN0VHlwZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB0aGlzLT52aXNpdFR1cGxlKHN0YXRpY19jYXN0PFR1cGxlQXN0Kj4obm9kZSkpOyBicmVhazsK KyAgICAgICAgIGNhc2UgQXN0OjpFbGxpcHNpc0FzdFR5cGU6ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdGhpcy0+dmlzaXRFbGxpcHNpcyhzdGF0aWNfY2FzdDxFbGxpcHNpc0FzdCo+KG5v ZGUpKTsgYnJlYWs7CisgICAgICAgICBjYXNlIEFzdDo6U2xpY2VBc3RUeXBlOiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHRoaXMtPnZpc2l0U2xpY2Uoc3RhdGljX2Nhc3Q8U2xpY2VB c3QqPihub2RlKSk7IGJyZWFrOworLSAgICAgICAgY2FzZSBBc3Q6OkV4dGVuZGVkU2xpY2VBc3RU eXBlOiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLT52aXNpdEV4dGVuZGVkU2xpY2Uoc3Rh dGljX2Nhc3Q8RXh0ZW5kZWRTbGljZUFzdCo+KG5vZGUpKTsgYnJlYWs7CistICAgICAgICBjYXNl IEFzdDo6SW5kZXhBc3RUeXBlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMt PnZpc2l0SW5kZXgoc3RhdGljX2Nhc3Q8SW5kZXhBc3QqPihub2RlKSk7IGJyZWFrOworICAgICAg ICAgY2FzZSBBc3Q6OkFyZ3VtZW50c0FzdFR5cGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB0aGlzLT52aXNpdEFyZ3VtZW50cyhzdGF0aWNfY2FzdDxBcmd1bWVudHNBc3QqPihub2RlKSk7 IGJyZWFrOworICAgICAgICAgY2FzZSBBc3Q6OktleXdvcmRBc3RUeXBlOiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB0aGlzLT52aXNpdEtleXdvcmQoc3RhdGljX2Nhc3Q8S2V5d29yZEFz dCo+KG5vZGUpKTsgYnJlYWs7CisgICAgICAgICBjYXNlIEFzdDo6QXJnQXN0VHlwZTogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMtPnZpc2l0QXJnKHN0YXRpY19jYXN0PEFy Z0FzdCo+KG5vZGUpKTsgYnJlYWs7CitkaWZmIC0tZ2l0IGEvcGFyc2VyL2FzdHZpc2l0b3IuaCBi L3BhcnNlci9hc3R2aXNpdG9yLmgKK2luZGV4IDUxYWE0N2I0Li5iZTlmNzU5ZiAxMDA2NDQKKy0t LSBhL3BhcnNlci9hc3R2aXNpdG9yLmgKKysrKyBiL3BhcnNlci9hc3R2aXNpdG9yLmgKK0BAIC0x MDYsOCArMTA2LDYgQEAgcHVibGljOgorICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRUdXBsZShUdXBs ZUFzdCogbm9kZSkgeyBRX1VOVVNFRChub2RlKTsgfTsKKyAgICAgdmlydHVhbCB2b2lkIHZpc2l0 RWxsaXBzaXMoRWxsaXBzaXNBc3QqIG5vZGUpIHsgUV9VTlVTRUQobm9kZSk7IH07CisgICAgIHZp cnR1YWwgdm9pZCB2aXNpdFNsaWNlKFNsaWNlQXN0KiBub2RlKSB7IFFfVU5VU0VEKG5vZGUpOyB9 OworLSAgICB2aXJ0dWFsIHZvaWQgdmlzaXRFeHRlbmRlZFNsaWNlKEV4dGVuZGVkU2xpY2VBc3Qq IG5vZGUpIHsgUV9VTlVTRUQobm9kZSk7IH07CistICAgIHZpcnR1YWwgdm9pZCB2aXNpdEluZGV4 KEluZGV4QXN0KiBub2RlKSB7IFFfVU5VU0VEKG5vZGUpOyB9OworICAgICB2aXJ0dWFsIHZvaWQg dmlzaXRBcmd1bWVudHMoQXJndW1lbnRzQXN0KiBub2RlKSB7IFFfVU5VU0VEKG5vZGUpOyB9Owor ICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRLZXl3b3JkKEtleXdvcmRBc3QqIG5vZGUpIHsgUV9VTlVT RUQobm9kZSk7IH07CisgICAgIHZpcnR1YWwgdm9pZCB2aXNpdEFyZyhBcmdBc3QqIG5vZGUpIHsg UV9VTlVTRUQobm9kZSk7IH07CitkaWZmIC0tZ2l0IGEvcGFyc2VyL2NvbnZlcnNpb25HZW5lcmF0 b3IucHkgYi9wYXJzZXIvY29udmVyc2lvbkdlbmVyYXRvci5weQoraW5kZXggNjYwNTU5NTMuLjM0 MTliM2QyIDEwMDY0NAorLS0tIGEvcGFyc2VyL2NvbnZlcnNpb25HZW5lcmF0b3IucHkKKysrKyBi L3BhcnNlci9jb252ZXJzaW9uR2VuZXJhdG9yLnB5CitAQCAtMzEzLDYgKzMxMyw4IEBAIGZvciBp bmRleCwgbGluZXMgaW4gc29ydGVkKHJlc3VsdHMuaXRlbXMoKSk6CisgICAgICAgICBmdW5jID0g ZnVuY19zdHJ1Y3R1cmUucmVwbGFjZSgnJXtSVUxFX0ZPUn0nLCBpbmRleCkucmVwbGFjZSgnJXtT V0lUQ0hfTElORVN9JywgY3VycmVudF9zd2l0Y2hfbGluZXMpLnJlcGxhY2UoJyV7QVBQRU5ESVh9 JywgYXBwZW5kaXgpCisgICAgIGVsc2U6CisgICAgICAgICBmdW5jID0gc2ltcGxlX2Z1bmNfc3Ry dWN0dXJlLnJlcGxhY2UoJyV7UlVMRV9GT1J9JywgaW5kZXgpLnJlcGxhY2UoJyV7U1dJVENIX0xJ TkVTfScsIGN1cnJlbnRfc3dpdGNoX2xpbmVzKQorKyAgICBpZiBpbmRleCA9PSAnX3NsaWNlJzoK KysgICAgICAgIGZ1bmMgPSAiI2lmIFBZVEhPTl9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSygz LCA5LCAwKVxuIiArIGZ1bmMgKyAiXG4jZW5kaWZcbiIKKyAgICAgcHJpbnQoZnVuYykKKyAKKyBw cmludCgnJyd9OworZGlmZiAtLWdpdCBhL3BhcnNlci9nZW5lcmF0ZWQuaCBiL3BhcnNlci9nZW5l cmF0ZWQuaAoraW5kZXggZTExMzZmODQuLjJiYTc1NGRmIDEwMDY0NAorLS0tIGEvcGFyc2VyL2dl bmVyYXRlZC5oCisrKysgYi9wYXJzZXIvZ2VuZXJhdGVkLmgKK0BAIC00MjYsNiArNDI2LDE2IEBA IFB5T2JqZWN0ICp2YWx1ZSA9IG5vZGUtPnYuQ29uc3RhbnQudmFsdWU7aWYgKHZhbHVlID09IFB5 X05vbmUpIHsgICAgTmFtZUNvbnN0YW50CisgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHY7Cisg ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgIH0KKysjZW5kaWYKKysjaWYgUFlU SE9OX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSygzLCA5LCAwKQorKyAgICAgICAgY2FzZSBT bGljZV9raW5kOiB7CisrICAgICAgICAgICAgICAgIFNsaWNlQXN0KiB2ID0gbmV3ICBTbGljZUFz dChwYXJlbnQoKSk7CisrICAgICAgICAgICAgICAgIG5vZGVTdGFjay5wdXNoKHYpOyB2LT5sb3dl ciA9IHN0YXRpY19jYXN0PEV4cHJlc3Npb25Bc3QqPih2aXNpdE5vZGUobm9kZS0+di5TbGljZS5s b3dlcikpOyBub2RlU3RhY2sucG9wKCk7CisrICAgICAgICAgICAgICAgIG5vZGVTdGFjay5wdXNo KHYpOyB2LT51cHBlciA9IHN0YXRpY19jYXN0PEV4cHJlc3Npb25Bc3QqPih2aXNpdE5vZGUobm9k ZS0+di5TbGljZS51cHBlcikpOyBub2RlU3RhY2sucG9wKCk7CisrICAgICAgICAgICAgICAgIG5v ZGVTdGFjay5wdXNoKHYpOyB2LT5zdGVwID0gc3RhdGljX2Nhc3Q8RXhwcmVzc2lvbkFzdCo+KHZp c2l0Tm9kZShub2RlLT52LlNsaWNlLnN0ZXApKTsgbm9kZVN0YWNrLnBvcCgpOworKyAgICAgICAg ICAgICAgICByZXN1bHQgPSB2OworKyAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAg ICB9CisgI2VuZGlmCisgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgIHFXYXJuaW5nKCkg PDwgIlVuc3VwcG9ydGVkIF9leHByIEFTVCB0eXBlOiAiIDw8IG5vZGUtPmtpbmQ7CitAQCAtNDgw LDEyICs0OTAsMTQgQEAgUHlPYmplY3QgKnZhbHVlID0gbm9kZS0+di5Db25zdGFudC52YWx1ZTtp ZiAodmFsdWUgPT0gUHlfTm9uZSkgeyAgICBOYW1lQ29uc3RhbnQKKyAgICAgICAgIHJldHVybiB2 OworICAgICB9CisgCisrI2lmIFBZVEhPTl9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSygzLCA5 LCAwKQorIAorICAgICBBc3QqIHZpc2l0Tm9kZShfc2xpY2UqIG5vZGUpIHsKKyAgICAgICAgIGlm ICggISBub2RlICkgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICBib29sIHJhbmdlc19jb3BpZWQg PSBmYWxzZTsgUV9VTlVTRUQocmFuZ2VzX2NvcGllZCk7CisgICAgICAgICBBc3QqIHJlc3VsdCA9 IG51bGxwdHI7CisgICAgICAgICBzd2l0Y2ggKCBub2RlLT5raW5kICkgeworKyNpZiBQWVRIT05f VkVSU0lPTiA8IFFUX1ZFUlNJT05fQ0hFQ0soMywgOSwgMCkKKyAgICAgICAgIGNhc2UgU2xpY2Vf a2luZDogeworICAgICAgICAgICAgICAgICBTbGljZUFzdCogdiA9IG5ldyAgU2xpY2VBc3QocGFy ZW50KCkpOworICAgICAgICAgICAgICAgICBub2RlU3RhY2sucHVzaCh2KTsgdi0+bG93ZXIgPSBz dGF0aWNfY2FzdDxFeHByZXNzaW9uQXN0Kj4odmlzaXROb2RlKG5vZGUtPnYuU2xpY2UubG93ZXIp KTsgbm9kZVN0YWNrLnBvcCgpOworQEAgLTQ5NCwxOCArNTA2LDIxIEBAIFB5T2JqZWN0ICp2YWx1 ZSA9IG5vZGUtPnYuQ29uc3RhbnQudmFsdWU7aWYgKHZhbHVlID09IFB5X05vbmUpIHsgICAgTmFt ZUNvbnN0YW50CisgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHY7CisgICAgICAgICAgICAgICAg IGJyZWFrOworICAgICAgICAgICAgIH0KKysjZW5kaWYKKysjaWYgUFlUSE9OX1ZFUlNJT04gPCBR VF9WRVJTSU9OX0NIRUNLKDMsIDksIDApCisgICAgICAgICBjYXNlIEV4dFNsaWNlX2tpbmQ6IHsK Ky0gICAgICAgICAgICAgICAgRXh0ZW5kZWRTbGljZUFzdCogdiA9IG5ldyAgRXh0ZW5kZWRTbGlj ZUFzdChwYXJlbnQoKSk7CistICAgICAgICAgICAgICAgIG5vZGVTdGFjay5wdXNoKHYpOyB2LT5k aW1zID0gdmlzaXROb2RlTGlzdDxfc2xpY2UsIFNsaWNlQXN0Pihub2RlLT52LkV4dFNsaWNlLmRp bXMpOyBub2RlU3RhY2sucG9wKCk7CisrICAgICAgICAgICAgICAgIFR1cGxlQXN0KiB2ID0gbmV3 ICBUdXBsZUFzdChwYXJlbnQoKSk7CisrICAgICAgICAgICAgICAgIG5vZGVTdGFjay5wdXNoKHYp OyB2LT5lbGVtZW50cyA9IHZpc2l0Tm9kZUxpc3Q8X2V4cHIsIEV4cHJlc3Npb25Bc3Q+KG5vZGUt PnYuRXh0U2xpY2UuZGltcyk7IG5vZGVTdGFjay5wb3AoKTsKKyAgICAgICAgICAgICAgICAgcmVz dWx0ID0gdjsKKyAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgfQorKyNlbmRp ZgorKyNpZiBQWVRIT05fVkVSU0lPTiA8IFFUX1ZFUlNJT05fQ0hFQ0soMywgOSwgMCkKKyAgICAg ICAgIGNhc2UgSW5kZXhfa2luZDogeworLSAgICAgICAgICAgICAgICBJbmRleEFzdCogdiA9IG5l dyAgSW5kZXhBc3QocGFyZW50KCkpOworLSAgICAgICAgICAgICAgICBub2RlU3RhY2sucHVzaCh2 KTsgdi0+dmFsdWUgPSBzdGF0aWNfY2FzdDxFeHByZXNzaW9uQXN0Kj4odmlzaXROb2RlKG5vZGUt PnYuSW5kZXgudmFsdWUpKTsgbm9kZVN0YWNrLnBvcCgpOworLSAgICAgICAgICAgICAgICByZXN1 bHQgPSB2OworKyByZXR1cm4gdmlzaXROb2RlKG5vZGUtPnYuSW5kZXgudmFsdWUpOworICAgICAg ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICB9CisrI2VuZGlmCisgICAgICAgICBkZWZh dWx0OgorICAgICAgICAgICAgIHFXYXJuaW5nKCkgPDwgIlVuc3VwcG9ydGVkIF9zbGljZSBBU1Qg dHlwZTogIiA8PCBub2RlLT5raW5kOworICAgICAgICAgICAgIFFfQVNTRVJUKGZhbHNlKTsKK0BA IC01MzcsNiArNTUyLDggQEAgUHlPYmplY3QgKnZhbHVlID0gbm9kZS0+di5Db25zdGFudC52YWx1 ZTtpZiAodmFsdWUgPT0gUHlfTm9uZSkgeyAgICBOYW1lQ29uc3RhbnQKKyAgICAgICAgIHJldHVy biByZXN1bHQ7CisgICAgIH0KKyAKKysjZW5kaWYKKysKKyAKKyAgICAgQXN0KiB2aXNpdE5vZGUo X3N0bXQqIG5vZGUpIHsKKyAgICAgICAgIGlmICggISBub2RlICkgcmV0dXJuIG51bGxwdHI7Citk aWZmIC0tZ2l0IGEvcGFyc2VyL3B5dGhvbjM4LnNkZWYgYi9wYXJzZXIvcHl0aG9uMzkuc2RlZgor c2ltaWxhcml0eSBpbmRleCA5NiUKK3JlbmFtZSBmcm9tIHBhcnNlci9weXRob24zOC5zZGVmCity ZW5hbWUgdG8gcGFyc2VyL3B5dGhvbjM5LnNkZWYKK2luZGV4IDMwZDlmOTVhLi42YjliOGIzNyAx MDA2NDQKKy0tLSBhL3BhcnNlci9weXRob24zOC5zZGVmCisrKysgYi9wYXJzZXIvcHl0aG9uMzku c2RlZgorQEAgLTEyOSwxMCArMTI5LDExIEBAIGVsc2UgeworICAgICBRX0FTU0VSVChmYWxzZSk7 CisgfTs7CisgUlVMRV9GT1IgX2V4cHI7S0lORCBOYW1lZEV4cHJfa2luZDtBQ1RJT05TIGNyZWF0 ZXxBc3NpZ25tZW50RXhwcmVzc2lvbkFzdCBzZXR8dGFyZ2V0LT5FeHByZXNzaW9uQXN0LHRhcmdl dCBzZXR8dmFsdWUtPkV4cHJlc3Npb25Bc3QsdmFsdWU7U0lOQ0UgMy44OzsKKytSVUxFX0ZPUiBf ZXhwcjtLSU5EIFNsaWNlX2tpbmQ7QUNUSU9OUyBjcmVhdGV8U2xpY2VBc3Qgc2V0fGxvd2VyLT5F eHByZXNzaW9uQXN0LGxvd2VyIHNldHx1cHBlci0+RXhwcmVzc2lvbkFzdCx1cHBlciBzZXR8c3Rl cC0+RXhwcmVzc2lvbkFzdCxzdGVwO1NJTkNFIDMuOTs7CisgCistUlVMRV9GT1IgX3NsaWNlO0tJ TkQgU2xpY2Vfa2luZDtBQ1RJT05TIGNyZWF0ZXxTbGljZUFzdCBzZXR8bG93ZXItPkV4cHJlc3Np b25Bc3QsbG93ZXIgc2V0fHVwcGVyLT5FeHByZXNzaW9uQXN0LHVwcGVyIHNldHxzdGVwLT5FeHBy ZXNzaW9uQXN0LHN0ZXA7OworLVJVTEVfRk9SIF9zbGljZTtLSU5EIEV4dFNsaWNlX2tpbmQ7QUNU SU9OUyBjcmVhdGV8RXh0ZW5kZWRTbGljZUFzdCBzZXR8ZGltcz0+U2xpY2VBc3QsZGltczs7Cist UlVMRV9GT1IgX3NsaWNlO0tJTkQgSW5kZXhfa2luZDtBQ1RJT05TIGNyZWF0ZXxJbmRleEFzdCBz ZXR8dmFsdWUtPkV4cHJlc3Npb25Bc3QsdmFsdWU7OworK1JVTEVfRk9SIF9zbGljZTtLSU5EIFNs aWNlX2tpbmQ7QUNUSU9OUyBjcmVhdGV8U2xpY2VBc3Qgc2V0fGxvd2VyLT5FeHByZXNzaW9uQXN0 LGxvd2VyIHNldHx1cHBlci0+RXhwcmVzc2lvbkFzdCx1cHBlciBzZXR8c3RlcC0+RXhwcmVzc2lv bkFzdCxzdGVwO0JFRk9SRSAzLjk7OworK1JVTEVfRk9SIF9zbGljZTtLSU5EIEV4dFNsaWNlX2tp bmQ7QUNUSU9OUyBjcmVhdGV8VHVwbGVBc3Qgc2V0fGVsZW1lbnRzPT5FeHByZXNzaW9uQXN0LGRp bXM7QkVGT1JFIDMuOTs7CisrUlVMRV9GT1IgX3NsaWNlO0tJTkQgSW5kZXhfa2luZDtBQ1RJT05T O0JFRk9SRSAzLjk7Q09ERSByZXR1cm4gdmlzaXROb2RlKG5vZGUtPnYuSW5kZXgudmFsdWUpOzsK KyAKKyAKKyBSVUxFX0ZPUiBfY29tcHJlaGVuc2lvbjtLSU5EIGFueTtBQ1RJT05TIGNyZWF0ZXxD b21wcmVoZW5zaW9uQXN0IHNldHx0YXJnZXQtPkV4cHJlc3Npb25Bc3QsdGFyZ2V0IHNldHxpdGVy YXRvci0+RXhwcmVzc2lvbkFzdCxpdGVyIHNldHxjb25kaXRpb25zPT5FeHByZXNzaW9uQXN0LGlm czs7CitkaWZmIC0tZ2l0IGEvcGFyc2VyL3JhbmdlZml4dmlzaXRvci5jcHAgYi9wYXJzZXIvcmFu Z2VmaXh2aXNpdG9yLmNwcAoraW5kZXggYzc4MDRkM2UuLmM3MGVkMTgxIDEwMDY0NAorLS0tIGEv cGFyc2VyL3JhbmdlZml4dmlzaXRvci5jcHAKKysrKyBiL3BhcnNlci9yYW5nZWZpeHZpc2l0b3Iu Y3BwCitAQCAtNzAsNiArNzAsMTEgQEAgdm9pZCBSYW5nZUZpeFZpc2l0b3I6OnZpc2l0Tm9kZShB c3QqIG5vZGUpIHsKKyAgICAgfQorIH07CisgCisrdm9pZCBSYW5nZUZpeFZpc2l0b3I6OnZpc2l0 Q29kZShDb2RlQXN0KiBub2RlKSB7CisrICAgIG5vZGUtPnN0YXJ0TGluZSA9IG5vZGUtPnN0YXJ0 Q29sID0gMDsKKysgICAgQXN0RGVmYXVsdFZpc2l0b3I6OnZpc2l0Q29kZShub2RlKTsKKyt9Cisr Cisgdm9pZCBSYW5nZUZpeFZpc2l0b3I6OnZpc2l0RnVuY3Rpb25EZWZpbml0aW9uKEZ1bmN0aW9u RGVmaW5pdGlvbkFzdCogbm9kZSkgeworICAgICBjdXREZWZpbml0aW9uUHJlYW1ibGUobm9kZS0+ bmFtZSwgbm9kZS0+YXN5bmMgPyAiYXN5bmNkZWYiIDogImRlZiIpOworICAgICBBc3REZWZhdWx0 VmlzaXRvcjo6dmlzaXRGdW5jdGlvbkRlZmluaXRpb24obm9kZSk7CitkaWZmIC0tZ2l0IGEvcGFy c2VyL3JhbmdlZml4dmlzaXRvci5oIGIvcGFyc2VyL3JhbmdlZml4dmlzaXRvci5oCitpbmRleCAz MGNhNTkyNy4uZmFjNDllMGMgMTAwNjQ0CistLS0gYS9wYXJzZXIvcmFuZ2VmaXh2aXNpdG9yLmgK KysrKyBiL3BhcnNlci9yYW5nZWZpeHZpc2l0b3IuaAorQEAgLTM3LDYgKzM3LDcgQEAgY2xhc3Mg S0RFVlBZVEhPTlBBUlNFUl9OT19FWFBPUlQgUmFuZ2VGaXhWaXNpdG9yIDogcHVibGljIEFzdERl ZmF1bHRWaXNpdG9yIHsKKyBwdWJsaWM6CisgICAgIFJhbmdlRml4VmlzaXRvcihjb25zdCBRU3Ry aW5nJiBjb250ZW50cykgOiBsaW5lcyhjb250ZW50cy5zcGxpdCgnXG4nKSkge307CisgICAgIHZv aWQgdmlzaXROb2RlKEFzdCogbm9kZSkgb3ZlcnJpZGU7CisrICAgIHZvaWQgdmlzaXRDb2RlKFB5 dGhvbjo6Q29kZUFzdCogbm9kZSkgb3ZlcnJpZGU7CisgICAgIHZvaWQgdmlzaXRGdW5jdGlvbkRl ZmluaXRpb24oRnVuY3Rpb25EZWZpbml0aW9uQXN0KiBub2RlKSBvdmVycmlkZTsKKyAgICAgdm9p ZCB2aXNpdENsYXNzRGVmaW5pdGlvbihDbGFzc0RlZmluaXRpb25Bc3QqIG5vZGUpIG92ZXJyaWRl OworICAgICB2b2lkIHZpc2l0QXR0cmlidXRlKEF0dHJpYnV0ZUFzdCogbm9kZSkgb3ZlcnJpZGU7 CgpkaWZmIC0tZ2l0IGEva2RldmVsb3AtcHl0aG9uLnNwZWMgYi9rZGV2ZWxvcC1weXRob24uc3Bl YwppbmRleCA2ZGFjZDk5Li5kNTMzZDFmIDEwMDY0NAotLS0gYS9rZGV2ZWxvcC1weXRob24uc3Bl YworKysgYi9rZGV2ZWxvcC1weXRob24uc3BlYwpAQCAtMSwxNCArMSwxMCBAQAogJXVuZGVmaW5l IF9fY21ha2VfaW5fc291cmNlX2J1aWxkCi0jIFRoaXMgcGFja2FnZSBkZXBlbmRzIG9uIGF1dG9t YWdpYyBieXRlIGNvbXBpbGF0aW9uCi0jIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9D aGFuZ2VzL05vX21vcmVfYXV0b21hZ2ljX1B5dGhvbl9ieXRlY29tcGlsYXRpb25fcGhhc2VfMgot JWdsb2JhbCBfcHl0aG9uX2J5dGVjb21waWxlX2V4dHJhIDEKLQogCiBOYW1lOiAgICAgICBrZGV2 ZWxvcC1weXRob24KIFZlcnNpb246ICAgIDUuNS4yCiAlZ2xvYmFsIHB5M19zdWZmaXggLXB5Mwog JWdsb2JhbCBweTNfdGFnIC5weTMKLVJlbGVhc2U6ICAgIDMlez9kaXN0fQorUmVsZWFzZTogICAg NCV7P2Rpc3R9CiBMaWNlbnNlOiAgICBHUEx2MgogU291cmNlMDogICAgaHR0cDovL2Rvd25sb2Fk LmtkZS5vcmcvc3RhYmxlL2tkZXZlbG9wLyV7dmVyc2lvbn0vc3JjL2tkZXYtcHl0aG9uLSV7dmVy c2lvbn0udGFyLnh6CiAKQEAgLTI3LDYgKzIzLDkgQEAgUGF0Y2gxOiAgICAga2Rldi1weXRob24t MS43LjAtcHkzLWRvYy1zeW50YXgucGF0Y2gKICMgRml4IHN5bnRheCBlcnJvciBkdWUgdG8gYXN5 bmMgYmVpbmcgYSByZXNlcnZlZCBrZXl3b3JkIGluIHB5dGhvbjMuNwogUGF0Y2gyOiAgICAga2Rl di1weXRob25fYXN5bmMucGF0Y2gKIAorIyBQeXRob24gMy45IHN1cHBvcnQKK1BhdGNoMzogICAg IGtkZXZlbG9wLXB5dGhvbi0zOS5wYXRjaAorCiBTdW1tYXJ5OiAgICBQeXRob24gMyBQbHVnaW4g Zm9yIEtEZXZlbG9wCiBVUkw6ICAgICAgICBodHRwczovL3d3dy5rZGV2ZWxvcC5vcmcvCiAKQEAg LTY4LDExICs2NywxNCBAQCBQeXRob24gMyBsYW5ndWFnZSBzdXBwb3J0IGZvciB0aGUgS0RldmVs b3AgSW50ZWdyYXRlZCBEZXZlbG9wbWVudCBFbnZpcm9ubWVudC4KICVwYXRjaDEgLXAxCiAjIGFz eW5jCiAlcGF0Y2gyIC1wMQorIyBQeXRob24gMy45CislcGF0Y2gzIC1wMQogCiAlYnVpbGQKICV7 Y21ha2Vfa2Y1fQogJWNtYWtlX2J1aWxkCiAKKyVweV9ieXRlX2NvbXBpbGUgJXtfX3B5dGhvbjN9 ICV7YnVpbGRyb290fSV7X2RhdGFkaXJ9L2tkZXZweXRob25zdXBwb3J0CiAKICVpbnN0YWxsCiAl Y21ha2VfaW5zdGFsbApAQCAtOTksNiArMTAxLDkgQEAgcm0gLWYgJXtidWlsZHJvb3R9JXtfZGF0 YWRpcn0va2RldnB5dGhvbnN1cHBvcnQvZG9jdW1lbnRhdGlvbl9maWxlcy9QeUtERTQvcGFyc2UK ICV7X2RhdGFkaXJ9L21ldGFpbmZvL29yZy5rZGUua2Rldi1weXRob24ubWV0YWluZm8ueG1sCiAK ICVjaGFuZ2Vsb2cKKyogTW9uIEF1ZyAyNCAyMDIwIEphbiBHcnVsaWNoIDxqZ3J1bGljaEByZWRo YXQuY29tPiAtIDUuNS4yLTQKKy0gU3VwcG9ydCBQeXRob24gMy45CisKICogU2F0IEF1ZyAwMSAy MDIwIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+ IC0gNS41LjItMwogLSBTZWNvbmQgYXR0ZW1wdCAtIFJlYnVpbHQgZm9yCiAgIGh0dHBzOi8vZmVk b3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzNfTWFzc19SZWJ1aWxkCg==