mbrr · data · 2.7c767379.chunk.js_47
{
"2.7c767379.chunk.js_47": "base64:aXZlUHJvcHN8fChzIT09bnx8dSE9PWMpJiZjaSh0LGEsbixjKSxXbz0hMSx1PXQubWVtb2l6ZWRTdGF0ZSxoPWEuc3RhdGU9dSxudWxsIT09KHA9dC51cGRhdGVRdWV1ZSkmJihyYSh0LHAsbixhLGkpLGg9dC5tZW1vaXplZFN0YXRlKSxzIT09bnx8dSE9PWh8fE5uLmN1cnJlbnR8fFdvPygiZnVuY3Rpb24iPT09dHlwZW9mIGYmJihvaSh0LHIsZixuKSxoPXQubWVtb2l6ZWRTdGF0ZSksKGY9V298fHNpKHQscixzLG4sdSxoLGMpKT8obHx8ImZ1bmN0aW9uIiE9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiYiZnVuY3Rpb24iIT09dHlwZW9mIGEuY29tcG9uZW50V2lsbFVwZGF0ZXx8KCJmdW5jdGlvbiI9PT10eXBlb2YgYS5jb21wb25lbnRXaWxsVXBkYXRlJiZhLmNvbXBvbmVudFdpbGxVcGRhdGUobixoLGMpLCJmdW5jdGlvbiI9PT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSYmYS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShuLGgsYykpLCJmdW5jdGlvbiI9PT10eXBlb2YgYS5jb21wb25lbnREaWRVcGRhdGUmJih0LmVmZmVjdFRhZ3w9NCksImZ1bmN0aW9uIj09PXR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlJiYodC5lZmZlY3RUYWd8PTI1NikpOigiZnVuY3Rpb24iIT09dHlwZW9mIGEuY29tcG9uZW50RGlkVXBkYXRlfHxzPT09ZS5tZW1vaXplZFByb3BzJiZ1PT09ZS5tZW1vaXplZFN0YXRlfHwodC5lZmZlY3RUYWd8PTQpLCJmdW5jdGlvbiIhPT10eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8cz09PWUubWVtb2l6ZWRQcm9wcyYmdT09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZWZmZWN0VGFnfD0yNTYpLHQubWVtb2l6ZWRQcm9wcz1uLHQubWVtb2l6ZWRTdGF0ZT1oKSxhLnByb3BzPW4sYS5zdGF0ZT1oLGEuY29udGV4dD1jLG49Zik6KCJmdW5jdGlvbiIhPT10eXBlb2YgYS5jb21wb25lbnREaWRVcGRhdGV8fHM9PT1lLm1lbW9pemVkUHJvcHMmJnU9PT1lLm1lbW9pemVkU3RhdGV8fCh0LmVmZmVjdFRhZ3w9NCksImZ1bmN0aW9uIiE9PXR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxzPT09ZS5tZW1vaXplZFByb3BzJiZ1PT09ZS5tZW1vaXplZFN0YXRlfHwodC5lZmZlY3RUYWd8PTI1Niksbj0hMSk7cmV0dXJuIE9vKGUsdCxyLG4sbyxpKX1mdW5jdGlvbiBPbyhlLHQscixuLGksbyl7eG8oZSx0KTt2YXIgYT0wIT09KDY0JnQuZWZmZWN0VGFnKTtpZighbiYmIWEpcmV0dXJuIGkmJkZuKHQsciwhMSksUm8oZSx0LG8pO249dC5zdGF0ZU5vZGUsU28uY3VycmVudD10O3ZhciBzPWEmJiJmdW5jdGlvbiIhPT10eXBlb2Ygci5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDpuLnJlbmRlcigpO3JldHVybiB0LmVmZmVjdFRhZ3w9MSxudWxsIT09ZSYmYT8odC5jaGlsZD15aSh0LGUuY2hpbGQsbnVsbCxvKSx0LmNoaWxkPXlpKHQsbnVsbCxzLG8pKTp3byhlLHQscyxvKSx0Lm1lbW9pemVkU3RhdGU9bi5zdGF0ZSxpJiZGbih0LHIsITApLHQuY2hpbGR9ZnVuY3Rpb24gTm8oZSl7dmFyIHQ9ZS5zdGF0ZU5vZGU7dC5wZW5kaW5nQ29udGV4dD9EbigwLHQucGVuZGluZ0NvbnRleHQsdC5wZW5kaW5nQ29udGV4dCE9PXQuY29udGV4dCk6dC5jb250ZXh0JiZEbigwLHQuY29udGV4dCwhMSksRWkoZSx0LmNvbnRhaW5lckluZm8pfWZ1bmN0aW9uIFBvKGUsdCxyKXt2YXIgbj10Lm1vZGUsaT10LnBlbmRpbmdQcm9wcyxvPXQubWVtb2l6ZWRTdGF0ZTtpZigwPT09KDY0JnQuZWZmZWN0VGFnKSl7bz1udWxsO3ZhciBhPSExfWVsc2Ugbz17dGltZWRPdXRBdDpudWxsIT09bz9vLnRpbWVkT3V0QXQ6MH0sYT0hMCx0LmVmZmVjdFRhZyY9LTY1O2lmKG51bGw9PT1lKWlmKGEpe3ZhciBzPWkuZmFsbGJhY2s7ZT1YbihudWxsLG4sMCxudWxsKSwwPT09KDEmdC5tb2RlKSYmKGUuY2hpbGQ9bnVsbCE9PXQubWVtb2l6ZWRTdGF0ZT90LmNoaWxkLmNoaWxkOnQuY2hpbGQpLG49WG4ocyxuLHIsbnVsbCksZS5zaWJsaW5nPW4sKHI9ZSkucmV0dXJuPW4ucmV0dXJuPXR9ZWxzZSByPW49Z2kodCxudWxsLGkuY2hpbGRyZW4scik7ZWxzZSBudWxsIT09ZS5tZW1vaXplZFN0YXRlPyhzPShuPWUuY2hpbGQpLnNpYmxpbmcsYT8ocj1pLmZhbGxiYWNrLGk9V24obixuLnBlbmRpbmdQcm9wcyksMD09PSgxJnQubW9kZSkmJigoYT1udWxsIT09dC5tZW1vaXplZFN0YXRlP3QuY2hpbGQuY2hpbGQ6dC5jaGlsZCkhPT1uLmNoaWxkJiYoaS5jaGlsZD1hKSksbj1pLnNpYmxpbmc9V24ocyxyLHMuZXhwaXJhdGlvblRpbWUpLHI9aSxpLmNoaWxkRXhwaXJhdGlvblRpbWU9MCxyLnJldHVybj1uLnJldHVybj10KTpyPW49eWkodCxuLmNoaWxkLGkuY2hpbGRyZW4scikpOihzPWUuY2hpbGQsYT8oYT1pLmZhbGxiYWNrLChpPVhuKG51bGwsbiwwLG51bGwpKS5jaGlsZD1zLDA9PT0oMSZ0Lm1vZGUpJiYoaS5jaGlsZD1udWxsIT09dC5tZW1vaXplZFN0YXRlP3QuY2hpbGQuY2hpbGQ6dC5jaGlsZCksKG49aS5zaWJsaW5nPVhuKGEsbixyLG51bGwpKS5lZmZlY3RUYWd8PTIscj1pLGkuY2hpbGRFeHBpcmF0aW9uVGltZT0wLHIucmV0dXJuPW4ucmV0dXJuPXQpOm49cj15aSh0LHMsaS5jaGlsZHJlbixyKSksdC5zdGF0ZU5vZGU9ZS5zdGF0ZU5vZGU7cmV0dXJuIHQubWVtb2l6ZWRTdGF0ZT1vLHQuY2hpbGQ9cixufWZ1bmN0aW9uIFJvKGUsdCxyKXtpZihudWxsIT09ZSYmKHQuY29udGV4dERlcGVuZGVuY2llcz1lLmNvbnRleHREZXBlbmRlbmNpZXMpLHQuY2hpbGRFeHBpcmF0aW9uVGltZTxyKXJldHVybiBudWxsO2lmKG51bGwhPT1lJiZ0LmNoaWxkIT09ZS5jaGlsZCYmYSgiMTUzIiksbnVsbCE9PXQuY2hpbGQpe2ZvcihyPVduKGU9dC5jaGlsZCxlLnBlbmRpbmdQcm9wcyxlLmV4cGlyYXRpb25UaW1lKSx0LmNoaWxkPXIsci5yZXR1cm49dDtudWxsIT09ZS5zaWJsaW5nOyllPWUuc2libGluZywocj1yLnNpYmxpbmc9V24oZSxlLnBlbmRpbmdQcm9wcyxlLmV4cGlyYXRpb25UaW1lKSkucmV0dXJuPXQ7ci5zaWJsaW5nPW51bGx9cmV0dXJuIHQuY2hpbGR9ZnVuY3Rpb24gQm8oZSx0LHIpe3ZhciBuPXQuZXhwaXJhdGlvblRpbWU7aWYobnVsbCE9PWUpe2lmKGUubWVtb2l6ZWRQcm9wcyE9PXQucGVuZGluZ1Byb3BzfHxObi5jdXJyZW50KUVvPSEwO2Vsc2UgaWYobjxyKXtzd2l0Y2goRW89ITEsdC50YWcpe2Nhc2UgMzpObyh0KSxfbygpO2JyZWFrO2Nhc2UgNTpUaSh0KTticmVhaztjYXNlIDE6Qm4odC50eXBlKSYmVW4odCk7YnJlYWs7Y2FzZSA0OkVpKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7YnJlYWs7Y2FzZSAxMDpVbyh0LHQubWVtb2l6ZWRQcm9wcy52YWx1ZSk7YnJlYWs7Y2FzZSAxMzppZihudWxsIT09dC5tZW1vaXplZFN0YXRlKXJldHVybiAwIT09KG49dC5jaGlsZC5jaGlsZEV4cGlyYXRpb25UaW1lKSYmbj49cj9QbyhlLHQscik6bnVsbCE9PSh0PVJvKGUsdCxyKSk/dC5zaWJsaW5nOm51bGx9cmV0dXJuIFJvKGUsdCxyKX19ZWxzZSBFbz0hMTtzd2l0Y2godC5leHBpcmF0aW9uVGltZT0wLHQudGFnKXtjYXNlIDI6bj10LmVsZW1lbnRUeXBlLG51bGwhPT1lJiYoZS5hbHRlcm5hdGU9bnVsbCx0LmFsdGVybmF0ZT1udWxsLHQuZWZmZWN0VGFnfD0yKSxlPXQucGVuZGluZ1Byb3BzO3ZhciBpPVJuKHQsT24uY3VycmVudCk7aWYoVm8odCxyKSxpPVFpKG51bGwsdCxuLGUsaSxyKSx0LmVmZmVjdFRhZ3w9MSwib2JqZWN0Ij09PXR5cGVvZiBpJiZudWxsIT09aSYmImZ1bmN0aW9uIj09PXR5cGVvZiBpLnJlbmRlciYmdm9pZCAwPT09aS4kJHR5cGVvZil7aWYodC50YWc9MSwkaSgpLEJuKG4pKXt2YXIgbz0hMDtVbih0KX1lbHNlIG89ITE7dC5tZW1vaXplZFN0YXRlPW51bGwhPT1pLnN0YXRlJiZ2b2lkIDAhPT1pLnN0YXRlP2kuc3RhdGU6bnVsbDt2YXIgcz1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wczsiZnVuY3Rpb24iPT09dHlwZW9mIHMmJm9pKHQsbixzLGUpLGkudXBkYXRlcj1haSx0LnN0YXRlTm9kZT1pLGkuX3JlYWN0SW50ZXJuYWxGaWJlcj10LGZpKHQsbixlLHIpLHQ9T28obnVsbCx0LG4sITAsbyxyKX1lbHNlIHQudGFnPTAsd28obnVsbCx0LGksciksdD10LmNoaWxkO3JldHVybiB0O2Nhc2UgMTY6c3dpdGNoKGk9dC5lbGVtZW50VHlwZSxudWxsIT09ZSYmKGUuYWx0ZXJuYXRlPW51bGwsdC5hbHRlcm5hdGU9bnVsbCx0LmVmZmVjdFRhZ3w9Miksbz10LnBlbmRpbmdQcm9wcyxlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuX3Jlc3VsdDtzd2l0Y2goZS5fc3RhdHVzKXtjYXNlIDE6cmV0dXJuIHQ7Y2FzZSAyOmNhc2UgMDp0aHJvdyB0O2RlZmF1bHQ6c3dpdGNoKGUuX3N0YXR1cz0wLCh0PSh0PWUuX2N0b3IpKCkpLnRoZW4oZnVuY3Rpb24odCl7MD09PWUuX3N0YXR1cyYmKHQ9dC5kZWZhdWx0LGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0sZnVuY3Rpb24odCl7MD09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pLGUuX3N0YXR1cyl7Y2FzZSAxOnJldHVybiBlLl9yZXN1bHQ7Y2FzZSAyOnRocm93IGUuX3Jlc3VsdH10aHJvdyBlLl9yZXN1bHQ9dCx0fX0oaSksdC50eXBlPWUsaT10LnRhZz1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGUpcmV0dXJuIEhuKGUpPzE6MDtpZih2b2lkIDAhPT1lJiZudWxsIT09ZSl7aWYoKGU9ZS4kJHR5cGVvZik9PT10dClyZXR1cm4gMTE7aWYoZT09PW50KXJldHVybiAxNH1yZXR1cm4gMn0oZSksbz1uaShlLG8pLHM9dm9pZCAwLGkpe2Nhc2UgMDpzPUlvKG51bGwsdCxlLG8scik7YnJlYWs7Y2FzZSAxOnM9a28obnVsbCx0LGUsbyxyKTticmVhaztjYXNlIDExOnM9VG8obnVsbCx0LGUsbyxyKTticmVhaztjYXNlIDE0OnM9QW8obnVsbCx0LGUsbmkoZS50eXBlLG8pLG4scik7YnJlYWs7ZGVmYXVsdDphKCIzMDYiLGUsIiIpfXJldHVybiBzO2Nhc2UgMDpyZXR1cm4gbj10LnR5cGUsaT10LnBlbmRpbmdQcm9wcyxJbyhlLHQsbixpPXQuZWxlbWVudFR5cGU9PT1uP2k6bmkobixpKSxyKTtjYXNlIDE6cmV0dXJuIG49dC50eXBlLGk9dC5wZW5kaW5nUHJvcHMsa28oZSx0LG4saT10LmVsZW1lbnRUeXBlPT09bj9pOm5pKG4saSkscik7Y2FzZSAzOnJldHVybiBObyh0KSxudWxsPT09KG49dC51cGRhdGVRdWV1ZSkmJmEoIjI4MiIpLGk9bnVsbCE9PShpPXQubWVtb2l6ZWRTdGF0ZSk/aS5lbGVtZW50Om51bGwscmEodCxuLHQucGVuZGluZ1Byb3BzLG51bGwsciksKG49dC5tZW1vaXplZFN0YXRlLmVsZW1lbnQpPT09aT8oX28oKSx0PVJvKGUsdCxyKSk6KGk9dC5zdGF0ZU5vZGUsKGk9KG51bGw9PT1lfHxudWxsPT09ZS5jaGlsZCkmJmkuaHlkcmF0ZSkmJihobz1Ubih0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxsbz10LGk9cG89ITApLGk/KHQuZWZmZWN0VGFnfD0yLHQuY2hpbGQ9Z2kodCxudWxsLG4scikpOih3byhlLHQsbixyKSxfbygpKSx0PXQuY2hpbGQpLHQ7Y2FzZSA1OnJldHVybiBUaSh0KSxudWxsPT09ZSYmdm8odCksbj10LnR5cGUsaT10LnBlbmRpbmdQcm9wcyxvPW51bGwhPT1lP2UubWVtb2l6ZWRQcm9wczpudWxsLHM9aS5jaGlsZHJlbixtbihuLGkpP3M9bnVsbDpudWxsIT09byYmbW4obixvKSYmKHQuZWZmZWN0VGFnfD0xNikseG8oZSx0KSwxIT09ciYmMSZ0Lm1vZGUmJmkuaGlkZGVuPyh0LmV4cGlyYXRpb25UaW1lPXQuY2hpbGRFeHBpcmF0aW9uVGltZT0xLHQ9bnVsbCk6KHdvKGUsdCxzLHIpLHQ9dC5jaGlsZCksdDtjYXNlIDY6cmV0dXJuIG51bGw9PT1lJiZ2byh0KSxudWxsO2Nhc2UgMTM6cmV0dXJuIFBvKGUsdCxyKTtjYXNlIDQ6cmV0dXJuIEVpKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksbj10LnBlbmRpbmdQcm9wcyxudWxsPT09ZT90LmNoaWxkPXlpKHQsbnVsbCxuLHIpOndvKGUsdCxuLHIpLHQuY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gbj10LnR5cGUsaT10LnBlbmRpbmdQcm9wcyxUbyhlLHQsbixpPXQuZWxlbWVudFR5cGU9PT1uP2k6bmkobixpKSxyKTtjYXNlIDc6cmV0dXJuIHdvKGUsdCx0LnBlbmRpbmdQcm9wcyxyKSx0LmNoaWxkO2Nhc2UgODpjYXNlIDEyOnJldHVybiB3byhlLHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sciksdC5jaGlsZDtjYXNlIDEwOmU6e2lmKG49dC50eXBlLl9jb250ZXh0LGk9dC5wZW5kaW5nUHJvcHMscz10Lm1lbW9pemVkUHJvcHMsVW8odCxvPWkudmFsdWUpLG51bGwhPT1zKXt2YXIgdT1zLnZhbHVlO2lmKDA9PT0obz1adCh1LG8pPzA6MHwoImZ1bmN0aW9uIj09PXR5cGVvZiBuLl9jYWxjdWxhdGVDaGFuZ2VkQml0cz9uLl9jYWxjdWxhdGVDaGFuZ2VkQml0cyh1LG8pOjEwNzM3NDE4MjMpKSl7aWYocy5jaGlsZHJlbj09PWkuY2hpbGRyZW4mJiFObi5jdXJyZW50KXt0PVJvKGUsdCxyKTticmVhayBlfX1lbHNlIGZvcihudWxsIT09KHU9dC5jaGlsZCkmJih1LnJldHVybj10KTtudWxsIT09dTspe3ZhciBjPXUuY29udGV4dERlcGVuZGVuY2llcztpZihudWxsIT09Yyl7cz11LmNoaWxkO2Zvcih2YXIgZj1jLmZpcnN0O251bGwhPT1mOyl7aWYoZi5jb250ZXh0PT09biYmMCE9PShmLm9ic2VydmVkQml0cyZvKSl7MT09PXUudGFnJiYoKGY9UW8ocikpLnRhZz1Hbyxabyh1LGYpKSx1LmV4cGlyYXRpb25UaW1lPHImJih1LmV4cGlyYXRpb25UaW1lPXIpLG51bGwhPT0oZj11LmFsdGVybmF0ZSkmJmYuZXhwaXJhdGlvblRpbWU8ciYmKGYuZXhwaXJhdGlvblRpbWU9ciksZj1yO2Zvcih2YXIgbD11LnJldHVybjtudWxsIT09bDspe3ZhciBoPWwuYWx0ZXJuYXRlO2lmKGwuY2hpbGRFeHBpcmF0aW9uVGltZTxmKWwuY2hpbGRFeHBpcmF0aW9uVGltZT1mLG51bGwhPT1oJiZoLmNoaWxkRXhwaXJhdGlvblRpbWU8ZiYmKGguY2hpbGRFeHBpcmF0aW9uVGltZT1mKTtlbHNle2lmKCEobnVsbCE9PWgmJmguY2hpbGRFeHBpcmF0aW9uVGltZTxmKSlicmVhaztoLmNoaWxkRXhwaXJhdGlvblRpbWU9Zn1sPWwucmV0dXJufWMuZXhwaXJhdGlvblRpbWU8ciYmKGMuZXhwaXJhdGlvblRpbWU9cik7YnJlYWt9Zj1mLm5leHR9fWVsc2Ugcz0xMD09PXUudGFnJiZ1LnR5cGU9PT10LnR5cGU/bnVsbDp1LmNoaWxkO2lmKG51bGwhPT1zKXMucmV0dXJuPXU7ZWxzZSBmb3Iocz11O251bGwhPT1zOyl7aWYocz09PXQpe3M9bnVsbDticmVha31pZihudWxsIT09KHU9cy5zaWJsaW5nKSl7dS5yZXR1cm49cy5yZXR1cm4scz11O2JyZWFrfXM9cy5yZXR1cm59dT1zfX13byhlLHQsaS5jaGlsZHJlbixyKSx0PXQuY2hpbGR9cmV0dXJuIHQ7Y2FzZSA5OnJldHVybiBpPXQudHlwZSxuPShvPXQucGVuZGluZ1Byb3BzKS5jaGlsZHJlbixWbyh0LHIpLG49bihpPXFvKGksby51bnN0YWJsZV9vYnNlcnZlZEJpdHMpKSx0LmVmZmVjdFRhZ3w9MSx3byhlLHQsbixyKSx0LmNoaWxkO2Nhc2UgMTQ6cmV0dXJuIG89bmkoaT10LnR5cGUsdC5wZW5kaW5nUHJvcHMpLEFvKGUsdCxpLG89bmkoaS50eXBlLG8pLG4scik7Y2FzZSAxNTpyZXR1cm4gQ28oZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuLHIpO2Nhc2UgMTc6cmV0dXJuIG49dC50eXBlLGk9dC5wZW5kaW5nUHJvcHMsaT10LmVsZW1lbnRUeXBlPT09bj9pOm5pKG4saSksbnVsbCE9PWUmJihlLmFsdGVybmF0ZT1udWxsLHQuYWx0ZXJuYXRlPW51bGwsdC5lZmZlY3RUYWd8PTIpLHQudGFnPTEsQm4obik/KGU9ITAsVW4odCkpOmU9ITEsVm8odCxyKSx1aSh0LG4saSksZmkodCxuLGksciksT28obnVsbCx0LG4sITAsZSxyKX1hKCIxNTYiKX12YXIgTW89e2N1cnJlbnQ6bnVsbH0sTG89bnVsbCxEbz1udWxsLGpvPW51bGw7ZnVuY3Rpb24gVW8oZSx0KXt2YXIgcj1lLnR5cGUuX2NvbnRleHQ7SW4oTW8sci5fY3VycmVudFZhbHVlKSxyLl9jdXJyZW50VmFsdWU9dH1mdW5jdGlvbiBGbyhlKXt2YXIgdD1Nby5jdXJyZW50O3huKE1vKSxlLnR5cGUuX2NvbnRleHQuX2N1cnJlbnRWYWx1ZT10fWZ1bmN0aW9uIFZvKGUsdCl7TG89ZSxqbz1Ebz1udWxsO3ZhciByPWUuY29udGV4dERlcGVuZGVuY2llcztudWxsIT09ciYmci5leHBpcmF0aW9uVGltZT49dCYmKEVvPSEwKSxlLmNvbnRleHREZXBlbmRlbmNpZXM9bnVsbH1mdW5jdGlvbiBxbyhlLHQpe3JldHVybiBqbyE9PWUmJiExIT09dCYmMCE9PXQmJigibnVtYmVyIj09PXR5cGVvZiB0JiYxMDczNzQxODIzIT09dHx8KGpvPWUsdD0xMDczNzQxODIzKSx0PXtjb250ZXh0OmUsb2JzZXJ2ZWRCaXRzOnQsbmV4dDpudWxsfSxudWxsPT09RG8/KG51bGw9PT1MbyYmYSgiMzA4IiksRG89dCxMby5jb250ZXh0RGVwZW5kZW5jaWVzPXtmaXJzdDp0LGV4cGlyYXRpb25UaW1lOjB9KTpEbz1Eby5uZXh0PXQpLGUuX2N1cnJlbnRWYWx1ZX12YXIgS289MCx6bz0xLEdvPTIsSG89MyxXbz0hMTtmdW5jdGlvbiBZbyhlKXtyZXR1cm57YmFzZVN0YXRlOmUsZmlyc3RVcGRhdGU6bnVsbCxsYXN0VXBkYXRlOm51bGwsZmlyc3RDYXB0dXJlZFVwZGF0ZTpudWxsLGxhc3RDYXB0dXJlZFVwZGF0ZTpudWxsLGZpcnN0RWZmZWN0Om51bGwsbGFzdEVmZmVjdDpudWxsLGZpcnN0Q2FwdHVyZWRFZmZlY3Q6bnVsbCxsYXN0Q2FwdHVyZWRFZmZlY3Q6bnVsbH19ZnVuY3Rpb24gWG8oZSl7cmV0dXJue2Jhc2VTdGF0ZTplLmJhc2VTdGF0ZSxmaXJzdFVwZGF0ZTplLmZpcnN0VXBkYXRlLGxhc3RVcGRhdGU6ZS5sYXN0VXBkYXRlLGZpcnN0Q2FwdHVyZWRVcGRhdGU6bnVsbCxsYXN0Q2FwdHVyZWRVcGRhdGU6bnVsbCxmaXJzdEVmZmVjdDpudWxsLGxhc3RFZmZlY3Q6bnVsbCxmaXJzdENhcHR1cmVkRWZmZWN0Om51bGwsbGFzdENhcHR1cmVkRWZmZWN0Om51bGx9fWZ1bmN0aW9uIFFvKGUpe3JldHVybntleHBpcmF0aW9uVGltZTplLHRhZzpLbyxwYXlsb2FkOm51bGwsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGwsbmV4dEVmZmVjdDpudWxsfX1mdW5jdGlvbiAkbyhlLHQpe251bGw9PT1lLmxhc3RVcGRhdGU/ZS5maXJzdFVwZGF0ZT1lLmxhc3RVcGRhdGU9dDooZS5sYXN0VXBkYXRlLm5leHQ9dCxlLmxhc3RVcGRhdGU9dCl9ZnVuY3Rpb24gWm8oZSx0KXt2YXIgcj1lLmFsdGVybmF0ZTtpZihudWxsPT09cil7dmFyIG49ZS51cGRhdGVRdWV1ZSxpPW51bGw7bnVsbD09PW4mJihuPWUudXBkYXRlUXVldWU9WW8oZS5tZW1vaXplZFN0YXRlKSl9ZWxzZSBuPWUudXBkYXRlUXVldWUsaT1yLnVwZGF0ZVF1ZXVlLG51bGw9PT1uP251bGw9PT1pPyhuPWUudXBkYXRlUXVldWU9WW8oZS5tZW1vaXplZFN0YXRlKSxpPXIudXBkYXRlUXVldWU9WW8oci5tZW1vaXplZFN0YXRlKSk6bj1lLnVwZGF0ZVF1ZXVlPVhvKGkpOm51bGw9PT1pJiYoaT1yLnVwZGF0ZVF1ZXVlPVhvKG4pKTtudWxsPT09aXx8bj09PWk/JG8obix0KTpudWxsPT09bi5sYXN0VXBkYXRlfHxudWxsPT09aS5sYXN0VXBkYXRlPygkbyhuLHQpLCRvKGksdCkpOigkbyhuLHQpLGkubGFzdFVwZGF0ZT10KX1mdW5jdGlvbiBKbyhlLHQpe3ZhciByPWUudXBkYXRlUXVldWU7bnVsbD09PShyPW51bGw9PT1yP2UudXBkYXRlUXVldWU9WW8oZS5tZW1vaXplZFN0YXRlKTplYShlLHIpKS5sYXN0Q2FwdHVyZWRVcGRhdGU/ci5maXJzdENhcHR1cmVkVXBkYXRlPXIubGFzdENhcHR1cmVkVXBkYXRlPXQ6KHIubGFzdENhcHR1cmVkVXBkYXRlLm5leHQ9dCxyLmxhc3RDYXB0dXJlZFVwZGF0ZT10KX1mdW5jdGlvbiBlYShlLHQpe3ZhciByPWUuYWx0ZXJuYXRlO3JldHVybiBudWxsIT09ciYmdD09PXIudXBkYXRlUXVldWUmJih0PWUudXBkYXRlUXVldWU9WG8odCkpLHR9ZnVuY3Rpb24gdGEoZSx0LHIsbixvLGEpe3N3aXRjaChyLnRhZyl7Y2FzZSB6bzpyZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mKGU9ci5wYXlsb2FkKT9lLmNhbGwoYSxuLG8pOmU7Y2FzZSBIbzplLmVmZmVjdFRhZz0tMjA0OSZlLmVmZmVjdFRhZ3w2NDtjYXNlIEtvOmlmKG51bGw9PT0obz0iZnVuY3Rpb24iPT09dHlwZW9mKGU9ci5wYXlsb2FkKT9lLmNhbGwoYSxuLG8pOmUpfHx2b2lkIDA9PT1vKWJyZWFrO3JldHVybiBpKHt9LG4sbyk7Y2FzZSBHbzpXbz0hMH1yZXR1cm4gbn1mdW5jdGlvbiByYShlLHQscixuLGkpe1dvPSExO2Zvcih2YXIgbz0odD1lYShlLHQpKS5iYXNlU3RhdGUsYT1udWxsLHM9MCx1PXQuZmlyc3RVcGRhdGUsYz1vO251bGwhPT11Oyl7dmFyIGY9dS5leHBpcmF0aW9uVGltZTtmPGk/KG51bGw9PT1hJiYoYT11LG89YyksczxmJiYocz1mKSk6KGM9dGEoZSwwLHUsYyxyLG4pLG51bGwhPT11LmNhbGxiYWNrJiYoZS5lZmZlY3RUYWd8PTMyLHUubmV4dEVmZmVjdD1udWxsLG51bGw9PT10Lmxhc3RFZmZlY3Q/dC5maXJzdEVmZmVjdD10Lmxhc3RFZmZlY3Q9dToodC5sYXN0RWZmZWN0Lm5leHRFZmZlY3Q9dSx0Lmxhc3RFZmZlY3Q9dSkpKSx1PXUubmV4dH1mb3IoZj1udWxsLHU9dC5maXJzdENhcHR1cmVkVXBkYXRlO251bGwhPT11Oyl7dmFyIGw9dS5leHBpcmF0aW9uVGltZTtsPGk/KG51bGw9PT1mJiYoZj11LG51bGw9PT1hJiYobz1jKSksczxsJiYocz1sKSk6KGM9dGEoZSwwLHUsYyxyLG4pLG51bGwhPT11LmNhbGxiYWNrJiYoZS5lZmZlY3RUYWd8PTMyLHUubmV4dEVmZmVjdD1udWxsLG51bGw9PT10Lmxhc3RDYXB0dXJlZEVmZmVjdD90LmZpcnN0Q2FwdHVyZWRFZmZlY3Q9dC5sYXN0Q2FwdHVyZWRFZmZlY3Q9dToodC5sYXN0Q2FwdHVyZWRFZmZlY3QubmV4dEVmZmVjdD11LHQubGFzdENhcHR1cmVkRWZmZWN0PXUpKSksdT11Lm5leHR9bnVsbD09PWEmJih0Lmxhc3RVcGRhdGU9bnVsbCksbnVsbD09PWY/dC5sYXN0Q2FwdHVyZWRVcGRhdGU9bnVsbDplLmVmZmVjdFRhZ3w9MzIsbnVsbD09PWEmJm51bGw9PT1mJiYobz1jKSx0LmJhc2VTdGF0ZT1vLHQuZmlyc3RVcGRhdGU9YSx0LmZpcnN0Q2FwdHVyZWRVcGRhdGU9ZixlLmV4cGlyYXRpb25UaW1lPXMsZS5tZW1vaXplZFN0YXRlPWN9ZnVuY3Rpb24gbmEoZSx0LHIpe251bGwhPT10LmZpcnN0Q2FwdHVyZWRVcGRhdGUmJihudWxsIT09dC5sYXN0VXBkYXRlJiYodC5sYXN0VXBkYXRlLm5leHQ9dC5maXJzdENhcHR1cmVkVXBkYXRlLHQubGFzdFVwZGF0ZT10Lmxhc3RDYXB0dXJlZFVwZGF0ZSksdC5maXJzdENhcHR1cmVkVXBkYXRlPXQubGFzdENhcHR1cmVkVXBkYXRlPW51bGwpLGlhKHQuZmlyc3RFZmZlY3QsciksdC5maXJzdEVmZmVjdD10Lmxhc3RFZmZlY3Q9bnVsbCxpYSh0LmZpcnN0Q2FwdHVyZWRFZmZlY3QsciksdC5maXJzdENhcHR1cmVkRWZmZWN0PXQubGFzdENhcHR1cmVkRWZmZWN0PW51bGx9ZnVuY3Rpb24gaWEoZSx0KXtmb3IoO251bGwhPT1lOyl7dmFyIHI9ZS5jYWxsYmFjaztpZihudWxsIT09cil7ZS5jYWxsYmFjaz1udWxsO3ZhciBuPXQ7ImZ1bmN0aW9uIiE9PXR5cGVvZiByJiZhKCIxOTEiLHIpLHIuY2FsbChuKX1lPWUubmV4dEVmZmVjdH19ZnVuY3Rpb24gb2EoZSx0KXtyZXR1cm57dmFsdWU6ZSxzb3VyY2U6dCxzdGFjazp1dCh0KX19ZnVuY3Rpb24gYWEoZSl7ZS5lZmZlY3RUYWd8PTR9dmFyIHNhPXZvaWQgMCx1YT12b2lkIDAsY2E9dm9pZCAwLGZhPXZvaWQgMDtzYT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj10LmNoaWxkO251bGwhPT1yOyl7aWYoNT09PXIudGFnfHw2PT09ci50YWcpZS5hcHBlbmRDaGlsZChyLnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09ci50YWcmJm51bGwhPT1yLmNoaWxkKXtyLmNoaWxkLnJldHVybj1yLHI9ci5jaGlsZDtjb250aW51ZX1pZihyPT09dClicmVhaztmb3IoO251bGw9PT1yLnNpYmxpbmc7KXtpZihudWxsPT09ci5yZXR1cm58fHIucmV0dXJuPT09dClyZXR1cm47cj1yLnJldHVybn1yLnNpYmxpbmcucmV0dXJuPXIucmV0dXJuLHI9ci5zaWJsaW5nfX0sdWE9ZnVuY3Rpb24oKXt9LGNhPWZ1bmN0aW9uKGUsdCxyLG4sbyl7dmFyIGE9ZS5tZW1vaXplZFByb3BzO2lmKGEhPT1uKXt2YXIgcz10LnN0YXRlTm9kZTtzd2l0Y2goU2kobWkuY3VycmVudCksZT1udWxsLHIpe2Nhc2UiaW5wdXQiOmE9YnQocyxhKSxuPWJ0KHMsbiksZT1bXTticmVhaztjYXNlIm9wdGlvbiI6YT1IcihzLGEpLG49SHIocyxuKSxlPVtdO2JyZWFrO2Nhc2Uic2VsZWN0IjphPWkoe30sYSx7dmFsdWU6dm9pZCAwfSksbj1pKHt9LG4se3ZhbHVlOnZvaWQgMH0pLGU9W107YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6YT1ZcihzLGEpLG49WXIocyxuKSxlPVtdO2JyZWFrO2RlZmF1bHQ6ImZ1bmN0aW9uIiE9PXR5cGVvZiBhLm9uQ2xpY2smJiJmdW5jdGlvbiI9PT10eXBlb2Ygbi5vbkNsaWNrJiYocy5vbmNsaWNrPWRuKX1sbihyLG4pLHM9cj12b2lkIDA7dmFyIHU9bnVsbDtmb3IociBpbiBhKWlmKCFuLmhhc093blByb3BlcnR5KHIpJiZhLmhhc093blByb3BlcnR5KHIpJiZudWxsIT1hW3JdKWlmKCJzdHlsZSI9PT1yKXt2YXIgYz1hW3JdO2ZvcihzIGluIGMpYy5oYXNPd25Qcm9wZXJ0eShzKSYmKHV8fCh1PXt9KSx1W3NdPSIiKX1lbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiE9PXImJiJjaGlsZHJlbiIhPT1yJiYic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiE9PXImJiJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciIT09ciYmImF1dG9Gb2N1cyIhPT1yJiYoYi5oYXNPd25Qcm9wZXJ0eShyKT9lfHwoZT1bXSk6KGU9ZXx8W10pLnB1c2gocixudWxsKSk7Zm9yKHIgaW4gbil7dmFyIGY9bltyXTtpZihjPW51bGwhPWE/YVtyXTp2b2lkIDAsbi5oYXNPd25Qcm9wZXJ0eShyKSYmZiE9PWMmJihudWxsIT1mfHxudWxsIT1jKSlpZigic3R5bGUiPT09cilpZihjKXtmb3IocyBpbiBjKSFjLmhhc093blByb3BlcnR5KHMpfHxmJiZmLmhhc093blByb3BlcnR5KHMpfHwodXx8KHU9e30pLHVbc109IiIpO2ZvcihzIGluIGYpZi5oYXNPd25Qcm9wZXJ0eShzKSYmY1tzXSE9PWZbc10mJih1fHwodT17fSksdVtzXT1mW3NdKX1lbHNlIHV8fChlfHwoZT1bXSksZS5wdXNoKHIsdSkpLHU9ZjtlbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PXI/KGY9Zj9mLl9faHRtbDp2b2lkIDAsYz1jP2MuX19odG1sOnZvaWQgMCxudWxsIT1mJiZjIT09ZiYmKGU9ZXx8W10pLnB1c2gociwiIitmKSk6ImNoaWxkcmVuIj09PXI/Yz09PWZ8fCJzdHJpbmciIT09dHlwZW9mIGYmJiJudW1iZXIiIT09dHlwZW9mIGZ8fChlPWV8fFtdKS5wdXNoKHIsIiIrZik6InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT1yJiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PXImJihiLmhhc093blByb3BlcnR5KHIpPyhudWxsIT1mJiZwbihvLHIpLGV8fGM9PT1mfHwoZT1bXSkpOihlPWV8fFtdKS5wdXNoKHIsZikpfXUmJihlPWV8fFtdKS5wdXNoKCJzdHlsZSIsdSksbz1lLCh0LnVwZGF0ZVF1ZXVlPW8pJiZhYSh0KX19LGZhPWZ1bmN0aW9uKGUsdCxyLG4pe3IhPT1uJiZhYSh0KX07dmFyIGxhPSJmdW5jdGlvbiI9PT10eXBlb2YgV2Vha1NldD9XZWFrU2V0OlNldDtmdW5jdGlvbiBoYShlLHQpe3ZhciByPXQuc291cmNlLG49dC5zdGFjaztudWxsPT09biYmbnVsbCE9PXImJihuPXV0KHIpKSxudWxsIT09ciYmc3Qoci50eXBlKSx0PXQudmFsdWUsbnVsbCE9PWUmJjE9PT1lLnRhZyYmc3QoZS50eXBlKTt0cnl7Y29uc29sZS5lcnJvcih0KX1jYXRjaChpKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgaX0pfX1mdW5jdGlvbiBwYShlKXt2YXIgdD1lLnJlZjtpZihudWxsIT09dClpZigiZnVuY3Rpb24iPT09dHlwZW9mIHQpdHJ5e3QobnVsbCl9Y2F0Y2gocil7WWEoZSxyKX1lbHNlIHQuY3VycmVudD1udWxsfWZ1bmN0aW9uIGRhKGUsdCxyKXtpZihudWxsIT09KHI9bnVsbCE9PShyPXIudXBkYXRlUXVldWUpP3IubGFzdEVmZmVjdDpudWxsKSl7dmFyIG49cj1yLm5leHQ7ZG97aWYoKG4udGFnJmUpIT09Q2kpe3ZhciBpPW4uZGVzdHJveTtuLmRlc3Ryb3k9dm9pZCAwLHZvaWQgMCE9PWkmJmkoKX0obi50YWcmdCkhPT1DaSYmKGk9bi5jcmVhdGUsbi5kZXN0cm95PWkoKSksbj1uLm5leHR9d2hpbGUobiE9PXIpfX1mdW5jdGlvbiB5YShlKXtzd2l0Y2goImZ1bmN0aW9uIj09PXR5cGVvZiBxbiYmcW4oZSksZS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTp2YXIgdD1lLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT10JiZudWxsIT09KHQ9dC5sYXN0RWZmZWN0KSl7dmFyIHI9dD10Lm5leHQ7ZG97dmFyIG49ci5kZXN0cm95O2lmKHZvaWQgMCE9PW4pe3ZhciBpPWU7dHJ5e24oKX1jYXRjaChvKXtZYShpLG8pfX1yPXIubmV4dH13aGlsZShyIT09dCl9YnJlYWs7Y2FzZSAxOmlmKHBhKGUpLCJmdW5jdGlvbiI9PT10eXBlb2YodD1lLnN0YXRlTm9kZSkuY29tcG9uZW50V2lsbFVubW91bnQpdHJ5e3QucHJvcHM9ZS5tZW1vaXplZFByb3BzLHQuc3RhdGU9ZS5tZW1vaXplZFN0YXRlLHQuY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaChvKXtZYShlLG8pfWJyZWFrO2Nhc2UgNTpwYShlKTticmVhaztjYXNlIDQ6bWEoZSl9fWZ1bmN0aW9uIGdhKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8ND09PWUudGFnfWZ1bmN0aW9uIHZhKGUpe2U6e2Zvcih2YXIgdD1lLnJldHVybjtudWxsIT09dDspe2lmKGdhKHQpKXt2YXIgcj10O2JyZWFrIGV9dD10LnJldHVybn1hKCIxNjAiKSxyPXZvaWQgMH12YXIgbj10PXZvaWQgMDtzd2l0Y2goci50YWcpe2Nhc2UgNTp0PXIuc3RhdGVOb2RlLG49ITE7YnJlYWs7Y2FzZSAzOmNhc2UgNDp0PXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sbj0hMDticmVhaztkZWZhdWx0OmEoIjE2MSIpfTE2JnIuZWZmZWN0VGFnJiYob24odCwiIiksci5lZmZlY3RUYWcmPS0xNyk7ZTp0OmZvcihyPWU7Oyl7Zm9yKDtudWxsPT09ci5zaWJsaW5nOyl7aWYobnVsbD09PXIucmV0dXJufHxnYShyLnJldHVybikpe3I9bnVsbDticmVhayBlfXI9ci5yZXR1cm59Zm9yKHIuc2libGluZy5yZXR1cm49ci5yZXR1cm4scj1yLnNpYmxpbmc7NSE9PXIudGFnJiY2IT09ci50YWcmJjE4IT09ci50YWc7KXtpZigyJnIuZWZmZWN0VGFnKWNvbnRpbnVlIHQ7aWYobnVsbD09PXIuY2hpbGR8fDQ9PT1yLnRhZyljb250aW51ZSB0O3IuY2hpbGQucmV0dXJuPXIscj1yLmNoaWxkfWlmKCEoMiZyLmVmZmVjdFRhZykpe3I9ci5zdGF0ZU5vZGU7YnJlYWsgZX19Zm9yKHZhciBpPWU7Oyl7aWYoNT09PWkudGFnfHw2PT09aS50YWcpaWYocilpZihuKXt2YXIgbz10LHM9aS5zdGF0ZU5vZGUsdT1yOzg9PT1vLm5vZGVUeXBlP28ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocyx1KTpvLmluc2VydEJlZm9yZShzLHUpfWVsc2UgdC5pbnNlcnRCZWZvcmUoaS5zdGF0ZU5vZGUscik7ZWxzZSBuPyhzPXQsdT1pLnN0YXRlTm9kZSw4PT09cy5ub2RlVHlwZT8obz1zLnBhcmVudE5vZGUpLmluc2VydEJlZm9yZSh1LHMpOihvPXMpLmFwcGVuZENoaWxkKHUpLG51bGwhPT0ocz1zLl9yZWFjdFJvb3RDb250YWluZXIpJiZ2b2lkIDAhPT1zfHxudWxsIT09by5vbmNsaWNrfHwoby5vbmNsaWNrPWRuKSk6dC5hcHBlbmRDaGlsZChpLnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09aS50YWcmJm51bGwhPT1pLmNoaWxkKXtpLmNoaWxkLnJldHVybj1pLGk9aS5jaGlsZDtjb250aW51ZX1pZihpPT09ZSlicmVhaztmb3IoO251bGw9PT1pLnNpYmxpbmc7KXtpZihudWxsPT09aS5yZXR1cm58fGkucmV0dXJuPT09ZSlyZXR1cm47aT1pLnJldHVybn1pLnNpYmxpbmcucmV0dXJuPWkucmV0dXJuLGk9aS5zaWJsaW5nfX1mdW5jdGlvbiBtYShlKXtmb3IodmFyIHQ9ZSxyPSExLG49dm9pZCAwLGk9dm9pZCAwOzspe2lmKCFyKXtyPXQucmV0dXJuO2U6Zm9yKDs7KXtzd2l0Y2gobnVsbD09PXImJmEoIjE2MCIpLHIudGFnKXtjYXNlIDU6bj1yLnN0YXRlTm9kZSxpPSExO2JyZWFrIGU7Y2FzZSAzOmNhc2UgNDpuPXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8saT0hMDticmVhayBlfXI9ci5yZXR1cm59cj0hMH1pZig1PT09dC50YWd8fDY9PT10LnRhZyl7ZTpmb3IodmFyIG89dCxzPW87OylpZih5YShzKSxudWxsIT09cy5jaGlsZCYmNCE9PXMudGFnKXMuY2hpbGQucmV0dXJuPXMscz1zLmNoaWxkO2Vsc2V7aWYocz09PW8pYnJlYWs7Zm9yKDtudWxsPT09cy5zaWJsaW5nOyl7aWYobnVsbD09PXMucmV0dXJufHxzLnJldHVybj09PW8pYnJlYWsgZTtzPXMucmV0dXJufXMuc2libGluZy5yZXR1cm49cy5yZXR1cm4scz1zLnNpYmxpbmd9aT8obz1uLHM9dC5zdGF0ZU5vZGUsOD09PW8ubm9kZVR5cGU/by5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHMpOm8ucmVtb3ZlQ2hpbGQocykpOm4ucmVtb3ZlQ2hpbGQodC5zdGF0ZU5vZGUpfWVsc2UgaWYoND09PXQudGFnKXtpZihudWxsIT09dC5jaGlsZCl7bj10LnN0YXRlTm9kZS5jb250YWluZXJJbmZvLGk9ITAsdC5jaGlsZC5yZXR1cm49dCx0PXQuY2hpbGQ7Y29udGludWV9fWVsc2UgaWYoeWEodCksbnVsbCE9PXQuY2hpbGQpe3QuY2hpbGQucmV0dXJuPXQsdD10LmNoaWxkO2NvbnRpbnVlfWlmKHQ9PT1lKWJyZWFrO2Zvcig7bnVsbD09PXQuc2libGluZzspe2lmKG51bGw9PT10LnJldHVybnx8dC5yZXR1cm49PT1lKXJldHVybjs0PT09KHQ9dC5yZXR1cm4pLnRhZyYmKHI9ITEpfXQuc2libGluZy5yZXR1cm49dC5yZXR1cm4sdD10LnNpYmxpbmd9fWZ1bmN0aW9uIGJhKGUsdCl7c3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6ZGEoSWksa2ksdCk7YnJlYWs7Y2FzZSAxOmJyZWFrO2Nhc2UgNTp2YXIgcj10LnN0YXRlTm9kZTtpZihudWxsIT1yKXt2YXIgbj10Lm1lbW9pemVkUHJvcHM7ZT1udWxsIT09ZT9lLm1lbW9pemVkUHJvcHM6bjt2YXIgaT10LnR5cGUsbz10LnVwZGF0ZVF1ZXVlO3QudXBkYXRlUXVldWU9bnVsbCxudWxsIT09byYmZnVuY3Rpb24oZSx0LHIsbixpKXtlW0JdPWksImlucHV0Ij09PXImJiJyYWRpbyI9PT1pLnR5cGUmJm51bGwhPWkubmFtZSYmU3QoZSxpKSxobihyLG4pLG49aG4ocixpKTtmb3IodmFyIG89MDtvPHQubGVuZ3RoO28rPTIpe3ZhciBhPXRbb10scz10W28rMV07InN0eWxlIj09PWE/Y24oZSxzKToiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiPT09YT9ubihlLHMpOiJjaGlsZHJlbiI9PT1hP29uKGUscyk6dnQoZSxhLHMsbil9c3dpdGNoKHIpe2Nhc2UiaW5wdXQiOkV0KGUsaSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6UXIoZSxpKTticmVhaztjYXNlInNlbGVjdCI6dD1lLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGUsZS5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlPSEhaS5tdWx0aXBsZSxudWxsIT0ocj1pLnZhbHVlKT9XcihlLCEhaS5tdWx0aXBsZSxyLCExKTp0IT09ISFpLm11bHRpcGxlJiYobnVsbCE9aS5kZWZhdWx0VmFsdWU/V3IoZSwhIWkubXVsdGlwbGUsaS5kZWZhdWx0VmFsdWUsITApOldyKGUsISFpLm11bHRpcGxlLGkubXVsdGlwbGU/W106IiIsITEpKX19KHIsbyxpLGUsbil9YnJlYWs7Y2FzZSA2Om51bGw9PT10LnN0YXRlTm9kZSYmYSgiMTYyIiksdC5zdGF0ZU5vZGUubm9kZVZhbHVlPXQubWVtb2l6ZWRQcm9wczticmVhaztjYXNlIDM6Y2FzZSAxMjpicmVhaztjYXNlIDEzOmlmKHI9dC5tZW1vaXplZFN0YXRlLG49dm9pZCAwLGU9dCxudWxsPT09cj9uPSExOihuPSEwLGU9dC5jaGlsZCwwPT09ci50aW1lZE91dEF0JiYoci50aW1lZE91dEF0PUVzKCkpKSxudWxsIT09ZSYmZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9ZTs7KXtpZig1PT09ci50YWcpe3ZhciBuPXIuc3RhdGVOb2RlO2lmKHQpbi5zdHlsZS5kaXNwbGF5PSJub25lIjtlbHNle249ci5zdGF0ZU5vZGU7dmFyIGk9ci5tZW1vaXplZFByb3BzLnN0eWxlO2k9dm9pZCAwIT09aSYmbnVsbCE9PWkmJmkuaGFzT3duUHJvcGVydHkoImRpc3BsYXkiKT9pLmRpc3BsYXk6bnVsbCxuLnN0eWxlLmRpc3BsYXk9dW4oImRpc3BsYXkiLGkpfX1lbHNlIGlmKDY9PT1yLnRhZylyLnN0YXRlTm9kZS5ub2RlVmFsdWU9dD8iIjpyLm1lbW9pemVkUHJvcHM7ZWxzZXtpZigxMz09PXIudGFnJiZudWxsIT09ci5tZW1vaXplZFN0YXRlKXsobj1yLmNoaWxkLnNpYmxpbmcpLnJldHVybj1yLHI9bjtjb250aW51ZX1pZihudWxsIT09ci5jaGlsZCl7ci5jaGlsZC5yZXR1cm49cixyPXIuY2hpbGQ7Y29udGludWV9fWlmKHI9PT1lKWJyZWFrO2Zvcig7bnVsbD09PXIuc2libGluZzspe2lmKG51bGw9PT1yLnJldHVybnx8ci5yZXR1cm49PT1lKXJldHVybjtyPXIucmV0dXJufXIuc2libGluZy5yZXR1cm49ci5yZXR1cm4scj1yLnNpYmxpbmd9fShlLG4pLG51bGwhPT0ocj10LnVwZGF0ZVF1ZXVlKSl7dC51cGRhdGVRdWV1ZT1udWxsO3ZhciBzPXQuc3RhdGVOb2RlO251bGw9PT1zJiYocz10LnN0YXRlTm9kZT1uZXcgbGEpLHIuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgcj1mdW5jdGlvbihlLHQpe3ZhciByPWUuc3RhdGVOb2RlO251bGwhPT1yJiZyLmRlbGV0ZSh0KSx0PVhhKHQ9RXMoKSxlKSxudWxsIT09KGU9JGEoZSx0KSkmJihKbihlLHQpLDAhPT0odD1lLmV4cGlyYXRpb25UaW1lKSYmd3MoZSx0KSl9LmJpbmQobnVsbCx0LGUpO3MuaGFzKGUpfHwocy5hZGQoZSksZS50aGVuKHIscikpfSl9YnJlYWs7Y2FzZSAxNzpicmVhaztkZWZhdWx0OmEoIjE2MyIpfX12YXIgX2E9ImZ1bmN0aW9uIj09PXR5cGVvZiBXZWFrTWFwP1dlYWtNYXA6TWFwO2Z1bmN0aW9uIFNhKGUsdCxyKXsocj1RbyhyKSkudGFnPUhvLHIucGF5bG9hZD17ZWxlbWVudDpudWxsfTt2YXIgbj10LnZhbHVlO3JldHVybiByLmNhbGxiYWNrPWZ1bmN0aW9uKCl7UHMobiksaGEoZSx0KX0scn1mdW5jdGlvbiBFYShlLHQscil7KHI9UW8ocikpLnRhZz1Ibzt2YXIgbj1lLnR5cGUuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yO2lmKCJmdW5jdGlvbiI9PT10eXBlb2Ygbil7dmFyIGk9dC52YWx1ZTtyLnBheWxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm4gbihpKX19dmFyIG89ZS5zdGF0ZU5vZGU7cmV0dXJuIG51bGwhPT1vJiYiZnVuY3Rpb24iPT09dHlwZW9mIG8uY29tcG9uZW50RGlkQ2F0Y2gmJihyLmNhbGxiYWNrPWZ1bmN0aW9uKCl7ImZ1bmN0aW9uIiE9PXR5cGVvZiBuJiYobnVsbD09PWphP2phPW5ldyBTZXQoW3RoaXNdKTpqYS5hZGQodGhpcykpO3ZhciByPXQudmFsdWUsaT10LnN0YWNrO2hhKGUsdCksdGhpcy5jb21wb25lbnREaWRDYXRjaChyLHtjb21wb25lbnRTdGFjazpudWxsIT09aT9pOiIifSl9KSxyfWZ1bmN0aW9uIHdhKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAxOkJuKGUudHlwZSkmJk1uKCk7dmFyIHQ9ZS5lZmZlY3RUYWc7cmV0dXJuIDIwNDgmdD8oZS5lZmZlY3RUYWc9LTIwNDkmdHw2NCxlKTpudWxsO2Nhc2UgMzpyZXR1cm4gd2koKSxMbigpLDAhPT0oNjQmKHQ9ZS5lZmZlY3RUYWcpKSYmYSgiMjg1IiksZS5lZmZlY3RUYWc9LTIwNDkmdHw2NCxlO2Nhc2UgNTpyZXR1cm4gQWkoZSksbnVsbDtjYXNlIDEzOnJldHVybiAyMDQ4Jih0PWUuZWZmZWN0VGFnKT8oZS5lZmZlY3RUYWc9LTIwNDkmdHw2NCxlKTpudWxsO2Nhc2UgMTg6cmV0dXJuIG51bGw7Y2FzZSA0OnJldHVybiB3aSgpLG51bGw7Y2FzZSAxMDpyZXR1cm4gRm8oZSksbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX12YXIgVGE9emUuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixBYT16ZS5SZWFjdEN1cnJlbnRPd25lcixDYT0xMDczNzQxODIyLHhhPSExLElhPW51bGwsa2E9bnVsbCxPYT0wLE5hPS0xLFBhPSExLFJhPW51bGwsQmE9ITEsTWE9bnVsbCxMYT1udWxsLERhPW51bGwsamE9bnVsbDtmdW5jdGlvbiBVYSgpe2lmKG51bGwhPT1JYSlmb3IodmFyIGU9SWEucmV0dXJuO251bGwhPT1lOyl7dmFyIHQ9ZTtzd2l0Y2godC50YWcpe2Nhc2UgMTp2YXIgcj10LnR5cGUuY2hpbGRDb250ZXh0VHlwZXM7bnVsbCE9PXImJnZvaWQgMCE9PXImJk1uKCk7YnJlYWs7Y2FzZSAzOndpKCksTG4oKTticmVhaztjYXNlIDU6QWkodCk7YnJlYWs7Y2FzZSA0OndpKCk7YnJlYWs7Y2FzZSAxMDpGbyh0KX1lPWUucmV0dXJufWthPW51bGwsT2E9MCxOYT0tMSxQYT0hMSxJYT1udWxsfWZ1bmN0aW9uIEZhKCl7Zm9yKDtudWxsIT09UmE7KXt2YXIgZT1SYS5lZmZlY3RUYWc7aWYoMTYmZSYmb24oUmEuc3RhdGVOb2RlLCIiKSwxMjgmZSl7dmFyIHQ9UmEuYWx0ZXJuYXRlO251bGwhPT10JiYobnVsbCE9PSh0PXQucmVmKSYmKCJmdW5jdGlvbiI9PT10eXBlb2YgdD90KG51bGwpOnQuY3VycmVudD1udWxsKSl9c3dpdGNoKDE0JmUpe2Nhc2UgMjp2YShSYSksUmEuZWZmZWN0VGFnJj0tMzticmVhaztjYXNlIDY6dmEoUmEpLFJhLmVmZmVjdFRhZyY9LTMsYmEoUmEuYWx0ZXJuYXRlLFJhKTticmVhaztjYXNlIDQ6YmEoUmEuYWx0ZXJuYXRlLFJhKTticmVhaztjYXNlIDg6bWEoZT1SYSksZS5yZXR1cm49bnVsbCxlLmNoaWxkPW51bGwsZS5tZW1vaXplZFN0YXRlPW51bGwsZS51cGRhdGVRdWV1ZT1udWxsLG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihlLnJldHVybj1udWxsLGUuY2hpbGQ9bnVsbCxlLm1lbW9pemVkU3RhdGU9bnVsbCxlLnVwZGF0ZVF1ZXVlPW51bGwpfVJhPVJhLm5leHRFZmZlY3R9fWZ1bmN0aW9uIFZhKCl7Zm9yKDtudWxsIT09UmE7KXtpZigyNTYmUmEuZWZmZWN0VGFnKWU6e3ZhciBlPVJhLmFsdGVybmF0ZSx0PVJhO3N3aXRjaCh0LnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpkYSh4aSxDaSx0KTticmVhayBlO2Nhc2UgMTppZigyNTYmdC5lZmZlY3RUYWcmJm51bGwhPT1lKXt2YXIgcj1lLm1lbW9pemVkUHJvcHMsbj1lLm1lbW9pemVkU3RhdGU7dD0oZT10LnN0YXRlTm9kZSkuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUodC5lbGVtZW50VHlwZT09PXQudHlwZT9yOm5pKHQudHlwZSxyKSxuKSxlLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlPXR9YnJlYWsgZTtjYXNlIDM6Y2FzZSA1OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhayBlO2RlZmF1bHQ6YSgiMTYzIil9fVJhPVJhLm5leHRFZmZlY3R9fWZ1bmN0aW9uIHFhKGUsdCl7Zm9yKDtudWxsIT09UmE7KXt2YXIgcj1SYS5lZmZlY3RUYWc7aWYoMzYmcil7dmFyIG49UmEuYWx0ZXJuYXRlLGk9UmEsbz10O3N3aXRjaChpLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpkYShPaSxOaSxpKTticmVhaztjYXNlIDE6dmFyIHM9aS5zdGF0ZU5vZGU7aWYoNCZpLmVmZmVjdFRhZylpZihudWxsPT09bilzLmNvbXBvbmVudERpZE1vdW50KCk7ZWxzZXt2YXIgdT1pLmVsZW1lbnRUeXBlPT09aS50eXBlP24ubWVtb2l6ZWRQcm9wczpuaShpLnR5cGUsbi5tZW1vaXplZFByb3BzKTtzLmNvbXBvbmVudERpZFVwZGF0ZSh1LG4ubWVtb2l6ZWRTdGF0ZSxzLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKX1udWxsIT09KG49aS51cGRhdGVRdWV1ZSkmJm5hKDAsbixzKTticmVhaztjYXNlIDM6aWYobnVsbCE9PShuPWkudXBkYXRlUXVldWUpKXtpZihzPW51bGwsbnVsbCE9PWkuY2hpbGQpc3dpdGNoKGkuY2hpbGQudGFnKXtjYXNlIDU6cz1pLmNoaWxkLnN0YXRlTm9kZTticmVhaztjYXNlIDE6cz1pLmNoaWxkLnN0YXRlTm9kZX1uYSgwLG4scyl9YnJlYWs7Y2FzZSA1Om89aS5zdGF0ZU5vZGUsbnVsbD09PW4mJjQmaS5lZmZlY3RUYWcmJnZuKGkudHlwZSxpLm1lbW9pemVkUHJvcHMpJiZvLmZvY3VzKCk7YnJlYWs7Y2FzZSA2OmNhc2UgNDpjYXNlIDEyOmNhc2UgMTM6Y2FzZSAxNzpicmVhaztkZWZhdWx0OmEoIjE2MyIpfX0xMjgmciYmKG51bGwhPT0oaT1SYS5yZWYpJiYobz1SYS5zdGF0ZU5vZGUsImZ1bmN0aW9uIj09PXR5cGVvZiBpP2kobyk6aS5jdXJyZW50PW8pKSw1MTImciYmKE1hPWUpLFJhPVJhLm5leHRFZmZlY3R9fWZ1bmN0aW9uIEthKCl7bnVsbCE9PUxhJiZFbihMYSksbnVsbCE9PURhJiZEYSgpfWZ1bmN0aW9uIHphKGUsdCl7QmE9eGE9ITAsZS5jdXJyZW50PT09dCYmYSgiMTc3Iik7dmFyIHI9ZS5wZW5kaW5nQ29tbWl0RXhwaXJhdGlvblRpbWU7MD09PXImJmEoIjI2MSIpLGUucGVuZGluZ0NvbW1pdEV4cGlyYXRpb25UaW1lPTA7dmFyIG49dC5leHBpcmF0aW9uVGltZSxpPXQuY2hpbGRFeHBpcmF0aW9uVGltZTtmb3IoZnVuY3Rpb24oZSx0KXtpZihlLmRpZEVycm9yPSExLDA9PT10KWUuZWFybGllc3RQZW5kaW5nVGltZT0wLGUubGF0ZXN0UGVuZGluZ1RpbWU9MCxlLmVhcmxpZXN0U3VzcGVuZGVkVGltZT0wLGUubGF0ZXN0U3VzcGVuZGVkVGltZT0wLGUubGF0ZXN0UGluZ2VkVGltZT0wO2Vsc2V7dDxlLmxhdGVzdFBpbmdlZFRpbWUmJihlLmxhdGVzdFBpbmdlZFRpbWU9MCk7dmFyIHI9ZS5sYXRlc3RQZW5kaW5nVGltZTswIT09ciYmKHI+dD9lLmVhcmxpZXN0UGVuZGluZ1RpbWU9ZS5sYXRlc3RQZW5kaW5nVGltZT0wOmUuZWFybGllc3RQZW5kaW5nVGltZT50JiYoZS5lYXJsaWVzdFBlbmRpbmdUaW1lPWUubGF0ZXN0UGVuZGluZ1RpbWUpKSwwPT09KHI9ZS5lYXJsaWVzdFN1c3BlbmRlZFRpbWUpP0puKGUsdCk6dDxlLmxhdGVzdFN1c3BlbmRlZFRpbWU/KA=="
}
Changelog:
{
"2020.04.17 15:43": "base64:aXZlUHJvcHN8fChzIT09bnx8dSE9PWMpJiZjaSh0LGEsbixjKSxXbz0hMSx1PXQubWVtb2l6ZWRTdGF0ZSxoPWEuc3RhdGU9dSxudWxsIT09KHA9dC51cGRhdGVRdWV1ZSkmJihyYSh0LHAsbixhLGkpLGg9dC5tZW1vaXplZFN0YXRlKSxzIT09bnx8dSE9PWh8fE5uLmN1cnJlbnR8fFdvPygiZnVuY3Rpb24iPT09dHlwZW9mIGYmJihvaSh0LHIsZixuKSxoPXQubWVtb2l6ZWRTdGF0ZSksKGY9V298fHNpKHQscixzLG4sdSxoLGMpKT8obHx8ImZ1bmN0aW9uIiE9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiYiZnVuY3Rpb24iIT09dHlwZW9mIGEuY29tcG9uZW50V2lsbFVwZGF0ZXx8KCJmdW5jdGlvbiI9PT10eXBlb2YgYS5jb21wb25lbnRXaWxsVXBkYXRlJiZhLmNvbXBvbmVudFdpbGxVcGRhdGUobixoLGMpLCJmdW5jdGlvbiI9PT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSYmYS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShuLGgsYykpLCJmdW5jdGlvbiI9PT10eXBlb2YgYS5jb21wb25lbnREaWRVcGRhdGUmJih0LmVmZmVjdFRhZ3w9NCksImZ1bmN0aW9uIj09PXR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlJiYodC5lZmZlY3RUYWd8PTI1NikpOigiZnVuY3Rpb24iIT09dHlwZW9mIGEuY29tcG9uZW50RGlkVXBkYXRlfHxzPT09ZS5tZW1vaXplZFByb3BzJiZ1PT09ZS5tZW1vaXplZFN0YXRlfHwodC5lZmZlY3RUYWd8PTQpLCJmdW5jdGlvbiIhPT10eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8cz09PWUubWVtb2l6ZWRQcm9wcyYmdT09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZWZmZWN0VGFnfD0yNTYpLHQubWVtb2l6ZWRQcm9wcz1uLHQubWVtb2l6ZWRTdGF0ZT1oKSxhLnByb3BzPW4sYS5zdGF0ZT1oLGEuY29udGV4dD1jLG49Zik6KCJmdW5jdGlvbiIhPT10eXBlb2YgYS5jb21wb25lbnREaWRVcGRhdGV8fHM9PT1lLm1lbW9pemVkUHJvcHMmJnU9PT1lLm1lbW9pemVkU3RhdGV8fCh0LmVmZmVjdFRhZ3w9NCksImZ1bmN0aW9uIiE9PXR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxzPT09ZS5tZW1vaXplZFByb3BzJiZ1PT09ZS5tZW1vaXplZFN0YXRlfHwodC5lZmZlY3RUYWd8PTI1Niksbj0hMSk7cmV0dXJuIE9vKGUsdCxyLG4sbyxpKX1mdW5jdGlvbiBPbyhlLHQscixuLGksbyl7eG8oZSx0KTt2YXIgYT0wIT09KDY0JnQuZWZmZWN0VGFnKTtpZighbiYmIWEpcmV0dXJuIGkmJkZuKHQsciwhMSksUm8oZSx0LG8pO249dC5zdGF0ZU5vZGUsU28uY3VycmVudD10O3ZhciBzPWEmJiJmdW5jdGlvbiIhPT10eXBlb2Ygci5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDpuLnJlbmRlcigpO3JldHVybiB0LmVmZmVjdFRhZ3w9MSxudWxsIT09ZSYmYT8odC5jaGlsZD15aSh0LGUuY2hpbGQsbnVsbCxvKSx0LmNoaWxkPXlpKHQsbnVsbCxzLG8pKTp3byhlLHQscyxvKSx0Lm1lbW9pemVkU3RhdGU9bi5zdGF0ZSxpJiZGbih0LHIsITApLHQuY2hpbGR9ZnVuY3Rpb24gTm8oZSl7dmFyIHQ9ZS5zdGF0ZU5vZGU7dC5wZW5kaW5nQ29udGV4dD9EbigwLHQucGVuZGluZ0NvbnRleHQsdC5wZW5kaW5nQ29udGV4dCE9PXQuY29udGV4dCk6dC5jb250ZXh0JiZEbigwLHQuY29udGV4dCwhMSksRWkoZSx0LmNvbnRhaW5lckluZm8pfWZ1bmN0aW9uIFBvKGUsdCxyKXt2YXIgbj10Lm1vZGUsaT10LnBlbmRpbmdQcm9wcyxvPXQubWVtb2l6ZWRTdGF0ZTtpZigwPT09KDY0JnQuZWZmZWN0VGFnKSl7bz1udWxsO3ZhciBhPSExfWVsc2Ugbz17dGltZWRPdXRBdDpudWxsIT09bz9vLnRpbWVkT3V0QXQ6MH0sYT0hMCx0LmVmZmVjdFRhZyY9LTY1O2lmKG51bGw9PT1lKWlmKGEpe3ZhciBzPWkuZmFsbGJhY2s7ZT1YbihudWxsLG4sMCxudWxsKSwwPT09KDEmdC5tb2RlKSYmKGUuY2hpbGQ9bnVsbCE9PXQubWVtb2l6ZWRTdGF0ZT90LmNoaWxkLmNoaWxkOnQuY2hpbGQpLG49WG4ocyxuLHIsbnVsbCksZS5zaWJsaW5nPW4sKHI9ZSkucmV0dXJuPW4ucmV0dXJuPXR9ZWxzZSByPW49Z2kodCxudWxsLGkuY2hpbGRyZW4scik7ZWxzZSBudWxsIT09ZS5tZW1vaXplZFN0YXRlPyhzPShuPWUuY2hpbGQpLnNpYmxpbmcsYT8ocj1pLmZhbGxiYWNrLGk9V24obixuLnBlbmRpbmdQcm9wcyksMD09PSgxJnQubW9kZSkmJigoYT1udWxsIT09dC5tZW1vaXplZFN0YXRlP3QuY2hpbGQuY2hpbGQ6dC5jaGlsZCkhPT1uLmNoaWxkJiYoaS5jaGlsZD1hKSksbj1pLnNpYmxpbmc9V24ocyxyLHMuZXhwaXJhdGlvblRpbWUpLHI9aSxpLmNoaWxkRXhwaXJhdGlvblRpbWU9MCxyLnJldHVybj1uLnJldHVybj10KTpyPW49eWkodCxuLmNoaWxkLGkuY2hpbGRyZW4scikpOihzPWUuY2hpbGQsYT8oYT1pLmZhbGxiYWNrLChpPVhuKG51bGwsbiwwLG51bGwpKS5jaGlsZD1zLDA9PT0oMSZ0Lm1vZGUpJiYoaS5jaGlsZD1udWxsIT09dC5tZW1vaXplZFN0YXRlP3QuY2hpbGQuY2hpbGQ6dC5jaGlsZCksKG49aS5zaWJsaW5nPVhuKGEsbixyLG51bGwpKS5lZmZlY3RUYWd8PTIscj1pLGkuY2hpbGRFeHBpcmF0aW9uVGltZT0wLHIucmV0dXJuPW4ucmV0dXJuPXQpOm49cj15aSh0LHMsaS5jaGlsZHJlbixyKSksdC5zdGF0ZU5vZGU9ZS5zdGF0ZU5vZGU7cmV0dXJuIHQubWVtb2l6ZWRTdGF0ZT1vLHQuY2hpbGQ9cixufWZ1bmN0aW9uIFJvKGUsdCxyKXtpZihudWxsIT09ZSYmKHQuY29udGV4dERlcGVuZGVuY2llcz1lLmNvbnRleHREZXBlbmRlbmNpZXMpLHQuY2hpbGRFeHBpcmF0aW9uVGltZTxyKXJldHVybiBudWxsO2lmKG51bGwhPT1lJiZ0LmNoaWxkIT09ZS5jaGlsZCYmYSgiMTUzIiksbnVsbCE9PXQuY2hpbGQpe2ZvcihyPVduKGU9dC5jaGlsZCxlLnBlbmRpbmdQcm9wcyxlLmV4cGlyYXRpb25UaW1lKSx0LmNoaWxkPXIsci5yZXR1cm49dDtudWxsIT09ZS5zaWJsaW5nOyllPWUuc2libGluZywocj1yLnNpYmxpbmc9V24oZSxlLnBlbmRpbmdQcm9wcyxlLmV4cGlyYXRpb25UaW1lKSkucmV0dXJuPXQ7ci5zaWJsaW5nPW51bGx9cmV0dXJuIHQuY2hpbGR9ZnVuY3Rpb24gQm8oZSx0LHIpe3ZhciBuPXQuZXhwaXJhdGlvblRpbWU7aWYobnVsbCE9PWUpe2lmKGUubWVtb2l6ZWRQcm9wcyE9PXQucGVuZGluZ1Byb3BzfHxObi5jdXJyZW50KUVvPSEwO2Vsc2UgaWYobjxyKXtzd2l0Y2goRW89ITEsdC50YWcpe2Nhc2UgMzpObyh0KSxfbygpO2JyZWFrO2Nhc2UgNTpUaSh0KTticmVhaztjYXNlIDE6Qm4odC50eXBlKSYmVW4odCk7YnJlYWs7Y2FzZSA0OkVpKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7YnJlYWs7Y2FzZSAxMDpVbyh0LHQubWVtb2l6ZWRQcm9wcy52YWx1ZSk7YnJlYWs7Y2FzZSAxMzppZihudWxsIT09dC5tZW1vaXplZFN0YXRlKXJldHVybiAwIT09KG49dC5jaGlsZC5jaGlsZEV4cGlyYXRpb25UaW1lKSYmbj49cj9QbyhlLHQscik6bnVsbCE9PSh0PVJvKGUsdCxyKSk/dC5zaWJsaW5nOm51bGx9cmV0dXJuIFJvKGUsdCxyKX19ZWxzZSBFbz0hMTtzd2l0Y2godC5leHBpcmF0aW9uVGltZT0wLHQudGFnKXtjYXNlIDI6bj10LmVsZW1lbnRUeXBlLG51bGwhPT1lJiYoZS5hbHRlcm5hdGU9bnVsbCx0LmFsdGVybmF0ZT1udWxsLHQuZWZmZWN0VGFnfD0yKSxlPXQucGVuZGluZ1Byb3BzO3ZhciBpPVJuKHQsT24uY3VycmVudCk7aWYoVm8odCxyKSxpPVFpKG51bGwsdCxuLGUsaSxyKSx0LmVmZmVjdFRhZ3w9MSwib2JqZWN0Ij09PXR5cGVvZiBpJiZudWxsIT09aSYmImZ1bmN0aW9uIj09PXR5cGVvZiBpLnJlbmRlciYmdm9pZCAwPT09aS4kJHR5cGVvZil7aWYodC50YWc9MSwkaSgpLEJuKG4pKXt2YXIgbz0hMDtVbih0KX1lbHNlIG89ITE7dC5tZW1vaXplZFN0YXRlPW51bGwhPT1pLnN0YXRlJiZ2b2lkIDAhPT1pLnN0YXRlP2kuc3RhdGU6bnVsbDt2YXIgcz1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wczsiZnVuY3Rpb24iPT09dHlwZW9mIHMmJm9pKHQsbixzLGUpLGkudXBkYXRlcj1haSx0LnN0YXRlTm9kZT1pLGkuX3JlYWN0SW50ZXJuYWxGaWJlcj10LGZpKHQsbixlLHIpLHQ9T28obnVsbCx0LG4sITAsbyxyKX1lbHNlIHQudGFnPTAsd28obnVsbCx0LGksciksdD10LmNoaWxkO3JldHVybiB0O2Nhc2UgMTY6c3dpdGNoKGk9dC5lbGVtZW50VHlwZSxudWxsIT09ZSYmKGUuYWx0ZXJuYXRlPW51bGwsdC5hbHRlcm5hdGU9bnVsbCx0LmVmZmVjdFRhZ3w9Miksbz10LnBlbmRpbmdQcm9wcyxlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuX3Jlc3VsdDtzd2l0Y2goZS5fc3RhdHVzKXtjYXNlIDE6cmV0dXJuIHQ7Y2FzZSAyOmNhc2UgMDp0aHJvdyB0O2RlZmF1bHQ6c3dpdGNoKGUuX3N0YXR1cz0wLCh0PSh0PWUuX2N0b3IpKCkpLnRoZW4oZnVuY3Rpb24odCl7MD09PWUuX3N0YXR1cyYmKHQ9dC5kZWZhdWx0LGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0sZnVuY3Rpb24odCl7MD09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pLGUuX3N0YXR1cyl7Y2FzZSAxOnJldHVybiBlLl9yZXN1bHQ7Y2FzZSAyOnRocm93IGUuX3Jlc3VsdH10aHJvdyBlLl9yZXN1bHQ9dCx0fX0oaSksdC50eXBlPWUsaT10LnRhZz1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGUpcmV0dXJuIEhuKGUpPzE6MDtpZih2b2lkIDAhPT1lJiZudWxsIT09ZSl7aWYoKGU9ZS4kJHR5cGVvZik9PT10dClyZXR1cm4gMTE7aWYoZT09PW50KXJldHVybiAxNH1yZXR1cm4gMn0oZSksbz1uaShlLG8pLHM9dm9pZCAwLGkpe2Nhc2UgMDpzPUlvKG51bGwsdCxlLG8scik7YnJlYWs7Y2FzZSAxOnM9a28obnVsbCx0LGUsbyxyKTticmVhaztjYXNlIDExOnM9VG8obnVsbCx0LGUsbyxyKTticmVhaztjYXNlIDE0OnM9QW8obnVsbCx0LGUsbmkoZS50eXBlLG8pLG4scik7YnJlYWs7ZGVmYXVsdDphKCIzMDYiLGUsIiIpfXJldHVybiBzO2Nhc2UgMDpyZXR1cm4gbj10LnR5cGUsaT10LnBlbmRpbmdQcm9wcyxJbyhlLHQsbixpPXQuZWxlbWVudFR5cGU9PT1uP2k6bmkobixpKSxyKTtjYXNlIDE6cmV0dXJuIG49dC50eXBlLGk9dC5wZW5kaW5nUHJvcHMsa28oZSx0LG4saT10LmVsZW1lbnRUeXBlPT09bj9pOm5pKG4saSkscik7Y2FzZSAzOnJldHVybiBObyh0KSxudWxsPT09KG49dC51cGRhdGVRdWV1ZSkmJmEoIjI4MiIpLGk9bnVsbCE9PShpPXQubWVtb2l6ZWRTdGF0ZSk/aS5lbGVtZW50Om51bGwscmEodCxuLHQucGVuZGluZ1Byb3BzLG51bGwsciksKG49dC5tZW1vaXplZFN0YXRlLmVsZW1lbnQpPT09aT8oX28oKSx0PVJvKGUsdCxyKSk6KGk9dC5zdGF0ZU5vZGUsKGk9KG51bGw9PT1lfHxudWxsPT09ZS5jaGlsZCkmJmkuaHlkcmF0ZSkmJihobz1Ubih0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxsbz10LGk9cG89ITApLGk/KHQuZWZmZWN0VGFnfD0yLHQuY2hpbGQ9Z2kodCxudWxsLG4scikpOih3byhlLHQsbixyKSxfbygpKSx0PXQuY2hpbGQpLHQ7Y2FzZSA1OnJldHVybiBUaSh0KSxudWxsPT09ZSYmdm8odCksbj10LnR5cGUsaT10LnBlbmRpbmdQcm9wcyxvPW51bGwhPT1lP2UubWVtb2l6ZWRQcm9wczpudWxsLHM9aS5jaGlsZHJlbixtbihuLGkpP3M9bnVsbDpudWxsIT09byYmbW4obixvKSYmKHQuZWZmZWN0VGFnfD0xNikseG8oZSx0KSwxIT09ciYmMSZ0Lm1vZGUmJmkuaGlkZGVuPyh0LmV4cGlyYXRpb25UaW1lPXQuY2hpbGRFeHBpcmF0aW9uVGltZT0xLHQ9bnVsbCk6KHdvKGUsdCxzLHIpLHQ9dC5jaGlsZCksdDtjYXNlIDY6cmV0dXJuIG51bGw9PT1lJiZ2byh0KSxudWxsO2Nhc2UgMTM6cmV0dXJuIFBvKGUsdCxyKTtjYXNlIDQ6cmV0dXJuIEVpKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksbj10LnBlbmRpbmdQcm9wcyxudWxsPT09ZT90LmNoaWxkPXlpKHQsbnVsbCxuLHIpOndvKGUsdCxuLHIpLHQuY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gbj10LnR5cGUsaT10LnBlbmRpbmdQcm9wcyxUbyhlLHQsbixpPXQuZWxlbWVudFR5cGU9PT1uP2k6bmkobixpKSxyKTtjYXNlIDc6cmV0dXJuIHdvKGUsdCx0LnBlbmRpbmdQcm9wcyxyKSx0LmNoaWxkO2Nhc2UgODpjYXNlIDEyOnJldHVybiB3byhlLHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sciksdC5jaGlsZDtjYXNlIDEwOmU6e2lmKG49dC50eXBlLl9jb250ZXh0LGk9dC5wZW5kaW5nUHJvcHMscz10Lm1lbW9pemVkUHJvcHMsVW8odCxvPWkudmFsdWUpLG51bGwhPT1zKXt2YXIgdT1zLnZhbHVlO2lmKDA9PT0obz1adCh1LG8pPzA6MHwoImZ1bmN0aW9uIj09PXR5cGVvZiBuLl9jYWxjdWxhdGVDaGFuZ2VkQml0cz9uLl9jYWxjdWxhdGVDaGFuZ2VkQml0cyh1LG8pOjEwNzM3NDE4MjMpKSl7aWYocy5jaGlsZHJlbj09PWkuY2hpbGRyZW4mJiFObi5jdXJyZW50KXt0PVJvKGUsdCxyKTticmVhayBlfX1lbHNlIGZvcihudWxsIT09KHU9dC5jaGlsZCkmJih1LnJldHVybj10KTtudWxsIT09dTspe3ZhciBjPXUuY29udGV4dERlcGVuZGVuY2llcztpZihudWxsIT09Yyl7cz11LmNoaWxkO2Zvcih2YXIgZj1jLmZpcnN0O251bGwhPT1mOyl7aWYoZi5jb250ZXh0PT09biYmMCE9PShmLm9ic2VydmVkQml0cyZvKSl7MT09PXUudGFnJiYoKGY9UW8ocikpLnRhZz1Hbyxabyh1LGYpKSx1LmV4cGlyYXRpb25UaW1lPHImJih1LmV4cGlyYXRpb25UaW1lPXIpLG51bGwhPT0oZj11LmFsdGVybmF0ZSkmJmYuZXhwaXJhdGlvblRpbWU8ciYmKGYuZXhwaXJhdGlvblRpbWU9ciksZj1yO2Zvcih2YXIgbD11LnJldHVybjtudWxsIT09bDspe3ZhciBoPWwuYWx0ZXJuYXRlO2lmKGwuY2hpbGRFeHBpcmF0aW9uVGltZTxmKWwuY2hpbGRFeHBpcmF0aW9uVGltZT1mLG51bGwhPT1oJiZoLmNoaWxkRXhwaXJhdGlvblRpbWU8ZiYmKGguY2hpbGRFeHBpcmF0aW9uVGltZT1mKTtlbHNle2lmKCEobnVsbCE9PWgmJmguY2hpbGRFeHBpcmF0aW9uVGltZTxmKSlicmVhaztoLmNoaWxkRXhwaXJhdGlvblRpbWU9Zn1sPWwucmV0dXJufWMuZXhwaXJhdGlvblRpbWU8ciYmKGMuZXhwaXJhdGlvblRpbWU9cik7YnJlYWt9Zj1mLm5leHR9fWVsc2Ugcz0xMD09PXUudGFnJiZ1LnR5cGU9PT10LnR5cGU/bnVsbDp1LmNoaWxkO2lmKG51bGwhPT1zKXMucmV0dXJuPXU7ZWxzZSBmb3Iocz11O251bGwhPT1zOyl7aWYocz09PXQpe3M9bnVsbDticmVha31pZihudWxsIT09KHU9cy5zaWJsaW5nKSl7dS5yZXR1cm49cy5yZXR1cm4scz11O2JyZWFrfXM9cy5yZXR1cm59dT1zfX13byhlLHQsaS5jaGlsZHJlbixyKSx0PXQuY2hpbGR9cmV0dXJuIHQ7Y2FzZSA5OnJldHVybiBpPXQudHlwZSxuPShvPXQucGVuZGluZ1Byb3BzKS5jaGlsZHJlbixWbyh0LHIpLG49bihpPXFvKGksby51bnN0YWJsZV9vYnNlcnZlZEJpdHMpKSx0LmVmZmVjdFRhZ3w9MSx3byhlLHQsbixyKSx0LmNoaWxkO2Nhc2UgMTQ6cmV0dXJuIG89bmkoaT10LnR5cGUsdC5wZW5kaW5nUHJvcHMpLEFvKGUsdCxpLG89bmkoaS50eXBlLG8pLG4scik7Y2FzZSAxNTpyZXR1cm4gQ28oZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuLHIpO2Nhc2UgMTc6cmV0dXJuIG49dC50eXBlLGk9dC5wZW5kaW5nUHJvcHMsaT10LmVsZW1lbnRUeXBlPT09bj9pOm5pKG4saSksbnVsbCE9PWUmJihlLmFsdGVybmF0ZT1udWxsLHQuYWx0ZXJuYXRlPW51bGwsdC5lZmZlY3RUYWd8PTIpLHQudGFnPTEsQm4obik/KGU9ITAsVW4odCkpOmU9ITEsVm8odCxyKSx1aSh0LG4saSksZmkodCxuLGksciksT28obnVsbCx0LG4sITAsZSxyKX1hKCIxNTYiKX12YXIgTW89e2N1cnJlbnQ6bnVsbH0sTG89bnVsbCxEbz1udWxsLGpvPW51bGw7ZnVuY3Rpb24gVW8oZSx0KXt2YXIgcj1lLnR5cGUuX2NvbnRleHQ7SW4oTW8sci5fY3VycmVudFZhbHVlKSxyLl9jdXJyZW50VmFsdWU9dH1mdW5jdGlvbiBGbyhlKXt2YXIgdD1Nby5jdXJyZW50O3huKE1vKSxlLnR5cGUuX2NvbnRleHQuX2N1cnJlbnRWYWx1ZT10fWZ1bmN0aW9uIFZvKGUsdCl7TG89ZSxqbz1Ebz1udWxsO3ZhciByPWUuY29udGV4dERlcGVuZGVuY2llcztudWxsIT09ciYmci5leHBpcmF0aW9uVGltZT49dCYmKEVvPSEwKSxlLmNvbnRleHREZXBlbmRlbmNpZXM9bnVsbH1mdW5jdGlvbiBxbyhlLHQpe3JldHVybiBqbyE9PWUmJiExIT09dCYmMCE9PXQmJigibnVtYmVyIj09PXR5cGVvZiB0JiYxMDczNzQxODIzIT09dHx8KGpvPWUsdD0xMDczNzQxODIzKSx0PXtjb250ZXh0OmUsb2JzZXJ2ZWRCaXRzOnQsbmV4dDpudWxsfSxudWxsPT09RG8/KG51bGw9PT1MbyYmYSgiMzA4IiksRG89dCxMby5jb250ZXh0RGVwZW5kZW5jaWVzPXtmaXJzdDp0LGV4cGlyYXRpb25UaW1lOjB9KTpEbz1Eby5uZXh0PXQpLGUuX2N1cnJlbnRWYWx1ZX12YXIgS289MCx6bz0xLEdvPTIsSG89MyxXbz0hMTtmdW5jdGlvbiBZbyhlKXtyZXR1cm57YmFzZVN0YXRlOmUsZmlyc3RVcGRhdGU6bnVsbCxsYXN0VXBkYXRlOm51bGwsZmlyc3RDYXB0dXJlZFVwZGF0ZTpudWxsLGxhc3RDYXB0dXJlZFVwZGF0ZTpudWxsLGZpcnN0RWZmZWN0Om51bGwsbGFzdEVmZmVjdDpudWxsLGZpcnN0Q2FwdHVyZWRFZmZlY3Q6bnVsbCxsYXN0Q2FwdHVyZWRFZmZlY3Q6bnVsbH19ZnVuY3Rpb24gWG8oZSl7cmV0dXJue2Jhc2VTdGF0ZTplLmJhc2VTdGF0ZSxmaXJzdFVwZGF0ZTplLmZpcnN0VXBkYXRlLGxhc3RVcGRhdGU6ZS5sYXN0VXBkYXRlLGZpcnN0Q2FwdHVyZWRVcGRhdGU6bnVsbCxsYXN0Q2FwdHVyZWRVcGRhdGU6bnVsbCxmaXJzdEVmZmVjdDpudWxsLGxhc3RFZmZlY3Q6bnVsbCxmaXJzdENhcHR1cmVkRWZmZWN0Om51bGwsbGFzdENhcHR1cmVkRWZmZWN0Om51bGx9fWZ1bmN0aW9uIFFvKGUpe3JldHVybntleHBpcmF0aW9uVGltZTplLHRhZzpLbyxwYXlsb2FkOm51bGwsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGwsbmV4dEVmZmVjdDpudWxsfX1mdW5jdGlvbiAkbyhlLHQpe251bGw9PT1lLmxhc3RVcGRhdGU/ZS5maXJzdFVwZGF0ZT1lLmxhc3RVcGRhdGU9dDooZS5sYXN0VXBkYXRlLm5leHQ9dCxlLmxhc3RVcGRhdGU9dCl9ZnVuY3Rpb24gWm8oZSx0KXt2YXIgcj1lLmFsdGVybmF0ZTtpZihudWxsPT09cil7dmFyIG49ZS51cGRhdGVRdWV1ZSxpPW51bGw7bnVsbD09PW4mJihuPWUudXBkYXRlUXVldWU9WW8oZS5tZW1vaXplZFN0YXRlKSl9ZWxzZSBuPWUudXBkYXRlUXVldWUsaT1yLnVwZGF0ZVF1ZXVlLG51bGw9PT1uP251bGw9PT1pPyhuPWUudXBkYXRlUXVldWU9WW8oZS5tZW1vaXplZFN0YXRlKSxpPXIudXBkYXRlUXVldWU9WW8oci5tZW1vaXplZFN0YXRlKSk6bj1lLnVwZGF0ZVF1ZXVlPVhvKGkpOm51bGw9PT1pJiYoaT1yLnVwZGF0ZVF1ZXVlPVhvKG4pKTtudWxsPT09aXx8bj09PWk/JG8obix0KTpudWxsPT09bi5sYXN0VXBkYXRlfHxudWxsPT09aS5sYXN0VXBkYXRlPygkbyhuLHQpLCRvKGksdCkpOigkbyhuLHQpLGkubGFzdFVwZGF0ZT10KX1mdW5jdGlvbiBKbyhlLHQpe3ZhciByPWUudXBkYXRlUXVldWU7bnVsbD09PShyPW51bGw9PT1yP2UudXBkYXRlUXVldWU9WW8oZS5tZW1vaXplZFN0YXRlKTplYShlLHIpKS5sYXN0Q2FwdHVyZWRVcGRhdGU/ci5maXJzdENhcHR1cmVkVXBkYXRlPXIubGFzdENhcHR1cmVkVXBkYXRlPXQ6KHIubGFzdENhcHR1cmVkVXBkYXRlLm5leHQ9dCxyLmxhc3RDYXB0dXJlZFVwZGF0ZT10KX1mdW5jdGlvbiBlYShlLHQpe3ZhciByPWUuYWx0ZXJuYXRlO3JldHVybiBudWxsIT09ciYmdD09PXIudXBkYXRlUXVldWUmJih0PWUudXBkYXRlUXVldWU9WG8odCkpLHR9ZnVuY3Rpb24gdGEoZSx0LHIsbixvLGEpe3N3aXRjaChyLnRhZyl7Y2FzZSB6bzpyZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mKGU9ci5wYXlsb2FkKT9lLmNhbGwoYSxuLG8pOmU7Y2FzZSBIbzplLmVmZmVjdFRhZz0tMjA0OSZlLmVmZmVjdFRhZ3w2NDtjYXNlIEtvOmlmKG51bGw9PT0obz0iZnVuY3Rpb24iPT09dHlwZW9mKGU9ci5wYXlsb2FkKT9lLmNhbGwoYSxuLG8pOmUpfHx2b2lkIDA9PT1vKWJyZWFrO3JldHVybiBpKHt9LG4sbyk7Y2FzZSBHbzpXbz0hMH1yZXR1cm4gbn1mdW5jdGlvbiByYShlLHQscixuLGkpe1dvPSExO2Zvcih2YXIgbz0odD1lYShlLHQpKS5iYXNlU3RhdGUsYT1udWxsLHM9MCx1PXQuZmlyc3RVcGRhdGUsYz1vO251bGwhPT11Oyl7dmFyIGY9dS5leHBpcmF0aW9uVGltZTtmPGk/KG51bGw9PT1hJiYoYT11LG89YyksczxmJiYocz1mKSk6KGM9dGEoZSwwLHUsYyxyLG4pLG51bGwhPT11LmNhbGxiYWNrJiYoZS5lZmZlY3RUYWd8PTMyLHUubmV4dEVmZmVjdD1udWxsLG51bGw9PT10Lmxhc3RFZmZlY3Q/dC5maXJzdEVmZmVjdD10Lmxhc3RFZmZlY3Q9dToodC5sYXN0RWZmZWN0Lm5leHRFZmZlY3Q9dSx0Lmxhc3RFZmZlY3Q9dSkpKSx1PXUubmV4dH1mb3IoZj1udWxsLHU9dC5maXJzdENhcHR1cmVkVXBkYXRlO251bGwhPT11Oyl7dmFyIGw9dS5leHBpcmF0aW9uVGltZTtsPGk/KG51bGw9PT1mJiYoZj11LG51bGw9PT1hJiYobz1jKSksczxsJiYocz1sKSk6KGM9dGEoZSwwLHUsYyxyLG4pLG51bGwhPT11LmNhbGxiYWNrJiYoZS5lZmZlY3RUYWd8PTMyLHUubmV4dEVmZmVjdD1udWxsLG51bGw9PT10Lmxhc3RDYXB0dXJlZEVmZmVjdD90LmZpcnN0Q2FwdHVyZWRFZmZlY3Q9dC5sYXN0Q2FwdHVyZWRFZmZlY3Q9dToodC5sYXN0Q2FwdHVyZWRFZmZlY3QubmV4dEVmZmVjdD11LHQubGFzdENhcHR1cmVkRWZmZWN0PXUpKSksdT11Lm5leHR9bnVsbD09PWEmJih0Lmxhc3RVcGRhdGU9bnVsbCksbnVsbD09PWY/dC5sYXN0Q2FwdHVyZWRVcGRhdGU9bnVsbDplLmVmZmVjdFRhZ3w9MzIsbnVsbD09PWEmJm51bGw9PT1mJiYobz1jKSx0LmJhc2VTdGF0ZT1vLHQuZmlyc3RVcGRhdGU9YSx0LmZpcnN0Q2FwdHVyZWRVcGRhdGU9ZixlLmV4cGlyYXRpb25UaW1lPXMsZS5tZW1vaXplZFN0YXRlPWN9ZnVuY3Rpb24gbmEoZSx0LHIpe251bGwhPT10LmZpcnN0Q2FwdHVyZWRVcGRhdGUmJihudWxsIT09dC5sYXN0VXBkYXRlJiYodC5sYXN0VXBkYXRlLm5leHQ9dC5maXJzdENhcHR1cmVkVXBkYXRlLHQubGFzdFVwZGF0ZT10Lmxhc3RDYXB0dXJlZFVwZGF0ZSksdC5maXJzdENhcHR1cmVkVXBkYXRlPXQubGFzdENhcHR1cmVkVXBkYXRlPW51bGwpLGlhKHQuZmlyc3RFZmZlY3QsciksdC5maXJzdEVmZmVjdD10Lmxhc3RFZmZlY3Q9bnVsbCxpYSh0LmZpcnN0Q2FwdHVyZWRFZmZlY3QsciksdC5maXJzdENhcHR1cmVkRWZmZWN0PXQubGFzdENhcHR1cmVkRWZmZWN0PW51bGx9ZnVuY3Rpb24gaWEoZSx0KXtmb3IoO251bGwhPT1lOyl7dmFyIHI9ZS5jYWxsYmFjaztpZihudWxsIT09cil7ZS5jYWxsYmFjaz1udWxsO3ZhciBuPXQ7ImZ1bmN0aW9uIiE9PXR5cGVvZiByJiZhKCIxOTEiLHIpLHIuY2FsbChuKX1lPWUubmV4dEVmZmVjdH19ZnVuY3Rpb24gb2EoZSx0KXtyZXR1cm57dmFsdWU6ZSxzb3VyY2U6dCxzdGFjazp1dCh0KX19ZnVuY3Rpb24gYWEoZSl7ZS5lZmZlY3RUYWd8PTR9dmFyIHNhPXZvaWQgMCx1YT12b2lkIDAsY2E9dm9pZCAwLGZhPXZvaWQgMDtzYT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj10LmNoaWxkO251bGwhPT1yOyl7aWYoNT09PXIudGFnfHw2PT09ci50YWcpZS5hcHBlbmRDaGlsZChyLnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09ci50YWcmJm51bGwhPT1yLmNoaWxkKXtyLmNoaWxkLnJldHVybj1yLHI9ci5jaGlsZDtjb250aW51ZX1pZihyPT09dClicmVhaztmb3IoO251bGw9PT1yLnNpYmxpbmc7KXtpZihudWxsPT09ci5yZXR1cm58fHIucmV0dXJuPT09dClyZXR1cm47cj1yLnJldHVybn1yLnNpYmxpbmcucmV0dXJuPXIucmV0dXJuLHI9ci5zaWJsaW5nfX0sdWE9ZnVuY3Rpb24oKXt9LGNhPWZ1bmN0aW9uKGUsdCxyLG4sbyl7dmFyIGE9ZS5tZW1vaXplZFByb3BzO2lmKGEhPT1uKXt2YXIgcz10LnN0YXRlTm9kZTtzd2l0Y2goU2kobWkuY3VycmVudCksZT1udWxsLHIpe2Nhc2UiaW5wdXQiOmE9YnQocyxhKSxuPWJ0KHMsbiksZT1bXTticmVhaztjYXNlIm9wdGlvbiI6YT1IcihzLGEpLG49SHIocyxuKSxlPVtdO2JyZWFrO2Nhc2Uic2VsZWN0IjphPWkoe30sYSx7dmFsdWU6dm9pZCAwfSksbj1pKHt9LG4se3ZhbHVlOnZvaWQgMH0pLGU9W107YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6YT1ZcihzLGEpLG49WXIocyxuKSxlPVtdO2JyZWFrO2RlZmF1bHQ6ImZ1bmN0aW9uIiE9PXR5cGVvZiBhLm9uQ2xpY2smJiJmdW5jdGlvbiI9PT10eXBlb2Ygbi5vbkNsaWNrJiYocy5vbmNsaWNrPWRuKX1sbihyLG4pLHM9cj12b2lkIDA7dmFyIHU9bnVsbDtmb3IociBpbiBhKWlmKCFuLmhhc093blByb3BlcnR5KHIpJiZhLmhhc093blByb3BlcnR5KHIpJiZudWxsIT1hW3JdKWlmKCJzdHlsZSI9PT1yKXt2YXIgYz1hW3JdO2ZvcihzIGluIGMpYy5oYXNPd25Qcm9wZXJ0eShzKSYmKHV8fCh1PXt9KSx1W3NdPSIiKX1lbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiE9PXImJiJjaGlsZHJlbiIhPT1yJiYic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiE9PXImJiJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciIT09ciYmImF1dG9Gb2N1cyIhPT1yJiYoYi5oYXNPd25Qcm9wZXJ0eShyKT9lfHwoZT1bXSk6KGU9ZXx8W10pLnB1c2gocixudWxsKSk7Zm9yKHIgaW4gbil7dmFyIGY9bltyXTtpZihjPW51bGwhPWE/YVtyXTp2b2lkIDAsbi5oYXNPd25Qcm9wZXJ0eShyKSYmZiE9PWMmJihudWxsIT1mfHxudWxsIT1jKSlpZigic3R5bGUiPT09cilpZihjKXtmb3IocyBpbiBjKSFjLmhhc093blByb3BlcnR5KHMpfHxmJiZmLmhhc093blByb3BlcnR5KHMpfHwodXx8KHU9e30pLHVbc109IiIpO2ZvcihzIGluIGYpZi5oYXNPd25Qcm9wZXJ0eShzKSYmY1tzXSE9PWZbc10mJih1fHwodT17fSksdVtzXT1mW3NdKX1lbHNlIHV8fChlfHwoZT1bXSksZS5wdXNoKHIsdSkpLHU9ZjtlbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PXI/KGY9Zj9mLl9faHRtbDp2b2lkIDAsYz1jP2MuX19odG1sOnZvaWQgMCxudWxsIT1mJiZjIT09ZiYmKGU9ZXx8W10pLnB1c2gociwiIitmKSk6ImNoaWxkcmVuIj09PXI/Yz09PWZ8fCJzdHJpbmciIT09dHlwZW9mIGYmJiJudW1iZXIiIT09dHlwZW9mIGZ8fChlPWV8fFtdKS5wdXNoKHIsIiIrZik6InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT1yJiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PXImJihiLmhhc093blByb3BlcnR5KHIpPyhudWxsIT1mJiZwbihvLHIpLGV8fGM9PT1mfHwoZT1bXSkpOihlPWV8fFtdKS5wdXNoKHIsZikpfXUmJihlPWV8fFtdKS5wdXNoKCJzdHlsZSIsdSksbz1lLCh0LnVwZGF0ZVF1ZXVlPW8pJiZhYSh0KX19LGZhPWZ1bmN0aW9uKGUsdCxyLG4pe3IhPT1uJiZhYSh0KX07dmFyIGxhPSJmdW5jdGlvbiI9PT10eXBlb2YgV2Vha1NldD9XZWFrU2V0OlNldDtmdW5jdGlvbiBoYShlLHQpe3ZhciByPXQuc291cmNlLG49dC5zdGFjaztudWxsPT09biYmbnVsbCE9PXImJihuPXV0KHIpKSxudWxsIT09ciYmc3Qoci50eXBlKSx0PXQudmFsdWUsbnVsbCE9PWUmJjE9PT1lLnRhZyYmc3QoZS50eXBlKTt0cnl7Y29uc29sZS5lcnJvcih0KX1jYXRjaChpKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgaX0pfX1mdW5jdGlvbiBwYShlKXt2YXIgdD1lLnJlZjtpZihudWxsIT09dClpZigiZnVuY3Rpb24iPT09dHlwZW9mIHQpdHJ5e3QobnVsbCl9Y2F0Y2gocil7WWEoZSxyKX1lbHNlIHQuY3VycmVudD1udWxsfWZ1bmN0aW9uIGRhKGUsdCxyKXtpZihudWxsIT09KHI9bnVsbCE9PShyPXIudXBkYXRlUXVldWUpP3IubGFzdEVmZmVjdDpudWxsKSl7dmFyIG49cj1yLm5leHQ7ZG97aWYoKG4udGFnJmUpIT09Q2kpe3ZhciBpPW4uZGVzdHJveTtuLmRlc3Ryb3k9dm9pZCAwLHZvaWQgMCE9PWkmJmkoKX0obi50YWcmdCkhPT1DaSYmKGk9bi5jcmVhdGUsbi5kZXN0cm95PWkoKSksbj1uLm5leHR9d2hpbGUobiE9PXIpfX1mdW5jdGlvbiB5YShlKXtzd2l0Y2goImZ1bmN0aW9uIj09PXR5cGVvZiBxbiYmcW4oZSksZS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTp2YXIgdD1lLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT10JiZudWxsIT09KHQ9dC5sYXN0RWZmZWN0KSl7dmFyIHI9dD10Lm5leHQ7ZG97dmFyIG49ci5kZXN0cm95O2lmKHZvaWQgMCE9PW4pe3ZhciBpPWU7dHJ5e24oKX1jYXRjaChvKXtZYShpLG8pfX1yPXIubmV4dH13aGlsZShyIT09dCl9YnJlYWs7Y2FzZSAxOmlmKHBhKGUpLCJmdW5jdGlvbiI9PT10eXBlb2YodD1lLnN0YXRlTm9kZSkuY29tcG9uZW50V2lsbFVubW91bnQpdHJ5e3QucHJvcHM9ZS5tZW1vaXplZFByb3BzLHQuc3RhdGU9ZS5tZW1vaXplZFN0YXRlLHQuY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaChvKXtZYShlLG8pfWJyZWFrO2Nhc2UgNTpwYShlKTticmVhaztjYXNlIDQ6bWEoZSl9fWZ1bmN0aW9uIGdhKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8ND09PWUudGFnfWZ1bmN0aW9uIHZhKGUpe2U6e2Zvcih2YXIgdD1lLnJldHVybjtudWxsIT09dDspe2lmKGdhKHQpKXt2YXIgcj10O2JyZWFrIGV9dD10LnJldHVybn1hKCIxNjAiKSxyPXZvaWQgMH12YXIgbj10PXZvaWQgMDtzd2l0Y2goci50YWcpe2Nhc2UgNTp0PXIuc3RhdGVOb2RlLG49ITE7YnJlYWs7Y2FzZSAzOmNhc2UgNDp0PXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sbj0hMDticmVhaztkZWZhdWx0OmEoIjE2MSIpfTE2JnIuZWZmZWN0VGFnJiYob24odCwiIiksci5lZmZlY3RUYWcmPS0xNyk7ZTp0OmZvcihyPWU7Oyl7Zm9yKDtudWxsPT09ci5zaWJsaW5nOyl7aWYobnVsbD09PXIucmV0dXJufHxnYShyLnJldHVybikpe3I9bnVsbDticmVhayBlfXI9ci5yZXR1cm59Zm9yKHIuc2libGluZy5yZXR1cm49ci5yZXR1cm4scj1yLnNpYmxpbmc7NSE9PXIudGFnJiY2IT09ci50YWcmJjE4IT09ci50YWc7KXtpZigyJnIuZWZmZWN0VGFnKWNvbnRpbnVlIHQ7aWYobnVsbD09PXIuY2hpbGR8fDQ9PT1yLnRhZyljb250aW51ZSB0O3IuY2hpbGQucmV0dXJuPXIscj1yLmNoaWxkfWlmKCEoMiZyLmVmZmVjdFRhZykpe3I9ci5zdGF0ZU5vZGU7YnJlYWsgZX19Zm9yKHZhciBpPWU7Oyl7aWYoNT09PWkudGFnfHw2PT09aS50YWcpaWYocilpZihuKXt2YXIgbz10LHM9aS5zdGF0ZU5vZGUsdT1yOzg9PT1vLm5vZGVUeXBlP28ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocyx1KTpvLmluc2VydEJlZm9yZShzLHUpfWVsc2UgdC5pbnNlcnRCZWZvcmUoaS5zdGF0ZU5vZGUscik7ZWxzZSBuPyhzPXQsdT1pLnN0YXRlTm9kZSw4PT09cy5ub2RlVHlwZT8obz1zLnBhcmVudE5vZGUpLmluc2VydEJlZm9yZSh1LHMpOihvPXMpLmFwcGVuZENoaWxkKHUpLG51bGwhPT0ocz1zLl9yZWFjdFJvb3RDb250YWluZXIpJiZ2b2lkIDAhPT1zfHxudWxsIT09by5vbmNsaWNrfHwoby5vbmNsaWNrPWRuKSk6dC5hcHBlbmRDaGlsZChpLnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09aS50YWcmJm51bGwhPT1pLmNoaWxkKXtpLmNoaWxkLnJldHVybj1pLGk9aS5jaGlsZDtjb250aW51ZX1pZihpPT09ZSlicmVhaztmb3IoO251bGw9PT1pLnNpYmxpbmc7KXtpZihudWxsPT09aS5yZXR1cm58fGkucmV0dXJuPT09ZSlyZXR1cm47aT1pLnJldHVybn1pLnNpYmxpbmcucmV0dXJuPWkucmV0dXJuLGk9aS5zaWJsaW5nfX1mdW5jdGlvbiBtYShlKXtmb3IodmFyIHQ9ZSxyPSExLG49dm9pZCAwLGk9dm9pZCAwOzspe2lmKCFyKXtyPXQucmV0dXJuO2U6Zm9yKDs7KXtzd2l0Y2gobnVsbD09PXImJmEoIjE2MCIpLHIudGFnKXtjYXNlIDU6bj1yLnN0YXRlTm9kZSxpPSExO2JyZWFrIGU7Y2FzZSAzOmNhc2UgNDpuPXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8saT0hMDticmVhayBlfXI9ci5yZXR1cm59cj0hMH1pZig1PT09dC50YWd8fDY9PT10LnRhZyl7ZTpmb3IodmFyIG89dCxzPW87OylpZih5YShzKSxudWxsIT09cy5jaGlsZCYmNCE9PXMudGFnKXMuY2hpbGQucmV0dXJuPXMscz1zLmNoaWxkO2Vsc2V7aWYocz09PW8pYnJlYWs7Zm9yKDtudWxsPT09cy5zaWJsaW5nOyl7aWYobnVsbD09PXMucmV0dXJufHxzLnJldHVybj09PW8pYnJlYWsgZTtzPXMucmV0dXJufXMuc2libGluZy5yZXR1cm49cy5yZXR1cm4scz1zLnNpYmxpbmd9aT8obz1uLHM9dC5zdGF0ZU5vZGUsOD09PW8ubm9kZVR5cGU/by5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHMpOm8ucmVtb3ZlQ2hpbGQocykpOm4ucmVtb3ZlQ2hpbGQodC5zdGF0ZU5vZGUpfWVsc2UgaWYoND09PXQudGFnKXtpZihudWxsIT09dC5jaGlsZCl7bj10LnN0YXRlTm9kZS5jb250YWluZXJJbmZvLGk9ITAsdC5jaGlsZC5yZXR1cm49dCx0PXQuY2hpbGQ7Y29udGludWV9fWVsc2UgaWYoeWEodCksbnVsbCE9PXQuY2hpbGQpe3QuY2hpbGQucmV0dXJuPXQsdD10LmNoaWxkO2NvbnRpbnVlfWlmKHQ9PT1lKWJyZWFrO2Zvcig7bnVsbD09PXQuc2libGluZzspe2lmKG51bGw9PT10LnJldHVybnx8dC5yZXR1cm49PT1lKXJldHVybjs0PT09KHQ9dC5yZXR1cm4pLnRhZyYmKHI9ITEpfXQuc2libGluZy5yZXR1cm49dC5yZXR1cm4sdD10LnNpYmxpbmd9fWZ1bmN0aW9uIGJhKGUsdCl7c3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6ZGEoSWksa2ksdCk7YnJlYWs7Y2FzZSAxOmJyZWFrO2Nhc2UgNTp2YXIgcj10LnN0YXRlTm9kZTtpZihudWxsIT1yKXt2YXIgbj10Lm1lbW9pemVkUHJvcHM7ZT1udWxsIT09ZT9lLm1lbW9pemVkUHJvcHM6bjt2YXIgaT10LnR5cGUsbz10LnVwZGF0ZVF1ZXVlO3QudXBkYXRlUXVldWU9bnVsbCxudWxsIT09byYmZnVuY3Rpb24oZSx0LHIsbixpKXtlW0JdPWksImlucHV0Ij09PXImJiJyYWRpbyI9PT1pLnR5cGUmJm51bGwhPWkubmFtZSYmU3QoZSxpKSxobihyLG4pLG49aG4ocixpKTtmb3IodmFyIG89MDtvPHQubGVuZ3RoO28rPTIpe3ZhciBhPXRbb10scz10W28rMV07InN0eWxlIj09PWE/Y24oZSxzKToiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiPT09YT9ubihlLHMpOiJjaGlsZHJlbiI9PT1hP29uKGUscyk6dnQoZSxhLHMsbil9c3dpdGNoKHIpe2Nhc2UiaW5wdXQiOkV0KGUsaSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6UXIoZSxpKTticmVhaztjYXNlInNlbGVjdCI6dD1lLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGUsZS5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlPSEhaS5tdWx0aXBsZSxudWxsIT0ocj1pLnZhbHVlKT9XcihlLCEhaS5tdWx0aXBsZSxyLCExKTp0IT09ISFpLm11bHRpcGxlJiYobnVsbCE9aS5kZWZhdWx0VmFsdWU/V3IoZSwhIWkubXVsdGlwbGUsaS5kZWZhdWx0VmFsdWUsITApOldyKGUsISFpLm11bHRpcGxlLGkubXVsdGlwbGU/W106IiIsITEpKX19KHIsbyxpLGUsbil9YnJlYWs7Y2FzZSA2Om51bGw9PT10LnN0YXRlTm9kZSYmYSgiMTYyIiksdC5zdGF0ZU5vZGUubm9kZVZhbHVlPXQubWVtb2l6ZWRQcm9wczticmVhaztjYXNlIDM6Y2FzZSAxMjpicmVhaztjYXNlIDEzOmlmKHI9dC5tZW1vaXplZFN0YXRlLG49dm9pZCAwLGU9dCxudWxsPT09cj9uPSExOihuPSEwLGU9dC5jaGlsZCwwPT09ci50aW1lZE91dEF0JiYoci50aW1lZE91dEF0PUVzKCkpKSxudWxsIT09ZSYmZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9ZTs7KXtpZig1PT09ci50YWcpe3ZhciBuPXIuc3RhdGVOb2RlO2lmKHQpbi5zdHlsZS5kaXNwbGF5PSJub25lIjtlbHNle249ci5zdGF0ZU5vZGU7dmFyIGk9ci5tZW1vaXplZFByb3BzLnN0eWxlO2k9dm9pZCAwIT09aSYmbnVsbCE9PWkmJmkuaGFzT3duUHJvcGVydHkoImRpc3BsYXkiKT9pLmRpc3BsYXk6bnVsbCxuLnN0eWxlLmRpc3BsYXk9dW4oImRpc3BsYXkiLGkpfX1lbHNlIGlmKDY9PT1yLnRhZylyLnN0YXRlTm9kZS5ub2RlVmFsdWU9dD8iIjpyLm1lbW9pemVkUHJvcHM7ZWxzZXtpZigxMz09PXIudGFnJiZudWxsIT09ci5tZW1vaXplZFN0YXRlKXsobj1yLmNoaWxkLnNpYmxpbmcpLnJldHVybj1yLHI9bjtjb250aW51ZX1pZihudWxsIT09ci5jaGlsZCl7ci5jaGlsZC5yZXR1cm49cixyPXIuY2hpbGQ7Y29udGludWV9fWlmKHI9PT1lKWJyZWFrO2Zvcig7bnVsbD09PXIuc2libGluZzspe2lmKG51bGw9PT1yLnJldHVybnx8ci5yZXR1cm49PT1lKXJldHVybjtyPXIucmV0dXJufXIuc2libGluZy5yZXR1cm49ci5yZXR1cm4scj1yLnNpYmxpbmd9fShlLG4pLG51bGwhPT0ocj10LnVwZGF0ZVF1ZXVlKSl7dC51cGRhdGVRdWV1ZT1udWxsO3ZhciBzPXQuc3RhdGVOb2RlO251bGw9PT1zJiYocz10LnN0YXRlTm9kZT1uZXcgbGEpLHIuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgcj1mdW5jdGlvbihlLHQpe3ZhciByPWUuc3RhdGVOb2RlO251bGwhPT1yJiZyLmRlbGV0ZSh0KSx0PVhhKHQ9RXMoKSxlKSxudWxsIT09KGU9JGEoZSx0KSkmJihKbihlLHQpLDAhPT0odD1lLmV4cGlyYXRpb25UaW1lKSYmd3MoZSx0KSl9LmJpbmQobnVsbCx0LGUpO3MuaGFzKGUpfHwocy5hZGQoZSksZS50aGVuKHIscikpfSl9YnJlYWs7Y2FzZSAxNzpicmVhaztkZWZhdWx0OmEoIjE2MyIpfX12YXIgX2E9ImZ1bmN0aW9uIj09PXR5cGVvZiBXZWFrTWFwP1dlYWtNYXA6TWFwO2Z1bmN0aW9uIFNhKGUsdCxyKXsocj1RbyhyKSkudGFnPUhvLHIucGF5bG9hZD17ZWxlbWVudDpudWxsfTt2YXIgbj10LnZhbHVlO3JldHVybiByLmNhbGxiYWNrPWZ1bmN0aW9uKCl7UHMobiksaGEoZSx0KX0scn1mdW5jdGlvbiBFYShlLHQscil7KHI9UW8ocikpLnRhZz1Ibzt2YXIgbj1lLnR5cGUuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yO2lmKCJmdW5jdGlvbiI9PT10eXBlb2Ygbil7dmFyIGk9dC52YWx1ZTtyLnBheWxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm4gbihpKX19dmFyIG89ZS5zdGF0ZU5vZGU7cmV0dXJuIG51bGwhPT1vJiYiZnVuY3Rpb24iPT09dHlwZW9mIG8uY29tcG9uZW50RGlkQ2F0Y2gmJihyLmNhbGxiYWNrPWZ1bmN0aW9uKCl7ImZ1bmN0aW9uIiE9PXR5cGVvZiBuJiYobnVsbD09PWphP2phPW5ldyBTZXQoW3RoaXNdKTpqYS5hZGQodGhpcykpO3ZhciByPXQudmFsdWUsaT10LnN0YWNrO2hhKGUsdCksdGhpcy5jb21wb25lbnREaWRDYXRjaChyLHtjb21wb25lbnRTdGFjazpudWxsIT09aT9pOiIifSl9KSxyfWZ1bmN0aW9uIHdhKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAxOkJuKGUudHlwZSkmJk1uKCk7dmFyIHQ9ZS5lZmZlY3RUYWc7cmV0dXJuIDIwNDgmdD8oZS5lZmZlY3RUYWc9LTIwNDkmdHw2NCxlKTpudWxsO2Nhc2UgMzpyZXR1cm4gd2koKSxMbigpLDAhPT0oNjQmKHQ9ZS5lZmZlY3RUYWcpKSYmYSgiMjg1IiksZS5lZmZlY3RUYWc9LTIwNDkmdHw2NCxlO2Nhc2UgNTpyZXR1cm4gQWkoZSksbnVsbDtjYXNlIDEzOnJldHVybiAyMDQ4Jih0PWUuZWZmZWN0VGFnKT8oZS5lZmZlY3RUYWc9LTIwNDkmdHw2NCxlKTpudWxsO2Nhc2UgMTg6cmV0dXJuIG51bGw7Y2FzZSA0OnJldHVybiB3aSgpLG51bGw7Y2FzZSAxMDpyZXR1cm4gRm8oZSksbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX12YXIgVGE9emUuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixBYT16ZS5SZWFjdEN1cnJlbnRPd25lcixDYT0xMDczNzQxODIyLHhhPSExLElhPW51bGwsa2E9bnVsbCxPYT0wLE5hPS0xLFBhPSExLFJhPW51bGwsQmE9ITEsTWE9bnVsbCxMYT1udWxsLERhPW51bGwsamE9bnVsbDtmdW5jdGlvbiBVYSgpe2lmKG51bGwhPT1JYSlmb3IodmFyIGU9SWEucmV0dXJuO251bGwhPT1lOyl7dmFyIHQ9ZTtzd2l0Y2godC50YWcpe2Nhc2UgMTp2YXIgcj10LnR5cGUuY2hpbGRDb250ZXh0VHlwZXM7bnVsbCE9PXImJnZvaWQgMCE9PXImJk1uKCk7YnJlYWs7Y2FzZSAzOndpKCksTG4oKTticmVhaztjYXNlIDU6QWkodCk7YnJlYWs7Y2FzZSA0OndpKCk7YnJlYWs7Y2FzZSAxMDpGbyh0KX1lPWUucmV0dXJufWthPW51bGwsT2E9MCxOYT0tMSxQYT0hMSxJYT1udWxsfWZ1bmN0aW9uIEZhKCl7Zm9yKDtudWxsIT09UmE7KXt2YXIgZT1SYS5lZmZlY3RUYWc7aWYoMTYmZSYmb24oUmEuc3RhdGVOb2RlLCIiKSwxMjgmZSl7dmFyIHQ9UmEuYWx0ZXJuYXRlO251bGwhPT10JiYobnVsbCE9PSh0PXQucmVmKSYmKCJmdW5jdGlvbiI9PT10eXBlb2YgdD90KG51bGwpOnQuY3VycmVudD1udWxsKSl9c3dpdGNoKDE0JmUpe2Nhc2UgMjp2YShSYSksUmEuZWZmZWN0VGFnJj0tMzticmVhaztjYXNlIDY6dmEoUmEpLFJhLmVmZmVjdFRhZyY9LTMsYmEoUmEuYWx0ZXJuYXRlLFJhKTticmVhaztjYXNlIDQ6YmEoUmEuYWx0ZXJuYXRlLFJhKTticmVhaztjYXNlIDg6bWEoZT1SYSksZS5yZXR1cm49bnVsbCxlLmNoaWxkPW51bGwsZS5tZW1vaXplZFN0YXRlPW51bGwsZS51cGRhdGVRdWV1ZT1udWxsLG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihlLnJldHVybj1udWxsLGUuY2hpbGQ9bnVsbCxlLm1lbW9pemVkU3RhdGU9bnVsbCxlLnVwZGF0ZVF1ZXVlPW51bGwpfVJhPVJhLm5leHRFZmZlY3R9fWZ1bmN0aW9uIFZhKCl7Zm9yKDtudWxsIT09UmE7KXtpZigyNTYmUmEuZWZmZWN0VGFnKWU6e3ZhciBlPVJhLmFsdGVybmF0ZSx0PVJhO3N3aXRjaCh0LnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpkYSh4aSxDaSx0KTticmVhayBlO2Nhc2UgMTppZigyNTYmdC5lZmZlY3RUYWcmJm51bGwhPT1lKXt2YXIgcj1lLm1lbW9pemVkUHJvcHMsbj1lLm1lbW9pemVkU3RhdGU7dD0oZT10LnN0YXRlTm9kZSkuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUodC5lbGVtZW50VHlwZT09PXQudHlwZT9yOm5pKHQudHlwZSxyKSxuKSxlLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlPXR9YnJlYWsgZTtjYXNlIDM6Y2FzZSA1OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhayBlO2RlZmF1bHQ6YSgiMTYzIil9fVJhPVJhLm5leHRFZmZlY3R9fWZ1bmN0aW9uIHFhKGUsdCl7Zm9yKDtudWxsIT09UmE7KXt2YXIgcj1SYS5lZmZlY3RUYWc7aWYoMzYmcil7dmFyIG49UmEuYWx0ZXJuYXRlLGk9UmEsbz10O3N3aXRjaChpLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpkYShPaSxOaSxpKTticmVhaztjYXNlIDE6dmFyIHM9aS5zdGF0ZU5vZGU7aWYoNCZpLmVmZmVjdFRhZylpZihudWxsPT09bilzLmNvbXBvbmVudERpZE1vdW50KCk7ZWxzZXt2YXIgdT1pLmVsZW1lbnRUeXBlPT09aS50eXBlP24ubWVtb2l6ZWRQcm9wczpuaShpLnR5cGUsbi5tZW1vaXplZFByb3BzKTtzLmNvbXBvbmVudERpZFVwZGF0ZSh1LG4ubWVtb2l6ZWRTdGF0ZSxzLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKX1udWxsIT09KG49aS51cGRhdGVRdWV1ZSkmJm5hKDAsbixzKTticmVhaztjYXNlIDM6aWYobnVsbCE9PShuPWkudXBkYXRlUXVldWUpKXtpZihzPW51bGwsbnVsbCE9PWkuY2hpbGQpc3dpdGNoKGkuY2hpbGQudGFnKXtjYXNlIDU6cz1pLmNoaWxkLnN0YXRlTm9kZTticmVhaztjYXNlIDE6cz1pLmNoaWxkLnN0YXRlTm9kZX1uYSgwLG4scyl9YnJlYWs7Y2FzZSA1Om89aS5zdGF0ZU5vZGUsbnVsbD09PW4mJjQmaS5lZmZlY3RUYWcmJnZuKGkudHlwZSxpLm1lbW9pemVkUHJvcHMpJiZvLmZvY3VzKCk7YnJlYWs7Y2FzZSA2OmNhc2UgNDpjYXNlIDEyOmNhc2UgMTM6Y2FzZSAxNzpicmVhaztkZWZhdWx0OmEoIjE2MyIpfX0xMjgmciYmKG51bGwhPT0oaT1SYS5yZWYpJiYobz1SYS5zdGF0ZU5vZGUsImZ1bmN0aW9uIj09PXR5cGVvZiBpP2kobyk6aS5jdXJyZW50PW8pKSw1MTImciYmKE1hPWUpLFJhPVJhLm5leHRFZmZlY3R9fWZ1bmN0aW9uIEthKCl7bnVsbCE9PUxhJiZFbihMYSksbnVsbCE9PURhJiZEYSgpfWZ1bmN0aW9uIHphKGUsdCl7QmE9eGE9ITAsZS5jdXJyZW50PT09dCYmYSgiMTc3Iik7dmFyIHI9ZS5wZW5kaW5nQ29tbWl0RXhwaXJhdGlvblRpbWU7MD09PXImJmEoIjI2MSIpLGUucGVuZGluZ0NvbW1pdEV4cGlyYXRpb25UaW1lPTA7dmFyIG49dC5leHBpcmF0aW9uVGltZSxpPXQuY2hpbGRFeHBpcmF0aW9uVGltZTtmb3IoZnVuY3Rpb24oZSx0KXtpZihlLmRpZEVycm9yPSExLDA9PT10KWUuZWFybGllc3RQZW5kaW5nVGltZT0wLGUubGF0ZXN0UGVuZGluZ1RpbWU9MCxlLmVhcmxpZXN0U3VzcGVuZGVkVGltZT0wLGUubGF0ZXN0U3VzcGVuZGVkVGltZT0wLGUubGF0ZXN0UGluZ2VkVGltZT0wO2Vsc2V7dDxlLmxhdGVzdFBpbmdlZFRpbWUmJihlLmxhdGVzdFBpbmdlZFRpbWU9MCk7dmFyIHI9ZS5sYXRlc3RQZW5kaW5nVGltZTswIT09ciYmKHI+dD9lLmVhcmxpZXN0UGVuZGluZ1RpbWU9ZS5sYXRlc3RQZW5kaW5nVGltZT0wOmUuZWFybGllc3RQZW5kaW5nVGltZT50JiYoZS5lYXJsaWVzdFBlbmRpbmdUaW1lPWUubGF0ZXN0UGVuZGluZ1RpbWUpKSwwPT09KHI9ZS5lYXJsaWVzdFN1c3BlbmRlZFRpbWUpP0puKGUsdCk6dDxlLmxhdGVzdFN1c3BlbmRlZFRpbWU/KA=="
}