ZGlmZiAtLWdpdCBhL3ZuY3ZpZXdlci9DVmlld09wdGlvbnMuY3h4IGIvdm5jdmlld2VyL0NWaWV3T3B0aW9ucy5jeHgKaW5kZXggNDU3ZGE0OC4uZGQzZDgyNSAxMDA2NDQKLS0tIGEvdm5jdmlld2VyL0NWaWV3T3B0aW9ucy5jeHgKKysrIGIvdm5jdmlld2VyL0NWaWV3T3B0aW9ucy5jeHgKQEAgLTMxNCw3ICszMTQsNyBAQAogCiB2b2lkIENWaWV3T3B0aW9uczo6d3JpdGVEZWZhdWx0cygpIHsKICAgUmVnS2V5IGtleTsKLSAga2V5LmNyZWF0ZUtleShIS0VZX0NVUlJFTlRfVVNFUiwgX1QoIlNvZnR3YXJlXFxSZWFsVk5DXFxWTkN2aWV3ZXI0IikpOworICBrZXkuY3JlYXRlS2V5KEhLRVlfQ1VSUkVOVF9VU0VSLCBfVCgiU29mdHdhcmVcXFRpZ2h0Vk5DXFxWTkN2aWV3ZXI0IikpOwogICBrZXkuc2V0Qm9vbChfVCgiVXNlTG9jYWxDdXJzb3IiKSwgdXNlTG9jYWxDdXJzb3IpOwogICBrZXkuc2V0Qm9vbChfVCgiVXNlRGVza3RvcFJlc2l6ZSIpLCB1c2VEZXNrdG9wUmVzaXplKTsKICAga2V5LnNldEJvb2woX1QoIkZ1bGxTY3JlZW4iKSwgZnVsbFNjcmVlbik7CmRpZmYgLS1naXQgYS92bmN2aWV3ZXIvTVJVLmggYi92bmN2aWV3ZXIvTVJVLmgKaW5kZXggOWU5OTM5NS4uZjA2NWEwNiAxMDA2NDQKLS0tIGEvdm5jdmlld2VyL01SVS5oCisrKyBiL3ZuY3ZpZXdlci9NUlUuaApAQCAtMzUsNyArMzUsNyBAQAogICAgIG5hbWVzcGFjZSBNUlUgewogCiAgICAgICBzdGF0aWMgY29uc3QgUmVnS2V5IFJlZ1Jvb3QgPSBIS0VZX0NVUlJFTlRfVVNFUjsKLSAgICAgIHN0YXRpYyBjb25zdCBUQ0hBUiogUmVnUGF0aCA9IF9UKCJTb2Z0d2FyZVxcUmVhbFZOQ1xcVk5DVmlld2VyNFxcTVJVIik7CisgICAgICBzdGF0aWMgY29uc3QgVENIQVIqIFJlZ1BhdGggPSBfVCgiU29mdHdhcmVcXFRpZ2h0Vk5DXFxWTkNWaWV3ZXI0XFxNUlUiKTsKICAgICAgIHN0YXRpYyBjb25zdCBpbnQgTWF4TVJVRW50cmllcyA9IDI1NjsKICAgICAgIHN0YXRpYyBjb25zdCBpbnQgTVJVRW50cmllcyA9IDEwOwogCkBAIC0xMzcsNCArMTM3LDQgQEAKIAogfTsKIAotI2VuZGlmClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorI2VuZGlmCmRpZmYgLS1naXQgYS92bmN2aWV3ZXIvdm5jdmlld2VyLmN4eCBiL3ZuY3ZpZXdlci92bmN2aWV3ZXIuY3h4CmluZGV4IDU5ZTJkMDAuLmYwYzlmMjAgMTAwNjQ0Ci0tLSBhL3ZuY3ZpZXdlci92bmN2aWV3ZXIuY3h4CisrKyBiL3ZuY3ZpZXdlci92bmN2aWV3ZXIuY3h4CkBAIC0yNzAsNyArMjcwLDcgQEAKIAogI2lmZGVmIF9ESUFMT0dfQ0FQVFVSRQogICAgIGlmIChjYXB0dXJlRGlhbG9ncykgewotICAgICAgQ1ZpZXc6OnVzZXJDb25maWdLZXkub3BlbktleShIS0VZX0NVUlJFTlRfVVNFUiwgX1QoIlNvZnR3YXJlXFxSZWFsVk5DXFxWTkNWaWV3ZXI0IikpOworICAgICAgQ1ZpZXc6OnVzZXJDb25maWdLZXkub3BlbktleShIS0VZX0NVUlJFTlRfVVNFUiwgX1QoIlNvZnR3YXJlXFxUaWdodFZOQ1xcVk5DVmlld2VyNCIpKTsKICAgICAgIE9wdGlvbnNEaWFsb2c6Omdsb2JhbC5zaG93RGlhbG9nKDAsIHRydWUpOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtMjg2LDEwICsyODYsMTAgQEAKICAgICBpZiAoIWNvbmZpZ0ZpbGVzLmVtcHR5KCkgfHwgIWhvc3RzLmVtcHR5KCkgfHwgYWNjZXB0SW5jb21pbmcpIHsKICAgICAgIC8vIC0gQ29uZmlndXJlIHRoZSByZWdpc3RyeSBjb25maWd1cmF0aW9uIHJlYWRlcgogICAgICAgd2luMzI6OlJlZ2lzdHJ5UmVhZGVyIHJlZ19yZWFkZXI7Ci0gICAgICByZWdfcmVhZGVyLnNldEtleShIS0VZX0NVUlJFTlRfVVNFUiwgX1QoIlNvZnR3YXJlXFxSZWFsVk5DXFxWTkNWaWV3ZXI0IikpOworICAgICAgcmVnX3JlYWRlci5zZXRLZXkoSEtFWV9DVVJSRU5UX1VTRVIsIF9UKCJTb2Z0d2FyZVxcVGlnaHRWTkNcXFZOQ1ZpZXdlcjQiKSk7CiAKICAgICAgIC8vIC0gVGVsbCB0aGUgcmVzdCBvZiBWTkMgVmlld2VyIHdoZXJlIHRvIHdyaXRlIGNvbmZpZyBkYXRhIHRvCi0gICAgICBDVmlldzo6dXNlckNvbmZpZ0tleS5vcGVuS2V5KEhLRVlfQ1VSUkVOVF9VU0VSLCBfVCgiU29mdHdhcmVcXFJlYWxWTkNcXFZOQ1ZpZXdlcjQiKSk7CisgICAgICBDVmlldzo6dXNlckNvbmZpZ0tleS5vcGVuS2V5KEhLRVlfQ1VSUkVOVF9VU0VSLCBfVCgiU29mdHdhcmVcXFRpZ2h0Vk5DXFxWTkNWaWV3ZXI0IikpOwogCiAgICAgICAvLyAtIFN0YXJ0IHRoZSBTb2NrZXQgc3Vic3lzdGVtIGZvciBUQ1AKICAgICAgIFRjcFNvY2tldDo6aW5pdFRjcFNvY2tldHMoKTsKZGlmZiAtLWdpdCBhL3ZuY3ZpZXdlci92bmN2aWV3ZXIuZXhlLm1hbmlmZXN0IGIvdm5jdmlld2VyL3ZuY3ZpZXdlci5leGUubWFuaWZlc3QKaW5kZXggNTU3ZTQ1Ni4uN2ZkOTQ3ZiAxMDA2NDQKLS0tIGEvdm5jdmlld2VyL3ZuY3ZpZXdlci5leGUubWFuaWZlc3QKKysrIGIvdm5jdmlld2VyL3ZuY3ZpZXdlci5leGUubWFuaWZlc3QKQEAgLTMsNyArMyw3IEBACiA8YXNzZW1ibHlJZGVudGl0eQogICAgdmVyc2lvbj0iNC4wLjAuMjYiCiAgICBwcm9jZXNzb3JBcmNoaXRlY3R1cmU9Ilg4NiIKLSAgIG5hbWU9IlJlYWxWTkMudm5jdmlld2VyLmV4ZSIKKyAgIG5hbWU9IlRpZ2h0Vk5DLnZuY3ZpZXdlci5leGUiCiAgICB0eXBlPSJ3aW4zMiIKIC8+CiA8ZGVzY3JpcHRpb24+Lk5FVCBjb250cm9sIGRlcGxveW1lbnQgdG9vbDwvZGVzY3JpcHRpb24+CmRpZmYgLS1naXQgYS92bmN2aWV3ZXIvdm5jdmlld2VyLnJjIGIvdm5jdmlld2VyL3ZuY3ZpZXdlci5yYwppbmRleCA2MzZjMjk3Li41YTczMGVkIDEwMDY0NAotLS0gYS92bmN2aWV3ZXIvdm5jdmlld2VyLnJjCisrKyBiL3ZuY3ZpZXdlci92bmN2aWV3ZXIucmMKQEAgLTgwLDE1ICs4MCwxNSBAQAogICAgICAgICBCTE9DSyAiMDgwOTA0YjAiCiAgICAgICAgIEJFR0lOCiAgICAgICAgICAgICBWQUxVRSAiQ29tbWVudHMiLCAiXDAiCi0gICAgICAgICAgICBWQUxVRSAiQ29tcGFueU5hbWUiLCAiUmVhbFZOQyBMdGQuXDAiCi0gICAgICAgICAgICBWQUxVRSAiRmlsZURlc2NyaXB0aW9uIiwgIlZOQyBWaWV3ZXIgZm9yIFdpbjMyXDAiCisgICAgICAgICAgICBWQUxVRSAiQ29tcGFueU5hbWUiLCAiQ29uc3RhbnRpbiBLYXBsaW5za3lcMCIKKyAgICAgICAgICAgIFZBTFVFICJGaWxlRGVzY3JpcHRpb24iLCAiVGlnaHRWTkMgVmlld2VyIGZvciBXaW4zMlwwIgogICAgICAgICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwgIjQuMFwwIgogICAgICAgICAgICAgVkFMVUUgIkludGVybmFsTmFtZSIsICJWTkNWaWV3ZXIgNC4wXDAiCi0gICAgICAgICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAiQ29weXJpZ2h0IKkgUmVhbFZOQyBMdGQuIDIwMDItMjAwNFwwIgotICAgICAgICAgICAgVkFMVUUgIkxlZ2FsVHJhZGVtYXJrcyIsICJSZWFsVk5DXDAiCisgICAgICAgICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAiQ29weXJpZ2h0IChDKSAxOTk4LTIwMDQgW21hbnkgaG9sZGVyc11cMCIKKyAgICAgICAgICAgIFZBTFVFICJMZWdhbFRyYWRlbWFya3MiLCAiVGlnaHRWTkNcMCIKICAgICAgICAgICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwgInZuY3ZpZXdlci5leGVcMCIKICAgICAgICAgICAgIFZBTFVFICJQcml2YXRlQnVpbGQiLCAiXDAiCi0gICAgICAgICAgICBWQUxVRSAiUHJvZHVjdE5hbWUiLCAiVk5DIFZpZXdlciA0LjBcMCIKKyAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIsICJUaWdodFZOQyBWaWV3ZXIgNC4wXDAiCiAgICAgICAgICAgICBWQUxVRSAiUHJvZHVjdFZlcnNpb24iLCAiNC4wXDAiCiAgICAgICAgICAgICBWQUxVRSAiU3BlY2lhbEJ1aWxkIiwgIlwwIgogICAgICAgICBFTkQKQEAgLTE2MCw3ICsxNjAsNyBAQAogICAgIExURVhUICAgICAgICAgICAiPnZlcnNpb248IixJRENfVkVSU0lPTiwxNjUsMTAsNzcsMTUKICAgICBMVEVYVCAgICAgICAgICAgIj5idWlsZHRpbWU8IixJRENfQlVJTERUSU1FLDQwLDI1LDIwMiwxNQogICAgIExURVhUICAgICAgICAgICAiPmNvcHlyaWdodDwiLElEQ19DT1BZUklHSFQsNDAsNDAsMjAyLDE1Ci0gICAgTFRFWFQgICAgICAgICAgICJTZWUgaHR0cDovL3d3dy5yZWFsdm5jLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBWTkMuIiwKKyAgICBMVEVYVCAgICAgICAgICAgIlNlZSBodHRwOi8vd3d3LnRpZ2h0dm5jLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBUaWdodFZOQy4iLAogICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDQwLDU1LDIwMiwxNQogRU5ECiAK