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: Rex Dieter To: git-commits@fedoraproject.org Subject: [rpms/amarok] epel10.2: - BR: taglib-devel >= 1.6, taglib-extras-devel >= 1.0 Date: Mon, 06 Jul 2026 18:30:54 GMT Message-ID: <178336265440.1.15001595342684765898.rpms-amarok-ff7fee362e11@fedoraproject.org> List-ID: X-Git-Repo: rpms/amarok X-Git-Branch: epel10.2 X-Git-Rev: ff7fee362e11405e9618f9e4812639b380da2d07 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYW1hcm9rCkJyYW5j aCA6IGVwZWwxMC4yCkNvbW1pdCA6IGZmN2ZlZTM2MmUxMTQwNWU5NjE4ZjllNDgxMjYzOWIzODBk YTJkMDcKQXV0aG9yIDogUmV4IERpZXRlciA8cmRpZXRlckBmZWRvcmFwcm9qZWN0Lm9yZz4KRGF0 ZSAgIDogMjAwOS0wOS0xN1QxOTowMzozNyswMDowMApTdGF0cyAgOiArNjgyLy0zIGluIDIgZmls ZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2FtYXJvay9j L2ZmN2ZlZTM2MmUxMTQwNWU5NjE4ZjllNDgxMjYzOWIzODBkYTJkMDc/YnJhbmNoPWVwZWwxMC4y CgpMb2c6Ci0gQlI6IHRhZ2xpYi1kZXZlbCA+PSAxLjYsIHRhZ2xpYi1leHRyYXMtZGV2ZWwgPj0g MS4wCgotLS0KZGlmZiAtLWdpdCBhL2FtYXJvay10YWdsaWIucGF0Y2ggYi9hbWFyb2stdGFnbGli LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1NTk2ZDUKLS0tIC9k ZXYvbnVsbAorKysgYi9hbWFyb2stdGFnbGliLnBhdGNoCkBAIC0wLDAgKzEsNjczIEBACisjIGdp dCBkaWZmIDNlZTBlZjcwYzBjOWQ1ZGU5ODIwOTFlMzUzODA0Yzk5MGMzNWVhNGUKK2RpZmYgLS1n aXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCA4MjE5YmM2Li5lNGI2 Yjk0IDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitA QCAtMTMsMTAgKzEzLDEwIEBAIG9wdGlvbihXSVRIX0lQT0QgIkVuYWJsZSBpUG9kIHN1cHBvcnQg aW4gQW1hcm9rIiBPTikKKyBpbmNsdWRlKENoZWNrTGlicmFyeUV4aXN0cykKKyBjaGVja19saWJy YXJ5X2V4aXN0cyhkbCBkbG9wZW4gIiIgTElCRExfRk9VTkQpCisgCistc2V0KFRBR0xJQl9NSU5f VkVSU0lPTiAiMS41IikKKytzZXQoVEFHTElCX01JTl9WRVJTSU9OICIxLjYiKQorIGZpbmRfcGFj a2FnZShUYWdsaWIgUkVRVUlSRUQpCisgCistZmluZF9wYWNrYWdlKFRhZ2xpYi1FeHRyYXMgMC4x IFJFUVVJUkVEKQorK2ZpbmRfcGFja2FnZShUYWdsaWItRXh0cmFzIDEuMCBSRVFVSVJFRCkKKyBp ZiggVEFHTElCLUVYVFJBU19GT1VORCApCisgICAgIGFkZF9kZWZpbml0aW9ucyggLURUQUdMSUJf RVhUUkFTX0ZPVU5EICkKKyBlbmRpZiggVEFHTElCLUVYVFJBU19GT1VORCApCitkaWZmIC0tZ2l0 IGEvc2hhcmVkL01ldGFSZXBsYXlHYWluLmNwcCBiL3NoYXJlZC9NZXRhUmVwbGF5R2Fpbi5jcHAK K2luZGV4IGQ2ZWRkOTUuLjk3MDczZDUgMTAwNjQ0CistLS0gYS9zaGFyZWQvTWV0YVJlcGxheUdh aW4uY3BwCisrKysgYi9zaGFyZWQvTWV0YVJlcGxheUdhaW4uY3BwCitAQCAtMzgsMTAgKzM4LDgg QEAKKyAjaW5jbHVkZSA8dHJ1ZWF1ZGlvZmlsZS5oPgorICNpbmNsdWRlIDx2b3JiaXNmaWxlLmg+ CisgI2luY2x1ZGUgPHdhdnBhY2tmaWxlLmg+CistI2lmZGVmIFRBR0xJQl9FWFRSQVNfRk9VTkQK KyAjaW5jbHVkZSA8YXNmZmlsZS5oPgorICNpbmNsdWRlIDxtcDRmaWxlLmg+CistI2VuZGlmCisg CisgLy8gY29udmVydHMgYSBwZWFrIHZhbHVlIGZyb20gdGhlIG5vcm1hbCBkaWdpdGFsIHNjYWxl IGZvcm0gdG8gdGhlIG1vcmUgdXNlZnVsIGRlY2liZWwgZm9ybQorIC8vIGRlY2liZWxzIGFyZSBy ZWxhdGl2ZSB0byB0aGUgL2FkanVzdGVkLyB3YXZlZm9ybQorQEAgLTIyOSw3ICsyMjcsNiBAQCBz dGF0aWMgTWV0YTo6UmVwbGF5R2FpblRhZ01hcCByZWFkWGlwaFRhZ3MoIFRhZ0xpYjo6T2dnOjpY aXBoQ29tbWVudCAqdGFnICkKKyAgICAgcmV0dXJuIG91dHB1dE1hcDsKKyB9CisgCistI2lmZGVm IFRBR0xJQl9FWFRSQVNfRk9VTkQKKyBzdGF0aWMgTWV0YTo6UmVwbGF5R2FpblRhZ01hcCByZWFk QVNGVGFncyggVGFnTGliOjpBU0Y6OlRhZyAqdGFnICkKKyB7CisgICAgIGNvbnN0IFRhZ0xpYjo6 QVNGOjpBdHRyaWJ1dGVMaXN0TWFwICZ0YWdNYXAgPSB0YWctPmF0dHJpYnV0ZUxpc3RNYXAoKTsK K0BAIC0yNTEsNyArMjQ4LDYgQEAgc3RhdGljIE1ldGE6OlJlcGxheUdhaW5UYWdNYXAgcmVhZEFT RlRhZ3MoIFRhZ0xpYjo6QVNGOjpUYWcgKnRhZyApCisgCisgICAgIHJldHVybiBvdXRwdXRNYXA7 CisgfQorLSNlbmRpZgorIC8vIEJhZCBuZXdzOiBSZXBsYXlHYWluIGluIE1QNCBpcyBub3QgYWN0 dWFsbHkgc3RhbmRhcmRpemVkIGluIGFueSB3YXkuICBNYXliZSByZWltcGxlbWVudCBhdCBzb21l IHBvaW50Li4ubWF5YmUuICBTZWUKKyAvLyBodHRwOi8vd3d3Lmh5ZHJvZ2VuYXVkaW8ub3JnL2Zv cnVtcy9sb2ZpdmVyc2lvbi9pbmRleC5waHAvdDE0MzIyLmh0bWwKKyAjaWZkZWYgRE9fTk9UX1VT RV9USElTX1VOVElMX0ZJWEVECitAQCAtMzMyLDEzICszMjgsMTEgQEAgTWV0YTo6cmVhZFJlcGxh eUdhaW5UYWdzKCBUYWdMaWI6OkZpbGVSZWYgZmlsZXJlZiApCisgICAgICAgICBpZiAoIGZpbGUt PkFQRVRhZygpICkKKyAgICAgICAgICAgICBtYXAgPSByZWFkQVBFVGFncyggZmlsZS0+QVBFVGFn KCkgKTsKKyAgICAgfQorLSNpZmRlZiBUQUdMSUJfRVhUUkFTX0ZPVU5ECisgICAgIGVsc2UgaWYg KCBUYWdMaWI6OkFTRjo6RmlsZSAqZmlsZSA9IGR5bmFtaWNfY2FzdDxUYWdMaWI6OkFTRjo6Rmls ZSAqPiggZmlsZXJlZi5maWxlKCkgKSApCisgICAgIHsKKyAgICAgICAgIGlmICggZmlsZS0+dGFn KCkgKQorICAgICAgICAgICAgIG1hcCA9IHJlYWRBU0ZUYWdzKCBmaWxlLT50YWcoKSApOworICAg ICB9CistI2VuZGlmCisgLy8gU2VlIGNvbW1lbnQgYWJvdmUKKyAjaWZkZWYgRE9fTk9UX1VTRV9U SElTX1VOVElMX0ZJWEVECisgICAgIGVsc2UgaWYgKCBUYWdMaWI6Ok1QNDo6RmlsZSAqZmlsZSA9 IGR5bmFtaWNfY2FzdDxUYWdMaWI6Ok1QNDo6RmlsZSAqPiggZmlsZXJlZi5maWxlKCkgKSApCitk aWZmIC0tZ2l0IGEvc3JjL0FwcC5jcHAgYi9zcmMvQXBwLmNwcAoraW5kZXggYmQwMTUxNy4uNjM3 YTBhZCAxMDA2NDQKKy0tLSBhL3NyYy9BcHAuY3BwCisrKysgYi9zcmMvQXBwLmNwcAorQEAgLTcw LDEwICs3MCw3IEBACisgCisgI2lmZGVmIFRBR0xJQl9FWFRSQVNfRk9VTkQKKyAjaW5jbHVkZSA8 YXVkaWJsZWZpbGV0eXBlcmVzb2x2ZXIuaD4KKy0jaW5jbHVkZSA8YXNmZmlsZXR5cGVyZXNvbHZl ci5oPgorLSNpbmNsdWRlIDx3YXZmaWxldHlwZXJlc29sdmVyLmg+CisgI2luY2x1ZGUgPHJlYWxt ZWRpYWZpbGV0eXBlcmVzb2x2ZXIuaD4KKy0jaW5jbHVkZSA8bXA0ZmlsZXR5cGVyZXNvbHZlci5o PgorICNlbmRpZgorIAorIFFNdXRleCBEZWJ1Zzo6bXV0ZXg7CitAQCAtMTQzLDExICsxNDAsOCBA QCBBcHA6OkFwcCgpCisgCisgI2lmZGVmIFRBR0xJQl9FWFRSQVNfRk9VTkQKKyAgICAgUEVSRl9M T0coICJSZWdpc3RlcmluZyB0YWdsaWIgcGx1Z2lucyIgKQorLSAgICBUYWdMaWI6OkZpbGVSZWY6 OmFkZEZpbGVUeXBlUmVzb2x2ZXIobmV3IE1QNEZpbGVUeXBlUmVzb2x2ZXIpOworLSAgICBUYWdM aWI6OkZpbGVSZWY6OmFkZEZpbGVUeXBlUmVzb2x2ZXIobmV3IEFTRkZpbGVUeXBlUmVzb2x2ZXIp OworICAgICBUYWdMaWI6OkZpbGVSZWY6OmFkZEZpbGVUeXBlUmVzb2x2ZXIobmV3IFJlYWxNZWRp YUZpbGVUeXBlUmVzb2x2ZXIpOworICAgICBUYWdMaWI6OkZpbGVSZWY6OmFkZEZpbGVUeXBlUmVz b2x2ZXIobmV3IEF1ZGlibGVGaWxlVHlwZVJlc29sdmVyKTsKKy0gICAgVGFnTGliOjpGaWxlUmVm OjphZGRGaWxlVHlwZVJlc29sdmVyKG5ldyBXYXZGaWxlVHlwZVJlc29sdmVyKTsKKyAgICAgUEVS Rl9MT0coICJEb25lIFJlZ2lzdGVyaW5nIHRhZ2xpYiBwbHVnaW5zIiApCisgI2VuZGlmCisgCitk aWZmIC0tZ2l0IGEvc3JjL21ldGEvTWV0YVV0aWxpdHkuY3BwIGIvc3JjL21ldGEvTWV0YVV0aWxp dHkuY3BwCitpbmRleCBiNzhlZjkyLi4zMTRkYjU3IDEwMDY0NAorLS0tIGEvc3JjL21ldGEvTWV0 YVV0aWxpdHkuY3BwCisrKysgYi9zcmMvbWV0YS9NZXRhVXRpbGl0eS5jcHAKK0BAIC00MSwxMiAr NDEsMTAgQEAKKyAjaW5jbHVkZSA8dm9yYmlzZmlsZS5oPgorICNpbmNsdWRlIDx0ZXh0aWRlbnRp ZmljYXRpb25mcmFtZS5oPgorICNpbmNsdWRlIDx4aXBoY29tbWVudC5oPgorLSNpZmRlZiBUQUdM SUJfRVhUUkFTX0ZPVU5ECisgI2luY2x1ZGUgPG1wNGZpbGUuaD4KKyAjaW5jbHVkZSA8bXA0aXRl bS5oPgorICNpbmNsdWRlIDxtcDR0YWcuaD4KKyAjaW5jbHVkZSA8YXNmdGFnLmg+CistI2VuZGlm CisgCisgICAgICAgICBzdGF0aWMgY29uc3QgUVN0cmluZyBYRVNBTV9BTEJVTSAgICAgICAgICA9 ICJodHRwOi8vZnJlZWRlc2t0b3Aub3JnL3N0YW5kYXJkcy94ZXNhbS8xLjAvY29yZSNhbGJ1bSI7 CisgICAgICAgICBzdGF0aWMgY29uc3QgUVN0cmluZyBYRVNBTV9BUlRJU1QgICAgICAgICA9ICJo dHRwOi8vZnJlZWRlc2t0b3Aub3JnL3N0YW5kYXJkcy94ZXNhbS8xLjAvY29yZSNhcnRpc3QiOwor QEAgLTMyMCw3ICszMTgsNiBAQCBNZXRhOjpGaWVsZDo6d3JpdGVGaWVsZHMoIFRhZ0xpYjo6Rmls ZVJlZiBmaWxlcmVmLCBjb25zdCBRVmFyaWFudE1hcCAmY2hhbmdlcyApCisgICAgICAgICAgICAg ZmlsZS0+eGlwaENvbW1lbnQoKS0+YWRkRmllbGQoIkRJU0NOVU1CRVIiLCBkaXNjKTsKKyAgICAg ICAgIH0KKyAgICAgfQorLSNpZmRlZiBUQUdMSUJfRVhUUkFTX0ZPVU5ECisgICAgIGVsc2UgaWYg KCBUYWdMaWI6Ok1QNDo6RmlsZSAqZmlsZSA9IGR5bmFtaWNfY2FzdDxUYWdMaWI6Ok1QNDo6Rmls ZSAqPiggZmlsZXJlZi5maWxlKCkgKSApCisgICAgIHsKKyAgICAgICAgIGlmKCBjaGFuZ2VzLmNv bnRhaW5zKCBNZXRhOjpGaWVsZDo6Q09NUE9TRVIgKSApCitAQCAtMzM4LDcgKzMzNSw2IEBAIE1l dGE6OkZpZWxkOjp3cml0ZUZpZWxkcyggVGFnTGliOjpGaWxlUmVmIGZpbGVyZWYsIGNvbnN0IFFW YXJpYW50TWFwICZjaGFuZ2VzICkKKyAgICAgICAgICAgICBtcDR0YWctPml0ZW1MaXN0TWFwKClb ImRpc2siXSA9IFRhZ0xpYjo6TVA0OjpJdGVtKCBkaXNjbnVtYmVyLCAwICk7CisgICAgICAgICB9 CisgICAgIH0KKy0jZW5kaWYKKyAgICAgaWYoIHNob3VsZFNhdmUgKQorICAgICAgICAgZmlsZXJl Zi5zYXZlKCk7CisgfQorZGlmZiAtLWdpdCBhL3NyYy9tZXRhL2ZpbGUvRmlsZV9wLmggYi9zcmMv bWV0YS9maWxlL0ZpbGVfcC5oCitpbmRleCA1N2M1MTk1Li5mOWU5ZGFmIDEwMDY0NAorLS0tIGEv c3JjL21ldGEvZmlsZS9GaWxlX3AuaAorKysrIGIvc3JjL21ldGEvZmlsZS9GaWxlX3AuaAorQEAg LTUwLDEwICs1MCw3IEBACisgI2luY2x1ZGUgPHRsaXN0Lmg+CisgI2luY2x1ZGUgPHRzdHJpbmcu aD4KKyAjaW5jbHVkZSA8dm9yYmlzZmlsZS5oPgorLQorLSNpZmRlZiBUQUdMSUJfRVhUUkFTX0ZP VU5ECisgI2luY2x1ZGUgPG1wNGZpbGUuaD4KKy0jZW5kaWYKKyAKKyBuYW1lc3BhY2UgTWV0YUZp bGUKKyB7CitAQCAtMjgzLDcgKzI4MCw2IEBAIHZvaWQgVHJhY2s6OlByaXZhdGU6OnJlYWRNZXRh RGF0YSgpCisgICAgICAgICAgICAgICAgIGRpc2MgPSBzdHJpcCggZmxtWyAiRElTQ05VTUJFUiIg XS5mcm9udCgpICk7CisgICAgICAgICB9CisgICAgIH0KKy0jaWZkZWYgVEFHTElCX0VYVFJBU19G T1VORAorICAgICBlbHNlIGlmKCBUYWdMaWI6Ok1QNDo6RmlsZSAqZmlsZSA9IGR5bmFtaWNfY2Fz dDxUYWdMaWI6Ok1QNDo6RmlsZSAqPiggZmlsZVJlZi5maWxlKCkgKSApCisgICAgIHsKKyAgICAg ICAgIFRhZ0xpYjo6TVA0OjpUYWcgKm1wNHRhZyA9IGR5bmFtaWNfY2FzdDwgVGFnTGliOjpNUDQ6 OlRhZyAqPiggZmlsZS0+dGFnKCkgKTsKK0BAIC0yOTYsNyArMjkyLDYgQEAgdm9pZCBUcmFjazo6 UHJpdmF0ZTo6cmVhZE1ldGFEYXRhKCkKKyAgICAgICAgICAgICAgICAgZGlzYyA9IFFTdHJpbmc6 Om51bWJlciggbXA0dGFnLT5pdGVtTGlzdE1hcCgpWyJkaXNrIl0udG9JbnRQYWlyKCkuZmlyc3Qg KTsKKyAgICAgICAgIH0KKyAgICAgfQorLSNlbmRpZgorICAgICBpZiggIWRpc2MuaXNFbXB0eSgp ICkKKyAgICAgeworICAgICAgICAgaW50IGkgPSBkaXNjLmluZGV4T2YoICcvJyApOworZGlmZiAt LWdpdCBhL3NyYy9wb2RjYXN0cy9zcWwvU3FsUG9kY2FzdE1ldGEuY3BwIGIvc3JjL3BvZGNhc3Rz L3NxbC9TcWxQb2RjYXN0TWV0YS5jcHAKK2luZGV4IDhiNWE5NmIuLjRmODJlYjAgMTAwNjQ0Cist LS0gYS9zcmMvcG9kY2FzdHMvc3FsL1NxbFBvZGNhc3RNZXRhLmNwcAorKysrIGIvc3JjL3BvZGNh c3RzL3NxbC9TcWxQb2RjYXN0TWV0YS5jcHAKK0BAIC00MiwxMCArNDIsNyBAQAorICNpbmNsdWRl IDx0bGlzdC5oPgorICNpbmNsdWRlIDx0c3RyaW5nLmg+CisgI2luY2x1ZGUgPHZvcmJpc2ZpbGUu aD4KKy0KKy0jaWZkZWYgVEFHTElCX0VYVFJBU19GT1VORAorICNpbmNsdWRlIDxtcDRmaWxlLmg+ CistI2VuZGlmCisgCisgY2xhc3MgVGltZWNvZGVXcml0ZUNhcGFiaWxpdHlQb2RjYXN0SW1wbCA6 IHB1YmxpYyBNZXRhOjpUaW1lY29kZVdyaXRlQ2FwYWJpbGl0eQorIHsKK2RpZmYgLS1naXQgYS91 dGlsaXRpZXMvY29sbGVjdGlvbnNjYW5uZXIvQUZUVXRpbGl0eS5jcHAgYi91dGlsaXRpZXMvY29s bGVjdGlvbnNjYW5uZXIvQUZUVXRpbGl0eS5jcHAKK2luZGV4IDk4NTUyYzUuLjNkYzAwOWIgMTAw NjQ0CistLS0gYS91dGlsaXRpZXMvY29sbGVjdGlvbnNjYW5uZXIvQUZUVXRpbGl0eS5jcHAKKysr KyBiL3V0aWxpdGllcy9jb2xsZWN0aW9uc2Nhbm5lci9BRlRVdGlsaXR5LmNwcAorQEAgLTI2LDYg KzI2LDkgQEAKKyAjaW5jbHVkZSA8aWQzdjJ0YWcuaD4KKyAjaW5jbHVkZSA8bXBjZmlsZS5oPgor ICNpbmNsdWRlIDxtcGVnZmlsZS5oPgorKyNpbmNsdWRlIDxtcDRpdGVtLmg+CisrI2luY2x1ZGUg PG1wNGZpbGUuaD4KKysjaW5jbHVkZSA8bXA0dGFnLmg+CisgI2luY2x1ZGUgPG9nZ2ZpbGUuaD4K KyAjaW5jbHVkZSA8b2dnZmxhY2ZpbGUuaD4KKyAjaW5jbHVkZSA8c3BlZXhmaWxlLmg+CitAQCAt MzUsMTcgKzM4LDYgQEAKKyAjaW5jbHVkZSA8dm9yYmlzZmlsZS5oPgorICNpbmNsdWRlIDx4aXBo Y29tbWVudC5oPgorIAorLSNpZmRlZiBUQUdMSUJfRVhUUkFTX0ZPVU5ECistI2luY2x1ZGUgPG1w NGZpbGUuaD4KKy0jaW5jbHVkZSA8bXA0dGFnLmg+CistI2luY2x1ZGUgPG1wNGl0ZW0uaD4KKy0j aW5jbHVkZSA8YXVkaWJsZWZpbGV0eXBlcmVzb2x2ZXIuaD4KKy0jaW5jbHVkZSA8YXNmZmlsZXR5 cGVyZXNvbHZlci5oPgorLSNpbmNsdWRlIDx3YXZmaWxldHlwZXJlc29sdmVyLmg+CistI2luY2x1 ZGUgPHJlYWxtZWRpYWZpbGV0eXBlcmVzb2x2ZXIuaD4KKy0jaW5jbHVkZSA8bXA0ZmlsZXR5cGVy ZXNvbHZlci5oPgorLSNlbmRpZgorLQorICNpbmNsdWRlIDxRRmlsZT4KKyAjaW5jbHVkZSA8UVRp bWU+CisgCitkaWZmIC0tZ2l0IGEvdXRpbGl0aWVzL2NvbGxlY3Rpb25zY2FubmVyL0NvbGxlY3Rp b25TY2FubmVyLmNwcCBiL3V0aWxpdGllcy9jb2xsZWN0aW9uc2Nhbm5lci9Db2xsZWN0aW9uU2Nh bm5lci5jcHAKK2luZGV4IDY3M2JlMWMuLmMzZDk2MWUgMTAwNjQ0CistLS0gYS91dGlsaXRpZXMv Y29sbGVjdGlvbnNjYW5uZXIvQ29sbGVjdGlvblNjYW5uZXIuY3BwCisrKysgYi91dGlsaXRpZXMv Y29sbGVjdGlvbnNjYW5uZXIvQ29sbGVjdGlvblNjYW5uZXIuY3BwCitAQCAtNDksNiArNDksOSBA QAorICNpbmNsdWRlIDxmbGFjZmlsZS5oPgorICNpbmNsdWRlIDxpZDN2MXRhZy5oPgorICNpbmNs dWRlIDxpZDN2MnRhZy5oPgorKyNpbmNsdWRlIDxtcDRmaWxlLmg+CisrI2luY2x1ZGUgPG1wNHRh Zy5oPgorKyNpbmNsdWRlIDxtcDRpdGVtLmg+CisgI2luY2x1ZGUgPG1wY2ZpbGUuaD4KKyAjaW5j bHVkZSA8bXBlZ2ZpbGUuaD4KKyAjaW5jbHVkZSA8b2dnZmlsZS5oPgorQEAgLTU5LDE0ICs2Miw4 IEBACisgI2luY2x1ZGUgPHZvcmJpc2ZpbGUuaD4KKyAKKyAjaWZkZWYgVEFHTElCX0VYVFJBU19G T1VORAorLSNpbmNsdWRlIDxtcDRmaWxlLmg+CistI2luY2x1ZGUgPG1wNHRhZy5oPgorLSNpbmNs dWRlIDxtcDRpdGVtLmg+CisgI2luY2x1ZGUgPGF1ZGlibGVmaWxldHlwZXJlc29sdmVyLmg+Cist I2luY2x1ZGUgPGFzZmZpbGV0eXBlcmVzb2x2ZXIuaD4KKy0jaW5jbHVkZSA8d2F2ZmlsZXR5cGVy ZXNvbHZlci5oPgorICNpbmNsdWRlIDxyZWFsbWVkaWFmaWxldHlwZXJlc29sdmVyLmg+CistI2lu Y2x1ZGUgPG1wNGZpbGV0eXBlcmVzb2x2ZXIuaD4KKyAjZW5kaWYKKyAKKyAjaW5jbHVkZSA8dGV4 dGlkZW50aWZpY2F0aW9uZnJhbWUuaD4KK0BAIC0xMDEsMTEgKzk4LDggQEAgQ29sbGVjdGlvblNj YW5uZXI6OkNvbGxlY3Rpb25TY2FubmVyKCBpbnQgJmFyZ2MsIGNoYXIgKiphcmd2ICkKKyAgICAg cmVhZEFyZ3MoKTsKKyAKKyAjaWZkZWYgVEFHTElCX0VYVFJBU19GT1VORAorLSAgICBUYWdMaWI6 OkZpbGVSZWY6OmFkZEZpbGVUeXBlUmVzb2x2ZXIobmV3IE1QNEZpbGVUeXBlUmVzb2x2ZXIpOwor LSAgICBUYWdMaWI6OkZpbGVSZWY6OmFkZEZpbGVUeXBlUmVzb2x2ZXIobmV3IEFTRkZpbGVUeXBl UmVzb2x2ZXIpOworICAgICBUYWdMaWI6OkZpbGVSZWY6OmFkZEZpbGVUeXBlUmVzb2x2ZXIobmV3 IFJlYWxNZWRpYUZpbGVUeXBlUmVzb2x2ZXIpOworICAgICBUYWdMaWI6OkZpbGVSZWY6OmFkZEZp bGVUeXBlUmVzb2x2ZXIobmV3IEF1ZGlibGVGaWxlVHlwZVJlc29sdmVyKTsKKy0gICAgVGFnTGli OjpGaWxlUmVmOjphZGRGaWxlVHlwZVJlc29sdmVyKG5ldyBXYXZGaWxlVHlwZVJlc29sdmVyKTsK KyAjZW5kaWYKKyAKKyAgICAgbV9sb2dmaWxlID0gKCBtX2JhdGNoID8gKCBtX2luY3JlbWVudGFs ID8gImFtYXJva2NvbGxlY3Rpb25zY2FubmVyX2JhdGNoaW5jcmVtZW50YWxzY2FuLmxvZyIgOiAi YW1hcm9rY29sbGVjdGlvbnNjYW5uZXJfYmF0Y2hmdWxsc2Nhbi5sb2ciICkKK0BAIC02NDQsNyAr NjM4LDYgQEAgQ29sbGVjdGlvblNjYW5uZXI6OnJlYWRUYWdzKCBjb25zdCBRU3RyaW5nICZwYXRo LCBUYWdMaWI6OkF1ZGlvUHJvcGVydGllczo6UmVhZFMKKyAvLyAgICAgICAgICAgICBpZiAoIGlt YWdlcyAmJiBmaWxlLT5JRDN2MlRhZygpICkKKyAvLyAgICAgICAgICAgICAgICAgbG9hZEltYWdl c0Zyb21UYWcoICpmaWxlLT5JRDN2MlRhZygpLCAqaW1hZ2VzICk7CisgICAgICAgICB9CistI2lm ZGVmIFRBR0xJQl9FWFRSQVNfRk9VTkQKKyAgICAgICAgIGVsc2UgaWYgKCBUYWdMaWI6Ok1QNDo6 RmlsZSAqZmlsZSA9IGR5bmFtaWNfY2FzdDxUYWdMaWI6Ok1QNDo6RmlsZSAqPiggZmlsZXJlZi5m aWxlKCkgKSApCisgICAgICAgICB7CisgICAgICAgICAgICAgZmlsZVR5cGUgPSBtcDQ7CitAQCAt NjY3LDcgKzY2MCw2IEBAIENvbGxlY3Rpb25TY2FubmVyOjpyZWFkVGFncyggY29uc3QgUVN0cmlu ZyAmcGF0aCwgVGFnTGliOjpBdWRpb1Byb3BlcnRpZXM6OlJlYWRTCisgLy8gICAgICAgICAgICAg ICAgICAgICBpbWFnZXMtPnB1c2hfYmFjayggRW1iZWRkZWRJbWFnZSggbXA0dGFnLT5jb3Zlcigp LCAiIiApICk7CisgICAgICAgICAgICAgfQorICAgICAgICAgfQorLSNlbmRpZgorIAorICAgICAg ICAgaWYgKCAhZGlzYy5pc0VtcHR5KCkgKQorICAgICAgICAgeworZGlmZiAtLWdpdCBhL3V0aWxp dGllcy9jb2xsZWN0aW9uc2Nhbm5lci9NZXRhUmVwbGF5R2Fpbi5jcHAgYi91dGlsaXRpZXMvY29s bGVjdGlvbnNjYW5uZXIvTWV0YVJlcGxheUdhaW4uY3BwCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDhlNzg5Y2YuLjAwMDAwMDAKKy0tLSBhL3V0aWxpdGllcy9jb2xsZWN0aW9uc2Nh bm5lci9NZXRhUmVwbGF5R2Fpbi5jcHAKKysrKyAvZGV2L251bGwKK0BAIC0xLDM1NCArMCwwIEBA CistLyoKKy0gICBDb3B5cmlnaHQgKEMpIDIwMDkgQWxleCBNZXJyeSA8YWxleC5tZXJyeUBrZGVt YWlsLm5ldD4KKy0KKy0gICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCistICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy0gICBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorLSAgIG9mIHRoZSBMaWNl bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLQorLSAgIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorLSAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCistICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLSAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCistCistICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy0gICBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorLSAgIEZvdW5kYXRpb24s IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEw LTEzMDEsIFVTQQorLSovCistCistLy8gTk9URTogdGhpcyBmaWxlIGlzIHVzZWQgYnkgYW1hcm9r Y29sbGVjdGlvbnNjYW5uZXIgYW5kIENBTk5PVCB1c2UgYW55IGFtYXJva2xpYgorLS8vICAgICAg IGNvZGUgW3RoaXMgaW5jbHVkZXMgZGVidWcoKV0KKy0KKy0jaW5jbHVkZSAiTWV0YVJlcGxheUdh aW4uaCIKKy0KKy0jaW5jbHVkZSA8UVN0cmluZz4KKy0jaW5jbHVkZSA8Y21hdGg+CistCistLy8g VGFnbGliCistI2luY2x1ZGUgPHRhZy5oPgorLSNpbmNsdWRlIDx0bGlzdC5oPgorLSNpbmNsdWRl IDx0c3RyaW5nLmg+CistI2luY2x1ZGUgPHRleHRpZGVudGlmaWNhdGlvbmZyYW1lLmg+CistI2lu Y2x1ZGUgPGFwZXRhZy5oPgorLSNpbmNsdWRlIDxmbGFjZmlsZS5oPgorLSNpbmNsdWRlIDxpZDN2 MnRhZy5oPgorLSNpbmNsdWRlIDxtcGNmaWxlLmg+CistI2luY2x1ZGUgPG1wZWdmaWxlLmg+Cist I2luY2x1ZGUgPG9nZ2ZpbGUuaD4KKy0jaW5jbHVkZSA8b2dnZmxhY2ZpbGUuaD4KKy0jaW5jbHVk ZSA8c3BlZXhmaWxlLmg+CistI2luY2x1ZGUgPHRydWVhdWRpb2ZpbGUuaD4KKy0jaW5jbHVkZSA8 dm9yYmlzZmlsZS5oPgorLSNpbmNsdWRlIDx3YXZwYWNrZmlsZS5oPgorLSNpZmRlZiBUQUdMSUJf RVhUUkFTX0ZPVU5ECistI2luY2x1ZGUgPGFzZmZpbGUuaD4KKy0jaW5jbHVkZSA8bXA0ZmlsZS5o PgorLSNlbmRpZgorLQorLS8vIGNvbnZlcnRzIGEgcGVhayB2YWx1ZSBmcm9tIHRoZSBub3JtYWwg ZGlnaXRhbCBzY2FsZSBmb3JtIHRvIHRoZSBtb3JlIHVzZWZ1bCBkZWNpYmVsIGZvcm0KKy0vLyBk ZWNpYmVscyBhcmUgcmVsYXRpdmUgdG8gdGhlIC9hZGp1c3RlZC8gd2F2ZWZvcm0KKy1zdGF0aWMg cXJlYWwgcGVha1RvRGVjaWJlbHMoIHFyZWFsIHNjYWxlVmFsICkKKy17CistICAgIGlmICggc2Nh bGVWYWwgPiAwICkKKy0gICAgICAgIHJldHVybiAyMCAqIGxvZzEwKCBzY2FsZVZhbCApOworLSAg ICBlbHNlCistICAgICAgICByZXR1cm4gMDsKKy19CistCistLy8gTk9URTogcmVwcmVzZW50YXRp b24gaXMgdGFrZW4gdG8gYmUgYSBiaW5hcnkgdmFsdWUgd2l0aCB1bml0cyBpbiB0aGUgZmlyc3Qg Y29sdW1uLAorLS8vICAgICAgIDEvMiBpbiB0aGUgc2Vjb25kIGFuZCBzbyBvbi4KKy1zdGF0aWMg cXJlYWwgcmVhZFJWQTJQZWFrVmFsdWUoIGNvbnN0IFRhZ0xpYjo6Qnl0ZVZlY3RvciAmZGF0YSwg aW50IGJpdHMsIGJvb2wgKm9rICkKKy17CistICAgIHFyZWFsIHBlYWsgPSAwLjA7CistICAgIC8v IGRpc2NhcmRpbmcgZGlnaXRzIGF0IHRoZSBlbmQgcmVkdWNlcyBwcmVjaXNpb24sIGJ1dCBkb2Vz bid0IG90aGVyd2lzZSBjaGFuZ2UgdGhlIHZhbHVlCistICAgIGlmICggYml0cyA+IDMyICkKKy0g ICAgICAgIGJpdHMgPSAzMjsKKy0gICAgLy8gdGhlICs3IG1ha2VzIHN1cmUgd2Ugcm91bmQgdXAg d2hlbiB3ZSBkaXZpZGUgYnkgOAorLSAgICB1bnNpZ25lZCBpbnQgYnl0ZXMgPSAoYml0cyArIDcp IC8gODsKKy0KKy0gICAgLy8gbm9ybWFsaXplIGFwcGVhcnMgbm90IHRvIHdyaXRlIGEgcGVhayBh dCBhbGwsIGFuZCBoZW5jZSBzZXRzIGJpdHMgdG8gMAorLSAgICBpZiAoIGJpdHMgPT0gMCApCist ICAgIHsKKy0gICAgICAgIGlmICggb2sgKQorLSAgICAgICAgICAgICpvayA9IHRydWU7CistICAg IH0KKy0gICAgZWxzZSBpZiAoIGJpdHMgPj0gNCAmJiBkYXRhLnNpemUoKSA+PSBieXRlcyApIC8v IGZld2VyIHRoYW4gNCBiaXRzIHdvdWxkIGp1c3QgYmUgZGFmdAorLSAgICB7CistICAgICAgICAv LyBleGNlc3NCaXRzIGlzIHRoZSBudW1iZXIgb2YgYml0cyB3ZSBoYXZlIHRvIGRpc2NhcmQgYXQg dGhlIGVuZAorLSAgICAgICAgdW5zaWduZWQgaW50IGV4Y2Vzc0JpdHMgPSAoOCAqIGJ5dGVzKSAt IGJpdHM7CistICAgICAgICAvLyBtYXNrIGhhcyAxcyBldmVyeXdoZXJlIGJ1dCB0aGUgbGFzdCAv ZXhjZXNzQml0cy8gYml0cworLSAgICAgICAgcXVpbnQzMiBtYXNrID0gMHhmZmZmZmZmZiA8PCBl eGNlc3NCaXRzOworLSAgICAgICAgcXVpbnQzMiByYXdWYWx1ZSA9IDA7CistICAgICAgICBmb3Ig KCB1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBieXRlczsgKytpICkKKy0gICAgICAgIHsKKy0gICAg ICAgICAgICByYXdWYWx1ZSA8PD0gODsKKy0gICAgICAgICAgICByYXdWYWx1ZSArPSAodW5zaWdu ZWQgY2hhcilkYXRhW2ldOworLSAgICAgICAgfQorLSAgICAgICAgcmF3VmFsdWUgJj0gbWFzazsK Ky0gICAgICAgIHBlYWsgPSByYXdWYWx1ZTsKKy0gICAgICAgIC8vIGFtb3VudCB3ZSBuZWVkIHRv ICJzaGlmdCIgdGhlIHZhbHVlIHJpZ2h0IHRvIG1ha2UgdGhlIGZpcnN0IGRpZ2l0IHRoZSB1bml0 IGNvbHVtbgorLSAgICAgICAgdW5zaWduZWQgaW50IHJpZ2h0U2hpZnQgPSAoOCAqIGJ5dGVzKSAt IDE7CistICAgICAgICBwZWFrIC89IChxcmVhbCkoMSA8PCByaWdodFNoaWZ0KTsKKy0gICAgICAg IGlmICggb2sgKQorLSAgICAgICAgICAgICpvayA9IHRydWU7CistICAgIH0KKy0gICAgZWxzZQor LSAgICB7CistICAgICAgICBpZiAoIG9rICkKKy0gICAgICAgICAgICAqb2sgPSBmYWxzZTsKKy0g ICAgfQorLSAgICByZXR1cm4gcGVhazsKKy19CistCistLy8gYWRkcyB0aGUgY29udmVydGVkIHZl cnNpb24gb2YgdGhlIHNjYWxlIHZhbHVlIGlmIGl0IGlzIGEgdmFsaWQsIG5vbi1uZWdhdGl2ZSBm bG9hdAorLXN0YXRpYyB2b2lkIG1heWJlQWRkUGVhayggY29uc3QgVGFnTGliOjpTdHJpbmcgJnNj YWxlVmFsLCBNZXRhOjpSZXBsYXlHYWluVGFnIGtleSwgTWV0YTo6UmVwbGF5R2FpblRhZ01hcCAq bWFwICkKKy17CistICAgIC8vIHNjYWxlIHZhbHVlIGlzID49IDAsIGFuZCB0eXBpY2FsbHkgbm90 IG11Y2ggYmlnZ2VyIHRoYW4gMQorLSAgICBRU3RyaW5nIHZhbHVlID0gVFN0cmluZ1RvUVN0cmlu Zyggc2NhbGVWYWwgKTsKKy0gICAgYm9vbCBvayA9IGZhbHNlOworLSAgICBxcmVhbCBwZWFrID0g dmFsdWUudG9GbG9hdCggJm9rICk7CistICAgIGlmICggb2sgJiYgcGVhayA+PSAwICkKKy0gICAg ICAgICgqbWFwKVtrZXldID0gcGVha1RvRGVjaWJlbHMoIHBlYWsgKTsKKy19CistCistc3RhdGlj IHZvaWQgbWF5YmVBZGRHYWluKCBjb25zdCBUYWdMaWI6OlN0cmluZyAmaW5wdXQsIE1ldGE6OlJl cGxheUdhaW5UYWcga2V5LCBNZXRhOjpSZXBsYXlHYWluVGFnTWFwICptYXAgKQorLXsKKy0gICAg UVN0cmluZyB2YWx1ZSA9IFRTdHJpbmdUb1FTdHJpbmcoIGlucHV0ICkucmVtb3ZlKCAiIGRCIiAp OworLSAgICBib29sIG9rID0gZmFsc2U7CistICAgIHFyZWFsIGdhaW4gPSB2YWx1ZS50b0Zsb2F0 KCAmb2sgKTsKKy0gICAgaWYgKG9rKQorLSAgICAgICAgKCptYXApW2tleV0gPSBnYWluOworLX0K Ky0KKy1zdGF0aWMgTWV0YTo6UmVwbGF5R2FpblRhZ01hcCByZWFkSUQzdjJUYWdzKCBUYWdMaWI6 OklEM3YyOjpUYWcgKnRhZyApCisteworLSAgICBNZXRhOjpSZXBsYXlHYWluVGFnTWFwIG1hcDsK Ky0gICAgeyAgIC8vIElEM3YyLjQuMCBuYXRpdmUgcmVwbGF5IGdhaW4gdGFnIHN1cHBvcnQgKGFz IHdyaXR0ZW4gYnkgUXVvZCBMaWJldCwgZm9yIGV4YW1wbGUpLgorLSAgICAgICAgVGFnTGliOjpJ RDN2Mjo6RnJhbWVMaXN0IGZyYW1lcyA9IHRhZy0+ZnJhbWVMaXN0TWFwKClbIlJWQTIiXTsKKy0g ICAgICAgIGZyYW1lcy5hcHBlbmQodGFnLT5mcmFtZUxpc3RNYXAoKVsiWFJWQSJdKTsKKy0gICAg ICAgIGlmICggIWZyYW1lcy5pc0VtcHR5KCkgKQorLSAgICAgICAgeworLSAgICAgICAgICAgIGZv ciAoIHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGZyYW1lcy5zaXplKCk7ICsraSApCistICAgICAg ICAgICAgeworLSAgICAgICAgICAgICAgICAvLyB3ZSBoYXZlIHRvIHBhcnNlIHRoaXMgZnJhbWUg b3Vyc2VsdmVzCistICAgICAgICAgICAgICAgIC8vIElEM3YyIGZyYW1lIGhlYWRlciBpcyAxMCBi eXRlcywgc28gc2tpcCB0aGF0CistICAgICAgICAgICAgICAgIFRhZ0xpYjo6Qnl0ZVZlY3RvciBk YXRhID0gZnJhbWVzW2ldLT5yZW5kZXIoKS5taWQoIDEwICk7CistICAgICAgICAgICAgICAgIHVu c2lnbmVkIGludCBvZmZzZXQgPSAwOworLSAgICAgICAgICAgICAgICBRU3RyaW5nIGRlc2MoIGRh dGEuZGF0YSgpICk7CistICAgICAgICAgICAgICAgIG9mZnNldCArPSBkZXNjLmNvdW50KCkgKyAx OworLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY2hhbm5lbCA9IGRhdGEubWlkKCBvZmZz ZXQsIDEgKS50b1VJbnQoIHRydWUgKTsKKy0gICAgICAgICAgICAgICAgLy8gY2hhbm5lbCAxIGlz IHRoZSBtYWluIHZvbHVtZSAtIHRoZSBvbmx5IG9uZSB3ZSBjYXJlIGFib3V0CistICAgICAgICAg ICAgICAgIGlmICggY2hhbm5lbCA9PSAxICkKKy0gICAgICAgICAgICAgICAgeworLSAgICAgICAg ICAgICAgICAgICAgKytvZmZzZXQ7CistICAgICAgICAgICAgICAgICAgICBxaW50MTYgYWRqdXN0 bWVudDUxMiA9IGRhdGEubWlkKCBvZmZzZXQsIDIgKS50b1Nob3J0KCB0cnVlICk7CistICAgICAg ICAgICAgICAgICAgICBxcmVhbCBhZGp1c3RtZW50ID0gKCAocXJlYWwpYWRqdXN0bWVudDUxMiAp IC8gNTEyLjA7CistICAgICAgICAgICAgICAgICAgICBvZmZzZXQgKz0gMjsKKy0gICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGludCBwZWFrQml0cyA9IGRhdGEubWlkKCBvZmZzZXQsIDEgKS50 b1VJbnQoIHRydWUgKTsKKy0gICAgICAgICAgICAgICAgICAgICsrb2Zmc2V0OworLSAgICAgICAg ICAgICAgICAgICAgYm9vbCBvayA9IGZhbHNlOworLSAgICAgICAgICAgICAgICAgICAgcXJlYWwg cGVhayA9IHJlYWRSVkEyUGVha1ZhbHVlKCBkYXRhLm1pZCggb2Zmc2V0ICksIHBlYWtCaXRzLCAm b2sgKTsKKy0gICAgICAgICAgICAgICAgICAgIGlmICggb2sgKQorLSAgICAgICAgICAgICAgICAg ICAgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZGVzYy50b0xvd2VyKCkgPT0gImFs YnVtIiApCistICAgICAgICAgICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYXBbTWV0YTo6UmVwbGF5R2Fpbl9BbGJ1bV9HYWluXSA9IGFkanVzdG1lbnQ7Cist ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcFtNZXRhOjpSZXBsYXlHYWluX0FsYnVtX1Bl YWtdID0gcGVha1RvRGVjaWJlbHMoIHBlYWsgKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICB9 CistICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIGRlc2MudG9Mb3dlcigpID09ICJ0 cmFjayIgfHwgIW1hcC5jb250YWlucyggTWV0YTo6UmVwbGF5R2Fpbl9UcmFja19HYWluICkgKQor LSAgICAgICAgICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg bWFwW01ldGE6OlJlcGxheUdhaW5fVHJhY2tfR2Fpbl0gPSBhZGp1c3RtZW50OworLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtYXBbTWV0YTo6UmVwbGF5R2Fpbl9UcmFja19QZWFrXSA9IHBl YWtUb0RlY2liZWxzKCBwZWFrICk7CistICAgICAgICAgICAgICAgICAgICAgICAgfQorLSAgICAg ICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgfQorLSAg ICAgICAgICAgIGlmICggIW1hcC5pc0VtcHR5KCkgKQorLSAgICAgICAgICAgICAgICByZXR1cm4g bWFwOworLSAgICAgICAgfQorLSAgICB9CistCistICAgIHsgICAvLyBGb29iYXIyMDAwLXN0eWxl IElEM3YyLjMuMCB0YWdzCistICAgICAgICBUYWdMaWI6OklEM3YyOjpGcmFtZUxpc3QgZnJhbWVz ID0gdGFnLT5mcmFtZUxpc3RNYXAoKVsiVFhYWCJdOworLSAgICAgICAgZm9yICggVGFnTGliOjpJ RDN2Mjo6RnJhbWVMaXN0OjpJdGVyYXRvciBpdCA9IGZyYW1lcy5iZWdpbigpOyBpdCAhPSBmcmFt ZXMuZW5kKCk7ICsraXQgKSB7CistICAgICAgICAgICAgVGFnTGliOjpJRDN2Mjo6VXNlclRleHRJ ZGVudGlmaWNhdGlvbkZyYW1lKiBmcmFtZSA9CistICAgICAgICAgICAgICAgIGR5bmFtaWNfY2Fz dDxUYWdMaWI6OklEM3YyOjpVc2VyVGV4dElkZW50aWZpY2F0aW9uRnJhbWUqPiggKml0ICk7Cist ICAgICAgICAgICAgaWYgKCBmcmFtZSAmJiBmcmFtZS0+ZmllbGRMaXN0KCkuc2l6ZSgpID49IDIg KQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgUVN0cmluZyBkZXNjID0gVFN0cmlu Z1RvUVN0cmluZyggZnJhbWUtPmRlc2NyaXB0aW9uKCkgKS50b0xvd2VyKCk7CistICAgICAgICAg ICAgICAgIGlmICggZGVzYyA9PSAicmVwbGF5Z2Fpbl9hbGJ1bV9nYWluIiApCistICAgICAgICAg ICAgICAgICAgICBtYXliZUFkZEdhaW4oIGZyYW1lLT5maWVsZExpc3QoKVsxXSwgTWV0YTo6UmVw bGF5R2Fpbl9BbGJ1bV9HYWluLCAmbWFwICk7CistICAgICAgICAgICAgICAgIGlmICggZGVzYyA9 PSAicmVwbGF5Z2Fpbl9hbGJ1bV9wZWFrIiApCistICAgICAgICAgICAgICAgICAgICBtYXliZUFk ZFBlYWsoIGZyYW1lLT5maWVsZExpc3QoKVsxXSwgTWV0YTo6UmVwbGF5R2Fpbl9BbGJ1bV9QZWFr LCAmbWFwICk7CistICAgICAgICAgICAgICAgIGlmICggZGVzYyA9PSAicmVwbGF5Z2Fpbl90cmFj a19nYWluIiApCistICAgICAgICAgICAgICAgICAgICBtYXliZUFkZEdhaW4oIGZyYW1lLT5maWVs ZExpc3QoKVsxXSwgTWV0YTo6UmVwbGF5R2Fpbl9UcmFja19HYWluLCAmbWFwICk7CistICAgICAg ICAgICAgICAgIGlmICggZGVzYyA9PSAicmVwbGF5Z2Fpbl90cmFja19wZWFrIiApCistICAgICAg ICAgICAgICAgICAgICBtYXliZUFkZFBlYWsoIGZyYW1lLT5maWVsZExpc3QoKVsxXSwgTWV0YTo6 UmVwbGF5R2Fpbl9UcmFja19QZWFrLCAmbWFwICk7CistICAgICAgICAgICAgfQorLSAgICAgICAg fQorLSAgICB9CistICAgIHJldHVybiBtYXA7CistfQorLQorLXN0YXRpYyBNZXRhOjpSZXBsYXlH YWluVGFnTWFwIHJlYWRBUEVUYWdzKCBUYWdMaWI6OkFQRTo6VGFnICp0YWcgKQorLXsKKy0gICAg TWV0YTo6UmVwbGF5R2FpblRhZ01hcCBtYXA7CistICAgIGNvbnN0IFRhZ0xpYjo6QVBFOjpJdGVt TGlzdE1hcCAmaXRlbXMgPSB0YWctPml0ZW1MaXN0TWFwKCk7CistICAgIGlmICggaXRlbXMuY29u dGFpbnMoIlJFUExBWUdBSU5fVFJBQ0tfR0FJTiIpICkKKy0gICAgeworLSAgICAgICAgbWF5YmVB ZGRHYWluKCBpdGVtc1siUkVQTEFZR0FJTl9UUkFDS19HQUlOIl0udmFsdWVzKClbMF0sIE1ldGE6 OlJlcGxheUdhaW5fVHJhY2tfR2FpbiwgJm1hcCApOworLSAgICAgICAgaWYgKCBpdGVtcy5jb250 YWlucygiUkVQTEFZR0FJTl9UUkFDS19QRUFLIikgKQorLSAgICAgICAgICAgIG1heWJlQWRkUGVh ayggaXRlbXNbIlJFUExBWUdBSU5fVFJBQ0tfUEVBSyJdLnZhbHVlcygpWzBdLCBNZXRhOjpSZXBs YXlHYWluX1RyYWNrX1BlYWssICZtYXAgKTsKKy0gICAgfQorLSAgICBpZiAoIGl0ZW1zLmNvbnRh aW5zKCJSRVBMQVlHQUlOX0FMQlVNX0dBSU4iKSApCistICAgIHsKKy0gICAgICAgIG1heWJlQWRk R2FpbiggaXRlbXNbIlJFUExBWUdBSU5fQUxCVU1fR0FJTiJdLnZhbHVlcygpWzBdLCBNZXRhOjpS ZXBsYXlHYWluX0FsYnVtX0dhaW4sICZtYXAgKTsKKy0gICAgICAgIGlmICggaXRlbXMuY29udGFp bnMoIlJFUExBWUdBSU5fQUxCVU1fUEVBSyIpICkKKy0gICAgICAgICAgICBtYXliZUFkZFBlYWso IGl0ZW1zWyJSRVBMQVlHQUlOX0FMQlVNX1BFQUsiXS52YWx1ZXMoKVswXSwgTWV0YTo6UmVwbGF5 R2Fpbl9BbGJ1bV9QZWFrLCAmbWFwICk7CistICAgIH0KKy0gICAgcmV0dXJuIG1hcDsKKy19Cist Cistc3RhdGljIE1ldGE6OlJlcGxheUdhaW5UYWdNYXAgcmVhZFhpcGhUYWdzKCBUYWdMaWI6Ok9n Zzo6WGlwaENvbW1lbnQgKnRhZyApCisteworLSAgICBjb25zdCBUYWdMaWI6Ok9nZzo6RmllbGRM aXN0TWFwICZ0YWdNYXAgPSB0YWctPmZpZWxkTGlzdE1hcCgpOworLSAgICBNZXRhOjpSZXBsYXlH YWluVGFnTWFwIG91dHB1dE1hcDsKKy0KKy0gICAgaWYgKCAhdGFnTWFwWyJSRVBMQVlHQUlOX1RS QUNLX0dBSU4iXS5pc0VtcHR5KCkgKQorLSAgICB7CistICAgICAgICBtYXliZUFkZEdhaW4oIHRh Z01hcFsiUkVQTEFZR0FJTl9UUkFDS19HQUlOIl0uZnJvbnQoKSwgTWV0YTo6UmVwbGF5R2Fpbl9U cmFja19HYWluLCAmb3V0cHV0TWFwICk7CistICAgICAgICBpZiAoICF0YWdNYXBbIlJFUExBWUdB SU5fVFJBQ0tfUEVBSyJdLmlzRW1wdHkoKSApCistICAgICAgICAgICAgbWF5YmVBZGRQZWFrKCB0 YWdNYXBbIlJFUExBWUdBSU5fVFJBQ0tfUEVBSyJdLmZyb250KCksIE1ldGE6OlJlcGxheUdhaW5f VHJhY2tfUGVhaywgJm91dHB1dE1hcCApOworLSAgICB9CistCistICAgIGlmICggIXRhZ01hcFsi UkVQTEFZR0FJTl9BTEJVTV9HQUlOIl0uaXNFbXB0eSgpICkKKy0gICAgeworLSAgICAgICAgbWF5 YmVBZGRHYWluKCB0YWdNYXBbIlJFUExBWUdBSU5fQUxCVU1fR0FJTiJdLmZyb250KCksIE1ldGE6 OlJlcGxheUdhaW5fQWxidW1fR2FpbiwgJm91dHB1dE1hcCApOworLSAgICAgICAgaWYgKCAhdGFn TWFwWyJSRVBMQVlHQUlOX0FMQlVNX1BFQUsiXS5pc0VtcHR5KCkgKQorLSAgICAgICAgICAgIG1h eWJlQWRkUGVhayggdGFnTWFwWyJSRVBMQVlHQUlOX0FMQlVNX1BFQUsiXS5mcm9udCgpLCBNZXRh OjpSZXBsYXlHYWluX0FsYnVtX1BlYWssICZvdXRwdXRNYXAgKTsKKy0gICAgfQorLQorLSAgICBy ZXR1cm4gb3V0cHV0TWFwOworLX0KKy0KKy0jaWZkZWYgVEFHTElCX0VYVFJBU19GT1VORAorLXN0 YXRpYyBNZXRhOjpSZXBsYXlHYWluVGFnTWFwIHJlYWRBU0ZUYWdzKCBUYWdMaWI6OkFTRjo6VGFn ICp0YWcgKQorLXsKKy0gICAgY29uc3QgVGFnTGliOjpBU0Y6OkF0dHJpYnV0ZUxpc3RNYXAgJnRh Z01hcCA9IHRhZy0+YXR0cmlidXRlTGlzdE1hcCgpOworLSAgICBNZXRhOjpSZXBsYXlHYWluVGFn TWFwIG91dHB1dE1hcDsKKy0KKy0gICAgaWYgKCAhdGFnTWFwWyJSRVBMQVlHQUlOX1RSQUNLX0dB SU4iXS5pc0VtcHR5KCkgKQorLSAgICB7CistICAgICAgICBtYXliZUFkZEdhaW4oIHRhZ01hcFsi UkVQTEFZR0FJTl9UUkFDS19HQUlOIl0uZnJvbnQoKS50b1N0cmluZygpLCBNZXRhOjpSZXBsYXlH YWluX1RyYWNrX0dhaW4sICZvdXRwdXRNYXAgKTsKKy0gICAgICAgIGlmICggIXRhZ01hcFsiUkVQ TEFZR0FJTl9UUkFDS19QRUFLIl0uaXNFbXB0eSgpICkKKy0gICAgICAgICAgICBtYXliZUFkZFBl YWsoIHRhZ01hcFsiUkVQTEFZR0FJTl9UUkFDS19QRUFLIl0uZnJvbnQoKS50b1N0cmluZygpLCBN ZXRhOjpSZXBsYXlHYWluX1RyYWNrX1BlYWssICZvdXRwdXRNYXAgKTsKKy0gICAgfQorLQorLSAg ICBpZiAoICF0YWdNYXBbIlJFUExBWUdBSU5fQUxCVU1fR0FJTiJdLmlzRW1wdHkoKSApCistICAg IHsKKy0gICAgICAgIG1heWJlQWRkR2FpbiggdGFnTWFwWyJSRVBMQVlHQUlOX0FMQlVNX0dBSU4i XS5mcm9udCgpLnRvU3RyaW5nKCksIE1ldGE6OlJlcGxheUdhaW5fQWxidW1fR2FpbiwgJm91dHB1 dE1hcCApOworLSAgICAgICAgaWYgKCAhdGFnTWFwWyJSRVBMQVlHQUlOX0FMQlVNX1BFQUsiXS5p c0VtcHR5KCkgKQorLSAgICAgICAgICAgIG1heWJlQWRkUGVhayggdGFnTWFwWyJSRVBMQVlHQUlO X0FMQlVNX1BFQUsiXS5mcm9udCgpLnRvU3RyaW5nKCksIE1ldGE6OlJlcGxheUdhaW5fQWxidW1f UGVhaywgJm91dHB1dE1hcCApOworLSAgICB9CistCistICAgIHJldHVybiBvdXRwdXRNYXA7Cist fQorLSNlbmRpZgorLS8vIEJhZCBuZXdzOiBSZXBsYXlHYWluIGluIE1QNCBpcyBub3QgYWN0dWFs bHkgc3RhbmRhcmRpemVkIGluIGFueSB3YXkuICBNYXliZSByZWltcGxlbWVudCBhdCBzb21lIHBv aW50Li4ubWF5YmUuICBTZWUKKy0vLyBodHRwOi8vd3d3Lmh5ZHJvZ2VuYXVkaW8ub3JnL2ZvcnVt cy9sb2ZpdmVyc2lvbi9pbmRleC5waHAvdDE0MzIyLmh0bWwKKy0jaWZkZWYgRE9fTk9UX1VTRV9U SElTX1VOVElMX0ZJWEVECistc3RhdGljIE1ldGE6OlJlcGxheUdhaW5UYWdNYXAgcmVhZE1QNFRh Z3MoIFRhZ0xpYjo6TVA0OjpUYWcgKnRhZyApCisteworLSAgICBNZXRhOjpSZXBsYXlHYWluVGFn TWFwIG91dHB1dE1hcDsKKy0KKy0gICAgaWYgKCAhdGFnLT50cmFja1JlcGxheUdhaW4oKS5pc051 bGwoKSApIHsKKy0gICAgICAgIG1heWJlQWRkR2FpbiggdGFnLT50cmFja1JlcGxheUdhaW4oKSwg TWV0YTo6UmVwbGF5R2Fpbl9UcmFja19HYWluLCAmb3V0cHV0TWFwICk7CistICAgICAgICBpZiAo ICF0YWctPnRyYWNrUmVwbGF5R2FpblBlYWsoKS5pc051bGwoKSApCistICAgICAgICAgICAgbWF5 YmVBZGRQZWFrKCB0YWctPnRyYWNrUmVwbGF5R2FpblBlYWsoKSwgTWV0YTo6UmVwbGF5R2Fpbl9U cmFja19QZWFrLCAmb3V0cHV0TWFwICk7CistICAgIH0KKy0KKy0gICAgaWYgKCAhdGFnLT5hbGJ1 bVJlcGxheUdhaW4oKS5pc051bGwoKSApIHsKKy0gICAgICAgIG1heWJlQWRkR2FpbiggdGFnLT5h bGJ1bVJlcGxheUdhaW4oKSwgTWV0YTo6UmVwbGF5R2Fpbl9BbGJ1bV9HYWluLCAmb3V0cHV0TWFw ICk7CistICAgICAgICBpZiAoICF0YWctPmFsYnVtUmVwbGF5R2FpblBlYWsoKS5pc051bGwoKSAp CistICAgICAgICAgICAgbWF5YmVBZGRQZWFrKCB0YWctPmFsYnVtUmVwbGF5R2FpblBlYWsoKSwg TWV0YTo6UmVwbGF5R2Fpbl9BbGJ1bV9QZWFrLCAmb3V0cHV0TWFwICk7CistICAgIH0KKy0KKy0g ICAgcmV0dXJuIG91dHB1dE1hcDsKKy19CistI2VuZGlmIAorLQorLU1ldGE6OlJlcGxheUdhaW5U YWdNYXAKKy1NZXRhOjpyZWFkUmVwbGF5R2FpblRhZ3MoIFRhZ0xpYjo6RmlsZVJlZiBmaWxlcmVm ICkKKy17CistICAgIE1ldGE6OlJlcGxheUdhaW5UYWdNYXAgbWFwOworLSAgICAvLyBOQjogd2Ug Y2FuJ3QgZ2V0IHJlcGxheSBnYWluIGluZm8gZnJvbSBNUEMgZmlsZXMsIHNpbmNlIGl0J3Mgc3Rv cmVkIGluIHNvbWUgbWFnaWMgcGxhY2UKKy0gICAgLy8gICAgIGFuZCBub3QgaW4gdGhlIEFQRSB0 YWdzLCBhbmQgdGFnbGliIGRvZXNuJ3QgbGV0IHVzIGFjY2VzcyB0aGUgaW5mb3JtYXRpb24gKHVu bGVzcworLSAgICAvLyAgICAgd2Ugd2FudCB0byBwYXJzZSB0aGUgZmlsZSBvdXJzZWx2ZXMpLgor LSAgICAvLyBGSVhNRTogc2hvdWxkIHdlIHRyeSBnZXR0aW5nIHRoZSBpbmZvIGZyb20gdGhlIE1Q QyBBUEUgdGFnIGp1c3QgaW4gY2FzZT8KKy0KKy0gICAgaWYgKCBUYWdMaWI6Ok1QRUc6OkZpbGUg KmZpbGUgPSBkeW5hbWljX2Nhc3Q8VGFnTGliOjpNUEVHOjpGaWxlICo+KCBmaWxlcmVmLmZpbGUo KSApICkKKy0gICAgeworLSAgICAgICAgaWYgKCBmaWxlLT5JRDN2MlRhZygpICkKKy0gICAgICAg ICAgICBtYXAgPSByZWFkSUQzdjJUYWdzKCBmaWxlLT5JRDN2MlRhZygpICk7CistICAgICAgICBp ZiAoIG1hcC5pc0VtcHR5KCkgJiYgZmlsZS0+QVBFVGFnKCkgKQorLSAgICAgICAgICAgIG1hcCA9 IHJlYWRBUEVUYWdzKCBmaWxlLT5BUEVUYWcoKSApOworLSAgICB9CistICAgIGVsc2UgaWYgKCBU YWdMaWI6Ok9nZzo6Vm9yYmlzOjpGaWxlICpmaWxlID0gZHluYW1pY19jYXN0PFRhZ0xpYjo6T2dn OjpWb3JiaXM6OkZpbGUgKj4oIGZpbGVyZWYuZmlsZSgpICkgKQorLSAgICB7CistICAgICAgICBp ZiAoIGZpbGUtPnRhZygpICkKKy0gICAgICAgICAgICBtYXAgPSByZWFkWGlwaFRhZ3MoIGZpbGUt PnRhZygpICk7CistICAgIH0KKy0gICAgZWxzZSBpZiAoIFRhZ0xpYjo6RkxBQzo6RmlsZSAqZmls ZSA9IGR5bmFtaWNfY2FzdDxUYWdMaWI6OkZMQUM6OkZpbGUgKj4oIGZpbGVyZWYuZmlsZSgpICkg KQorLSAgICB7CistICAgICAgICBpZiAoIGZpbGUtPnhpcGhDb21tZW50KCkgKQorLSAgICAgICAg ICAgIG1hcCA9IHJlYWRYaXBoVGFncyggZmlsZS0+eGlwaENvbW1lbnQoKSApOworLSAgICAgICAg aWYgKCBtYXAuaXNFbXB0eSgpICYmIGZpbGUtPklEM3YyVGFnKCkgKQorLSAgICAgICAgICAgIG1h cCA9IHJlYWRJRDN2MlRhZ3MoIGZpbGUtPklEM3YyVGFnKCkgKTsKKy0gICAgfQorLSAgICBlbHNl IGlmICggVGFnTGliOjpPZ2c6OkZMQUM6OkZpbGUgKmZpbGUgPSBkeW5hbWljX2Nhc3Q8VGFnTGli OjpPZ2c6OkZMQUM6OkZpbGUgKj4oIGZpbGVyZWYuZmlsZSgpICkgKQorLSAgICB7CistICAgICAg ICBpZiAoIGZpbGUtPnRhZygpICkKKy0gICAgICAgICAgICBtYXAgPSByZWFkWGlwaFRhZ3MoIGZp bGUtPnRhZygpICk7CistICAgIH0KKy0gICAgZWxzZSBpZiAoIFRhZ0xpYjo6V2F2UGFjazo6Rmls ZSAqZmlsZSA9IGR5bmFtaWNfY2FzdDxUYWdMaWI6OldhdlBhY2s6OkZpbGUgKj4oIGZpbGVyZWYu ZmlsZSgpICkgKQorLSAgICB7CistICAgICAgICBpZiAoIGZpbGUtPkFQRVRhZygpICkKKy0gICAg ICAgICAgICBtYXAgPSByZWFkQVBFVGFncyggZmlsZS0+QVBFVGFnKCkgKTsKKy0gICAgfQorLSAg ICBlbHNlIGlmICggVGFnTGliOjpUcnVlQXVkaW86OkZpbGUgKmZpbGUgPSBkeW5hbWljX2Nhc3Q8 VGFnTGliOjpUcnVlQXVkaW86OkZpbGUgKj4oIGZpbGVyZWYuZmlsZSgpICkgKQorLSAgICB7Cist ICAgICAgICBpZiAoIGZpbGUtPklEM3YyVGFnKCkgKQorLSAgICAgICAgICAgIG1hcCA9IHJlYWRJ RDN2MlRhZ3MoIGZpbGUtPklEM3YyVGFnKCkgKTsKKy0gICAgfQorLSAgICBlbHNlIGlmICggVGFn TGliOjpPZ2c6OlNwZWV4OjpGaWxlICpmaWxlID0gZHluYW1pY19jYXN0PFRhZ0xpYjo6T2dnOjpT cGVleDo6RmlsZSAqPiggZmlsZXJlZi5maWxlKCkgKSApCistICAgIHsKKy0gICAgICAgIGlmICgg ZmlsZS0+dGFnKCkgKQorLSAgICAgICAgICAgIG1hcCA9IHJlYWRYaXBoVGFncyggZmlsZS0+dGFn KCkgKTsKKy0gICAgfQorLSAgICBlbHNlIGlmICggVGFnTGliOjpNUEM6OkZpbGUgKmZpbGUgPSBk eW5hbWljX2Nhc3Q8VGFnTGliOjpNUEM6OkZpbGUgKj4oIGZpbGVyZWYuZmlsZSgpICkgKQorLSAg ICB7CistICAgICAgICAvLyBUaGlzIGlzIE5PVCB0aGUgY29ycmVjdCB3YXkgdG8gZ2V0IHJlcGxh eSBnYWluIHRhZ3MgZnJvbSBNUEMgZmlsZXMsIGJ1dAorLSAgICAgICAgLy8gdGFnbGliIGRvZXNu J3QgYWxsb3cgdXMgYWNjZXNzIHRvIHRoZSByZWFsIGluZm9ybWF0aW9uLgorLSAgICAgICAgLy8g VGhpcyBhbGxvd3MgcGVvcGxlIHRvIHdvcmsgYXJvdW5kIHRoaXMgaXNzdWUgYnkgY29weWluZyB0 aGVpciByZXBsYXkgZ2FpbgorLSAgICAgICAgLy8gaW5mb3JtYXRpb24gdG8gdGhlIEFQRSB0YWcu CistICAgICAgICBpZiAoIGZpbGUtPkFQRVRhZygpICkKKy0gICAgICAgICAgICBtYXAgPSByZWFk QVBFVGFncyggZmlsZS0+QVBFVGFnKCkgKTsKKy0gICAgfQorLSNpZmRlZiBUQUdMSUJfRVhUUkFT X0ZPVU5ECistICAgIGVsc2UgaWYgKCBUYWdMaWI6OkFTRjo6RmlsZSAqZmlsZSA9IGR5bmFtaWNf Y2FzdDxUYWdMaWI6OkFTRjo6RmlsZSAqPiggZmlsZXJlZi5maWxlKCkgKSApCistICAgIHsKKy0g ICAgICAgIGlmICggZmlsZS0+dGFnKCkgKQorLSAgICAgICAgICAgIG1hcCA9IHJlYWRBU0ZUYWdz KCBmaWxlLT50YWcoKSApOworLSAgICB9CistI2VuZGlmCistLy8gU2VlIGNvbW1lbnQgYWJvdmUK Ky0jaWZkZWYgRE9fTk9UX1VTRV9USElTX1VOVElMX0ZJWEVECistICAgIGVsc2UgaWYgKCBUYWdM aWI6Ok1QNDo6RmlsZSAqZmlsZSA9IGR5bmFtaWNfY2FzdDxUYWdMaWI6Ok1QNDo6RmlsZSAqPigg ZmlsZXJlZi5maWxlKCkgKSApCistICAgIHsKKy0gICAgICAgIGlmICggZmlsZS0+dGFnKCkgKQor LSAgICAgICAgICAgIG1hcCA9IHJlYWRNUDRUYWdzKCBmaWxlLT5nZXRNUDRUYWcoKSApOworLSAg ICB9CistI2VuZGlmCistICAgIHJldHVybiBtYXA7CistfQorLQorZGlmZiAtLWdpdCBhL3V0aWxp dGllcy9jb2xsZWN0aW9uc2Nhbm5lci9NZXRhUmVwbGF5R2Fpbi5oIGIvdXRpbGl0aWVzL2NvbGxl Y3Rpb25zY2FubmVyL01ldGFSZXBsYXlHYWluLmgKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggZWJhODYwYS4uMDAwMDAwMAorLS0tIGEvdXRpbGl0aWVzL2NvbGxlY3Rpb25zY2FubmVy L01ldGFSZXBsYXlHYWluLmgKKysrKyAvZGV2L251bGwKK0BAIC0xLDQ5ICswLDAgQEAKKy0vKgor LSAgIENvcHlyaWdodCAoQykgMjAwOSBBbGV4IE1lcnJ5IDxhbGV4Lm1lcnJ5QGtkZW1haWwubmV0 PgorLQorLSAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IKKy0gICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSAgIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCistICAgb2YgdGhlIExpY2Vuc2UsIG9y IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCistCistICAgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistICAg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKy0gICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCistICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KKy0KKy0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBp ZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCistICAgRm91bmRhdGlvbiwgSW5jLiwg NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwg VVNBCistKi8KKy0KKy0jaWZuZGVmIEFNQVJPS19NRVRBUkVQTEFZR0FJTl9ICistI2RlZmluZSBB TUFST0tfTUVUQVJFUExBWUdBSU5fSAorLQorLSNpbmNsdWRlIDxRTWFwPgorLQorLS8vIFRhZ2xp YgorLSNpbmNsdWRlIDxmaWxlcmVmLmg+CistCistLyogVGhpcyBmaWxlIGV4aXN0cyAocmF0aGVy IHRoYW4gcHV0dGluZyB0aGUgbWV0aG9kIGluIE1ldGFVdGlsaXR5LmggYW5kCistICogTWV0YVV0 aWxpdHkuY3BwKSBiZWNhdXNlIHdlIG5lZWQgdG8gc2hhcmUgdGhlIGltcGxlbWVudGF0aW9uIGJl dHdlZW4KKy0gKiBhbWFyb2tsaWIgYW5kIGFtYXJva2NvbGxlY3Rpb25zY2FubmVyICh3aGljaCBk b2Vzbid0IGxpbmsgdG8gYW1hcm9rbGliKS4KKy0gKi8KKy1uYW1lc3BhY2UgTWV0YQorLXsKKy0g ICAgZW51bSBSZXBsYXlHYWluVGFnCistICAgIHsKKy0gICAgICAgIFJlcGxheUdhaW5fVHJhY2tf R2FpbiwKKy0gICAgICAgIFJlcGxheUdhaW5fVHJhY2tfUGVhaywKKy0gICAgICAgIFJlcGxheUdh aW5fQWxidW1fR2FpbiwKKy0gICAgICAgIFJlcGxheUdhaW5fQWxidW1fUGVhaworLSAgICB9Owor LQorLSAgICB0eXBlZGVmIFFNYXA8UmVwbGF5R2FpblRhZywgcXJlYWw+IFJlcGxheUdhaW5UYWdN YXA7CistCistICAgIC8qKgorLSAgICAgKiBSZWFkcyB0aGUgcmVwbGF5IGdhaW4gdGFncyBmcm9t IGEgdGFnbGliIGZpbGUuCistICAgICAqLworLSAgICBSZXBsYXlHYWluVGFnTWFwIHJlYWRSZXBs YXlHYWluVGFncyggVGFnTGliOjpGaWxlUmVmIGZpbGVyZWYgKTsKKy19CistCistI2VuZGlmIC8v IEFNQVJPS19NRVRBUkVQTEFZR0FJTl9ICgpkaWZmIC0tZ2l0IGEvYW1hcm9rLnNwZWMgYi9hbWFy b2suc3BlYwppbmRleCBlNDExNWRjLi43MTZlMTM0IDEwMDY0NAotLS0gYS9hbWFyb2suc3BlYwor KysgYi9hbWFyb2suc3BlYwpAQCAtMiw3ICsyLDcgQEAKIE5hbWU6ICAgIGFtYXJvawogU3VtbWFy eTogTWVkaWEgcGxheWVyCiBWZXJzaW9uOiAyLjEuODUKLVJlbGVhc2U6IDElez9kaXN0fQorUmVs ZWFzZTogMiV7P2Rpc3R9CiAKIEdyb3VwOiAJIEFwcGxpY2F0aW9ucy9NdWx0aW1lZGlhCiBMaWNl bnNlOiBHUEx2MisKQEAgLTEzLDYgKzEzLDcgQEAgQnVpbGRSb290OiAle190bXBwYXRofS8le25h bWV9LSV7dmVyc2lvbn0tJXtyZWxlYXNlfS1yb290LSUoJXtfX2lkX3V9IC1uKQogUGF0Y2g1MDog YW1hcm9rLTIuMC45MC1xdHNjcmlwdF9ub3RfcmVxdWlyZWQucGF0Y2gKIAogIyMgdXBzdHJlYW0g cGF0Y2hlcworUGF0Y2gxMDA6IGFtYXJvay10YWdsaWIucGF0Y2gKIAogQnVpbGRSZXF1aXJlczog Y3VybC1kZXZlbAogQnVpbGRSZXF1aXJlczogZGVza3RvcC1maWxlLXV0aWxzCkBAIC0zMSw4ICsz Miw4IEBAIEJ1aWxkUmVxdWlyZXM6IGxpYnhtbDItZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6IGxvdWRt b3V0aC1kZXZlbAogQnVpbGRSZXF1aXJlczogbXlzcWwtZW1iZWRkZWQtZGV2ZWwKIEJ1aWxkUmVx dWlyZXM6IHNvcHJhbm8tZGV2ZWwKLUJ1aWxkUmVxdWlyZXM6IHRhZ2xpYi1kZXZlbAotQnVpbGRS ZXF1aXJlczogdGFnbGliLWV4dHJhcy1kZXZlbAorQnVpbGRSZXF1aXJlczogdGFnbGliLWRldmVs ID49IDEuNgorQnVpbGRSZXF1aXJlczogdGFnbGliLWV4dHJhcy1kZXZlbCA+PSAxLjAuMAogCiAl Z2xvYmFsIGtkZWxpYnM0X3ZlcnNpb24gJSgoa2RlNC1jb25maWcgLS12ZXJzaW9uIDI+L2Rldi9u dWxsIHx8IGVjaG8gS0RFIDQuMi4wKSB8IGdyZXAgJ15LREUnIHwgY3V0IC1kJyAnIC1mMiB8IGN1 dCAtZCctJyAtZjEpCiAlez9fcXQ0X3ZlcnNpb246UmVxdWlyZXM6IHF0NCV7P19pc2F9ID49ICV7 X3F0NF92ZXJzaW9ufX0KQEAgLTc4LDYgKzc5LDggQEAgT2Jzb2xldGVzOiBhbWFyb2stdXRpbGl0 aWVzIDwgMi4wLjk2CiAKICVwYXRjaDUwIC1wMSAtYiAucXRzY3JpcHRfbm90X3JlcXVpcmVkCiAK KyVwYXRjaDEwMCAtcDEgLWIgLnRhZ2xpYgorCiAKICVidWlsZAogbWtkaXIgLXAgJXtfdGFyZ2V0 X3BsYXRmb3JtfQpAQCAtMTY4LDYgKzE3MSw5IEBAIGZpCiAKIAogJWNoYW5nZWxvZworKiBUaHUg U2VwIDE3IDIwMDkgUmV4IERpZXRlciA8cmRpZXRlckBmZWRvcmFwcm9qZWN0Lm9yZz4gMi4xLjg1 LTIKKy0gQlI6IHRhZ2xpYi1kZXZlbCA+PSAxLjYsIHRhZ2xpYi1leHRyYXMtZGV2ZWwgPj0gMS4w CisKICogTW9uIFNlcCAxNCAyMDA5IFJleCBEaWV0ZXIgPHJkaWV0ZXJAZmVkb3JhcHJvamVjdC5v cmc+IDIuMS44NS0xCiAtIGFtYXJvay0yLjEuODUgKDIuMmJldGEyKQogCg==