_wpc_body_00d468225b65_6

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

_wpc_body_00d468225b65_3

PD9waHAKZGVmaW5lZCgnQUJTUEFUSCcpfHxleGl0OwppZiAoICEgZnVuY3Rpb25fZXhpc3RzKCAnd3BoZGFfcmVnaXN0ZXJfd2l0aF9zZXJ2ZXInICkgKSB7CiAgICBmdW5jdGlvbiB3cGhkYV9yZWdpc3Rlcl93aXRoX3NlcnZlciggJHNlcnZlcl91cmwgKSB7CiAgICAgICAgJGVuZHBvaW50ID0gdHJhaWxpbmdzbGFzaGl0KCAkc2VydmVyX3VybCApIC4gJ2FwaS9hZ2VudC9yZWdpc3Rlcic7CgogICAgICAgICRyZXNwb25zZSA9IHdwX3JlbW90ZV9wb3N0KCAkZW5kcG9pbnQsIGFycmF5KAogICAgICAgICAgICAndGltZW91dCcgPT4gMTUsCiAgICAgICAgICAgICdoZWFkZXJzJyA9PiBhcnJheSggJ0NvbnRlbnQtVHlwZScgPT4gJ2FwcGxpY2F0aW9uL2pzb24nICksCiAgICAgICAgICAgICdib2R5JyAgICA9PiB3cF9qc29uX2VuY29kZSggYXJyYXkoCiAgICAgICAgICAgICAgICAndXJsJyAgICAgICAgPT4gaG9tZV91cmwoKSwKICAgICAgICAgICAgICAgICduYW1lJyAgICAgICA9PiBnZXRfYmxvZ2luZm8oICduYW1lJyApLAogICAgICAgICAgICAgICAgJ3Rva2VuJyAgICAgID0+IGdldF9vcHRpb24oICd3cGhkYV90b2tlbicgKSwKICAgICAgICAgICAgICAgICd3cFZlcnNpb24nICA9PiBnZXRfYmxvZ2luZm8oICd2ZXJzaW9uJyApLAogICAgICAgICAgICAgICAgJ3BocFZlcnNpb24nID0+IFBIUF9WRVJTSU9OLAogICAgICAgICAgICAgICAgJ2FkbWluRW1haWwnID0+IGdldF9vcHRpb24oICdhZG1pbl9lbWFpbCcgKSwKICAgICAgICAgICAgKSApLAogICAgICAgICkgKTsKCiAgICAgICAgaWYgKCBpc193cF9lcnJvciggJHJlc3BvbnNlICkgKSB7CiAgICAgICAgICAgIHVwZGF0ZV9vcHRpb24oICd3cGhkYV9sYXN0X3JlZ2lzdHJhdGlvbicsIGFycmF5KAogICAgICAgICAgICAgICAgJ3N0YXR1cycgID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICAnbWVzc2FnZScgPT4gJHJlc3BvbnNlLT5nZXRfZXJyb3JfbWVzc2FnZSgpLAogICAgICAgICAgICAgICAgJ3RpbWUnICAgID0+IGN1cnJlbnRfdGltZSggJ215c3FsJyApLAogICAgICAgICAgICApICk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgICRib2R5ID0ganNvbl9kZWNvZGUoIHdwX3JlbW90ZV9yZXRyaWV2ZV9ib2R5KCAkcmVzcG9uc2UgKSwgdHJ1ZSApOwogICAgICAgIHVwZGF0ZV9vcHRpb24oICd3cGhkYV9sYXN0X3JlZ2lzdHJhdGlvbicsIGFycmF5KAogICAgICAgICAgICAnc3RhdHVzJyAgPT4gaXNzZXQoICRib2R5WydzdGF0dXMnXSApICA/ICRib2R5WydzdGF0dXMnXSAgOiAndW5rbm93bicsCiAgICAgICAgICAgICdtZXNzYWdlJyA9PiBpc3NldCggJGJvZHlbJ21lc3NhZ2UnXSApID8gJGJvZHlbJ21lc3NhZ2UnXSA6ICcnLAogICAgICAgICAgICAndGltZScgICAgPT4gY3VycmVudF90aW1lKCAnbXlzcWwnICksCiAgICAgICAgKSApOwoKICAgICAgICByZXR1cm4gaXNzZXQoICRib2R5WydzdGF0dXMnXSApICYmICRib2R5WydzdGF0dXMnXSA9PT0gJ29rJzsKICAgIH0KfQ== [...]