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: Than Ngo To: git-commits@fedoraproject.org Subject: [rpms/chromium] epel9-next: - add qt6 linuxui backend Date: Fri, 07 Aug 2026 16:05:13 GMT Message-ID: <178611871304.1.11454830250670728495.rpms-chromium-802b55bba2b8@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: 802b55bba2b87f236e24c2ef0dbc6a8143eaac29 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY2hyb21pdW0KICAgICAgICAgICAgQnJhbmNoIDogZXBlbDktbmV4dAogICAg ICAgICAgICBDb21taXQgOiA4MDJiNTViYmEyYjg3ZjIzNmUyNGMyZWYwZGJjNmE4MTQzZWFhYzI5 CiAgICAgICAgICAgIEF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CiAgICAgICAg ICAgIERhdGUgICA6IDIwMjMtMDUtMjhUMTA6MDk6MjErMDI6MDAKICAgICAgICAgICAgU3RhdHMg IDogKzExNTMvLTIgaW4gNCBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8vc3Jj LmZlZG9yYXByb2plY3Qub3JnL3JwbXMvY2hyb21pdW0vYy84MDJiNTViYmEyYjg3ZjIzNmUyNGMy ZWYwZGJjNmE4MTQzZWFhYzI5P2JyYW5jaD1lcGVsOS1uZXh0CgogICAgICAgICAgICBMb2c6CiAg ICAgICAgICAgIC0gYWRkIHF0NiBsaW51eHVpIGJhY2tlbmQKLSBiYWNrcG9ydDogaGFuZGxlIHNj YWxlIGZhY3RvciBjaGFuZ2VzCi0gYmFja3BvcnQ6IGZpeCBmb250IGRvdWJsZV9zY2FsaW5nCgot LS0KZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExNC1hZGRfcXQ2X2xpbnV4dWlfYmFja2VuZC5wYXRj aCBiL2Nocm9taXVtLTExNC1hZGRfcXQ2X2xpbnV4dWlfYmFja2VuZC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWYyNzE0Ci0tLSAvZGV2L251bGwKKysrIGIvY2hy b21pdW0tMTE0LWFkZF9xdDZfbGludXh1aV9iYWNrZW5kLnBhdGNoCkBAIC0wLDAgKzEsNTQ1IEBA Citjb21taXQgNzVmNGI0OGViNzFkNDg3MmJhM2FjNmM5ZmMzNjYyYTYwZWI0MTc1ZAorQXV0aG9y OiBUb20gQW5kZXJzb24gPHRob21hc2FuZGVyc29uQGNocm9taXVtLm9yZz4KK0RhdGU6ICAgVGh1 IEFwciAyNyAwMjoyMTozNCAyMDIzICswMDAwCisKKyAgICBBZGQgUVQ2IExpbnV4VWkgYmFja2Vu ZAorICAgIAorICAgIC0gRW5hYmxlIFFUNiBieSBkZWZhdWx0IG9uIEtERTYKKyAgICAtIElmIFFU NiBsb2FkIGZhaWxzLCBmYWxsYmFjayB0byBRVDUgKGFuZCB2aWNlIHZlcnNhKQorICAgIC0gQWRk IHVzZV9xdDYgYnVpbGQgZmxhZyBmb3IgcGFja2FnZXIgY29udHJvbAorICAgIC0gQWRkIC0tcXQt dmVyc2lvbiBydW50aW1lIGZsYWcgZm9yIHVzZXIgY29udHJvbAorICAgIAorICAgIFI9dGhlc3Rp ZworICAgIAorICAgIENoYW5nZS1JZDogSWIxZDlmNjE4MzY2M2VjZjdiOWRkZmU5ZDdmM2UzNDQy ZTUzNGNjZGEKKyAgICBGaXhlZDogMTQzNDc1NAorICAgIFJldmlld2VkLW9uOiBodHRwczovL2No cm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvNDQ3NTM2OQor ICAgIENvbW1pdC1RdWV1ZTogVGhvbWFzIEFuZGVyc29uIDx0aG9tYXNhbmRlcnNvbkBjaHJvbWl1 bS5vcmc+CisgICAgUmV2aWV3ZWQtYnk6IExlaSBaaGFuZyA8dGhlc3RpZ0BjaHJvbWl1bS5vcmc+ CisgICAgQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5AeyMxMTM2Mjk1fQorCitk aWZmIC0tZ2l0IGEvY2hyb21lL2luc3RhbGxlci9saW51eC9CVUlMRC5nbiBiL2Nocm9tZS9pbnN0 YWxsZXIvbGludXgvQlVJTEQuZ24KK2luZGV4IDU2MzliOWZmYzk5NmUuLjNiYWNkMzM5OGQ0YTIg MTAwNjQ0CistLS0gYS9jaHJvbWUvaW5zdGFsbGVyL2xpbnV4L0JVSUxELmduCisrKysgYi9jaHJv bWUvaW5zdGFsbGVyL2xpbnV4L0JVSUxELmduCitAQCAtMTA5LDYgKzEwOSw5IEBAIGlmICh1c2Vf cXQpIHsKKyAgICMgdG8gcHJldmVudCBhIGhhcmQgZGVwZW5kZW5jeSBvbiBRVCBmb3IgdGhlIHBh Y2thZ2UuCisgICBwYWNrYWdpbmdfZmlsZXMgKz0gWyAiJHJvb3Rfb3V0X2Rpci9saWJxdDVfc2hp bS5zbyIgXQorIH0KKytpZiAodXNlX3F0NikgeworKyAgcGFja2FnaW5nX2ZpbGVzICs9IFsgIiRy b290X291dF9kaXIvbGlicXQ2X3NoaW0uc28iIF0KKyt9CisgCisgYWN0aW9uX2ZvcmVhY2goImNh bGN1bGF0ZV9kZWJfZGVwZW5kZW5jaWVzIikgeworICAgZGVwcyA9IFsgIjppbnN0YWxsZXJfZGVw cyIgXQorQEAgLTI0OSw2ICsyNTIsMTIgQEAgaWYgKHVzZV9xdCkgeworICAgICBkZXBzID0gWyAi Ly91aS9xdDpxdDVfc2hpbSIgXQorICAgfQorIH0KKytpZiAodXNlX3F0NikgeworKyAgc3RyaXBf YmluYXJ5KCJzdHJpcF9xdDZfc2hpbSIpIHsKKysgICAgYmluYXJ5X2lucHV0ID0gIiRyb290X291 dF9kaXIvbGlicXQ2X3NoaW0uc28iCisrICAgIGRlcHMgPSBbICIvL3VpL3F0OnF0Nl9zaGltIiBd CisrICB9CisrfQorIAorICMgVGhpcyB0YXJnZXQgYnVpbGRzIGFsbCAibm9ybWFsIiBMaW51eCBp bnN0YWxsZXJzLiAgWW91IG11c3Qgc2V0CisgIyBpc19jb21wb25lbnRfYnVpbGQ9ZmFsc2UgYmVm b3JlIGJ1aWxkaW5nIHRoaXMgdGFyZ2V0LgorQEAgLTQ0Nyw2ICs0NTYsMTIgQEAgZ3JvdXAoImlu c3RhbGxlcl9kZXBzIikgeworICAgICAgICIvL3VpL3F0OnF0NV9zaGltIiwKKyAgICAgXQorICAg fQorKyAgaWYgKHVzZV9xdDYpIHsKKysgICAgcHVibGljX2RlcHMgKz0gWworKyAgICAgICI6c3Ry aXBfcXQ2X3NoaW0iLAorKyAgICAgICIvL3VpL3F0OnF0Nl9zaGltIiwKKysgICAgXQorKyAgfQor IH0KKyAKKyAjIENyZWF0ZXMgLmRlYiBhbmQgLnJwbSAoUlBNIGZvciBub24tQ2hyb21lT1Mgb25s eSkgaW5zdGFsbGVyIHBhY2thZ2VzLgorZGlmZiAtLWdpdCBhL2Nocm9tZS9pbnN0YWxsZXIvbGlu dXgvY29tbW9uL2luc3RhbGxlci5pbmNsdWRlIGIvY2hyb21lL2luc3RhbGxlci9saW51eC9jb21t b24vaW5zdGFsbGVyLmluY2x1ZGUKK2luZGV4IDhkNzZmMWYyODBiMDEuLjQzOWVmNWNjYjBmNTIg MTAwNjQ0CistLS0gYS9jaHJvbWUvaW5zdGFsbGVyL2xpbnV4L2NvbW1vbi9pbnN0YWxsZXIuaW5j bHVkZQorKysrIGIvY2hyb21lL2luc3RhbGxlci9saW51eC9jb21tb24vaW5zdGFsbGVyLmluY2x1 ZGUKK0BAIC0yNTQsNiArMjU0LDExIEBAIHN0YWdlX2luc3RhbGxfY29tbW9uKCkgeworICAgICBz dHJpcHBlZGZpbGU9IiR7T1VUUFVURElSfS8ke2ZpbGV9LnN0cmlwcGVkIgorICAgICBpbnN0YWxs IC1tICR7U0hMSUJfUEVSTVN9ICIke3N0cmlwcGVkZmlsZX0iICIke1NUQUdFRElSfS8ke0lOU1RB TExESVJ9LyR7ZmlsZX0iCisgICBmaQorKyAgaWYgWyAtZiAiJHtPVVRQVVRESVJ9L2xpYnF0Nl9z aGltLnNvIiBdOyB0aGVuCisrICAgIGZpbGU9ImxpYnF0Nl9zaGltLnNvIgorKyAgICBzdHJpcHBl ZGZpbGU9IiR7T1VUUFVURElSfS8ke2ZpbGV9LnN0cmlwcGVkIgorKyAgICBpbnN0YWxsIC1tICR7 U0hMSUJfUEVSTVN9ICIke3N0cmlwcGVkZmlsZX0iICIke1NUQUdFRElSfS8ke0lOU1RBTExESVJ9 LyR7ZmlsZX0iCisrICBmaQorIAorICAgIyBsaWJjKysKKyAgIGlmIFsgLWYgIiR7T1VUUFVURElS fS9saWIvbGliYysrLnNvIiBdOyB0aGVuCitkaWZmIC0tZ2l0IGEvdWkvcXQvQlVJTEQuZ24gYi91 aS9xdC9CVUlMRC5nbgoraW5kZXggYmJlZGUwMGRhYTRkMC4uNmE2Nzk2MWVkYzJmNyAxMDA2NDQK Ky0tLSBhL3VpL3F0L0JVSUxELmduCisrKysgYi91aS9xdC9CVUlMRC5nbgorQEAgLTExLDEzICsx MSw2IEBAIGFzc2VydCh1c2VfcXQpCisgYXNzZXJ0KGlzX2xpbnV4KQorIGFzc2VydCghaXNfY2Fz dG9zKQorIAorLXBrZ19jb25maWcoInF0NV9jb25maWciKSB7CistICBwYWNrYWdlcyA9IFsKKy0g ICAgIlF0NUNvcmUiLAorLSAgICAiUXQ1V2lkZ2V0cyIsCistICBdCistfQorLQorIGNvbmZpZygi cXRfaW50ZXJuYWxfY29uZmlnIikgeworICAgaWYgKGlzX2NsYW5nKSB7CisgICAgICMgbGlic3Rk YysrIGhlYWRlcnMgYXJlIGluY29tcGF0aWJsZSB3aXRoIC1mY29tcGxldGUtbWVtYmVyLXBvaW50 ZXJzLgorQEAgLTU2LDQwICs0OSw1NyBAQCBpZiAoIXVzZV9zeXNyb290KSB7CisgICB9CisgfQor IAorLXNoYXJlZF9saWJyYXJ5KCJxdDVfc2hpbSIpIHsKKy0gIHZpc2liaWxpdHkgPSBbCistICAg ICI6cXQiLAorLSAgICAiLy9jaHJvbWUvaW5zdGFsbGVyL2xpbnV4OioiLAorLSAgXQorLQorLSAg IyBTaW5jZSBxdF9zaGltIGlzIGEgc2hhcmVkIGxpYnJhcnkgZXZlbiBpbiBub24tY29tcG9uZW50 IGJ1aWxkcywgaXQgc2hvdWxkbid0CistICAjIGRlcGVuZCBvbiBhbnkgb3RoZXIgdGFyZ2V0cyBz aW5jZSB0aGF0IHdvdWxkIGR1cGxpY2F0ZSBjb2RlIGJldHdlZW4gYmluYXJpZXMKKy0gICMgbGVh ZGluZyB0byBpbmNyZWFzZWQgc2l6ZSBhbmQgcG90ZW50aWFsIGlzc3VlcyBmcm9tIGR1cGxpY2F0 ZWQgZ2xvYmFsIHN0YXRlLgorLSAgbm9fZGVmYXVsdF9kZXBzID0gdHJ1ZQorLSAgYXNzZXJ0X25v X2RlcHMgPSBbCistICAgICIvL2Jhc2UiLAorLSAgICAiLy9idWlsZHRvb2xzL3RoaXJkX3BhcnR5 L2xpYmMrKyIsCistICBdCistICBkZXBzID0gWyAiOnF0X2ludGVyZmFjZSIgXQorLQorLSAgY29u ZmlncyAtPSBbICIvL2J1aWxkL2NvbmZpZy9jb21waWxlcjpydW50aW1lX2xpYnJhcnkiIF0KKy0g IGNvbmZpZ3MgKz0gWworLSAgICAiOnF0X2ludGVybmFsX2NvbmZpZyIsCistICAgICI6cXQ1X2Nv bmZpZyIsCistICBdCisrdGVtcGxhdGUoInF0X3NoaW0iKSB7CisrICBwa2dfY29uZmlnKCJxdCIg KyBpbnZva2VyLnF0X3ZlcnNpb24gKyAiX2NvbmZpZyIpIHsKKysgICAgcGFja2FnZXMgPSBbCisr ICAgICAgIlF0IiArIGludm9rZXIucXRfdmVyc2lvbiArICJDb3JlIiwKKysgICAgICAiUXQiICsg aW52b2tlci5xdF92ZXJzaW9uICsgIldpZGdldHMiLAorKyAgICBdCisrICB9CisgCistICBwdWJs aWMgPSBbXQorLSAgc291cmNlcyA9IFsKKy0gICAgInF0X3NoaW0uY2MiLAorLSAgICAicXRfc2hp bS5oIiwKKy0gIF0KKy0gIGlmICh1c2Vfc3lzcm9vdCkgeworLSAgICAjIFRoaXMgZmlsZSBpcyBn ZW5lcmF0ZWQgd2l0aCBnZW5fcXRfc2hpbV9tb2Muc2ggb24gYW4gYW1kNjQgc3lzdGVtIHRvCist ICAgICMgYXZvaWQgYSBidWlsZC10aW1lIGRlcGVuZGVuY3kgb24gYG1vY2Agd2hlbiB1c2luZyB0 aGUgc3lzcm9vdC4KKy0gICAgc291cmNlcyArPSBbICJxdF9zaGltX21vYy5jYyIgXQorLSAgfSBl bHNlIHsKKy0gICAgc291cmNlcyArPSBnZXRfdGFyZ2V0X291dHB1dHMoIjpnZW5lcmF0ZV9tb2Mi KQorLSAgICBkZXBzICs9IFsgIjpnZW5lcmF0ZV9tb2MiIF0KKysgIHNoYXJlZF9saWJyYXJ5KHRh cmdldF9uYW1lKSB7CisrICAgIHZpc2liaWxpdHkgPSBbCisrICAgICAgIjpxdCIsCisrICAgICAg Ii8vY2hyb21lL2luc3RhbGxlci9saW51eDoqIiwKKysgICAgXQorKworKyAgICAjIFNpbmNlIHF0 X3NoaW0gaXMgYSBzaGFyZWQgbGlicmFyeSBldmVuIGluIG5vbi1jb21wb25lbnQgYnVpbGRzLCBp dCBzaG91bGRuJ3QKKysgICAgIyBkZXBlbmQgb24gYW55IG90aGVyIHRhcmdldHMgc2luY2UgdGhh dCB3b3VsZCBkdXBsaWNhdGUgY29kZSBiZXR3ZWVuIGJpbmFyaWVzCisrICAgICMgbGVhZGluZyB0 byBpbmNyZWFzZWQgc2l6ZSBhbmQgcG90ZW50aWFsIGlzc3VlcyBmcm9tIGR1cGxpY2F0ZWQgZ2xv YmFsIHN0YXRlLgorKyAgICBub19kZWZhdWx0X2RlcHMgPSB0cnVlCisrICAgIGFzc2VydF9ub19k ZXBzID0gWworKyAgICAgICIvL2Jhc2UiLAorKyAgICAgICIvL2J1aWxkdG9vbHMvdGhpcmRfcGFy dHkvbGliYysrIiwKKysgICAgXQorKyAgICBkZXBzID0gWyAiOnF0X2ludGVyZmFjZSIgXQorKwor KyAgICBjb25maWdzIC09IFsgIi8vYnVpbGQvY29uZmlnL2NvbXBpbGVyOnJ1bnRpbWVfbGlicmFy eSIgXQorKyAgICBjb25maWdzICs9IFsKKysgICAgICAiOnF0X2ludGVybmFsX2NvbmZpZyIsCisr ICAgICAgIjpxdCIgKyBpbnZva2VyLnF0X3ZlcnNpb24gKyAiX2NvbmZpZyIsCisrICAgIF0KKysK KysgICAgcHVibGljID0gW10KKysgICAgc291cmNlcyA9IFsKKysgICAgICAicXRfc2hpbS5jYyIs CisrICAgICAgInF0X3NoaW0uaCIsCisrICAgIF0KKysgICAgaWYgKHVzZV9zeXNyb290KSB7Cisr ICAgICAgIyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIHdpdGggZ2VuX3F0X3NoaW1fbW9jLnNoIG9u IGFuIGFtZDY0IHN5c3RlbSB0bworKyAgICAgICMgYXZvaWQgYSBidWlsZC10aW1lIGRlcGVuZGVu Y3kgb24gYG1vY2Agd2hlbiB1c2luZyB0aGUgc3lzcm9vdC4KKysgICAgICBzb3VyY2VzICs9IFsg InF0IiArIGludm9rZXIucXRfdmVyc2lvbiArICJfc2hpbV9tb2MuY2MiIF0KKysgICAgfSBlbHNl IHsKKysgICAgICBzb3VyY2VzICs9IGdldF90YXJnZXRfb3V0cHV0cygiOmdlbmVyYXRlX21vYyIp CisrICAgICAgZGVwcyArPSBbICI6Z2VuZXJhdGVfbW9jIiBdCisrICAgIH0KKysgIH0KKyt9Cisr cXRfc2hpbSgicXQ1X3NoaW0iKSB7CisrICBxdF92ZXJzaW9uID0gIjUiCisrfQorK2lmICh1c2Vf cXQ2KSB7CisrICBxdF9zaGltKCJxdDZfc2hpbSIpIHsKKysgICAgcXRfdmVyc2lvbiA9ICI2Igor ICAgfQorIH0KKyAKK0BAIC0xMDAsNiArMTEwLDkgQEAgY29tcG9uZW50KCJxdCIpIHsKKyAKKyAg ICMgcXRfc2hpbSBpcyBpbiBkYXRhX2RlcHMgc2luY2Ugd2Ugd2FudCB0byBsb2FkIGl0IG1hbnVh bGx5LgorICAgZGF0YV9kZXBzID0gWyAiOnF0NV9zaGltIiBdCisrICBpZiAodXNlX3F0Nikgewor KyAgICBkYXRhX2RlcHMgKz0gWyAiOnF0Nl9zaGltIiBdCisrICB9CisgICBkZXBzID0gWworICAg ICAiOnF0X2ludGVyZmFjZSIsCisgICAgICIvL2Jhc2UiLAorZGlmZiAtLWdpdCBhL3VpL3F0L2dl bl9xdF9zaGltX21vYy5zaCBiL3VpL3F0L2dlbl9xdF9zaGltX21vYy5zaAoraW5kZXggNzQyNzJk NTYxMWRhYi4uOWQwMmMyZGZjYjEyZiAxMDA3NTUKKy0tLSBhL3VpL3F0L2dlbl9xdF9zaGltX21v Yy5zaAorKysrIGIvdWkvcXQvZ2VuX3F0X3NoaW1fbW9jLnNoCitAQCAtNiwxMSArNiwxNSBAQAor IHNldCAtbyBub3Vuc2V0Cisgc2V0IC1vIGVycmV4aXQKKyAKKy1VUkw9Imh0dHA6Ly9hcmNoaXZl LmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wvbWFpbi9xL3F0YmFzZS1vcGVuc291cmNlLXNyYyIKKy1Q QUNLQUdFPSJxdGJhc2U1LWRldi10b29sc181LjMuMitkZnNnLTQrZGViOHUyX2FtZDY0LmRlYiIK Ky1TSEEyNTY9Ijc3MDM3NTRmMmMyMzBjZTZiOGI2MDMwYjZjMWU3ZTAzMDg5OWFhOWY0NWE0MTU0 OThkZjA0YmQ1ZWMwNjFhNzYiCistU0NSSVBUX0RJUj0iJChjZCAiJChkaXJuYW1lICIke0JBU0hf U09VUkNFWzBdfSIpIiAmJiBwd2QpIgorK1VSTDU9Imh0dHA6Ly9hcmNoaXZlLmRlYmlhbi5vcmcv ZGViaWFuL3Bvb2wvbWFpbi9xL3F0YmFzZS1vcGVuc291cmNlLXNyYyIKKytQQUNLQUdFNT0icXRi YXNlNS1kZXYtdG9vbHNfNS4zLjIrZGZzZy00K2RlYjh1Ml9hbWQ2NC5kZWIiCisrU0hBMjU2XzU9 Ijc3MDM3NTRmMmMyMzBjZTZiOGI2MDMwYjZjMWU3ZTAzMDg5OWFhOWY0NWE0MTU0OThkZjA0YmQ1 ZWMwNjFhNzYiCisrCisrVVJMNj0iaHR0cDovL2FyY2hpdmUudWJ1bnR1LmNvbS91YnVudHUvcG9v bC91bml2ZXJzZS9xL3F0Ni1iYXNlIgorK1BBQ0tBR0U2PSJxdDYtYmFzZS1kZXYtdG9vbHNfNi4y LjQrZGZzZy0ydWJ1bnR1MV9hbWQ2NC5kZWIiCisrU0hBMjU2XzY9IjhkZGRmYzc5ZTc3NDMxODVi MDdjNDc4Y2EwZjk2YTRjY2MxM2Q0OGVjY2NjNDJmNDRkMjU3OGMzM2M3ZDliOGIiCisgCisrU0NS SVBUX0RJUj0iJChjZCAiJChkaXJuYW1lICIke0JBU0hfU09VUkNFWzBdfSIpIiAmJiBwd2QpIgor IFRNUF9ESVI9JChta3RlbXAgLWQgLXAgIiRTQ1JJUFRfRElSIikKKyBmdW5jdGlvbiBjbGVhbnVw IHsKKyAgICAgcm0gLXJmICIkVE1QX0RJUiIKK0BAIC0xOCwxNiArMjIsMjIgQEAgZnVuY3Rpb24g Y2xlYW51cCB7CisgdHJhcCBjbGVhbnVwIEVYSVQKKyAKKyBjZCAiJFRNUF9ESVIiCistd2dldCAi JFVSTC8kUEFDS0FHRSIKKy1lY2hvICIkU0hBMjU2ICAkUEFDS0FHRSIgfCBzaGFzdW0gLWEgMjU2 IC1jCistZHBrZyAteCAiJFBBQ0tBR0UiIC4KKy1jYXQgPiAuLi9xdF9zaGltX21vYy5jYyA8PEVP RgorLS8vIENvcHlyaWdodCAyMDIyIFRoZSBDaHJvbWl1bSBBdXRob3JzCisrd2dldCAiJFVSTDUv JFBBQ0tBR0U1IgorK2VjaG8gIiRTSEEyNTZfNSAgJFBBQ0tBR0U1IiB8IHNoYXN1bSAtYSAyNTYg LWMKKytkcGtnIC14ICIkUEFDS0FHRTUiIC4KKyt3Z2V0ICIkVVJMNi8kUEFDS0FHRTYiCisrZWNo byAiJFNIQTI1Nl82ICAkUEFDS0FHRTYiIHwgc2hhc3VtIC1hIDI1NiAtYworK2Rwa2cgLXggIiRQ QUNLQUdFNiIgLgorK2NhdCA+IC4uL3F0NV9zaGltX21vYy5jYyA8PEVPRgorKy8vIENvcHlyaWdo dCAyMDIzIFRoZSBDaHJvbWl1bSBBdXRob3JzCisgLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUg aXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorIC8vIGZvdW5k IGluIHRoZSBMSUNFTlNFIGZpbGUuCisgCisgRU9GCisgY2QgIiRTQ1JJUFRfRElSLy4uLy4uIgor K2NwIHVpL3F0L3F0NV9zaGltX21vYy5jYyB1aS9xdC9xdDZfc2hpbV9tb2MuY2MKKyAiJFRNUF9E SVIvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L3F0NS9iaW4vbW9jIiB1aS9xdC9xdF9zaGltLmgg XAorLSAgICA+PiB1aS9xdC9xdF9zaGltX21vYy5jYworLWdpdCBjbCBmb3JtYXQgdWkvcXQvcXRf c2hpbV9tb2MuY2MKKysgICAgPj4gdWkvcXQvcXQ1X3NoaW1fbW9jLmNjCisrIiRUTVBfRElSLy91 c3IvbGliL3F0Ni9saWJleGVjL21vYyIgdWkvcXQvcXRfc2hpbS5oIFwKKysgICAgPj4gdWkvcXQv cXQ2X3NoaW1fbW9jLmNjCisrZ2l0IGNsIGZvcm1hdCB1aS9xdC9xdDVfc2hpbV9tb2MuY2MgdWkv cXQvcXQ2X3NoaW1fbW9jLmNjCitkaWZmIC0tZ2l0IGEvdWkvcXQvcXQuZ25pIGIvdWkvcXQvcXQu Z25pCitpbmRleCAyN2JiNjM3NTg4MGI3Li5mNDU4MjMyNzBjYjkxIDEwMDY0NAorLS0tIGEvdWkv cXQvcXQuZ25pCisrKysgYi91aS9xdC9xdC5nbmkKK0BAIC00LDkgKzQsMTcgQEAKKyAKKyBpbXBv cnQoIi8vYnVpbGQvY29uZmlnL2Nocm9tZWNhc3RfYnVpbGQuZ25pIikKKyBpbXBvcnQoIi8vYnVp bGQvY29uZmlnL3Nhbml0aXplcnMvc2FuaXRpemVycy5nbmkiKQorK2ltcG9ydCgiLy9idWlsZC9j b25maWcvc3lzcm9vdC5nbmkiKQorIAorIGRlY2xhcmVfYXJncygpIHsKKyAgICMgVE9ETyhodHRw czovL2NyYnVnLmNvbS8xNDI0NDM1KTogQWxsb3cgUVQgaW4gTVNBTiBidWlsZHMgb25jZSBRVCBp cworICAgIyBhZGRlZCB0byB0aGUgaW5zdHJ1bWVudGVkIGxpYnJhcmllcy4KKyAgIHVzZV9xdCA9 IGlzX2xpbnV4ICYmICFpc19jYXN0b3MgJiYgIWlzX21zYW4KKyB9CisrCisrZGVjbGFyZV9hcmdz KCkgeworKyAgdXNlX3F0NiA9IHVzZV9xdCAmJiB1c2Vfc3lzcm9vdAorK30KKysKKysjIHVzZV9x dDYgPT4gdXNlX3F0CisrYXNzZXJ0KCF1c2VfcXQ2IHx8IHVzZV9xdCkKK2RpZmYgLS1naXQgYS91 aS9xdC9xdF9zaGltX21vYy5jYyBiL3VpL3F0L3F0NV9zaGltX21vYy5jYworc2ltaWxhcml0eSBp bmRleCA5NSUKK3JlbmFtZSBmcm9tIHVpL3F0L3F0X3NoaW1fbW9jLmNjCityZW5hbWUgdG8gdWkv cXQvcXQ1X3NoaW1fbW9jLmNjCitpbmRleCBkYWZiZmFkY2U1NmJhLi44ZjhiNmI1Nzc4NGE4IDEw MDY0NAorLS0tIGEvdWkvcXQvcXRfc2hpbV9tb2MuY2MKKysrKyBiL3VpL3F0L3F0NV9zaGltX21v Yy5jYworQEAgLTEsNCArMSw0IEBACistLy8gQ29weXJpZ2h0IDIwMjIgVGhlIENocm9taXVtIEF1 dGhvcnMKKysvLyBDb3B5cmlnaHQgMjAyMyBUaGUgQ2hyb21pdW0gQXV0aG9ycworIC8vIFVzZSBv ZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhh dCBjYW4gYmUKKyAvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorIAorQEAgLTg5LDI2ICs4 OSwzMiBAQCBjb25zdCBRTWV0YU9iamVjdCogcXQ6OlF0U2hpbTo6bWV0YU9iamVjdCgpIGNvbnN0 IHsKKyB9CisgCisgdm9pZCogcXQ6OlF0U2hpbTo6cXRfbWV0YWNhc3QoY29uc3QgY2hhciogX2Ns bmFtZSkgeworLSAgaWYgKCFfY2xuYW1lKQorKyAgaWYgKCFfY2xuYW1lKSB7CisgICAgIHJldHVy biAwOworLSAgaWYgKCFzdHJjbXAoX2NsbmFtZSwgcXRfbWV0YV9zdHJpbmdkYXRhX3F0X19RdFNo aW0uc3RyaW5nZGF0YSkpCisrICB9CisrICBpZiAoIXN0cmNtcChfY2xuYW1lLCBxdF9tZXRhX3N0 cmluZ2RhdGFfcXRfX1F0U2hpbS5zdHJpbmdkYXRhKSkgeworICAgICByZXR1cm4gc3RhdGljX2Nh c3Q8dm9pZCo+KGNvbnN0X2Nhc3Q8UXRTaGltKj4odGhpcykpOworLSAgaWYgKCFzdHJjbXAoX2Ns bmFtZSwgIlF0SW50ZXJmYWNlIikpCisrICB9CisrICBpZiAoIXN0cmNtcChfY2xuYW1lLCAiUXRJ bnRlcmZhY2UiKSkgeworICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UXRJbnRlcmZhY2UqPihjb25z dF9jYXN0PFF0U2hpbSo+KHRoaXMpKTsKKysgIH0KKyAgIHJldHVybiBRT2JqZWN0OjpxdF9tZXRh Y2FzdChfY2xuYW1lKTsKKyB9CisgCisgaW50IHF0OjpRdFNoaW06OnF0X21ldGFjYWxsKFFNZXRh T2JqZWN0OjpDYWxsIF9jLCBpbnQgX2lkLCB2b2lkKiogX2EpIHsKKyAgIF9pZCA9IFFPYmplY3Q6 OnF0X21ldGFjYWxsKF9jLCBfaWQsIF9hKTsKKy0gIGlmIChfaWQgPCAwKQorKyAgaWYgKF9pZCA8 IDApIHsKKyAgICAgcmV0dXJuIF9pZDsKKysgIH0KKyAgIGlmIChfYyA9PSBRTWV0YU9iamVjdDo6 SW52b2tlTWV0YU1ldGhvZCkgeworLSAgICBpZiAoX2lkIDwgMikKKysgICAgaWYgKF9pZCA8IDIp IHsKKyAgICAgICBxdF9zdGF0aWNfbWV0YWNhbGwodGhpcywgX2MsIF9pZCwgX2EpOworKyAgICB9 CisgICAgIF9pZCAtPSAyOworICAgfSBlbHNlIGlmIChfYyA9PSBRTWV0YU9iamVjdDo6UmVnaXN0 ZXJNZXRob2RBcmd1bWVudE1ldGFUeXBlKSB7CistICAgIGlmIChfaWQgPCAyKQorKyAgICBpZiAo X2lkIDwgMikgeworICAgICAgICpyZWludGVycHJldF9jYXN0PGludCo+KF9hWzBdKSA9IC0xOwor KyAgICB9CisgICAgIF9pZCAtPSAyOworICAgfQorICAgcmV0dXJuIF9pZDsKK2RpZmYgLS1naXQg YS91aS9xdC9xdDZfc2hpbV9tb2MuY2MgYi91aS9xdC9xdDZfc2hpbV9tb2MuY2MKK25ldyBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMDAwLi42ZDAyY2EzMTdiNjVkCistLS0gL2Rl di9udWxsCisrKysgYi91aS9xdC9xdDZfc2hpbV9tb2MuY2MKK0BAIC0wLDAgKzEsMTQzIEBACisr Ly8gQ29weXJpZ2h0IDIwMjMgVGhlIENocm9taXVtIEF1dGhvcnMKKysvLyBVc2Ugb2YgdGhpcyBz b3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJl CisrLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKysKKysvKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KgorKyoqIE1ldGEgb2JqZWN0IGNvZGUgZnJvbSByZWFkaW5nIEMrKyBmaWxlICdxdF9zaGltLmgn CisrKioKKysqKiBDcmVhdGVkIGJ5OiBUaGUgUXQgTWV0YSBPYmplY3QgQ29tcGlsZXIgdmVyc2lv biA2OCAoUXQgNi4yLjQpCisrKioKKysqKiBXQVJOSU5HISBBbGwgY2hhbmdlcyBtYWRlIGluIHRo aXMgZmlsZSB3aWxsIGJlIGxvc3QhCisrKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisrCisrI2luY2x1 ZGUgPFF0Q29yZS9xYnl0ZWFycmF5Lmg+CisrI2luY2x1ZGUgPFF0Q29yZS9xbWV0YXR5cGUuaD4K KysjaW5jbHVkZSA8bWVtb3J5PgorKyNpbmNsdWRlICJ1aS9xdC9xdF9zaGltLmgiCisrI2lmICFk ZWZpbmVkKFFfTU9DX09VVFBVVF9SRVZJU0lPTikKKysjZXJyb3IgIlRoZSBoZWFkZXIgZmlsZSAn cXRfc2hpbS5oJyBkb2Vzbid0IGluY2x1ZGUgPFFPYmplY3Q+LiIKKysjZWxpZiBRX01PQ19PVVRQ VVRfUkVWSVNJT04gIT0gNjgKKysjZXJyb3IgIlRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIHVzaW5n IHRoZSBtb2MgZnJvbSA2LjIuNC4gSXQiCisrI2Vycm9yICJjYW5ub3QgYmUgdXNlZCB3aXRoIHRo ZSBpbmNsdWRlIGZpbGVzIGZyb20gdGhpcyB2ZXJzaW9uIG9mIFF0LiIKKysjZXJyb3IgIihUaGUg bW9jIGhhcyBjaGFuZ2VkIHRvbyBtdWNoLikiCisrI2VuZGlmCisrCisrUVRfQkVHSU5fTU9DX05B TUVTUEFDRQorK1FUX1dBUk5JTkdfUFVTSAorK1FUX1dBUk5JTkdfRElTQUJMRV9ERVBSRUNBVEVE Cisrc3RydWN0IHF0X21ldGFfc3RyaW5nZGF0YV9xdF9fUXRTaGltX3QgeworKyAgY29uc3QgdWlu dCBvZmZzZXRzQW5kU2l6ZVsxMl07CisrICBjaGFyIHN0cmluZ2RhdGEwWzUyXTsKKyt9OworKyNk ZWZpbmUgUVRfTU9DX0xJVEVSQUwob2ZzLCBsZW4pIFwKKysgIHVpbnQob2Zmc2V0b2YocXRfbWV0 YV9zdHJpbmdkYXRhX3F0X19RdFNoaW1fdCwgc3RyaW5nZGF0YTApICsgb2ZzKSwgbGVuCisrc3Rh dGljIGNvbnN0IHF0X21ldGFfc3RyaW5nZGF0YV9xdF9fUXRTaGltX3QgcXRfbWV0YV9zdHJpbmdk YXRhX3F0X19RdFNoaW0gPSB7CisrICAgIHsKKysgICAgICAgIFFUX01PQ19MSVRFUkFMKDAsIDEw KSwgICAvLyAicXQ6OlF0U2hpbSIKKysgICAgICAgIFFUX01PQ19MSVRFUkFMKDExLCAxMSksICAv LyAiRm9udENoYW5nZWQiCisrICAgICAgICBRVF9NT0NfTElURVJBTCgyMywgMCksICAgLy8gIiIK KysgICAgICAgIFFUX01PQ19MSVRFUkFMKDI0LCA0KSwgICAvLyAiZm9udCIKKysgICAgICAgIFFU X01PQ19MSVRFUkFMKDI5LCAxNCksICAvLyAiUGFsZXR0ZUNoYW5nZWQiCisrICAgICAgICBRVF9N T0NfTElURVJBTCg0NCwgNykgICAgLy8gInBhbGV0dGUiCisrCisrICAgIH0sCisrICAgICJxdDo6 UXRTaGltXDBGb250Q2hhbmdlZFwwXDBmb250XDAiCisrICAgICJQYWxldHRlQ2hhbmdlZFwwcGFs ZXR0ZSJ9OworKyN1bmRlZiBRVF9NT0NfTElURVJBTAorKworK3N0YXRpYyBjb25zdCB1aW50IHF0 X21ldGFfZGF0YV9xdF9fUXRTaGltW10gPSB7CisrCisrICAgIC8vIGNvbnRlbnQ6CisrICAgIDEw LCAgICAgLy8gcmV2aXNpb24KKysgICAgMCwgICAgICAvLyBjbGFzc25hbWUKKysgICAgMCwgMCwg ICAvLyBjbGFzc2luZm8KKysgICAgMiwgMTQsICAvLyBtZXRob2RzCisrICAgIDAsIDAsICAgLy8g cHJvcGVydGllcworKyAgICAwLCAwLCAgIC8vIGVudW1zL3NldHMKKysgICAgMCwgMCwgICAvLyBj b25zdHJ1Y3RvcnMKKysgICAgMCwgICAgICAvLyBmbGFncworKyAgICAwLCAgICAgIC8vIHNpZ25h bENvdW50CisrCisrICAgIC8vIHNsb3RzOiBuYW1lLCBhcmdjLCBwYXJhbWV0ZXJzLCB0YWcsIGZs YWdzLCBpbml0aWFsIG1ldGF0eXBlIG9mZnNldHMKKysgICAgMSwgMSwgMjYsIDIsIDB4MDgsIDEg LyogUHJpdmF0ZSAqLywgNCwgMSwgMjksIDIsIDB4MDgsIDMgLyogUHJpdmF0ZSAqLywKKysKKysg ICAgLy8gc2xvdHM6IHBhcmFtZXRlcnMKKysgICAgUU1ldGFUeXBlOjpWb2lkLCBRTWV0YVR5cGU6 OlFGb250LCAzLCBRTWV0YVR5cGU6OlZvaWQsIFFNZXRhVHlwZTo6UVBhbGV0dGUsCisrICAgIDUs CisrCisrICAgIDAgIC8vIGVvZAorK307CisrCisrdm9pZCBxdDo6UXRTaGltOjpxdF9zdGF0aWNf bWV0YWNhbGwoUU9iamVjdCogX28sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUU1ldGFPYmplY3Q6OkNhbGwgX2MsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50IF9pZCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lk KiogX2EpIHsKKysgIGlmIChfYyA9PSBRTWV0YU9iamVjdDo6SW52b2tlTWV0YU1ldGhvZCkgewor KyAgICBhdXRvKiBfdCA9IHN0YXRpY19jYXN0PFF0U2hpbSo+KF9vKTsKKysgICAgKHZvaWQpX3Q7 CisrICAgIHN3aXRjaCAoX2lkKSB7CisrICAgICAgY2FzZSAwOgorKyAgICAgICAgX3QtPkZvbnRD aGFuZ2VkKCgqcmVpbnRlcnByZXRfY2FzdDxzdGQ6OmFkZF9wb2ludGVyX3Q8UUZvbnQ+PihfYVsx XSkpKTsKKysgICAgICAgIGJyZWFrOworKyAgICAgIGNhc2UgMToKKysgICAgICAgIF90LT5QYWxl dHRlQ2hhbmdlZCgKKysgICAgICAgICAgICAoKnJlaW50ZXJwcmV0X2Nhc3Q8c3RkOjphZGRfcG9p bnRlcl90PFFQYWxldHRlPj4oX2FbMV0pKSk7CisrICAgICAgICBicmVhazsKKysgICAgICBkZWZh dWx0OjsKKysgICAgfQorKyAgfQorK30KKysKKytjb25zdCBRTWV0YU9iamVjdCBxdDo6UXRTaGlt OjpzdGF0aWNNZXRhT2JqZWN0ID0geworKyAgICB7UU1ldGFPYmplY3Q6OlN1cGVyRGF0YTo6bGlu azxRT2JqZWN0OjpzdGF0aWNNZXRhT2JqZWN0PigpLAorKyAgICAgcXRfbWV0YV9zdHJpbmdkYXRh X3F0X19RdFNoaW0ub2Zmc2V0c0FuZFNpemUsIHF0X21ldGFfZGF0YV9xdF9fUXRTaGltLAorKyAg ICAgcXRfc3RhdGljX21ldGFjYWxsLCBudWxscHRyLAorKyAgICAgcXRfaW5jb21wbGV0ZV9tZXRh VHlwZUFycmF5PAorKyAgICAgICAgIHF0X21ldGFfc3RyaW5nZGF0YV9xdF9fUXRTaGltX3QsCisr ICAgICAgICAgUXRQcml2YXRlOjpUeXBlQW5kRm9yY2VDb21wbGV0ZTxRdFNoaW0sIHN0ZDo6dHJ1 ZV90eXBlPiwKKysgICAgICAgICBRdFByaXZhdGU6OlR5cGVBbmRGb3JjZUNvbXBsZXRlPHZvaWQs IHN0ZDo6ZmFsc2VfdHlwZT4sCisrICAgICAgICAgUXRQcml2YXRlOjpUeXBlQW5kRm9yY2VDb21w bGV0ZTxjb25zdCBRRm9udCYsIHN0ZDo6ZmFsc2VfdHlwZT4sCisrICAgICAgICAgUXRQcml2YXRl OjpUeXBlQW5kRm9yY2VDb21wbGV0ZTx2b2lkLCBzdGQ6OmZhbHNlX3R5cGU+LAorKyAgICAgICAg IFF0UHJpdmF0ZTo6VHlwZUFuZEZvcmNlQ29tcGxldGU8Y29uc3QgUVBhbGV0dGUmLCBzdGQ6OmZh bHNlX3R5cGU+CisrCisrICAgICAgICAgPiwKKysgICAgIG51bGxwdHJ9fTsKKysKKytjb25zdCBR TWV0YU9iamVjdCogcXQ6OlF0U2hpbTo6bWV0YU9iamVjdCgpIGNvbnN0IHsKKysgIHJldHVybiBR T2JqZWN0OjpkX3B0ci0+bWV0YU9iamVjdCA/IFFPYmplY3Q6OmRfcHRyLT5keW5hbWljTWV0YU9i amVjdCgpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAmc3RhdGljTWV0 YU9iamVjdDsKKyt9CisrCisrdm9pZCogcXQ6OlF0U2hpbTo6cXRfbWV0YWNhc3QoY29uc3QgY2hh ciogX2NsbmFtZSkgeworKyAgaWYgKCFfY2xuYW1lKSB7CisrICAgIHJldHVybiBudWxscHRyOwor KyAgfQorKyAgaWYgKCFzdHJjbXAoX2NsbmFtZSwgcXRfbWV0YV9zdHJpbmdkYXRhX3F0X19RdFNo aW0uc3RyaW5nZGF0YTApKSB7CisrICAgIHJldHVybiBzdGF0aWNfY2FzdDx2b2lkKj4odGhpcyk7 CisrICB9CisrICBpZiAoIXN0cmNtcChfY2xuYW1lLCAiUXRJbnRlcmZhY2UiKSkgeworKyAgICBy ZXR1cm4gc3RhdGljX2Nhc3Q8UXRJbnRlcmZhY2UqPih0aGlzKTsKKysgIH0KKysgIHJldHVybiBR T2JqZWN0OjpxdF9tZXRhY2FzdChfY2xuYW1lKTsKKyt9CisrCisraW50IHF0OjpRdFNoaW06OnF0 X21ldGFjYWxsKFFNZXRhT2JqZWN0OjpDYWxsIF9jLCBpbnQgX2lkLCB2b2lkKiogX2EpIHsKKysg IF9pZCA9IFFPYmplY3Q6OnF0X21ldGFjYWxsKF9jLCBfaWQsIF9hKTsKKysgIGlmIChfaWQgPCAw KSB7CisrICAgIHJldHVybiBfaWQ7CisrICB9CisrICBpZiAoX2MgPT0gUU1ldGFPYmplY3Q6Oklu dm9rZU1ldGFNZXRob2QpIHsKKysgICAgaWYgKF9pZCA8IDIpIHsKKysgICAgICBxdF9zdGF0aWNf bWV0YWNhbGwodGhpcywgX2MsIF9pZCwgX2EpOworKyAgICB9CisrICAgIF9pZCAtPSAyOworKyAg fSBlbHNlIGlmIChfYyA9PSBRTWV0YU9iamVjdDo6UmVnaXN0ZXJNZXRob2RBcmd1bWVudE1ldGFU eXBlKSB7CisrICAgIGlmIChfaWQgPCAyKSB7CisrICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8UU1l dGFUeXBlKj4oX2FbMF0pID0gUU1ldGFUeXBlKCk7CisrICAgIH0KKysgICAgX2lkIC09IDI7Cisr ICB9CisrICByZXR1cm4gX2lkOworK30KKytRVF9XQVJOSU5HX1BPUAorK1FUX0VORF9NT0NfTkFN RVNQQUNFCitkaWZmIC0tZ2l0IGEvdWkvcXQvcXRfdWkuY2MgYi91aS9xdC9xdF91aS5jYworaW5k ZXggZDQwNTJiN2U4YmMzZC4uNmEzYjU4ZTlmOTMwYiAxMDA2NDQKKy0tLSBhL3VpL3F0L3F0X3Vp LmNjCisrKysgYi91aS9xdC9xdF91aS5jYworQEAgLTE0LDcgKzE0LDkgQEAKKyAjaW5jbHVkZSAi YmFzZS9jaGVjay5oIgorICNpbmNsdWRlICJiYXNlL2NvbW1hbmRfbGluZS5oIgorICNpbmNsdWRl ICJiYXNlL2NvbXBpbGVyX3NwZWNpZmljLmgiCisrI2luY2x1ZGUgImJhc2UvZW52aXJvbm1lbnQu aCIKKyAjaW5jbHVkZSAiYmFzZS9tZW1vcnkvcmF3X3B0ci5oIgorKyNpbmNsdWRlICJiYXNlL25p eC94ZGdfdXRpbC5oIgorICNpbmNsdWRlICJiYXNlL25vdHJlYWNoZWQuaCIKKyAjaW5jbHVkZSAi YmFzZS9wYXRoX3NlcnZpY2UuaCIKKyAjaW5jbHVkZSAiYmFzZS90aW1lL3RpbWUuaCIKK0BAIC00 Nyw2ICs0OSw0NSBAQCBuYW1lc3BhY2UgcXQgeworIAorIG5hbWVzcGFjZSB7CisgCisrY29uc3Qg Y2hhciBrUXRWZXJzaW9uRmxhZ1tdID0gInF0LXZlcnNpb24iOworKworK3ZvaWQqIExvYWRMaWJy YXJ5KGNvbnN0IGJhc2U6OkZpbGVQYXRoJiBwYXRoKSB7CisrICByZXR1cm4gZGxvcGVuKHBhdGgu dmFsdWUoKS5jX3N0cigpLCBSVExEX05PVyB8IFJUTERfR0xPQkFMKTsKKyt9CisrCisrdm9pZCog TG9hZExpYnJhcnlPckZhbGxiYWNrKGNvbnN0IGJhc2U6OkZpbGVQYXRoJiBwYXRoLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBwcmVmZXJyZWQsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGZhbGxiYWNrKSB7CisrICBpZiAodm9pZCog bGlicmFyeSA9IExvYWRMaWJyYXJ5KHBhdGguQXBwZW5kKHByZWZlcnJlZCkpKSB7CisrICAgIHJl dHVybiBsaWJyYXJ5OworKyAgfQorKyAgcmV0dXJuIExvYWRMaWJyYXJ5KHBhdGguQXBwZW5kKGZh bGxiYWNrKSk7CisrfQorKworK2Jvb2wgUHJlZmVyUXQ2KCkgeworKyAgYXV0byogY21kID0gYmFz ZTo6Q29tbWFuZExpbmU6OkZvckN1cnJlbnRQcm9jZXNzKCk7CisrICBpZiAoY21kLT5IYXNTd2l0 Y2goa1F0VmVyc2lvbkZsYWcpKSB7CisrICAgIHN0ZDo6c3RyaW5nIHF0X3ZlcnNpb25fc3RyaW5n ID0gY21kLT5HZXRTd2l0Y2hWYWx1ZUFTQ0lJKGtRdFZlcnNpb25GbGFnKTsKKysgICAgdW5zaWdu ZWQgaW50IHF0X3ZlcnNpb24gPSAwOworKyAgICBpZiAoYmFzZTo6U3RyaW5nVG9VaW50KHF0X3Zl cnNpb25fc3RyaW5nLCAmcXRfdmVyc2lvbikpIHsKKysgICAgICBzd2l0Y2ggKHF0X3ZlcnNpb24p IHsKKysgICAgICAgIGNhc2UgNToKKysgICAgICAgICAgcmV0dXJuIGZhbHNlOworKyAgICAgICAg Y2FzZSA2OgorKyAgICAgICAgICByZXR1cm4gdHJ1ZTsKKysgICAgICAgIGRlZmF1bHQ6CisrICAg ICAgICAgIExPRyhFUlJPUikgPDwgIlVuc3VwcG9ydGVkIFFUIHZlcnNpb24gIiA8PCBxdF92ZXJz aW9uOworKyAgICAgIH0KKysgICAgfSBlbHNlIHsKKysgICAgICBMT0coRVJST1IpIDw8ICJVbmFi bGUgdG8gcGFyc2UgUVQgdmVyc2lvbiAiIDw8IHF0X3ZlcnNpb25fc3RyaW5nOworKyAgICB9Cisr ICB9CisrCisrICBhdXRvIGVudiA9IGJhc2U6OkVudmlyb25tZW50OjpDcmVhdGUoKTsKKysgIGF1 dG8gZGVza3RvcCA9IGJhc2U6Om5peDo6R2V0RGVza3RvcEVudmlyb25tZW50KGVudi5nZXQoKSk7 CisrICByZXR1cm4gZGVza3RvcCA9PSBiYXNlOjpuaXg6OkRFU0tUT1BfRU5WSVJPTk1FTlRfS0RF NjsKKyt9CisrCisgaW50IFF0V2VpZ2h0VG9Dc3NXZWlnaHQoaW50IHdlaWdodCkgeworICAgc3Ry dWN0IHsKKyAgICAgaW50IHF0X3dlaWdodDsKK0BAIC0xNzksOCArMjIwLDEwIEBAIGJvb2wgUXRV aTo6SW5pdGlhbGl6ZSgpIHsKKyAgIGJhc2U6OkZpbGVQYXRoIHBhdGg7CisgICBpZiAoIWJhc2U6 OlBhdGhTZXJ2aWNlOjpHZXQoYmFzZTo6RElSX01PRFVMRSwgJnBhdGgpKQorICAgICByZXR1cm4g ZmFsc2U7CistICBwYXRoID0gcGF0aC5BcHBlbmQoImxpYnF0NV9zaGltLnNvIik7CistICB2b2lk KiBsaWJxdF9zaGltID0gZGxvcGVuKHBhdGgudmFsdWUoKS5jX3N0cigpLCBSVExEX05PVyB8IFJU TERfR0xPQkFMKTsKKysgIHZvaWQqIGxpYnF0X3NoaW0gPQorKyAgICAgIFByZWZlclF0NigpCisr ICAgICAgICAgID8gTG9hZExpYnJhcnlPckZhbGxiYWNrKHBhdGgsICJsaWJxdDZfc2hpbS5zbyIs ICJsaWJxdDVfc2hpbS5zbyIpCisrICAgICAgICAgIDogTG9hZExpYnJhcnlPckZhbGxiYWNrKHBh dGgsICJsaWJxdDVfc2hpbS5zbyIsICJsaWJxdDZfc2hpbS5zbyIpOworICAgaWYgKCFsaWJxdF9z aGltKQorICAgICByZXR1cm4gZmFsc2U7CisgICB2b2lkKiBjcmVhdGVfcXRfaW50ZXJmYWNlID0g ZGxzeW0obGlicXRfc2hpbSwgIkNyZWF0ZVF0SW50ZXJmYWNlIik7CgpkaWZmIC0tZ2l0IGEvY2hy b21pdW0tMTE0LXF0LWZpeF9mb250X2RvdWJsZV9zY2FsaW5nLnBhdGNoIGIvY2hyb21pdW0tMTE0 LXF0LWZpeF9mb250X2RvdWJsZV9zY2FsaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjk3MTNlZjYKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMTQtcXQt Zml4X2ZvbnRfZG91YmxlX3NjYWxpbmcucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorZGlmZiAtLWdp dCBhL3VpL3F0L3F0X3VpLmNjIGIvdWkvcXQvcXRfdWkuY2MKK2luZGV4IGJhYzUyNDVhLi5hOTdm YThiIDEwMDY0NAorLS0tIGEvdWkvcXQvcXRfdWkuY2MKKysrKyBiL3VpL3F0L3F0X3VpLmNjCitA QCAtNDIyLDEyICs0MjIsMTQgQEAKKyAgIGF1dG8gZGVzYyA9IHNoaW1fLT5HZXRGb250RGVzY3Jp cHRpb24oKTsKKyAKKyAgIGZvbnRfZmFtaWx5XyA9IGRlc2MuZmFtaWx5LmNfc3RyKCk7CisrICAv LyBQb2ludHMgYXJlIGRlZmluZWQgYXQgNzIgRFBJIGFuZCBwaXhlbHMgYXJlIDk2IERQSSBieSBk ZWZhdWx0LgorKyAgY29uc3RleHByIGRvdWJsZSBrUG9pbnRUb1BpeGVsUmF0aW8gPSA5Ni4wIC8g NzIuMDsKKyAgIGlmIChkZXNjLnNpemVfcGl4ZWxzID4gMCkgeworICAgICBmb250X3NpemVfcGl4 ZWxzXyA9IGRlc2Muc2l6ZV9waXhlbHM7CistICAgIGZvbnRfc2l6ZV9wb2ludHNfID0gZm9udF9z aXplX3BpeGVsc18gLyBHZXREZXZpY2VTY2FsZUZhY3RvcigpOworKyAgICBmb250X3NpemVfcG9p bnRzXyA9IHN0ZDo6cm91bmQoZm9udF9zaXplX3BpeGVsc18gLyBrUG9pbnRUb1BpeGVsUmF0aW8p OworICAgfSBlbHNlIHsKKyAgICAgZm9udF9zaXplX3BvaW50c18gPSBkZXNjLnNpemVfcG9pbnRz OworLSAgICBmb250X3NpemVfcGl4ZWxzXyA9IGZvbnRfc2l6ZV9wb2ludHNfICogR2V0RGV2aWNl U2NhbGVGYWN0b3IoKTsKKysgICAgZm9udF9zaXplX3BpeGVsc18gPSBzdGQ6OnJvdW5kKGZvbnRf c2l6ZV9wb2ludHNfICoga1BvaW50VG9QaXhlbFJhdGlvKTsKKyAgIH0KKyAgIGZvbnRfc3R5bGVf ID0gZGVzYy5pc19pdGFsaWMgPyBnZng6OkZvbnQ6OklUQUxJQyA6IGdmeDo6Rm9udDo6Tk9STUFM OworICAgZm9udF93ZWlnaHRfID0gUXRXZWlnaHRUb0Nzc1dlaWdodChkZXNjLndlaWdodCk7Cgpk aWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE0LXF0LWhhbmRsZV9zY2FsZV9mYWN0b3JfY2hhbmdlcy5w YXRjaCBiL2Nocm9taXVtLTExNC1xdC1oYW5kbGVfc2NhbGVfZmFjdG9yX2NoYW5nZXMucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhmYzcyZgotLS0gL2Rldi9udWxs CisrKyBiL2Nocm9taXVtLTExNC1xdC1oYW5kbGVfc2NhbGVfZmFjdG9yX2NoYW5nZXMucGF0Y2gK QEAgLTAsMCArMSw1NzQgQEAKK2NvbW1pdCBjNTFkNjQ0N2ZkMGQxMjQ5MDNkMTZiZjU5NTJlZmNj YmY5ZTFjYTkyCitBdXRob3I6IFRvbSBBbmRlcnNvbiA8dGhvbWFzYW5kZXJzb25AY2hyb21pdW0u b3JnPgorRGF0ZTogICBXZWQgTWF5IDI0IDIyOjUzOjIwIDIwMjMgKzAwMDAKKworICAgIFtRdF0g SGFuZGxlIHNjYWxlIGZhY3RvciBjaGFuZ2VzCisgICAgCisgICAgVGhpcyBpcyBhIHNwZWN1bGF0 aXZlIGZpeCBmb3IgaHR0cHM6Ly9jcmJ1Zy5jb20vMTQzOTE0OS4gIEkgc3VzcGVjdAorICAgIHRo ZSBzY2FsZSBmYWN0b3IgaXMgbm90IHNldCBpbW1lZGlhdGVseSBvbiBRVCBpbml0aWFsaXphdGlv biwgYnV0CisgICAgaXMgc2V0IGFzeW5jaHJvbm91c2x5IHNob3J0bHkgYWZ0ZXIuICBUaGlzIENM IGFkZHMgYSBsaXN0ZW5lciBmb3IKKyAgICBRVCBzY2FsZSBjaGFuZ2VzLgorICAgIAorICAgIFI9 dGhlc3RpZworICAgIAorICAgIExvdy1Db3ZlcmFnZS1SZWFzb246IE5vIFFUIHRlc3RzIGN1cnJl bnRseQorICAgIENoYW5nZS1JZDogSTdkZWEyM2UxNmE2YmIyNjIzNzU2NGFmMmRjNGU0MzQ4MGY2 YWVhOWYKKyAgICBCdWc6IDE0MzkxNDkKKyAgICBSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1 bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzQ1NTk3MzIKKyAgICBS ZXZpZXdlZC1ieTogTGVpIFpoYW5nIDx0aGVzdGlnQGNocm9taXVtLm9yZz4KKyAgICBDb21taXQt UXVldWU6IFRob21hcyBBbmRlcnNvbiA8dGhvbWFzYW5kZXJzb25AY2hyb21pdW0ub3JnPgorICAg IEF1dG8tU3VibWl0OiBUaG9tYXMgQW5kZXJzb24gPHRob21hc2FuZGVyc29uQGNocm9taXVtLm9y Zz4KKyAgICBDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFpbkB7IzExNDg4MDV9CisK K2RpZmYgLS1naXQgYS91aS9xdC9xdDVfc2hpbV9tb2MuY2MgYi91aS9xdC9xdDVfc2hpbV9tb2Mu Y2MKK2luZGV4IDhmOGI2YjU3Nzg0YTguLjZlNTA0ZjIzYzYwM2EgMTAwNjQ0CistLS0gYS91aS9x dC9xdDVfc2hpbV9tb2MuY2MKKysrKyBiL3VpL3F0L3F0NV9zaGltX21vYy5jYworQEAgLTIzLDgg KzIzLDggQEAKKyAKKyBRVF9CRUdJTl9NT0NfTkFNRVNQQUNFCisgc3RydWN0IHF0X21ldGFfc3Ry aW5nZGF0YV9xdF9fUXRTaGltX3QgeworLSAgUUJ5dGVBcnJheURhdGEgZGF0YVs2XTsKKy0gIGNo YXIgc3RyaW5nZGF0YVs1Ml07CisrICBRQnl0ZUFycmF5RGF0YSBkYXRhWzEzXTsKKysgIGNoYXIg c3RyaW5nZGF0YVsxNTFdOworIH07CisgI2RlZmluZSBRVF9NT0NfTElURVJBTChpZHgsIG9mcywg bGVuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIFFfU1RBVElD X0JZVEVfQVJSQVlfREFUQV9IRUFERVJfSU5JVElBTElaRVJfV0lUSF9PRkZTRVQoICAgICAgICAg ICAgICAgICAgXAorQEAgLTMzLDkgKzMzLDE2IEBAIHN0cnVjdCBxdF9tZXRhX3N0cmluZ2RhdGFf cXRfX1F0U2hpbV90IHsKKyBzdGF0aWMgY29uc3QgcXRfbWV0YV9zdHJpbmdkYXRhX3F0X19RdFNo aW1fdCBxdF9tZXRhX3N0cmluZ2RhdGFfcXRfX1F0U2hpbSA9IHsKKyAgICAge1FUX01PQ19MSVRF UkFMKDAsIDAsIDEwKSwgUVRfTU9DX0xJVEVSQUwoMSwgMTEsIDExKSwKKyAgICAgIFFUX01PQ19M SVRFUkFMKDIsIDIzLCAwKSwgUVRfTU9DX0xJVEVSQUwoMywgMjQsIDQpLAorLSAgICAgUVRfTU9D X0xJVEVSQUwoNCwgMjksIDE0KSwgUVRfTU9DX0xJVEVSQUwoNSwgNDQsIDcpfSwKKysgICAgIFFU X01PQ19MSVRFUkFMKDQsIDI5LCAxNCksIFFUX01PQ19MSVRFUkFMKDUsIDQ0LCA3KSwKKysgICAg IFFUX01PQ19MSVRFUkFMKDYsIDUyLCAxMSksIFFUX01PQ19MSVRFUkFMKDcsIDY0LCA4KSwKKysg ICAgIFFUX01PQ19MSVRFUkFMKDgsIDczLCA2KSwgUVRfTU9DX0xJVEVSQUwoOSwgODAsIDEzKSwK KysgICAgIFFUX01PQ19MSVRFUkFMKDEwLCA5NCwgMjUpLCBRVF9NT0NfTElURVJBTCgxMSwgMTIw LCAzKSwKKysgICAgIFFUX01PQ19MSVRFUkFMKDEyLCAxMjQsIDI2KX0sCisgICAgICJxdDo6UXRT aGltXDBGb250Q2hhbmdlZFwwXDBmb250XDAiCistICAgICJQYWxldHRlQ2hhbmdlZFwwcGFsZXR0 ZSJ9OworKyAgICAiUGFsZXR0ZUNoYW5nZWRcMHBhbGV0dGVcMFNjcmVlbkFkZGVkXDAiCisrICAg ICJRU2NyZWVuKlwwc2NyZWVuXDBTY3JlZW5SZW1vdmVkXDAiCisrICAgICJMb2dpY2FsRG90c1Bl ckluY2hDaGFuZ2VkXDBkcGlcMCIKKysgICAgIlBoeXNpY2FsRG90c1BlckluY2hDaGFuZ2VkIn07 CisgI3VuZGVmIFFUX01PQ19MSVRFUkFMCisgCisgc3RhdGljIGNvbnN0IHVpbnQgcXRfbWV0YV9k YXRhX3F0X19RdFNoaW1bXSA9IHsKK0BAIC00NCw3ICs1MSw3IEBAIHN0YXRpYyBjb25zdCB1aW50 IHF0X21ldGFfZGF0YV9xdF9fUXRTaGltW10gPSB7CisgICAgIDcsICAgICAgLy8gcmV2aXNpb24K KyAgICAgMCwgICAgICAvLyBjbGFzc25hbWUKKyAgICAgMCwgMCwgICAvLyBjbGFzc2luZm8KKy0g ICAgMiwgMTQsICAvLyBtZXRob2RzCisrICAgIDYsIDE0LCAgLy8gbWV0aG9kcworICAgICAwLCAw LCAgIC8vIHByb3BlcnRpZXMKKyAgICAgMCwgMCwgICAvLyBlbnVtcy9zZXRzCisgICAgIDAsIDAs ICAgLy8gY29uc3RydWN0b3JzCitAQCAtNTIsMTEgKzU5LDE1IEBAIHN0YXRpYyBjb25zdCB1aW50 IHF0X21ldGFfZGF0YV9xdF9fUXRTaGltW10gPSB7CisgICAgIDAsICAgICAgLy8gc2lnbmFsQ291 bnQKKyAKKyAgICAgLy8gc2xvdHM6IG5hbWUsIGFyZ2MsIHBhcmFtZXRlcnMsIHRhZywgZmxhZ3MK Ky0gICAgMSwgMSwgMjQsIDIsIDB4MDggLyogUHJpdmF0ZSAqLywgNCwgMSwgMjcsIDIsIDB4MDgg LyogUHJpdmF0ZSAqLywKKysgICAgMSwgMSwgNDQsIDIsIDB4MDggLyogUHJpdmF0ZSAqLywgNCwg MSwgNDcsIDIsIDB4MDggLyogUHJpdmF0ZSAqLywgNiwgMSwgNTAsCisrICAgIDIsIDB4MDggLyog UHJpdmF0ZSAqLywgOSwgMSwgNTMsIDIsIDB4MDggLyogUHJpdmF0ZSAqLywgMTAsIDEsIDU2LCAy LAorKyAgICAweDA4IC8qIFByaXZhdGUgKi8sIDEyLCAxLCA1OSwgMiwgMHgwOCAvKiBQcml2YXRl ICovLAorIAorICAgICAvLyBzbG90czogcGFyYW1ldGVycworICAgICBRTWV0YVR5cGU6OlZvaWQs IFFNZXRhVHlwZTo6UUZvbnQsIDMsIFFNZXRhVHlwZTo6Vm9pZCwgUU1ldGFUeXBlOjpRUGFsZXR0 ZSwKKy0gICAgNSwKKysgICAgNSwgUU1ldGFUeXBlOjpWb2lkLCAweDgwMDAwMDAwIHwgNywgOCwg UU1ldGFUeXBlOjpWb2lkLCAweDgwMDAwMDAwIHwgNywgOCwKKysgICAgUU1ldGFUeXBlOjpWb2lk LCBRTWV0YVR5cGU6OlFSZWFsLCAxMSwgUU1ldGFUeXBlOjpWb2lkLCBRTWV0YVR5cGU6OlFSZWFs LAorKyAgICAxMSwKKyAKKyAgICAgMCAgLy8gZW9kCisgfTsKK0BAIC03NCw2ICs4NSwxOCBAQCB2 b2lkIHF0OjpRdFNoaW06OnF0X3N0YXRpY19tZXRhY2FsbChRT2JqZWN0KiBfbywKKyAgICAgICBj YXNlIDE6CisgICAgICAgICBfdC0+UGFsZXR0ZUNoYW5nZWQoKCpyZWludGVycHJldF9jYXN0PGNv bnN0IFFQYWxldHRlKCopPihfYVsxXSkpKTsKKyAgICAgICAgIGJyZWFrOworKyAgICAgIGNhc2Ug MjoKKysgICAgICAgIF90LT5TY3JlZW5BZGRlZCgoKnJlaW50ZXJwcmV0X2Nhc3Q8UVNjcmVlbioo Kik+KF9hWzFdKSkpOworKyAgICAgICAgYnJlYWs7CisrICAgICAgY2FzZSAzOgorKyAgICAgICAg X3QtPlNjcmVlblJlbW92ZWQoKCpyZWludGVycHJldF9jYXN0PFFTY3JlZW4qKCopPihfYVsxXSkp KTsKKysgICAgICAgIGJyZWFrOworKyAgICAgIGNhc2UgNDoKKysgICAgICAgIF90LT5Mb2dpY2Fs RG90c1BlckluY2hDaGFuZ2VkKCgqcmVpbnRlcnByZXRfY2FzdDxxcmVhbCgqKT4oX2FbMV0pKSk7 CisrICAgICAgICBicmVhazsKKysgICAgICBjYXNlIDU6CisrICAgICAgICBfdC0+UGh5c2ljYWxE b3RzUGVySW5jaENoYW5nZWQoKCpyZWludGVycHJldF9jYXN0PHFyZWFsKCopPihfYVsxXSkpKTsK KysgICAgICAgIGJyZWFrOworICAgICAgIGRlZmF1bHQ6OworICAgICB9CisgICB9CitAQCAtMTA3 LDE1ICsxMzAsMTUgQEAgaW50IHF0OjpRdFNoaW06OnF0X21ldGFjYWxsKFFNZXRhT2JqZWN0OjpD YWxsIF9jLCBpbnQgX2lkLCB2b2lkKiogX2EpIHsKKyAgICAgcmV0dXJuIF9pZDsKKyAgIH0KKyAg IGlmIChfYyA9PSBRTWV0YU9iamVjdDo6SW52b2tlTWV0YU1ldGhvZCkgeworLSAgICBpZiAoX2lk IDwgMikgeworKyAgICBpZiAoX2lkIDwgNikgeworICAgICAgIHF0X3N0YXRpY19tZXRhY2FsbCh0 aGlzLCBfYywgX2lkLCBfYSk7CisgICAgIH0KKy0gICAgX2lkIC09IDI7CisrICAgIF9pZCAtPSA2 OworICAgfSBlbHNlIGlmIChfYyA9PSBRTWV0YU9iamVjdDo6UmVnaXN0ZXJNZXRob2RBcmd1bWVu dE1ldGFUeXBlKSB7CistICAgIGlmIChfaWQgPCAyKSB7CisrICAgIGlmIChfaWQgPCA2KSB7Cisg ICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oX2FbMF0pID0gLTE7CisgICAgIH0KKy0gICAg X2lkIC09IDI7CisrICAgIF9pZCAtPSA2OworICAgfQorICAgcmV0dXJuIF9pZDsKKyB9CitkaWZm IC0tZ2l0IGEvdWkvcXQvcXQ2X3NoaW1fbW9jLmNjIGIvdWkvcXQvcXQ2X3NoaW1fbW9jLmNjCitp bmRleCA2ZDAyY2EzMTdiNjVkLi5hMTY1MTUwMDhkODkyIDEwMDY0NAorLS0tIGEvdWkvcXQvcXQ2 X3NoaW1fbW9jLmNjCisrKysgYi91aS9xdC9xdDZfc2hpbV9tb2MuY2MKK0BAIC0yNiw4ICsyNiw4 IEBAIFFUX0JFR0lOX01PQ19OQU1FU1BBQ0UKKyBRVF9XQVJOSU5HX1BVU0gKKyBRVF9XQVJOSU5H X0RJU0FCTEVfREVQUkVDQVRFRAorIHN0cnVjdCBxdF9tZXRhX3N0cmluZ2RhdGFfcXRfX1F0U2hp bV90IHsKKy0gIGNvbnN0IHVpbnQgb2Zmc2V0c0FuZFNpemVbMTJdOworLSAgY2hhciBzdHJpbmdk YXRhMFs1Ml07CisrICBjb25zdCB1aW50IG9mZnNldHNBbmRTaXplWzI2XTsKKysgIGNoYXIgc3Ry aW5nZGF0YTBbMTUxXTsKKyB9OworICNkZWZpbmUgUVRfTU9DX0xJVEVSQUwob2ZzLCBsZW4pIFwK KyAgIHVpbnQob2Zmc2V0b2YocXRfbWV0YV9zdHJpbmdkYXRhX3F0X19RdFNoaW1fdCwgc3RyaW5n ZGF0YTApICsgb2ZzKSwgbGVuCitAQCAtMzgsMTEgKzM4LDIxIEBAIHN0YXRpYyBjb25zdCBxdF9t ZXRhX3N0cmluZ2RhdGFfcXRfX1F0U2hpbV90IHF0X21ldGFfc3RyaW5nZGF0YV9xdF9fUXRTaGlt ID0geworICAgICAgICAgUVRfTU9DX0xJVEVSQUwoMjMsIDApLCAgIC8vICIiCisgICAgICAgICBR VF9NT0NfTElURVJBTCgyNCwgNCksICAgLy8gImZvbnQiCisgICAgICAgICBRVF9NT0NfTElURVJB TCgyOSwgMTQpLCAgLy8gIlBhbGV0dGVDaGFuZ2VkIgorLSAgICAgICAgUVRfTU9DX0xJVEVSQUwo NDQsIDcpICAgIC8vICJwYWxldHRlIgorKyAgICAgICAgUVRfTU9DX0xJVEVSQUwoNDQsIDcpLCAg IC8vICJwYWxldHRlIgorKyAgICAgICAgUVRfTU9DX0xJVEVSQUwoNTIsIDExKSwgIC8vICJTY3Jl ZW5BZGRlZCIKKysgICAgICAgIFFUX01PQ19MSVRFUkFMKDY0LCA4KSwgICAvLyAiUVNjcmVlbioi CisrICAgICAgICBRVF9NT0NfTElURVJBTCg3MywgNiksICAgLy8gInNjcmVlbiIKKysgICAgICAg IFFUX01PQ19MSVRFUkFMKDgwLCAxMyksICAvLyAiU2NyZWVuUmVtb3ZlZCIKKysgICAgICAgIFFU X01PQ19MSVRFUkFMKDk0LCAyNSksICAvLyAiTG9naWNhbERvdHNQZXJJbmNoQ2hhbmdlZCIKKysg ICAgICAgIFFUX01PQ19MSVRFUkFMKDEyMCwgMyksICAvLyAiZHBpIgorKyAgICAgICAgUVRfTU9D X0xJVEVSQUwoMTI0LCAyNikgIC8vICJQaHlzaWNhbERvdHNQZXJJbmNoQ2hhbmdlZCIKKyAKKyAg ICAgfSwKKyAgICAgInF0OjpRdFNoaW1cMEZvbnRDaGFuZ2VkXDBcMGZvbnRcMCIKKy0gICAgIlBh bGV0dGVDaGFuZ2VkXDBwYWxldHRlIn07CisrICAgICJQYWxldHRlQ2hhbmdlZFwwcGFsZXR0ZVww U2NyZWVuQWRkZWRcMCIKKysgICAgIlFTY3JlZW4qXDBzY3JlZW5cMFNjcmVlblJlbW92ZWRcMCIK KysgICAgIkxvZ2ljYWxEb3RzUGVySW5jaENoYW5nZWRcMGRwaVwwIgorKyAgICAiUGh5c2ljYWxE b3RzUGVySW5jaENoYW5nZWQifTsKKyAjdW5kZWYgUVRfTU9DX0xJVEVSQUwKKyAKKyBzdGF0aWMg Y29uc3QgdWludCBxdF9tZXRhX2RhdGFfcXRfX1F0U2hpbVtdID0geworQEAgLTUxLDcgKzYxLDcg QEAgc3RhdGljIGNvbnN0IHVpbnQgcXRfbWV0YV9kYXRhX3F0X19RdFNoaW1bXSA9IHsKKyAgICAg MTAsICAgICAvLyByZXZpc2lvbgorICAgICAwLCAgICAgIC8vIGNsYXNzbmFtZQorICAgICAwLCAw LCAgIC8vIGNsYXNzaW5mbworLSAgICAyLCAxNCwgIC8vIG1ldGhvZHMKKysgICAgNiwgMTQsICAv LyBtZXRob2RzCisgICAgIDAsIDAsICAgLy8gcHJvcGVydGllcworICAgICAwLCAwLCAgIC8vIGVu dW1zL3NldHMKKyAgICAgMCwgMCwgICAvLyBjb25zdHJ1Y3RvcnMKK0BAIC01OSwxMSArNjksMTUg QEAgc3RhdGljIGNvbnN0IHVpbnQgcXRfbWV0YV9kYXRhX3F0X19RdFNoaW1bXSA9IHsKKyAgICAg MCwgICAgICAvLyBzaWduYWxDb3VudAorIAorICAgICAvLyBzbG90czogbmFtZSwgYXJnYywgcGFy YW1ldGVycywgdGFnLCBmbGFncywgaW5pdGlhbCBtZXRhdHlwZSBvZmZzZXRzCistICAgIDEsIDEs IDI2LCAyLCAweDA4LCAxIC8qIFByaXZhdGUgKi8sIDQsIDEsIDI5LCAyLCAweDA4LCAzIC8qIFBy aXZhdGUgKi8sCisrICAgIDEsIDEsIDUwLCAyLCAweDA4LCAxIC8qIFByaXZhdGUgKi8sIDQsIDEs IDUzLCAyLCAweDA4LCAzIC8qIFByaXZhdGUgKi8sIDYsCisrICAgIDEsIDU2LCAyLCAweDA4LCA1 IC8qIFByaXZhdGUgKi8sIDksIDEsIDU5LCAyLCAweDA4LCA3IC8qIFByaXZhdGUgKi8sIDEwLCAx LAorKyAgICA2MiwgMiwgMHgwOCwgOSAvKiBQcml2YXRlICovLCAxMiwgMSwgNjUsIDIsIDB4MDgs IDExIC8qIFByaXZhdGUgKi8sCisgCisgICAgIC8vIHNsb3RzOiBwYXJhbWV0ZXJzCisgICAgIFFN ZXRhVHlwZTo6Vm9pZCwgUU1ldGFUeXBlOjpRRm9udCwgMywgUU1ldGFUeXBlOjpWb2lkLCBRTWV0 YVR5cGU6OlFQYWxldHRlLAorLSAgICA1LAorKyAgICA1LCBRTWV0YVR5cGU6OlZvaWQsIDB4ODAw MDAwMDAgfCA3LCA4LCBRTWV0YVR5cGU6OlZvaWQsIDB4ODAwMDAwMDAgfCA3LCA4LAorKyAgICBR TWV0YVR5cGU6OlZvaWQsIFFNZXRhVHlwZTo6UVJlYWwsIDExLCBRTWV0YVR5cGU6OlZvaWQsIFFN ZXRhVHlwZTo6UVJlYWwsCisrICAgIDExLAorIAorICAgICAwICAvLyBlb2QKKyB9OworQEAgLTgz LDYgKzk3LDIyIEBAIHZvaWQgcXQ6OlF0U2hpbTo6cXRfc3RhdGljX21ldGFjYWxsKFFPYmplY3Qq IF9vLAorICAgICAgICAgX3QtPlBhbGV0dGVDaGFuZ2VkKAorICAgICAgICAgICAgICgqcmVpbnRl cnByZXRfY2FzdDxzdGQ6OmFkZF9wb2ludGVyX3Q8UVBhbGV0dGU+PihfYVsxXSkpKTsKKyAgICAg ICAgIGJyZWFrOworKyAgICAgIGNhc2UgMjoKKysgICAgICAgIF90LT5TY3JlZW5BZGRlZCgKKysg ICAgICAgICAgICAoKnJlaW50ZXJwcmV0X2Nhc3Q8c3RkOjphZGRfcG9pbnRlcl90PFFTY3JlZW4q Pj4oX2FbMV0pKSk7CisrICAgICAgICBicmVhazsKKysgICAgICBjYXNlIDM6CisrICAgICAgICBf dC0+U2NyZWVuUmVtb3ZlZCgKKysgICAgICAgICAgICAoKnJlaW50ZXJwcmV0X2Nhc3Q8c3RkOjph ZGRfcG9pbnRlcl90PFFTY3JlZW4qPj4oX2FbMV0pKSk7CisrICAgICAgICBicmVhazsKKysgICAg ICBjYXNlIDQ6CisrICAgICAgICBfdC0+TG9naWNhbERvdHNQZXJJbmNoQ2hhbmdlZCgKKysgICAg ICAgICAgICAoKnJlaW50ZXJwcmV0X2Nhc3Q8c3RkOjphZGRfcG9pbnRlcl90PHFyZWFsPj4oX2Fb MV0pKSk7CisrICAgICAgICBicmVhazsKKysgICAgICBjYXNlIDU6CisrICAgICAgICBfdC0+UGh5 c2ljYWxEb3RzUGVySW5jaENoYW5nZWQoCisrICAgICAgICAgICAgKCpyZWludGVycHJldF9jYXN0 PHN0ZDo6YWRkX3BvaW50ZXJfdDxxcmVhbD4+KF9hWzFdKSkpOworKyAgICAgICAgYnJlYWs7Cisg ICAgICAgZGVmYXVsdDo7CisgICAgIH0KKyAgIH0KK0BAIC05OCw3ICsxMjgsMTUgQEAgY29uc3Qg UU1ldGFPYmplY3QgcXQ6OlF0U2hpbTo6c3RhdGljTWV0YU9iamVjdCA9IHsKKyAgICAgICAgICBR dFByaXZhdGU6OlR5cGVBbmRGb3JjZUNvbXBsZXRlPHZvaWQsIHN0ZDo6ZmFsc2VfdHlwZT4sCisg ICAgICAgICAgUXRQcml2YXRlOjpUeXBlQW5kRm9yY2VDb21wbGV0ZTxjb25zdCBRRm9udCYsIHN0 ZDo6ZmFsc2VfdHlwZT4sCisgICAgICAgICAgUXRQcml2YXRlOjpUeXBlQW5kRm9yY2VDb21wbGV0 ZTx2b2lkLCBzdGQ6OmZhbHNlX3R5cGU+LAorLSAgICAgICAgIFF0UHJpdmF0ZTo6VHlwZUFuZEZv cmNlQ29tcGxldGU8Y29uc3QgUVBhbGV0dGUmLCBzdGQ6OmZhbHNlX3R5cGU+CisrICAgICAgICAg UXRQcml2YXRlOjpUeXBlQW5kRm9yY2VDb21wbGV0ZTxjb25zdCBRUGFsZXR0ZSYsIHN0ZDo6ZmFs c2VfdHlwZT4sCisrICAgICAgICAgUXRQcml2YXRlOjpUeXBlQW5kRm9yY2VDb21wbGV0ZTx2b2lk LCBzdGQ6OmZhbHNlX3R5cGU+LAorKyAgICAgICAgIFF0UHJpdmF0ZTo6VHlwZUFuZEZvcmNlQ29t cGxldGU8UVNjcmVlbiosIHN0ZDo6ZmFsc2VfdHlwZT4sCisrICAgICAgICAgUXRQcml2YXRlOjpU eXBlQW5kRm9yY2VDb21wbGV0ZTx2b2lkLCBzdGQ6OmZhbHNlX3R5cGU+LAorKyAgICAgICAgIFF0 UHJpdmF0ZTo6VHlwZUFuZEZvcmNlQ29tcGxldGU8UVNjcmVlbiosIHN0ZDo6ZmFsc2VfdHlwZT4s CisrICAgICAgICAgUXRQcml2YXRlOjpUeXBlQW5kRm9yY2VDb21wbGV0ZTx2b2lkLCBzdGQ6OmZh bHNlX3R5cGU+LAorKyAgICAgICAgIFF0UHJpdmF0ZTo6VHlwZUFuZEZvcmNlQ29tcGxldGU8cXJl YWwsIHN0ZDo6ZmFsc2VfdHlwZT4sCisrICAgICAgICAgUXRQcml2YXRlOjpUeXBlQW5kRm9yY2VD b21wbGV0ZTx2b2lkLCBzdGQ6OmZhbHNlX3R5cGU+LAorKyAgICAgICAgIFF0UHJpdmF0ZTo6VHlw ZUFuZEZvcmNlQ29tcGxldGU8cXJlYWwsIHN0ZDo6ZmFsc2VfdHlwZT4KKyAKKyAgICAgICAgICA+ LAorICAgICAgbnVsbHB0cn19OworQEAgLTEyNywxNSArMTY1LDE1IEBAIGludCBxdDo6UXRTaGlt OjpxdF9tZXRhY2FsbChRTWV0YU9iamVjdDo6Q2FsbCBfYywgaW50IF9pZCwgdm9pZCoqIF9hKSB7 CisgICAgIHJldHVybiBfaWQ7CisgICB9CisgICBpZiAoX2MgPT0gUU1ldGFPYmplY3Q6Okludm9r ZU1ldGFNZXRob2QpIHsKKy0gICAgaWYgKF9pZCA8IDIpIHsKKysgICAgaWYgKF9pZCA8IDYpIHsK KyAgICAgICBxdF9zdGF0aWNfbWV0YWNhbGwodGhpcywgX2MsIF9pZCwgX2EpOworICAgICB9Cist ICAgIF9pZCAtPSAyOworKyAgICBfaWQgLT0gNjsKKyAgIH0gZWxzZSBpZiAoX2MgPT0gUU1ldGFP YmplY3Q6OlJlZ2lzdGVyTWV0aG9kQXJndW1lbnRNZXRhVHlwZSkgeworLSAgICBpZiAoX2lkIDwg MikgeworKyAgICBpZiAoX2lkIDwgNikgeworICAgICAgICpyZWludGVycHJldF9jYXN0PFFNZXRh VHlwZSo+KF9hWzBdKSA9IFFNZXRhVHlwZSgpOworICAgICB9CistICAgIF9pZCAtPSAyOworKyAg ICBfaWQgLT0gNjsKKyAgIH0KKyAgIHJldHVybiBfaWQ7CisgfQorZGlmZiAtLWdpdCBhL3VpL3F0 L3F0X2ludGVyZmFjZS5oIGIvdWkvcXQvcXRfaW50ZXJmYWNlLmgKK2luZGV4IDZhMzYyYmM2NmMw ZTMuLjI4ZGZjNjYwMzU0NGYgMTAwNjQ0CistLS0gYS91aS9xdC9xdF9pbnRlcmZhY2UuaAorKysr IGIvdWkvcXQvcXRfaW50ZXJmYWNlLmgKK0BAIC0xMTgsNiArMTE4LDcgQEAgY2xhc3MgUXRJbnRl cmZhY2UgeworIAorICAgICB2aXJ0dWFsIHZvaWQgRm9udENoYW5nZWQoKSA9IDA7CisgICAgIHZp cnR1YWwgdm9pZCBUaGVtZUNoYW5nZWQoKSA9IDA7CisrICAgIHZpcnR1YWwgdm9pZCBTY2FsZUZh Y3Rvck1heWJlQ2hhbmdlZCgpID0gMDsKKyAgIH07CisgCisgICBRdEludGVyZmFjZSgpID0gZGVm YXVsdDsKK2RpZmYgLS1naXQgYS91aS9xdC9xdF9zaGltLmNjIGIvdWkvcXQvcXRfc2hpbS5jYwor aW5kZXggNzRkMzRhZDE5NmYxOC4uMGFlYzljM2FlZDRhZCAxMDA2NDQKKy0tLSBhL3VpL3F0L3F0 X3NoaW0uY2MKKysrKyBiL3VpL3F0L3F0X3NoaW0uY2MKK0BAIC0xNiw2ICsxNiw3IEBACisgI2lu Y2x1ZGUgPFFNaW1lVHlwZT4KKyAjaW5jbHVkZSA8UVBhaW50ZXI+CisgI2luY2x1ZGUgPFFQYWxl dHRlPgorKyNpbmNsdWRlIDxRU2NyZWVuPgorICNpbmNsdWRlIDxRU3R5bGU+CisgI2luY2x1ZGUg PFFTdHlsZU9wdGlvblRpdGxlQmFyPgorIAorQEAgLTUyLDggKzUzLDkgQEAgRm9udEhpbnRpbmcg UXRIaW50aW5nVG9Gb250SGludGluZyhRRm9udDo6SGludGluZ1ByZWZlcmVuY2UgaGludGluZykg eworIC8vIE9idGFpbiB0aGUgYXZlcmFnZSBjb2xvciBvZiBhIGdyYWRpZW50LgorIFNrQ29sb3Ig R3JhZGllbnRDb2xvcihjb25zdCBRR3JhZGllbnQmIGdyYWRpZW50KSB7CisgICBRR3JhZGllbnRT dG9wcyBzdG9wcyA9IGdyYWRpZW50LnN0b3BzKCk7CistICBpZiAoc3RvcHMuZW1wdHkoKSkKKysg IGlmIChzdG9wcy5lbXB0eSgpKSB7CisgICAgIHJldHVybiBxUmdiYSgwLCAwLCAwLCAwKTsKKysg IH0KKyAKKyAgIGZsb2F0IGEgPSAwOworICAgZmxvYXQgciA9IDA7CitAQCAtODYsMTEgKzg4LDEz IEBAIFNrQ29sb3IgR3JhZGllbnRDb2xvcihjb25zdCBRR3JhZGllbnQmIGdyYWRpZW50KSB7Cisg Ly8gT2J0YWluIHRoZSBhdmVyYWdlIGNvbG9yIG9mIGEgdGV4dHVyZS4KKyBTa0NvbG9yIFRleHR1 cmVDb2xvcihRSW1hZ2UgaW1hZ2UpIHsKKyAgIHNpemVfdCBzaXplID0gaW1hZ2Uud2lkdGgoKSAq IGltYWdlLmhlaWdodCgpOworLSAgaWYgKCFzaXplKQorKyAgaWYgKCFzaXplKSB7CisgICAgIHJl dHVybiBxUmdiYSgwLCAwLCAwLCAwKTsKKysgIH0KKyAKKy0gIGlmIChpbWFnZS5mb3JtYXQoKSAh PSBRSW1hZ2U6OkZvcm1hdF9BUkdCMzJfUHJlbXVsdGlwbGllZCkKKysgIGlmIChpbWFnZS5mb3Jt YXQoKSAhPSBRSW1hZ2U6OkZvcm1hdF9BUkdCMzJfUHJlbXVsdGlwbGllZCkgeworICAgICBpbWFn ZSA9IGltYWdlLmNvbnZlcnRUb0Zvcm1hdChRSW1hZ2U6OkZvcm1hdF9BUkdCMzJfUHJlbXVsdGlw bGllZCk7CisrICB9CisgCisgICBzaXplX3QgYSA9IDA7CisgICBzaXplX3QgciA9IDA7CitAQCAt MjAzLDYgKzIwNywxMyBAQCBRdFNoaW06OlF0U2hpbShRdEludGVyZmFjZTo6RGVsZWdhdGUqIGRl bGVnYXRlLCBpbnQqIGFyZ2MsIGNoYXIqKiBhcmd2KQorICAgICAgICAgICBTTE9UKEZvbnRDaGFu Z2VkKGNvbnN0IFFGb250JikpKTsKKyAgIGNvbm5lY3QoJmFwcF8sIFNJR05BTChwYWxldHRlQ2hh bmdlZChjb25zdCBRUGFsZXR0ZSYpKSwgdGhpcywKKyAgICAgICAgICAgU0xPVChQYWxldHRlQ2hh bmdlZChjb25zdCBRUGFsZXR0ZSYpKSk7CisrICBjb25uZWN0KCZhcHBfLCBTSUdOQUwoc2NyZWVu QWRkZWQoUVNjcmVlbiopKSwgdGhpcywKKysgICAgICAgICAgU0xPVChTY3JlZW5BZGRlZChRU2Ny ZWVuKikpKTsKKysgIGNvbm5lY3QoJmFwcF8sIFNJR05BTChzY3JlZW5SZW1vdmVkKFFTY3JlZW4q KSksIHRoaXMsCisrICAgICAgICAgIFNMT1QoU2NyZWVuUmVtb3ZlZChRU2NyZWVuKikpKTsKKysg IGZvciAoUVNjcmVlbiogc2NyZWVuIDogYXBwXy5zY3JlZW5zKCkpIHsKKysgICAgU2NyZWVuQWRk ZWQoc2NyZWVuKTsKKysgIH0KKyB9CisgCisgUXRTaGltOjp+UXRTaGltKCkgPSBkZWZhdWx0Owor QEAgLTI0MSw4ICsyNTIsOSBAQCBJbWFnZSBRdFNoaW06OkdldEljb25Gb3JDb250ZW50VHlwZShj b25zdCBTdHJpbmcmIGNvbnRlbnRfdHlwZSwKKyAgICAgICBhdXRvIGljb24gPSBRSWNvbjo6ZnJv bVRoZW1lKG5hbWUpOworICAgICAgIGF1dG8gcGl4bWFwID0gaWNvbi5waXhtYXAoc2l6ZSk7Cisg ICAgICAgYXV0byBpbWFnZSA9IHBpeG1hcC50b0ltYWdlKCk7CistICAgICAgaWYgKGltYWdlLmZv cm1hdCgpICE9IFFJbWFnZTo6Rm9ybWF0X0FSR0IzMl9QcmVtdWx0aXBsaWVkKQorKyAgICAgIGlm IChpbWFnZS5mb3JtYXQoKSAhPSBRSW1hZ2U6OkZvcm1hdF9BUkdCMzJfUHJlbXVsdGlwbGllZCkg eworICAgICAgICAgaW1hZ2UgPSBpbWFnZS5jb252ZXJ0VG9Gb3JtYXQoUUltYWdlOjpGb3JtYXRf QVJHQjMyX1ByZW11bHRpcGxpZWQpOworKyAgICAgIH0KKyAgICAgICBpZiAoYXV0byBieXRlcyA9 IGltYWdlLnNpemVJbkJ5dGVzKCkpIHsKKyAgICAgICAgIHJldHVybiB7aW1hZ2Uud2lkdGgoKSwg aW1hZ2UuaGVpZ2h0KCksCisgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGZsb2F0PihpbWFn ZS5kZXZpY2VQaXhlbFJhdGlvKCkpLAorQEAgLTI4Myw2ICsyOTUsMzAgQEAgdm9pZCBRdFNoaW06 OlBhbGV0dGVDaGFuZ2VkKGNvbnN0IFFQYWxldHRlJiBwYWxldHRlKSB7CisgICBkZWxlZ2F0ZV8t PlRoZW1lQ2hhbmdlZCgpOworIH0KKyAKKytESVNBQkxFX0NGSV9WQ0FMTAorK3ZvaWQgUXRTaGlt OjpTY3JlZW5BZGRlZChRU2NyZWVuKiBzY3JlZW4pIHsKKysgIGNvbm5lY3Qoc2NyZWVuLCBTSUdO QUwobG9naWNhbERvdHNQZXJJbmNoQ2hhbmdlZChxcmVhbCkpLCB0aGlzLAorKyAgICAgICAgICBT TE9UKExvZ2ljYWxEb3RzUGVySW5jaENoYW5nZWQocXJlYWwpKSk7CisrICBjb25uZWN0KHNjcmVl biwgU0lHTkFMKHBoeXNpY2FsRG90c1BlckluY2hDaGFuZ2VkKHFyZWFsKSksIHRoaXMsCisrICAg ICAgICAgIFNMT1QoUGh5c2ljYWxEb3RzUGVySW5jaENoYW5nZWQocXJlYWwpKSk7CisrICBkZWxl Z2F0ZV8tPlNjYWxlRmFjdG9yTWF5YmVDaGFuZ2VkKCk7CisrfQorKworK0RJU0FCTEVfQ0ZJX1ZD QUxMCisrdm9pZCBRdFNoaW06OlNjcmVlblJlbW92ZWQoUVNjcmVlbiogc2NyZWVuKSB7CisrICBk ZWxlZ2F0ZV8tPlNjYWxlRmFjdG9yTWF5YmVDaGFuZ2VkKCk7CisrfQorKworK0RJU0FCTEVfQ0ZJ X1ZDQUxMCisrdm9pZCBRdFNoaW06OkxvZ2ljYWxEb3RzUGVySW5jaENoYW5nZWQocXJlYWwgZHBp KSB7CisrICBkZWxlZ2F0ZV8tPlNjYWxlRmFjdG9yTWF5YmVDaGFuZ2VkKCk7CisrfQorKworK0RJ U0FCTEVfQ0ZJX1ZDQUxMCisrdm9pZCBRdFNoaW06OlBoeXNpY2FsRG90c1BlckluY2hDaGFuZ2Vk KHFyZWFsIGRwaSkgeworKyAgZGVsZWdhdGVfLT5TY2FsZUZhY3Rvck1heWJlQ2hhbmdlZCgpOwor K30KKysKKyBJbWFnZSBRdFNoaW06OkRyYXdIZWFkZXIoaW50IHdpZHRoLAorICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBTa0Nv bG9yIGRlZmF1bHRfY29sb3IsCitAQCAtMzA5LDggKzM0NSw5IEBAIFFJbWFnZSBRdFNoaW06OkRy YXdIZWFkZXJJbXBsKGludCB3aWR0aCwKKyAgICAgUVN0eWxlT3B0aW9uVGl0bGVCYXIgb3B0Owor ICAgICBvcHQucmVjdCA9IFFSZWN0KC1rQm9yZGVyV2lkdGgsIC1rQm9yZGVyV2lkdGgsIHdpZHRo ICsgMiAqIGtCb3JkZXJXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgKyAyICog a0JvcmRlcldpZHRoKTsKKy0gICAgaWYgKHN0YXRlID09IENvbG9yU3RhdGU6OmtOb3JtYWwpCisr ICAgIGlmIChzdGF0ZSA9PSBDb2xvclN0YXRlOjprTm9ybWFsKSB7CisgICAgICAgb3B0LnRpdGxl QmFyU3RhdGUgPSBRU3R5bGU6OlN0YXRlX0FjdGl2ZTsKKysgICAgfQorICAgICBhcHBfLnN0eWxl KCktPmRyYXdDb21wbGV4Q29udHJvbChRU3R5bGU6OkNDX1RpdGxlQmFyLCAmb3B0LCAmcGFpbnRl ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbHB0cik7CisgICB9 IGVsc2UgeworZGlmZiAtLWdpdCBhL3VpL3F0L3F0X3NoaW0uaCBiL3VpL3F0L3F0X3NoaW0uaAor aW5kZXggNjA3ZTZmZTIyZGZjMC4uZDk3OWM0N2Q1ODlkNCAxMDA2NDQKKy0tLSBhL3VpL3F0L3F0 X3NoaW0uaAorKysrIGIvdWkvcXQvcXRfc2hpbS5oCitAQCAtNDIsNiArNDIsMTAgQEAgY2xhc3Mg UXRTaGltIDogcHVibGljIFFPYmplY3QsIHB1YmxpYyBRdEludGVyZmFjZSB7CisgIHByaXZhdGUg c2xvdHM6CisgICB2b2lkIEZvbnRDaGFuZ2VkKGNvbnN0IFFGb250JiBmb250KTsKKyAgIHZvaWQg UGFsZXR0ZUNoYW5nZWQoY29uc3QgUVBhbGV0dGUmIHBhbGV0dGUpOworKyAgdm9pZCBTY3JlZW5B ZGRlZChRU2NyZWVuKiBzY3JlZW4pOworKyAgdm9pZCBTY3JlZW5SZW1vdmVkKFFTY3JlZW4qIHNj cmVlbik7CisrICB2b2lkIExvZ2ljYWxEb3RzUGVySW5jaENoYW5nZWQocXJlYWwgZHBpKTsKKysg IHZvaWQgUGh5c2ljYWxEb3RzUGVySW5jaENoYW5nZWQocXJlYWwgZHBpKTsKKyAKKyAgcHJpdmF0 ZToKKyAgIFFJbWFnZSBEcmF3SGVhZGVySW1wbChpbnQgd2lkdGgsCitkaWZmIC0tZ2l0IGEvdWkv cXQvcXRfdWkuY2MgYi91aS9xdC9xdF91aS5jYworaW5kZXggNmEzYjU4ZTlmOTMwYi4uYmFjNTI0 NWEwNjlmOSAxMDA2NDQKKy0tLSBhL3VpL3F0L3F0X3VpLmNjCisrKysgYi91aS9xdC9xdF91aS5j YworQEAgLTE5LDYgKzE5LDcgQEAKKyAjaW5jbHVkZSAiYmFzZS9uaXgveGRnX3V0aWwuaCIKKyAj aW5jbHVkZSAiYmFzZS9ub3RyZWFjaGVkLmgiCisgI2luY2x1ZGUgImJhc2UvcGF0aF9zZXJ2aWNl LmgiCisrI2luY2x1ZGUgImJhc2UvdGFzay9zaW5nbGVfdGhyZWFkX3Rhc2tfcnVubmVyLmgiCisg I2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCisgI2luY2x1ZGUgImNjL3BhaW50L3BhaW50X2Nh bnZhcy5oIgorICNpbmNsdWRlICJjaHJvbWUvYnJvd3Nlci90aGVtZXMvdGhlbWVfcHJvcGVydGll cy5oIiAgLy8gbm9nbmNoZWNrCitAQCAtMzYsNiArMzcsNyBAQAorICNpbmNsdWRlICJ1aS9nZngv aW1hZ2UvaW1hZ2UuaCIKKyAjaW5jbHVkZSAidWkvZ2Z4L2ltYWdlL2ltYWdlX3NraWFfcmVwLmgi CisgI2luY2x1ZGUgInVpL2dmeC9pbWFnZS9pbWFnZV9za2lhX3NvdXJjZS5oIgorKyNpbmNsdWRl ICJ1aS9saW51eC9kZXZpY2Vfc2NhbGVfZmFjdG9yX29ic2VydmVyLmgiCisgI2luY2x1ZGUgInVp L2xpbnV4L2xpbnV4X3VpLmgiCisgI2luY2x1ZGUgInVpL2xpbnV4L25hdl9idXR0b25fcHJvdmlk ZXIuaCIKKyAjaW5jbHVkZSAidWkvbmF0aXZlX3RoZW1lL25hdGl2ZV90aGVtZV9hdXJhLmgiCitA QCAtMTk0LDE2ICsxOTYsMjEgQEAgdm9pZCBRdFVpOjpHZXREZWZhdWx0Rm9udERlc2NyaXB0aW9u KHN0ZDo6c3RyaW5nKiBmYW1pbHlfb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbnQqIHN0eWxlX291dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50KiB3ZWlnaHRfb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBnZng6OkZvbnRSZW5kZXJQYXJhbXMqIHBhcmFtc19vdXQpIGNvbnN0IHsKKy0gIGlmIChm YW1pbHlfb3V0KQorKyAgaWYgKGZhbWlseV9vdXQpIHsKKyAgICAgKmZhbWlseV9vdXQgPSBmb250 X2ZhbWlseV87CistICBpZiAoc2l6ZV9waXhlbHNfb3V0KQorKyAgfQorKyAgaWYgKHNpemVfcGl4 ZWxzX291dCkgeworICAgICAqc2l6ZV9waXhlbHNfb3V0ID0gZm9udF9zaXplX3BpeGVsc187Cist ICBpZiAoc3R5bGVfb3V0KQorKyAgfQorKyAgaWYgKHN0eWxlX291dCkgeworICAgICAqc3R5bGVf b3V0ID0gZm9udF9zdHlsZV87CistICBpZiAod2VpZ2h0X291dCkKKysgIH0KKysgIGlmICh3ZWln aHRfb3V0KSB7CisgICAgICp3ZWlnaHRfb3V0ID0gZm9udF93ZWlnaHRfOworLSAgaWYgKHBhcmFt c19vdXQpCisrICB9CisrICBpZiAocGFyYW1zX291dCkgeworICAgICAqcGFyYW1zX291dCA9IGZv bnRfcGFyYW1zXzsKKysgIH0KKyB9CisgCisgdWk6OlNlbGVjdEZpbGVEaWFsb2cqIFF0VWk6OkNy ZWF0ZVNlbGVjdEZpbGVEaWFsb2coCitAQCAtMjM2LDYgKzI0NSw3IEBAIGJvb2wgUXRVaTo6SW5p dGlhbGl6ZSgpIHsKKyAgIHVpOjpDb2xvclByb3ZpZGVyTWFuYWdlcjo6R2V0KCkuQXBwZW5kQ29s b3JQcm92aWRlckluaXRpYWxpemVyKAorICAgICAgIGJhc2U6OkJpbmRSZXBlYXRpbmcoJlF0VWk6 OkFkZE5hdGl2ZUNvbG9yTWl4ZXIsIGJhc2U6OlVucmV0YWluZWQodGhpcykpKTsKKyAgIEZvbnRD aGFuZ2VkKCk7CisrICBzY2FsZV9mYWN0b3JfID0gc2hpbV8tPkdldFNjYWxlRmFjdG9yKCk7Cisg CisgICByZXR1cm4gdHJ1ZTsKKyB9CitAQCAtMjQ2LDggKzI1Niw5IEBAIHVpOjpOYXRpdmVUaGVt ZSogUXRVaTo6R2V0TmF0aXZlVGhlbWUoKSBjb25zdCB7CisgCisgYm9vbCBRdFVpOjpHZXRDb2xv cihpbnQgaWQsIFNrQ29sb3IqIGNvbG9yLCBib29sIHVzZV9jdXN0b21fZnJhbWUpIGNvbnN0IHsK KyAgIGF1dG8gdmFsdWUgPSBHZXRDb2xvcihpZCwgdXNlX2N1c3RvbV9mcmFtZSk7CistICBpZiAo dmFsdWUpCisrICBpZiAodmFsdWUpIHsKKyAgICAgKmNvbG9yID0gKnZhbHVlOworKyAgfQorICAg cmV0dXJuIHZhbHVlLmhhc192YWx1ZSgpOworIH0KKyAKK0BAIC0yOTcsOCArMzA4LDkgQEAgZ2Z4 OjpJbWFnZSBRdFVpOjpHZXRJY29uRm9yQ29udGVudFR5cGUoY29uc3Qgc3RkOjpzdHJpbmcmIGNv bnRlbnRfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9h dCBzY2FsZSkgY29uc3QgeworICAgSW1hZ2UgaW1hZ2UgPQorICAgICAgIHNoaW1fLT5HZXRJY29u Rm9yQ29udGVudFR5cGUoU3RyaW5nKGNvbnRlbnRfdHlwZS5jX3N0cigpKSwgc2l6ZSAqIHNjYWxl KTsKKy0gIGlmICghaW1hZ2UuZGF0YV9hcmdiLnNpemUoKSkKKysgIGlmICghaW1hZ2UuZGF0YV9h cmdiLnNpemUoKSkgeworICAgICByZXR1cm4ge307CisrICB9CisgCisgICBTa0ltYWdlSW5mbyBp bWFnZV9pbmZvID0gU2tJbWFnZUluZm86Ok1ha2UoCisgICAgICAgaW1hZ2Uud2lkdGgsIGltYWdl LmhlaWdodCwga0JHUkFfODg4OF9Ta0NvbG9yVHlwZSwga1ByZW11bF9Ta0FscGhhVHlwZSk7CitA QCAtMzQ1LDE0ICszNTcsMTYgQEAgYm9vbCBRdFVpOjpBbmltYXRpb25zRW5hYmxlZCgpIGNvbnN0 IHsKKyAKKyB2b2lkIFF0VWk6OkFkZFdpbmRvd0J1dHRvbk9yZGVyT2JzZXJ2ZXIoCisgICAgIHVp OjpXaW5kb3dCdXR0b25PcmRlck9ic2VydmVyKiBvYnNlcnZlcikgeworLSAgaWYgKGZhbGxiYWNr X2xpbnV4X3VpXykKKysgIGlmIChmYWxsYmFja19saW51eF91aV8pIHsKKyAgICAgZmFsbGJhY2tf bGludXhfdWlfLT5BZGRXaW5kb3dCdXR0b25PcmRlck9ic2VydmVyKG9ic2VydmVyKTsKKysgIH0K KyB9CisgCisgdm9pZCBRdFVpOjpSZW1vdmVXaW5kb3dCdXR0b25PcmRlck9ic2VydmVyKAorICAg ICB1aTo6V2luZG93QnV0dG9uT3JkZXJPYnNlcnZlciogb2JzZXJ2ZXIpIHsKKy0gIGlmIChmYWxs YmFja19saW51eF91aV8pCisrICBpZiAoZmFsbGJhY2tfbGludXhfdWlfKSB7CisgICAgIGZhbGxi YWNrX2xpbnV4X3VpXy0+UmVtb3ZlV2luZG93QnV0dG9uT3JkZXJPYnNlcnZlcihvYnNlcnZlcik7 CisrICB9CisgfQorIAorIHN0ZDo6dW5pcXVlX3B0cjx1aTo6TmF2QnV0dG9uUHJvdmlkZXI+IFF0 VWk6OkNyZWF0ZU5hdkJ1dHRvblByb3ZpZGVyKCkgeworQEAgLTQ0MSwxMSArNDU1LDI0IEBAIHZv aWQgUXRVaTo6VGhlbWVDaGFuZ2VkKCkgeworICAgbmF0aXZlX3RoZW1lXy0+VGhlbWVDaGFuZ2Vk KFByZWZlckRhcmtUaGVtZSgpKTsKKyB9CisgCisrdm9pZCBRdFVpOjpTY2FsZUZhY3Rvck1heWJl Q2hhbmdlZCgpIHsKKysgIC8vIFRoaXMgZ2V0cyBjYWxsZWQgd2hlbmV2ZXIgdGhlIG1vbml0b3Ig Y29uZmlndXJhdGlvbiBjaGFuZ2VzLiAgSGFuZGxlIHRoZQorKyAgLy8gc2NhbGUgY2hhbmdlIGFz eW5jaHJvbm91c2x5IHRvIGFsbG93IHRoZSBjaGFuZ2UgdG8gcHJvcGFnYXRlIHRvIFFUJ3Mgc2Nh bGUKKysgIC8vIGZhY3Rvci4gVGhpcyBhbHNvIGNvYWxlc2NlcyBzY2FsZSBjaGFuZ2UgZXZlbnRz IHRvZ2V0aGVyLgorKyAgaWYgKCFzY2FsZV9mYWN0b3JfdGFza19hY3RpdmVfKSB7CisrICAgIHNj YWxlX2ZhY3Rvcl90YXNrX2FjdGl2ZV8gPSB0cnVlOworKyAgICBiYXNlOjpTaW5nbGVUaHJlYWRU YXNrUnVubmVyOjpHZXRDdXJyZW50RGVmYXVsdCgpLT5Qb3N0VGFzaygKKysgICAgICAgIEZST01f SEVSRSwgYmFzZTo6QmluZE9uY2UoJlF0VWk6OlNjYWxlRmFjdG9yTWF5YmVDaGFuZ2VkSW1wbCwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2Vha19mYWN0b3J5Xy5HZXRXZWFr UHRyKCkpKTsKKysgIH0KKyt9CisrCisgRElTQUJMRV9DRklfVkNBTEwKKyB2b2lkIFF0VWk6OkFk ZE5hdGl2ZUNvbG9yTWl4ZXIodWk6OkNvbG9yUHJvdmlkZXIqIHByb3ZpZGVyLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aTo6Q29sb3JQcm92aWRlck1hbmFnZXI6Oktl eSYga2V5KSB7CistICBpZiAoa2V5LnN5c3RlbV90aGVtZSAhPSB1aTo6U3lzdGVtVGhlbWU6OmtR dCkKKysgIGlmIChrZXkuc3lzdGVtX3RoZW1lICE9IHVpOjpTeXN0ZW1UaGVtZTo6a1F0KSB7Cisg ICAgIHJldHVybjsKKysgIH0KKyAKKyAgIHVpOjpDb2xvck1peGVyJiBtaXhlciA9IHByb3ZpZGVy LT5BZGRNaXhlcigpOworICAgLy8gVGhlc2UgY29sb3IgY29uc3RhbnRzIGFyZSByZXF1aXJlZCBi eSBuYXRpdmVfY2hyb21lX2NvbG9yX21peGVyX2xpbnV4LmNjCitAQCAtNDk0LDggKzUyMSw5IEBA IHZvaWQgUXRVaTo6QWRkTmF0aXZlQ29sb3JNaXhlcih1aTo6Q29sb3JQcm92aWRlciogcHJvdmlk ZXIsCisgICAgICAgIENvbG9yU3RhdGU6OmtJbmFjdGl2ZX0sCisgICAgICAge3VpOjprQ29sb3JO YXRpdmVUb29sYmFyQmFja2dyb3VuZCwgQ29sb3JUeXBlOjprQnV0dG9uQmd9LAorICAgfTsKKy0g IGZvciAoY29uc3QgYXV0byYgbWFwIDoga01hcHMpCisrICBmb3IgKGNvbnN0IGF1dG8mIG1hcCA6 IGtNYXBzKSB7CisgICAgIG1peGVyW21hcC5pZF0gPSB7c2hpbV8tPkdldENvbG9yKG1hcC5yb2xl LCBtYXAuc3RhdGUpfTsKKysgIH0KKyAKKyAgIGNvbnN0IGJvb2wgdXNlX2N1c3RvbV9mcmFtZSA9 CisgICAgICAga2V5LmZyYW1lX3R5cGUgPT0gdWk6OkNvbG9yUHJvdmlkZXJNYW5hZ2VyOjpGcmFt ZVR5cGU6OmtDaHJvbWl1bTsKK0BAIC01NzgsNiArNjA2LDIwIEBAIGFic2w6Om9wdGlvbmFsPFNr Q29sb3I+IFF0VWk6OkdldENvbG9yKGludCBpZCwgYm9vbCB1c2VfY3VzdG9tX2ZyYW1lKSBjb25z dCB7CisgICB9CisgfQorIAorK0RJU0FCTEVfQ0ZJX1ZDQUxMCisrdm9pZCBRdFVpOjpTY2FsZUZh Y3Rvck1heWJlQ2hhbmdlZEltcGwoKSB7CisrICBzY2FsZV9mYWN0b3JfdGFza19hY3RpdmVfID0g ZmFsc2U7CisrICBkb3VibGUgc2NhbGUgPSBzaGltXy0+R2V0U2NhbGVGYWN0b3IoKTsKKysgIGlm IChzY2FsZSA9PSBzY2FsZV9mYWN0b3JfKSB7CisrICAgIHJldHVybjsKKysgIH0KKysgIHNjYWxl X2ZhY3Rvcl8gPSBzY2FsZTsKKysgIGZvciAodWk6OkRldmljZVNjYWxlRmFjdG9yT2JzZXJ2ZXIm IG9ic2VydmVyIDoKKysgICAgICAgZGV2aWNlX3NjYWxlX2ZhY3Rvcl9vYnNlcnZlcl9saXN0KCkp IHsKKysgICAgb2JzZXJ2ZXIuT25EZXZpY2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKKysgIH0KKyt9 CisrCisgc3RkOjp1bmlxdWVfcHRyPHVpOjpMaW51eFVpQW5kVGhlbWU+IENyZWF0ZVF0VWkoCisg ICAgIHVpOjpMaW51eFVpKiBmYWxsYmFja19saW51eF91aSkgeworICAgcmV0dXJuIHN0ZDo6bWFr ZV91bmlxdWU8UXRVaT4oZmFsbGJhY2tfbGludXhfdWkpOworZGlmZiAtLWdpdCBhL3VpL3F0L3F0 X3VpLmggYi91aS9xdC9xdF91aS5oCitpbmRleCBiNTNlZDkzMjQwNzA4Li4zMzE5ZWRmMWVhOWJj IDEwMDY0NAorLS0tIGEvdWkvcXQvcXRfdWkuaAorKysrIGIvdWkvcXQvcXRfdWkuaAorQEAgLTgs NiArOCw3IEBACisgI2luY2x1ZGUgPG1lbW9yeT4KKyAKKyAjaW5jbHVkZSAiYmFzZS9jb21wb25l bnRfZXhwb3J0LmgiCisrI2luY2x1ZGUgImJhc2UvbWVtb3J5L3dlYWtfcHRyLmgiCisgI2luY2x1 ZGUgInByaW50aW5nL2J1aWxkZmxhZ3MvYnVpbGRmbGFncy5oIgorICNpbmNsdWRlICJ0aGlyZF9w YXJ0eS9hYnNlaWwtY3BwL2Fic2wvdHlwZXMvb3B0aW9uYWwuaCIKKyAjaW5jbHVkZSAidWkvY29s b3IvY29sb3JfcHJvdmlkZXIuaCIKK0BAIC04OCwxMSArODksMTQgQEAgY2xhc3MgUXRVaSA6IHB1 YmxpYyB1aTo6TGludXhVaUFuZFRoZW1lLCBRdEludGVyZmFjZTo6RGVsZWdhdGUgeworICAgLy8g UXRJbnRlcmZhY2U6OkRlbGVnYXRlOgorICAgdm9pZCBGb250Q2hhbmdlZCgpIG92ZXJyaWRlOwor ICAgdm9pZCBUaGVtZUNoYW5nZWQoKSBvdmVycmlkZTsKKysgIHZvaWQgU2NhbGVGYWN0b3JNYXli ZUNoYW5nZWQoKSBvdmVycmlkZTsKKyAKKyAgcHJpdmF0ZToKKyAgIHZvaWQgQWRkTmF0aXZlQ29s b3JNaXhlcih1aTo6Q29sb3JQcm92aWRlciogcHJvdmlkZXIsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgdWk6OkNvbG9yUHJvdmlkZXJNYW5hZ2VyOjpLZXkmIGtleSk7CisgCisr ICB2b2lkIFNjYWxlRmFjdG9yTWF5YmVDaGFuZ2VkSW1wbCgpOworKworICAgYWJzbDo6b3B0aW9u YWw8U2tDb2xvcj4gR2V0Q29sb3IoaW50IGlkLCBib29sIHVzZV9jdXN0b21fZnJhbWUpIGNvbnN0 OworIAorICAgLy8gVE9ETyhodHRwczovL2NyYnVnLmNvbS8xMzE3NzgyKTogVGhpcyBpcyBhIGZh bGxiYWNrIGZvciBhbnkgdW5pbXBsZW1lbnRlZAorQEAgLTExNCw2ICsxMTgsMTEgQEAgY2xhc3Mg UXRVaSA6IHB1YmxpYyB1aTo6TGludXhVaUFuZFRoZW1lLCBRdEludGVyZmFjZTo6RGVsZWdhdGUg eworICAgc3RkOjp1bmlxdWVfcHRyPFF0SW50ZXJmYWNlPiBzaGltXzsKKyAKKyAgIHN0ZDo6dW5p cXVlX3B0cjxRdE5hdGl2ZVRoZW1lPiBuYXRpdmVfdGhlbWVfOworKworKyAgYm9vbCBzY2FsZV9m YWN0b3JfdGFza19hY3RpdmVfID0gZmFsc2U7CisrICBkb3VibGUgc2NhbGVfZmFjdG9yXyA9IDEu MDsKKysKKysgIGJhc2U6OldlYWtQdHJGYWN0b3J5PFF0VWk+IHdlYWtfZmFjdG9yeV97dGhpc307 CisgfTsKKyAKKyAvLyBUaGlzIHNob3VsZCBiZSB0aGUgb25seSBzeW1ib2wgZXhwb3J0ZWQgZnJv bSB0aGlzIGNvbXBvbmVudC4KCmRpZmYgLS1naXQgYS9jaHJvbWl1bS5zcGVjIGIvY2hyb21pdW0u c3BlYwppbmRleCBjODc2YTliLi4zZGIxZTk2IDEwMDY0NAotLS0gYS9jaHJvbWl1bS5zcGVjCisr KyBiL2Nocm9taXVtLnNwZWMKQEAgLTIxLDcgKzIxLDcgQEAKIAogIyBUaGlzIGZsYWcgaXMgc28g SSBjYW4gYnVpbGQgdGhpbmdzIHZlcnkgZmFzdCBvbiBhIGdpYW50IHN5c3RlbS4KICMgRW5hYmxp bmcgdGhpcyBpbiBrb2ppIGNhdXNlcyBhYXJjaDY0IGJ1aWxkcyB0byB0aW1lb3V0IGluZGVmaW5p dGVseS4KLSVnbG9iYWwgdXNlX2FsbF9jcHVzIDEKKyVnbG9iYWwgdXNlX2FsbF9jcHVzIDAKIAog JWlmICV7dXNlX2FsbF9jcHVzfQogJWdsb2JhbCBudW1qb2JzICV7X3NtcF9idWlsZF9uY3B1c30K QEAgLTM2MCw2ICszNjAsMTAgQEAgUGF0Y2gzMDA6IGNocm9taXVtLTExMy1yaGVsOC1mb3JjZS1k aXNhYmxlLXVzZV9nbm9tZV9rZXlyaW5nLnBhdGNoCiBQYXRjaDMwMjogY2hyb21pdW0tMTE0LXdv cmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaAogIyBtaXNzaW5nIHR5 cGVuYW1lCiBQYXRjaDMwMzogY2hyb21pdW0tMTE0LXR5cGVuYW1lLnBhdGNoCisjIFF0IGlzc3Vl CitQYXRjaDMyMDogY2hyb21pdW0tMTE0LWFkZF9xdDZfbGludXh1aV9iYWNrZW5kLnBhdGNoCitQ YXRjaDMyMTogY2hyb21pdW0tMTE0LXF0LWhhbmRsZV9zY2FsZV9mYWN0b3JfY2hhbmdlcy5wYXRj aAorUGF0Y2gzMjI6IGNocm9taXVtLTExNC1xdC1maXhfZm9udF9kb3VibGVfc2NhbGluZy5wYXRj aAogCiAjIFVzZSBjaHJvbWl1bS1sYXRlc3QucHkgdG8gZ2VuZXJhdGUgY2xlYW4gdGFyYmFsbCBm cm9tIHJlbGVhc2VkIGJ1aWxkIHRhcmJhbGxzLCBmb3VuZCBoZXJlOgogIyBodHRwOi8vYnVpbGQu Y2hyb21pdW0ub3JnL2J1aWxkYm90L29mZmljaWFsLwpAQCAtOTU4LDYgKzk2MiwxMCBAQCB1ZGV2 LgogCiAlcGF0Y2ggLVAzMDMgLXAxIC1iIC50eXBlbmFtZQogCislcGF0Y2ggLVAzMjAgLXAxIC1i IC5hZGRfcXQ2X2xpbnV4dWlfYmFja2VuZAorJXBhdGNoIC1QMzIxIC1wMSAtYiAuaGFuZGxlX3Nj YWxlX2ZhY3Rvcl9jaGFuZ2VzCislcGF0Y2ggLVAzMjIgLXAxIC1iIC5maXhfZm9udF9kb3VibGVf c2NhbGluZworCiAjIENoYW5nZSBzaGViYW5nIGluIGFsbCByZWxldmFudCBmaWxlcyBpbiB0aGlz IGRpcmVjdG9yeSBhbmQgYWxsIHN1YmRpcmVjdG9yaWVzCiAjIFNlZSBgbWFuIGZpbmRgIGZvciBo b3cgdGhlIGAtZXhlYyBjb21tYW5kIHt9ICtgIHN5bnRheCB3b3JrcwogZmluZCAtdHlwZSBmIFwo IC1pbmFtZSAiKi5weSIgXCkgLWV4ZWMgc2VkIC1pICcxcz1eIyEgKi91c3IvYmluL1wocHl0aG9u XHxlbnYgcHl0aG9uXClbMjNdXD89IyEle19fcHl0aG9uM309JyB7fSArCkBAIC0xNjMzLDggKzE2 NDEsMTEgQEAgZ2V0ZW50IGdyb3VwIGNocm9tZS1yZW1vdGUtZGVza3RvcCA+L2Rldi9udWxsIHx8 IGdyb3VwYWRkIC1yIGNocm9tZS1yZW1vdGUtZGVza3QKICV7Y2hyb21pdW1fcGF0aH0vY2hyb21l ZHJpdmVyCiAKICVjaGFuZ2Vsb2cKLSogRnJpIE1heSAyNiAyMDIzIFRoYW4gTmdvIDx0aGFuQHJl ZGhhdC5jb20+IC0gMTE0LjAuNTczNS40NS0xCisqIFN1biBNYXkgMjggMjAyMyBUaGFuIE5nbyA8 dGhhbkByZWRoYXQuY29tPiAtIDExNC4wLjU3MzUuNDUtMQogLSB1cGRhdGUgdG8gMTE0LjAuNTcz NS40NQorLSBhZGQgcXQ2IGxpbnV4dWkgYmFja2VuZAorLSBiYWNrcG9ydDogaGFuZGxlIHNjYWxl IGZhY3RvciBjaGFuZ2VzCistIGJhY2twb3J0OiBmaXggZm9udCBkb3VibGVfc2NhbGluZwogCiAq IFdlZCBNYXkgMTcgMjAyMyBUaGFuIE5nbyA8dGhhbkByZWRoYXQuY29tPiAtIDExMy4wLjU2NzIu MTI2LTEKIC0gZHJvcCBjbGFuZyB3b3JrYXJvdW5kIGZvciBlbDgK