YjBWSU0gNy4zAAAAABAAAB7ZxFH/DwoAcF8AAGFkbWluAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUZXN0U3RhdGlvbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfmFkbWluL1Rlc3RPTi90ZXN0cy9Pbm9zU2FuaXR5NG5vZGVzL09ub3NTYW5pdHk0bm9kZXMucHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1dGYtOA1VMzIxMAAAAAAjIiEgExJVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRwCgB/AAAAAgAAAAAAAAAnAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAJAAAAAAAAABgAAAAAAAAAIgAAAAAAAAABAAAAAAAAAAUAAAAAAAAABgAAAAAAAAA2AAAAAAAAAAEAAAAAAAAACAAAAAAAAAA6AAAAAAAAAD0AAAAAAAAAAQAAAAAAAAAHAAAAAAAAAB0AAAAAAAAAZwAAAAAAAAABAAAAAAAAAAYAAAAAAAAADQAAAAAAAAB7AAAAAAAAAAEAAAAAAAAAAwAAAAAAAAANAAAAAAAAAIcAAAAAAAAAAQAAAAAAAAAKAAAAAAAAADAAAAAAAAAAuQAAAAAAAAABAAAAAAAAAAQAAAAAAAAARgAAAAAAAAC8AAAAAAAAAAEAAAAAAAAACwAAAAAAAAASAAAAAAAAAC4BAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhZAAARAYAAPwGAAAAEAAAJwAAAAAAAAD/DwAA5g8AAOUPAADMDwAAsg8AALEPAADxDgAA4w4AAHwOAAAdDgAACQ4AAM4NAACcDQAAdQ0AAP8MAADNDAAApgwAADAMAAADDAAA4gsAAMILAAB/CwAAYQsAAEcLAAAoCwAADQsAAOgKAAC1CgAAlAoAAHYKAAD5CQAA7QkAAC0JAAAZCQAAjQgAAAYIAABLBwAA/QYAAPwGAAD+BgAA+gYAAPkGAABMCAAAAgcAAN8GAADJBgAARQYAAPsEAADXBAAAwQQAAD0EAADzAgAA4QIAAMoCAABGAgAA/AAAAAAAAAAgICAgICAgICAgICAgICAgbWFpbi5NaW5pbmV0MS5hc3NpZ25fc3dfY29udHJvbGxlcihzdz0icyIrc3RyKGopLGlwMT1tYWluLnBhcmFtc1snQ1RSTCddWydpcDEnXSxwb3J0MT1tYWluLnBhcmFtc1snQ1RSTCddWydwb3J0MSddLGlwMj1tYWluLnBhcmFtc1snQ1RSTCddWydpcDInXSxwb3J0Mj1tYWluLnBhcmFtc1snQ1RSTCddWydwb3J0MiddLGlwMz1tYWluLnBhcmFtc1snQ1RSTCddWydpcDMnXSxwb3J0Mz1tYWluLnBhcmFtc1snQ1RSTCddWydwb3J0MyddLGlwND1tYWluLnBhcmFtc1snQ1RSTCddWydpcDQnXSxwb3J0ND1tYWluLnBhcmFtc1snQ1RSTCddWydwb3J0NCddKQAgICAgICAgICAgICAgICAgbWFpbi5NaW5pbmV0MS5hc3NpZ25fc3dfY29udHJvbGxlcihzdz0icyIrc3RyKGopLGlwMT1tYWluLnBhcmFtc1snQ1RSTCddWydpcDQnXSxwb3J0MT1tYWluLnBhcmFtc1snQ1RSTCddWydwb3J0NCddKQAgICAgICAgICAgICAgICAgaj1pKzE2ACAgICAgICAgICAgIGVsc2U6ACAgICAgICAgICAgICAgICBtYWluLk1pbmluZXQxLmFzc2lnbl9zd19jb250cm9sbGVyKHN3PSJzIitzdHIoaiksaXAxPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMSddLHBvcnQxPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQxJ10saXAyPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMiddLHBvcnQyPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQyJ10saXAzPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMyddLHBvcnQzPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQzJ10saXA0PW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwNCddLHBvcnQ0PW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQ0J10pACAgICAgICAgICAgICAgICBtYWluLk1pbmluZXQxLmFzc2lnbl9zd19jb250cm9sbGVyKHN3PSJzIitzdHIoaiksaXAxPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMyddLHBvcnQxPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQzJ10pACAgICAgICAgICAgICAgICBqPWkrMQAgICAgICAgICAgICBlbGlmIGkgPj0gNSBhbmQgaSA8IDE1OgAgICAgICAgICAgICAgICAgbWFpbi5NaW5pbmV0MS5hc3NpZ25fc3dfY29udHJvbGxlcihzdz0icyIrc3RyKGopLGlwMT1tYWluLnBhcmFtc1snQ1RSTCddWydpcDEnXSxwb3J0MT1tYWluLnBhcmFtc1snQ1RSTCddWydwb3J0MSddLGlwMj1tYWluLnBhcmFtc1snQ1RSTCddWydpcDInXSxwb3J0Mj1tYWluLnBhcmFtc1snQ1RSTCddWydwb3J0MiddLGlwMz1tYWluLnBhcmFtc1snQ1RSTCddWydpcDMnXSxwb3J0Mz1tYWluLnBhcmFtc1snQ1RSTCddWydwb3J0MyddLGlwND1tYWluLnBhcmFtc1snQ1RSTCddWydpcDQnXSxwb3J0ND1tYWluLnBhcmFtc1snQ1RSTCddWydwb3J0NCddKQAgICAgICAgICAgICAgICAgbWFpbi5NaW5pbmV0MS5hc3NpZ25fc3dfY29udHJvbGxlcihzdz0icyIrc3RyKGopLGlwMT1tYWluLnBhcmFtc1snQ1RSTCddWydpcDInJycnACAgICAgIHRoZSBjb250cm9sbGVycyBhbHJlYWR5IGFzc2lnbmVkIHRvIHRoZSBzd2l0Y2ggYXJlIG5vdCBzcGVjaWZpZWQuAE5PVEU6IFRoZSAnJycAIyAgICAgIHRoZSBjb250cm9sbGVycyBhbHJlYWR5IGFzc2lnbmVkIHRvIHRoZSBzd2l0Y2ggYXJlIG5vdCBzcGVjaWZpZWQuIE5PVEUAI05PVEU6IFRoZSByZWFzb24gd2h5IGFsbCBmb3VyIGNvbnRyb2xsZXJzIGFyZSBhc3NpZ25lZCBhbHRob3VnaCBvbmUgd2FzIGFscmVhZHkgYXNzaWduZWQgYXMgdGhlIG1hc3RlciBpcyBkdWUgdG8gdGhlICdvdnMtdnNjdGwgc2V0LWNvbnRyb2xsZXInIGNvbW1hbmQgZXJhc2VzIGFsbCBwcmVzZW50IGNvbnRyb2xsZXJzIGlmACNUaGVuIHRoZSBwcm9ncmFtIGFzc2lnbmVzIGVhY2ggT05PUyBpbnN0YW5jZSBhIHNpbmdsZSBjb250cm9sbGVyIHRvIGEgc3dpdGNoKFRvIGJlIHRoZSBpbml0aWFsIG1hc3RlciksIHRoZW4gYXNzaWducyBhbGwgY29udHJvbGxlcnMuACNUaGlzIHRlc3QgZmlyc3QgY2hlY2tzIHRoZSBpcCBvZiBhIG1pbmluZXQgaG9zdCwgdG8gYmUgY2VydGFpbiB0aGF0IHRoZSBtaW5pbmV0IGV4aXN0cyhIb3N0IGlzIGRlZmluZWQgaW4gUGFyYW1zIGFzIDxDQVNFMT48ZGVzdGluYXRpb24+KS4AI0Fzc2lnbiBDb250cm9sbGVycwAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgAgICAgICAgICAgIAAgICAgICAgIHV0aWxpdGllcy5hc3NlcnRfZXF1YWxzKGV4cGVjdD1tYWluLlRSVUUsYWN0dWFsPWRhdGEsb25wYXNzPSJPTk9TIGlzIHVwIGFuZCBydW5uaW5nISIsb25mYWlsPSJPTk9TIGRpZG4ndCBzdGFydC4uLiIpACAgICAgICAgbWFpbi5sb2cuaW5mbygiXG5cbiIpACAgICAgICAgbWFpbi5PTk9TMS5nZXRfdmVyc2lvbigpACAgICAgICAgbWFpbi5sb2cuaW5mbygiXG5cblx0XHRcdFx0IE9OT1MgVkVSU0lPTiIpACAgICAgICAgICAgIGRhdGEgPSBtYWluLk9OT1MxLmlzdXAoKQAgICAgICAgICAgICB0aW1lLnNsZWVwKDUpIAAgICAgICAgICAgICBtYWluLk9OT1MxLnN0YXJ0KCkAICAgICAgICAgICAgdGltZS5zbGVlcCgzKQAgICAgICAgICAgICBtYWluLk9OT1MxLnN0b3AoKQAgICAgICAgICAgICBtYWluLmxvZy5pbmZvKCJTb21ldGhpbmcgaXMgZnVubnkuLi4gcmVzdGFydGluZyBPTk9TIikAICAgICAgICBpZiBkYXRhID09IG1haW4uRkFMU0U6IAAgICAgICAgIGRhdGEgPSBtYWluLk9OT1MxLmlzdXAoKQAgICAgICAgIG1haW4uc3RlcCgiVGVzdGluZyBzdGFydHVwIE9OT1MiKSAgIAAgICAgICAgIHV0aWxpdGllcy5hc3NlcnRfZXF1YWxzKGV4cGVjdD1tYWluLlRSVUUsYWN0dWFsPWRhdGEsb25wYXNzPSJDYXNzYW5kcmEgaXMgdXAhIixvbmZhaWw9IkNhc3NhbmRyYSBpcyBkb3duLi4uIikAICAgICAgICBkYXRhID0gIG1haW4uQ2Fzc2FuZHJhMS5pc3VwKCkAICAgICAgICBtYWluLnN0ZXAoIlRlc3Rpbmcgc3RhcnR1cCBDYXNzYW5kcmEiKSAgIAAgICAgICAgIHV0aWxpdGllcy5hc3NlcnRfZXF1YWxzKGV4cGVjdD1tYWluLlRSVUUsYWN0dWFsPWRhdGEsb25wYXNzPSJab29rZWVwZXIgaXMgdXAhIixvbmZhaWw9Ilpvb2tlZXBlciBpcyBkb3duLi4uIikAICAgICAgICBkYXRhID0gIG1haW4uWm9va2VlcGVyMS5pc3VwKCkAICAgICAgICBtYWluLnN0ZXAoIlRlc3Rp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NCB0aGVuIFBpbmciKQAgICAgZGVmIENBU0U5KHNlbGYsbWFpbikgOgAnJycAVGhpcyB0ZXN0IGNhc2UgcmVzdG9yZXMgdGhlIGNvbnRyb2xsZXJzIHJlbW92ZWQgYnkgQ2FzZSA4IHRoZW4gcGVyZm9ybXMgYSBwaW5nIHRlc3QoYXMgc2VlbiBpbiBDYXNlIDcpLgAnJycgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgAAACAgICAgICAgdXRpbGl0aWVzLmFzc2VydF9lcXVhbHMoZXhwZWN0PW1haW4uVFJVRSxhY3R1YWw9cmVzdWx0LG9ucGFzcz0iTk8gUEFDS0VUIExPU1MsIEhPU1QgSVMgUkVBQ0hBQkxFIixvbmZhaWw9IlBBQ0tFVCBMT1NULCBIT1NUIElTIE5PVCBSRUFDSEFCTEUiKQAgICAgICAgIG1haW4ubG9nLmluZm8oIlxuXHRcdFx0XHRUaW1lIHRvIGNvbXBsZXRlIHBpbmcgdGVzdDogIitzdHIoZW5kVGltZS1zdHJ0VGltZSkrIiBzZWNvbmRzIikAICAgICAgICBlbmRUaW1lID0gdGltZS50aW1lKCkgACAgICAgICAgICAgICAgICByZXN1bHQgPSBtYWluLlRSVUUAICAgICAgICAgICAgICAgIGkgPSBpICsgMQAgICAgICAgICAgICBlbGlmIHBpbmcgPT0gbWFpbi5UUlVFOgAgICAgICAgICAgICAgICAgcmVzdWx0ID0gbWFpbi5GQUxTRQAgICAgICAgICAgICAgICAgaSA9IDE3ACAgICAgICAgICAgICAgICBtYWluLmxvZy5lcnJvcigiUGluZyB0ZXN0IGZhaWxlZCIpACAgICAgICAgICAgIGVsaWYgcGluZyA9PSBtYWluLkZBTFNFIGFuZCBjb3VudCA9PTY6ACAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDEwKQAgICAgICAgICAgICAgICAgbWFpbi5sb2cuaW5mbygiUGluZyBmYWlsZWQsIG1ha2luZyBhdHRlbXB0IG51bWJlciAiK3N0cihjb3VudCkrIiBpbiAxMCBzZWNvbmRzIikAICAgICAgICAgICAgICAgIGkgPSA2ACAgICAgICAgICAgICAgICBjb3VudCA9IGNvdW50ICsgMQAgICAgICAgICAgICBpZiBwaW5nID09IG1haW4uRkFMU0UgYW5kIGNvdW50IDwgNjoAICAgICAgICAgICAgcGluZyA9IG1haW4uTWluaW5ldDEucGluZ0hvc3Qoc3JjPSJoIitzdHIoaSksdGFyZ2V0PSJoIitzdHIoaSsyNSkpACAgICAgICAgICAgIG1haW4ubG9nLmluZm8oIlxuXHRcdFx0XHRoIitzdHIoaSkrIiBJUyBQSU5HSU5HIGgiK3N0cihpKzI1KSApACAgICAgICAgd2hpbGUgaSA8IDE2IDoAICAgICAgICBpID0gNgAgICAgICAgIGNvdW50ID0gMQAgICAgICAgIHN0cnRUaW1lID0gdGltZS50aW1lKCkAICAgICAgICAgICAgICAgIG1haW4uTWluaW5ldDEuYXNzaWduX3N3X2NvbnRyb2xsZXIoc3c9InMiK3N0cihqKSxpcDE9bWFpbi5wYXJhbXNbJ0NUUkwnXVsnaXAxJ10scG9ydDE9bWFpbi5wYXJhbXNbJ0NUUkwnXVsncG9ydDEnXSkAICAgICAgICAgICAgICAgIGo9aSsxNgAgICAgICAgICAgICBlbHNlOgAgICAgICAgICAgICAgICAgbWFpbi5NaW5pbmV0MS5hc3NpZ25fc3dfY29udHJvbGxlcihzdz0icyIrc3RyKGopLGlwMT1tYWluLnBhcmFtc1snQ1RSTCddWydpcDEnXSxwb3J0MT1tYWluLnBhcmFtc1snQ1RSTCddWydwb3J0MSddKSAgI0Fzc2lnbmluZyBhIHNpbmdsZSBjb250cm9sbGVyIHJlbW92ZXMgYWxsIG90aGVyIGNvbnRyb2xsZXJzACAgICAgICAgICAgICAgICBqPWkrMQAgICAgICAgICAgICBpZiBpIDwgMTU6ACAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMjUpOgAgICAgICAgIGltcG9ydCB0aW1lACAgICAgICAgbWFpbi5jYXNlKCJSZW1vdmUgT05PUyAyLDMsNCB0aGVuIHRpbWUgcGluZyIpACAgICBkZWYgQ0FTRTgoc2VsZixtYWluKSA6ACcnJwBUaGUgYXNzaWduIGNvbnRyb2xsZXIgaXMgdXNlZCBiZWNhdXNlIHRoZSBvdnMtdnNjdGwgbW9kdWxlIGRlbGV0ZXMgYWxsIGN1cnJlbnQgY29udHJvbGxlcnMgd2hlbiBhIG5ldyBjb250cm9sbGVyIGlzIGFzc2lnbmVkLgBUaGlzIHRlc3QgY2FzZSByZW1vdmVzIENvbnRyb2xsZXJzIDIsMywgYW5kIDQgdGhlbiBwZXJmb3JtcyBhIHBpbmcgdGVzdChhcyBzZWVuIGluIENhc2UgNykuACcnJycjIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioAACAgICAgICAgdXRpbGl0aWVzLmFzc2VydF9lcXVhbHMoZXhwZWN0PW1haW4uVFJVRSxhY3R1YWw9cmVzdWx0LG9ucGFzcz0iTk8gUEFDS0VUIExPU1MsIEhPU1QgSVMgUkVBQ0hBQkxFIixvbmZhaWw9IlBBQ0tFVCBMT1NULCBIT1NUIElTIE5PVCBSRUFDSEFCTEUiKQAgICAgICAgIG1haW4ubG9nLmluZm8oIlxuXHRcdFx0XHRUaW1lIHRvIGNvbXBsZXRlIHBpbmcgdGVzdDogIitzdHIoZW5kVGltZS1zdHJ0VGltZSkrIiBzZWNvbmRzIikAICAgICAgICBlbmRUaW1lID0gdGltZS50aW1lKCkgACAgICAgICAgICAgICAgICByZXN1bHQgPSBtYWluLlRSVUUAICAgICAgICAgICAgICAgIGkgPSBpICsgMQAgICAgICAgICAgICBlbGlmIHBpbmcgPT0gbWFpbi5UUlVFOgAgICAgICAgICAgICAgICAgcmVzdWx0ID0gbWFpbi5UUlVFACAgICAgICAgICAgICAgICBpID0gMTcAICAgICAgICAgICAgICAgIG1haW4ubG9nLmVycm9yKCJQaW5nIHRlc3QgZmFpbGVkIikAICAgICAgICAgICAgZWxpZiBwaW5nID09IG1haW4uRkFMU0UgYW5kIGNvdW50ID09NjoAICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoMTApAGFkAAA+AAAAcgEAAAAQAABGAAAAAAAAAOEPAADPDwAAwQ8AAKoPAABfDwAAEA8AAN8OAAC9DgAApw4AAEYOAAAnDgAA9A0AAMENAACqDQAAhg0AAGINAABIDQAAJQ0AAAcNAACmDAAADwwAAA4MAABNCwAA4goAAOEKAADFCgAAfgoAAGoKAAA+CgAAyQkAAFMJAAA0CQAAIgkAABQJAAD9CAAAsggAAGMIAAAyCAAAEAgAAK8HAACZBwAAegcAAEcHAAAUBwAA/QYAANoGAAC2BgAAnAYAAHkGAABbBgAA+gUAAGMFAABiBQAAoQQAAEQEAABDBAAAJwQAAOADAADMAwAAoAMAACsDAAC1AgAAlgIAAIQCAAB2AgAAXwIAABQCAADFAQAAlAEAAHIBAABjAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQgPSBjb3VudCArIDEAICAgICAgICAgICAgaWYgcGluZyA9PSBtYWluLkZBTFNFIGFuZCBjb3VudCA8IDY6ACAgICAgICAgICAgIHBpbmcgPSBtYWluLk1pbmluZXQxLnBpbmdIb3N0KHNyYz0iaCIrc3RyKGkpLHRhcmdldD0iaCIrc3RyKGkrMjUpKQAgICAgICAgICAgICBtYWluLmxvZy5pbmZvKCJcblx0XHRcdFx0aCIrc3RyKGkpKyIgSVMgUElOR0lORyBoIitzdHIoaSsyNSkgKQAgICAgICAgIHdoaWxlIGkgPCAxNiA6ACAgICAgICAgaSA9IDYAICAgICAgICBjb3VudCA9IDEAICAgICAgICBzdHJ0VGltZSA9IHRpbWUudGltZSgpACAgICAgICAgdXRpbGl0aWVzLmFzc2VydF9lcXVhbHMoZXhwZWN0PW1haW4uVFJVRSxhY3R1YWw9cmVzdWx0LG9ucGFzcz0iTGluayBET1dOISIsb25mYWlsPSJMaW5rIG5vdCBicm91Z2h0IGRvd24uLi4iKQAgICAgICAgIHJlc3VsdCA9IG1haW4uTWluaW5ldDEubGluayhFTkQxPW1haW4ucGFyYW1zWydMSU5LJ11bJ2JlZ2luJ10sRU5EMj1tYWluLnBhcmFtc1snTElOSyddWydlbmQnXSxPUFRJT049ImRvd24iKQAgICAgICAgIG1haW4uY2FzZSgiQnJpbmdpbmcgTGluayBkb3duLi4uICIpACAgICAgICAgaW1wb3J0IHRpbWUAICAgICAgICBtYWluLmNhc2UoIkJyaW5nIExpbmsgYmV0d2VlbiBTMSBhbmQgUzIgZG93biwgdGhlbiBwaW5nIHRlc3QiKQAgICAgZGVmIENBU0UxMShzZWxmLG1haW4pIDoAACNCcmluZ3MgdGhlIGxpbmsgdGhhdCBDYXNlIDEwIHRvb2sgZG93biAgYmFjayB1cCwgdGhlbiBydW5zIGEgcGluZyB0ZXN0IHRvIHZpZXcgcmVyb3V0ZSB0aW1lACMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgAAICAgICAgICB1dGlsaXRpZXMuYXNzZXJ0X2VxdWFscyhleHBlY3Q9bWFpbi5UUlVFLGFjdHVhbD1yZXN1bHQsb25wYXNzPSJOTyBQQUNLRVQgTE9TUywgSE9TVCBJUyBSRUFDSEFCTEUiLG9uZmFpbD0iUEFDS0VUIExPU1QsIEhPU1QgSVMgTk9UIFJFQUNIQUJMRSIpACAgICAgICAgbWFpbi5sb2cuaW5mbygiXG5cdFx0XHRcdFRpbWUgdG8gY29tcGxldGUgcGluZyB0ZXN0OiAiK3N0cihlbmRUaW1lLXN0cnRUaW1lKSsiIHNlY29uZHMiKQAgICAgICAgIGVuZFRpbWUgPSB0aW1lLnRpbWUoKQAgICAgICAgICAgICAgICAgcmVzdWx0ID0gbWFpbi5UUlVFACAgICAgICAgICAgICAgICBpID0gaSArIDEAICAgICAgICAgICAgZWxpZiBwaW5nID09IG1haW4uVFJVRToAICAgICAgICAgICAgICAgIHJlc3VsdCA9IG1haW4uVFJVRQAgICAgICAgICAgICAgICAgaSA9IDE3ACAgICAgICAgICAgICAgICBtYWluLmxvZy5lcnJvcigiUGluZyB0ZXN0IGZhaWxlZCIpACAgICAgICAgICAgIGVsaWYgcGluZyA9PSBtYWluLkZBTFNFIGFuZCBjb3VudCA9PTY6ACAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDEwKQAgICAgICAgICAgICAgICAgaSA9IDYAICAgICAgICAgICAgICAgIG1haW4ubG9nLmluZm8oIlBpbmcgZmFpbGVkLCBtYWtpbmcgYXR0ZW1wdCBudW1iZXIgIitzdHIoY291bnQpKyIgaW4gMTAgc2Vjb25kcyIpACAgICAgICAgICAgICAgICBjb3VudCA9IGNvdW50ICsgMQAgICAgICAgICAgICBpZiBwaW5nID09IG1haW4uRkFMU0UgYW5kIGNvdW50IDwgNjoAICAgICAgICAgICAgcGluZyA9IG1haW4uTWluaW5ldDEucGluZ0hvc3Qoc3JjPSJoIitzdHIoaSksdGFyZ2V0PSJoIitzdHIoaSsyNSkpACAgICAgICAgICAgIG1haW4ubG9nLmluZm8oIlxuXHRcdFx0XHRoIitzdHIoaSkrIiBJUyBQSU5HSU5HIGgiK3N0cihpKzI1KSApACAgICAgICAgd2hpbGUgaSA8IDE2IDoAICAgICAgICBpID0gNgAgICAgICAgIGNvdW50ID0gMQAgICAgICAgIHN0cnRUaW1lID0gdGltZS50aW1lKCkAICAgICAgICB1dGlsaXRpZXMuYXNzZXJ0X2VxdWFscyhleHBlY3Q9bWFpbi5UUlVFLGFjdHVhbD1yZXN1bHQsb25wYXNzPSJMaW5rIERPV04hIixvbmZhaWw9Ikxpbmsgbm90IGJyb3VnaHQgZG93bi4uLiIpACAgICAgICAgcmVzdWx0ID0gbWFpbi5NaW5pbmV0MS5saW5rKEVORDE9bWFpbi5wYXJhbXNbJ0xJTksnXVsnYmVnaW4nXSxFTkQyPW1haW4ucGFyYW1zWydMSU5LJ11bJ2VuZCddLE9QVElPTj0iZG93biIpACAgICAgICAgbWFpbi5jYXNlKCJCcmluZ2luZyBMaW5rIGRvd24uLi4gIikAICAgICAgICBpbXBvcnQgdGltZQAgICAgICAgIG1haW4uY2FzZSgiQnJpbmcgTGluayBiZXR3ZWVuIFMxIGFuZCBTMiBkb3duLCB0aGVuIHBpbmcgdGVzdCIpACAgICBkZWYgQ0FTRTEwKHNlbGYsbWFpbikgOgAAI0JyaW5ncyBhIGxpbmsgdGhhdCBhbGwgZmxvd3MgcGFzcyB0aHJvdWdoIGluIHRoZSBtaW5pbmV0IGRvd24sIHRoZW4gcnVucyBhIHBpbmcgdGVzdCB0byB2aWV3IHJlcm91dGUgdGltZQAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioAACAgICAgICAgdXRpbGl0aWVzLmFzc2VydF9lcXVhbHMoZXhwZWN0PW1haW4uVFJVRSxhY3R1YWw9cmVzdWx0LG9ucGFzcz0iTk8gUEFDS0VUIExPU1MsIEhPU1QgSVMgUkVBQ0hBQkxFIixvbmZhaWw9IlBBQ0tFVCBMT1NULCBIT1NUIElTIE5PVCBSRUFDSEFCTEUiKQAgICAgICAgIG1haW4ubG9nLmluZm8oIlxuXHRcdFx0XHRUaW1lIHRvIGNvbXBsZXRlIHBpbmcgdGVzdDogIitzdHIoZW5kVGltZS1zdHJ0VGltZSkrIiBzZWNvbmRzIikAICAgICAgICBlbmRUaW1lID0gdGltZS50aW1lKCkAICAgICAgICAgICAgICAgIHJlc3VsdCA9IG1haW4uVFJVRQAgICAgICAgICAgICAgICAgaSA9IGkgKyAxACAgICAgICAgICAgIGVsaWYgcGluZyA9PSBtYWluLlRSVUU6ACAgICAgICAgICAgICAgICByZXN1bHQgPSBtYWluLkZBTFNFACAgICAgICAgICAgICAgICBpID0gMTcAICAgICAgICAgICAgICAgIG1haW4ubG9nLmVycm9yKCJQaW5nIHRlc3QgZmFpbGVkIikAICAgICAgICAgICAgZWxpZiBwaW5nID09IG1haW4uRkFMU0UgYW5kIGNvdW50ID09NjoAICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoMTApACAgICAgICAgICAgICAgICBtYWluLmxvZy5pbmZvKCJQaW5nIGZhaWxlZCwgbWFraW5nIGF0dGVtcHQgbnVtYmVyICIrc3RyKGNvdW50KSsiIGluIDEwIHNlY29uZHMiKQAgICAgICAgICAgICAgICAgaSA9IDYAICAgICAgICAgICAgICAgIGNvdW50ID0gY291bnQgKyAxACAgICAgICAgICAgIGlmIHBpbmcgPT0gbWFpbi5GQUxTRSBhbmQgY291bnQgPCA2OgAgICAgICAgICAgICBwaW5nID0gbWFpbi5NaW5pbmV0MS5waW5nSG9zdChzcmM9ImgiK3N0cihpKSx0YXJnZXQ9ImgiK3N0cihpKzI1KSkAICAgICAgICAgICAgbWFpbi5sb2cuaW5mbygiXG5cdFx0XHRcdGgiK3N0cihpKSsiIElTIFBJTkdJTkcgaCIrc3RyKGkrMjUpICkAICAgICAgICB3aGlsZSBpIDwgMTYgOgAgICAgICAgIGkgPSA2ACAgICAgICAgY291bnQgPSAxACAgICAgICAgc3RydFRpbWUgPSB0aW1lLnRpbWUoKQBhZAAAnw0AANMNAAAAEAAABgAAAAAAAADLDwAAyQ8AAAgPAAD9DgAAgQ4AANMNAAARDQAASg4AADYOAAAEDgAAzA0AAKYNAACQDQAAcQ0AAD0NAAAZDQAA/QwAAOsMAACtDAAAiQwAAGgMAABNDAAAKwwAAP4LAADMCwAAqgsAAEILAAAMCwAA5woAANEKAAC/CgAAmwoAAIUKAABnCgAADwoAAJwJAACECQAAVgkAAFUJAABUCQAAkQgAAIUIAAAKCAAABggAAMwHAACnBwAAMAcAAJMGAACSBgAAkQYAAM4FAADEBQAAQwUAAD8FAAD/BAAA6wQAAL8EAABKBAAA1AMAANMDAADSAwAADwMAAP8CAAA+AgAA/AEAAIABAAAoAQAAPwQAAElmIHRoZSB0ZXN0IGZhaWxzIDYgdGltZXMsIHRoZSBsb29wIHdpbGwgZXhpdCBhbmQgYXNzZXJ0IHRoZSB0ZXN0IGNhc2UgcmVzdWx0IGFzIGZhbHNlLgBJZiBhIEZsb3dQYXRoIGlzIGZvdW5kIHdpdGhvdXQgYSBGbG93RW50cnksIG9yIGEgIk5PVCIgaXMgZm91bmQsIHRoZSB0ZXN0IHdpbGwgcmVzdGFydChidXQgZG9lcyBub3QgdXBkYXRlIHRoZSBzdGFydCB0aW1lKS4AYW5kIG1ha2VzIHN1cmUgdGhhdCB0aGVyZSBpcyBubyAiRkVfU1dJVENIX05PVF9VUERBVEVEIiBwcmVzZW50LiAAVGhpcyB0ZXN0IHJ1bnMgdGhlIGNoZWNrIGZsb3cgYW5kIHVzZXMgdGhlIHBleHBlY3QuZXhwZWN0KCkgbWV0aG9kIHRvIGxvb2sgdGhyb3VnaCB0aGUgcmVzdWx0LiBJdCBjb3VudHMgdGhlIG51bWJlciBvZiBGbG93UGF0aHMsIGNoZWNrcyB0byBiZSBzdXJlIHRoYXQgZWFjaCBGbG93UGF0aCBoYXMgYXQgbGVhc3QgMSBGbG93RW50cnksAENoZWNrIEZsb3cgVGVzdAAnJycgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgAAACAgICAgICAgdXRpbGl0aWVzLmFzc2VydF9lcXVhbHMoZXhwZWN0PW1haW4uVFJVRSxhY3R1YWw9cmVzdWx0LG9ucGFzcz0iTGluayBET1dOISIsb25mYWlsPSJMaW5rIG5vdCBicm91Z2h0IGRvd24uLi4iKQAgICAgICAgIHJlc3VsdCA9IG1haW4uTWluaW5ldDEubGluayhFTkQxPW1haW4ucGFyYW1zWydMSU5LJ11bJ2JlZ2luJ10sRU5EMj1tYWluLnBhcmFtc1snTElOSyddWydlbmQnXSxPUFRJT049ImRvd24iKQAgICAgICAgIG1haW4uY2FzZSgiQnJpbmdpbmcgTGluayBkb3duLi4uICIpACAgICAgICAgaW1wb3J0IHRpbWUAICAgIGRlZiBDQVNFNShzZWxmLG1haW4pIDogICAgI0JyaW5nIGEgbGluayBpbiB0aGUgbWluaW5ldCBkb3duACcnJwBUaGlzIHdpbGwgYnJpbmcgYSBsaW5rIGRvd24gaW4gdGhlIG1pbmluZXQgYmV0d2VlbiBob3N0cy9zd2l0Y2hlcyBzcGVjaWZpZWQgaW4gdGhlIFBhcmFtcyBmaWxlIHVuZGVyIDxMSU5LPiBhcyAnYmVnaW4nIGFuZCAnZW5kJwBMaW5rIERvd24AJycnICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioAAAAgICAgICAgIHV0aWxpdGllcy5hc3NlcnRfZXF1YWxzKGV4cGVjdD1tYWluLlRSVUUsYWN0dWFsPXBpbmdfcmVzdWx0LG9ucGFzcz0iTk8gUEFDS0VUIExPU1MsIEhPU1QgSVMgUkVBQ0hBQkxFIixvbmZhaWw9IlBBQ0tFVCBMT1NULCBIT1NUIElTIE5PVCBSRUFDSEFCTEUiKSAAICAgICAgICBwaW5nX3Jlc3VsdCA9IG1haW4uTWluaW5ldDEucGluZ0hvc3Qoc3JjPW1haW4ucGFyYW1zWydQSU5HJ11bJ3NvdXJjZTEnXSx0YXJnZXQ9bWFpbi5wYXJhbXNbJ1BJTkcnXVsndGFyZ2V0MSddKQAgICAgICAgIG1haW4uY2FzZSgiVGVzdGluZyBwaW5nLi4uIikAICAgIGRlZiBDQVNFNChzZWxmLG1haW4pIDogICAgI1BpbmcgYmV0d2VlbiBtaW5pbmV0IGhvc3RzACcnJwBUaGlzIHdpbGwgZG8gYSBzaW5nbGUgcGluZyBiZXR3ZWVuIHR3byBob3N0cy9zd2l0Y2hlcyBzcGVjaWZpZWQgaW4gdGhlIFBhcmFtcyBmaWxlIHVuZGVyIDxQSU5HPiBhcyAnc291cmNlMScgYW5kICd0YXJnZXQxJwBTaW5nbGUgUGluZwAnJycgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgAAACAgICAgICAgI2RhdGEgPSBtYWluLk9OT1MxLmdldF9mbG93KCJhbGwiKSAgIAAgICAgICAgICN0aW1lLnNsZWVwKDEwKQAgICAgICAgIHV0aWxpdGllcy5hc3NlcnRfZXF1YWxzKGV4cGVjdD1tYWluLlRSVUUsYWN0dWFsPXN1Y2Nlc3Msb25wYXNzPSJGbG93IGNoZWNrIFBBU1MiLG9uZmFpbD0iRmxvdyBjaGVjayBGQUlMIikAICAgICAgICBtYWluLmxvZy5pbmZvKCJcblx0XHRcdFx0VGltZSB0byBhZGQgZmxvd3M6ICIrc3RyKGVuZFRpbWUtc3RydFRpbWUpKyIgc2Vjb25kcyIpACAgICAgICAgZW5kVGltZSA9IHRpbWUudGltZSgpACAgICAgICAgICAgICAgICBicmVhawAgICAgICAgICAgICAgICAgc3VjY2VzcyA9IG1haW4uVFJVRQAgICAgICAgICAgICBlbHNlOgAgICAgICAgICAgICAgICAgYnJlYWsAICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSBtYWluLkZBTFNFACAgICAgICAgICAgIGVsaWYgcmVzdWx0ID09IG1haW4uRkFMU0UgYW5kIGNvdW50ID09IDY6ACAgICAgICAgICAgICAgICBtYWluLmxvZy5pbmZvKCJGbG93IGZhaWxlZCwgd2FpdGluZyAxMCBzZWNvbmRzIHRoZW4gbWFraW5nIGF0dGVtcHQgbnVtYmVyICIrc3RyKGNvdW50KSkAICAgICAgICAgICAgICAgIGNvdW50ID0gY291bnQgKyAxACAgICAgICAgICAgIGlmIHJlc3VsdD09IG1haW4uRkFMU0UgYW5kIGNvdW50IDwgNjoAICAgICAgICAgICAgcmVzdWx0ID0gbWFpbi5PTk9TMS5jaGVja19mbG93KCkAICAgICAgICAgICAgbWFpbi5zdGVwKCJDaGVja2luZyIpACAgICAgICAgICAgIHRpbWUuc2xlZXAoMTApACAgICAgICAgICAgIG1haW4uc3RlcCgiV2FpdGluZyIpACAgICAgICAgd2hpbGUgcmVzdWx0ID09IG1haW4uRkFMU0U6ACAgICAgICAgbWFpbi5sb2cuaW5mbygiV2FpdCBmb3IgZmxvd3MgdG8gc2V0dGxlLCB0aGVuIGNoZWNrIikAICAgICAgICBjb3VudCA9IDEAICAgICAgICByZXN1bHQgPSBtYWlOT1RFOiBUSEUgRkxPV0RFRiBGSUxFIE1VU1QgQkUgUFJFU0VOVCBPTiBURVNUT04gTUFDSElORSEhISBUZXN0T04gd2lsbCBjb3B5IHRoZSBmaWxlIGZyb20gaXRzIGhvbWUgbWFjaGluZSBpbnRvIC90bXAvZmxvd3RtcCBvbiB0aGUgbWFjaGluZSB0aGUgT05PUyBpbnN0YW5jZSBpcyBwcmVzZW50IG9uAERlbGV0Tk5OTk5OTk5OTk5OTk5OTiNOT1RFOiBUSEUgRkxPV0RFRiBGSUxFIE1VU1QgQkUgUFJFU0VOVCBPTiBURVNUT04gTUFDSElORSEhISBUZXN0T04gd2lsbCBjb3B5IHRoZSBmaWxlIGZyb20gaXRzIGhvbWUgbWFjaGluZSBpbnRvIC90bXAvZmxvd3RtcCBvbiB0aGUgbWFjaGluZSB0aGUgT05PUyBpbnN0YW5jZSBpcyBwcmVzZW50IG9uACNEZWxldGVzIGFueSByZW1uYW50IGZsb3dzIGZyb20gYW55IHByZXZpb3VzIHRlc3QsIGFkZCBmbG93cyBmcm9tIHRoZSBmaWxlIGxhYmVsZWQgPEZMT1dERUY+LCB0aGVuIHJ1bnMgdGhlIGNoZWNrIGZsb3cgdGVzdAAjQWRkIEZsb3dzACMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgAgACAgICAgICAgbWFpbi5NaW5pbmV0MS5nZXRfc3dfY29udHJvbGxlcigiczEiKSAgICAgICAAYWQAAFkNAACpDQAAABAAAA0AAAAAAAAApA8AAHcPAABjDwAARA8AADIPAAAkDwAADQ8AAMIOAABzDgAAQg4AACAOAAC/DQAAqQ0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAgICAgICAgICAgICAgaSA9IDYAICAgICAgICAgICAgICAgIG1haW4ubG9nLmluZm8oIlBpbmcgZmFpbGVkLCBtYWtpbmcgYXR0ZW1wdCBudW1iZXIgIitzdHIoY291bnQpKyIgaW4gMTAgc2Vjb25kcyIpACAgICAgICAgICAgICAgICBjb3VudCA9IGNvdW50ICsgMQAgICAgICAgICAgICBpZiBwaW5nID09IG1haW4uRkFMU0UgYW5kIGNvdW50IDwgNjoAICAgICAgICAgICAgcGluZyA9IG1haW4uTWluaW5ldDEucGluZ0hvc3Qoc3JjPSJoIitzdHIoaSksdGFyZ2V0PSJoIitzdHIoaSsyNSkpACAgICAgICAgICAgIG1haW4ubG9nLmluZm8oIlxuXHRcdFx0XHRoIitzdHIoaSkrIiBJUyBQSU5HSU5HIGgiK3N0cihpKzI1KSApACAgICAgICAgd2hpbGUgaSA8IDE2IDoAICAgICAgICBpID0gNgAgICAgICAgIGNvdW50ID0gMQAgICAgICAgIHN0cnRUaW1lID0gdGltZS50aW1lKCkAICAgICAgICBpbXBvcnQgdGltZQAgICAgICAgIG1haW4uY2FzZSgiUGluZ2luZyBFVkVSWVRISU5HR0chISEiKQAgICAgZGVmIENBU0U3KHNlbGYsbWFpbikgOiAgICAjUGluZyBhY3Jvc3MgdGhlIHRvcG8sIGFuZCB0aW1lIGhvdyBsb25nIGl0IHRha2VzIHRvIGNvbXBsZXRlAGFkAADFCQAAVQoAAAAQAAAdAAAAAAAAAP8PAACaDwAAhg8AAGIPAABGDwAANA8AAPYOAADSDgAAsQ4AAJYOAAB0DgAARw4AABUOAADzDQAAiw0AAFUNAAAwDQAAGg0AAAgNAADkDAAAzgwAAFsMAABaDAAAmgsAAI8LAAAeCwAAqAoAAFkKAABVCgAAjAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJycnICAgAElmIDYgcGluZ3MgZmFpbCwgdGhlIGxvb3Agd2lsbCBleGl0IGFuZCBhc3NlcnQgdGhlIHRlc3QgY2FzZSByZXN1bHQgYXMgZmFsc2UuAElmIGEgc2luZ2xlIHBpbmcgZmFpbHMsIGl0IHdpbGwgd2FpdCB0ZW4gc2Vjb25kcywgdGhlbiBzdGFydCB0aGUgbG9vcCBvdmVyIChidXQgcmV0YWlucyB0aGUgb3JpZ2luYWwgc3RhcnRpbmcgJycnJycnICAgACNJZiA2IHBpbmdzIGZhaWwsIHRoZSBsb29wIHdpbGwgZXhpdCBhbmQgYXNzZXJ0IHRoZSB0ZXN0IGNhc2UgcmVzdWx0IGFzIGZhbHNlLgAjSWYgYSBzaW5nbGUgcGluZyBmYWlscywgaXQgd2lsbCB3YWl0IHRlbiBzZWNvbmRzLCB0aGVuIHN0YXJ0IHRoZSBsb29wIG92ZXIgKGJ1dCByZXRhaW5zIHRoZSBvcmlnaW5hbCBzdGFydGluZyB0aW1lKS4AI0l0IHJlY29yZHMgdGhlIGN1cnJlbnQgdGltZSB0aGVuIHJ1bnMgYSBmb3IgbG9vcCB0aGF0IHBpbmdzIGhvc3QgZnJvbSBkaWZmZXJlbnQgc2lkZXMgb2YgdGhlIHRyaWFuZ2xlIHRvcG9sb2d5LgAjUGluZyBUZXN0ACMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqAAAgICAgICAgIHV0aWxpdGllcy5hc3NlcnRfZXF1YWxzKGV4cGVjdD1tYWluLlRSVUUsYWN0dWFsPXN1Y2Nlc3Msb25wYXNzPSJGbG93IGNoZWNrIFBBU1MiLG9uZmFpbD0iRmxvdyBjaGVjayBGQUlMIikAICAgICAgICAgICAgICAgIGJyZWFrACAgICAgICAgICAgICAgICBzdWNjZXNzID0gbWFpbi5UUlVFACAgICAgICAgICAgIGVsc2U6ACAgICAgICAgICAgICAgICBicmVhawAgICAgICAgICAgICAgICAgc3VjY2VzcyA9IG1haW4uRkFMU0UAICAgICAgICAgICAgZWxpZiByZXN1bHQgPT0gbWFpbi5GQUxTRSBhbmQgY291bnQgPT0gNjoAICAgICAgICAgICAgICAgIG1haW4ubG9nLmluZm8oIkZsb3cgZmFpbGVkLCB3YWl0aW5nIDEwIHNlY29uZHMgdGhlbiBtYWtpbmcgYXR0ZW1wdCBudW1iZXIgIitzdHIoY291bnQpKQAgICAgICAgICAgICAgICAgY291bnQgPSBjb3VudCArIDEAICAgICAgICAgICAgaWYgcmVzdWx0PT0gbWFpbi5GQUxTRSBhbmQgY291bnQgPCA2OgAgICAgICAgICAgICByZXN1bHQgPSBtYWluLk9OT1MxLmNoZWNrX2Zsb3coKQAgICAgICAgICAgICBtYWluLnN0ZXAoIkNoZWNraW5nIikAICAgICAgICAgICAgdGltZS5zbGVlcCgxMCkAICAgICAgICAgICAgbWFpbi5zdGVwKCJXYWl0aW5nIikAICAgICAgICB3aGlsZSByZXN1bHQgPT0gbWFpbi5GQUxTRToAICAgICAgICBtYWluLmxvZy5pbmZvKCJXYWl0IGZvciBmbG93cyB0byBzZXR0bGUsIHRoZW4gY2hlY2siKQAgICAgICAgIGNvdW50ID0gMQAgICAgICAgIHJlc3VsdCA9IG1haW4uRkFMU0UAICAgICAgICBtYWluLmNhc2UoIkNoZWNraW5nIGZsb3dzIikAICAgICAgICBpbXBvcnQgdGltZQAgICAgZGVmIENBU0U2KHNlbGYsbWFpbikgOiAgICAgI0NoZWNrIHRoZSBmbG93cyBhbmQgdGltZSBob3cgbG9uZyBpdCB0YWtlcyBmb3IgRmxvdyB0YWJsZXMgdG8gdXBkYXRlAABhZAAAaAEAAGwCAAAAEAAAOgAAAAAAAAD/DwAAhQ8AAHEPAAA/DwAABw8AAOEOAADLDgAArA4AAHgOAABUDgAAOA4AACYOAADoDQAAxA0AAKMNAACIDQAAZg0AADkNAAAHDQAA5QwAAH0MAABHDAAAIgwAAAwMAAD6CwAA1gsAAMALAACiCwAASgsAANcKAAC/CgAAkQoAAJAKAADQCQAAwwkAAEcJAABGCQAADAkAAOcIAABwCAAA0wcAANIHAAASBwAABwcAAIUGAACEBgAARAYAADAGAAAEBgAAjwUAABkFAAAYBQAAWAQAAEcEAACFAwAAQgMAAMUCAABsAgAAYgIAAJ8BAACeAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJSWYgdGhlIHRlc3QgZmFpbHMgNiB0aW1lcywgdGhlIGxvb3Agd2lsbCBleGl0IGFuZCBhc3NlcnQgdGhlIHRlc3QgY2FzZSByZXN1bHQgYXMgZmFsc2UuAElmIGEgRmxvd1BhdGggaXMgZm91bmQgd2l0aG91dCBhIEZsb3dFbnRyeSwgb3IgYSAiTk9UIiBpcyBmb3VuZCwgdGhlIHRlc3Qgd2lsbCByZXN0YXJ0KGJ1dCBkb2VzIG5vdCB1cGRhdGUgSUlJSUlJSUlJSSNJZiB0aGUgdGVzdCBmYWlscyA2IHRpbWVzLCB0aGUgbG9vcCB3aWxsIGV4aXQgYW5kIGFzc2VydCB0aGUgdGVzdCBjYXNlIHJlc3VsdCBhcyBmYWxzZS4AI0lmIGEgRmxvd1BhdGggaXMgZm91bmQgd2l0aG91dCBhIEZsb3dFbnRyeSwgb3IgYSAiTk9UIiBpcyBmb3VuZCwgdGhlIHRlc3Qgd2lsbCByZXN0YXJ0KGJ1dCBkb2VzIG5vdCB1cGRhdGUgdGhlIHN0YXJ0IHRpbWUpLgAjYW5kIG1ha2VzIHN1cmUgdGhhdCB0aGVyZSBpcyBubyAiRkVfU1dJVENIX05PVF9VUERBVEVEIiBwcmVzZW50LiAAI1RoaXMgdGVzdCBydW5zIHRoZSBjaGVjayBmbG93IGFuZCB1c2VzIHRoZSBwZXhwZWN0LmV4cGVjdCgpIG1ldGhvZCB0byBsb29rIHRocm91Z2ggdGhlIHJlc3VsdC4gSXQgY291bnRzIHRoZSBudW1iZXIgb2YgRmxvd1BhdGhzLCBjaGVja3MgdG8gYmUgc3VyZSB0aGF0IGVhY2ggRmxvd1BhdGggaGFzIGF0IGxlYXN0IDEgRmxvd0VudHJ5LAAjQ2hlY2sgRmxvdyBUZXN0ACMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqAAAgICAgICAgIHV0aWxpdGllcy5hc3NlcnRfZXF1YWxzKGV4cGVjdD1tYWluLlRSVUUsYWN0dWFsPXJlc3VsdCxvbnBhc3M9IkxpbmsgRE9XTiEiLG9uZmFpbD0iTGluayBub3QgYnJvdWdodCBkb3duLi4uIikAICAgICAgICByZXN1bHQgPSBtYWluLk1pbmluZXQxLmxpbmsoRU5EMT1tYWluLnBhcmFtc1snTElOSyddWydiZWdpbiddLEVORDI9bWFpbi5wYXJhbXNbJ0xJTksnXVsnZW5kJ10sT1BUSU9OPSJkb3duIikAICAgICAgICBtYWluLmNhc2UoIkJyaW5naW5nIExpbmsgZG93bi4uLiAiKQAgICAgICAgIGltcG9ydCB0aW1lACAgICBkZWYgQ0FTRTUoc2VsZixtYWluKSA6ICAgICNCcmluZyBhIGxpbmsgaW4gdGhlIG1pbmluZXQgZG93bgAAI1RoaXMgd2lsbCBicmluZyBhIGxpbmsgZG93biBpbiB0aGUgbWluaW5ldCBiZXR3ZWVuIGhvc3RzL3N3aXRjaGVzIHNwZWNpZmllZCBpbiB0aGUgUGFyYW1zIGZpbGUgdW5kZXIgPExJTks+IGFzICdiZWdpbicgYW5kICdlbmQnACNMaW5rIERvd24AIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioAACAgICAgICAgdXRpbGl0aWVzLmFzc2VydF9lcXVhbHMoZXhwZWN0PW1haW4uVFJVRSxhY3R1YWw9cGluZ19yZXN1bHQsb25wYXNzPSJOTyBQQUNLRVQgTE9TUywgSE9TVCBJUyBSRUFDSEFCTEUiLG9uZmFpbD0iUEFDS0VUIExPU1QsIEhPU1QgSVMgTk9UIFJFQUNIQUJMRSIpIAAgICAgICAgIHBpbmdfcmVzdWx0ID0gbWFpbi5NaW5pbmV0MS5waW5nSG9zdChzcmM9bWFpbi5wYXJhbXNbJ1BJTkcnXVsnc291cmNlMSddLHRhcmdldD1tYWluLnBhcmFtc1snUElORyddWyd0YXJnZXQxJ10pACAgICAgICAgbWFpbi5jYXNlKCJUZXN0aW5nIHBpbmcuLi4iKQAgICAgZGVmIENBU0U0KHNlbGYsbWFpbikgOiAgICAjUGluZyBiZXR3ZWVuIG1pbmluZXQgaG9zdHMAACNUaGlzIHdpbGwgZG8gYSBzaW5nbGUgcGluZyBiZXR3ZWVuIHR3byBob3N0cy9zd2l0Y2hlcyBzcGVjaWZpZWQgaW4gdGhlIFBhcmFtcyBmaWxlIHVuZGVyIDxQSU5HPiBhcyAnc291cmNlMScgYW5kICd0YXJnZXQxJwAjU2luZ2xlIFBpbmcAIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioAACAgICAgICAgI2RhdGEgPSBtYWluLk9OT1MxLmdldF9mbG93KCJhbGwiKSAgIAAgICAgICAgICN0aW1lLnNsZWVwKDEwKQAgICAgICAgIHV0aWxpdGllcy5hc3NlcnRfZXF1YWxzKGV4cGVjdD1tYWluLlRSVUUsYWN0dWFsPXN1Y2Nlc3Msb25wYXNzPSJGbG93IGNoZWNrIFBBU1MiLG9uZmFpbD0iRmxvdyBjaGVjayBGQUlMIikAICAgICAgICBtYWluLmxvZy5pbmZvKCJcblx0XHRcdFx0VGltZSB0byBhZGQgZmxvd3M6ICIrc3RyKGVuZFRpbWUtc3RydFRpbWUpKyIgc2Vjb25kcyIpACAgICAgICAgZW5kVGltZSA9IHRpbWUudGltZSgpACAgICAgICAgICAgICAgICBicmVhawAgICAgICAgICAgICAgICAgc3VjY2VzcyA9IG1haW4uVFJVRQAgICAgICAgICAgICBlbHNlOgAgICAgICAgICAgICAgICAgYnJlYWsAICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSBtYWluLkZBTFNFACAgICAgICAgICAgIGVsaWYgcmVzdWx0ID09IG1haW4uRkFMU0UgYW5kIGNvdW50ID09IDY6ACAgICAgICAgICAgICAgICBtYWluLmxvZy5pbmZvKCJGbG93IGZhaWxlZCwgd2FpdGluZyAxMCBzZWNvbmRzIHRoZW4gbWFraW5nIGF0dGVtcHQgbnVtYmVyICIrc3RyKGNvdW50KSkAICAgICAgICAgICAgICAgIGNvdW50ID0gY291bnQgKyAxACAgICAgICAgICAgIGlmIHJlc3VsdD09IG1haW4uRkFMU0UgYW5kIGNvdW50IDwgNjoAICAgICAgICAgICAgcmVzdWx0ID0gbWFpbi5PTk9TMS5jaGVja19mbG93KCkAICAgICAgICAgICAgbWFpbi5zdGVwKCJDaGVja2luZyIpACAgICAgICAgICAgIHRpbWUuc2xlZXAoMTApACAgICAgICAgICAgIG1haW4uc3RlcCgiV2FpdGluZyIpACAgICAgICAgd2hpbGUgcmVzdWx0ID09IG1haW4uRkFMU0U6ACAgICAgICAgbWFpbi5sb2cuaW5mbygiV2FpdCBmb3IgZmxvd3MgdG8gc2V0dGxlLCB0aGVuIGNoZWNrIikAICAgICAgICBjb3VudCA9IDEAICAgICAgICByZXN1bHQgPSBtYWluLkZBTFNFACAgICAgICAgbWFpbi5jYXNlKCJDaGVja2luZyBmbG93cyIpACAgICAgICAgbWFpbi5PTk9TMS5hZGRfZmxvdyhtYWluLnBhcmFtc1snRkxPV0RFRiddKQAgICAgICAgIHN0cnRUaW1lID0gdGltZS50aW1lKCkAICAgICAgICB0aW1lLnNsZWVwKDUpACAgICAgICAgbWFpbi5PTk9TMS5kZWxldGVfZmxvdygiYWxsIikAICAgICAgICBtYWluLnN0ZXAoIkNsZWFuaW5nIG91dCBhbnkgbGVmdG92ZXIgZmxvd3MuLi4iKQAgICAgICAgIG1haW4uY2FzZSgiVGFraW5nIGNhcmUgb2YgdGhlc2UgZmxvd3MhIikgACAgICAgICAgaW1wb3J0IHRpbWUAICAgIGRlZiBDQVNFMyhzZWxmLG1haW4pIDogICAgI0RlbGV0ZSBhbnkgcmVtbmFudCBmbG93cywgdGhlbiBhZGQgZmxvd3MsIGFuZCB0aW1lIGhvdyBsb25nIGl0IHRha2VzIGZsb3cgdGFibGVzIHRvIHVwZGF0ZQAAYWQAAGQFAADgBQAAABAAABgAAAAAAAAAow8AAG8PAAA7DwAA7w4AAMUOAAA5DgAA/Q0AAOANAADKDQAAtA0AADANAADmCwAAwwsAAK0LAAApCwAA3wkAALsJAAClCQAAIQkAANcHAADFBwAArgcAACoHAADgBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgICAgICAgICAgICAgICBtYWluLk1pbmluZXQxLmFzc2lnbl9zd19jb250cm9sbGVyKHN3PSJzIitzdHIoaiksaXAxPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMSddLHBvcnQxPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQxJ10saXAyPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMiddLHBvcnQyPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQyJ10saXAzPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMyddLHBvcnQzPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQzJ10saXA0PW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwNCddLHBvcnQ0PW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQ0J10pACAgICAgICAgICAgICAgICBtYWluLk1pbmluZXQxLmFzc2lnbl9zd19jb250cm9sbGVyKHN3PSJzIitzdHIoaiksaXAxPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwNCddLHBvcnQxPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQ0J10pACAgICAgICAgICAgICAgICBqPWkrMTYAICAgICAgICAgICAgZWxzZToAICAgICAgICAgICAgICAgIG1haW4uTWluaW5ldDEuYXNzaWduX3N3X2NvbnRyb2xsZXIoc3c9InMiK3N0cihqKSxpcDE9bWFpbi5wYXJhbXNbJ0NUUkwnXVsnaXAxJ10scG9ydDE9bWFpbi5wYXJhbXNbJ0NUUkwnXVsncG9ydDEnXSxpcDI9bWFpbi5wYXJhbXNbJ0NUUkwnXVsnaXAyJ10scG9ydDI9bWFpbi5wYXJhbXNbJ0NUUkwnXVsncG9ydDInXSxpcDM9bWFpbi5wYXJhbXNbJ0NUUkwnXVsnaXAzJ10scG9ydDM9bWFpbi5wYXJhbXNbJ0NUUkwnXVsncG9ydDMnXSxpcDQ9bWFpbi5wYXJhbXNbJ0NUUkwnXVsnaXA0J10scG9ydDQ9bWFpbi5wYXJhbXNbJ0NUUkwnXVsncG9ydDQnXSkAICAgICAgICAgICAgICAgIG1haW4uTWluaW5ldDEuYXNzaWduX3N3X2NvbnRyb2xsZXIoc3c9InMiK3N0cihqKSxpcDE9bWFpbi5wYXJhbXNbJ0NUUkwnXVsnaXAzJ10scG9ydDE9bWFpbi5wYXJhbXNbJ0NUUkwnXVsncG9ydDMnXSkAICAgICAgICAgICAgICAgIGo9aSsxACAgICAgICAgICAgIGVsaWYgaSA+PSA1IGFuZCBpIDwgMTU6ACAgICAgICAgICAgICAgICBtYWluLk1pbmluZXQxLmFzc2lnbl9zd19jb250cm9sbGVyKHN3PSJzIitzdHIoaiksaXAxPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMSddLHBvcnQxPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQxJ10saXAyPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMiddLHBvcnQyPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQyJ10saXAzPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMyddLHBvcnQzPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQzJ10saXA0PW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwNCddLHBvcnQ0PW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQ0J10pACAgICAgICAgICAgICAgICBtYWluLk1pbmluZXQxLmFzc2lnbl9zd19jb250cm9sbGVyKHN3PSJzIitzdHIoaiksaXAxPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMiddLHBvcnQxPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQyJ10pACAgICAgICAgICAgICAgICBqPWkrMQAgICAgICAgICAgICBlbGlmIGkgPj0gMyBhbmQgaSA8IDU6ACAgICAgICAgICAgICAgICBtYWluLk1pbmluZXQxLmFzc2lnbl9zd19jb250cm9sbGVyKHN3PSJzIitzdHIoaiksaXAxPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMSddLHBvcnQxPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQxJ10saXAyPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMiddLHBvcnQyPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQyJ10saXAzPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMyddLHBvcnQzPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQzJ10saXA0PW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwNCddLHBvcnQ0PW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQ0J10pACAgICAgICAgICAgICAgICBtYWluLk1pbmluZXQxLmFzc2lnbl9zd19jb250cm9sbGVyKHN3PSJzIitzdHIoaiksaXAxPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMSddLHBvcnQxPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQxJ10pACAgICAgICAgICAgICAgICBqPWkrMQAgICAgICAgICAgICBpZiBpIDwgMzoAICAgICAgICBmb3IgaSBpbiByYW5nZSgyNSk6IAAgICAgICAgIG1haW4uc3RlcCgiYXNzaWduaW5nIE9OT1MgY29udHJvbGxlcnMgdG8gc3dpdGNo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Wydwb3J0MiddLGlwMz1tYWluLnBhcmFtc1snQ1RSTCddWydpcDMnXSxwb3J0Mz1tYWluLnBhcmFtc1snQ1RSTCddWydwb3J0MyddLGlwND1tYWluLnBhcmFtc1snQ1RSTCddWydpcDQnXSxwb3J0ND1tYWluLnBhcmFtc1snQ1RSTCddWydwb3J0NCddKQAgICAgICAgICAgICAgICAgaj1pKzE2ACAgICAgICAgICAgIGVsc2U6ACAgICAgICAgICAgICAgICBtYWluLk1pbmluZXQxLmFzc2lnbl9zd19jb250cm9sbGVyKHN3PSJzIitzdHIoaiksaXAxPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMSddLHBvcnQxPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQxJ10saXAyPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMiddLHBvcnQyPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQyJ10saXAzPW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwMyddLHBvcnQzPW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQzJ10saXA0PW1haW4ucGFyYW1zWydDVFJMJ11bJ2lwNCddLHBvcnQ0PW1haW4ucGFyYW1zWydDVFJMJ11bJ3BvcnQ0J10pACAgICAgICAgICAgICAgICBqPWkrMQAgICAgICAgICAgICBpZiBpIDwgMTU6ACAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMjUpOgAgICAgICAgIGltcG9ydCB0aW1lACAgICAgICAgbWFpbi5jYXNlKCJSZXN0b3JlIE9OT1MgMiwzLDQgdGhlbiBQaW5nIikAICAgIGRlZiBDQVNFOShzZWxmLG1haW4pIDoAACNUaGlzIHRlc3QgY2FzZSByZXN0b3JlcyB0aGUgY29udHJvbGxlcnMgcmVtb3ZlZCBieSBDYXNlIDggdGhlbiBwZXJmb3JtcyBhIHBpbmcgdGVzdChhcyBzZWVuIGluIENhc2UgNykuACMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgAAICAgICAgICB1dGlsaXRpZXMuYXNzZXJ0X2VxdWFscyhleHBlY3Q9bWFpbi5UUlVFLGFjdHVhbD1yZXN1bHQsb25wYXNzPSJOTyBQQUNLRVQgTE9TUywgSE9TVCBJUyBSRUFDSEFCTEUiLG9uZmFpbD0iUEFDS0VUIExPU1QsIEhPU1QgSVMgTk9UIFJFQUNIQUJMRSIpACAgICAgICAgbWFpbi5sb2cuaW5mbygiXG5cdFx0XHRcdFRpbWUgdG8gY29tcGxldGUgcGluZyB0ZXN0OiAiK3N0cihlbmRUaW1lLXN0cnRUaW1lKSsiIHNlY29uZHMiKQAgICAgICAgIGVuZFRpbWUgPSB0aW1lLnRpbWUoKSAAICAgICAgICAgICAgICAgIHJlc3VsdCA9IG1haW4uVFJVRQAgICAgICAgICAgICAgICAgaSA9IGkgKyAxACAgICAgICAgICAgIGVsaWYgcGluZyA9PSBtYWluLlRSVUU6ACAgICAgICAgICAgICAgICByZXN1bHQgPSBtYWluLkZBTFNFACAgICAgICAgICAgICAgICBpID0gMTcAICAgICAgICAgICAgICAgIG1haW4ubG9nLmVycm9yKCJQaW5nIHRlc3QgZmFpbGVkIikAICAgICAgICAgICAgZWxpZiBwaW5nID09IG1haW4uRkFMU0UgYW5kIGNvdW50ID09NjoAICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoMTApACAgICAgICAgICAgICAgICBtYWluLmxvZy5pbmZvKCJQaW5nIGZhaWxlZCwgbWFraW5nIGF0dGVtcHQgbnVtYmVyICIrc3RyKGNvdW50KSsiIGluIDEwIHNlY29uZHMiKQAgICAgICAgICAgICAgICAgaSA9IDYAICAgICAgICAgICAgICAgIGNvdW50ID0gY291bnQgKyAxACAgICAgICAgICAgIGlmIHBpbmcgPT0gbWFpbi5GQUxTRSBhbmQgY291bnQgPCA2OgAgICAgICAgICAgICBwaW5nID0gbWFpbi5NaW5pbmV0MS5waW5nSG9zdChzcmM9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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgICAgICAgICAgICAAICAgICAgICAgICAgIFN0b3AgY2FzZQAgICAgICAgIGZvciBpIGluIHRlc3Q6ACAgICBkZWYgQ0FTRTEyKHNlbGYsbWFpbik6AAAgICAgICAgIHV0aWxpdGllcy5hc3NlcnRfZXF1YWxzKGV4cGVjdD1tYWluLlRSVUUsYWN0dWFsPXJlc3VsdCxvbnBhc3M9Ik5PIFBBQ0tFVCBMT1NTLCBIT1NUIElTIFJFQUNIQUJMRSIsb25mYWlsPSJQQUNLRVQgTE9TVCwgSE9TVCBJUyBOT1QgUkVBQ0hBQkxFIikAICAgICAgICBtYWluLmxvZy5pbmZvKCJcblx0XHRcdFx0VGltZSB0byBjb21wbGV0ZSBwaW5nIHRlc3Q6ICIrc3RyKGVuZFRpbWUtc3RydFRpbWUpKyIgc2Vjb25kcyIpACAgICAgICAgZW5kVGltZSA9IHRpbWUudGltZSgpACAgICAgICAgICAgICAgICByZXN1bHQgPSBtYWluLlRSVUUAICAgICAgICAgICAgICAgIGkgPSBpICsgMQAgICAgICAgICAgICBlbGlmIHBpbmcgPT0gbWFpbi5UUlVFOgAgICAgICAgICAgICAgICAgcmVzdWx0ID0gbWFpbi5UUlVFACAgICAgICAgICAgICAgICBpID0gMTcAICAgICAgICAgICAgICAgIG1haW4ubG9nLmVycm9yKCJQaW5nIHRlc3QgZmFpbGVkIikAICAgICAgICAgICAgZWxpZiBwaW5nID09IG1haW4uRkFMU0UgYW5kIGNvdW50ID09NjoAICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoMTApACAgICAgICAgICAgICAgICBpID0gNgAgICAgICAgICAgICAgICAgbWFpbi5sb2cuaW5mbygiUGluZyBmYWlsZWQsIG1ha2luZyBhdHRlbXB0IG51bWJlciAiK3N0cihjb3VudCkrIiBpbiAxMCBzZWNvbmRzIikA