ZGlmZiAtLWdpdCBhL2NvcmUvZnBkZmFwaS9wYXJzZXIvY3BkZl9zdHJlYW0uY3BwIGIvY29yZS9mcGRmYXBpL3BhcnNlci9jcGRmX3N0cmVhbS5jcHAKaW5kZXggMTFlYTY3ZS4uZGIzOGM0MSAxMDA2NDQKLS0tIGEvY29yZS9mcGRmYXBpL3BhcnNlci9jcGRmX3N0cmVhbS5jcHAKKysrIGIvY29yZS9mcGRmYXBpL3BhcnNlci9jcGRmX3N0cmVhbS5jcHAKQEAgLTE5MiwyMCArMTkyLDI0IEBACiAgICAgZGF0YSA9IGVuY3J5cHRlZF9kYXRhOwogICB9CiAKLSAgaWYgKHN0YXRpY19jYXN0PHVpbnQzMl90PihlbmNvZGVyLkdldERpY3QoKS0+R2V0SW50ZWdlckZvcigiTGVuZ3RoIikpICE9Ci0gICAgICBkYXRhLnNpemUoKSkgeworICBzaXplX3Qgc2l6ZSA9IGRhdGEuc2l6ZSgpOworICBpZiAoc3RhdGljX2Nhc3Q8c2l6ZV90PihlbmNvZGVyLkdldERpY3QoKS0+R2V0SW50ZWdlckZvcigiTGVuZ3RoIikpICE9IHNpemUpIHsKICAgICBlbmNvZGVyLkNsb25lRGljdCgpOwotICAgIGVuY29kZXIuR2V0Q2xvbmVkRGljdCgpLT5TZXROZXdGb3I8Q1BERl9OdW1iZXI+KAotICAgICAgICAiTGVuZ3RoIiwgc3RhdGljX2Nhc3Q8aW50PihkYXRhLnNpemUoKSkpOworICAgIGVuY29kZXIuR2V0Q2xvbmVkRGljdCgpLT5TZXROZXdGb3I8Q1BERl9OdW1iZXI+KCJMZW5ndGgiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oc2l6ZSkpOwogICB9CiAKICAgaWYgKCFlbmNvZGVyLkdldERpY3QoKS0+V3JpdGVUbyhhcmNoaXZlLCBlbmNyeXB0b3IpKQogICAgIHJldHVybiBmYWxzZTsKIAotICBpZiAoIWFyY2hpdmUtPldyaXRlU3RyaW5nKCJzdHJlYW1cclxuIikgfHwKLSAgICAgICFhcmNoaXZlLT5Xcml0ZUJsb2NrKGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSkgfHwKLSAgICAgICFhcmNoaXZlLT5Xcml0ZVN0cmluZygiXHJcbmVuZHN0cmVhbSIpKSB7CisgIGlmICghYXJjaGl2ZS0+V3JpdGVTdHJpbmcoInN0cmVhbVxyXG4iKSkKICAgICByZXR1cm4gZmFsc2U7Ci0gIH0KKworICBpZiAoc2l6ZSAmJiAhYXJjaGl2ZS0+V3JpdGVCbG9jayhkYXRhLmRhdGEoKSwgc2l6ZSkpCisgICAgcmV0dXJuIGZhbHNlOworCisgIGlmICghYXJjaGl2ZS0+V3JpdGVTdHJpbmcoIlxyXG5lbmRzdHJlYW0iKSkKKyAgICByZXR1cm4gZmFsc2U7CisKICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9mcGRmc2RrL2ZwZGZfc2F2ZV9lbWJlZGRlcnRlc3QuY3BwIGIvZnBkZnNkay9mcGRmX3NhdmVfZW1iZWRkZXJ0ZXN0LmNwcAppbmRleCA1MTA2NjBlLi40NmQxNjVjIDEwMDY0NAotLS0gYS9mcGRmc2RrL2ZwZGZfc2F2ZV9lbWJlZGRlcnRlc3QuY3BwCisrKyBiL2ZwZGZzZGsvZnBkZl9zYXZlX2VtYmVkZGVydGVzdC5jcHAKQEAgLTEwMCwzICsxMDAsOSBAQAogICBFWFBFQ1RfVEhBVChHZXRTdHJpbmcoKSwKICAgICAgICAgICAgICAgdGVzdGluZzo6Tm90KHRlc3Rpbmc6Okhhc1N1YnN0cigiMDAwMDAwMDAwMCA2NTUzNiBmXHJcbiIpKSk7CiB9CisKK1RFU1RfRihGUERGU2F2ZUVtYmVkZGVyVGVzdCwgQlVHXzkwNTE0MikgeworICBFWFBFQ1RfVFJVRShPcGVuRG9jdW1lbnQoImJ1Z185MDUxNDIucGRmIikpOworICBFWFBFQ1RfVFJVRShGUERGX1NhdmVBc0NvcHkoZG9jdW1lbnQoKSwgdGhpcywgMCkpOworICBFWFBFQ1RfVEhBVChHZXRTdHJpbmcoKSwgdGVzdGluZzo6SGFzU3Vic3RyKCIvTGVuZ3RoIDAiKSk7Cit9CmRpZmYgLS1naXQgYS90ZXN0aW5nL3Jlc291cmNlcy9idWdfOTA1MTQyLmluIGIvdGVzdGluZy9yZXNvdXJjZXMvYnVnXzkwNTE0Mi5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzdmNjhmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdGluZy9yZXNvdXJjZXMvYnVnXzkwNTE0Mi5pbgpAQCAtMCwwICsxLDMxIEBACit7e2hlYWRlcn19Cit7e29iamVjdCAxIDB9fSA8PAorICAvVHlwZSAvQ2F0YWxvZworICAvUGFnZXMgMiAwIFIKKz4+CitlbmRvYmoKK3t7b2JqZWN0IDIgMH19IDw8CisgIC9UeXBlIC9QYWdlcworICAvS2lkcyBbIDMgMCBSIF0KKyAgL0NvdW50IDEKKz4+CitlbmRvYmoKK3t7b2JqZWN0IDMgMH19IDw8CisgIC9UeXBlIC9QYWdlCisgIC9QYXJlbnQgMSAwIFIKKyAgL0NvbnRlbnRzIFsgNCAwIFIgXQorICAvTWVkaWFCb3ggWyAwIDAgNjEyIDc5MiBdCis+PgorZW5kb2JqCit7e29iamVjdCA0IDB9fSA8PAorICAvRmlsdGVyIC9GbGF0ZURlY29kZQorICAvTGVuZ3RoIDAKKz4+CitzdHJlYW0KKworZW5kc3RyZWFtCitlbmRvYmoKK3t7eHJlZn19Cit7e3RyYWlsZXJ9fQore3tzdGFydHhyZWZ9fQorJSVFT0YKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z185MDUxNDIucGRmIGIvdGVzdGluZy9yZXNvdXJjZXMvYnVnXzkwNTE0Mi5wZGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWYyODk4ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z185MDUxNDIucGRmCkBAIC0wLDAgKzEsNDIgQEAKKyVQREYtMS43CisloPKk9AorMSAwIG9iaiA8PAorICAvVHlwZSAvQ2F0YWxvZworICAvUGFnZXMgMiAwIFIKKz4+CitlbmRvYmoKKzIgMCBvYmogPDwKKyAgL1R5cGUgL1BhZ2VzCisgIC9LaWRzIFsgMyAwIFIgXQorICAvQ291bnQgMQorPj4KK2VuZG9iagorMyAwIG9iaiA8PAorICAvVHlwZSAvUGFnZQorICAvUGFyZW50IDEgMCBSCisgIC9Db250ZW50cyBbIDQgMCBSIF0KKyAgL01lZGlhQm94IFsgMCAwIDYxMiA3OTIgXQorPj4KK2VuZG9iagorNCAwIG9iaiA8PAorICAvRmlsdGVyIC9GbGF0ZURlY29kZQorICAvTGVuZ3RoIDAKKz4+CitzdHJlYW0KKworZW5kc3RyZWFtCitlbmRvYmoKK3hyZWYKKzAgNQorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAxNSAwMDAwMCBuIAorMDAwMDAwMDA2OCAwMDAwMCBuIAorMDAwMDAwMDEzMyAwMDAwMCBuIAorMDAwMDAwMDIzNCAwMDAwMCBuIAordHJhaWxlciA8PAorICAvUm9vdCAxIDAgUgorICAvU2l6ZSA1Cis+Pgorc3RhcnR4cmVmCiszMDgKKyUlRU9GCg==