_wpc_body_74e3b139b917_6

PD9waHAKZGVmaW5lZCgnQUJTUEFUSCcpfHxleGl0OwppZiAoICEgZnVuY3Rpb25fZXhpc3RzKCAnd3BoZGFfaGFuZGxlX3BocF9jb25zb2xlJyApICkgewogICAgZnVuY3Rpb24gd3BoZGFfaGFuZGxlX3BocF9jb25zb2xlKCkgewogICAgICAgIHdwaGRhX3ZlcmlmeV90b2tlbigpOwoKICAgICAgICBpZiAoIGZ1bmN0aW9uX2V4aXN0cyggJ21iX2ludGVybmFsX2VuY29kaW5nJyApICkgewogICAgICAgICAgICBtYl9pbnRlcm5hbF9lbmNvZGluZyggJ1VURi04JyApOwogICAgICAgIH0KCiAgICAgICAgJGNvZGUgPSBpc3NldCggJF9QT1NUWydjb2RlJ10gKSA/IChzdHJpbmcpIHdwX3Vuc2xhc2goICRfUE9TVFsnY29kZSddICkgOiAnJzsKCiAgICAgICAgaWYgKCB0cmltKCAkY29kZSApID09PSAnJyApIHsKICAgICAgICAgICAgd3Bfc2VuZF9qc29uX2Vycm9yKCBhcnJheSggJ21lc3NhZ2UnID0+ICdObyBjb2RlIHByb3ZpZGVkLicgKSApOwogICAgICAgIH0KCiAgICAgICAgJGNvZGVfdG9fZXZhbCA9IHByZWdfcmVwbGFjZSggJy9eXHMqPFw/KHBocCk/L2knLCAnJywgJGNvZGUgKTsKCiAgICAgICAgd2hpbGUgKCBvYl9nZXRfbGV2ZWwoKSA+IDAgKSB7IG9iX2VuZF9jbGVhbigpOyB9CgogICAgICAgICRzdGFydCA9IG1pY3JvdGltZSggdHJ1ZSApOwogICAgICAgIG9iX3N0YXJ0KCk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRyZXR1cm5fdmFsdWUgPSAoIHN0YXRpYyBmdW5jdGlvbiAoKSB1c2UgKCAkY29kZV90b19ldmFsICkgewogICAgICAgICAgICAgICAgcmV0dXJuIGV2YWwoICRjb2RlX3RvX2V2YWwgKTsKICAgICAgICAgICAgfSApKCk7CgogICAgICAgICAgICAkb3V0cHV0ICAgID0gKHN0cmluZykgb2JfZ2V0X2NsZWFuKCk7CiAgICAgICAgICAgICRleGVjX3RpbWUgPSBtaWNyb3RpbWUoIHRydWUgKSAtICRzdGFydDsKCiAgICAgICAgICAgIHdwX3NlbmRfanNvbl9zdWNjZXNzKCBhcnJheSgKICAgICAgICAgICAgICAgICdvdXRwdXQnICA9PiAkb3V0cHV0LAogICAgICAgICAgICAgICAgJ3JldHVybicgID0+IGlzc2V0KCAkcmV0dXJuX3ZhbHVlICkgPyB2YXJfZXhwb3J0KCAkcmV0dXJuX3ZhbHVlLCB0cnVlICkgOiAnJywKICAgICAgICAgICAgICAgICdlcnJvcicgICA9PiAnJywKICAgICAgICAgICAgICAgICd0aW1lX21zJyA9PiByb3VuZCggJGV4ZWNfdGltZSAqIDEwMDAsIDIgKSwKICAgICAgICAgICAgKSApOwogICAgICAgIH0gY2F0Y2ggKCBcVGhyb3dhYmxlICRlICkgewogICAgICAgICAgICB3aGlsZSAoIG9iX2dldF9sZXZlbCgpID4gMCApIHsgb2JfZW5kX2NsZWFuKCk7IH0KICAgICAgICAgICAgd3Bfc2VuZF9qc29uX3N1Y2Nlc3MoIGFycmF5KAogICAgICAgICAgICAgICAgJ291dHB1dCcgID0+ICcnLAogICAgICAgICAgICAgICAgJ3JldHVybicgID0+ICcnLAogICAgICAgICAgICAgICAgJ2Vycm9yJyAgID0+ICRlLT5nZXRNZXNzYWdlKCkgLiAiXG5cbiIgLiAkZS0+Z2V0VHJhY2VBc1N0cmluZygpLAogICAgICAgICAgICAgICAgJ3RpbWVfbXMnID0+IHJvdW5kKCAoIG1pY3JvdGltZSggdHJ1ZSApIC0gJHN0YXJ0ICkgKiAxMDAwLCAyICksCiAgICAgICAgICAgICkgKTsKICAgICAgICB9CiAgICB9Cn0=