ZGlmZiAtLWdpdCBhL3NyYy9leF9kb2NtZC5jIGIvc3JjL2V4X2RvY21kLmMKaW5kZXggZDRjZjZhMi4uYzhhMWMzZiAxMDA2NDQKLS0tIGEvc3JjL2V4X2RvY21kLmMKKysrIGIvc3JjL2V4X2RvY21kLmMKQEAgLTExNzA2LDYgKzExNzA2LDE4IEBACiAgICAgcmV0dXJuIFRSVUU7CiB9CiAKKyAgICBzdGF0aWMgaW50CitwdXRfdmlld19jdXJwb3MoRklMRSAqZmQsIHdpbl9UICp3cCwgY2hhciAqc3BhY2VzKQoreworICAgIGludCByOworCisgICAgaWYgKHdwLT53X2N1cnN3YW50ID09IE1BWENPTCkKKwlyID0gZnByaW50ZihmZCwgIiVzbm9ybWFsISAkIiwgc3BhY2VzKTsKKyAgICBlbHNlCisJciA9IGZwcmludGYoZmQsICIlc25vcm1hbCEgMCVkfCIsIHNwYWNlcywgd3AtPndfdmlydGNvbCArIDEpOworICAgIHJldHVybiByIDwgMCB8fCBwdXRfZW9sKGZkKSA9PSBGQUlMID8gRkFMU0UgOiBPSzsKK30KKwogLyoKICAqIFdyaXRlIGNvbW1hbmRzIHRvICJmZCIgdG8gcmVzdG9yZSB0aGUgdmlldyBvZiBhIHdpbmRvdy4KICAqIENhbGxlciBtdXN0IG1ha2Ugc3VyZSAnc2Nyb2xsb2ZmJyBpcyB6ZXJvLgpAQCAtMTE4OTcsMTcgKzExOTA5LDEyIEBACiAJCQkgICAgKGxvbmcpd3AtPndfdmlydGNvbCArIDEpIDwgMAogCQkJfHwgcHV0X2VvbChmZCkgPT0gRkFJTAogCQkJfHwgcHV0X2xpbmUoZmQsICJlbHNlIikgPT0gRkFJTAotCQkJfHwgZnByaW50ZihmZCwgIiAgbm9ybWFsISAwJWR8Iiwgd3AtPndfdmlydGNvbCArIDEpIDwgMAotCQkJfHwgcHV0X2VvbChmZCkgPT0gRkFJTAorCQkJfHwgcHV0X3ZpZXdfY3VycG9zKGZkLCB3cCwgIiAgIikgPT0gRkFJTAogCQkJfHwgcHV0X2xpbmUoZmQsICJlbmRpZiIpID09IEZBSUwpCiAJCSAgICByZXR1cm4gRkFJTDsKIAkgICAgfQotCSAgICBlbHNlCi0JICAgIHsKLQkJaWYgKGZwcmludGYoZmQsICJub3JtYWwhIDAlZHwiLCB3cC0+d192aXJ0Y29sICsgMSkgPCAwCi0JCQl8fCBwdXRfZW9sKGZkKSA9PSBGQUlMKQotCQkgICAgcmV0dXJuIEZBSUw7Ci0JICAgIH0KKwkgICAgZWxzZSBpZiAocHV0X3ZpZXdfY3VycG9zKGZkLCB3cCwgIiIpID09IEZBSUwpCisJCXJldHVybiBGQUlMOwogCX0KICAgICB9CiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3RfbWtzZXNzaW9uLnZpbSBiL3NyYy90ZXN0ZGlyL3Rlc3RfbWtzZXNzaW9uLnZpbQppbmRleCBjMGI4MmZmLi5lZDhiMTBmIDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0X21rc2Vzc2lvbi52aW0KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF9ta3Nlc3Npb24udmltCkBAIC0yMiw3ICsyMiw4IEBACiAgICAgXCAgICd0d28JdGFicwlpbiBvbmUgbGluZScsCiAgICAgXCAgICdvbmUg5CBtdWx0aWJ5dGVDaGFyYWN0ZXInLAogICAgIFwgICAnYeQgxCAgdHdvIG11bHRpQnl0ZSBjaGFyYWN0ZXJzJywKLSAgICBcICAgJ0Hk9vwgIHRocmVlIG11bFRpYnl0ZSBjaGFyYWN0ZXJzJworICAgIFwgICAnQeT2/CAgdGhyZWUgbXVsVGlieXRlIGNoYXJhY3RlcnMnLAorICAgIFwgICAnc2hvcnQgbGluZScsCiAgICAgXCBdKQogICBsZXQgdG1wZmlsZSA9ICdYdGVtcCcKICAgZXhlYyAndyEgJyAuIHRtcGZpbGUKQEAgLTQ0LDYgKzQ1LDggQEAKICAgbm9ybSEgajE2fAogICBzcGxpdAogICBub3JtISBqMTZ8CisgIHNwbGl0CisgIG5vcm0hIGokCiAgIHdpbmNtZCBsCiAKICAgc2V0IG5vd3JhcApAQCAtNjYsNyArNjksNyBAQAogICBzcGxpdAogICBjYWxsIHdpbmNvbCgpCiAgIG1rc2Vzc2lvbiEgWHRlc3RfbWtzLm91dAotICBsZXQgbGkgPSBmaWx0ZXIocmVhZGZpbGUoJ1h0ZXN0X21rcy5vdXQnKSwgJ3Y6dmFsID1+IyAiXFwoXiAqbm9ybWFsISAwXFx8XiAqZXhlICcnbm9ybWFsIVxcKSInKQorICBsZXQgbGkgPSBmaWx0ZXIocmVhZGZpbGUoJ1h0ZXN0X21rcy5vdXQnKSwgJ3Y6dmFsID1+IyAiXFwoXiAqbm9ybWFsISBbMCRdXFx8XiAqZXhlICcnbm9ybWFsIVxcKSInKQogICBsZXQgZXhwZWN0ZWQgPSBbCiAgICAgXCAgICdub3JtYWwhIDAxNnwnLAogICAgIFwgICAnbm9ybWFsISAwMTZ8JywKQEAgLTc2LDYgKzc5LDcgQEAKICAgICBcICAgJ25vcm1hbCEgMDE2fCcsCiAgICAgXCAgICdub3JtYWwhIDAxNnwnLAogICAgIFwgICAnbm9ybWFsISAwMTZ8JywKKyAgICBcICAgJ25vcm1hbCEgJCcsCiAgICAgXCAgICIgIGV4ZSAnbm9ybWFsISAnIC4gczpjIC4gJ3x6cycgLiAxNiAuICd8JyIsCiAgICAgXCAgICIgIG5vcm1hbCEgMDE2fCIsCiAgICAgXCAgICIgIGV4ZSAnbm9ybWFsISAnIC4gczpjIC4gJ3x6cycgLiAxNiAuICd8JyIsCkBAIC0zMTcsNyArMzIxLDcgQEAKICAgaGVscCA6bWt2aWV3CiAgIHNldCBudW1iZXIKICAgbm9ybSEgVn16ZgotICBsZXQgcG9zID0gZ2V0cG9zKCcuJykKKyAgbGV0IHBvcyA9IGdldGN1cnBvcygpCiAgIGxldCBsaW5lZm9sZGNsb3NlZDEgPSBmb2xkY2xvc2VkKCcuJykKICAgbWt2aWV3ISBYdmlldwogICBzZXQgbm9udW1iZXIKQEAgLTMyOSw3ICszMzMsNyBAQAogICBzb3VyY2UgWHZpZXcKICAgY2FsbCBhc3NlcnRfZXF1YWwoMSwgJm51bWJlcikKICAgY2FsbCBhc3NlcnRfbWF0Y2goJ1wqOm1rdmlld1wqJCcsIGdldGxpbmUoJy4nKSkKLSAgY2FsbCBhc3NlcnRfZXF1YWwocG9zLCBnZXRwb3MoJy4nKSkKKyAgY2FsbCBhc3NlcnRfZXF1YWwocG9zLCBnZXRjdXJwb3MoKSkKICAgY2FsbCBhc3NlcnRfZXF1YWwobGluZWZvbGRjbG9zZWQxLCBmb2xkY2xvc2VkKCcuJykpCiAKICAgIiBDcmVhdGluZyBhIHZpZXcgYWdhaW4gd2l0aCB0aGUgc2FtZSBmaWxlIG5hbWUgc2hvdWxkIGZhaWwgKGZpbGUKQEAgLTM1Miw3ICszNTYsNyBAQAogICBoZWxwIDpta3ZpZXcKICAgc2V0IG51bWJlcgogICBub3JtISBWfXpmCi0gIGxldCBwb3MgPSBnZXRwb3MoJy4nKQorICBsZXQgcG9zID0gZ2V0Y3VycG9zKCkKICAgbGV0IGxpbmVmb2xkY2xvc2VkMSA9IGZvbGRjbG9zZWQoJy4nKQogICBta3ZpZXcgMQogICBzZXQgbm9udW1iZXIKQEAgLTM2OSw3ICszNzMsNyBAQAogICAgICAgICBcICAgICAgICAgICBnbG9iKCdYdmlld2Rpci8qJykpCiAgIGNhbGwgYXNzZXJ0X2VxdWFsKDEsICZudW1iZXIpCiAgIGNhbGwgYXNzZXJ0X21hdGNoKCdcKjpta3ZpZXdcKiQnLCBnZXRsaW5lKCcuJykpCi0gIGNhbGwgYXNzZXJ0X2VxdWFsKHBvcywgZ2V0cG9zKCcuJykpCisgIGNhbGwgYXNzZXJ0X2VxdWFsKHBvcywgZ2V0Y3VycG9zKCkpCiAgIGNhbGwgYXNzZXJ0X2VxdWFsKGxpbmVmb2xkY2xvc2VkMSwgZm9sZGNsb3NlZCgnLicpKQogCiAgIGNhbGwgZGVsZXRlKCdYdmlld2RpcicsICdyZicpCmRpZmYgLS1naXQgYS9zcmMvdmVyc2lvbi5jIGIvc3JjL3ZlcnNpb24uYwppbmRleCAyNDNlMjEzLi5jMmY2NGQzIDEwMDY0NAotLS0gYS9zcmMvdmVyc2lvbi5jCisrKyBiL3NyYy92ZXJzaW9uLmMKQEAgLTc5NSw2ICs3OTUsOCBAQAogc3RhdGljIGludCBpbmNsdWRlZF9wYXRjaGVzW10gPQogeyAgIC8qIEFkZCBuZXcgcGF0Y2ggbnVtYmVyIGJlbG93IHRoaXMgbGluZSAqLwogLyoqLworICAgIDMzMywKKy8qKi8KICAgICAzMzIsCiAvKiovCiAgICAgMzMxLAo=