Distribution Smart Contract

{"id":"ssc-mainnet-hive","json":{"contractName":"contract","contractAction":"update","contractPayload":{"name":"distribution","params":"","code":"Y29uc3QgRGlzdFN0cmF0ZWd5PVsiZml4ZWQiLCJwb29sIl07YXN5bmMgZnVuY3Rpb24gdmFsaWRhdGVNaW5QYXlvdXQodG9rZW5NaW5QYXlvdXQpe2lmKCFhcGkuYXNzZXJ0KHRva2VuTWluUGF5b3V0JiZBcnJheS5pc0FycmF5KHRva2VuTWluUGF5b3V0KSwidG9rZW5NaW5QYXlvdXQgbXVzdCBiZSBhbiBhcnJheSIpKXJldHVybiExO2lmKCFhcGkuYXNzZXJ0KHRva2VuTWluUGF5b3V0Lmxlbmd0aD49MSwic3BlY2lmeSBhdCBsZWFzdCBvbmUgbWluaW11bSBwYXlvdXQgY29uZmlndXJhdGlvbiIpKXJldHVybiExO2NvbnN0IHRva2VuTWluUGF5b3V0U3ltYm9scz1uZXcgU2V0O2ZvcihsZXQgaT0wO2k8dG9rZW5NaW5QYXlvdXQubGVuZ3RoO2krPTEpe2NvbnN0IHRva2VuTWluUGF5b3V0Q29uZmlnPXRva2VuTWluUGF5b3V0W2ldO2lmKCFhcGkuYXNzZXJ0KHRva2VuTWluUGF5b3V0Q29uZmlnJiZ0b2tlbk1pblBheW91dENvbmZpZy5zeW1ib2wmJiJzdHJpbmciPT10eXBlb2YgdG9rZW5NaW5QYXlvdXRDb25maWcuc3ltYm9sLCJ0b2tlbk1pblBheW91dCBpbnZhbGlkIikpcmV0dXJuITE7aWYoIWFwaS5hc3NlcnQoIXRva2VuTWluUGF5b3V0U3ltYm9scy5oYXModG9rZW5NaW5QYXlvdXRDb25maWcuc3ltYm9sKSwidG9rZW5NaW5QYXlvdXQgY2Fubm90IGhhdmUgZHVwbGljYXRlIHN5bWJvbHMiKSlyZXR1cm4hMTtpZih0b2tlbk1pblBheW91dFN5bWJvbHMuYWRkKHRva2VuTWluUGF5b3V0Q29uZmlnLnN5bWJvbCksIWFwaS5hc3NlcnQodG9rZW5NaW5QYXlvdXRDb25maWcucXVhbnRpdHkmJmFwaS5CaWdOdW1iZXIodG9rZW5NaW5QYXlvdXRDb25maWcucXVhbnRpdHkpLmRwKCk8PTMmJmFwaS5CaWdOdW1iZXIodG9rZW5NaW5QYXlvdXRDb25maWcucXVhbnRpdHkpLmd0ZSgwKSwiaW52YWxpZCBxdWFudGl0eSIpKXJldHVybiExfXJldHVybiEwfWFzeW5jIGZ1bmN0aW9uIHZhbGlkYXRlUmVjaXBpZW50cyhwYXJhbXMsdG9rZW5SZWNpcGllbnRzKXtpZighYXBpLmFzc2VydCh0b2tlblJlY2lwaWVudHMmJkFycmF5LmlzQXJyYXkodG9rZW5SZWNpcGllbnRzKSwidG9rZW5SZWNpcGllbnRzIG11c3QgYmUgYW4gYXJyYXkiKSlyZXR1cm4hMTtpZighYXBpLmFzc2VydCh0b2tlblJlY2lwaWVudHMubGVuZ3RoPj0xJiZ0b2tlblJlY2lwaWVudHMubGVuZ3RoPD1wYXJhbXMubWF4VHJhbnNmZXJMaW1pdCxgMS0ke3BhcmFtcy5tYXhUcmFuc2ZlckxpbWl0fSB0b2tlblJlY2lwaWVudHMgYXJlIHN1cHBvcnRlZGApKXJldHVybiExO2NvbnN0IHRva2VuUmVjaXBpZW50c0FjY291bnRzPW5ldyBTZXQ7bGV0IHRva2VuUmVjaXBpZW50c1RvdGFsU2hhcmU9MDtmb3IobGV0IGk9MDtpPHRva2VuUmVjaXBpZW50cy5sZW5ndGg7aSs9MSl7Y29uc3QgdG9rZW5SZWNpcGllbnRzQ29uZmlnPXRva2VuUmVjaXBpZW50c1tpXTtpZighYXBpLmFzc2VydCh0b2tlblJlY2lwaWVudHNDb25maWcmJnRva2VuUmVjaXBpZW50c0NvbmZpZy5hY2NvdW50JiYic3RyaW5nIj09dHlwZW9mIHRva2VuUmVjaXBpZW50c0NvbmZpZy5hY2NvdW50LCJ0b2tlblJlY2lwaWVudHMgaW52YWxpZCIpJiYhYXBpLmFzc2VydCh0b2tlblJlY2lwaWVudHNDb25maWcuYWNjb3VudC5sZW5ndGg+PTMmJnRva2VuUmVjaXBpZW50c0NvbmZpZy5hY2NvdW50Lmxlbmd0aDw9MTYsImludmFsaWQgYWNjb3VudCIpKXJldHVybiExO2lmKCFhcGkuYXNzZXJ0KCF0b2tlblJlY2lwaWVudHNBY2NvdW50cy5oYXModG9rZW5SZWNpcGllbnRzQ29uZmlnLmFjY291bnQpLCJ0b2tlblJlY2lwaWVudHMgY2Fubm90IGhhdmUgZHVwbGljYXRlIGFjY291bnRzIikpcmV0dXJuITE7aWYodG9rZW5SZWNpcGllbnRzQWNjb3VudHMuYWRkKHRva2VuUmVjaXBpZW50c0NvbmZpZy5hY2NvdW50KSwhYXBpLmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKHRva2VuUmVjaXBpZW50c0NvbmZpZy5wY3QpJiZ0b2tlblJlY2lwaWVudHNDb25maWcucGN0Pj0xJiZ0b2tlblJlY2lwaWVudHNDb25maWcucGN0PD0xMDAsInRva2VuUmVjaXBpZW50cyBwY3QgbXVzdCBiZSBhbiBpbnRlZ2VyIGZyb20gMSB0byAxMDAiKSlyZXR1cm4hMTtpZih0b2tlblJlY2lwaWVudHNUb3RhbFNoYXJlKz10b2tlblJlY2lwaWVudHNDb25maWcucGN0LCFhcGkuYXNzZXJ0KFsidXNlciIsImNvbnRyYWN0Il0uaW5jbHVkZXModG9rZW5SZWNpcGllbnRzQ29uZmlnLnR5cGUpLCJ0b2tlblJlY2lwaWVudHMgdHlwZSBtdXN0IGJlIHVzZXIgb3IgY29udHJhY3QiKSlyZXR1cm4hMX1yZXR1cm4hIWFwaS5hc3NlcnQoMTAwPT09dG9rZW5SZWNpcGllbnRzVG90YWxTaGFyZSwidG9rZW5SZWNpcGllbnRzIHBjdCBtdXN0IHRvdGFsIDEwMCIpfWZ1bmN0aW9uIHZhbGlkYXRlSW5jb21pbmdUb2tlbihkaXN0LHN5bWJvbCl7Zm9yKGxldCBpPTA7aTxkaXN0LnRva2VuTWluUGF5b3V0Lmxlbmd0aDtpKz0xKWlmKGRpc3QudG9rZW5NaW5QYXlvdXRbaV0uc3ltYm9sPT09c3ltYm9sKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIHZhbGlkYXRlQm9udXNDdXJ2ZShvYmope2lmKCFhcGkuYXNzZXJ0KCJvYmplY3QiPT10eXBlb2Ygb2JqJiYiT2JqZWN0Ij09PW9iai5jb25zdHJ1Y3Rvci5uYW1lLCJpbnZhbGlkIGJvbnVzQ3VydmUgc2V0dGluZ3MiKSlyZXR1cm4hMTtpZigicGVyaW9kQm9udXNQY3QiaW4gb2JqfHwibnVtUGVyaW9kcyJpbiBvYmope2lmKCFhcGkuYXNzZXJ0KCJzdHJpbmciPT10eXBlb2Ygb2JqLnBlcmlvZEJvbnVzUGN0JiZhcGkuQmlnTnVtYmVyKG9iai5wZXJpb2RCb251c1BjdCkuaXNJbnRlZ2VyKCkmJmFwaS5CaWdOdW1iZXIob2JqLnBlcmlvZEJvbnVzUGN0KS5ndCgwKSYmYXBpLkJpZ051bWJlcihvYmoucGVyaW9kQm9udXNQY3QpLmx0KDEwMCkmJiJzdHJpbmciPT10eXBlb2Ygb2JqLm51bVBlcmlvZHMmJmFwaS5CaWdOdW1iZXIob2JqLm51bVBlcmlvZHMpLmlzSW50ZWdlcigpJiZhcGkuQmlnTnVtYmVyKG9iai5udW1QZXJpb2RzKS5ndCgwKSYmYXBpLkJpZ051bWJlcihvYmoubnVtUGVyaW9kcykubHQoNTU1NSksImludmFsaWQgYm9udXNDdXJ2ZSBzZXR0aW5ncyIpKXJldHVybiExfWVsc2UgaWYoIWFwaS5hc3NlcnQoMD09PU9iamVjdC5rZXlzKG9iaikubGVuZ3RoLCJpbnZhbGlkIGJvbnVzQ3VydmUgc2V0dGluZ3MiKSlyZXR1cm4hMTtyZXR1cm4hMH1hc3luYyBmdW5jdGlvbiB2YWxpZGF0ZVBvb2wodG9rZW5QYWlyKXtyZXR1cm4gbnVsbCE9PWF3YWl0IGFwaS5kYi5maW5kT25lSW5UYWJsZSgibWFya2V0cG9vbHMiLCJwb29scyIse3Rva2VuUGFpcjp0b2tlblBhaXJ9KX1hc3luYyBmdW5jdGlvbiBnZXRFZmZlY3RpdmVTaGFyZXMocGFyYW1zLGRpc3QsbHApe2NvbnN0IGJsb2NrRGF0ZT1uZXcgRGF0ZShhcGkuaGl2ZUJsb2NrVGltZXN0YW1wKyIuMDAwWiIpLHRpbWVEaWZmPWFwaS5CaWdOdW1iZXIoYmxvY2tEYXRlLmdldFRpbWUoKSkubWludXMobHAudGltZUZhY3Rvcik7aWYodGltZURpZmYubHRlKDM2MDAqcGFyYW1zLmRpc3RUaWNrSG91cnMqMWUzKSlyZXR1cm4gbHAuc2hhcmVzO2xldCBtdWx0aXBsaWVyPWFwaS5CaWdOdW1iZXIoIjEiKTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGRpc3QuYm9udXNDdXJ2ZS5udW1QZXJpb2RzJiYobXVsdGlwbGllcj10aW1lRGlmZi5sdChwYXJhbXMuZGlzdFRpY2tIb3VycypkaXN0LmJvbnVzQ3VydmUubnVtUGVyaW9kcyozNjAwKjFlMyk/YXBpLkJpZ051bWJlcihkaXN0LmJvbnVzQ3VydmUucGVyaW9kQm9udXNQY3QpLmRpdmlkZWRCeSgiMTAwIikudGltZXModGltZURpZmYuZGl2aWRlZEJ5KDM2MDAqcGFyYW1zLmRpc3RUaWNrSG91cnMqMWUzKS5kcCgwLGFwaS5CaWdOdW1iZXIuUk9VTkRfRE9XTikpLnBsdXMobXVsdGlwbGllcik6YXBpLkJpZ051bWJlcihkaXN0LmJvbnVzQ3VydmUucGVyaW9kQm9udXNQY3QpLmRpdmlkZWRCeSgiMTAwIikudGltZXMoZGlzdC5ib251c0N1cnZlLm51bVBlcmlvZHMpLnBsdXMobXVsdGlwbGllcikpLGFwaS5CaWdOdW1iZXIobHAuc2hhcmVzKS50aW1lcyhtdWx0aXBsaWVyKX1hc3luYyBmdW5jdGlvbiBnZXRQb29sUmVjaXBpZW50cyhwYXJhbXMsZGlzdCl7Y29uc3QgYmxvY2tEYXRlPW5ldyBEYXRlKGFwaS5oaXZlQmxvY2tUaW1lc3RhbXArIi4wMDBaIiksbWluSG9sZFRpbWU9YXBpLkJpZ051bWJlcihibG9ja0RhdGUuZ2V0VGltZSgpKS5taW51cygzNjAwKnBhcmFtcy5kaXN0VGlja0hvdXJzKjFlMykudG9OdW1iZXIoKSxyZXN1bHQ9W107bGV0IG9mZnNldD0wLHByb2Nlc3NRdWVyeT1bXTtjb25zdCBwb29sPWF3YWl0IGFwaS5kYi5maW5kT25lSW5UYWJsZSgibWFya2V0cG9vbHMiLCJwb29scyIse3Rva2VuUGFpcjpkaXN0LnRva2VuUGFpcn0pO2lmKCFwb29sfHxwb29sLnRvdGFsU2hhcmVzPD0wKXJldHVybiByZXN1bHQ7Zm9yKDtudWxsIT09cHJvY2Vzc1F1ZXJ5JiZwcm9jZXNzUXVlcnkubGVuZ3RoPT09cGFyYW1zLnByb2Nlc3NRdWVyeUxpbWl0fHwwPT09b2Zmc2V0Oyl7cHJvY2Vzc1F1ZXJ5PWF3YWl0IGFwaS5kYi5maW5kSW5UYWJsZSgibWFya2V0cG9vbHMiLCJsaXF1aWRpdHlQb3NpdGlvbnMiLHt0b2tlblBhaXI6ZGlzdC50b2tlblBhaXIsYWNjb3VudDp7JG5pbjpkaXN0LmV4Y2x1ZGVBY2NvdW50fSx0aW1lRmFjdG9yOnskbHRlOm1pbkhvbGRUaW1lfX0scGFyYW1zLnByb2Nlc3NRdWVyeUxpbWl0LG9mZnNldCxbe2luZGV4OiJfaWQiLGRlc2NlbmRpbmc6ITF9XSk7Zm9yKGxldCBpPTA7aTxwcm9jZXNzUXVlcnkubGVuZ3RoO2krPTEpe2NvbnN0IGxwPXByb2Nlc3NRdWVyeVtpXTtscC5lZmZTaGFyZXM9YXdhaXQgZ2V0RWZmZWN0aXZlU2hhcmVzKHBhcmFtcyxkaXN0LGxwKSxyZXN1bHQucHVzaChscCl9b2Zmc2V0Kz1wYXJhbXMucHJvY2Vzc1F1ZXJ5TGltaXR9cmV0dXJuIHJlc3VsdH1hc3luYyBmdW5jdGlvbiBwYXlSZWNpcGllbnQoYWNjb3VudCxzeW1ib2wscXVhbnRpdHksdHlwZT0idXNlciIpe2lmKGFwaS5CaWdOdW1iZXIocXVhbnRpdHkpLmd0KDApKXtjb25zdCByZXM9YXdhaXQgYXBpLnRyYW5zZmVyVG9rZW5zKGFjY291bnQsc3ltYm9sLHF1YW50aXR5LHR5cGUpO3JldHVybiFyZXMuZXJyb3JzfHwoYXBpLmRlYnVnKGBFcnJvciBwYXlpbmcgb3V0IGRpc3RyaWJ1dGlvbiBvZiAke3F1YW50aXR5fSAke3N5bWJvbH0gdG8gJHthY2NvdW50fSAoVFhJRCAke2FwaS50cmFuc2FjdGlvbklkfSk6IFxuJHtyZXMuZXJyb3JzfWApLCExKX1yZXR1cm4hMX1hc3luYyBmdW5jdGlvbiBydW5EaXN0cmlidXRpb24oZGlzdCxwYXJhbXMsZmx1c2g9ITEpe2NvbnN0IGJsb2NrRGF0ZT1uZXcgRGF0ZShhcGkuaGl2ZUJsb2NrVGltZXN0YW1wKyIuMDAwWiIpLHVwRGlzdD1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRpc3QpKSxwYXlUb2tlbnM9ZGlzdC50b2tlbkJhbGFuY2VzLmZpbHRlcihkPT5hcGkuQmlnTnVtYmVyKGQucXVhbnRpdHkpLmd0KDApKTtpZigwIT09cGF5VG9rZW5zLmxlbmd0aCl7aWYoImZpeGVkIj09PWRpc3Quc3RyYXRlZ3kpe2NvbnN0e3Rva2VuUmVjaXBpZW50czp0b2tlblJlY2lwaWVudHN9PWRpc3Q7Zm9yKDt0b2tlblJlY2lwaWVudHMubGVuZ3RoPjA7KXtjb25zdCB0cj10b2tlblJlY2lwaWVudHMuc2hpZnQoKTtmb3IobGV0IGk9MDtpPHBheVRva2Vucy5sZW5ndGg7aSs9MSl7Y29uc3QgcGF5VG9rZW49YXdhaXQgYXBpLmRiLmZpbmRPbmVJblRhYmxlKCJ0b2tlbnMiLCJ0b2tlbnMiLHtzeW1ib2w6cGF5VG9rZW5zW2ldLnN5bWJvbH0pLG1pblBheW91dD1kaXN0LnRva2VuTWluUGF5b3V0LmZpbmQocD0+cC5zeW1ib2w9PT1wYXlUb2tlbnNbaV0uc3ltYm9sKTtpZihhcGkuQmlnTnVtYmVyKHBheVRva2Vuc1tpXS5xdWFudGl0eSkuZ3QobWluUGF5b3V0LnF1YW50aXR5KXx8Zmx1c2gpe2NvbnN0IHBheW91dFNoYXJlPWFwaS5CaWdOdW1iZXIocGF5VG9rZW5zW2ldLnF1YW50aXR5KS5tdWx0aXBsaWVkQnkodHIucGN0KS5kaXZpZGVkQnkoMTAwKS5kaXZpZGVkQnkoZGlzdC5udW1UaWNrc0xlZnQpLnRvRml4ZWQocGF5VG9rZW4ucHJlY2lzaW9uLGFwaS5CaWdOdW1iZXIuUk9VTkRfRE9XTik7aWYoYXBpLkJpZ051bWJlcihwYXlvdXRTaGFyZSkubHRlKDApKXJldHVybjtpZihhd2FpdCBwYXlSZWNpcGllbnQodHIuYWNjb3VudCxwYXlUb2tlbnNbaV0uc3ltYm9sLHBheW91dFNoYXJlLHRyLnR5cGUpKXtjb25zdCB0YkluZGV4PXVwRGlzdC50b2tlbkJhbGFuY2VzLmZpbmRJbmRleChiPT5iLnN5bWJvbD09PXBheVRva2Vuc1tpXS5zeW1ib2wpO3VwRGlzdC50b2tlbkJhbGFuY2VzW3RiSW5kZXhdLnF1YW50aXR5PWFwaS5CaWdOdW1iZXIodXBEaXN0LnRva2VuQmFsYW5jZXNbdGJJbmRleF0ucXVhbnRpdHkpLm1pbnVzKHBheW91dFNoYXJlKS50b0ZpeGVkKHBheVRva2VuLnByZWNpc2lvbixhcGkuQmlnTnVtYmVyLlJPVU5EX0RPV04pLGFwaS5lbWl0KCJwYXltZW50Iix7ZGlzdElkOmRpc3QuX2lkLHRva2VuUGFpcjpkaXN0LnRva2VuUGFpcixzeW1ib2w6cGF5VG9rZW5zW2ldLnN5bWJvbCxhY2NvdW50OnRyLmFjY291bnQscXVhbnRpdHk6cGF5b3V0U2hhcmV9KX19fX19ZWxzZSBpZigicG9vbCI9PT1kaXN0LnN0cmF0ZWd5KXtjb25zdCB0b2tlblJlY2lwaWVudHM9YXdhaXQgZ2V0UG9vbFJlY2lwaWVudHMocGFyYW1zLGRpc3QpLHNoYXJlVG90YWw9dG9rZW5SZWNpcGllbnRzLnJlZHVjZSgoYWNjLGN1cik9PmFjYy5wbHVzKGN1ci5lZmZTaGFyZXMpLGFwaS5CaWdOdW1iZXIoMCkpO2lmKCFhcGkuYXNzZXJ0KHNoYXJlVG90YWwuZ3QoMCksIm5vIGxpcXVpZGl0eSBzaGFyZXMgZm9yIHRoaXMgdG9rZW5QYWlyIikpcmV0dXJuO2xldCBwYXlUeENvdW50PTA7Y29uc3Qgc3RvcmVQZW5kaW5nPVtdO2Zvcig7dG9rZW5SZWNpcGllbnRzLmxlbmd0aD4wOyl7Y29uc3QgdHI9dG9rZW5SZWNpcGllbnRzLnNoaWZ0KCkscGF5b3V0U2hhcmU9YXBpLkJpZ051bWJlcih0ci5lZmZTaGFyZXMpLmRpdmlkZWRCeShzaGFyZVRvdGFsKTtmb3IobGV0IGk9MDtpPHBheVRva2Vucy5sZW5ndGg7aSs9MSl7Y29uc3QgcGF5VG9rZW49YXdhaXQgYXBpLmRiLmZpbmRPbmVJblRhYmxlKCJ0b2tlbnMiLCJ0b2tlbnMiLHtzeW1ib2w6cGF5VG9rZW5zW2ldLnN5bWJvbH0pLHBheW91dFF0eT1hcGkuQmlnTnVtYmVyKHBheVRva2Vuc1tpXS5xdWFudGl0eSkubXVsdGlwbGllZEJ5KHBheW91dFNoYXJlKS5kaXZpZGVkQnkoZGlzdC5udW1UaWNrc0xlZnQpLnRvRml4ZWQocGF5VG9rZW4ucHJlY2lzaW9uLGFwaS5CaWdOdW1iZXIuUk9VTkRfRE9XTik7aWYoYXBpLkJpZ051bWJlcihwYXlvdXRRdHkpLmx0ZSgwKSlyZXR1cm47bGV0IHBheVJlc3VsdD0hMDtpZihwYXlUeENvdW50PHBhcmFtcy5tYXhUcmFuc2ZlckxpbWl0P3BheVJlc3VsdD1hd2FpdCBwYXlSZWNpcGllbnQodHIuYWNjb3VudCxwYXlUb2tlbnNbaV0uc3ltYm9sLHBheW91dFF0eSk6c3RvcmVQZW5kaW5nLnB1c2goe2Rpc3RJZDpkaXN0Ll9pZCxhY2NvdW50OnRyLmFjY291bnQsc3ltYm9sOnBheVRva2Vuc1tpXS5zeW1ib2wscXVhbnRpdHk6cGF5b3V0UXR5fSkscGF5UmVzdWx0KXtjb25zdCB0YkluZGV4PXVwRGlzdC50b2tlbkJhbGFuY2VzLmZpbmRJbmRleChiPT5iLnN5bWJvbD09PXBheVRva2Vuc1tpXS5zeW1ib2wpO3VwRGlzdC50b2tlbkJhbGFuY2VzW3RiSW5kZXhdLnF1YW50aXR5PWFwaS5CaWdOdW1iZXIodXBEaXN0LnRva2VuQmFsYW5jZXNbdGJJbmRleF0ucXVhbnRpdHkpLm1pbnVzKHBheW91dFF0eSkudG9GaXhlZChwYXlUb2tlbi5wcmVjaXNpb24sYXBpLkJpZ051bWJlci5ST1VORF9ET1dOKSxhcGkuZW1pdCgicGF5bWVudCIse2Rpc3RJZDpkaXN0Ll9pZCx0b2tlblBhaXI6ZGlzdC50b2tlblBhaXIsc3ltYm9sOnBheVRva2Vuc1tpXS5zeW1ib2wsYWNjb3VudDp0ci5hY2NvdW50LHF1YW50aXR5OnBheW91dFF0eX0pfXBheVR4Q291bnQrPTF9fXN0b3JlUGVuZGluZy5sZW5ndGg+MCYmYXdhaXQgYXBpLmRiLmluc2VydCgicGVuZGluZ1BheW1lbnRzIix7ZHVlVGltZTpibG9ja0RhdGUuZ2V0VGltZSgpLGFjY291bnRzOnN0b3JlUGVuZGluZ30pfXVwRGlzdC5udW1UaWNrc0xlZnQtPTEsdXBEaXN0Lmxhc3RUaWNrVGltZT1ibG9ja0RhdGUuZ2V0VGltZSgpLGF3YWl0IGFwaS5kYi51cGRhdGUoImJhdGNoZXMiLHVwRGlzdCl9fWFzeW5jIGZ1bmN0aW9uIHJ1blBlbmRpbmdQYXkocGVuZGluZ1BheSxwYXJhbXMpe2ZvcihsZXQgaT1NYXRoLm1pbihwYXJhbXMubWF4VHJhbnNmZXJMaW1pdCxwZW5kaW5nUGF5LmFjY291bnRzLmxlbmd0aCktMTtpPj0wO2ktPTEpe2NvbnN0IHA9cGVuZGluZ1BheS5hY2NvdW50c1tpXTthd2FpdCBwYXlSZWNpcGllbnQocC5hY2NvdW50LHAuc3ltYm9sLHAucXVhbnRpdHkpJiYocGVuZGluZ1BheS5hY2NvdW50cy5zcGxpY2UoaSwxKSxhcGkuZW1pdCgicGF5bWVudCIse3A6cCxwZW5kaW5nOiEwfSkpfTA9PT1wZW5kaW5nUGF5LmFjY291bnRzLmxlbmd0aD9hcGkuZGIucmVtb3ZlKCJwZW5kaW5nUGF5bWVudHMiLHBlbmRpbmdQYXkpOmFwaS5kYi51cGRhdGUoInBlbmRpbmdQYXltZW50cyIscGVuZGluZ1BheSl9YWN0aW9ucy5jcmVhdGVTU0M9YXN5bmMoKT0+e2lmKCExPT09YXdhaXQgYXBpLmRiLnRhYmxlRXhpc3RzKCJiYXRjaGVzIikpe2F3YWl0IGFwaS5kYi5jcmVhdGVUYWJsZSgiYmF0Y2hlcyIpLGF3YWl0IGFwaS5kYi5jcmVhdGVUYWJsZSgicGFyYW1zIik7Y29uc3QgcGFyYW1zPXtkaXN0Q3JlYXRpb25GZWU6IjUwMCIsZGlzdFVwZGF0ZUZlZToiMjUwIn07YXdhaXQgYXBpLmRiLmluc2VydCgicGFyYW1zIixwYXJhbXMpfWVsc2V7Y29uc3QgcGFyYW1zPWF3YWl0IGFwaS5kYi5maW5kT25lKCJwYXJhbXMiLHt9KTtwYXJhbXMudXBkYXRlSW5kZXh8fChhd2FpdCBhcGkuZGIuYWRkSW5kZXhlcygiYmF0Y2hlcyIsW3tuYW1lOiJsYXN0VGlja1RpbWUiLGluZGV4OntsYXN0VGlja1RpbWU6MX19XSksYXdhaXQgYXBpLmRiLmNyZWF0ZVRhYmxlKCJwZW5kaW5nUGF5bWVudHMiLFsiZHVlVGltZSJdKSxwYXJhbXMuZGlzdFRpY2tIb3Vycz0iMjQiLHBhcmFtcy5tYXhEaXN0cmlidXRpb25zTGltaXQ9MSxwYXJhbXMubWF4VHJhbnNmZXJMaW1pdD01MCxwYXJhbXMucHJvY2Vzc1F1ZXJ5TGltaXQ9MWUzLHBhcmFtcy51cGRhdGVJbmRleD0xLGF3YWl0IGFwaS5kYi51cGRhdGUoInBhcmFtcyIscGFyYW1zKSl9fSxhY3Rpb25zLnVwZGF0ZVBhcmFtcz1hc3luYyBwYXlsb2FkPT57aWYoYXBpLnNlbmRlciE9PWFwaS5vd25lcilyZXR1cm47Y29uc3R7ZGlzdENyZWF0aW9uRmVlOmRpc3RDcmVhdGlvbkZlZSxkaXN0VXBkYXRlRmVlOmRpc3RVcGRhdGVGZWUsZGlzdFRpY2tIb3VyczpkaXN0VGlja0hvdXJzLG1heERpc3RyaWJ1dGlvbnNMaW1pdDptYXhEaXN0cmlidXRpb25zTGltaXQsbWF4VHJhbnNmZXJMaW1pdDptYXhUcmFuc2ZlckxpbWl0LHByb2Nlc3NRdWVyeUxpbWl0OnByb2Nlc3NRdWVyeUxpbWl0fT1wYXlsb2FkLHBhcmFtcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgicGFyYW1zIix7fSk7aWYoZGlzdENyZWF0aW9uRmVlKXtpZighYXBpLmFzc2VydCgic3RyaW5nIj09dHlwZW9mIGRpc3RDcmVhdGlvbkZlZSYmIWFwaS5CaWdOdW1iZXIoZGlzdENyZWF0aW9uRmVlKS5pc05hTigpJiZhcGkuQmlnTnVtYmVyKGRpc3RDcmVhdGlvbkZlZSkuZ3RlKDApLCJpbnZhbGlkIGRpc3RDcmVhdGlvbkZlZSIpKXJldHVybjtwYXJhbXMuZGlzdENyZWF0aW9uRmVlPWRpc3RDcmVhdGlvbkZlZX1pZihkaXN0VXBkYXRlRmVlKXtpZighYXBpLmFzc2VydCgic3RyaW5nIj09dHlwZW9mIGRpc3RVcGRhdGVGZWUmJiFhcGkuQmlnTnVtYmVyKGRpc3RVcGRhdGVGZWUpLmlzTmFOKCkmJmFwaS5CaWdOdW1iZXIoZGlzdFVwZGF0ZUZlZSkuZ3RlKDApLCJpbnZhbGlkIGRpc3RVcGRhdGVGZWUiKSlyZXR1cm47cGFyYW1zLmRpc3RVcGRhdGVGZWU9ZGlzdFVwZGF0ZUZlZX1pZihkaXN0VGlja0hvdXJzKXtpZighYXBpLmFzc2VydCgic3RyaW5nIj09dHlwZW9mIGRpc3RUaWNrSG91cnMmJmFwaS5CaWdOdW1iZXIoZGlzdFRpY2tIb3VycykuaXNJbnRlZ2VyKCkmJmFwaS5CaWdOdW1iZXIoZGlzdFRpY2tIb3VycykuZ3RlKDEpLCJpbnZhbGlkIGRpc3RUaWNrSG91cnMiKSlyZXR1cm47cGFyYW1zLmRpc3RUaWNrSG91cnM9ZGlzdFRpY2tIb3Vyc31pZihtYXhEaXN0cmlidXRpb25zTGltaXQpe2lmKCFhcGkuYXNzZXJ0KCJzdHJpbmciPT10eXBlb2YgbWF4RGlzdHJpYnV0aW9uc0xpbWl0JiZhcGkuQmlnTnVtYmVyKG1heERpc3RyaWJ1dGlvbnNMaW1pdCkuaXNJbnRlZ2VyKCkmJmFwaS5CaWdOdW1iZXIobWF4RGlzdHJpYnV0aW9uc0xpbWl0KS5ndGUoMSksImludmFsaWQgbWF4RGlzdHJpYnV0aW9uc0xpbWl0IikpcmV0dXJuO3BhcmFtcy5tYXhEaXN0cmlidXRpb25zTGltaXQ9YXBpLkJpZ051bWJlcihtYXhEaXN0cmlidXRpb25zTGltaXQpLnRvTnVtYmVyKCl9aWYobWF4VHJhbnNmZXJMaW1pdCl7aWYoIWFwaS5hc3NlcnQoInN0cmluZyI9PXR5cGVvZiBtYXhUcmFuc2ZlckxpbWl0JiZhcGkuQmlnTnVtYmVyKG1heFRyYW5zZmVyTGltaXQpLmlzSW50ZWdlcigpJiZhcGkuQmlnTnVtYmVyKG1heFRyYW5zZmVyTGltaXQpLmd0ZSgxKSwiaW52YWxpZCBtYXhUcmFuc2ZlckxpbWl0IikpcmV0dXJuO3BhcmFtcy5tYXhUcmFuc2ZlckxpbWl0PWFwaS5CaWdOdW1iZXIobWF4VHJhbnNmZXJMaW1pdCkudG9OdW1iZXIoKX1pZihwcm9jZXNzUXVlcnlMaW1pdCl7aWYoIWFwaS5hc3NlcnQoInN0cmluZyI9PXR5cGVvZiBwcm9jZXNzUXVlcnlMaW1pdCYmYXBpLkJpZ051bWJlcihwcm9jZXNzUXVlcnlMaW1pdCkuaXNJbnRlZ2VyKCkmJmFwaS5CaWdOdW1iZXIocHJvY2Vzc1F1ZXJ5TGltaXQpLmd0ZSgxKSwiaW52YWxpZCBwcm9jZXNzUXVlcnlMaW1pdCIpKXJldHVybjtwYXJhbXMucHJvY2Vzc1F1ZXJ5TGltaXQ9YXBpLkJpZ051bWJlcihwcm9jZXNzUXVlcnlMaW1pdCkudG9OdW1iZXIoKX1hd2FpdCBhcGkuZGIudXBkYXRlKCJwYXJhbXMiLHBhcmFtcyl9LGFjdGlvbnMuY3JlYXRlPWFzeW5jIHBheWxvYWQ9Pntjb25zdHtzdHJhdGVneTpzdHJhdGVneSxudW1UaWNrczpudW1UaWNrcyxleGNsdWRlQWNjb3VudDpleGNsdWRlQWNjb3VudCx0b2tlblBhaXI6dG9rZW5QYWlyLGJvbnVzQ3VydmU6Ym9udXNDdXJ2ZSx0b2tlbk1pblBheW91dDp0b2tlbk1pblBheW91dCx0b2tlblJlY2lwaWVudHM6dG9rZW5SZWNpcGllbnRzLGlzU2lnbmVkV2l0aEFjdGl2ZUtleTppc1NpZ25lZFdpdGhBY3RpdmVLZXl9PXBheWxvYWQscGFyYW1zPWF3YWl0IGFwaS5kYi5maW5kT25lKCJwYXJhbXMiLHt9KSx7ZGlzdENyZWF0aW9uRmVlOmRpc3RDcmVhdGlvbkZlZX09cGFyYW1zLHV0aWxpdHlUb2tlbkJhbGFuY2U9YXdhaXQgYXBpLmRiLmZpbmRPbmVJblRhYmxlKCJ0b2tlbnMiLCJiYWxhbmNlcyIse2FjY291bnQ6YXBpLnNlbmRlcixzeW1ib2w6IkJFRSJ9KSxhdXRob3JpemVkQ3JlYXRpb249ISghYXBpLkJpZ051bWJlcihkaXN0Q3JlYXRpb25GZWUpLmx0ZSgwKSYmYXBpLnNlbmRlciE9PWFwaS5vd25lcil8fHV0aWxpdHlUb2tlbkJhbGFuY2UmJmFwaS5CaWdOdW1iZXIodXRpbGl0eVRva2VuQmFsYW5jZS5iYWxhbmNlKS5ndGUoZGlzdENyZWF0aW9uRmVlKTtpZihhcGkuYXNzZXJ0KGF1dGhvcml6ZWRDcmVhdGlvbiwieW91IG11c3QgaGF2ZSBlbm91Z2ggdG9rZW5zIHRvIGNvdmVyIHRoZSBjcmVhdGlvbiBmZWUiKSYmYXBpLmFzc2VydCghMD09PWlzU2lnbmVkV2l0aEFjdGl2ZUtleSwieW91IG11c3QgdXNlIGEgdHJhbnNhY3Rpb24gc2lnbmVkIHdpdGggeW91ciBhY3RpdmUga2V5IikmJmFwaS5hc3NlcnQoInN0cmluZyI9PXR5cGVvZiBzdHJhdGVneSYmLTEhPT1EaXN0U3RyYXRlZ3kuaW5kZXhPZihzdHJhdGVneSksImludmFsaWQgc3RyYXRlZ3kiKSYmYXBpLmFzc2VydCgic3RyaW5nIj09dHlwZW9mIG51bVRpY2tzJiZhcGkuQmlnTnVtYmVyKG51bVRpY2tzKS5pc0ludGVnZXIoKSYmYXBpLkJpZ051bWJlcihudW1UaWNrcykuZ3QoMCkmJmFwaS5CaWdOdW1iZXIobnVtVGlja3MpLmx0ZSg1NTU1KSwibnVtVGlja3MgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDEgYW5kIDU1NTUiKSl7Y29uc3QgYmxvY2tEYXRlPW5ldyBEYXRlKGFwaS5oaXZlQmxvY2tUaW1lc3RhbXArIi4wMDBaIiksbmV3RGlzdD17c3RyYXRlZ3k6c3RyYXRlZ3ksbnVtVGlja3M6bnVtVGlja3MsbnVtVGlja3NMZWZ0OmFwaS5CaWdOdW1iZXIobnVtVGlja3MpLnRvTnVtYmVyKCksYWN0aXZlOiExLGNyZWF0b3I6YXBpLnNlbmRlcixsYXN0VGlja1RpbWU6YmxvY2tEYXRlLmdldFRpbWUoKX07aWYoImZpeGVkIj09PXN0cmF0ZWd5JiZhd2FpdCB2YWxpZGF0ZU1pblBheW91dCh0b2tlbk1pblBheW91dCkmJmF3YWl0IHZhbGlkYXRlUmVjaXBpZW50cyhwYXJhbXMsdG9rZW5SZWNpcGllbnRzKSluZXdEaXN0LnRva2VuTWluUGF5b3V0PXRva2VuTWluUGF5b3V0LG5ld0Rpc3QudG9rZW5SZWNpcGllbnRzPXRva2VuUmVjaXBpZW50cztlbHNle2lmKCJwb29sIiE9PXN0cmF0ZWd5KXJldHVybjtpZighYXBpLmFzc2VydChhd2FpdCB2YWxpZGF0ZVBvb2wodG9rZW5QYWlyKSwiaW52YWxpZCB0b2tlblBhaXIiKSlyZXR1cm47aWYodm9pZCAwIT09ZXhjbHVkZUFjY291bnQmJiFhcGkuYXNzZXJ0KEFycmF5LmlzQXJyYXkoZXhjbHVkZUFjY291bnQpLCJleGNsdWRlQWNjb3VudCBtdXN0IGJlIGFuIGFycmF5IikpcmV0dXJuO2lmKHZvaWQgMCE9PWJvbnVzQ3VydmUmJiF2YWxpZGF0ZUJvbnVzQ3VydmUoYm9udXNDdXJ2ZSkpcmV0dXJuO25ld0Rpc3QudG9rZW5QYWlyPXRva2VuUGFpcixuZXdEaXN0LmV4Y2x1ZGVBY2NvdW50PWV4Y2x1ZGVBY2NvdW50fHxbXSxuZXdEaXN0LmJvbnVzQ3VydmU9Ym9udXNDdXJ2ZXx8e319Y29uc3QgY3JlYXRlZERpc3Q9YXdhaXQgYXBpLmRiLmluc2VydCgiYmF0Y2hlcyIsbmV3RGlzdCk7YXBpLnNlbmRlciE9PWFwaS5vd25lciYmYXBpLkJpZ051bWJlcihkaXN0Q3JlYXRpb25GZWUpLmd0KDApJiZhd2FpdCBhcGkuZXhlY3V0ZVNtYXJ0Q29udHJhY3QoInRva2VucyIsInRyYW5zZmVyIix7dG86Im51bGwiLHN5bWJvbDoiQkVFIixxdWFudGl0eTpkaXN0Q3JlYXRpb25GZWUsaXNTaWduZWRXaXRoQWN0aXZlS2V5OmlzU2lnbmVkV2l0aEFjdGl2ZUtleX0pLGFwaS5lbWl0KCJjcmVhdGUiLHtpZDpjcmVhdGVkRGlzdC5faWR9KX19LGFjdGlvbnMudXBkYXRlPWFzeW5jIHBheWxvYWQ9Pntjb25zdHtpZDppZCxudW1UaWNrczpudW1UaWNrcyxleGNsdWRlQWNjb3VudDpleGNsdWRlQWNjb3VudCx0b2tlblBhaXI6dG9rZW5QYWlyLGJvbnVzQ3VydmU6Ym9udXNDdXJ2ZSx0b2tlbk1pblBheW91dDp0b2tlbk1pblBheW91dCx0b2tlblJlY2lwaWVudHM6dG9rZW5SZWNpcGllbnRzLGlzU2lnbmVkV2l0aEFjdGl2ZUtleTppc1NpZ25lZFdpdGhBY3RpdmVLZXl9PXBheWxvYWQscGFyYW1zPWF3YWl0IGFwaS5kYi5maW5kT25lKCJwYXJhbXMiLHt9KSx7ZGlzdFVwZGF0ZUZlZTpkaXN0VXBkYXRlRmVlfT1wYXJhbXMsdXRpbGl0eVRva2VuQmFsYW5jZT1hd2FpdCBhcGkuZGIuZmluZE9uZUluVGFibGUoInRva2VucyIsImJhbGFuY2VzIix7YWNjb3VudDphcGkuc2VuZGVyLHN5bWJvbDoiQkVFIn0pLGF1dGhvcml6ZWRDcmVhdGlvbj0hKCFhcGkuQmlnTnVtYmVyKGRpc3RVcGRhdGVGZWUpLmx0ZSgwKSYmYXBpLnNlbmRlciE9PWFwaS5vd25lcil8fHV0aWxpdHlUb2tlbkJhbGFuY2UmJmFwaS5CaWdOdW1iZXIodXRpbGl0eVRva2VuQmFsYW5jZS5iYWxhbmNlKS5ndGUoZGlzdFVwZGF0ZUZlZSk7aWYoYXBpLmFzc2VydChhdXRob3JpemVkQ3JlYXRpb24sInlvdSBtdXN0IGhhdmUgZW5vdWdoIHRva2VucyB0byBjb3ZlciB0aGUgdXBkYXRlIGZlZSIpJiZhcGkuYXNzZXJ0KCEwPT09aXNTaWduZWRXaXRoQWN0aXZlS2V5LCJ5b3UgbXVzdCB1c2UgYSB0cmFuc2FjdGlvbiBzaWduZWQgd2l0aCB5b3VyIGFjdGl2ZSBrZXkiKSl7Y29uc3QgZXhEaXN0PWF3YWl0IGFwaS5kYi5maW5kT25lKCJiYXRjaGVzIix7X2lkOmlkfSk7aWYoYXBpLmFzc2VydChleERpc3QsImRpc3RyaWJ1dGlvbiBub3QgZm91bmQiKSl7aWYobnVtVGlja3MmJmFwaS5hc3NlcnQoInN0cmluZyI9PXR5cGVvZiBudW1UaWNrcyYmYXBpLkJpZ051bWJlcihudW1UaWNrcykuaXNJbnRlZ2VyKCkmJmFwaS5CaWdOdW1iZXIobnVtVGlja3MpLmd0KDApJiZhcGkuQmlnTnVtYmVyKG51bVRpY2tzKS5sdGUoNTU1NSksIm51bVRpY2tzIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAxIGFuZCA1NTU1IikmJihleERpc3QubnVtVGlja3M9bnVtVGlja3MsZXhEaXN0Lm51bVRpY2tzTGVmdD1hcGkuQmlnTnVtYmVyKG51bVRpY2tzKS50b051bWJlcigpKSwiZml4ZWQiPT09ZXhEaXN0LnN0cmF0ZWd5KXtpZighYXdhaXQgdmFsaWRhdGVNaW5QYXlvdXQodG9rZW5NaW5QYXlvdXQpfHwhYXdhaXQgdmFsaWRhdGVSZWNpcGllbnRzKHBhcmFtcyx0b2tlblJlY2lwaWVudHMpKXJldHVybjtleERpc3QudG9rZW5NaW5QYXlvdXQ9dG9rZW5NaW5QYXlvdXQsZXhEaXN0LnRva2VuUmVjaXBpZW50cz10b2tlblJlY2lwaWVudHN9ZWxzZXtpZigicG9vbCIhPT1leERpc3Quc3RyYXRlZ3kpcmV0dXJuO3ZvaWQgMCE9PWV4Y2x1ZGVBY2NvdW50JiZhcGkuYXNzZXJ0KEFycmF5LmlzQXJyYXkoZXhjbHVkZUFjY291bnQpLCJleGNsdWRlQWNjb3VudCBtdXN0IGJlIGFuIGFycmF5IikmJihleERpc3QuZXhjbHVkZUFjY291bnQ9ZXhjbHVkZUFjY291bnQpLHZvaWQgMCE9PXRva2VuUGFpciYmYXBpLmFzc2VydChhd2FpdCB2YWxpZGF0ZVBvb2wodG9rZW5QYWlyKSwiaW52YWxpZCB0b2tlblBhaXIiKSYmKGV4RGlzdC50b2tlblBhaXI9dG9rZW5QYWlyKSx2b2lkIDAhPT1ib251c0N1cnZlJiZ2YWxpZGF0ZUJvbnVzQ3VydmUoYm9udXNDdXJ2ZSkmJihleERpc3QuYm9udXNDdXJ2ZT1ib251c0N1cnZlKX1hd2FpdCBhcGkuZGIudXBkYXRlKCJiYXRjaGVzIixleERpc3QpLGFwaS5zZW5kZXIhPT1hcGkub3duZXImJmFwaS5CaWdOdW1iZXIoZGlzdFVwZGF0ZUZlZSkuZ3QoMCkmJmF3YWl0IGFwaS5leGVjdXRlU21hcnRDb250cmFjdCgidG9rZW5zIiwidHJhbnNmZXIiLHt0bzoibnVsbCIsc3ltYm9sOiJCRUUiLHF1YW50aXR5OmRpc3RVcGRhdGVGZWUsaXNTaWduZWRXaXRoQWN0aXZlS2V5OmlzU2lnbmVkV2l0aEFjdGl2ZUtleX0pLGFwaS5lbWl0KCJ1cGRhdGUiLHtpZDpleERpc3QuX2lkfSl9fX0sYWN0aW9ucy5zZXRBY3RpdmU9YXN5bmMgcGF5bG9hZD0+e2NvbnN0e2lkOmlkLGFjdGl2ZTphY3RpdmUsaXNTaWduZWRXaXRoQWN0aXZlS2V5OmlzU2lnbmVkV2l0aEFjdGl2ZUtleX09cGF5bG9hZDtpZighYXBpLmFzc2VydCghMD09PWlzU2lnbmVkV2l0aEFjdGl2ZUtleSwieW91IG11c3QgdXNlIGEgY3VzdG9tX2pzb24gc2lnbmVkIHdpdGggeW91ciBhY3RpdmUga2V5IikpcmV0dXJuO2NvbnN0IGRpc3Q9YXdhaXQgYXBpLmRiLmZpbmRPbmUoImJhdGNoZXMiLHtfaWQ6aWR9KTthcGkuYXNzZXJ0KGRpc3QsImRpc3RyaWJ1dGlvbiBpZCBub3QgZm91bmQiKSYmYXBpLmFzc2VydChkaXN0LmNyZWF0b3I9PT1hcGkuc2VuZGVyfHxhcGkub3duZXI9PT1hcGkuc2VuZGVyLCJ5b3UgbXVzdCBiZSB0aGUgY3JlYXRvciBvZiB0aGlzIGRpc3RyaWJ1dGlvbiIpJiYoZGlzdC5hY3RpdmU9ISFhY3RpdmUsYXdhaXQgYXBpLmRiLnVwZGF0ZSgiYmF0Y2hlcyIsZGlzdCksYXBpLmVtaXQoInNldEFjdGl2ZSIse2lkOmRpc3QuX2lkLGFjdGl2ZTpkaXN0LmFjdGl2ZX0pKX0sYWN0aW9ucy5kZXBvc2l0PWFzeW5jIHBheWxvYWQ9Pntjb25zdHtpZDppZCxzeW1ib2w6c3ltYm9sLHF1YW50aXR5OnF1YW50aXR5LGlzU2lnbmVkV2l0aEFjdGl2ZUtleTppc1NpZ25lZFdpdGhBY3RpdmVLZXl9PXBheWxvYWQsZGVwVG9rZW49YXdhaXQgYXBpLmRiLmZpbmRPbmVJblRhYmxlKCJ0b2tlbnMiLCJ0b2tlbnMiLHtzeW1ib2w6c3ltYm9sfSk7aWYoIWFwaS5hc3NlcnQoITA9PT1pc1NpZ25lZFdpdGhBY3RpdmVLZXksInlvdSBtdXN0IHVzZSBhIGN1c3RvbV9qc29uIHNpZ25lZCB3aXRoIHlvdXIgYWN0aXZlIGtleSIpfHwhYXBpLmFzc2VydCgic3RyaW5nIj09dHlwZW9mIHF1YW50aXR5JiZhcGkuQmlnTnVtYmVyKHF1YW50aXR5KS5ndCgwKSwiaW52YWxpZCBxdWFudGl0eSIpfHwhYXBpLmFzc2VydChhcGkuQmlnTnVtYmVyKHF1YW50aXR5KS5kcCgpPD1kZXBUb2tlbi5wcmVjaXNpb24sInF1YW50aXR5IHByZWNpc2lvbiBtaXNtYXRjaCIpKXJldHVybjtjb25zdCBkaXN0PWF3YWl0IGFwaS5kYi5maW5kT25lKCJiYXRjaGVzIix7X2lkOmlkfSk7aWYoYXBpLmFzc2VydChkaXN0LCJkaXN0cmlidXRpb24gaWQgbm90IGZvdW5kIikmJmFwaS5hc3NlcnQoZGlzdC5hY3RpdmUsImRpc3RyaWJ1dGlvbiBtdXN0IGJlIGFjdGl2ZSB0byBkZXBvc2l0Iikpe2lmKCJmaXhlZCI9PT1kaXN0LnN0cmF0ZWd5JiYhYXBpLmFzc2VydCh2YWxpZGF0ZUluY29taW5nVG9rZW4oZGlzdCxzeW1ib2wpLHN5bWJvbCsiIGlzIG5vdCBhY2NlcHRlZCBieSB0aGlzIGRpc3RyaWJ1dGlvbiIpKXJldHVybjtjb25zdCByZXM9YXdhaXQgYXBpLmV4ZWN1dGVTbWFydENvbnRyYWN0KCJ0b2tlbnMiLCJ0cmFuc2ZlclRvQ29udHJhY3QiLHtzeW1ib2w6c3ltYm9sLHF1YW50aXR5OnF1YW50aXR5LHRvOiJkaXN0cmlidXRpb24ifSk7aWYodm9pZCAwPT09cmVzLmVycm9ycyYmcmVzLmV2ZW50cyYmdm9pZCAwIT09cmVzLmV2ZW50cy5maW5kKGVsPT4idG9rZW5zIj09PWVsLmNvbnRyYWN0JiYidHJhbnNmZXJUb0NvbnRyYWN0Ij09PWVsLmV2ZW50JiZlbC5kYXRhLmZyb209PT1hcGkuc2VuZGVyJiYiZGlzdHJpYnV0aW9uIj09PWVsLmRhdGEudG8mJmVsLmRhdGEucXVhbnRpdHk9PT1xdWFudGl0eSkpe2lmKGRpc3QudG9rZW5CYWxhbmNlcyl7Y29uc3QgdEluZGV4PWRpc3QudG9rZW5CYWxhbmNlcy5maW5kSW5kZXgodD0+dC5zeW1ib2w9PT1zeW1ib2wpOy0xPT09dEluZGV4P2Rpc3QudG9rZW5CYWxhbmNlcy5wdXNoKHtzeW1ib2w6c3ltYm9sLHF1YW50aXR5OnF1YW50aXR5fSk6ZGlzdC50b2tlbkJhbGFuY2VzW3RJbmRleF0ucXVhbnRpdHk9YXBpLkJpZ051bWJlcihkaXN0LnRva2VuQmFsYW5jZXNbdEluZGV4XS5xdWFudGl0eSkucGx1cyhxdWFudGl0eSkudG9GaXhlZChkZXBUb2tlbi5wcmVjaXNpb24sYXBpLkJpZ051bWJlci5ST1VORF9ET1dOKX1lbHNlIGRpc3QudG9rZW5CYWxhbmNlcz1be3N5bWJvbDpzeW1ib2wscXVhbnRpdHk6cXVhbnRpdHl9XTtjb25zdCBibG9ja0RhdGU9bmV3IERhdGUoYXBpLmhpdmVCbG9ja1RpbWVzdGFtcCsiLjAwMFoiKTtkaXN0Lm51bVRpY2tzTGVmdD1hcGkuQmlnTnVtYmVyKGRpc3QubnVtVGlja3MpLnRvTnVtYmVyKCksZGlzdC5sYXN0VGlja1RpbWU9YmxvY2tEYXRlLmdldFRpbWUoKSxhd2FpdCBhcGkuZGIudXBkYXRlKCJiYXRjaGVzIixkaXN0KSxhcGkuZW1pdCgiZGVwb3NpdCIse2Rpc3RJZDppZCxzeW1ib2w6c3ltYm9sLHF1YW50aXR5OnF1YW50aXR5fSl9fX0sYWN0aW9ucy5mbHVzaD1hc3luYyBwYXlsb2FkPT57Y29uc3R7aWQ6aWQsaXNTaWduZWRXaXRoQWN0aXZlS2V5OmlzU2lnbmVkV2l0aEFjdGl2ZUtleX09cGF5bG9hZCxkaXN0PWF3YWl0IGFwaS5kYi5maW5kT25lKCJiYXRjaGVzIix7X2lkOmlkfSk7aWYoYXBpLmFzc2VydChkaXN0LCJkaXN0cmlidXRpb24gaWQgbm90IGZvdW5kIikmJmFwaS5hc3NlcnQoITA9PT1pc1NpZ25lZFdpdGhBY3RpdmVLZXksInlvdSBtdXN0IHVzZSBhIHRyYW5zYWN0aW9uIHNpZ25lZCB3aXRoIHlvdXIgYWN0aXZlIGtleSIpJiZhcGkuYXNzZXJ0KGFwaS5zZW5kZXI9PT1hcGkub3duZXJ8fGFwaS5zZW5kZXI9PT1kaXN0LmNyZWF0b3IsIm11c3QgYmUgb3duZXIgb3IgY3JlYXRvciIpKXtjb25zdCBwYXJhbXM9YXdhaXQgYXBpLmRiLmZpbmRPbmUoInBhcmFtcyIse30pO2Rpc3QubnVtVGlja3NMZWZ0PTEsYXdhaXQgYXBpLmRiLnVwZGF0ZSgiYmF0Y2hlcyIsZGlzdCksYXdhaXQgcnVuRGlzdHJpYnV0aW9uKGRpc3QscGFyYW1zLCEwKSxhcGkuZW1pdCgiZmx1c2giLHtkaXN0SWQ6ZGlzdC5faWR9KX19LGFjdGlvbnMuY2hlY2tQZW5kaW5nRGlzdHJpYnV0aW9ucz1hc3luYygpPT57aWYoYXBpLmFzc2VydCgibnVsbCI9PT1hcGkuc2VuZGVyLCJub3QgYXV0aG9yaXplZCIpKXtjb25zdCBwYXJhbXM9YXdhaXQgYXBpLmRiLmZpbmRPbmUoInBhcmFtcyIse30pLGJsb2NrRGF0ZT1uZXcgRGF0ZShhcGkuaGl2ZUJsb2NrVGltZXN0YW1wKyIuMDAwWiIpLHRpY2tUaW1lPWFwaS5CaWdOdW1iZXIoYmxvY2tEYXRlLmdldFRpbWUoKSkubWludXMoMzYwMCpwYXJhbXMuZGlzdFRpY2tIb3VycyoxZTMpLnRvTnVtYmVyKCkscGVuZGluZ0Rpc3RzPWF3YWl0IGFwaS5kYi5maW5kKCJiYXRjaGVzIix7YWN0aXZlOiEwLG51bVRpY2tzTGVmdDp7JGd0OjB9LCJ0b2tlbkJhbGFuY2VzLjAiOnskZXhpc3RzOiEwfSxsYXN0VGlja1RpbWU6eyRsdGU6dGlja1RpbWV9fSxwYXJhbXMubWF4RGlzdHJpYnV0aW9uc0xpbWl0LDAsW3tpbmRleDoibGFzdFRpY2tUaW1lIixkZXNjZW5kaW5nOiExfSx7aW5kZXg6Il9pZCIsZGVzY2VuZGluZzohMX1dKTtpZihwZW5kaW5nRGlzdHMubGVuZ3RoPjApZm9yKGxldCBpPTA7aTxwZW5kaW5nRGlzdHMubGVuZ3RoO2krPTEpYXdhaXQgcnVuRGlzdHJpYnV0aW9uKHBlbmRpbmdEaXN0c1tpXSxwYXJhbXMpO2Vsc2V7Y29uc3QgcGVuZGluZ1BheT1hd2FpdCBhcGkuZGIuZmluZCgicGVuZGluZ1BheW1lbnRzIix7ZHVlVGltZTp7JGx0ZTp0aWNrVGltZX19LHBhcmFtcy5tYXhEaXN0cmlidXRpb25zTGltaXQsMCxbe2luZGV4OiJkdWVUaW1lIixkZXNjZW5kaW5nOiExfSx7aW5kZXg6Il9pZCIsZGVzY2VuZGluZzohMX1dKTtpZihwZW5kaW5nUGF5Lmxlbmd0aD4wKWZvcihsZXQgaT0wO2k8cGVuZGluZ1BheS5sZW5ndGg7aSs9MSlhd2FpdCBydW5QZW5kaW5nUGF5KHBlbmRpbmdQYXlbaV0scGFyYW1zKX19fTs="}}}

H2
H3
H4
3 columns
2 columns
1 column
1 Comment
Ecency