⚝
One Hat Cyber Team
⚝
Your IP:
216.73.217.4
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
local
/
psa
/
var
/
modules
/
xovi
/
View File Name :
serp_1.json
{"success":true,"settings":{"hash":"1","url":"https:\/\/www.google.com\/search?q=wood+outdoor+privacy+screen&as_rights=&num=100&start=0&pws=0&hl=en&near=United+States&uule=w+CAIQICINVW5pdGVkIFN0YXRlcw&gws_rd=cr&gl=US&glp=1&gbv=1"},"code":200,"exception":null,"bodyLen":83951,"body":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iPjxoZWFkPjx0aXRsZT5Hb29nbGUgU2VhcmNoPC90aXRsZT4gPC9oZWFkPjxib2R5Pjxub3NjcmlwdD4gPG1ldGEgY29udGVudD0iMDt1cmw9L2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT1BQTZDYUlxSU52VG83X1VQMzhydWNRIiBodHRwLWVxdWl2PSJyZWZyZXNoIj48ZGl2IHN0eWxlPSJkaXNwbGF5OmJsb2NrIj5QbGVhc2UgY2xpY2sgPGEgaHJlZj0iL2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT1BQTZDYUlxSU52VG83X1VQMzhydWNRIj5oZXJlPC9hPiBpZiB5b3UgYXJlIG5vdCByZWRpcmVjdGVkIHdpdGhpbiBhIGZldyBzZWNvbmRzLjwvZGl2Pjwvbm9zY3JpcHQ+IDxzY3JpcHQgbm9uY2U9Ik5Td1FDUFc1QS1qNGdsbVpOSnRyUkEiPi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam9nTXl3aWMyOTFjbU5sY3lJNld5SWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSUNKZExDSnVZVzFsY3lJNld5SmpiRzl6ZFhKbFJIbHVZVzFwWTBKMWRIUnZiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFaWZRPT0KKGZ1bmN0aW9uKCl7dmFyIFM9ZnVuY3Rpb24oRyxXLG0scSxwLEEsRix6LGwsRSl7e2w9NDc7d2hpbGUobCE9OTIpe2lmKGw9PTM4KXJldHVybiBFO2lmKGw9PTEzKWw9KG0tOHwyOSk8bSYmKG0rOF5HKT49bT84Mjo1MjtlbHNlIGlmKGw9PTQ3KWw9MTM7ZWxzZSBpZihsPT04MilFPXEsbD01MjtlbHNlIGlmKGw9PTUyKWw9bS01Pj5XPDEmJm08PDE+PTE\/ODg6Mzg7ZWxzZSBpZihsPT04OCl7aWYoKHo9KEY9cSxRLnRydXN0ZWRUeXBlcykseikmJnouY3JlYXRlUG9saWN5KXt0cnl7Rj16LmNyZWF0ZVBvbGljeShBLHtjcmVhdGVIVE1MOlYsY3JlYXRlU2NyaXB0OlYsY3JlYXRlU2NyaXB0VVJMOlZ9KX1jYXRjaChVKXtpZihRLmNvbnNvbGUpUS5jb25zb2xlW3BdKFUubWVzc2FnZSl9RT1GfWVsc2UgRT1GO2w9Mzh9fX19LFY9ZnVuY3Rpb24oRyl7cmV0dXJuIFMuY2FsbCh0aGlzLDksNCwzMixHKX0sUT10aGlzfHxzZWxmOygwLGV2YWwpKGZ1bmN0aW9uKEcsVyl7cmV0dXJuKFc9Uyg5LDQsMyxudWxsLCJlcnJvciIsImtzIikpJiZHLmV2YWwoVy5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKG0pe3JldHVybiBXLmNyZWF0ZVNjcmlwdChtKX06ZnVuY3Rpb24obSl7cmV0dXJuIiIrbX19KFEpKEFycmF5KE1hdGgucmFuZG9tKCkqNzgyNHwwKS5qb2luKCJcbiIpK1snLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PScsCicoZnVuY3Rpb24oKXsvKicsCicnLAonIENvcHlyaWdodCBHb29nbGUgTExDJywKJyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCcsCicqLycsCid2YXIgTj1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVixxLGYsVSxNLHIsVCl7VD0xNjt7cj0zNzt3aGlsZSh0cnVlKXRyeXtpZihUPT03OSlicmVhaztlbHNlIGlmKFQ9PTIyKVFPKG51bGwsMjUsVyksVD0yO2Vsc2UgaWYoVD09NDgpVD0oRj4+MSYxMSk9PTM\/Mjc6MTc7ZWxzZSBpZihUPT0yNylVPWZ1bmN0aW9uKCl7fSxVLnByb3RvdHlwZT1sLnByb3RvdHlwZSxXLko9bC5wcm90b3R5cGUsVy5wcm90b3R5cGU9bmV3IFUsVy5wcm90b3R5cGUuY29uc3RydWN0b3I9VyxXLmxZPWZ1bmN0aW9uKHksWCxZKXtmb3IodmFyIHg9Njk7eCE9MjU7KWlmKHg9PTYzKWFbQi1tXT1hcmd1bWVudHNbQl0seD04ODtlbHNlIGlmKHg9PTg4KUIrKyx4PTc2O2Vsc2UgaWYoeD09NzYpeD1CPGFyZ3VtZW50cy5sZW5ndGg\/NjM6MzA7ZWxzZSBpZih4PT02OSl2YXIgYT1BcnJheSgoeD03Myxhcmd1bWVudHMpLmxlbmd0aC1tKSxCPW07ZWxzZXtpZih4PT0zMClyZXR1cm4gbC5wcm90b3R5cGVbWF0uYXBwbHkoeSxhKTt4PT03MyYmKHg9NzYpfX0sVD0xNztlbHNlIGlmKFQ9PTgyKVQ9Rz80Mjo4MTtlbHNlIGlmKFQ9PTI4KVQ9RyBpbiBsLmcmJnJjKDQsMSwxNyxXLGwuZ1tHXSk\/MjI6NDg7ZWxzZSBpZihUPT01KWRlbGV0ZSBsLmdbR10sbC5jSC0tLFQ9NDg7ZWxzZSBpZihUPT0xMilyPTM3LEgwKCJ+Iiw2LGwsUSxmKSxUPTk0O2Vsc2UgaWYoVD09OTkpVD1RLmkubGVuZ3RoPzQ3OjQ2O2Vsc2UgaWYoVD09MTYpVD00MDtlbHNlIGlmKFQ9PTk2KUU9azUoNDAsMykscS5wcm94eT1FLEUuc3JjPXosRS5saXN0ZW5lcj1xLFQ9OTU7ZWxzZSBpZihUPT05Nyl6LmFkZExpc3RlbmVyKEUpLFQ9ODY7ZWxzZSBpZihUPT01OSlUPTk5O2Vsc2UgaWYoVD09NDApVD0oRnw3Mik9PUY\/NzU6NDg7ZWxzZSBpZihUPT04NilEaSsrLFQ9ODc7ZWxzZSBpZihUPT01NSlUPXomJlEuVT80NTozMztlbHNle2lmKFQ9PTgxKXRocm93IEVycm9yKCJJbnZhbGlkIGV2ZW50IHR5cGUiKTtpZihUPT0zMSkkNXx8KHA9VikscD09PXZvaWQgMCYmKHA9bSksei5hZGRFdmVudExpc3RlbmVyKEcudG9TdHJpbmcoKSxFLHApLFQ9ODY7ZWxzZSBpZihUPT05NSlUPXouYWRkRXZlbnRMaXN0ZW5lcj8zMTo2MDtlbHNlIGlmKFQ9PTQyKVY9cVooMjksVyxwKT8hIXAuY2FwdHVyZTohIXAsKEE9azUoNDAsMTYseikpfHwoeltOWl09QT1uZXcgdjAoeikpLHE9QS5hZGQoRyxsLFEsVixTKSxUPTEwO2Vsc2V7aWYoVD09NTcpdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtpZihUPT00NSlBPVEuVSxBKGZ1bmN0aW9uKCl7dSgzMCxHLFcsUSxXKX0pLFQ9NDY7ZWxzZSBpZihUPT0xMSlyPTk5LFM9UDAocCxRLDAsNiksVD05NDtlbHNlIGlmKFQ9PTQ3KVEuVT1tLHA9US5pLnBvcCgpLFQ9MTE7ZWxzZSBpZihUPT05NClyPTM3LFQ9NTU7ZWxzZSBpZihUPT05OCl6PWwuY2xhc3NMaXN0LmNvbnRhaW5zKEcpLFQ9NzY7ZWxzZSBpZihUPT0zNClUPXouYWRkTGlzdGVuZXImJnoucmVtb3ZlTGlzdGVuZXI\/OTc6NTc7ZWxzZSBpZihUPT02MClUPXouYXR0YWNoRXZlbnQ\/MTk6MzQ7ZWxzZSBpZihUPT00NilNPVMsVD05MjtlbHNlIGlmKFQ9PTE3KVQ9KEYrN14yOSk8RiYmKEYtOXwxMDApPj1GPzQ5OjIwO2Vsc2UgaWYoVD09MzMpVD05OTtlbHNlIGlmKFQ9PTc1KUc9Vy50eXBlLFQ9Mjg7ZWxzZSBpZihUPT0yKVQ9bC5nW0ddLmxlbmd0aD09bT81OjQ4O2Vsc2UgaWYoVD09ODcpVD1GKzk+PjM9PTI\/NTk6OTI7ZWxzZSBpZihUPT00OSlUPWwuY2xhc3NMaXN0Pzk4OjUxO2Vsc2UgaWYoVD09NTEpUT11KDcyLG0sbCksej1NWig3MywxNCxXLEcsUSk+PVcsVD03NjtlbHNlIGlmKFQ9PTIwKVQ9KEZ8NDgpPT1GPzgyOjg3O2Vsc2V7aWYoVD09OTIpcmV0dXJuIE07VD09NzY\/KE09eixUPTIwKTpUPT0xMD9UPXEucHJveHk\/ODc6OTY6VD09MTkmJih6LmF0dGFjaEV2ZW50KHNmKDgwLDI4LCJvbiIsRy50b1N0cmluZygpKSxFKSxUPTg2KX19fX1jYXRjaCh5KXtpZihyPT0zNyl0aHJvdyB5O3I9PTk5JiYoZj15LFQ9MTIpfX19LHg1PWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEpe2ZvcihwPTY1O3AhPTM7KWlmKHA9PW0pdGhpc1t0aGlzKyIiXT10aGlzLHA9NDI7ZWxzZSBpZihwPT02NSlwPTkzO2Vsc2UgaWYocD09NDIpcD1sLTM+PTEzJiYoKGx8MikmMTIpPDI\/MzQ6NDg7ZWxzZSBpZihwPT05MCl7YTp7Zm9yKFEgaW4geilpZihHLmNhbGwodm9pZCAwLHpbUV0sUSx6KSl7QT1XO2JyZWFrIGF9QT1GfXA9NjF9ZWxzZSBpZihwPT0zNClTPXR5cGVvZiB6LFE9UyE9Rz9TOno\/QXJyYXkuaXNBcnJheSh6KT8iYXJyYXkiOlM6Im51bGwiLEE9UT09Rnx8UT09RyYmdHlwZW9mIHoubGVuZ3RoPT1XLHA9NDg7ZWxzZSBpZihwPT05MylwPShsJjEwNSk9PWw\/OTA6NjE7ZWxzZSBpZihwPT02MSlwPShsKzUmNSk9PTE\/bTo0MjtlbHNlIGlmKHA9PTQ4KXJldHVybiBBfSxZNT1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVil7Zm9yKEE9NTE7QSE9Nzk7KWlmKEE9PTUxKUE9MTtlbHNlIGlmKEE9PTY2KUE9bTtlbHNlIGlmKEE9PTkyKUcrPUYsVz1XPDxGfFNbUV0sQT0zNjtlbHNlIGlmKEE9PTEpQT0ocD4+MSY2KTwxJiYocCtsJjMpPj0xPzQ3Ojc7ZWxzZSBpZihBPT03KUE9KHAtM3wyNSk8cCYmKHAtM3wzNik+PXA\/NDg6ODQ7ZWxzZSBpZihBPT0zNilBPW07ZWxzZSBpZihBPT0yOClHLT04LHoucHVzaChXPj5HJjI1NSksQT02NjtlbHNlIGlmKEE9PTQ4KVE9Rz0wLHo9W10sQT02NTtlbHNle2lmKEE9PTg0KXJldHVybiBFO0E9PTEyP0E9UTxTLmxlbmd0aD85Mjo0OTpBPT00Nz8oVj1mdW5jdGlvbigpe30sej12b2lkIDAsRz1pWihTLGZ1bmN0aW9uKHEsZil7Zm9yKGY9ODA7ZiE9NTE7KWY9PTk4PyhGJiZSYihGKSx6PXEsVigpLFY9dm9pZCAwLGY9NTEpOmY9PTgwJiYoZj1WPzk4OjUxKX0sISFGKSxXPUdbMV0sUT1HWzBdLEU9e3RvcDpmdW5jdGlvbihxLGYsVSxNLHIsVCx5KXtmb3IoVD04O1QhPTI5OylpZihUPT01OClUPWY\/MzU6NDc7ZWxzZXtpZihUPT00NylyZXR1cm4gTT1RKFUpLHEmJnEoTSksTTtUPT0zNT9UPXo\/NzI6MjpUPT03Mj8oeSgpLFQ9MjkpOlQ9PTI\/KHI9VixWPWZ1bmN0aW9uKCl7KHIoKSxSYikoeSl9LFQ9MjkpOlQ9PTgmJih5PWZ1bmN0aW9uKCl7eihmdW5jdGlvbihYKXtSYihmdW5jdGlvbigpe3EoWCl9KX0sVSl9LFQ9NTgpfX0scGU6ZnVuY3Rpb24ocSl7VyYmVyhxKX19LEE9Nyk6QT09bT9BPUc+Nz8yODo1NDpBPT00OT8oRT16LEE9ODQpOkE9PTU0PyhRKyssQT0xMik6QT09NjUmJihBPTEyKX19LEFOPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSl7e0U9MjY7d2hpbGUoRSE9ODIpaWYoRT09NDcpRT0oei1sJjgpPDcmJih6XjI3KT49MTg\/NzI6ODE7ZWxzZSBpZihFPT00OSlFPTEzO2Vsc2UgaWYoRT09NzIpUz13aW5kb3cuYnRvYSxFPTg0O2Vsc2UgaWYoRT09MTMpRT1XPEcubGVuZ3RoPzczOjYwO2Vsc2UgaWYoRT09ODQpRT1TPzI0OjgzO2Vsc2UgaWYoRT09ODEpRT16Pj4yJjc\/MzQ6NDA7ZWxzZSBpZihFPT03MylRKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsRy5zbGljZShXLFcrODE5MikpLEU9ODc7ZWxzZSBpZihFPT02MClGPVMoUSkucmVwbGFjZSgvXFwrL2csIi0iKS5yZXBsYWNlKC9cXC8vZywiXyIpLnJlcGxhY2UoLz0vZywiIiksRT1tO2Vsc2UgaWYoRT09MjQpUT0iIixXPTAsRT00OTtlbHNlIGlmKEU9PTg3KVcrPTgxOTIsRT0xMztlbHNlIGlmKEU9PTI2KUU9NDc7ZWxzZXtpZihFPT0zNClyZXR1cm4gQTtpZihFPT1tKUE9RixFPTgxO2Vsc2UgaWYoRT09NDApe2E6e3N3aXRjaChwKXtjYXNlIEc6QT1TPyJkaXNhYmxlIjoiZW5hYmxlIjticmVhayBhO2Nhc2UgRjpBPVM\/ImhpZ2hsaWdodCI6InVuaGlnaGxpZ2h0IjticmVhayBhO2Nhc2UgNDpBPVM\/ImFjdGl2YXRlIjoiZGVhY3RpdmF0ZSI7YnJlYWsgYTtjYXNlIDg6QT1TPyJzZWxlY3QiOiJ1bnNlbGVjdCI7YnJlYWsgYTtjYXNlIFc6QT1TPyJjaGVjayI6InVuY2hlY2siO2JyZWFrIGE7Y2FzZSBROkE9Uz8iZm9jdXMiOiJibHVyIjticmVhayBhO2Nhc2UgNjQ6QT1TPyJvcGVuIjoiY2xvc2UiO2JyZWFrIGF9dGhyb3cgRXJyb3IoIkludmFsaWQgY29tcG9uZW50IHN0YXRlIik7fUU9MzR9ZWxzZSBFPT04MyYmKEY9dm9pZCAwLEU9bSl9fX0sTDI9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSl7Zm9yKHo9OTE7eiE9ODA7KWlmKHo9PTkpdGhpcy5uPT09MD9RPVswLDBdOih0aGlzLm8uc29ydChmdW5jdGlvbihTLHApe3JldHVybiBTLXB9KSxRPVt0aGlzLm4sdGhpcy5vW3RoaXMuby5sZW5ndGg+PjFdXSksej0xNDtlbHNle2lmKHo9PTU0KXJldHVybiBRO3o9PTczP3o9KGwrMiY1Nik8bCYmbC0xPDwyPj1sPzk6MTQ6ej09MTQ\/ej0obCs1JjgpPDcmJihsfDgpPj0xNj80NTo1NDp6PT1tPyh0aGlzLkE9dGhpcy5BLHRoaXMuZlE9dGhpcy5mUSx6PTczKTp6PT00NT8odHlwZW9mIFcuY2xhc3NOYW1lPT1GP1cuY2xhc3NOYW1lPUc6Vy5zZXRBdHRyaWJ1dGUmJlcuc2V0QXR0cmlidXRlKCJjbGFzcyIsRyksej01NCk6ej09OTE\/ej0xMjp6PT0xMiYmKHo9KGx8Nyk+PjQ\/NzM6bSl9fSxIPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSl7d2hpbGUoIShtKzU+PjQpKXtmb3IoRz1IKDMwLFcpLHo9bDtGPmw7Ri0tKXo9ejw8OHxsWih0cnVlLFcsOCk7aWYoRChXLEcseiksIm0iKWJyZWFrfShtfDEpPj0obS03JjEwfHwocD0oenwwKS0xLSh6XjcpLSh6fC04KSxBPW1iLFc9Wy01NiwtMjgsLTQxLC04LDU3LDgxLFcsNDgsLTczLC05OV0sUT1HdVtGLlZdKEYuY2spLFFbRi5WXT1mdW5jdGlvbihWKXtwPS03LShwKz02KyhTPVYsNyp6KSwyKn4ocCY3KSkrLTIrKH5wJjcpfSxRLmNvbmNhdD1mdW5jdGlvbihWLHEsZil7cmV0dXJuIHE9KFM9KFY9LTMxNTAqUysoZj1HJTE2KzEsV1twK2wmN10qRypmKS0xNjgqRypHKlMrcC1mKlMrKEEoKXwwKSpmLSAtMTE3NipHKlMrNDIqUypTKzQqRypHKmYsdm9pZCAwKSxXW1ZdKSxXWyhwKzEzJjcpKygtMip+eistMy0oenwtMykrMioofnp8MikpXT1xLFdbcCsoeiYyKV09LTI4LHF9LEU9USksMjApJiZtKzE+PjQ8MiYmKGwuTz9FPVcwKGwsbC5oKTooRz1GTShsLDgsdHJ1ZSksMS1+RysoRyYtMTI5KSsyKih+R3wxMjgpJiYoRz0tMSsofkcmMTI4KS0ofkd8MTI4KSxXPUZNKGwsMix0cnVlKSxHPShGPUc8PDIsLTIqfihGJlcpKy0yKyhGXlcpKSksRT1HKSk7d2hpbGUoe30paWYoKG18NDgpPT1tJiYoVz1HdVtsLlZdKGwuaVkpLFdbbC5WXT1mdW5jdGlvbigpe3JldHVybiBGfSxXLmNvbmNhdD1mdW5jdGlvbihWKXtGPVZ9LEU9Vykse30pYnJlYWs7cmV0dXJuIEV9LHJjPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwKXt7cD0zNzt3aGlsZShwIT01NylpZihwPT0zNylwPTc4O2Vsc2UgaWYocD09OTcpej1NWig3MywxMSwwLFcsRyksKFE9ej49MCkmJkFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChHLHosbCksUz1RLHA9MTQ7ZWxzZSBpZihwPT03OClwPShGfDgpPT1GPzU5Ojk1O2Vsc2V7aWYocD09MTQpcmV0dXJuIFM7cD09OTU\/cD1GLTk+Pm0\/MTQ6OTc6cD09NTkmJih0aGlzLnNyYz1sLHRoaXMuZz17fSx0aGlzLmNIPTAscD05NSl9fX0senU9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYpe3tFPTQ3O3doaWxlKEUhPTkyKWlmKEU9PTk0KUU9MTU7ZWxzZSBpZihFPT00NylFPTEzO2Vsc2UgaWYoRT09NTMpenUoNCw2LEYsdHJ1ZSxudWxsLHosUSxTW0FdLHApLEU9Nzg7ZWxzZSBpZihFPT0zOClFPShsXjQ2KT4+bT84Mjo5MztlbHNlIGlmKEU9PTcpQT0wLEU9OTQ7ZWxzZSBpZihFPT04OCl0aGlzLmxpc3RlbmVyPVcsdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPXosdGhpcy50eXBlPVEsdGhpcy5jYXB0dXJlPSEhRix0aGlzLkRzPUcsdGhpcy5rZXk9KytFZix0aGlzLkJIPXRoaXMueXA9ZmFsc2UsRT01MjtlbHNlIGlmKEU9PTUyKUU9KGwtNl42KT49bCYmKGwtMV41KTxsPzk1OjM4O2Vsc2UgaWYoRT09NjYpRj1RTyhGLDYpLHomJnpbVk9dP3ouQi5hZGQoU3RyaW5nKFMpLEYsVyxxWigyNixHLHApPyEhcC5jYXB0dXJlOiEhcCxRKTpOKGZhbHNlLEYsNTgsbnVsbCxTLHosVyxRLHApLEU9Mzg7ZWxzZSBpZihFPT05NSlFPUFycmF5LmlzQXJyYXkoUyk\/Nzo2NjtlbHNlIGlmKEU9PTEzKUU9KGwmNzcpPT1sPzg4OjUyO2Vsc2UgaWYoRT09OTMpe2E6e2ZvcihTPVc7UzxRLmxlbmd0aDsrK1MpaWYocD1RW1NdLCFwLnlwJiZwLmxpc3RlbmVyPT1GJiZwLmNhcHR1cmU9PSEheiYmcC5Ecz09Ryl7Vj1TO2JyZWFrIGF9Vj0tMX1FPTgyfWVsc2UgaWYoRT09NzgpQSsrLEU9MTU7ZWxzZXtpZihFPT04MilyZXR1cm4gVjtFPT0xNSYmKEU9QTxTLmxlbmd0aD81MzozOCl9fX0sdj1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBKXt7cD0yNDt3aGlsZShwIT03KWlmKHA9PTYyKXA9KFd8MTYpPT1XPzA6MTI7ZWxzZSBpZihwPT0wKUQobSxsLEYpLEZbU0FdPTI3OTYscD0xMjtlbHNle2lmKHA9PTgxKXJldHVybiBBO3A9PTc0PyhTKysscD01OCk6cD09NzE\/KGwueF8oZnVuY3Rpb24oRSl7Rz1FfSxtLEYpLEE9RyxwPTYyKTpwPT0xMj9wPShXLTleMTkpPFcmJlctODw8MT49Vz8yNTo4MTpwPT01OD9wPVM8UT8yODo4MTpwPT0yND9wPTIwOnA9PTIwP3A9Vy04PDE3JiYoV3w0KT4+Mz49MT83MTo2MjpwPT0yNT8oUT1sLmxlbmd0aCx6PXR5cGVvZiBsPT09InN0cmluZyI\/bC5zcGxpdChGKTpsLFM9bSxwPTI2KTpwPT0yOD8oUyBpbiB6JiZHLmNhbGwodm9pZCAwLHpbU10sUyxsKSxwPTc0KTpwPT0yNiYmKHA9NTgpfX19LE1aPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyl7Zm9yKFM9OTE7UyE9ODspaWYoUz09NzApUz0obF41MCk+PTkmJihsXjI0KTwyNz80NTptO2Vsc2V7aWYoUz09OTkpcmV0dXJuIFE7aWYoUz09MjYpUz0obCYxMjUpPT1sPzUyOjcwO2Vsc2UgaWYoUz09MjcpUz1GPzIzOjIyO2Vsc2UgaWYoUz09MjMpUz10eXBlb2YgVyE9PSJmdW5jdGlvbiI\/NDg6OTk7ZWxzZXtpZihTPT00OCl0aHJvdyBFcnJvcigiSW52YWxpZCBkZWNvcmF0b3IgZnVuY3Rpb24gIitXKTtpZihTPT01MilVZi5jYWxsKHRoaXMpLEZ8fGYyfHwoZjI9bmV3IFR1KSx0aGlzLmVxPW51bGwsdGhpcy5NYT1mYWxzZSx0aGlzLmdxPXZvaWQgMCx0aGlzLlo9dGhpcy56RD10aGlzLk9uPW51bGwsdGhpcy5MQz1mYWxzZSx0aGlzLlExPW51bGwsUz03MDtlbHNlIGlmKFM9PTQ1KXthOmlmKHR5cGVvZiBHPT09InN0cmluZyIpUT10eXBlb2YgVyE9PSJzdHJpbmcifHxXLmxlbmd0aCE9MT8tMTpHLmluZGV4T2YoVyxGKTtlbHNle2Zvcih6PUY7ejxHLmxlbmd0aDt6KyspaWYoeiBpbiBHJiZHW3pdPT09Vyl7UT16O2JyZWFrIGF9UT0tMX1TPW19ZWxzZXtpZihTPT0yMil0aHJvdyBFcnJvcigiSW52YWxpZCBjbGFzcyBuYW1lICIrRik7Uz09OTE\/Uz0yNjpTPT1tJiYoUz0obCszXjI4KT49bCYmKGwtN3wxNSk8bD8yNzo5OSl9fX19LGM9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYscSxmKXt7cT0xMzt3aGlsZShxIT05MSlpZihxPT0xMylxPTE3O2Vsc2UgaWYocT09MzApcT0obS05XjE4KTxtJiYobSsyJjMwKT49bT82Mzo3MjtlbHNlIGlmKHE9PTU0KXE9KG08PDImMjIpPj0xOSYmKG0tNyYyOCk8MjY\/NTk6MzU7ZWxzZSBpZihxPT05MylxPShtfDg4KT09bT81Nzo1NDtlbHNlIGlmKHE9PTU3KXtpZihWPXouQi5nW1N0cmluZyhXKV0pe2ZvcihRPShWPVYuY29uY2F0KCksQT10cnVlLGwpO1E8Vi5sZW5ndGg7KytRKShFPVZbUV0pJiYhRS55cCYmRS5jYXB0dXJlPT1GJiYocD1FLkRzfHxFLnNyYyxTPUUubGlzdGVuZXIsRS5CSCYmTihsLHouQiw3MixFKSxBPVMuY2FsbChwLEcpIT09ZmFsc2UmJkEpO2Y9QSYmIUcuZGVmYXVsdFByZXZlbnRlZH1lbHNlIGY9dHJ1ZTtxPTU0fWVsc2UgaWYocT09MTYpbC5iND1mdW5jdGlvbigpe3JldHVybiBsLlpzP2wuWnM6bC5acz1uZXcgbH0sbC5acz12b2lkIDAscT05MztlbHNlIGlmKHE9PTYzKXE9NzI7ZWxzZXtpZihxPT03MilyZXR1cm4gZjtxPT0xNz9xPShtJjEwNik9PW0\/MTY6OTM6cT09NTk\/KGY9ISEoVy53cSZGKSYmISEoVy5QJkYpIT1HJiYoISh6PVcuWHgsKHp8bCkrKH56XkYpLSh6fH5GKSl8fFcuZGlzcGF0Y2hFdmVudChBTig1Miw1LDIsMTYsMSwzLDMyLEcsRikpKSYmIVcuQSxxPTM1KTpxPT0zNT9xPShtXjQ5KT4+Mz09MT84ODozMDpxPT04OCYmKFcuaS5zcGxpY2UobCxsLEYpLHE9MzApfX19LHBfPWZ1bmN0aW9uKG0sbCl7cmV0dXJuIE1ULmNhbGwodGhpcyxudWxsLG0sMTksbCl9LGc9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSl7aWYoW10pKG0mNDUpPT1tJiYobC5PP1E9VzAobCxsLmgpOihGPUZNKGwsOCx0cnVlKSwxLX5GKyhGJi0xMjkpKzIqKH5GfDEyOCkmJihGPS0xKyh+RiYxMjgpLSh+RnwxMjgpLFc9Rk0obCwyLHRydWUpLEY9KEc9Rjw8MiwtMip+KEcmVykrLTIrKEdeVykpKSxRPUYpKTtyZXR1cm4oKG1eMjcpJigobS03XjE3KT49bSYmKG0tNHwzNSk8bSYmKGwuTz9RPVcwKGwsbC5oKTooRj1GTShsLDgsdHJ1ZSksMS1+RisoRiYtMTI5KSsyKih+RnwxMjgpJiYoRj0tMSsofkYmMTI4KS0ofkZ8MTI4KSxXPUZNKGwsMix0cnVlKSxGPShHPUY8PDIsLTIqfihHJlcpKy0yKyhHXlcpKSksUT1GKSksNikpPDMmJm0tMz49LTYyJiYoVz1sWih0cnVlLEYsOCksVyYxMjgmJihXPShHPS0yKn5XK34oV3wxMjcpLSh+V14xMjcpK2wqKH5XfDEyNyksej1sWih0cnVlLEYsOCk8PDcsLX4oR3x6KSsoR156KSsofkdeeikpKSxRPVcpLFF9LEc3PWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEpe3t6PTU3O3doaWxlKHohPTc4KWlmKHo9PTcxKUYoZnVuY3Rpb24oUyl7UyhXKX0pLFE9W2Z1bmN0aW9uKCl7cmV0dXJuIFd9LGZ1bmN0aW9uKCl7fV0sej05NDtlbHNlIGlmKHo9PTQ5KUc9RixRPWZ1bmN0aW9uKCl7cmV0dXJuIEc8Vy5sZW5ndGg\/e2RvbmU6ZmFsc2UsdmFsdWU6V1tHKytdfTp7ZG9uZTp0cnVlfX0sej00O2Vsc2UgaWYoej09bSlRPU1hdGguZmxvb3IodGhpcy5uUSsodGhpcy5SKCktdGhpcy5zbikpLHo9Njc7ZWxzZSBpZih6PT01MCl6PWwtOSYzPzk0OjcxO2Vsc2UgaWYoej09NTQpej0obCYxMSk9PWw\/Nzo1MDtlbHNlIGlmKHo9PTQpej0obHw3Mik9PWw\/bTo2NztlbHNlIGlmKHo9PTQ3KXo9KGx8MTYpPT1sPzQ5OjQ7ZWxzZSBpZih6PT01Nyl6PTU0O2Vsc2UgaWYoej09MjMpUT1NYXRoLmZsb29yKHRoaXMuUigpKSx6PTQ3O2Vsc2UgaWYoej09OTQpej0obC01JjcpPT0xPzIzOjQ3O2Vsc2UgaWYoej09NyloTi5jYWxsKHRoaXMsRixXfHxtZS5iNCgpLEcpLHo9NTA7ZWxzZSBpZih6PT02NylyZXR1cm4gUX19LG9iPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWLHEsZil7Zm9yKHE9Nzg7cSE9OTE7KWlmKHE9PTk5KXE9UT8yMTo1NjtlbHNlIGlmKHE9PTIpcT1WPzc1OjU2O2Vsc2UgaWYocT09NTYpcT0oKG18NCkmMTIpPDYmJihtfDMpPj0tNzM\/NDQ6Mjc7ZWxzZSBpZihxPT0zNyl6PXRoaXMuY29uc3RydWN0b3IscT01ODtlbHNlIGlmKHE9PTgwKXE9QXJyYXkuaXNBcnJheShTKT8yNDo2MDtlbHNlIGlmKHE9PTk3KWFiLmNhbGwodGhpcyxXKSxxPTk0O2Vsc2UgaWYocT09MzIpUS5CLnJlbW92ZShTdHJpbmcoUykseixwLFcpLHE9NTY7ZWxzZSBpZihxPT04NSlxPTQxO2Vsc2UgaWYocT09NzYpcT05NTtlbHNlIGlmKHE9PTU4KXE9Mzk7ZWxzZSBpZihxPT0zMSl6PShTPU9iamVjdC5nZXRQcm90b3R5cGVPZih6LnByb3RvdHlwZSkpJiZTLmNvbnN0cnVjdG9yLHE9NDM7ZWxzZSBpZihxPT03OClxPTc0O2Vsc2UgaWYocT09MjMpcT0oRz13Y1twXSk\/NzY6MzE7ZWxzZSBpZihxPT0yMSlWPWs1KDQwLDgsUSkscT0yO2Vsc2UgaWYocT09MzQpRSsrLHE9NDE7ZWxzZSBpZihxPT00NCl7aWYoKHo9Ri5sZW5ndGgseik+bCl7Zm9yKEc9KFc9QXJyYXkoeiksbCk7Rzx6O0crKylXW0ddPUZbR107Zj1XfWVsc2UgZj1bXTtxPTI3fWVsc2UgaWYocT09ODcpdGhpcy5MPVEscT0xOTtlbHNlIGlmKHE9PTc0KXE9bTw8MSY3PzU2OjgwO2Vsc2UgaWYocT09NDEpcT1FPFMubGVuZ3RoPzM6NTY7ZWxzZSBpZihxPT00MylxPTM5O2Vsc2UgaWYocT09MjQpRT1GLHE9ODU7ZWxzZSBpZihxPT03NSkoQT1WLkZ3KFMseixXLHApKSYmSigwLG51bGwsNDEsQSkscT01NjtlbHNlIGlmKHE9PTk1KVE9Rz90eXBlb2YgRy5iND09PSJmdW5jdGlvbiI\/Ry5iNCgpOm5ldyBHOm51bGwscT04NztlbHNlIGlmKHE9PTYwKXA9cVooMjgsbCxHKT8hIUcuY2FwdHVyZTohIUcsej1RTyh6LDMpLHE9MzY7ZWxzZSBpZihxPT0zOSlxPXo\/NjI6OTU7ZWxzZSBpZihxPT0zNilxPVEmJlFbVk9dPzMyOjk5O2Vsc2UgaWYocT09OTQpcT0oUT1GKT84NzozNztlbHNlIGlmKHE9PTYyKXA9cVooNSx6KSxxPTIzO2Vsc2UgaWYocT09MjcpcT1tLTg+PjQ\/MTk6OTc7ZWxzZXtpZihxPT0xOSlyZXR1cm4gZjtxPT0zJiYob2IoMjgsbnVsbCwwLFcsRyx6LFEsU1tFXSkscT0zNCl9fSxTSz1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVixxLGYsVSxNKXtmb3IoVT00O1UhPTM5Oyl7aWYoVT09NzQpcmV0dXJuIE07aWYoVT09MjcpVT1GPj4xJjc\/MzY6OTtlbHNlIGlmKFU9PTkpVT1RPzI1OjM2O2Vsc2UgaWYoVT09NClVPTI3O2Vsc2UgaWYoVT09MzYpVT0oRnwyNCk9PUY\/MTk6NzQ7ZWxzZSBpZihVPT0yNSl7YTp7Zm9yKHA9KGY9VnEsei5zcGxpdChXKSksRT1HO0U8cC5sZW5ndGgtbDtFKyspe2lmKFY9cFtFXSwhKFYgaW4gZikpYnJlYWsgYTtmPWZbVl19KFM9USgoQT1mW3E9cFtwLmxlbmd0aC1sXSxxXSxBKSksUyE9QSYmUyE9bSkmJnFUKGYscSx7Y29uZmlndXJhYmxlOnRydWUsd3JpdGFibGU6dHJ1ZSx2YWx1ZTpTfSl9VT0zNn1lbHNlIFU9PTE5JiYoTT1HdVttXShHdS5wcm90b3R5cGUse3Byb3RvdHlwZTpsLHNwbGljZTpsLHByb3BlcnR5SXNFbnVtZXJhYmxlOmwsbGVuZ3RoOmwsZmxvb3I6bCxjYWxsOmwscG9wOmwscGFyZW50OmwscmVwbGFjZTpsLGNvbnNvbGU6bCxkb2N1bWVudDpsLHN0YWNrOmx9KSxVPTc0KX19LEo9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYscSxmLFUpe3tVPTExO3doaWxlKFUhPTc0KWlmKFU9PTU4KXo9Vy50eXBlLEc9Vy5wcm94eSxRLnJlbW92ZUV2ZW50TGlzdGVuZXI\/US5yZW1vdmVFdmVudExpc3RlbmVyKHosRyxXLmNhcHR1cmUpOlEuZGV0YWNoRXZlbnQ\/US5kZXRhY2hFdmVudChzZig4MCwyMCwib24iLHopLEcpOlEuYWRkTGlzdGVuZXImJlEucmVtb3ZlTGlzdGVuZXImJlEucmVtb3ZlTGlzdGVuZXIoRyksRGktLSxTPWs1KDQwLDI0LFEpLFU9NDY7ZWxzZSBpZihVPT00KWY9dHlwZW9mIFcuY2xhc3NOYW1lPT1tP1cuY2xhc3NOYW1lOlcuZ2V0QXR0cmlidXRlJiZXLmdldEF0dHJpYnV0ZShsKXx8IiIsVT0yOTtlbHNlIGlmKFU9PTQ2KVU9Uz8xODo0NTtlbHNlIGlmKFU9PTM5KVU9KEZ8NzIpPT1GPzI4OjgzO2Vsc2UgaWYoVT09MTgpTihtLFMsNzQsVyksVT0yNTtlbHNlIGlmKFU9PTc5KVU9USYmUVtWT10\/MzY6NTg7ZWxzZSBpZihVPT05NClVPShGPj4xJjE1KT09Mz81NjoyO2Vsc2UgaWYoVT09MjUpVT1TLmNIPT1tPzQzOjM5O2Vsc2UgaWYoVT09NDUpUU8obCwyNyxXKSxVPTM5O2Vsc2UgaWYoVT09MTEpVT05NDtlbHNlIGlmKFU9PTcxKVE9Vy5zcmMsVT03OTtlbHNlIGlmKFU9PTM2KU4obSxRLkIsNzMsVyksVT0zOTtlbHNlIGlmKFU9PTEpZj0hIShHPVcuU3YsfihHJm0pLSAtMS1sKn5tK2wqKEd8fm0pKSYmISEoVy53cSZtKSxVPTQ0O2Vsc2UgaWYoVT09NTYpe2lmKCgocT0oVj0ocD0oQT1tLkNRPih6fHxtLlh3KyssbCkmJm0ubVEmJm0uQmsmJm0uaTQ8PTEmJiFtLk8mJiFtLlUmJighenx8bS5SYi1HPjEpJiZkb2N1bWVudC5oaWRkZW49PTAsbS5Ydyk9PTQpfHxBP20uUigpOm0uUmosVi1tLlJqKSxtLk4rPXE+PjE0PmwsbSkuUyYmKG0uUz0oUT1tLlMsRT0obS5OKzE+PjIpKihxPDwyKSwzKihRfGwpLShFfGwpKzIqflEtMiooUXx+RSkpKSxtKS5ZPW0uTisxPj4yIT1sfHxtLlkscHx8QSltLlJqPVYsbS5Ydz1sO1U9KEE\/KG0uQ1E+bS5QSCYmKG0uUEg9bS5DUSksVi1tLnNuPG0uQ1EtKFc\/MjU1Ono\/NToyKT9mPWZhbHNlOihtLlJiPUcsUz1lKG0sej84MDo0NiksRChtLDQ2LG0uaiksbS5pLnB1c2goW0liLFMsej9HKzE6RyxtLmwsbS5LXSksbS5VPVJiLGY9dHJ1ZSkpOmY9ZmFsc2UsMil9ZWxzZSBpZihVPT04MylVPShGfDgwKT09Rj80OjI5O2Vsc2UgaWYoVT09MilVPShGJjczKT09Rj8xOjQ0O2Vsc2UgaWYoVT09Mjgpej1tLHpePXo8PDEzLHo9KEc9ej4+MTcsKEd8MCktKHomRykrKHomfkcpKSx6Xj16PDw1LCh6PS1+KHomVykrKH56JlcpKyh6fH5XKSl8fCh6PTEpLGY9bF56LFU9ODM7ZWxzZSBpZihVPT00MilVPXR5cGVvZiBXIT09Im51bWJlciImJlcmJiFXLnlwPzcxOjM5O2Vsc2V7aWYoVT09MjkpcmV0dXJuIGY7VT09NDQ\/VT0oRnw0MCk9PUY\/NDI6Mzk6VT09NDMmJihTLnNyYz1sLFFbTlpdPWwsVT0zOSl9fX0sUU89ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYscSxmKXtmb3IoZj0xODtmIT01Nzspe2lmKGY9PTc5KXJldHVybiBxO2lmKGY9PTkxKWY9ODtlbHNlIGlmKGY9PTApZj0obC05JjMpPj0xJiZsLTc8MTg\/OTg6Njg7ZWxzZSBpZihmPT0yNClmPShsfDI0KT09bD84NjowO2Vsc2UgaWYoZj09NDQpQT1TW0VdLGY9MTc7ZWxzZSBpZihmPT0yMylFKyssZj04O2Vsc2UgaWYoZj09MTgpZj0yNDtlbHNlIGlmKGY9PTgzKVYoQSksZj0yMztlbHNlIGlmKGY9PTgpZj1FPFMubGVuZ3RoPzQ0Ojc5O2Vsc2UgaWYoZj09MTcpZj0heDUoMTcsMTYsRywibnVtYmVyIixtLEEpfHxxWigzMCxudWxsLEEpJiZBLm5vZGVUeXBlPkY\/ODM6NTE7ZWxzZSBpZihmPT04NilGLnlwPXRydWUsRi5saXN0ZW5lcj1tLEYucHJveHk9bSxGLnNyYz1tLEYuRHM9bSxmPTA7ZWxzZSBpZihmPT05OCl0eXBlb2YgbT09PSJmdW5jdGlvbiI\/cT1tOihtW1VqXXx8KG1bVWpdPWZ1bmN0aW9uKFUpe3JldHVybiBtLmhhbmRsZUV2ZW50KFUpfSkscT1tW1VqXSksZj02ODtlbHNlIGlmKGY9PTUxKXthOntpZihBJiZ0eXBlb2YgQS5sZW5ndGg9PSJudW1iZXIiKXtpZihxWigyNyxudWxsLEEpKXtwPXR5cGVvZiBBLml0ZW09PSJmdW5jdGlvbiJ8fHR5cGVvZiBBLml0ZW09PSJzdHJpbmciO2JyZWFrIGF9aWYodHlwZW9mIEE9PT0iZnVuY3Rpb24iKXtwPXR5cGVvZiBBLml0ZW09PSJmdW5jdGlvbiI7YnJlYWsgYX19cD1XfWY9KHYoRixwP29iKDMsRixBKTpBLCIiLDMyLFYpLDIzKX1lbHNlIGY9PTY4P2Y9KGwmMTIyKT09bD8xMjo3OTpmPT0xMiYmKFY9ZnVuY3Rpb24oVSl7VSYmUS5hcHBlbmRDaGlsZCh0eXBlb2YgVT09PSJzdHJpbmciP3ouY3JlYXRlVGV4dE5vZGUoVSk6VSl9LEU9MSxmPTkxKX19LEpOPWZ1bmN0aW9uKG0sbCxGLFcsRyl7Zm9yKFc9MzI7VyE9Njc7KWlmKFc9PW0pQjAuY2FsbCh0aGlzKSx0aGlzLkI9bmV3IHYwKHRoaXMpLHRoaXMuREs9dGhpcyx0aGlzLnRPPW51bGwsVz03O2Vsc2UgaWYoVz09NylXPShGXjQpPj1sJiYoRi04JjYpPDY\/OTc6MjM7ZWxzZSBpZihXPT0zMilXPTQ1O2Vsc2UgaWYoVz09NDUpVz1GLTI+PjQ\/NzptO2Vsc2V7aWYoVz09MjMpcmV0dXJuIEc7Vz09OTcmJihXPTIzKX19LHROPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWKXtmb3IoVj0zNTtWIT01MDspaWYoVj09MjApcD17fSxuMj0ocFtXXT1mYWxzZSxwLmF1dG9jb21wbGV0ZT0ibm9uZSIscC5kcm9wZWZmZWN0PSJub25lIixwLmhhc3BvcHVwPWZhbHNlLHBbRl09Im9mZiIscC5tdWx0aWxpbmU9ZmFsc2UscC5tdWx0aXNlbGVjdGFibGU9ZmFsc2UscC5vcmllbnRhdGlvbj0idmVydGljYWwiLHAucmVhZG9ubHk9ZmFsc2UscC5yZWxldmFudD0iYWRkaXRpb25zIHRleHQiLHAucmVxdWlyZWQ9ZmFsc2UscC5zb3J0PSJub25lIixwLmJ1c3k9ZmFsc2UscC5kaXNhYmxlZD1mYWxzZSxwLmhpZGRlbj1mYWxzZSxwLmludmFsaWQ9ImZhbHNlIixwKSxWPTU4O2Vsc2UgaWYoVj09MjMpRy5zZXRBdHRyaWJ1dGUoQSx6KSxWPTkzO2Vsc2UgaWYoVj09ODQpVj1uMj81ODoyMDtlbHNlIGlmKFY9PTU4KVM9bjIsUSBpbiBTP0cuc2V0QXR0cmlidXRlKEEsU1tRXSk6Ry5yZW1vdmVBdHRyaWJ1dGUoQSksVj05MztlbHNlIGlmKFY9PTkzKVY9bC00Pj0yNSYmbC03PDQ0PzI3OjE1O2Vsc2UgaWYoVj09NTMpVj16PT09IiJ8fHo9PXZvaWQgMD84NDoyMztlbHNlIGlmKFY9PTkxKUU9RiYmRi5wYXJlbnROb2RlP0YucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChGKTpudWxsLFY9ODI7ZWxzZXtpZihWPT04MilyZXR1cm4gRTtWPT0zNT9WPTk0OlY9PTA\/KEYuY2xhc3NMaXN0P0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoVyxmdW5jdGlvbihxKXt0Tig1NCwyOSwic3RyaW5nIiwiICIsImNsYXNzIiwwLEYscSl9KTpMMig0NywzMCwic3RyaW5nIixGLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCh1KDczLCJjbGFzcyIsRiksZnVuY3Rpb24ocSl7cmV0dXJuIShNWig3MywxMCwwLHEsVyk+PTApfSkuam9pbigiICIpKSxWPW0pOlY9PTY4PyhBcnJheS5pc0FycmF5KHopJiYoej16LmpvaW4oIiAiKSksQT0iYXJpYS0iK1EsVj01Myk6Vj09bT9WPShsKzcmMjkpPGwmJihsKzFeNCk+PWw\/Njg6OTM6Vj09OTQ\/Vj0obD4+MiYxMik8MSYmbCszPj0zPzA6bTpWPT0xNT9WPShsJjEyNCk9PWw\/OTE6ODI6Vj09MjcmJihRLmNsYXNzTGlzdD9RLmNsYXNzTGlzdC5yZW1vdmUoUyk6TihHLFEsMTcseixTKSYmTDIoNDcsMzIsRixRLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCh1KDc1LEcsUSksZnVuY3Rpb24ocSl7cmV0dXJuIHEhPVN9KS5qb2luKFcpKSxWPTE1KX19LEFlPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWKXt7Vj05NTt3aGlsZShWIT01OClpZihWPT0yNilTPXRydWUsVj0zMztlbHNlIGlmKFY9PTc3KVY9QXJyYXkuaXNBcnJheShRKT81Nzo3NDtlbHNlIGlmKFY9PTMwKVE9bmV3IHBfKEYsdGhpcyksej1sLkRzfHxsLnNyYyxHPWwubGlzdGVuZXIsbC5CSCYmSigwLG51bGwsNDAsbCksUz1HLmNhbGwoeixRKSxWPTMzO2Vsc2UgaWYoVj09MjcpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChGLGZ1bmN0aW9uKHEsZixVKXtmb3IoVT0xMjtVIT03NTspVT09NjI\/KGwuY2xhc3NMaXN0LmFkZChxKSxVPTc1KTpVPT0zMz9VPU4oImNsYXNzIixsLDE2LDAscSk\/NzU6Njk6VT09MTI\/VT1sLmNsYXNzTGlzdD82MjozMzpVPT02OSYmKGY9Sigic3RyaW5nIiwiY2xhc3MiLDgwLGwpLEwyKDQ3LDE2LCJzdHJpbmciLGwsZisoZi5sZW5ndGg+MD8iICIrcTpxKSksVT03NSl9KSxWPTU0O2Vsc2UgaWYoVj09NjkpVj0oKFdeNDMpJjEzKT49OSYmKFd8NCk+PjU8NT8xNDo2MjtlbHNlIGlmKFY9PTYwKXp1KDQsNyxTLEYsbCxwLHosUSxHKSxWPTY5O2Vsc2UgaWYoVj09NTQpVj1XPDwxJjc\/NzA6MTU7ZWxzZSBpZihWPT05OClBZShmYWxzZSxudWxsLHRydWUsNTgsRyx6LFFbQV0sUyxwKSxWPTExO2Vsc2V7aWYoVj09NzApcmV0dXJuIEU7aWYoVj09NzkpVj0oVy01XjMwKTxXJiYoVys2JjU5KT49Vz81NTo1NDtlbHNlIGlmKFY9PTMzKUU9UyxWPTYyO2Vsc2UgaWYoVj09NDEpVj1BPFEubGVuZ3RoPzk4OjY5O2Vsc2UgaWYoVj09NzQpUz1RTyhTLDcpLHAmJnBbVk9dP3AuQi5hZGQoU3RyaW5nKFEpLFMsbSxxWigyNSxsLEcpPyEhRy5jYXB0dXJlOiEhRyx6KTpOKG0sUyw1NyxudWxsLFEscCxtLHosRyksVj02OTtlbHNlIGlmKFY9PTczKVY9RyYmRy5vbmNlPzYwOjc3O2Vsc2UgaWYoVj09MTUpbC5PbiYmbC5Pbi5mb3JFYWNoKEYsdm9pZCAwKSxWPTcwO2Vsc2UgaWYoVj09ODIpe2Zvcih6IGluIFM9RixHLmcpe2ZvcihRPShwPUcuZ1t6XSxGKTtRPHAubGVuZ3RoO1ErKykrK1MsUU8obCwyOSxwW1FdKTtkZWxldGUgKEcuY0gtLSxHKS5nW3pdfVY9Nzl9ZWxzZSBpZihWPT02MilWPShXLTVeNik+PVcmJihXLTheMyk8Vz84Mjo3OTtlbHNlIGlmKFY9PTExKUErKyxWPTQxO2Vsc2UgaWYoVj09MylWPTQxO2Vsc2UgaWYoVj09NDYpVj0oVy0zXjE5KTxXJiYoVys2XjIwKT49Vz83Mzo2OTtlbHNlIGlmKFY9PTE0KVY9bC55cD8yNjozMDtlbHNlIGlmKFY9PTU1KVY9bC5jbGFzc0xpc3Q\/Mjc6MTtlbHNlIGlmKFY9PTEpe2Zvcih6IGluIEc9KChBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHUoNzQsImNsYXNzIiwoUT17fSxsKSksZnVuY3Rpb24ocSl7UVtxXT10cnVlfSksQXJyYXkucHJvdG90eXBlKS5mb3JFYWNoLmNhbGwoRixmdW5jdGlvbihxKXtRW3FdPXRydWV9KSwiIiksUSlHKz1HLmxlbmd0aD4wPyIgIit6Ono7Vj0oTDIoNDcsMzEsInN0cmluZyIsbCxHKSw1NCl9ZWxzZSBWPT05NT9WPTQ2OlY9PTU3JiYoQT0wLFY9Myl9fX0sazU9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSl7e3o9NTY7d2hpbGUoeiE9Mil7aWYoej09MzQpcmV0dXJuIFE7ej09NjU\/KFc9RltOWl0sUT1XIGluc3RhbmNlb2YgdjA\/VzpudWxsLHo9NTUpOno9PTU1P3o9bD4+Mj49MCYmKGwtOSY2KTw2PzYzOjM0Ono9PTU2P3o9bTp6PT1tP3o9KGwmMTI1KT09bD82NTo1NTp6PT02MyYmKEc9ZnVuY3Rpb24oUyl7cmV0dXJuIEYuY2FsbChHLnNyYyxHLmxpc3RlbmVyLFMpfSxGPU9mLFE9Ryx6PTM0KX19fSxlQT1mdW5jdGlvbihtLGwsRixXLEcseil7e3o9bTt3aGlsZSh6IT01NSlpZih6PT1sKXRoaXMuWT1XLHo9NjM7ZWxzZSBpZih6PT0xNCl6PShGKzleMTYpPEYmJihGLTheMjUpPj1GP2w6NjM7ZWxzZSBpZih6PT1tKXo9MjM7ZWxzZSBpZih6PT0yMyl6PShGXjE4KT4+Mz49MCYmKEY8PDImOCk8OD8zMToxNDtlbHNlIGlmKHo9PTMxKUc9dGhpcy5uPT09MD8wOk1hdGguc3FydCh0aGlzLnU0L3RoaXMubiksej0xNDtlbHNlIGlmKHo9PTYzKXJldHVybiBHfX0sUXE9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYpe2lmKChXLShXPDwxJjZ8fChFPSh6PUZbR108PDI0LFE9Rlt+KEcmbCktIC02KzMqKEcmLTIpKzIqKH5HXmwpXTw8MTYsMiooeiZRKSt+KHomUSkrKHomflEpLSh6fH5RKSl8RlsyKihHJjIpKyhHJi0zKSsofkcmMildPDw4fEZbKEd8MCkrM10pLDEpJjUpPDUmJlctNT4+Mz49MSlzd2l0Y2goISh6PVdtKCJjYWxsIixHLCJhcnJheSIpPT09ImFycmF5Ij9HOltHXSx0aGlzLkMpKXtjYXNlIHRydWU6dHJ5e1M9IXRoaXMuaS5sZW5ndGgsUT1bXSxjKDU3LDAsW2pLLFEsel0sdGhpcyksYyg1NywwLFtGVixsLFFdLHRoaXMpLEYmJiFTfHx1KDI5LDI1NCxtLHRoaXMsRil9Y2F0Y2gocSl7SDAoIn4iLDMyLCI6Iix0aGlzLHEpLGwodGhpcy5DKX1icmVhaztjYXNlIDAhPSFbKGZhbHNlIT1udWxsKS50cnVlXTpsKHRoaXMuQyk7YnJlYWt9cmV0dXJuKFctN14xOCk8VyYmKFcrOV4yMyk+PVcmJihFPVY9ZnVuY3Rpb24oKXtmb3IodmFyIHE9MzQ7cSE9Mzc7KWlmKHE9PTU4KXAmJkEmJnAucmVtb3ZlRXZlbnRMaXN0ZW5lcihBLFYsejcpLHE9Mzc7ZWxzZSBpZihxPT00OSlxPUcuRz8yMjo1ODtlbHNlIGlmKHE9PTEyKXE9ej09bD8yNjoyNDtlbHNlIGlmKHE9PTMpcT16PT1GPzQ2OjEyO2Vsc2UgaWYocT09MzQpcT1HLlk9PUc\/NDk6Mzc7ZWxzZSBpZihxPT00Nil7dmFyIGY9dSgyOCwoYyg1NiwwLFUsRyksMjU0KSxmYWxzZSxHLGZhbHNlKTtxPTY3fWVsc2V7aWYocT09NjcpcmV0dXJuIGY7aWYocT09MjIpdmFyIFU9W0VqLFMsUSx2b2lkIDAscCxBLChxPTMsYXJndW1lbnRzKV07ZWxzZSBpZihxPT0yNil7dmFyIE09IUcuaS5sZW5ndGg7KGMoNjAsMCxVLEcpLE0pJiZ1KDI3LDI1NCxmYWxzZSxHLGZhbHNlKSxxPTY3fWVsc2UgcT09MjQmJihmPVAwKFUsRywwLDYpLHE9NjcpfX0pLEV9LHU9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFKXtmb3IoRT03NDtFIT05NTspaWYoRT09NDgpe2lmKCh6PShHPWwsdykudHJ1c3RlZFR5cGVzKSYmei5jcmVhdGVQb2xpY3kpe3RyeXtHPXouY3JlYXRlUG9saWN5KFcse2NyZWF0ZUhUTUw6WmksY3JlYXRlU2NyaXB0OlppLGNyZWF0ZVNjcmlwdFVSTDpaaX0pfWNhdGNoKFYpe2lmKHcuY29uc29sZSl3LmNvbnNvbGVbRl0oVi5tZXNzYWdlKX1BPUd9ZWxzZSBBPUc7RT04Mn1lbHNlIGlmKEU9PTk0KUU9KG18NTYpPT1tPzQxOjIyO2Vsc2UgaWYoRT09NDIpQT1GLmNsYXNzTGlzdD9GLmNsYXNzTGlzdDpKKCJzdHJpbmciLGwsODEsRikubWF0Y2goL1xcUysvZyl8fFtdLEU9NDk7ZWxzZSBpZihFPT00OSlFPW0rMzw0MyYmbS0yPj0yND8zNTo5NDtlbHNlIGlmKEU9PTM1KXtpZihXLmkubGVuZ3RoKXtXLm1RPSEoVy5tUSYmIjpUUVI6VFFSOiIoKSxXLkJrPUcsMCk7dHJ5e3o9Vy5SKCksVy5QSD0wLFcuc249eixXLlJqPXosVy5Ydz0wLFM9TihudWxsLCI6Iiw4LHRydWUsMjU0LEcsVyksUT1GPzA6MTAscD1XLlIoKS1XLnNuLFcublErPXAsVy5LUSYmVy5LUShwLVcuRixXLmwsVy5LLFcuUEgpLFcuSz1mYWxzZSxXLmw9ZmFsc2UsVy5GPTAscDxRfHxXLk5hLS08PTB8fChwPU1hdGguZmxvb3IocCksVy5ycS5wdXNoKHA8PWw\/cDoyNTQpKX1maW5hbGx5e1cubVE9ZmFsc2V9QT1TfUU9OTR9ZWxzZSBpZihFPT0yNylFPW0+PjImMTU\/ODI6NDg7ZWxzZXtpZihFPT02NilyZXR1cm4gQTtFPT00Mz8oQT1sLEU9NjYpOkU9PTc0P0U9Mjc6RT09NDE\/RT0yMjpFPT0yMj9FPShtJjU4KT09bT80Mzo2NjpFPT04MiYmKEU9KG0tOF4yOCk+PW0mJihtKzQmNjMpPG0\/NDI6NDkpfX0sSDA9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSl7e1E9MTY7d2hpbGUoUSE9NzIpaWYoUT09MzQpdGhpcy5vLnB1c2goRiksUT00OTtlbHNlIGlmKFE9PTM4KVE9dGhpcy5vLmxlbmd0aDw1MD8zNDoxMTtlbHNlIGlmKFE9PTI3KVcuQz0oKFcuQz9XLkMrbToiRToiKStHLm1lc3NhZ2UrRitHLnN0YWNrKS5zbGljZSgwLDIwNDgpLFE9OTQ7ZWxzZSBpZihRPT05OSl0aGlzLnZIPXcuZG9jdW1lbnR8fGRvY3VtZW50LFE9NDI7ZWxzZSBpZihRPT00MilRPShsXjM0KT4+NTwyJiYobCs1JjEzKT49MTI\/MjY6NDk7ZWxzZSBpZihRPT0xNilRPTQzO2Vsc2UgaWYoUT09NDMpUT0obF40MSk+PjU8MiYmKGw8PDImNyk+PTQ\/OTk6NDI7ZWxzZSBpZihRPT0yNil0aGlzLm4rKyxRPTM4O2Vsc2V7aWYoUT09OTQpcmV0dXJuIHo7UT09MTE\/KFc9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKnRoaXMubiksVzw1MCYmKHRoaXMub1tXXT1GKSxRPTQ5KTpRPT00OSYmKFE9KGwrOCY0Myk+PWwmJmwrOD4+MjxsPzI3Ojk0KX19fSxIbT1mdW5jdGlvbihtLGwsRixXLEcseil7Ri5URC5sZW5ndGg+bD9MXyhbck0sMzZdLEYseixtKTooRi5URC5wdXNoKEYuRy5zbGljZSgpKSxGLkdbR109dm9pZCAwLFooRixHLFcpKX0sTVQ9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYpe2ZvcihWPTkxO1YhPTMxOylpZihWPT01MSlWPSgoRnwyKSYxNSk9PTI\/NDI6Nzk7ZWxzZSBpZihWPT02NilWPTczO2Vsc2UgaWYoVj09NjcpZl8uY2FsbCh0aGlzLGw\/bC50eXBlOiIiKSx0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW0sdGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MCx0aGlzLmtleT0iIix0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wLHRoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT1mYWxzZSx0aGlzLnN0YXRlPW0sdGhpcy5wb2ludGVySWQ9MCx0aGlzLnBvaW50ZXJUeXBlPSIiLHRoaXMudGltZVN0YW1wPTAsdGhpcy5HRD1tLGwmJnRoaXMuaW5pdChsLFcpLFY9NzQ7ZWxzZSBpZihWPT03MCl6Kz1sLmNoYXJDb2RlQXQoUykseis9ejw8MTAsel49ej4+NixWPTY1O2Vsc2UgaWYoVj09NzkpVj0oRnwyNCk9PUY\/OTozOTtlbHNlIGlmKFY9PTM5KVY9Ri0xPDwxPj1GJiYoRis5XjEzKTxGPzY3Ojc0O2Vsc2UgaWYoVj09OSl0aGlzLm4rKyxXPWwtdGhpcy5ILHRoaXMuSCs9Vy90aGlzLm4sdGhpcy51NCs9VyoobC10aGlzLkgpLFY9Mzk7ZWxzZSBpZihWPT00Mil6PVM9MCxWPTY2O2Vsc2V7aWYoVj09NzQpcmV0dXJuIEU7Vj09OTE\/Vj0zODpWPT0wPyh6Kz16PDwzLHpePXo+PjExLHA9eisoejw8MTUpPj4+MCxBPW5ldyBOdW1iZXIocCYoUT0xPDxXLDEtKH5RXjEpKzIqKFF8LTIpKSksQVswXT0ocD4+PlcpJUcsRT1BLFY9NzkpOlY9PTg5PyhFPShBPVQ3W2wuc3Vic3RyaW5nKDAsMykrIl8iXSk\/QShsLnN1YnN0cmluZygzKSxXLEcseixRLFMscCk6RzcoMzEsNSxXLGwpLFY9NTEpOlY9PTY1PyhTKyssVj03Myk6Vj09NzM\/Vj1TPGwubGVuZ3RoPzcwOjA6Vj09MzgmJihWPShGJjc5KT09Rj84OTo1MSl9fSxxWj1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBKXt7cD02O3doaWxlKHAhPTI4KWlmKHA9PTkxKXA9KG0rOCY3KT49MyYmbSsyPDE4PzQ0OjE7ZWxzZXtpZihwPT00NSlyZXR1cm4gQTtpZihwPT0xMSl7YTp7Zm9yKFE9W2w9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzLEcsbD09dHlwZW9mIHdpbmRvdyYmd2luZG93LGw9PShTPVcsdHlwZW9mIHNlbGYpJiZzZWxmLGw9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbF07UzxRLmxlbmd0aDsrK1MpaWYoKHo9UVtTXSkmJnpbRl09PU1hdGgpe0E9ejticmVhayBhfXRocm93IEVycm9yKCJDYW5ub3QgZmluZCBnbG9iYWwgb2JqZWN0Iik7fXA9OTF9ZWxzZSBwPT04ND8odGhpc1t0aGlzKyIiXT10aGlzLEE9UHJvbWlzZS5yZXNvbHZlKCkscD00NSk6cD09NDQ\/KEE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGwsYlopJiZsW2JaXXx8KGxbYlpdPSsrQzIpLHA9MSk6cD09MjY\/KFc9dHlwZW9mIEYsQT1XPT0ib2JqZWN0IiYmRiE9bHx8Vz09ImZ1bmN0aW9uIixwPTg1KTpwPT04NT9wPShtXjMzKTwxNSYmKG0tNyY3KT49MD84NDo0NTpwPT02P3A9ODg6cD09ODg\/cD1tPDwxJjE0PzkxOjExOnA9PTEmJihwPShtLTJeMzEpPG0mJihtKzgmNDQpPj1tPzI2Ojg1KX19fSxzZj1mdW5jdGlvbihtLGwsRixXLEcseil7Zm9yKHo9NjY7eiE9OTU7KWlmKHo9PTI1KXo9KGwrOV40KT49bCYmKGwrOF4xMCk8bD8xNjo0NztlbHNlIGlmKHo9PTY2KXo9MzQ7ZWxzZSBpZih6PT1tKXo9bCsyPj40PzI1OjQ1O2Vsc2UgaWYoej09MzQpej0obCs2JjcpPT0yPzE4Om07ZWxzZSBpZih6PT0xNil6PTQ3O2Vsc2UgaWYoej09NDUpdGhpcy50eXBlPUYsdGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PVcsdGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMuUXA9ZmFsc2Usej0yNTtlbHNle2lmKHo9PTQ3KXJldHVybiBHO3o9PTE4JiYoRz1XIGluIGRjP2RjW1ddOmRjW1ddPUYrVyx6PW0pfX0sYj1mdW5jdGlvbihtLGwsRixXLEcseixRKXtRPXRoaXM7dHJ5e3lxKEYsbCxHLFcsdGhpcyxtLHopfWNhdGNoKFMpe0gwKCJ+IiwyOCwiOiIsdGhpcyxTKSxsKGZ1bmN0aW9uKHApe3AoUS5DKX0pfX0sa1A9ZnVuY3Rpb24obSxsKXtmdW5jdGlvbiBGKCl7dGhpcy5vPSh0aGlzLm49MCxbXSl9cmV0dXJuIGw9bmV3IChtPShGLnByb3RvdHlwZS5haj0oRi5wcm90b3R5cGUuemE9ZnVuY3Rpb24oKXtyZXR1cm4gTDIuY2FsbCh0aGlzLDQ3LDE5KX0sZnVuY3Rpb24oVyxHKXtyZXR1cm4gSDAuY2FsbCh0aGlzLCJ+Iiw4LFcsRyl9KSxuZXcgRiksRiksW2Z1bmN0aW9uKFcpe20uYWooVyksbC5haihXKX0sZnVuY3Rpb24oVyl7cmV0dXJuIGw9bmV3IChXPW0uemEoKS5jb25jYXQobC56YSgpKSxGKSxXfV19LFcwPWZ1bmN0aW9uKG0sbCxGKXtyZXR1cm4gRj1sLmNyZWF0ZSgpLnNoaWZ0KCksbS5PLmNyZWF0ZSgpLmxlbmd0aHx8bS5oLmNyZWF0ZSgpLmxlbmd0aHx8KG0uaD12b2lkIDAsbS5PPXZvaWQgMCksRn0sJFA9ZnVuY3Rpb24obSxsLEYsVyl7RGcoZChuKGwsKEY9SCgyOSwoVz1nKDM3LGwpLGwpKSxXKSksbSksbCxGKX0sTz1mdW5jdGlvbihtLGwsRil7aWYoRj1tLkdbbF0sRj09PXZvaWQgMCl0aHJvd1tyTSwzMCxsXTtpZihGLnZhbHVlKXJldHVybiBGLmNyZWF0ZSgpO3JldHVybiBGLmNyZWF0ZShsKjQqbCstMjgqbCs3NSksRi5wcm90b3R5cGV9LFhWPWZ1bmN0aW9uKG0sbCxGLFcsRyl7cmV0dXJuIEFlLmNhbGwodGhpcyxmYWxzZSxtLGwsMyxGLFcsRyl9LGQ9ZnVuY3Rpb24obSxsLEYsVyxHKXtGPVtdO3tHPS00LTIqfihsfDEpLShsXjEpO3doaWxlKEc+PTApRlstfihsJjEpK34obHwxKSsyKihsJi0yKS0oR3wwKV09KFc9bT4+Ryo4LC0yKn4oVyYyNTUpK35XKzIqKFcmLTI1NikrKH5XfDI1NSkpLEctLX1yZXR1cm4gRn0sWmk9ZnVuY3Rpb24obSl7cmV0dXJuIHUuY2FsbCh0aGlzLDgsbSl9LFR1PWZ1bmN0aW9uKCl7cmV0dXJuIEgwLmNhbGwodGhpcywifiIsMTEpfSx1Rz1mdW5jdGlvbihtLGwpe3t2YXIgRj03Mzt3aGlsZShGIT00MSlpZihGPT04NilGPXo8dm0ubGVuZ3RoPzcyOjMzO2Vsc2UgaWYoRj09NDIpRj1RPGFyZ3VtZW50cy5sZW5ndGg\/MjE6NDE7ZWxzZSBpZihGPT03Mil7dmFyIFc9dm1bel07T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEcsVykmJihtW1ddPUdbV10pLEY9ODF9ZWxzZSBpZihGPT05OClGPTQyO2Vsc2UgaWYoRj09MzMpUSsrLEY9NDI7ZWxzZSBpZihGPT04MSl6KyssRj04NjtlbHNlIGlmKEY9PTIxKXt2YXIgRz1hcmd1bWVudHNbUV07Zm9yKFcgaW4gRyltW1ddPUdbV107dmFyIHo9KEY9NjcsMCl9ZWxzZSBpZihGPT03Myl2YXIgUT0oRj05OCwxKTtlbHNlIEY9PTY3JiYoRj04Nil9fSxOVD1mdW5jdGlvbihtLGwsRixXKXt0cnl7Vz1tWygobHwwKSsyKSUzXSxtW2xdPShtW2xdfDApLShtWygobHwwKSsxKSUzXXwwKS0oV3wwKV4obD09MT9XPDxGOlc+Pj5GKX1jYXRjaChHKXt0aHJvdyBHO319LEQ9ZnVuY3Rpb24obSxsLEYpe3N3aXRjaCghKGw9PTQ2fHxsPT04MCkpe2Nhc2UgIVt0cnVlLnRydWVdPT1OdW1iZXIoKTppZihtLnFhJiZsIT0zODApcmV0dXJuO2w9PTUxMXx8bD09MTh8fGw9PTI0NXx8bD09NDd8fGw9PTIyfHxsPT00NzN8fGw9PTM5NHx8bD09Mzk3fHxsPT0zNjh8fGw9PTExNj9tLkdbbF18fChtLkdbbF09SCg0MywyNyxtLEYsbCw5NCkpOm0uR1tsXT1IKDExLDI3LG0sRixsLDE1Myk7YnJlYWs7Y2FzZSBmYWxzZTptLkdbbF0\/bS5HW2xdLmNvbmNhdChGKTptLkdbbF09SCg1MSxtLEYpO2JyZWFrfWw9PTM4MCYmKG0uUz1GTShtLDMyLGZhbHNlKSxtLkQ9dm9pZCAwKX0sdD1mdW5jdGlvbihtLGwsRil7aWYobD09NDZ8fGw9PTgwKW0uR1tsXT9tLkdbbF0uY29uY2F0KEYpOm0uR1tsXT1IKDUwLG0sRik7ZWxzZXtpZihtLnFhJiZsIT0zODApcmV0dXJuO2w9PTUxMXx8bD09MTh8fGw9PTI0NXx8bD09NDd8fGw9PTIyfHxsPT00NzN8fGw9PTM5NHx8bD09Mzk3fHxsPT0zNjh8fGw9PTExNj9tLkdbbF18fChtLkdbbF09SCg0NCwyNyxtLEYsbCw5NCkpOm0uR1tsXT1IKDM5LDI3LG0sRixsLDE1Myl9bD09MzgwJiYobS5TPUZNKG0sMzIsZmFsc2UpLG0uRD12b2lkIDApfSxpRz1mdW5jdGlvbihtLGwsRil7Zm9yKEY9OTE7RiE9MzspaWYoRj09OTEpbD1bXSxGPTMwO2Vsc2UgaWYoRj09MzApRj00NDtlbHNle2lmKEY9PTc5KXJldHVybiBsO0Y9PTg1P0Y9NDQ6Rj09Mj8obC5wdXNoKE1hdGgucmFuZG9tKCkqMjU1fDApLEY9ODUpOkY9PTQ0JiYoRj1tLS0\/Mjo3OSl9fSx5cT1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBKXtmb3IoQT0oRy5jaz1TSyhHLlYse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbmNhdCgpfX0sKEcuSGs9UG0sRy5WMT1HW0cudVk9Y20sRlZdLDI1KSksRy5pWT1HdVtHLlZdKEcuY2sse3ZhbHVlOnt2YWx1ZTp7fX19KSxwPTAsW10pO3A8MzM1O3ArKylBW3BdPVN0cmluZy5mcm9tQ2hhckNvZGUocCk7KEcuaT1bXSxHKS5kTz0oKChHLkM9dm9pZCAwLEcpLm5DPShHLkY9MCwwKSxHLnJxPVtdLEcuaj0wLEcpLkJrPShHLnFhPWZhbHNlLGZhbHNlKSxHLklqPWZhbHNlLEcuVT1udWxsLEcuUmI9ODAwMSxmdW5jdGlvbihFKXtyZXR1cm4gZUEuY2FsbCh0aGlzLDEyLDg3LDEwLEUpfSk7d2hpbGUoTmFOIT09TmFOKWlmKCEoRy5ZPUcsbnVsbCkpYnJlYWs7aWYoRy5Fbj0oKEcud089KEcuV2s9KCgoRy5pND0wLEcuRz1bXSxHLktRPVcsRy5iWT0oUz13aW5kb3cucGVyZm9ybWFuY2V8fHt9LChHLk89dm9pZCAwLEcpLlJqPTAsRy5LPSEoRy5oPXZvaWQgMCwxKSxHLkNRPTAsRy5OPSgoRy5URD1bXSxHLnNuPTAsRykuTmE9MjUsMSksKEcublE9MCxHKS5sPWZhbHNlLEcuR2E9dm9pZCAwLEcuUEg9MCxbXSksKEcuSk89W10sRykuSEg9KEcuUz12b2lkIDAsRy5Ydz12b2lkIDAsRy5EPXZvaWQgMCxbXSksRykubVE9ZmFsc2UsRykuSWI9RixbXSksUy50aW1lT3JpZ2lufHwoUy50aW1pbmd8fHt9KS5uYXZpZ2F0aW9uU3RhcnR8fDApLFEmJlEubGVuZ3RoPT0yKSYmKEcuV2s9UVswXSxHLmJZPVFbMV0pLHZvaWQgMCksbSl0cnl7Ry5Fbj1KU09OLnBhcnNlKG0pfWNhdGNoKEUpe0cuRW49e319aWYodihHLDI3OCxmdW5jdGlvbihFLFYscSxmLFUpe3tVPTg0O3doaWxlKFUhPTM0KVU9PTkzPyhmPUgoMjYsRSkscT1nKDM2LEUpLEQoRSxxLGZ1bmN0aW9uKE0pe3JldHVybiBldmFsKE0pfShzaihlKEUuWSxmKSkpKSxVPTM0KTpVPT04NCYmKFU9SihFLDAsNyxmYWxzZSxWLHRydWUpPzM0OjkzKX19LCh2KEcsODUsKCh2KEcsMSwodChHLDQ2LCh2KEcsMzA0LCh2KEcsKHYoRywzOSxmdW5jdGlvbihFLFYscSxmLFUsTSxyLFQpe2ZvcihUPTkxO1QhPTczOylUPT0zMD9UPXItLT84ODo4NTpUPT04OD8oZj0oKGZ8MCkrKGcoMTYsMixFKXwwKSklVSxWLnB1c2goTVtmXSksVD0xMik6VD09OTU\/VD0zMDpUPT0xMj9UPTMwOlQ9PTg1PyhaKEUscSxWKSxUPTczKTpUPT05MSYmKHE9Zyg0NixFKSxyPWcoMTAsMixFKSxWPVtdLE09bihFLDQ4NCksVT1NLmxlbmd0aCxmPTAsVD05NSl9LDUxKSwxNDEpLGZ1bmN0aW9uKEUsVixxLGYsVSxNLHIsVCx5LFgpe2ZvcihYPTc2O1ghPTY5OylYPT0xOD8odChFLFYscVtUXSksWD02OSk6WD09MjA\/WD15PE0ubGVuZ3RoPzM4OjE4Olg9PTM3Pyh5KyssWD0yMCk6WD09MTc\/WD0yMDpYPT0zOD8oVCs9U3RyaW5nLmZyb21DaGFyQ29kZSgocj1NW3ldLC0ofnJeMTIxKSsofnImMTIxKSsocnwtMTIyKSkpLFg9MzcpOlg9PTc2JiYoVT1IKDIxLEUpLGY9ZygxMixFKSxWPWcoMTIsRSksTT1uKEUsZikscT1uKEUsVSksVD0iIix5PTAsWD0xNyl9LDUwKSxmdW5jdGlvbihFLFYscSxmLFUsTSxyLFQseSl7e3k9NTA7d2hpbGUoeSE9MzgpeT09ODk\/eT1VPFYubGVuZ3RoPzMwOjIzOnk9PTUwPyhxPWcoNSxFKSxNPWcoMzksRSksZj1IKDIwLEUpLFQ9TyhFLE0pLFY9TyhFLHEpLFU9MCxyPSIiLHk9MjApOnk9PTIwP3k9ODk6eT09MzA\/KHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoVltVXV4xMjEpLHk9MzYpOnk9PTIzPyh0KEUsZixyIGluIFR8MCkseT0zOCk6eT09MzYmJihVKysseT04OSl9fSksNTMpLDApKSxaKEcsODAsMCksZnVuY3Rpb24oRSxWLHEsZixVLE0scixULHksWCxZLHgsYSxCLFIsdVosayxwMil7e2s9NTM7d2hpbGUoayE9NDYpaz09MTE\/KGE9W10sZj1VLGs9NjIpOms9PTE0PyhWKyssaz02Nyk6az09ODM\/KHkrKyxrPTQzKTprPT0yOT8oQltNXSYmKHJbTV09SCgyMixFKSksaz03Nyk6az09Mjg\/KGEucHVzaChuKEUsSCgyOSxFKSkpLGs9NjMpOms9PTc1PyhNPTAsaz00KTprPT00P2s9MzU6az09MzU\/az1NPFg\/Mjk6MTE6az09Nzg\/az00MzprPT01Mz8ocDI9ZnVuY3Rpb24oSSxoKXtmb3IoO3E8STspVHw9bFoodHJ1ZSxFLDgpPDxxLHErPTg7cmV0dXJuIFQ+Pj0oaD1UJihxLT1JLCgxPDxJKS0xKSxJKSxofSxSPWcoNTMsRSkscT1UPTAsVT0ocDIoMyl8MCkrMSxYPXAyKDUpLFY9MCxCPVtdLHg9MCxrPTQ5KTprPT00OT9rPTY3Oms9PTIwPyh1Wj0oKHh8MCktMSkudG9TdHJpbmcoMikubGVuZ3RoLHI9W10seT0wLGs9NzgpOms9PTM5P2s9Zi0tPzI4OjM0Oms9PTYzP2s9Mzk6az09NDM\/az15PFg\/MjQ6NzU6az09MjQ\/KEJbeV18fChyW3ldPXAyKHVaKSksaz04Myk6az09NjI\/az0zOTprPT02Nz9rPVY8WD80NToyMDprPT00NT8oWT1wMigxKSxCLnB1c2goWSkseCs9WT8wOjEsaz0xNCk6az09MzQ\/KHYoRSxSLGZ1bmN0aW9uKEksaCx5TyxjMCxYTSxQKXtmb3IoUD05O1AhPTc2OylQPT01PyhjMC5wdXNoKFhNKSxQPTQxKTpQPT0yOT9QPVhNPj15Ty5sZW5ndGg\/MTE6MjE6UD09MTE\/KHlPLnB1c2goZygzNixJKSksUD00KTpQPT01Mz8oWE09cltoXSxQPTYxKTpQPT03MT9QPTMwOlA9PTYxP1A9QltoXT81OjMyOlA9PTMwP1A9aDxYPzUzOjE0OlA9PTIxPyhYTT15T1tYTV0sUD01KTpQPT00P1A9Mjk6UD09NDE\/KGgrKyxQPTMwKTpQPT05PyhoPTAseU89W10sYzA9W10sUD03MSk6UD09MzI\/UD0yOTpQPT0xNCYmKEkuTz1IKDUyLEksYS5zbGljZSgpKSxJLmg9SCg0OCxJLGMwKSxQPTc2KX0sNTEpLGs9NDYpOms9PTc3JiYoTSsrLGs9MzUpfX0pLDU2KSx2KShHLDQ4NixmdW5jdGlvbihFLFYscSl7Vj0ocT1IKDIwLEUpLG4pKEUuWSxxKSxWWzBdLnJlbW92ZUV2ZW50TGlzdGVuZXIoVlsxXSxWWzJdLHo3KX0sNTIpLGZ1bmN0aW9uKEUsVixxLGYsVSl7WihFLChVPVdtKCJjYWxsIiwoVj1PKEUsKHE9SCgoZj1nKDEyLEUpLDIxKSxFKSxmKSksViksImFycmF5IikscSksVSl9KSw1MCksNDgpKSwiUCIpdChHLDI0NSxbXSk7aWYoKHYoKHYoRyw2OCwoWihHLDUxMSwodihHLCh2KEcsMjYwLGZ1bmN0aW9uKEUsVixxLGYsVSl7e1U9NjA7d2hpbGUoVSE9NjEpVT09Njk\/KGY9ZygzNixFKSxxW2ZdPUUuR1tmXSxVPTkpOlU9PTc3P1U9NTc6VT09NTc\/VT1WPjA\/Njk6OTE6VT09OT8oVi0tLFU9NTcpOlU9PTYwPyhxPUUuVEQucG9wKCksVT02KTpVPT0zMD8oVj1sWih0cnVlLEUsOCksVT03Nyk6VT09OTE\/KHFbMjJdPUUuR1syMl0scVsxMTZdPUUuR1sxMTZdLEUuRz1xLFU9NjEpOlU9PTY\/VT1xPzMwOjkzOlU9PTkzJiYoWihFLDQ2LEUuaiksVT02MSl9fSwodihHLDQxOSxmdW5jdGlvbihFKXskUCg0LEUpfSwoRChHLDExNiwodihHLDE4NSxmdW5jdGlvbihFKXtIKDMsMCw0LEUpfSwodihHLDM4MiwoWigoRy5FbT0oRy5yTz0odihHLDI2NiwodihHLDE5NywodihHLDI1NiwodihHLCh2KEcsKHYoRywoRChHLDM5NywodChHLCh0KEcsKHYoRywodChHLChaKCh2KEcsMjYyLCh0KEcsMzA1LCh2KEcsMjI0LGZ1bmN0aW9uKEUsVixxLGYsVSl7dCgoVj1lKEUsKGY9KFU9SCgocT1nKDQ3LEUpLDIwKSxFKSxPKEUsVSkpLHEpKSxFKSxVLGYrVil9LDQ5KSx7fSkpLGZ1bmN0aW9uKEUsVixxLGYsVSxNKXtxPU8oKFY9TyhFLChmPShNPWcoMTMsKFU9Zyg1MixFKSxFKSksSCgyNSxFKSksVSkpLEUpLE0pO3doaWxlKCFbIiJdPT0wIT1bXSlpZih0KEUsZixWW3FdKSwxNilicmVha30pLDU1KSxHKSwzNjgsaUcoNCkpLDQ2MCksW10pLDE0MiksZnVuY3Rpb24oRSxWLHEpe3QoRSwocT1nKDQ3LChWPUgoMjUsRSksRSkpLHEpLCIiK2UoRSxWKSl9LDQ5KSwyMTkpLDApLDQ3KSxpRyg0KSksWzAsMCwwXSkpLDUwKSxmdW5jdGlvbihFLFYscSxmLFUsTSxyLFQseSxYLFkseCxhLEIsUil7e1I9MTU7d2hpbGUoUiE9ODMpaWYoUj09NTMpcShhLnNsaWNlKFksLTIqfihZfEIpKzIqKFkmfkIpLShZXkIpKzIqKH5ZfEIpKSx5KSxSPTkzO2Vsc2UgaWYoUj09OTIpcj1nKDU0LEUpLFg9SCgyNSxFKSx4PWcoMzcsRSksVT1IKDI5LEUpLHE9bihFLFgpLEI9TyhFLHgpLGE9bihFLHIpLHk9TyhFLFUpLFI9OTg7ZWxzZSBpZihSPT02MCl7Zm9yKGYgaW4gTT1bXSxhKU0ucHVzaChmKTtSPShhPU0sNDUpfWVsc2UgUj09MTU\/Uj1KKEUsMCw2LHRydWUsVix0cnVlKT84Mzo5MjpSPT05Mz8oWSs9QixSPTcxKTpSPT03OT9SPTcxOlI9PTcxP1I9WTxUPzUzOjgzOlI9PTU0PyhCPUI+MD9COjEsWT0wLFQ9YS5sZW5ndGgsUj03OSk6Uj09NDU\/Uj1FLlk9PUU\/NTQ6ODM6Uj09OTgmJihSPVdtKCJjYWxsIixhLCJhcnJheSIpPT0ib2JqZWN0Ij82MDo0NSl9fSw1MSksMzY1KSxmdW5jdGlvbihFLFYscSxmKXt0KEUsKHE9Zyg1MywoVj1nKDEyLChmPWcoNTMsRSksRSkpLEUpKSxxKSxuKEUsZil8fGUoRSxWKSl9LDU2KSwyNDMpLGZ1bmN0aW9uKEUsVixxLGYsVSxNKXtmb3IoTT04MDtNIT03MTspTT09Mzg\/KHE9UkooNTQsMCxFLDIpLFU9cS5zbSxmPXEuWVQsTT05KTpNPT0zND8oRChFLHEuQ0MsZi5hcHBseShVLHEuSSkpLEUuUmo9RS5SKCksTT03MSk6TT09ODA\/TT1KKEUsMCwzOSxmYWxzZSxWLHRydWUpPzcxOjM4Ok09PTkmJihNPUUuWT09RXx8Zj09RS5kTyYmVT09RT8zNDo3MSl9LDU0KSxmdW5jdGlvbihFKXtZUChFLDMpfSksNTMpLGZ1bmN0aW9uKEUsVixxLGYpe0QoRSwoZj1nKChWPWxaKHRydWUsKHE9Zyg1NCxFKSxFKSw4KSw0NyksRSksZiksbihFLHEpPj4+Vil9KSw1NiksZnVuY3Rpb24oKXt9KSw1NSksMCksMCksRyksMjMsNjkpLGZ1bmN0aW9uKEUsVixxLGYsVSxNLHIsVCl7Zm9yKFQ9ODtUIT05MjspVD09MTQ\/KFU9KChVfDApKyhnKDE3LDIsRSl8MCkpJWYsVis9QVtNW1VdXSxUPTgyKTpUPT01OD8oRChFLHEsViksVD05Mik6VD09OD8ocT1nKDQ2LEUpLHI9ZygzLDIsRSksVj0iIixNPWUoRSw0ODQpLGY9TS5sZW5ndGgsVT0wLFQ9OTQpOlQ9PTk0P1Q9NzQ6VD09ODI\/VD03NDpUPT03NCYmKFQ9ci0tPzE0OjU4KX0pLDUwKSw0OCkpLFsyMDQ4XSkpLDU0KSksNTQpKSwyNCksZnVuY3Rpb24oRSxWLHEsZixVLE0scixULHksWCxZKXtmb3IoWT03NjtZIT0yOylZPT0xND9ZPVghPT0wPzExOjI6WT09MTE\/KE09UXEodHJ1ZSwxLDIsNSxFLDEsVCxxLFgsViksWC5hZGRFdmVudExpc3RlbmVyKFYsTSx6NyksbihFLDQ2MCkucHVzaChmdW5jdGlvbigpe1gucmVtb3ZlRXZlbnRMaXN0ZW5lcihWLE0sejcpfSksdChFLDIxOSxbWCxWLE1dKSxZPTIpOlk9PTc2JiYoVT1nKDEzLEUpLHI9SCgyNixFKSxmPUgoMjUsRSkseT1IKDI2LEUpLHE9bihFLGYpLFY9ZShFLHIpLFg9TyhFLlksVSksVD1lKEUseSksWT0xNCl9LDQ4KSxbMTU0LDAsMF0pKSxmdW5jdGlvbihFKXtZUChFLDQpfSksNTUpLEcpLDMyMSxmdW5jdGlvbihFLFYscSxmLFUsTSxyLFQpe3tUPTUwO3doaWxlKFQhPTkyKVQ9PTUwPyhxPUgoMzAsRSkscj1nKDM5LEUpLE09SCgyMSxFKSxUPTIyKTpUPT01Mz9UPWY9PTI\/NTE6OTI6VD09NTk\/KEUuRD12b2lkIDAsVD01Myk6VD09MjI\/VD1FLlk9PUU\/MTM6OTI6VD09OTY\/VD1xPT0zODA\/NTk6OTI6VD09NTE\/KEUuUz1GTShFLDMyLGZhbHNlKSxFLkQ9dm9pZCAwLFQ9OTIpOlQ9PTEzJiYoZj1PKEUsciksVj1uKEUscSksVT1uKEUsTSksVltmXT1VLFQ9OTYpfX0sNTApLDApPT0hW10pWihHLDEwNywwKTt1KDMxLChjKDYyLChjKDU2LDAsKGMoNTksMCwoRy5UYT0odihHLDM0OCwodihHLCh2KEcsKHYoRywyODUsZnVuY3Rpb24oRSxWLHEsZixVKXtWPW4oRSwoVT0ocT1nKDM3LEUpLGY9SCgyMixFKSxuKEUscSkhPTApLGYpKSxVJiZEKEUsNDYsVil9LCh2KEcsMTQ3LGZ1bmN0aW9uKEUsVixxLGYsVSxNKXtmPW4oRSwoVj0ocT1nKDUsKFU9ZygxMywoTT1nKDUsRSksRSkpLEUpKSxuKEUsVSkpLE0pKTt3aGlsZShbXSE9KE5hTj09PU5hTiE9bnVsbCkpaWYodChFLHEsZiBpbiBWfDApLCEhW10pYnJlYWt9LCgobmV3IHhQKChEKEcsKChaKEcsKHQoRywxOCwoRChHLChEKEcsNDczLCh2KEcsKHYoRyw0NjQsZnVuY3Rpb24oRSxWKXtIbSgyMDQ4LDEwNCwoVj1lKEUsZyg1LEUpKSxFLlkpLFYsNDYsMCl9LCh2KEcsMTcyLGZ1bmN0aW9uKEUsVixxLGYsVSxNKXt7TT0yNzt3aGlsZShNIT02KU09PTY0PyhaKEUsZixxKSxNPTYpOk09PTI3PyhmPUgoMjIsRSksVj1nKDExLDIsRSksVT0wLHE9W10sTT05OCk6TT09NDA\/TT1VPFY\/ODk6NjQ6TT09MTk\/KFUrKyxNPTQwKTpNPT04OT8ocS5wdXNoKGxaKHRydWUsRSw4KSksTT0xOSk6TT09OTgmJihNPTQwKX19LDUzKSw1MikpLDM1NSksZnVuY3Rpb24oRSxWLHEsZixVLE0scixUKXtEKEUsKFQ9KHE9TyhFLChVPShmPWcoMzYsKHI9KFY9SCgyMSxFKSxIKSgyOSxFKSxFKSksSCgyMCxFKSksTT1PKEUsZikscikpLE8pKEUsVSksViksUXEodHJ1ZSwxLDIsMyxFLFQsTSxxKSl9LDQ5KSxbXSkpLEQoRywzOTQsW10pLDIyKSxbXSksaUcpKDQpKSw0NjkpLHcpLHYpKEcsMzMyLGZ1bmN0aW9uKEUsVixxLGYsVSxNLHIsVCx5LFgpe3tYPTg4O3doaWxlKFghPTQ3KVg9PTM\/KFU9UkooNTQsMCxFLlksMiksVD1VLkNDLHI9VS5JLHk9VS5zbSxNPXIubGVuZ3RoLGY9VS5ZVCxxPU09PTA\/bmV3IHlbZl06TT09MT9uZXcgeVtmXShyWzBdKTpNPT0yP25ldyB5W2ZdKHJbMF0sclsxXSk6TT09Mz9uZXcgeVtmXShyWzBdLHJbMV0sclsyXSk6TT09ND9uZXcgeVtmXShyWzBdLHJbMV0sclsyXSxyWzNdKToyKCksdChFLFQscSksWD00Nyk6WD09ODgmJihYPUooRSwwLDM4LGZhbHNlLFYsdHJ1ZSk\/NDc6Myl9fSw0OSksNDM0KSxHKSwiU3VibWl0IikpKS5kaXNwb3NlKCksNTIpKSw1MSkpLDE5KSxmdW5jdGlvbihFLFYscSxmLFUsTSl7WigoVT1lKEUsKFY9ZSgocT0oZj1IKChNPUgoMzAsRSksMjIpLEUpLEgoMjYsRSkpLEUpLGYpLE0pKT09VixFKSxxLCtVKX0sNTIpLDQ1NCksZnVuY3Rpb24oRSxWKXtEKEUsKFY9ZygxMyxFKSxWKSxbXSl9LDUzKSxmdW5jdGlvbihFKXskUCgxLEUpfSksNDgpLDApLFtTQV0pLEcpLFtCbSx6XSksRyksMCksW0plLGxdLEcpLDI1NCksdHJ1ZSxHLHRydWUpfSxxVD10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI\/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKG0sbCxGLFcpe3tXPTU7d2hpbGUoVyE9ODgpe2lmKFc9PTc4KXJldHVybiBtW2xdPUYudmFsdWUsbTtpZihXPT00OClyZXR1cm4gbTtXPT01JiYoVz1tPT1BcnJheS5wcm90b3R5cGV8fG09PU9iamVjdC5wcm90b3R5cGU\/NDg6NzgpfX19LG49ZnVuY3Rpb24obSxsLEYpe2lmKChGPW0uR1tsXSxGKT09PXZvaWQgMCl0aHJvd1tyTSwzMCxsXTtzd2l0Y2goIUYudmFsdWUpe2Nhc2UgMD09PS0wOi1OdW1iZXIoKT09PTA7YnJlYWs7Y2FzZSBmYWxzZTpyZXR1cm4gRi5jcmVhdGUoKTticmVha31yZXR1cm4oRi5jcmVhdGUobCo0KmwrLTI4KmwrNzUpLEYpLnByb3RvdHlwZX0sSyxlPWZ1bmN0aW9uKG0sbCxGKXtGPW0uR1tsXTtmb3IodHJ1ZSt0cnVlO0Y9PT12b2lkIDA7dW5kZWZpbmVkKXt0aHJvd1tyTSwzMCxsXTtpZihbXSlicmVha31pZihGLnZhbHVlKXJldHVybiBGLmNyZWF0ZSgpO3JldHVybihGLmNyZWF0ZShsKjQqbCstMjgqbCs3NSksRikucHJvdG90eXBlfSxaPWZ1bmN0aW9uKG0sbCxGKXtpZihsPT00Nnx8bD09ODApbS5HW2xdP20uR1tsXS5jb25jYXQoRik6bS5HW2xdPUgoNDksbSxGKTtlbHNle2lmKG0ucWEmJmwhPTM4MClyZXR1cm47bD09NTExfHxsPT0xOHx8bD09MjQ1fHxsPT00N3x8bD09MjJ8fGw9PTQ3M3x8bD09Mzk0fHxsPT0zOTd8fGw9PTM2OHx8bD09MTE2P20uR1tsXXx8KG0uR1tsXT1IKDQwLDI3LG0sRixsLDk0KSk6bS5HW2xdPUgoMTIsMjcsbSxGLGwsMTUzKX1sPT0zODAmJihtLlM9Rk0obSwzMixmYWxzZSksbS5EPXZvaWQgMCl9LElKPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwKXtpZihtLlk9PW0pZm9yKFE9ZShtLEYpLEY9PTE4fHxGPT0zNjh8fEY9PTQ3Pyh6PWZ1bmN0aW9uKEEsRSxWLHEsZixVLE0scil7Zm9yKHI9NDQsTT0yODs7KXRyeXtpZihyPT04OSlicmVhaztlbHNlIGlmKHI9PTE3KVEucHVzaChRLmhPWy1+cSsofnFeNykrKH5xJjcpXV5BKSxyPTg5O2Vsc2UgaWYocj09NTEpTT01OSxRLmhPPUtfKDMsUXEodHJ1ZSwxLFEsOCxFKSxWLFFxKHRydWUsMSxRLDQwLDIqKEV8NCktfihFJjQpK34oRXw0KSksMTYpLHI9MTc7ZWxzZXtpZihyPT0wKXRocm93IE09MjgsVTtyPT00Mj8oRT0oZjw8MyktNCxWPVswLDAscFsxXSxwWzJdXSxRLkxRPWYscj01MSk6cj09NTM\/cj1RLkxRIT1mPzQyOjE3OnI9PTQ0JiYocT1RLmxlbmd0aCxmPShxfDApLTQ+PjMscj01Myl9fWNhdGNoKFQpe2lmKE09PTI4KXRocm93IFQ7TT09NTkmJihVPVQscj0wKX19LHA9ZShtLDM5NykpOno9ZnVuY3Rpb24oQSl7US5wdXNoKEEpfSxXJiZ6KFcmMjU1KSxTPTAsRz1sLmxlbmd0aDtTPEc7UysrKXoobFtTXSl9LExfPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWLHEpe2lmKCFsLnFhJiYoUT12b2lkIDAsbSYmbVswXT09PXJNJiYoRj1tWzFdLFE9bVsyXSxtPXZvaWQgMCksQT1lKGwsMjIpLEEubGVuZ3RoPT0wJiYoUz1PKGwsODApPj4zLEEucHVzaChGLFM+PjgmMjU1LFMmMjU1KSxRIT12b2lkIDAmJkEucHVzaCgtMjU1LTIqfihRfDI1NSkrMiooflFeMjU1KSsoflEmMjU1KSkpLHE9IiIsbSYmKG0ubWVzc2FnZSYmKHErPW0ubWVzc2FnZSksbS5zdGFjayYmKHErPSI6IittLnN0YWNrKSkscD1PKGwsMTE2KSxwWzBdPjMpKXt6PShxPWRNKChwW3E9cS5zbGljZSgwLChwWzBdfDApLTMpLDBdLT0oVj1xLmxlbmd0aCw2KyhWJi00KS0oflYmMykpLHEpLFcpLGwuWSksbC5ZPWw7dHJ5e2wuSWo\/KEU9KEU9bihsLDQ3MykpJiZFW0UubGVuZ3RoLTFdfHw5NSwoRz1PKGwsMzk0KSkmJkdbRy5sZW5ndGgtMV09PUV8fElKKGwsWy1+KEV8MjU1KS0oRSYtMjU2KSsoRXwtMjU2KV0sMzk0KSk6RGcoWzk1XSxsLDQ3MyksRGcoZChxLmxlbmd0aCwyKS5jb25jYXQocSksbCwxOCw1MSl9ZmluYWxseXtsLlk9en19fSx2MD1mdW5jdGlvbihtKXtyZXR1cm4gcmMuY2FsbCh0aGlzLDQsbSw4KX0sVWY9ZnVuY3Rpb24oKXtyZXR1cm4gSk4uY2FsbCh0aGlzLDg2LDI1LDMpfSxpWj1mdW5jdGlvbihtLGwsRixXLEcseixRLFMpe3JldHVybiBNVC5jYWxsKHRoaXMsbnVsbCxtLDcsbCxGLFcsRyx6LFEsUyl9LE9mPWZ1bmN0aW9uKG0sbCxGLFcsRyx6KXtyZXR1cm4gQWUuY2FsbCh0aGlzLGZhbHNlLG0sbCw3LEYsVyxHLHopfSxSSj1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBKXtHPUgoMjAsKEE9KChRPWcobSwocD1GW25fXXx8e30sRikpLHAuQ0M9ZygzOSxGKSxwKS5JPVtdLEYuWT09Rj8oej1sWih0cnVlLEYsOCksfih6JjEpLX4oenwxKS1XKih+eiYxKSk6MSksRikpO3tTPWw7d2hpbGUoUzxBKXAuSS5wdXNoKGcoMzcsRikpLFMrK317cC5ZVD1lKEYsUSk7d2hpbGUoQS0tKXAuSVtBXT1uKEYscC5JW0FdKX1yZXR1cm4gcC5zbT1PKEYsRykscH0sZl89ZnVuY3Rpb24obSxsKXtyZXR1cm4gc2YuY2FsbCh0aGlzLDgwLDUsbSxsKX0saGU9ZnVuY3Rpb24obSl7cmV0dXJuIHROLmNhbGwodGhpcyw1NCwxNixtKX0saE49ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTKXtyZXR1cm4gb2IuY2FsbCh0aGlzLDksbSxsLEYsVyxHLHosUSxTKX0sbWU9ZnVuY3Rpb24oKXtpZihmYWxzZSE9bnVsbClyZXR1cm4gYy5jYWxsKHRoaXMsMyl9LEdOPWZ1bmN0aW9uKG0sbCxGLFcsRyl7d2hpbGUobS5sZW5ndGg9PTMpe3tXPTA7d2hpbGUoVzwzKWxbV10rPW1bV10sVysrfUc9MDt7Rj1bMTMsOCwxMywxMiwxNiw1LDMsMTAsMTVdO3doaWxlKEc8OSlsWzNdKGwsRyUzLEZbR10pLEcrK31pZighWyIiXT09MClicmVha319LEIwPWZ1bmN0aW9uKCl7cmV0dXJuIEwyLmNhbGwodGhpcyw0Nyw2KX0sWVA9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSl7SUooKCgoRz1PKChGPWcoNTIsKFE9Zygoej0tfihsJjMpKyhsJi00KSsofihXPWwmNCxsKXwzKSw1MiksbSksbSkpLG0pLFEpLFcpJiYoRz1kTSgiIitHLDIwNDgpKSx6KSYmRGcoZChHLmxlbmd0aCwyKSxtLEYpLG0pLEcsRil9LG1OPWZ1bmN0aW9uKG0sbCl7cmV0dXJuIHROLmNhbGwodGhpcyw1NCwzLG0sbCl9LGFKPWZ1bmN0aW9uKG0sbCxGLFcsRyl7cmV0dXJuIHp1LmNhbGwodGhpcyw0LDUsRyxsLG0sRixXKX0seFA9ZnVuY3Rpb24obSxsLEYpe3JldHVybiBHNy5jYWxsKHRoaXMsMzEsMyxtLGwsRil9LGVLPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyl7aWYoIVcuQyl7Vy5pNCsrO3RyeXtRPXZvaWQgMCxHPTA7e3o9Vy5qO3doaWxlKC0tRil0cnl7aWYoKFM9dm9pZCAwLFcpLk8pUT1XMChXLFcuTyk7ZWxzZXtpZihHPWUoVyxsKSxHPj16KWJyZWFrO1E9bihXLChTPWcoNDYsKHQoVyw4MCxHKSxXKSksUykpfVEmJlFbdGVdJjIwNDg\/UShXLEYpOkxfKFtyTSwyMSxTXSxXLDAsMjA0OCksSihXLDAsNzAsbSxGLG0pfWNhdGNoKHApe2UoVywyMyk\/TF8ocCxXLDIyLDIwNDgpOkQoVywyMyxwKX19aWYoIUYpe2Zvcih1bmRlZmluZWQ7Vy5xVztbXT09dHJ1ZSl7Vy5pNC0tLGVLKGZhbHNlLDQ2LDMxMzAyNjQxMTQxMSxXKTtyZXR1cm47aWYoW10hPXRydWUpYnJlYWt9TF8oW3JNLDMzXSxXLDAsMjA0OCl9fWNhdGNoKHApe3RyeXt3aGlsZSghWyIiXT09MClpZihMXyhwLFcsMjIsMjA0OCksMSlicmVha31jYXRjaChBKXtIMCgifiIsMzQsIjoiLFcsQSl9fVcuaTQtLX19LGxaPWZ1bmN0aW9uKG0sbCxGKXtyZXR1cm4gbC5PP1cwKGwsbC5oKTpGTShsLEYsbSl9LFpnPWZ1bmN0aW9uKG0sbCxGLFcsRyx6KXtyZXR1cm4gbigodChsLChlSyhmYWxzZSxHLCgoej1PKGwsRyksbC5KTykmJno8bC5qPyh0KGwsRyxsLmopLEhtKDIwNDgsMTA0LGwsVyxHLG0pKTpaKGwsRyxXKSxGKSxsKSxHKSx6KSxsKSwzMDUpfSxXbT1mdW5jdGlvbihtLGwsRixXLEcpe2lmKChHPXR5cGVvZiBsLEcpPT0ib2JqZWN0IilpZihsKXtzd2l0Y2goIShsIGluc3RhbmNlb2YgQXJyYXkpKXtjYXNlIDA9PShbXT09dHJ1ZSk6TmFOPT09TmFOO2JyZWFrO2Nhc2UgZmFsc2U6cmV0dXJuIEY7YnJlYWt9d2hpbGUobCBpbnN0YW5jZW9mIE9iamVjdCl7cmV0dXJuIEc7aWYoW10pYnJlYWt9aWYoKFc9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGwpLFcpPT0iW29iamVjdCBXaW5kb3ddIilyZXR1cm4ib2JqZWN0Ijtzd2l0Y2goIShXPT0iW29iamVjdCBBcnJheV0ifHx0eXBlb2YgbC5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgbC5zcGxpY2UhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgbC5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFsLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJzcGxpY2UiKSkpe2Nhc2UgIWZhbHNlPT0hIiI6IVtdIT0wO2JyZWFrO2Nhc2UgTnVtYmVyKHRydWUudHJ1ZSk9PT1OYU49PW51bGw6cmV0dXJuIEY7YnJlYWt9aWYoVz09IltvYmplY3QgRnVuY3Rpb25dInx8dHlwZW9mIGwuY2FsbCE9InVuZGVmaW5lZCImJnR5cGVvZiBsLnByb3BlcnR5SXNFbnVtZXJhYmxlIT0idW5kZWZpbmVkIiYmIWwucHJvcGVydHlJc0VudW1lcmFibGUobSkpcmV0dXJuImZ1bmN0aW9uIn1lbHNlIHJldHVybiJudWxsIjtlbHNlIGZvcih0cnVlO0c9PSJmdW5jdGlvbiImJnR5cGVvZiBsLmNhbGw9PSJ1bmRlZmluZWQiO3RydWUpe3JldHVybiJvYmplY3QiO2lmKDA9PSghIiIhPSFmYWxzZSkpYnJlYWt9cmV0dXJuIEd9LGJHPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEpeyhsLnB1c2goKFc9KEY9bVswXTw8MjR8bVsxXTw8MTYsUT1tWzJdPDw4LDIqKFF8MCkrfihGJlEpLSh+RiZRKS0ofkZ8USkpLFM9bVszXSwtMS1+VysoflcmUykpKSxsLnB1c2gobVs0XTw8MjR8bVs1XTw8MTZ8bVs2XTw8OHxtWzddKSxsKS5wdXNoKChwPShHPW1bOF08PDI0LHo9bVs5XTw8MTYsKEcmeikrKEcmfnopKyh+RyZ6KSksQT1tWzEwXTw8OCwtMS1+QSsocCZ+QSkpfG1bMTFdKX0sS189ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTKXtmb3Ioej0oUT1GWzJdfDAsUz1GW21dfDAsMCk7ejxHO3orKylTPVM+Pj44fFM8PDI0LFc9Vz4+Pjh8Vzw8MjQsVys9bHwwLGw9bDw8bXxsPj4+MjksV149USszMjYwLFMrPVF8MCxsXj1XLFE9UTw8bXxRPj4+MjksU149eiszMjYwLFFePVM7cmV0dXJuW2w+Pj4yNCYyNTUsbD4+PkcmMjU1LGw+Pj44JjI1NSxsPj4+MCYyNTUsVz4+PjI0JjI1NSxXPj4+RyYyNTUsVz4+PjgmMjU1LFc+Pj4wJjI1NV19LEZNPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWLHEsZixVLE0scil7aWYoKFY9ZShtLDQ2KSxWKT49bS5qKXRocm93W3JNLDMxXTtmb3IoTT0ocT0oRz1sLEU9VixtLlYxLmxlbmd0aCksMCk7Rz4wOyl6PUU+PjMscj1FJTgsVz1tLkpPW3pdLGY9OC0ocnwwKSxRPWY8Rz9mOkcsRiYmKEE9bSxTPUUsQS5EIT1TPj42JiYoQS5EPVM+PjYscD1PKEEsMzgwKSxBLkdhPUtfKDMsQS5TLFswLDAscFsxXSxwWzJdXSxBLkQsMTYpKSxXXj1tLkdhW3omcV0pLE18PShXPj44LShyfDApLShRfDApJigxPDxRKS0xKTw8KEd8MCktKFF8MCksRy09USxFKz1RO3JldHVybiBaKG0sKFU9TSw0NiksKFZ8MCkrKGx8MCkpLFV9LENfPWZ1bmN0aW9uKCl7cmV0dXJuIHUuY2FsbCh0aGlzLDU3KX0sRGc9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHApe3N3aXRjaCghKGwuWT09bCkpe2Nhc2UgIVt1bmRlZmluZWRdPT0wOjA7YnJlYWs7Y2FzZSAhKGZhbHNlPT1udWxsKSE9ISIiPT1udWxsOmZvcihwPU8obCxGKSxGPT0xOHx8Rj09MzY4fHxGPT00Nz8oej1mdW5jdGlvbihBLEUsVixxLGYsVSxNLHIpe2ZvcihNPShyPTc3LDczKTs7KXRyeXtpZihyPT00NClicmVhaztlbHNlIGlmKHI9PTEyKXI9cC5MUSE9cT83MTo2MDtlbHNlIGlmKHI9PTYwKXAucHVzaChwLmhPWy1+VisoflZeNykrKH5WJjcpXV5BKSxyPTQ0O2Vsc2UgaWYocj09OTUpTT05NixwLmhPPUtfKDMsUXEodHJ1ZSwxLHAsMTIsRSksZixRcSh0cnVlLDEscCwxNiwyKihFfDQpLX4oRSY0KSt+KEV8NCkpLDE2KSxyPTYwO2Vsc2UgaWYocj09NzcpVj1wLmxlbmd0aCxxPShWfDApLTQ+PjMscj0xMjtlbHNlIGlmKHI9PTcxKWY9WzAsMCxHWzFdLEdbMl1dLHAuTFE9cSxFPShxPDwzKS00LHI9OTU7ZWxzZSBpZihyPT01Nyl0aHJvdyBNPTczLFU7fWNhdGNoKFQpe2lmKE09PTczKXRocm93IFQ7TT09OTYmJihVPVQscj01Nyl9fSxHPWUobCwzOTcpKTp6PWZ1bmN0aW9uKEEpe3AucHVzaChBKX0sVyYmeihXJjI1NSksUz0wLFE9bS5sZW5ndGg7UzxRO1MrKyl6KG1bU10pO2JyZWFrfX0sbGE9ZnVuY3Rpb24oKXtyZXR1cm4gSk4uY2FsbCh0aGlzLDg2LDI1LDI0KX0sUDA9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYpe2lmKHA9bVtGXSxwPT1qSylsLks9dHJ1ZSxsLk5hPTI1LGwuVChtKTtlbHNlIHN3aXRjaCghKHA9PUZWKSl7Y2FzZSAhW109PSFudWxsPT0wOnN3aXRjaCghKHA9PUliKSl7Y2FzZSAwPT09LTA6c3dpdGNoKCEocD09Qm0pKXtjYXNlIHRydWU6aWYocD09SmUpe3RyeXt7RT1GO3doaWxlKEU8bC5ISC5sZW5ndGgpe3RyeXtTPWwuSEhbRV0sU1tGXVtTWzFdXShTWzJdKX1jYXRjaChxKXt9RSsrfX19Y2F0Y2gocSl7fSgwLG1bMV0pKGZ1bmN0aW9uKHEsZil7bC54XyhxLHRydWUsZil9LGZ1bmN0aW9uKHEpeyhjKDU4LChxPSFsLmkubGVuZ3RoLEYpLFt0ZV0sbCkscSkmJnUoMzMsMjU0LGZhbHNlLGwsdHJ1ZSl9LChsLkhIPVtdLEE9bC5SKCksZnVuY3Rpb24ocSl7cmV0dXJuIGwub2oocSl9KSxmdW5jdGlvbihxLGYsVSl7cmV0dXJuIGwuT20ocSxmLFUpfSksbC5GKz1sLlIoKS1BfWVsc2V7Zm9yKDA7cD09RWo7TmFOKXtyZXR1cm4gRz1tWzJdLHQobCwyMjYsbVtXXSksdChsLDMwNSxHKSxsLlQobSk7aWYodHJ1ZSlicmVha31wPT10ZT8obC5UKG0pLGwuSk89W10sbC5ycT1bXSxsLkc9bnVsbCk6cD09U0EmJncuZG9jdW1lbnQucmVhZHlTdGF0ZT09PSJsb2FkaW5nIiYmKGwuVT1mdW5jdGlvbihxLGYpe2Z1bmN0aW9uIFUoTSl7e009NTg7d2hpbGUoTSE9NDkpTT09Nzc\/KGY9dHJ1ZSx3LmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLFUsejcpLHcucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsVSx6NykscSgpLE09NDkpOk09PTU4JiYoTT1mPzQ5Ojc3KX19dy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixVLChmPWZhbHNlLHo3KSksdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixVLHo3KX0pfWJyZWFrO2Nhc2UgZmFsc2U6bC5sPXRydWUsbC5UKG0pO2JyZWFrfWJyZWFrO2Nhc2UgTmFOPT09TmFOOm1bM10mJihsLmw9dHJ1ZSksbVs0XSYmKGwuSz10cnVlKSxsLlQobSk7YnJlYWt9YnJlYWs7Y2FzZSAhIW51bGw6d2hpbGUodHJ1ZSlpZigwPT0oUT1tWzFdLGZhbHNlKSlicmVhazt0cnl7Vj1sLkN8fGwuVChtKX1jYXRjaChxKXtIMCgifiIsMzAsIjoiLGwscSksVj1sLkN9KFEoKHo9bC5SKCksVikpLGwpLkYrPWwuUigpLXo7YnJlYWt9fSxvSj1mdW5jdGlvbigpe3JldHVybiBzZi5jYWxsKHRoaXMsODAsMTgpfSxkTT1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVixxKXtmb3IoRj0ocT0oRz1tLnJlcGxhY2UoL1xcclxcbi9nLCJcXG4iKSwwKSxbXSksUz0wO1M8Ry5sZW5ndGg7UysrKUU9Ry5jaGFyQ29kZUF0KFMpLEU8MTI4P0ZbcSsrXT1FOihFPGw\/RltxKytdPSh6PUU+PjYsMzg0K34oeiYxOTIpLSh+eiYxOTIpLSh+enwxOTIpKTooKEUmNjQ1MTIpPT01NTI5NiYmUysxPEcubGVuZ3RoJiYoRy5jaGFyQ29kZUF0KFMrMSkmNjQ1MTIpPT01NjMyMD8oRT0oVz0oRSYxMDIzKTw8MTAsMTMxMDc0Kyg2NTUzNl5XKSsyKigtNjU1Mzd8VykpKyhwPUcuY2hhckNvZGVBdCgrK1MpLDEwMjMrKH5wXjEwMjMpLSh+cHwxMDIzKSksRltxKytdPUU+PjE4fDI0MCxGW3ErK109KEE9KFY9RT4+MTIsKFZ8MCkrfihWJjYzKS0gLTY0LShWXjYzKSksMTI4LX4oQSYxMjgpKy0xMjkrKEFeMTI4KSkpOkZbcSsrXT1FPj4xMnwyMjQsRltxKytdPUU+PjYmNjN8MTI4KSxGW3ErK109KFE9RSY2MywtfihRfDEyOCkrKH5RJjEyOCkrKFF8LTEyOSkpKTtyZXR1cm4gRn0sYWI9ZnVuY3Rpb24obSl7cmV0dXJuIE1aLmNhbGwodGhpcyw3Myw0MCxtKX0sT2o9ZnVuY3Rpb24obSxsKXtmdW5jdGlvbiBGKCl7dGhpcy51ND10aGlzLkg9dGhpcy5uPTB9cmV0dXJuIGw9KG09KEYucHJvdG90eXBlLmw0PShGLnByb3RvdHlwZS5Kaj1mdW5jdGlvbigpe3JldHVybiBlQS5jYWxsKHRoaXMsMTIsODcsNSl9LGZ1bmN0aW9uKFcsRyl7cmV0dXJuIE1ULmNhbGwodGhpcyxudWxsLFcsMjQsRyl9KSxuZXcgRiksbmV3IEYpLFtmdW5jdGlvbihXKXttLmw0KFcpLGwubDQoVyl9LGZ1bmN0aW9uKFcpe3JldHVybiBXPVttLkpqKCksbC5KaigpLG0uSCxsLkhdLGw9bmV3IEYsV31dfSx3TT1mdW5jdGlvbihtLGwsRixXLEcseil7cmV0dXJuIFk1LmNhbGwodGhpcyw3NCw0LGwsRyxXLHosRixtLDMpfSxWcT1xWig4LCJvYmplY3QiLCJNYXRoIiwwLHRoaXMpO3doaWxlKHRydWUpaWYoU0sobnVsbCwxLDE2LCIuIiwwLCJTeW1ib2wiLGZ1bmN0aW9uKG0sbCxGLFcsRyx6KXtmb3IoRz0zO0chPTY3Oyl7aWYoRz09MTEpcmV0dXJuIG07aWYoRz09NTMpcmV0dXJuIFcucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXZ9LGw9ImpzY29tcF9zeW1ib2xfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSsiXyIsRj0wLHo7Rz09Mz8oVz1mdW5jdGlvbihRLFMpe3FUKHRoaXMsImRlc2NyaXB0aW9uIiwodGhpcy5ldj1RLHtjb25maWd1cmFibGU6dHJ1ZSx3cml0YWJsZTp0cnVlLHZhbHVlOlN9KSl9LHo9ZnVuY3Rpb24oUSxTKXtmb3IoUz00MztTIT04MTspaWYoUz09NDMpUz10aGlzIGluc3RhbmNlb2Ygej8zNTo1MTtlbHNle2lmKFM9PTM1KXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciIpO2lmKFM9PTUxKXJldHVybiBuZXcgVyhsKyhRfHwiIikrIl8iK0YrKyxRKX19LEc9NCk6Rz09NCYmKEc9bT8xMTo1Myl9fSksdHJ1ZSlicmVhazt2YXIgdz10aGlzfHxzZWxmLGJaPSJjbG9zdXJlX3VpZF8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApLEMyPTAsZjIsJDU9ZnVuY3Rpb24obSxsLEYsVyxHLHope2Zvcih6PShHPTM5LDc4KTs7KXRyeXtpZihHPT05MylicmVhaztlbHNle2lmKEc9PTY1KXJldHVybiBmYWxzZTtpZihHPT00NCltPWZhbHNlLGw9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7bT10cnVlfX0pLEc9MjI7ZWxzZSBpZihHPT0yMil6PTY5LEY9ZnVuY3Rpb24oKXt9LHcuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsRixsKSx3LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLEYsbCksRz03NjtlbHNlIGlmKEc9PTM5KUc9dy5hZGRFdmVudExpc3RlbmVyJiZPYmplY3QuZGVmaW5lUHJvcGVydHk\/NDQ6NjU7ZWxzZXtpZihHPT03NilyZXR1cm4gej03OCxtO0c9PTI0JiYoej03OCxHPTc2KX19fWNhdGNoKFEpe2lmKHo9PTc4KXRocm93IFE7ej09NjkmJihXPVEsRz0yNCl9fSgpLFZPPSJjbG9zdXJlX2xpc3RlbmFibGVfIisoKCgoKGZfLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249KCgoZl8ucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRydWV9LChCMC5wcm90b3R5cGUuQT1mYWxzZSxCMCkucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24obSl7e209ODg7d2hpbGUobSE9MzMpbT09NTY\/KHRoaXMuQT10cnVlLHRoaXMudigpLG09MzMpOm09PTg4JiYobT10aGlzLkE\/MzM6NTYpfX0sQjApLnByb3RvdHlwZVtTeW1ib2wuZGlzcG9zZV09ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKX0sQjApLnByb3RvdHlwZS52PWZ1bmN0aW9uKG0pe2ZvcihtPTQ2O20hPTU3OyltPT04Pyh0aGlzLmZRLnNoaWZ0KCkoKSxtPTk2KTptPT0zP209NzI6bT09NDY\/bT10aGlzLmZRPzM6NTc6bT09OTY\/bT03MjptPT03MiYmKG09dGhpcy5mUS5sZW5ndGg\/ODo1Nyl9LGZ1bmN0aW9uKCl7dGhpcy5RcD10cnVlfSksTigyLGZfLDM5LHBfKSxwXy5wcm90b3R5cGUpLmluaXQ9ZnVuY3Rpb24obSxsLEYsVyxHLHope2Zvcih6PTg0O3ohPTU3Oyl6PT0yNz96PUc9PSJtb3VzZW92ZXIiPzkzOjQ2Ono9PTg0PyhHPXRoaXMudHlwZT1tLnR5cGUsRj1tLmNoYW5nZWRUb3VjaGVzJiZtLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9tLmNoYW5nZWRUb3VjaGVzWzBdOm51bGwsdGhpcy50YXJnZXQ9bS50YXJnZXR8fG0uc3JjRWxlbWVudCx0aGlzLmN1cnJlbnRUYXJnZXQ9bCxXPW0ucmVsYXRlZFRhcmdldCx6PTg3KTp6PT03NT8odGhpcy5idXR0b249bS5idXR0b24sdGhpcy5rZXlDb2RlPW0ua2V5Q29kZXx8MCx0aGlzLmtleT1tLmtleXx8IiIsdGhpcy5jaGFyQ29kZT1tLmNoYXJDb2RlfHwoRz09ImtleXByZXNzIj9tLmtleUNvZGU6MCksdGhpcy5jdHJsS2V5PW0uY3RybEtleSx0aGlzLmFsdEtleT1tLmFsdEtleSx0aGlzLnNoaWZ0S2V5PW0uc2hpZnRLZXksdGhpcy5tZXRhS2V5PW0ubWV0YUtleSx0aGlzLnBvaW50ZXJJZD1tLnBvaW50ZXJJZHx8MCx0aGlzLnBvaW50ZXJUeXBlPW0ucG9pbnRlclR5cGUsdGhpcy5zdGF0ZT1tLnN0YXRlLHRoaXMudGltZVN0YW1wPW0udGltZVN0YW1wLHRoaXMuR0Q9bSxtLmRlZmF1bHRQcmV2ZW50ZWQmJnBfLkoucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSx6PTU3KTp6PT0yMj8odGhpcy5vZmZzZXRYPW0ub2Zmc2V0WCx0aGlzLm9mZnNldFk9bS5vZmZzZXRZLHRoaXMuY2xpZW50WD1tLmNsaWVudFghPT12b2lkIDA\/bS5jbGllbnRYOm0ucGFnZVgsdGhpcy5jbGllbnRZPW0uY2xpZW50WSE9PXZvaWQgMD9tLmNsaWVudFk6bS5wYWdlWSx0aGlzLnNjcmVlblg9bS5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1tLnNjcmVlbll8fDAsej03NSk6ej09NDY\/ej1HPT0ibW91c2VvdXQiPzk2Ojk3Ono9PTkxP3o9Rj8xNjoyMjp6PT05Mz8oVz1tLmZyb21FbGVtZW50LHo9OTcpOno9PTk3Pyh0aGlzLnJlbGF0ZWRUYXJnZXQ9Vyx6PTkxKTp6PT0xNj8odGhpcy5jbGllbnRYPUYuY2xpZW50WCE9PXZvaWQgMD9GLmNsaWVudFg6Ri5wYWdlWCx0aGlzLmNsaWVudFk9Ri5jbGllbnRZIT09dm9pZCAwP0YuY2xpZW50WTpGLnBhZ2VZLHRoaXMuc2NyZWVuWD1GLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPUYuc2NyZWVuWXx8MCx6PTc1KTp6PT04Nz96PVc\/OTc6Mjc6ej09OTYmJihXPW0udG9FbGVtZW50LHo9OTcpfSxwXykucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpeyhwXy5KLnN0b3BQcm9wYWdhdGlvbi5jYWxsKHRoaXMpLHRoaXMuR0Quc3RvcFByb3BhZ2F0aW9uKT90aGlzLkdELnN0b3BQcm9wYWdhdGlvbigpOnRoaXMuR0QuY2FuY2VsQnViYmxlPXRydWV9LHBfLnByb3RvdHlwZSkucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24obSl7d2hpbGUoW10paWYocF8uSi5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpLFtdKWJyZWFrOyhtPXRoaXMuR0QsbSkucHJldmVudERlZmF1bHQ\/bS5wcmV2ZW50RGVmYXVsdCgpOm0ucmV0dXJuVmFsdWU9ZmFsc2V9LE1hdGgucmFuZG9tKCkqMUU2KXwwKSx2bT0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpLEVmPTAsTlo9ImNsb3N1cmVfbG1fIisoKCh2MC5wcm90b3R5cGUuRnc9ZnVuY3Rpb24obSxsLEYsVyxHLHope3JldHVybigoRz0tKHo9dGhpcy5nW20udG9TdHJpbmcoKV0sMSkseikmJihHPXp1KDQsMzQsbCwwLEYsVyx6KSksRyk+LTE\/eltHXTpudWxsfSx2MC5wcm90b3R5cGUucmVtb3ZlPSh2MC5wcm90b3R5cGUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24obSxsLEYsVyxHKXtyZXR1cm4geDUoMTcsKEc9KEY9bSE9PShXPWwhPT12b2lkIDAsdm9pZCAwKSk\/bS50b1N0cmluZygpOiIiLDgpLGZhbHNlLHRydWUsZnVuY3Rpb24oeixRLFMpe2ZvcihTPTkzO1MhPTQxOyl7aWYoUz09MjEpcmV0dXJuIHRydWU7aWYoUz09ODIpcmV0dXJuIGZhbHNlO1M9PTg4PygrK1EsUz01Myk6Uz09NTM\/Uz1RPHoubGVuZ3RoPzQ4OjgyOlM9PTkzPyhRPTAsUz0yNCk6Uz09NDg\/Uz1GJiZ6W1FdLnR5cGUhPUd8fFcmJnpbUV0uY2FwdHVyZSE9bD84ODoyMTpTPT0yNCYmKFM9NTMpfX0sdGhpcy5nKX0sZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTKXtmb3IoUz02NjtTIT0zMDspe2lmKFM9PTk1KXJldHVybiBmYWxzZTtpZihTPT0xMilTPXogaW4gdGhpcy5nPzM2Ojk1O2Vsc2UgaWYoUz09NzMpZGVsZXRlIHRoaXMuZ1t6XSx0aGlzLmNILS0sUz0yMztlbHNlIGlmKFM9PTM2KUc9dGhpcy5nW3pdLFE9enUoNCwzMyxsLDAsVyxGLEcpLFM9MTE7ZWxzZXtpZihTPT0yMylyZXR1cm4gdHJ1ZTtpZihTPT0yNilTPUcubGVuZ3RoPT0wPzczOjIzO2Vsc2UgaWYoUz09MTEpUz1RPi0xPzcwOjU0O2Vsc2UgaWYoUz09NjYpej1tLnRvU3RyaW5nKCksUz0xMjtlbHNle2lmKFM9PTU0KXJldHVybiBmYWxzZTtTPT03MCYmKFFPKG51bGwsMjgsR1tRXSksQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKEcsUSwxKSxTPTI2KX19fX0pLHYwLnByb3RvdHlwZSkuYWRkPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEpe3tBPTY5O3doaWxlKEEhPTUxKWlmKEE9PTM0KXo9U1tRXSxBPTI7ZWxzZSBpZihBPT04MCl6LkJIPWZhbHNlLEE9NDU7ZWxzZSBpZihBPT04NylRPXp1KDQsMzIsbCwwLEcsVyxTKSxBPTIwO2Vsc2UgaWYoQT09NjkpcD1tLnRvU3RyaW5nKCksUz10aGlzLmdbcF0sQT01MjtlbHNlIGlmKEE9PTIpQT1GPzQ1OjgwO2Vsc2UgaWYoQT09MjQpej1uZXcgYUooRyxsLHRoaXMuc3JjLHAsISFXKSx6LkJIPUYsUy5wdXNoKHopLEE9NDU7ZWxzZSBpZihBPT0yMClBPVE+LTE\/MzQ6MjQ7ZWxzZXtpZihBPT00NSlyZXR1cm4gejtBPT01Mj9BPVM\/ODc6NDY6QT09NDYmJihTPXRoaXMuZ1twXT1bXSx0aGlzLmNIKyssQT04Nyl9fX0sTWF0aCkucmFuZG9tKCkqMUU2fDApLGRjPXt9LERpPTAsVWo9Il9fY2xvc3VyZV9ldmVudHNfZm5fIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTsoKEs9KChOKDIsQjAsNixVZiksVWYucHJvdG90eXBlKVtWT109dHJ1ZSxVZikucHJvdG90eXBlLEsua189ZnVuY3Rpb24obSl7dGhpcy50Tz1tfSxLKS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKG0sbCxGLFcpe2lmKDA9PT0tMCE9IVtdKUFlKGZhbHNlLG51bGwsdHJ1ZSw1OSxGLFcsbSxsLHRoaXMpfSxLLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24obSxsLEYsVyl7b2IoMjQsbnVsbCwwLFcsRixsLHRoaXMsbSl9LEsuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVil7e1Y9NzY7d2hpbGUoViE9NjIpaWYoVj09MTMpVj0hVy5RcCYmcD49MD81Njo0NztlbHNlIGlmKFY9PTczKVY9ej81MDo0NztlbHNlIGlmKFY9PTUzKVY9IVcuUXAmJnA8ei5sZW5ndGg\/NjY6NTc7ZWxzZSBpZihWPT04NylTPVcuY3VycmVudFRhcmdldD1HLGw9Yyg4OSwwLHRydWUsUSxXLFMpJiZsLFcuUXB8fChsPWMoOTEsMCxmYWxzZSxRLFcsUykmJmwpLFY9MTY7ZWxzZSBpZihWPT02MylWPUU\/NDo2OTtlbHNlIGlmKFY9PTcpVj1XIGluc3RhbmNlb2YgZl8\/ODI6NDU7ZWxzZSBpZihWPT00NSlBPVcsVz1uZXcgZl8oUSxHKSx1RyhXLEEpLFY9Mzg7ZWxzZSBpZihWPT03MSlWPXR5cGVvZiBXPT09InN0cmluZyI\/NTQ6NztlbHNlIGlmKFY9PTc2KUU9dGhpcy50TyxWPTYzO2Vsc2UgaWYoVj09MzYpcC0tLFY9MTM7ZWxzZSBpZihWPT0xMSlWPUU\/NTg6Njk7ZWxzZSBpZihWPT00KUY9W10sVj0xNztlbHNle2lmKFY9PTU3KXJldHVybiBsO1Y9PTUyPyhwPTAsVj00MSk6Vj09NzI\/KEU9RS50TyxWPTExKTpWPT02ND8ocCsrLFY9NTMpOlY9PTQxP1Y9NTM6Vj09NTg\/KEYucHVzaChFKSxWPTcyKTpWPT01MD8ocD16Lmxlbmd0aC0xLFY9MzUpOlY9PTU0PyhXPW5ldyBmXyhXLEcpLFY9MzgpOlY9PTY5PyhXPW0sRz10aGlzLkRLLFE9Vy50eXBlfHxXLHo9RixWPTcxKTpWPT0xNj9WPXo\/NTI6NTc6Vj09ODI\/KFcudGFyZ2V0PVcudGFyZ2V0fHxHLFY9MzgpOlY9PTM4PyhsPXRydWUsVj03Myk6Vj09MTc\/Vj0xMTpWPT00Nz9WPVcuUXA\/MTY6ODc6Vj09NTY\/KFM9Vy5jdXJyZW50VGFyZ2V0PXpbcF0sbD1jKDkwLDAsdHJ1ZSxRLFcsUykmJmwsVj0zNik6Vj09MzU\/Vj0xMzpWPT02NiYmKFM9Vy5jdXJyZW50VGFyZ2V0PXpbcF0sbD1jKDg4LDAsZmFsc2UsUSxXLFMpJiZsLFY9NjQpfX19LEsudj1mdW5jdGlvbigpe1VmLkoudi5jYWxsKHRoaXMpLHRoaXMuQiYmQWUoZmFsc2UsbnVsbCwwLDE0LHRoaXMuQiksdGhpcy50Tz1udWxsfSxLLkZ3PWZ1bmN0aW9uKG0sbCxGLFcpe3JldHVybiB0aGlzLkIuRncoU3RyaW5nKG0pLGwsRixXKX0sSykuaGFzTGlzdGVuZXI9ZnVuY3Rpb24obSxsKXtyZXR1cm4gdGhpcy5CLmhhc0xpc3RlbmVyKG0hPT12b2lkIDA\/U3RyaW5nKG0pOnZvaWQgMCxsKX07dmFyIG4yOyhLPShOKDIsKChjKCgoKCgoKCgoIkFSVElDTEUgU0VDVElPTiBOQVYgQVNJREUgSDEgSDIgSDMgSDQgSDUgSDYgSEVBREVSIEZPT1RFUiBBRERSRVNTIFAgSFIgUFJFIEJMT0NLUVVPVEUgT0wgVUwgTEggTEkgREwgRFQgREQgRklHVVJFIEZJR0NBUFRJT04gTUFJTiBESVYgRU0gU1RST05HIFNNQUxMIFMgQ0lURSBRIERGTiBBQkJSIFJVQlkgUkIgUlQgUlRDIFJQIERBVEEgVElNRSBDT0RFIFZBUiBTQU1QIEtCRCBTVUIgU1VQIEkgQiBVIE1BUksgQkRJIEJETyBTUEFOIEJSIFdCUiBOT0JSIElOUyBERUwgUElDVFVSRSBQQVJBTSBUUkFDSyBNQVAgVEFCTEUgQ0FQVElPTiBDT0xHUk9VUCBDT0wgVEJPRFkgVEhFQUQgVEZPT1QgVFIgVEQgVEggU0VMRUNUIERBVEFMSVNUIE9QVEdST1VQIE9QVElPTiBPVVRQVVQgUFJPR1JFU1MgTUVURVIgRklFTERTRVQgTEVHRU5EIERFVEFJTFMgU1VNTUFSWSBNRU5VIERJQUxPRyBTTE9UIENBTlZBUyBGT05UIENFTlRFUiBBQ1JPTllNIEJBU0VGT05UIEJJRyBESVIgSEdST1VQIFNUUklLRSBUVCIuc3BsaXQoIiAiKS5jb25jYXQoWyJCVVRUT04iLCJJTlBVVCJdKSxLPVR1LnByb3RvdHlwZSxLKS51PWZ1bmN0aW9uKG0sbCl7cmV0dXJuIGw9dGhpcy52SCx0eXBlb2YgbT09PSJzdHJpbmciP2wuZ2V0RWxlbWVudEJ5SWQobSk6bX0sSykuZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24obSxsKXtyZXR1cm4obHx8dGhpcy52SCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKG0pKX0sSykuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihtLGwsRil7cmV0dXJuKGw9U3RyaW5nKChGPXRoaXMudkgsbSkpLEYpLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihsPWwudG9Mb3dlckNhc2UoKSksRi5jcmVhdGVFbGVtZW50KGwpfSxLKS5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihtKXtyZXR1cm4gdGhpcy52SC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcobSkpfSxLLmFwcGVuZENoaWxkPWZ1bmN0aW9uKG0sbCl7bS5hcHBlbmRDaGlsZChsKX0sSykuYXBwZW5kPWZ1bmN0aW9uKG0sbCl7UU8oIm9iamVjdCIsMzIsMCxmYWxzZSwiYXJyYXkiLG0ubm9kZVR5cGU9PTk\/bTptLm93bmVyRG9jdW1lbnR8fG0uZG9jdW1lbnQsbSxhcmd1bWVudHMpfSxLLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihtLGwpe2ZvcihsPTM4O2whPTIwOylpZihsPT0zOClsPW0ubm9kZVR5cGUhPTE\/Nzg6OTk7ZWxzZXtpZihsPT03OClyZXR1cm4gZmFsc2U7aWYobD09OTkpe3N3aXRjaChtLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4gZmFsc2V9cmV0dXJuIHRydWV9fX0sSykucmVtb3ZlTm9kZT1oZSxLKS5jb250YWlucz1mdW5jdGlvbihtLGwsRixXKXtmb3IoVz02NztXIT00Mzspe2lmKFc9PTkxKXJldHVybiBtPT1sfHxtLmNvbnRhaW5zKGwpO2lmKFc9PTcxKVc9dHlwZW9mIG0uY29tcGFyZURvY3VtZW50UG9zaXRpb24hPSJ1bmRlZmluZWQiPzY0OjM7ZWxzZSBpZihXPT04OSlXPTg1O2Vsc2UgaWYoVz09ODUpVz1sJiZtIT1sPzMwOjE5O2Vsc2UgaWYoVz09MzApbD1sLnBhcmVudE5vZGUsVz04OTtlbHNle2lmKFc9PTY0KXJldHVybiBtPT1sfHwhIShGPW0uY29tcGFyZURvY3VtZW50UG9zaXRpb24obCksMTcrKEZeMTYpLTIqKH5GJjE2KSsofkZ8MTYpKTtpZihXPT0yNClXPW0uY29udGFpbnMmJmwubm9kZVR5cGU9PTE\/OTE6NzE7ZWxzZXtpZihXPT02MSlyZXR1cm4gZmFsc2U7aWYoVz09MylXPTg1O2Vsc2V7aWYoVz09MTkpcmV0dXJuIGw9PW07Vz09NjcmJihXPW0mJmw\/MjQ6NjEpfX19fX0sMzQpLENfKSxDXy5wcm90b3R5cGUubUc9MCxDXykucHJvdG90eXBlLnRqPSIiLFVmKSw2LGFiKSxhYikucHJvdG90eXBlLEspLmZDPUNfLmI0KCk7d2hpbGUobnVsbCE9ZmFsc2UpaWYoSy51PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWn0se30pYnJlYWs7aWYoIWZhbHNlPT0hIiIhPVtdKUsuZ2V0UGFyZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuekR9O0suWV89KEsudj0oSy5yZW1vdmVDaGlsZD1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVixxKXtmb3IocT02NjtxIT0zMjspaWYocT09NzUpUz10aGlzLmVxLHA9KFMhPT1udWxsJiZFIGluIFM\/U1tFXTp2b2lkIDApfHxudWxsLHE9MTE7ZWxzZSBpZihxPT0xOClFPVEscT0xMDtlbHNlIGlmKHE9PTc3KVc9bSxxPTQ2O2Vsc2UgaWYocT09NDQpcT1FJiZtPzY5OjM5O2Vsc2UgaWYocT09NjUpQT1tLEY9bS5mQyxWPUYudGorIjoiKyhGLm1HKyspLnRvU3RyaW5nKDM2KSxHPUEuUTE9VixxPTE2O2Vsc2UgaWYocT09Njkpej10aGlzLmVxLEUgaW4geiYmZGVsZXRlIHpbRV0scmMoNCwxLDE4LG0sdGhpcy5PbikscT0xMztlbHNle2lmKHE9PTY3KXRocm93IEVycm9yKCJVbmFibGUgdG8gc2V0IHBhcmVudCBjb21wb25lbnQiKTtpZihxPT00NilxPVc9PW51bGw\/Njc6NDE7ZWxzZSBpZihxPT0xMSltPXAscT00NDtlbHNlIGlmKHE9PTEwKXE9dGhpcy5lcSYmRT83NTo1MjtlbHNlIGlmKHE9PTY2KXE9bT8yMTozOTtlbHNlIGlmKHE9PTU5KXE9KEc9bS5RMSk\/MTY6NjU7ZWxzZXtpZihxPT02MilyZXR1cm4gbTtpZihxPT0xNilRPUcscT0xODtlbHNlIGlmKHE9PTg2KW0uWV8oKSxtLlomJmhlKG0uWikscT03NztlbHNlIGlmKHE9PTIxKXE9dHlwZW9mIG09PT0ic3RyaW5nIj8yNzo1OTtlbHNle2lmKHE9PTE1KXRocm93IEVycm9yKCJDaGlsZCBpcyBub3QgaW4gcGFyZW50IGNvbXBvbmVudCIpO3E9PTI3PyhRPW0scT0xOCk6cT09NTI\/KHA9bnVsbCxxPTExKTpxPT0zOT9xPW0\/NjI6MTU6cT09NDE\/KFcuekQ9bnVsbCxhYi5KLmtfLmNhbGwoVyxudWxsKSxxPTM5KTpxPT0xMyYmKHE9bD84Njo3Nyl9fX19LGZ1bmN0aW9uKG0pe2ZvcihtPTQ5O20hPTY5OyltPT01OT9tPXRoaXMuZ3E\/Nzg6MTU6bT09NDk\/KHRoaXMuTWEmJnRoaXMuWV8oKSxtPTU5KTptPT0xNT8oQWUoZmFsc2UsdGhpcyxmdW5jdGlvbihsKXtsLmRpc3Bvc2UoKX0sOCksIXRoaXMuTEMmJnRoaXMuWiYmaGUodGhpcy5aKSx0aGlzLlo9dGhpcy5lcT10aGlzLnpEPXRoaXMuT249bnVsbCxhYi5KLnYuY2FsbCh0aGlzKSxtPTY5KTptPT03OCYmKHRoaXMuZ3EuZGlzcG9zZSgpLGRlbGV0ZSB0aGlzLmdxLG09MTUpfSksSy5rXz1mdW5jdGlvbihtLGwpe3tsPTcyO3doaWxlKGwhPTE4KWlmKGw9PTcyKWw9dGhpcy56RCYmdGhpcy56RCE9bT8zODo1MztlbHNlIGlmKGw9PTUzKWFiLkoua18uY2FsbCh0aGlzLG0pLGw9MTg7ZWxzZSBpZihsPT0zOCl0aHJvdyBFcnJvcigiTWV0aG9kIG5vdCBzdXBwb3J0ZWQiKTt9fSxmdW5jdGlvbigpe3RoaXMuTWE9ISgoQWUoZmFsc2UsdGhpcyxmdW5jdGlvbihtKXttLk1hJiZtLllfKCl9LDEyKSx0aGlzLmdxKSYmQWUoZmFsc2UsbnVsbCwwLDEzLHRoaXMuZ3EpLDEpfSk7dmFyIFdJLGozPShjKDMyLG9KKSx7YnV0dG9uOiJwcmVzc2VkIixjaGVja2JveDoiY2hlY2tlZCIsbWVudWl0ZW06InNlbGVjdGVkIixtZW51aXRlbWNoZWNrYm94OiJjaGVja2VkIixtZW51aXRlbXJhZGlvOiJjaGVja2VkIixyYWRpbzoiY2hlY2tlZCIsdGFiOiJzZWxlY3RlZCIsdHJlZWl0ZW06InNlbGVjdGVkIn0pLHdjPSgoTigyLG9KLCgoKCgoSz1vSi5wcm90b3R5cGUsSykuanE9ZnVuY3Rpb24obSl7cmV0dXJuIG0udSgpfSxLKS5WcD1mdW5jdGlvbihtLGwsRixXLEcseixRLFMpeyhTPSgoRz1tLmdldEF0dHJpYnV0ZSgoV0l8fChXST17MToiZGlzYWJsZWQiLDg6InNlbGVjdGVkIiwxNjoiY2hlY2tlZCIsNjQ6ImV4cGFuZGVkIn0pLFc9V0lbbF0sInJvbGUiKSl8fG51bGwpPyhRPWozW0ddfHxXLHo9Vz09ImNoZWNrZWQifHxXPT0ic2VsZWN0ZWQiP1E6Vyk6ej1XLHopKSYmdE4oNTQsMjYsImxpdmUiLCJhdG9taWMiLG0sRixTKX0sSy5YPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEpe3tRPTE5O3doaWxlKFEhPTMwKVE9PTI5PyhHPXRoaXMuZ08oKSxHLnJlcGxhY2UoL1xceGEwfFxccy9nLCIgIiksdGhpcy5BTz17MTpHKyItZGlzYWJsZWQiLDI6RysiLWhvdmVyIiw0OkcrIi1hY3RpdmUiLDg6RysiLXNlbGVjdGVkIiwxNjpHKyItY2hlY2tlZCIsMzI6RysiLWZvY3VzZWQiLDY0OkcrIi1vcGVuIn0sUT02Mik6UT09MTk\/KHo9bS51KCksUT0xMik6UT09NDg\/UT10aGlzLkFPPzYyOjI5OlE9PTYyPygoVz10aGlzLkFPW2xdKSYmdGhpcy5XSChtLFcsRiksdGhpcy5WcCh6LGwsRiksUT0zMCk6UT09MTImJihRPXo\/NDg6MzApfX0sSy5nTz1mdW5jdGlvbigpe3JldHVybiJnb29nLWNvbnRyb2wifSxLKS5XSD1mdW5jdGlvbihtLGwsRixXKXsoVz1tLnU\/bS51KCk6bSkmJihGP1hWOm1OKShXLFtsXSl9LEspLnBRPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwKXtTPTY1O3tRPTY5O3doaWxlKCFmYWxzZT09ISIiKXRyeXtpZihTPT01NClicmVhaztlbHNlIFM9PTQzPyhGPXosUz04KTpTPT04ND8oRi50YWJJbmRleD0tMSxGLnJlbW92ZUF0dHJpYnV0ZSgidGFiSW5kZXgiKSxTPTU0KTpTPT05Nj9TPSFsJiZtLlAmMzI\/MzA6Mzk6Uz09NDY\/KFE9NjksUz02Nik6Uz09NTg\/KFE9NjksUz00Nik6Uz09MzA\/KFE9NTAsei5ibHVyKCksUz00Nik6Uz09MzU\/KFc9ei50YWJJbmRleCxHPXR5cGVvZiBXPT09Im51bWJlciImJlc+PTAmJlc8MzI3NjgsUz0zOCk6Uz09NjY\/Uz1tLlAmMzI\/NzU6Mzk6Uz09NzU\/KEooNCwyLDksbSkmJm0uc2V0QWN0aXZlKGZhbHNlKSxKKDMyLDIsOCxtKSYmYygyMSwwLDMyLG0sZmFsc2UpJiZtLlgoMzIsZmFsc2UpLFM9MzkpOlM9PTIwPyhGLnRhYkluZGV4PTAsUz01NCk6Uz09NjU\/Uz1tLndxJjMyJiYoej1tLmpxKCkpPzk2OjU0OlM9PTg\/Uz1sPzIwOjg0OlM9PTM4P1M9RyE9bD80Mzo1NDpTPT0zOSYmKFM9KEc9ei5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzM1OjM4KX1jYXRjaChBKXtpZihRPT02OSl0aHJvdyBBO1E9PTUwJiYocD1BLFM9NTgpfX19LDcwKSxsYSksYyg0MCxsYSksbGEpLnByb3RvdHlwZS5nTz1mdW5jdGlvbigpe3JldHVybiJnb29nLWJ1dHRvbiJ9LGxhLnByb3RvdHlwZS5WcD1mdW5jdGlvbihtLGwsRil7c3dpdGNoKGwpe2Nhc2UgODpjYXNlIDE2OnROKDU0LDI1LCJsaXZlIiwiYXRvbWljIixtLEYsInByZXNzZWQiKTticmVhaztkZWZhdWx0OmNhc2UgNjQ6Y2FzZSAxOmxhLkouVnAuY2FsbCh0aGlzLG0sbCxGKX19LHt9KTtpZih0cnVlKU4oMixhYiw3MSxoTik7aWYoKCgoKCgoKCgoKChLPWhOLnByb3RvdHlwZSxLKS5Tdj0yNTUsSykuaGo9dHJ1ZSxLKS5QPTAsSykud3E9MzksSy52PWZ1bmN0aW9uKG0pe2ZvcihtPTkyO20hPTcxOyltPT0xNj8oZGVsZXRlIHRoaXMuTCx0aGlzLlc9bnVsbCxtPTcxKTptPT05Mj8oaE4uSi52LmNhbGwodGhpcyksbT02NSk6bT09NjU\/bT10aGlzLlNxPzQ4OjE2Om09PTQ4JiYodGhpcy5TcS5kaXNwb3NlKCksZGVsZXRlIHRoaXMuU3EsbT0xNil9LEsuVz1udWxsLEspLllfPWZ1bmN0aW9uKCl7KChoTi5KLllfLmNhbGwodGhpcyksdGhpcykuU3EmJnRoaXMuU3EuZGV0YWNoKCksdGhpcy5pc1Zpc2libGUoKSYmdGhpcy5pc0VuYWJsZWQoKSkmJnRoaXMuTC5wUSh0aGlzLGZhbHNlKX0sSykuWHg9MCxLLmpxPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTC5qcSh0aGlzKX0sSykuV0g9ZnVuY3Rpb24obSxsLEYpe3tGPTkyO3doaWxlKEYhPTU4KUY9PTMyP0Y9bSYmdGhpcy5XJiZyYyg0LDEsMTYsbSx0aGlzLlcpPzg2OjU4OkY9PTkyP0Y9bD8yNjozMjpGPT00Mz8odGhpcy5XPW51bGwsRj01Nik6Rj09MjY\/Rj1tPzU0OjU4OkY9PTU0Pyh0aGlzLlc\/TVooNzMsMTUsMCxtLHRoaXMuVyk+PTB8fHRoaXMuVy5wdXNoKG0pOnRoaXMuVz1bbV0sdGhpcy5MLldIKHRoaXMsbSx0cnVlKSxGPTU4KTpGPT04Nj9GPXRoaXMuVy5sZW5ndGg9PTA\/NDM6NTY6Rj09NTYmJih0aGlzLkwuV0godGhpcyxtLGZhbHNlKSxGPTU4KX19LEspLmlzVmlzaWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmhqfSxLKS5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtyZXR1cm4hKHRoaXMuUCYxKX0sSy5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhKHRoaXMuUCY0KX0sSykuc2V0QWN0aXZlPWZ1bmN0aW9uKG0pe2MoMTMsMCw0LHRoaXMsbSkmJnRoaXMuWCg0LG0pfSxLLmdldFN0YXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUH0sSy5YPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEpe2ZvcihRPTA7USE9MTI7KVE9PTM\/KHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuTC5wUSh0aGlzLEcpLHRoaXMuWCgxLCFHLHRydWUpLFE9MTIpOlE9PTA\/UT1GfHxtIT0xPzE4OjkyOlE9PTE4P1E9dGhpcy53cSZtJiZsIT0hISh0aGlzLlAmbSk\/OTU6MTI6UT09MjY\/KHRoaXMuc2V0QWN0aXZlKGZhbHNlKSxjKDIzLDAsMix0aGlzLGZhbHNlKSYmdGhpcy5YKDIsZmFsc2UpLFE9Myk6UT09OTI\/KEc9IWwsej10aGlzLmdldFBhcmVudCgpLFE9MzgpOlE9PTM4P1E9eiYmdHlwZW9mIHouaXNFbmFibGVkPT0iZnVuY3Rpb24iJiYhei5pc0VuYWJsZWQoKXx8IWMoMTUsMCwxLHRoaXMsIUcpPzEyOjY0OlE9PTk1Pyh0aGlzLkwuWCh0aGlzLG0sbCksdGhpcy5QPWw\/KFc9dGhpcy5QLChtfDApK35tLX4oV3xtKSk6dGhpcy5QJn5tLFE9MTIpOlE9PTY0JiYoUT1HPzM6MjYpfSx0eXBlb2YgaE4pIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCBjb21wb25lbnQgY2xhc3MgIitoTik7c3dpdGNoKCEodHlwZW9mIG9KIT09ImZ1bmN0aW9uIikpe2Nhc2UgIShOdW1iZXIoKSE9IVtdKSE9ISIiIT1udWxsOnVuZGVmaW5lZDticmVhaztjYXNlIE51bWJlcigpIT0hW106dGhyb3cgRXJyb3IoIkludmFsaWQgcmVuZGVyZXIgY2xhc3MgIitvSik7YnJlYWt9dmFyIEZTPXFaKDMsaE4pO2MoMTAsKE4oMixsYSwzOCwoTVooNzMsNiwod2NbRlNdPW9KLCJnb29nLWNvbnRyb2wiKSxmdW5jdGlvbigpe3JldHVybiBuZXcgaE4obnVsbCl9KSxtZSkpLG1lKSksbWUucHJvdG90eXBlLnBRPWZ1bmN0aW9uKCl7fTt3aGlsZSgxMSlpZihtZS5wcm90b3R5cGUuWD1mdW5jdGlvbihtLGwsRixXLEcpe2ZvcihHPTc7RyE9MTA7KUc9PTc\/KG1lLkouWC5jYWxsKHRoaXMsbSxsLEYpLFc9bS51KCksRz0zNyk6Rz09ODQ\/KFcuZGlzYWJsZWQ9RixHPTEwKTpHPT0zNyYmKEc9VyYmbD09MT84NDoxMCl9LHRydWUhPVtdKWJyZWFrO01aKDczLDMsImdvb2ctYnV0dG9uIiwoKE4oMixoTiwzOCwobWUucHJvdG90eXBlLlZwPWZ1bmN0aW9uKCl7fSx4UCkpLHhQKS5wcm90b3R5cGUudj1mdW5jdGlvbigpe2RlbGV0ZSAoeFAuSi52LmNhbGwodGhpcyksZGVsZXRlIHRoaXMuTlcsdGhpcykuS0N9LGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB4UChudWxsKX0pKTt2YXIgVDcsUmI9dy5yZXF1ZXN0SWRsZUNhbGxiYWNrP2Z1bmN0aW9uKG0pe3JlcXVlc3RJZGxlQ2FsbGJhY2soZnVuY3Rpb24oKXttKCl9LHt0aW1lb3V0OjR9KX06dy5zZXRJbW1lZGlhdGU\/ZnVuY3Rpb24obSl7c2V0SW1tZWRpYXRlKG0pfTpmdW5jdGlvbihtKXtzZXRUaW1lb3V0KG0sMCl9LHo3PXtwYXNzaXZlOnRydWUsY2FwdHVyZTp0cnVlfSxuXz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNSwxMTAsMTE2LDEwMSwxMDMsNjcsMTA0LDEwMSw5OSwxMDcsNjYsMTIxLDExMiw5NywxMTUsMTE1KSxKZT1bXSxGVj0oYi5wcm90b3R5cGUuVW49InRvU3RyaW5nIixbXSksU0E9W10sQm09W10sck09e30sRWo9W10sdGU9W10saks9KGIucHJvdG90eXBlLm9iPXZvaWQgMCxbXSksSWI9KGIucHJvdG90eXBlLnFXPWZhbHNlLGIucHJvdG90eXBlLnhUPXZvaWQgMCxbXSksbWI9KCgoYkcsaUcsZnVuY3Rpb24oKXt9KShOVCksR04sa1AsZnVuY3Rpb24oKXt9KShPaiksdm9pZCAwKSxHdT0oKCgoSz1iLnByb3RvdHlwZSxLLnBDPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyl7cmV0dXJuIE1ULmNhbGwodGhpcyxudWxsLG0sMTYsbCxGLFcsRyx6LFEsUyl9LEspLmtUPTAsSy5aSz1mdW5jdGlvbigpe3JldHVybiBHNy5jYWxsKHRoaXMsMzEsNzIpfSxLKS54Xz1mdW5jdGlvbihtLGwsRixXLEcseil7cmV0dXJuIFFxLmNhbGwodGhpcyx0cnVlLG0sbCwxMyxGLFcsRyx6KX0sSykuanY9ZnVuY3Rpb24obSxsLEYsVyxHKXtyZXR1cm4gSi5jYWxsKHRoaXMsbCxtLDc0LEYsVyxHKX0sSy5SPSh3aW5kb3cucGVyZm9ybWFuY2V8fHt9KS5ub3c\/ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53Tyt3aW5kb3cucGVyZm9ybWFuY2Uubm93KCl9OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSxyTS5jb25zdHJ1Y3Rvcik7KEsuVW09KEsudms9ZnVuY3Rpb24oKXtyZXR1cm4gRzcuY2FsbCh0aGlzLDMxLDYpfSxiLnByb3RvdHlwZS5WPSJjcmVhdGUiLGZ1bmN0aW9uKG0sbCxGLFcsRyx6KXtyZXR1cm4gWTUuY2FsbCh0aGlzLDc0LDQsbCxHLFcseixGLG0sMjcpfSksSz1iLnByb3RvdHlwZSxLKS5UPWZ1bmN0aW9uKG0sbCl7cmV0dXJuIG09KG1iPShsPXt9LGZ1bmN0aW9uKCl7cmV0dXJuIG09PWw\/NzU6MTIwfSkse30pLGZ1bmN0aW9uKEYsVyxHLHosUSxTLHAsQSxFLFYscSxmLFUsTSxyLFQseSxYLFkseCxhLEIsUix1WixrLHAyLEksaCx5TyxjMCxYTSxQLEsyLGpBLGdNLEwsQyxFVil7d2hpbGUodHJ1ZSlpZihMPTY1LCJLIilicmVhaztmb3IoWE09KEM9KGpBPXVuZGVmaW5lZCwxNiksZmFsc2UpOzspdHJ5e2lmKEw9PTQ2KWJyZWFrO2Vsc2UgaWYoTD09MTEpUz1JLmNoYXJDb2RlQXQoVyksTD04NztlbHNlIGlmKEw9PTQ1KUsyPVpnKDAsdGhpcyw4MDAxLEZbMV0sNDYpLGpBPTQyLEw9OTU7ZWxzZSBpZihMPT03MylaZygwLHRoaXMsRlsyXSxGWzFdLDQ2KSxMPTk1O2Vsc2UgaWYoTD09NDgpVysrLEw9OTc7ZWxzZSBpZihMPT04MilMPVYubGVuZ3RoPjQ\/NDQ6NztlbHNlIGlmKEw9PTk3KUw9VzxJLmxlbmd0aD8xMToyMDtlbHNlIGlmKEw9PTU1KVQubGVuZ3RoPTAsTD05NTtlbHNlIGlmKEw9PTM4KUM9OCxMXyhQLHRoaXMsMTcsMjA0OCksakE9NDYsTD05NTtlbHNlIGlmKEw9PTc2KWpBIT09dW5kZWZpbmVkPyhMPWpBLGpBPXVuZGVmaW5lZCk6TD00NjtlbHNlIGlmKEw9PTQxKUZbMV0ucHVzaChPKHRoaXMsNDcpLmxlbmd0aCxuKHRoaXMsMzk0KS5sZW5ndGgsbih0aGlzLDQ3MykubGVuZ3RoLE8odGhpcywxOCkubGVuZ3RoLGUodGhpcywyNDUpLmxlbmd0aCxuKHRoaXMsMzY4KS5sZW5ndGgsbih0aGlzLDUxMSkubGVuZ3RoLG4odGhpcywxMTYpWzBdKSxEKHRoaXMsMzA1LEZbMl0pLHRoaXMuR1szODldJiZaZygwLHRoaXMsODAwMSxuKHRoaXMsMzg5KSw0NiksTD05NTtlbHNlIGlmKEw9PTYpRT0iIixmPTAsTD0zNDtlbHNlIGlmKEw9PTcpQz04LHRoaXMuWT1wMixMPTg7ZWxzZSBpZihMPT0yKUw9Rz09dGU\/MjU6OTU7ZWxzZSBpZihMPT0zNClMPTg4O2Vsc2UgaWYoTD09OTYpQz04MyxSPU8odGhpcywyMiksUi5sZW5ndGg+MCYmSUoodGhpcyxkKFIubGVuZ3RoLDIpLmNvbmNhdChSKSw1MTEsNDgpLERnKGQodGhpcy5OKzE+PjEsMSksdGhpcyw1MTEsODcpLERnKGQodGhpc1tGVl0ubGVuZ3RoLDEpLHRoaXMsNTExKSxoPXRoaXMuSWo\/bih0aGlzLDM5NCk6Tyh0aGlzLDQ3MyksaC5sZW5ndGg+MCYmSUoodGhpcyxkKGgubGVuZ3RoLDIpLmNvbmNhdChoKSw0Nyw2NCksWD1uKHRoaXMsNDcpLFgubGVuZ3RoPjQmJkRnKGQoWC5sZW5ndGgsMikuY29uY2F0KFgpLHRoaXMsNTExLDY1KSxhPTAsYSs9Tyh0aGlzLDEwNykmMjA0NyxWPWUodGhpcywxOCksYS09KE8odGhpcyw1MTEpLmxlbmd0aHwwKSs1LFYubGVuZ3RoPjQmJihhLT0oVi5sZW5ndGh8MCkrMyksYT4wJiZJSih0aGlzLGQoYSwyKS5jb25jYXQoaUcoYSkpLDUxMSw1MyksTD04MjtlbHNlIGlmKEw9PTI2KVY9Vi5zbGljZSgwLDFFNiksSUoodGhpcyxbXSw1MTEsMTk3KSxEZyhbXSx0aGlzLDUxMSwzNiksTD03MDtlbHNlIGlmKEw9PTE5KWs9eC52YWx1ZSxMPTEzO2Vsc2UgaWYoTD09NzEpTD1HPT1Faj80NToyO2Vsc2UgaWYoTD09NjcpQz04LEw9MzA7ZWxzZSBpZihMPT05MilMPTg2O2Vsc2UgaWYoTD09MjIpQT1GWzJdLHVaPWQoKHE9ZSh0aGlzLDUxMSkubGVuZ3RoLC0yKn5xKyhxXjIpKzIqKH5xfDIpKSwyKSxwMj10aGlzLlksdGhpcy5ZPXRoaXMsTD05NjtlbHNlIGlmKEw9PTc5KUw9Rz09aks\/NDE6MDtlbHNlIGlmKEw9PTE1KUM9NTQsST1hdG9iKHkpLFc9MCxNPVtdLHI9MCxMPTgwO2Vsc2UgaWYoTD09ODUpRT0iKiIrRSxMPTkxO2Vsc2V7aWYoTD09NDIpcmV0dXJuIEsyO2lmKEw9PTM1KU1bcisrXT1TLEw9NDg7ZWxzZSBpZihMPT0wKUw9Rz09RlY\/MjI6NzU7ZWxzZXtpZihMPT05MClyZXR1cm4gSzI7aWYoTD09NjkpQz04LEc9RlswXSxMPTcyO2Vsc2UgaWYoTD09NjQpTD1FPzg1OjY7ZWxzZSBpZihMPT0xMilDPTgsZUsoZmFsc2UsNDYsODAwMSx0aGlzKSxMPTk1O2Vsc2UgaWYoTD09OTUpQz0xNixtPWMwLEw9NzY7ZWxzZSBpZihMPT0zMCl4PUIubmV4dCgpLEw9ODY7ZWxzZSBpZihMPT01NylDPTgsUT1pRygyKS5jb25jYXQoTyh0aGlzLDUxMSkpLFFbMV09KFk9UVswXSwtKFl8MCkrKFl8NjApKyhZJi02MSkpLFFbM109UVsxXV51WlswXSxRWzRdPVFbMV1edVpbMV0sRT10aGlzLlBrKFEpLEw9NjQ7ZWxzZSBpZihMPT03MilMPUc9PUJtPzc0Ojc5O2Vsc2UgaWYoTD09OClMPWpBIT09dW5kZWZpbmVkPzk1OjU3O2Vsc2UgaWYoTD09OTEpeU89RSxlKHRoaXMsNDcpLmxlbmd0aD1BLnNoaWZ0KCksTyh0aGlzLDM5NCkubGVuZ3RoPUEuc2hpZnQoKSxuKHRoaXMsNDczKS5sZW5ndGg9QS5zaGlmdCgpLE8odGhpcywxOCkubGVuZ3RoPUEuc2hpZnQoKSxuKHRoaXMsMjQ1KS5sZW5ndGg9QS5zaGlmdCgpLE8odGhpcywzNjgpLmxlbmd0aD1BLnNoaWZ0KCksbih0aGlzLDUxMSkubGVuZ3RoPUEuc2hpZnQoKSxuKHRoaXMsMTE2KVswXT1BLnNoaWZ0KCksSzI9eU8sakE9OTAsTD05NTtlbHNlIGlmKEw9PTI1KXtpZih6PShUPW4odGhpcyw0NjApLHR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiKSYmU3ltYm9sLml0ZXJhdG9yJiZUW1N5bWJvbC5pdGVyYXRvcl0pcD16LmNhbGwoVCk7ZWxzZSBpZih0eXBlb2YgVC5sZW5ndGg9PSJudW1iZXIiKXA9e25leHQ6RzcoMzEsMTYsMCxUKX07ZWxzZSB0aHJvdyBFcnJvcihTdHJpbmcoVCkrIiBpcyBub3QgYW4gaXRlcmFibGUgb3IgQXJyYXlMaWtlIik7TD0oeD0oQj1wLEIubmV4dCgpKSw5Mil9ZWxzZSBpZihMPT02NSljMD1tLG09bCxMPTY5O2Vsc2UgaWYoTD09OTQpTVtyKytdPVMmMjU1LFM+Pj04LEw9MzU7ZWxzZSBpZihMPT04OClMPWY8US5sZW5ndGg\/MTQ6OTE7ZWxzZSBpZihMPT0xNClVPVFbZl1bdGhpcy5Vbl0oMTYpLFUubGVuZ3RoPT0xJiYoVT0iMCIrVSksRSs9VSxMPTY2O2Vsc2UgaWYoTD09NDQpTD1WLmxlbmd0aD4xRTY\/MjY6NzA7ZWxzZSBpZihMPT04NylMPVM+MjU1Pzk0OjM1O2Vsc2UgaWYoTD09ODApTD05NztlbHNlIGlmKEw9PTg2KUw9eC5kb25lPzU1OjE5O2Vsc2UgaWYoTD09MjApdGhpcy5KTz1NLHRoaXMuaj10aGlzLkpPLmxlbmd0aDw8MyxaKHRoaXMsMzgwLFswLDAsMF0pLEw9MTI7ZWxzZSBpZihMPT03NCl5PUZbMV0sTD0xNTtlbHNlIGlmKEw9PTY2KWYrKyxMPTg4O2Vsc2UgaWYoTD09MTMpQz01OCxrKCksTD0zMDtlbHNlIGlmKEw9PTc1KUw9Rz09SWI\/NzM6NzE7ZWxzZSBpZihMPT03MClEZyhkKFYubGVuZ3RoLDIpLmNvbmNhdChWKSx0aGlzLDUxMSwxNjYpLEw9NztlbHNlIGlmKEw9PTUwKXRocm93IGdNO319fWNhdGNoKGxHKXtpZihDPT0oZ009bEcsMTYpKXRocm93IGxHO0M9PTU4PyhFVj1sRyxMPTY3KTpDPT04PyhqQT01MCxMPTk1KTpDPT04Mz8oakE9NTAsTD03KTpDPT01NCYmKFA9bEcsTD0zOCl9fX0oKSxLLlBrPWZ1bmN0aW9uKG0sbCxGLFcsRyl7cmV0dXJuIEFOLmNhbGwodGhpcyw1Miw1LEYsVyxtLDUsbCxHKX0sSy5PbT1mdW5jdGlvbigpe3JldHVybiBxWi5jYWxsKHRoaXMsMzQpfSxLLm9qPWZ1bmN0aW9uKCl7cmV0dXJuIHg1LmNhbGwodGhpcywxNyw2KX07dmFyIGNtO0suRng9MDt3aGlsZSh7fSlpZigoSy5hYj0wLDAhPSghW109PSgwPT0hWyIiXSkpPT1udWxsKT09IVtdKWJyZWFrO3ZhciBQbT0oYi5wcm90b3R5cGVbSmVdPVswLDAsMSwxLDAsMSwxXSwvLi8pLHpOPUJtLnBvcC5iaW5kKGIucHJvdG90eXBlW2pLXSk7Y209U0soYi5wcm90b3R5cGUuViwoUG1bYi5wcm90b3R5cGUuVW5dPXpOLHtnZXQ6ek59KSwyNCk7d2hpbGUoZmFsc2U9PSFbXSlpZihiLnByb3RvdHlwZS5NVz12b2lkIDAsdHJ1ZSlicmVhazt2YXIgc2o9ZnVuY3Rpb24obSxsKXtyZXR1cm4obD11KDMsbnVsbCwiZXJyb3IiLCJrcyIpKSYmbS5ldmFsKGwuY3JlYXRlU2NyaXB0KCIxIikpPT09MT9mdW5jdGlvbihGKXtyZXR1cm4gbC5jcmVhdGVTY3JpcHQoRil9OmZ1bmN0aW9uKEYpe3JldHVybiIiK0Z9fSh3KTsoKFQ3PXcua25pdHNhaWx8fCh3LmtuaXRzYWlsPXt9KSxUNy5tKT40MHx8KFQ3Lm09NDEsVDcua3M9d00sVDcuYT1pWiksVDcpLkNlVV89ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTKXtyZXR1cm5bZnVuY3Rpb24ocCl7cmV0dXJuIHYoZmFsc2UsUyxwLDgpfSwoUz1uZXcgYihtLGwsUSxHLFcseiksZnVuY3Rpb24ocCl7Uy5vaihwKX0pXX07fSkuY2FsbCh0aGlzKTsnXS5qb2luKCdcbicpKSk7fSkuY2FsbCh0aGlzKTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJOU3dRQ1BXNUEtajRnbG1aTkp0clJBIj4oZnVuY3Rpb24oKXt2YXIgcj0nMSc7dmFyIGNlPTMwO3ZhciBzY3RtPWZhbHNlO3ZhciBwPSdDZVVveUd2OExaNlBsT3E5UnAzMi9HWnIyczd2a1FWelR5eFhxakd1dE04NktXNzhmL2tMWmV5SEFCQzFYVnNGR0ZSMjQzZVZIYVVWcC9LMHRzZGVBQWlLNmo3a3BLZjN5VTI4dG1XT0MwU3B1cDMyMlMyUTN5Rk9lbHBDaHJlTitGTzJlTURJaGo0Z3d3RHhMK3BjaUEwZmN5K2FlWXdwMU1HV0J1NjhyUHdUNHYrMFNXK01zakpwTTIyVzNHYnFySVFiOGp3V1N5MHBodWZCYVZTU1hrVlp6ZTh2Nk5YSTdnVjhZOEIrQWZUN1I5MXFDcWZxRC9WcmRic3YxTXU3cW9Halp4bEs4VGlhaER2YW9jbUY4MFZRck1TMTZlb2JEeHc2emxaZG50MG1hWm44ZmZGa0lScEk5dUpxRmd4eTB3ZUl2MFlOQXM1dWxGd1RnMm5yd1V3R3gvZjZIM2VLdU1ZQmQybW9zWUgwU3NlMms4NkxEWTN2Y2l1NXF4TmVWVHJ5ajZaeTZzWGppb1VUQmZrblNqTzNVMCt3Z0hHRTdkVExxNk5YRTF6TVJhSzJ2NWdsR09MN2RsZXF5cmVEWG90b1UzeU1sN0JtdmpHeXZONlBwM1VxQWtFcnFOS2J3UXovMENKSSsySVBVOVl5VDVFdVVzNFI1NjdKRGVzQUdPRUorcENpUXRMTTJrSkYzQm9zamkzU2VFeWVGSTNMZzUxbjdpTHk2c0FuR3RwOGRtRzRVcXVJWHRuK0ZYcTlkdDczbjZkdmlSVFRaWUxzNmpyZmdXN3o2YytLdVdXb0J4cjJzM05JdEtBa25JQmsraisvU3d6aEJEUDFqeElJb0wrZG1wQWt2L1pmTkZBbWFkbkVKV2pESGJSdnRwNGQ3QU5ZbXRweWphS1JqMHZqUUp0NlZDeDJ6RlFmWk0yOXBYMEpPaC9WbFBiS2xYWUJCekgwZjgvWk9FZlBOeG5kZGJzU1FsMTFhQVNXOE9pK3lSR2VkWGQrVWdiSFR1ckdDa3NDajRDcm0reVhXOXJqeXNUUlhSWnl5MzRyRWhTSXFzMHdpY3FONTd4aWpLSk9IYURBcHhYR2t4VFlLZWJjVm5MaGpEU1JNd3NpK2NFWDhaSnZKQVVNTU8zVE1VaXMxQW1KeitPRmNzaDRBL3JId2lMd1FXaFB0YVVJWkYySHVvV1l4a1REbisrVXN2YXdMN3VMY2RoR3VHdzBNRzhZSmd6Z1lrUUpvaFVkVU9QVWZuVWsvaGNaMUZCTWR6OWxOM2lWWGpCMWJYbkdvQnZhMmRrRFJjMXZxY05iU0lLQTBKSEFGL2g3V2hpZThhN1pIMEo1V0wzYThGOXZ2cDk1UGpYeXhFVmNhQm1FTFBpa2Fid2taa1JXWmZ3K2NUamRPWkdOOEpmYnkzSVRBenUyb0syd01iRUlhQ0pmaXpxVVlxNGxiL3VRaWdOckpLSzBHd2VaU21YRmN6c05HZTlBdDFaRnoyUmp3dGczY1dDU3lCUGp6VWxpRk45ZjQrbkkwRGlrdVRPdmwzRGlnZGJJazM2eHRKMzRUc3dGQzNFOU9WSDR4TU5Xa2s1eGlVT0F6QTFxMXlINVlSQ3A2aUorNlpqdWZtSkpWS2NDclJuV0tHb3JvcWpUTTFwcmxSY2ppMUNlaVRFRHRkbEpMNThocGVwODlRYlFIZlYrQUFxTG1JUXVyMDg3VkFjMnFINS9ZSXhRTllrRStrMWRrT1dUbld2UXhVL21TK2JlWUk3b201dk5vcCszNmtZYlQ5dXFGbmUrQWltaERnTGV1L1U4RTVuNW9sRHFaZkN5UWE3VXpJN2kxQXlYcmF3Y1dqdFJmb1J3V0NaSC8vRmRCMmJUYW5Sem5xZjY2QTlmWlhXelZDVlJPL0NrUXJCTjNDZGc5Z011dDlPS1h4bXNOYVVialBqVUVrd0xmWUpoenZxUEZsMDVTcTRlQmZna0FkZnFUVEFHKzNPSEYrMll5T0pWYktuemlUcCtja3ZFYlhhRjZtVXVGUGdkU0gyZ1B3MXA5SW1Td3FTZUJoUTl4OEJoTTc1UEFBbUZ4SlA3bGhpNU5oNUFnNEJXYy9BTnhvUkZzTTRPYjV4RGl1NjcvM1pQRldobXpQYjdUdUlxVlRoQzNoSHM1THBYUFZSMWp3U1Z0WVk0dStGRnVlaTNabHFyVlZ6eTM5Y2tnc2tKVXFheVc2UnJNS0J5WEtHUmtNSTloUXVtQXlLYmQ2Wk1BcWdKSGZyL2ptUU1lUHcrSUxpMDVSTkhNY0JDa0xyd0xCMU0vZVhSUTVqb3c1NzJ2M1J6Zk5tUHNNNEdGSmcvMXJ4ZU5zSkF3U3dVdWdJZG41ZGxGRXlNSlJPM2xJUjdFcE85MjBxeWdkL3h0NVV0RkNHSjgwb21HemxubUN2M0x5SUhqcWdiVWV4Z2E0TUpYMDFMcHJ2dnV0VmdKaXJJS0trTzAyR2VScHhmdm5Va1djZHdIM2xiQVVTWmdpVFZrUzVsZWFGZndQSW9GSnVNeTE5UXhGSXExb1ZFU3lldzAyQkhUY0s1SzZpWDY3ODNuZE04YTlISFRrUDBxRSthMjQ2WS9FQmNNMGhIcnl5VXU4Mm1YRWlNU04zUEVVQVlKMGZjRUFhWWU3SXZTVURqeVdDQ3VxNnNMbGV5T1JLMzJNQXRJbFVPa2JjVTNtb3F3NHRpUU1HcUtnWGdpN0U5VzM1d1d1NlRSVktPbW9oWGxLbjlpTFIvblprblRPQkRMUzltNlVqMlA2cmlJTmk5cnQrb1UrUTVVNWpaaUJRZUZXdE5QV2srMHJVUS9JYjFLUGZYRE5IeS9oK2d0NjM5SEpmMXZ2MDF6MmhUV2lFNlp2dHMwdmtLV1VRMXVQUHI1QmcyWG1iYVNkRk9za1p3eTEvT21pclFhSkE0V0VXRnpPQi9jaHQ5OStjdlY0eEJjbXZYeDVVQzl3U2FKWFJyL1pvS3pWNU1jQW13cUpJZGpyRjFXMGtJQU9yYm9zcW5aeXdVWnp0a2I4UkR4dnZ1UitXcEhIUDE5MFh5V3EwY2FLd0R2NjJmdno2TytrVURPcHc2WmRqLzdsR3Q0c2ZpUWtna3dVS3M5N2F0NnRwMjlDU0dDVmVUQ0x6RFFsNjlCSXp5c0Jab2RYelU3bkZyYWtnbWdobWRyV1BtWFM1RnZSZmdkUFoyNjNyL3FUMEVUUldEYXVJTTY0aEgvQm4xQjJmcVAxOHkrRGFqUUEySFFMSXZSRmNyNEV1dGtXaHhPazZjQkFKeDJxeWp3U1ZaK3FYZHJqZHRaVHVUejhaK01IME54alB5NUNhSTNPS0xjSmxseFhwNUY1dDlybG5mcEx4WEYzQ2lRbTdodmRkMTFxYjFLMnB1T1ZhRS9iTnkrSUI1eDFnMUJJT05HM1hUYXIrV1pOWWdoUng3VFNVWkR2YW9xd2pSYStoUGQ5LytKNk52cnY0cGdpUFNLZGFhb0ZiTzNWdDZEM0ZIb3dialhuVmNaUUJnSmd2T043em1FcVF5SEhJVXFtTVRYeVlhMUovWkE0cEc1MlFsRXJMN2E1QnVMT0NPaVM2N0NMdmV5SDFTWVJDK1F2YzFTbDhLVVJiR0dGSWMxaHRTYUM0aTBoUkN2K090SVhQV0ZrN1dMNGg0SFRHOUQxaW5sVXdKbkVZVWw5c0MraTdRQ0RsSlJvaEkrNWF3bVNXY09VYnpBdWpmWkNUY1d0WDNPMnFyK2tOMzdHWHFkOENmbE5ybjdVTFlQdnJ2VDBRWFVWQ3d2b2liK2tNNUxYaEMrOGtJVUNFM2tYZmMwTjBmUGNCTFQza0N3bFlVOGUrMHBsdGNjaGRqMlQzRVhpRFZRTis0Nm9aQktjbVdNT2wrVXc2YWFjOVlWeml3UmVOMDRBZ05wZE1qcER3Zmhnb3JxaUFZQ01NT0kvRGNtdXJHbWszK1BidVhjTnlLYjJURXlvdzl3bEpVSklCVE51ZUpGUGlrclRSZy92U1ovTTAxU3VTWG1kVmdIdHV6QWk1RTFMMHJEOS8rNCtsOG1Jb1JDcEZZSmk3VHpGTmp2ZjJwWmVycHVRTVFPUXdGMUlkOFA0bHdSQXE4UXpwaUVYVHQ4NXJBUEppSUdoU0luQnFhUFVlak9mY0dSeWphOVNydElIKzdodzFlZW9Nak9xRmVuMVMwbWUvTlBJbFZUQmxycS9taFE5QnBRZ1gwaXJrMUdoNGFNY2l1ZndhWkZJSGd3N0Nkc2wxVHZ5YmdzV1ErS0M5cWdlREx1SUtGeWt6djluQlk5Sy9GekJpMjRxZ3N0U0szYi9jVzdZaG5LVi93NncvdzBTYlFLNUtkMm53VWVVaVUrNGVZNi9UT3BHMEdWeDJJS1JUQmVlSjlNTU5pbGlrL0hoclpBM0RjVUkzVHVGZFYzM3J0NVRWcTluc1NZOXZIVW1xVmtUclpvS0sxQ1Q1SDJ6bUdFUmdwdEpBd1JGOCt4RnJLZmU3dGs3Wm04WlYrTXFqd0JsYzhlMTNHTVdhLzlyMng4MndPMjkrTTQxSktqZ29jbmpvZ3FEVSsxc2grbzd0TWovQ25SYXA1K2hsSEZRcldCSFNuekJ6a1p3aXZMRk1DSmlmNmV5N1BjVWpUVXhGeDh3WFJETHhuRnhSUGRkcmVoQ0RidVQ0ZDUwQ3o2bFFPNnEyQTR6VENXbnc3aUg0N3ZkMC94b1ZuTjBHTE9ZMTB2UmxKcGgxYmp1MC8yVmtNMkQyVHdxOWJDZ1lEb1dsSGVaMkVrUlpSMTYxbFNCWjhDaUtyMTRpdHExSGsvN1ZlN2Vzazhxb1VoTnErT0hOU2dIeVdFNUJZNlpSSnJjVWUvTTFwOFI4YW53TlVTU1lFQ2d2bEFSN203czJYUzNLQjFQaWhIZ1B4VHZlT2hxRTlhaXkvdTVwOEllRXRaKzdDdytSRmN6bWcyanhjQkgzYlNFRittZ2M3MjU2VnZHSDBOVlBMcjNMNjNvWlcyVFRtSm1ZWENBcEF1VkpQMnRIK2RuQXV5bTdOUnhoMEFPVG5pTERhUE9aSjlFSWdCdis0b1Uxc1hURXVqUzFDaWZBNENrUzNQWjZtRXdnR3kyM1BOTjR4eTZ2ODlGZmZJTm50Si96TTlDWFJhbTdMR2ZBRjA1ZEpITHMxenFBdm5xOEpCT3d3dnJQY21LV2xmWGhqc0l6bWNjemoxaFFRZlJoTlpNc0JFaXlLV2Q3R05sOGtidlBPczlGR2ZUTDBDeDQybFpiVWN0NFZ6bitaLzNxVEUrcG45c2xhZ3lBalBsUExQTUhiK0JQckdBM0lQT0RSazZwZitXdS9WTzFFTUFrOW5ta2lNR0lnSnBhOS9kS2ZsdHMxTkFOV3dnOTBPZlI3QVVTUkxrK2oxZUVDQWZVazZ6T0RYM2dpMzFaMmdSS1NFcll6d1lxNWo2Uk9YbGtlSzJ4d04ycWcvbG4xNVNqQ1FTcVA3eWo4all3T2ZXSXN1VFRWdnF2bTVtc0ZBd21jVFFSOXFPR2RtVmpGV3NqblA0cDJnN3g1Um5oTmg1bGVMMTRJVDYzZ3ZEMjExMVJTN3pCU01NYldiMHUwSWF5QTR2OXdLZ0F5MG5CbmQ0MjJhMVZVbDBVZStrK281a0tYTEY0UFcxcm5PTnVkcHFxSUExUVMyZkh0UUZOVXNLL2VqRXFJUXkzMk5NdWExandtTmxBMHhnbWh1MS9oTGdudEFNTHIwUkJpYTdpbUNVaUxpOVltL3VJL0x5U0hEdnNsVWMzeFVmZTdhMmJjSUpWRXlOOWh5S3hVSnNQbmVvMzZCRzZFOXgxcUtaV0h0K2V4aFljdU93UWtPQnZqYTRuMk5YcG81Q0Y3V1lTc1h1UDNOWFZ0Z1pNNHhzYU0rZklLOGVXWmFnOXRZN1VWUXJ6UU81dUpaNWNjOEZTRFJCM0FaeWdwUzc2VEJFSkJaaXA2RHFMY0pMRW91b3hWS3lpSU1CbEFiUGRBY1g1NnVtWWxpbnV4RlJtY29hSjJFKzFMcnpyb1VtZ29IODl6VjgxcUJHTjl0Q1ZiRldwcTFIemJoZGlxSHNQeGdoakpSd1pLOVlHU01tRmZ4VkZQOW1EeXd0UWV2M2xHS2ZiVzFqRUtDRXZKQml4VWtSOW9USGt3cGdxSUhaM3R3L212VGtWVlRXSzJ3RnRxZURUT0xiUjFlYUNyV3FTYU9OeHFnNmZVU2hkWk9WeXNoMTZkU3ZWdjJDTzArMHIrblR0RFJwSXJDREJtTy9rZXJJd2VsczdhbFhKNmc4TEFIRk1PQVlkZld3aXQwMDFlT1d3YXRMTnhndVNrYmFxZzdaNE1hb3U1aGUrUmtud1dzY3NTK3ZkWkZhelhZWDNZbEUydXYyUkJIZ2VSYk15eElkU2VDb3U1eXhENWRudTZnYmVzRGs0aklrdUFZd0d2UWJmanVUQ0dqZHUybDZzaTNocFNHMEdCdTY2VHF4bmw2ejV6dmw2b3laajA4UU5BVnlxdG5TcDk5U1gvV21WSzUxczd0aWtEUkdlN3BnZXJKWm5KV2loRld6bDE3eEcxZkgwOElub1M2NmpCaEpmYXlOY21keVVuTUVQODUxWmpyVjdBS3BoeTRzOXpNQUxxWkxxRWFRN3dYa0ZDMlJXU0tEck81eThsc2R1aDhKOHFLc3RsMUIyR0RocHp2QVoxWHdiK1h2YzdKRDBBQ0liRWNqcUdiMUNQMmlkaXloRHc2eG52K3ViRUtYQlc5ZlJvZEVjNHNwZFJScjJiT05HdUNKbm5iS0F3WEhaRzh5L01PUUNmRzlGOFFXcm9oc2d4R0EyR0VEZGFlajFjalVNV1JpSHNWQWlJMnZxeGdoSW9WdWVGQWYwL2VLTUJTdEtCVElUM2J2c3k5T2huTHlmR1VqcFA3RG1MWGs4bVBubEF0clJucFhzQjFTdExJelVkakNyNytsdzVaR0s5cksvVTU5d0ZjQzJrZDFLQzd5Yk93VDl4OVdzeFIyZTRweU1nWjJtcG1GOTFGOHV2QkhUbkdCVU1ZUTB5NWc2UGVwQzJuRDZzQXh0NGhDUDY4alA5TkJRVi9WVDE0ZWQ3YUptVUhOVWUwR1oyYnpNSmpLOGRYM1dNc1hsM2l1UnJVL25HMDh2Qm1mTER5ZkNRTWZHQWoxMmtwT2Z1djZ6c3ZDVm5OajZNTHJxNG9FMFY2TUphbHRXclZiUjNWWFI1OWZDSWk1bUx3UE9nODBKM241TjY2aVUwYk5ucVY4NFZhcFp0U1BFeGRCaDdDR3pCMHREWE4wcmVFYU5OT1hYeEtLdVdUdnhmOWlhc2ZWNnJaNERZUSt2Zll2clY0TC9wRS9JUCt4ZVNLbVE0QnhqalE2YXBnTTZmV2F0S0orcDh1R1RaK3M2MFQ2SDFneXRLbE53M3J2UGtOYjd6WWIrWVlWOUtGbUUrYjltWXUvaXpJSFhXRUZqSXN2NWN0dmZHY1NHNEpaZzhMUGpUSlhpY2lTVlRHamhXWHBsUlN6MmxqaTBoUGFVN0RxMmZwczJDeWRNUnFXWXBYOStJc3FCbzdtZm5IcWVZRk5xSVhWOGp1WWg1a3kybFQxQm9YemkzR3BYTlJQZVJzengyYUFHWFF2YVFZVGtBZ0lvY2hKK0dNU3A3TVlnVmg3V2hDM0lqRzJYSzQ1OUpvUXQwaUtmQnJ0RXBaMkdpWVFKU3dGajhFRGwzbUljcnNSUlBwSE54WWUwemthM1pFQ1ZwNFNtenVZYlBQc2JJcklUenJvTnBicEliY1YwcGpqcFpIU0YvSGV3ZC8wNGo3eWVBaGVuKzBscFBUelM1cnE5VHFFSDJDNU54UkdvL2x1enFFUmxiQW05UFI1OFVPems4YjJSRTNBd004eWJMZXYwOG4rYVVvbXVHRFNnd0tFbnlsb0pSYWFrQWhXR1FYb2JuTTlTQWZmSktOc0xjR2l1ODlXaWlhcTFHbkY1WHdUVFV0b3lyQ1Q0Q2I2b3lUdzNWRmpudGptU2ZxY1VqbHNxMFhCU0FXc0Y5Z0UyOEx4SjcvbSs1SmFLTm40Tmh4Vm9TOXZZNlZIaTd5Q0hPY3ZaTUIxYkpIQnRZWnBWaDh2U21nSWltMmxobDFsSTBzMDZjWVdWZW05MjJSM3RHa3hhZEpVQUJSN05PNTh6VUJDN25OZHN5ZnJGM0ozRlgvM0h0VitEdHhseHQ0b3dEMnJFdzg4eUxPbzdSNUZXQWUvSzVCSHVrUFNwRmdSaitvR1QzU2NwSTZ5T3dLYVBwaFhtaXEycDhmSnZENkNuS29FY2owR2R6d0RlT242bDhydUpGRXQyN1lVOGxxMzF5V203MzJFTHR3cEZLWk9HbXZPakhxaWZUdHZFT1hES2xLWXVYTFJwZG52cENYZkd6TUMxTE91Z0ZabnJtclBNekREWVdHZi9HRm9oYmZqVC96M0ZtYWx4UGp4T1pWeWdkeWpUQmRkbWF5WjlKUzM0OGl5Tld6SFlDNVF2Y28ra2ZyU0FlZXBtTk5kbFp3eTA3NnpnV2hxMnNaQ0hTSkVyNm0yOXJSV3BGd0RXWFNBa245UGhUOUhrTWJsaGUrS0ViT3JUTG12N2VnaFVudVlJbU1aM3BMalRZWGpZREtIb3hmZW9FUTZOL0dra0NMWHhXc3ZjaDZHQ01lcWZoSDExNjFwcmhlYXhZM055dWJlM2NYZzdKSFpraVlpWlVtakRUR3IvNzRBQ0grWkluL1VLaDl0ZXdCbmJiUEtNVlNCcGgzbVYwVFhQcnJyUkRqZTMyVGxsNUoxMUw5UFF4aGZ6YzNmTWE4T0RmRkVaUU9TeFpZNGNlMXFiNWtieHFLYUhyYmVvdmM5Z1c0cnhqcE1IU3ZiZXRWYm1vcVVTd01KcHBwTnF2OE1ZSmc3M1ZMb0tQVERkQU9pY1pEU0Q3V1Q1ckdUTEt5YXRNaGc1R1pQdkVNUVlqTk5zcTRuanFMeXBuQVBmdXZLYlBzZ3N2bXBiQ1c5M1M5Tm9NOTVmOW0rbXJGZmVETkV3Yy9aOWd3QXR4clRDMkRWUjlaTEtFeUhEdFZ6Q2QzcnF3dnZiMGZPV2ZLY2VHYk5RUmtadnFETkhqdW93NEtDWTAxNW0yc3RrV2RlTWkvUUU1dHRMb2FGbDNudFhKOWxZeUp3WUo5MldVWk8wdVV0OVU3d0JJOUFYbTVDeTR3MmxVV3pBNzJYMFlyaUVkSVZjL0xqcUdhUy82YlZnWlplSjFRSFBGb21WdWhFT2hvMWtZM3IwN1JtQXJBb1JNSzZoRGdORDFRYWl0cEFSZzFWanBaK21PSVlNcVBjTER6QmZMdmNkOGFEUXJTSkJ1VytkUGtpSDZGUVpSczNCTjZjbCsydEt3cWdSWlZkRm44U3BqVW90WWYydnVJRGZDRTZTK3lyWW16VU5kbkF6M0tnQnptdlAzMFVDTWJNZDE2MWFjVVFqUUg0b0N2K05NTURZOE1aclFGS0sxcUVwamhwNGtJZzhtNDdHNWsxQTVPNzJqajFoYk15cDEyRndkdjJSZVVTSHNBWDZ0UUFRSzBOWjBsbnZKUWdZZ2dFRHBIdXJKbEM0Ykk2dmtad2ljWFRjSVdiM0RFc1cyTE5HaWMyMTIvNWZ5ZEV2WTBNSjc1eXZkMExmSldmUXUyRDZSRGdmaitudUFOU1p4MmFidk5Vb29pVkhSbWwzYS9pRVYwQjlxa3NUOVBhWURMOU8zbXVMN3M0SkRCVm1WN1RPeHN3aUJYTjZreTdaUmppWXdBMmJ5NUk4T2Y4TDN5eTNyQkZJeFgwQmlyMXNKWVVhVmVON0VXcHRvZXJ6b01FdTlWcm1tcjZlZXRZYzYySFRVYWZRNnhTdFhDNVlqT2NXRDdKa2JZdm5vbVBlYUZQWFZLQlg0ODgyZE05Tm9HTnczZVdiZmZsZzZsc3JvRHVET0d1bml2NEFNWm9TWGFNME4xaDFzR2NYaHdVUmZMWHRvZlBvNko5ZjgxOXhiRzNXT0RKMFlvYU9XU3hRRWFOcUx4M2RCWVVLK1puUHQzMnIzYVJoWE9WdzhaVU5KL0NDRVkxRnEveDFYVFRtMzVBYW9NNnk0ZDdCNFM4aFRDVGdodDJyNFdmRGxScWhtaFU3RWxOUE12dmdXS3Z4YS81QVFxQUN5aFRGZnFxL285cElieERFQmlqTEtGYWQvRjVaNzBrSUViRWNFSlp3QTV0cDZqS1lUNGhmVUNrRURvVHRTNFQrbk5MbkpKVitWYTZwQTQwdUM5MnpSbkE3d1FZa1IzamtmeTY1UkxITDlUbGFWVHFESE5EcG5SbmJvNENZOGt3N3FXMkhjMTNzbUUrTGdyMk1lL0p1dFRPYkcrdEFrcTBrMjhJa2pCNU5uaUZWL0pFcGtTNCsxMGlWcFhVWmFCME55S0lDYVd2SWNrbG82Y0Y4VC8zeE53bVp1d1hKend1NVJacWZabktzUS9aR1pncS9ETHB0NnROVlhZN3M5d3MzaTRDeEdwSGdHcVdNQndOZkdSSEJoNU9NeGZxY3ZCK3NkSDJaVWZ1ejY1TjdjSTY2VUVMencwYmxRT2lWaTRDaVRBeCtUaDBqMVVYTU05ZElvajl3dUU2NmRUWEhyczF3ZnRxRHJ1MStvZHpvOUptci9qSE94OFlMWSt3ODVqMW1qeGNKSFN0TE5QUXpYb0xUY3M2eGZkV1JFRDR1ZU56cDN1ZnB5aHJ0cThPZVhydHZFTDdWcjRwZ3RRRFZaSklGSjFwNHJDNlZRYndlSlV3dVJzU0Fud3FKK00vSVRaWDgrUlA0OW95MDREbUloajRGTzJMdVVDUThmTFNlQk1WSmlRVVN4a0F4NFN5bWU1aUEycGV3cGFab1FTb2loNHJmTU9tUHhBVkRmRC9rLzRjM251ZVZVSjNoRzByKzM4LytFd2R2QWw1cm16VHUySDlVR0NPRDRMOTZ6bHN4d3hVL0diNWRNVHBvWThpY2pLU2lGanFuVHN6Qy9oOGpiNXVZeTRZMUJOTU9DSzVZWFFHRTZxQVRXMEh0bWpHRE91T0NsYjdWTWFIeHg3SlN0d0VRRGRSemRTTThTQi9HSVhHVzMrZVFyM1lkOThmU3o2MzZZRjlxcXFvYkZCWHdycVpsT2xENEQwb25iMDc3aGd5RlUyeVJCM0NmY0QvU2tuTFJGa3FmTTZNT3VZMTE0NXRBWnZuWVBFRVpOMnZHYmlYNEsvSXh3S1ZsUEFqcHVWVHI5ZTJQUm9SN2RnNjRGQTRTcXFiNmdGamhOMHhRMGFhRFhaQzFhR01Odjd3alRVWjdnL0ZqLzlFQ3d4UDFTZ1NyQnRhVXg3ZVVKaGdsYW5oRVdPcFc0ZVB2cVd5QzBlWmlrZVFyWE9WMkhCRFFUZm5MQ0htN1N4bGs5Nm9oUWswVTlWdmwrZ21IQXBQS0JORmFyMlpYQ0kwME1uYmE3OWVUVE5mWHFpMHNEMkdMdHdoSlg3TDRmSTY4bzRqKzVXc2FjZkVnN2V2dDFLemljT2ZXK1Z6WXVNb053eUN2VzFxSVJQMVlnUDJrMEg3VVJkYWk0OCticjJvNDlsSWhZZkcvUTc2OVdwZnZkVkxBUm1nSGxacW5WV2tjWkpyVWdPaVJCNGM3L2ZnZWlkZU1LVkk4MDFjNFlIVGR0c2JEVUlaY3ZqRjVyQVFmdlJnbjhlcWZxTTZEZldlTVJkOFhnb3ZMaDF5QUdXNFFCT2FxSDY5cnJiRVViQ0pwR1p4OEw0Y00raFFjVGhUTW5jeWlvL2NJSW9PR0lXMEVlVUNSMXhjWmVmVllJaWpzNzhJSFA5am40Q0VXTFZOLzhiR2cwUlV2TEFmUjlkZmpkVVQ5U1ZDK051emdUTGNHUGdIR2pTRy9VQldrSThOK3VvekNLcXBuekRteUw5WUkxWk1WQmVaZkJ1cmRTTzVrMzZOMjFQNzVGTkN3QUw0aTVUcWVUcklGQm5LalFnS0owU1FwVkFOeG1PdkhIQlpvZkltaEdwT2NWMUlpaXVYM01qSVdDMi9WbWU3N0NFbGhHcEJJelVhUmN1UXFYQm9NbVR6QWw0MWExcTJhakgzRFAxN205S1FaeXg3N01PQlFmbXprdUlRV0Fld2o1UnVsdWdlTkJoVVhYUnFKenBSV3hBeGNuUWZCOFRUSW9vcHdoME42UEl0VndYc3lFbXBPd1FPUzRiNFAyZi9XUWlPRVBiSUdJMElTZm5CTTJTUHdKZmFxMEFwNTVzYW84WTN5ajdLbVZFVHdFVzhtZTVZNGZtRk15QkVsemVpbEtoOUZjMjBvQjdhZWR4MEVPRDBDOEdhVUhzVERSTzlLenRaRk5IR1ZuU1JXUkx1WlAwSHNUQ1VqZDJoekdGUDNsSmJyNWg2MEZkcGpwTlR5SlJydnlZOWtFVGhlRERVUlpmS1R1SmVRcDRSQWk0cWNPekE4SE9KOXRCWnpFMW5nZW1GOGVEa002WmttYSt1VkxTRzdxTEpWM0dvVTVYOE5jZndmbDRvNnlrRGtoWnBJWnEzU2M4Nm5EbjlmS2U1ODZBWk14MFlFT2kvdktPUHU5MW82aUZiVHhuRktrQlAxVU5KdGZJWVlPWU9FdVpNT1VLdGx4T2xjKzQ2TlhrL1NONnNnTzdqMS9ibWJOWE5mQVArRk1sYVB2K0FNc3JiMXp4dkFjMTdlYVNpb1pqV05jMnpaNUNZcWpUVnFTUjdBSWFZa0pkanBxVkcya1IyNFp2dThDUzlZQWFYUDNmblRkQ1JtSmJlemFWYWF6MitSYnF5NENodHRqU1g5dFFmQWdaMlVoUHprd3BhcGpOSXR3Tk5uZ2g0U29lVWlEVkl4ZFo3LzNzdVF5NWxaSVFEQlA4N2plRFNIOGNJaTh2QTVKU1pCTDBMcHhKRm91akZrdFU5RmJTLzYwd3VlTFE3MDF6MEx4ZG1YY3VLRlV2R3psWC9pZHE5QVRES0NZekdqSG56dS9IczFVbnFkR3MxQUJSZmd6MzVhOURRUVBNcGhyeERhVG5OZmk5L25TNVlMRE94S2FqUEpITEl6YmY4ZGJPSThVaC8yVVFJbGpiRUNYUDJ5QUVrMC9XcWZGSDFyZDA0aGN3bGgxUG5JZXh2ZGFQSWI3TW1kRG5aS2lpZUxSNnZENEx5SDhJSnpVTTJvR3RNQno4a1VVcU5XOUNGNC9Hc0xUTzhHbDF0b0FkWlN1WGRJcmd2YlNiS1lEU0NnQ05rRGtNbEtIV25NNkdnOWxaUnBMbmNoUExONHIrdit4WVdhOVpnUTd6d2dWK2dVenh1RGFpT1FsNkhQWDkvU2JiMHp1ODVFOWwwUUpYbzdMOFNvK1gwTVNwTFVmbHF0dzJDMURzOXp3b1V6QU9rUXRrYzljaDBPb2k3OGt5QzRKZkxlbzdNQmR2Ykh5ZXBLWlRMZ3NkL1o5SEFGeHhPSDNJMnBKb3U4ZVJ2SkpuaUVDY1hlQnhKclBQYjZHZzJkbTZDUVJGWElsWFEyMGlZUFBMNklvVTBsdkZxZnlsbGxsMFVkeGNCQ2Q0N3p2bUVmY0tQdkw0U1FsaEcwbnZGb20rRnNkZ1VMTGhLenB6MDF0QkZINUpoQktydEpRbHVsM29UbXM0Rnk2eTVWcDdRaDcrd0tTOVpxZFNadTM5b3RicldGOS9RL2lPR0lGRzZvVEd0VmtPU3VlaEFkSm5KVS9BS3Z2dGdic2FmQ1VsU1lSVi9rcmtuWDBOOC9TVmprcFFIWWJScEhOaDF2NE9Lb3g4a0FWS0QwRDYvdGd2MHpXaHo2NGN0M1YrVENwNFphNEhXTzVWNnFmM0dmVEo2K0hMbW5Hd3lqWjc4NGhhZlpvY0JvQkh4bzh4QWVTVUZieDZjbVNDT2l0SkFxbFJJMHMzSW1QNkRXMDdMWG9SWHRpLzFxMUdpT0UyWWpyWFpySUx4RTV6QThxRHZoTlZnOHBlTHRoamhIRTNBUkhTdEZ0aElBb1NGVGJEZldzbVE4VGxaTWJVV1M4QllrVzB4NTlUZEt0MHFRUTM1V1lpVjZrM2VCTXlWVXlaeGg0NS9KY05pTXRnSC9Ua0lNQUlERkNvcC91cnVRT0pHdmhRT2ZobzFxNTBRVFBMdklRRE53RjFuUjI1NktFenVBTjRSeGlWdFR5ekZTb0F3MG1vb0NBY0p2S0RnNWZYMTJPWTFlUVc3WE1qYTVyNVVXTUd1QXpaZGMrbG9qWmJ6N0lWbXZiekpFdU9iUmJkRXNYN0YyeUtjU2VCOUJpV2ZsYnVNTXBoRmNXVU15Qm5BRkdQTkVqZlF2eFFOalJNWTUwcGhxdHlESSs0Vm9zWUp5dkxsakpiT0VyR3dlS1E5dTR4VnpGcFhINHB5TjA2S3RFQS9WNlRCT1VWMXRjeWVPaW42UzVEZ2xtZ3lCejZZUzdPRW5wdjRGWjBMY0VQa0xrMVlmV3Y4Y29IY09WdkNLeG9FWGJMQTQrcXhyUFp5aWtTczh3elJjWXhaUGtaRW5JRDA3OHVlWnN5UmVGQ0s0bThtaUgyNVY3b1NvUTVCZG1CYlFsT3B3N2JMWHVDQTFKWXdGVEZ2MDBSKzkwSEI5OWJaZWVMdUhJNUl6ZEtGNFFwMWZVRkRCcG5DdnpPUUYwN1FuOU5tVmo1Tnk4di9JcW5lNEh6VFdRU0cxdG5IaEFYc3B4U2ZGRDVMdWJ4b05jS1NIcUJ6QVdNY1VUY2hYbWJGT1Bhc2RSMUtCTE1FK25xaE55OXRiK2hOUHZmQmNtM01RZzFhcGpvQnBra1RWS1NrNjBOMGJlRmlsVURhM0d2QVUwVUVvYTBDQ2h6U2tlYnZWcXhiRFI2eTRTeXdraEM3S1ZIa3RDbXdRZjJ2RWJOaDJZam5jVGppNjdUb0xlNnowZFJYakJpRnlKRHk1aDF0NVNmMkNUNHMvMVBPZGczZ0FiNENhR1JpUEx1SEg1TUtZMWhxR2tkWGJqdU9OeHErdHlOMjdjYlJaVnNmUWdCZktOODRCUHMrWUtVOHNOOVcwUkVCRitkeWtBV0duOHNEYjRYcGZxNE9PemRDeDAxM0RIZkI1bVdQUzJSTWN6OHdjcTFDMklWcjlyREdVTXNEbUNGaGNDZjQ4Rmp2QytYVFlBNjVEbHZkamJPRjYvWUk1c2hUaFBzWEw2QWt6akpFYlpiUlJOWEVuY3ZEZzFzbDh4NDI0SWt0bCszQ2Nockh2UUhHUmhURW1PbVUvQ0xFZHpVYVVBQktRZWZPSmJLem9hWDFzMnF6RllOYkVNTzdQSW1kWnJqcWxieFUySjhiZ2gyYXpkcXp1NWRDNXFPZGI1QjlpM005eVovT0JvSTROckdUdkhGUUdZMWc0cW9hUFNuamc5SDNQRitQb2JOYkpnZXJCbFJIc2dYbVNkUEdiOHl1bDVRcjQwU3B1TEM1c0lVdkNPZHNCQklNR05XM3JBQzVsNmg1TVZ4N3JKcTlFZzhveTNMSFZHeVJtbXVCem85czFZK2pnTHF3U1ZhMGUyMUJjelZ2MXY4c3JGcm5jM2h6QXhNekR0RGY0MC9Bbk1LdjhjcW9HZ0JCSEJsRFZkL08yS25vQVlidmVoOXFJWmcxOUpkY0p5RkdCMDlRYXl0WXlQcHUvSUdPMHdyb09wSHVSV3hGQm83T1UrVEsrL1g5d1Z2UmQxOWUyb00yWW5KV0kvZWxrN09OeXBSZThjZ1BVNU10VmJNUE5xZE93QlZ1WkFZZjFNbklSNk1UcDFENVFKenU2S1FlZUFkbGN5aHdneUo1UkE3dHdqbzY5MjFjN0hiWG92cWZUODFTcFFFK0d0MHpSVG9iWkFMbmVqdExYRDNwR0lZaXZKVG40aldhZHFFYVVPZWN2bzFUUXA4WGNuS1I4elVQbE9kd2xZWVBONDN3a0VGeld2cnhVZjNQdlBrNVR2dDFpWXBrcFk2a3BLc09SdURxWEdnaFBlcTJYTHNDMC8vVlRtOE0xTFo2VXF1L0hSUFdzbmFXbFlJSnNVN3lwS2xkQ0E0SHBoTWVtOWRXcHp2dTJYZVhEajZFNnhLQVhaQjlCRTdDRXNaTEREdGF2RnhzNEhxMXF2Z0VJekNuRnhocTJDMUlldVcxYnFsMFZEZkNja2lwU2Rzc2pnVDY2MFB0NDRRY2tyRlVuZ1Y2bC9MSkR6MUhkR01wNmxsYVZDLzRXNE85Y0RuZjNLNm44MStIc20vMmIzcW1hZjcyY1ZDODJtMGFJSlFScWhGMUZoOWladEhZM0JkUWxTemJISk1DNzI5eGttTDdoanVkbDhnNVFCSVpMazFUUmZjQnF5amZHUXdpN3FIaGpoSTYxQ1k1OFFhUnRSWDFrazZMTFp2b2MxS0lsZXFYWUJwcXljSmtZY0lOY2RVbnVkYnJIdWQyTWt1elh5RU9zM1lZT2dTeHNQcFhwNlFUUnN6RGtmb1hPMmVPdC9DMU5ZaHBtNUFXbzNxT3FVdWVlb2FmZzRHcmJ5R2ltL2Q5dzF6T3lGeS9nZTl6eFNKYnFrbW1YNG1heXVyTjg1TDloYldYT1ZyZnhIUkRncnVweTdVaWljZXJTSWZqVFFkM0dIMHFTbmQxWldVRFJZdEE4YkQ3ZUdLQkZLMERMRlNhSjZJZkpMZ2hONDFHNWJTczh6TEdrOXltME5PSXFjUWh3Q0xwc0pwTUhPMkxqdXhLTlROL0dzaUt1WUpSVmZZUmxQYU51Z0orOFFsMlhSaVhkVWxiR1lMVXJTcm5xKzFldkRTQzBRQ1VRRDR5WGFqRTkwaDZaLzNSVTVmdjZIcWxXUXgvcnYvZ1VONWl1M0xSZjQ0U2JrbnJ1WjVxMWMwanpPVElPcXJFYWJ4YXphdlhxWHEvMlUzUmQzd1JGUHQvc2x2NzdIUnFVcllidmEwNm8vUXVHK1ZhS0lOeHI1bTFlcFBBKyttMjZHbnc3MzFWc1ZyN1l4UFAzTkp0RDBGcjY3amtLOE9TbFlWZjlmUGNKZnNTa25tMXJQQzJOeHBBcEw0MThZQVhVbDdHSmQ5NCtrRmQ0MW9aeGVzOGxpdDFYRkhaTTh6b2NYVWpPY2dUbE5qZTI3Mjh0WHpzelljbkVLcm5RdXVld21hM09TSEdGWTAweW80YUY4aEpQYW5mQmlZUkY3dXlZS3pOckJadWdRZnNjYmVOcUNyYXo2MUoycUlOZVE5UDFDcG9iNjQxb2VjTXhHMEFtcmtCckk3V0svSDlSdDdkR2VzYzBkVkZZdUFOdVZsVzdvOVRkU1hUaE9hVVk5Q25IeS82cGZiY0xZWHM1WXZ6VUdPdWhuY0dpMW8rWEdBK0hDOU5XV1FPVGVzTEVWTzZBSmRDcEwwaktEK2FIRmhSQkpFY1JlbUlnWjVldHlueFZZejltYmE4T3hPbGpGU0IzNkthOHBSbWJndmtFSmhoNDhkT0FGa1RnOWU4YzR4VmtXTjBvTHZOdy9jMDlyRjNaclg0ZkFHd3Z3d25HcVprMWVsRm5pOWNyOG9hREdpWUhLZEUvZW5oclZpWVFTNXRmOVVoUlVCTk4ranFyeHZveGt0M0FjSjBEODVxWGJqbjBpZ0R1VTc0Z0tyN0ZTQng3T2Jwc1U5a1hIVmovYUM4MlM4T0dWU0NiTlVnNWI4WTNLWU9UREFiWG9pRjhKc0pLeDhYaDdSTUZTL2dYdUxaYTFUaEthQk40S3NxZ3I3MC8xUHZabllXbUUxWTFWN21VV2FWTkhRcnNIa0FCSVFRMENaS2NtWjZ3aW55VVIrWmRJTEFCVVBMQVcreG9yTjY2WlpCc2NhTGMvWk8yK3o1NHk2ZGRIR3pUdG5RdkgwUHVDNU9Gb2d3U01HbWw0clRVTG5NVENVOGFNNDkvS01VUURKNXl4ZVNhKzhqMUMzellSY09xUUx4N0VGMzgxTFVDR3VYbzZGV3NxTFRnMCt0NExxcjlOTmtpL3dmS2pNOFdGNUdTSUQ0OEp5TEtQRUNaa3lPOHkwQWh2QUVnbFBkM2xFMk5iYS92clVmU1c1dUl0YStNcTVIV3V0VWhwdkVibTRYLzJiTXBWd3R4NmtPKzRSRUFvc3duVmFqVWt5Z1B2K3Bmd0xZZEtWREpXNi9jSnpJU2lRT3plSWJvN004SmpBUHpjZU9tSU9kOWxzWlM2eWg5S0ZjeHI5T1RIQ3YyQVNsempaVE5nVEl5WGxiSC9MMytFUE1HUVlWdXY5WHpIaUU2QjdwOUhEdVVqSkh2MHRMQlp4Vys0VlFlSTkzSjNoTk1ManhBNkpwczF0ZW9vRDY5TTh5UFljMHdUbHUxd09PL0R3WGFQeW50dkRFNnJxS0JVelVWUGFZYlZ0SG5pRGVrSUdxN25UWlV6RkE5SlkvUnJvUWM5Mkx2NmRmK1RMM0hqRUVGRDJDOHA0S09jQXhldGdMZFRHdkZOWGJBV2FWbFp0TmVLWmhKRXRoaUc2eDVlNDhRQUZEalVrbGJXVjdzZVFoeFFqc2VPeWdkdkFwSE5DS3NlMnd6ZkY4TTRwNTVrNFVlakl3ZlZiWThURWE0Z1BuaXppUGg0ZHhLenpXNklLTmRWNlZ5WTRWN21weEJVekZwNHU0L2NUNEZIWnNSWHJ4UUNKVGE5VG9EbkhRRW1MZVJWQ1BYamNuNFdqem91QkttRVM3NTVsWm1JWVJJUjc5RzN2c3czNlEzVm1YZjhzcjdBYUFFMy93VDhiZWlnbGNGOW1hTG9oZGFsQXd6bm5tVHZrK3JTamVGQ1VVV3V2TTZvVGhZWHU3UXVGTWI4Sno1UFYxM2liTkJDTjZsb0dJbHppSHdtdzZaZ2svS3JITmZ3YXV0N0JQTTF2Y0ZiNExxK21QajV2TEdtdXBweTE3ZTJDOVNRQ09SNThiYStTbCs4eldTVlN3L29vSlJ2dDRIWjlRVmRUWkNSbHZLUUcrTm5UZDVwTWdBcXhTL01jalh0QmR3SkJSU0gwb3dTSERGNGNqVjNYd0RNalBqVTFzdEE3aStVOHdnQWNuRFJiZHNZTkNCZVJhSlhlZW1odVFkRWNhOG0vaGZNWU5MdVhqV25nNnlManZ6LzkzRHUvLytCRnVlZ2RrWXMyR2J2SEN5U2pwK2xRbnFHelVVbmRrd2xBM0tvUnUvOVU4cG0zQlNhZ0dwbWIzU0sxRjd0Nis4cHlBOEVFSjdOcUYyL3dIUU9yMWV5WjVQdHR3TU9xSG1IWUVoTTJGYkd3SXhBamRrMTRTWlREazlYeGpyQW9Rc1dHN1p5NjAzcEJWUysxZXdYWTd5dnN6WGwvd1dZbFRac09XZHRqM09QSlNyUjJIVm5BTnFmVlJrbElHV0dYbTlSeTNWeWlMTmFpZElWOURKWk13UWk5MG1UKzFpRnFxZXJlaXgybWppQzdTWjJHYkcyY25pRTMzalhiMDJKZlNSbnlLWGNYWmZEN3RNSnl0OEF3LzgrUENKMTRpMGtiVEFUUXBiTWJsT09IbCtuTTJqZTFCczBSR2NjUUpVRDZwdjBHT2RxVUtpOVBQd1VIa0tHT2xacWhKSFg1VzJKMmtpcHNzTkJ5ZmFxeFEvV0p1VVNvZ2lnSmNrVVNQZzM0NkZPSlRMSzcvR3RiZHBBcVdPeEdyQk5FYkRxZW5vLytTdEFrQ3k2QVlXd0lXejdHUXJlcGgvT3d5QUlaTjN5WWVneS80NDRDa0pITmxIMEk5S0htenJjcm14L2M5U0lqZVZSQVx4M2RceDNkJzt2YXIgZz0na25pdHNhaWwnO3ZhciBlaWQ9J0FBNkNhSXFJTnZUbzdfVVAzOHJ1Y1EnO3ZhciBzc19jZ2k9ZmFsc2U7dmFyIHNwPScnO3ZhciBoYXNoZWRfcXVlcnk9Jyc7dmFyIGNicz0nJzt2YXIgdXNzdj0nJzsoZnVuY3Rpb24oKXt2YXIgcT1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX0sdT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI\/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixkKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1kLnZhbHVlO3JldHVybiBhfSx3PWZ1bmN0aW9uKGEpe2E9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKXt2YXIgZD1hW2JdO2lmKGQmJmQuTWF0aD09TWF0aClyZXR1cm4gZH10aHJvdyBFcnJvcigiYSIpO30seD13KHRoaXMpLHk9ZnVuY3Rpb24oYSxiKXtpZihiKWE6e3ZhciBkPXg7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBsPTA7bDxhLmxlbmd0aC0xO2wrKyl7dmFyIGY9YVtsXTtpZighKGYgaW4gZCkpYnJlYWsgYTtkPWRbZl19YT1hW2EubGVuZ3RoLTFdO2w9ZFthXTtiPWIobCk7YiE9bCYmYiE9bnVsbCYmdShkLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9fSx6PWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJmFbU3ltYm9sLml0ZXJhdG9yXTtpZihiKXJldHVybiBiLmNhbGwoYSk7aWYodHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIilyZXR1cm57bmV4dDpxKGEpfTt0aHJvdyBFcnJvcigiYmAiK1N0cmluZyhhKSk7fTt5KCJQcm9taXNlIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7dGhpcy5pPW51bGx9ZnVuY3Rpb24gZChjKXtyZXR1cm4gYyBpbnN0YW5jZW9mIGY\/YzpuZXcgZihmdW5jdGlvbihlKXtlKGMpfSl9aWYoYSlyZXR1cm4gYTtiLnByb3RvdHlwZS5qPWZ1bmN0aW9uKGMpe2lmKHRoaXMuaT09bnVsbCl7dGhpcy5pPVtdO3ZhciBlPXRoaXM7dGhpcy5sKGZ1bmN0aW9uKCl7ZS52KCl9KX10aGlzLmkucHVzaChjKX07dmFyIGw9eC5zZXRUaW1lb3V0O2IucHJvdG90eXBlLmw9ZnVuY3Rpb24oYyl7bChjLDApfTtiLnByb3RvdHlwZS52PWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmkmJnRoaXMuaS5sZW5ndGg7KXt2YXIgYz10aGlzLmk7dGhpcy5pPVtdO2Zvcih2YXIgZT0wO2U8Yy5sZW5ndGg7KytlKXt2YXIgaD1jW2VdO2NbZV09bnVsbDt0cnl7aCgpfWNhdGNoKGspe3RoaXMuQShrKX19fXRoaXMuaT1udWxsfTtiLnByb3RvdHlwZS5BPWZ1bmN0aW9uKGMpe3RoaXMubChmdW5jdGlvbigpe3Rocm93IGM7fSl9O3ZhciBmPWZ1bmN0aW9uKGMpe3RoaXMuaj0wO3RoaXMubD12b2lkIDA7dGhpcy5pPVtdO3RoaXMuRD0hMTt2YXIgZT10aGlzLkEoKTt0cnl7YyhlLnJlc29sdmUsZS5yZWplY3QpfWNhdGNoKGgpe2UucmVqZWN0KGgpfX07Zi5wcm90b3R5cGUuQT1mdW5jdGlvbigpe2Z1bmN0aW9uIGMoayl7cmV0dXJuIGZ1bmN0aW9uKG0pe2h8fChoPSEwLGsuY2FsbChlLG0pKX19dmFyIGU9dGhpcyxoPSExO3JldHVybntyZXNvbHZlOmModGhpcy5KKSxyZWplY3Q6Yyh0aGlzLnYpfX07Zi5wcm90b3R5cGUuSj1mdW5jdGlvbihjKXtpZihjPT09dGhpcyl0aGlzLnYobmV3IFR5cGVFcnJvcigiQSBQcm9taXNlIGNhbm5vdCByZXNvbHZlIHRvIGl0c2VsZiIpKTtlbHNlIGlmKGMgaW5zdGFuY2VvZiBmKXRoaXMuTChjKTtlbHNle2E6c3dpdGNoKHR5cGVvZiBjKXtjYXNlICJvYmplY3QiOnZhciBlPWMhPW51bGw7YnJlYWsgYTtjYXNlICJmdW5jdGlvbiI6ZT0hMDticmVhayBhO2RlZmF1bHQ6ZT0hMX1lP3RoaXMuSShjKTp0aGlzLkMoYyl9fTtmLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGMpe3ZhciBlPXZvaWQgMDt0cnl7ZT1jLnRoZW59Y2F0Y2goaCl7dGhpcy52KGgpO3JldHVybn10eXBlb2YgZT09ImZ1bmN0aW9uIj90aGlzLk0oZSxjKTp0aGlzLkMoYyl9O2YucHJvdG90eXBlLnY9ZnVuY3Rpb24oYyl7dGhpcy5GKDIsYyl9O2YucHJvdG90eXBlLkM9ZnVuY3Rpb24oYyl7dGhpcy5GKDEsYyl9O2YucHJvdG90eXBlLkY9ZnVuY3Rpb24oYyxlKXtpZih0aGlzLmohPTApdGhyb3cgRXJyb3IoImNgIitjKyJgIitlKyJgIit0aGlzLmopO3RoaXMuaj1jO3RoaXMubD1lO3RoaXMuaj09PTImJnRoaXMuSygpO3RoaXMuRygpfTtmLnByb3RvdHlwZS5LPWZ1bmN0aW9uKCl7dmFyIGM9dGhpcztsKGZ1bmN0aW9uKCl7aWYoYy5IKCkpe3ZhciBlPXguY29uc29sZTt0eXBlb2YgZSE9PSJ1bmRlZmluZWQiJiZlLmVycm9yKGMubCl9fSwxKX07Zi5wcm90b3R5cGUuSD1mdW5jdGlvbigpe2lmKHRoaXMuRClyZXR1cm4hMTt2YXIgYz14LkN1c3RvbUV2ZW50LGU9eC5FdmVudCxoPXguZGlzcGF0Y2hFdmVudDtpZih0eXBlb2YgaD09PSJ1bmRlZmluZWQiKXJldHVybiEwO3R5cGVvZiBjPT09ImZ1bmN0aW9uIj9jPW5ldyBjKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6dHlwZW9mIGU9PT0iZnVuY3Rpb24iP2M9bmV3IGUoInVuaGFuZGxlZHJlamVjdGlvbiIse2NhbmNlbGFibGU6ITB9KTooYz14LmRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpLGMuaW5pdEN1c3RvbUV2ZW50KCJ1bmhhbmRsZWRyZWplY3Rpb24iLCExLCEwLGMpKTtjLnByb21pc2U9dGhpcztjLnJlYXNvbj10aGlzLmw7cmV0dXJuIGgoYyl9O2YucHJvdG90eXBlLkc9ZnVuY3Rpb24oKXtpZih0aGlzLmkhPW51bGwpe2Zvcih2YXIgYz0wO2M8dGhpcy5pLmxlbmd0aDsrK2Mpdi5qKHRoaXMuaVtjXSk7dGhpcy5pPW51bGx9fTt2YXIgdj1uZXcgYjtmLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGMpe3ZhciBlPXRoaXMuQSgpO2MuQihlLnJlc29sdmUsZS5yZWplY3QpfTtmLnByb3RvdHlwZS5NPWZ1bmN0aW9uKGMsZSl7dmFyIGg9dGhpcy5BKCk7dHJ5e2MuY2FsbChlLGgucmVzb2x2ZSxoLnJlamVjdCl9Y2F0Y2goayl7aC5yZWplY3Qoayl9fTtmLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGMsZSl7ZnVuY3Rpb24gaChuLHQpe3JldHVybiB0eXBlb2Ygbj09ImZ1bmN0aW9uIj9mdW5jdGlvbihCKXt0cnl7ayhuKEIpKX1jYXRjaChDKXttKEMpfX06dH12YXIgayxtLEQ9bmV3IGYoZnVuY3Rpb24obix0KXtrPW47bT10fSk7dGhpcy5CKGgoYyxrKSxoKGUsbSkpO3JldHVybiBEfTtmLnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxjKX07Zi5wcm90b3R5cGUuQj1mdW5jdGlvbihjLGUpe2Z1bmN0aW9uIGgoKXtzd2l0Y2goay5qKXtjYXNlIDE6YyhrLmwpO2JyZWFrO2Nhc2UgMjplKGsubCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiZGAiK2suaik7fX12YXIgaz0KdGhpczt0aGlzLmk9PW51bGw\/di5qKGgpOnRoaXMuaS5wdXNoKGgpO3RoaXMuRD0hMH07Zi5yZXNvbHZlPWQ7Zi5yZWplY3Q9ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBmKGZ1bmN0aW9uKGUsaCl7aChjKX0pfTtmLnJhY2U9ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBmKGZ1bmN0aW9uKGUsaCl7Zm9yKHZhciBrPXooYyksbT1rLm5leHQoKTshbS5kb25lO209ay5uZXh0KCkpZChtLnZhbHVlKS5CKGUsaCl9KX07Zi5hbGw9ZnVuY3Rpb24oYyl7dmFyIGU9eihjKSxoPWUubmV4dCgpO3JldHVybiBoLmRvbmU\/ZChbXSk6bmV3IGYoZnVuY3Rpb24oayxtKXtmdW5jdGlvbiBEKEIpe3JldHVybiBmdW5jdGlvbihDKXtuW0JdPUM7dC0tO3Q9PTAmJmsobil9fXZhciBuPVtdLHQ9MDtkbyBuLnB1c2godm9pZCAwKSx0KyssZChoLnZhbHVlKS5CKEQobi5sZW5ndGgtMSksbSksaD1lLm5leHQoKTt3aGlsZSghaC5kb25lKX0pfTtyZXR1cm4gZn0pOwp2YXIgQT10aGlzfHxzZWxmO2Z1bmN0aW9uIEUoKXtyZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiYmd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZX07dmFyIEY9d2luZG93LmxvY2F0aW9uO2Z1bmN0aW9uIEcoYSl7cmV0dXJuKGE9Ri5zZWFyY2gubWF0Y2gobmV3IFJlZ0V4cCgiWz8mXSIrYSsiPShcXGQrKSIpKSk\/TnVtYmVyKGFbMV0pOi0xfWZ1bmN0aW9uIEgoKXt2YXIgYT1nb29nbGUudGltZXJzLmxvYWQ7Z29vZ2xlLmMuZ3RzP2dvb2dsZS5jLmd0cyhmdW5jdGlvbigpe0koYSl9KTpJKGEpfQpmdW5jdGlvbiBJKGEpe3ZhciBiPWEuZSxkPWdvb2dsZS5zdHZzYztkJiYoYi5zc3I9MSk7aWYoZD9kLmlzQkY6RSgpPT09MiliLmJiPTE7RSgpPT09MSYmKGIucj0xKTthOntpZih3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlJiYoZD13aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpLGQubGVuZ3RoIT09MCkpe2Q9ZFswXTticmVhayBhfWQ9dm9pZCAwfWlmKGQpe3ZhciBsPWQudHlwZTtsJiYoYi5udD1sKTtsPWQuZGVsaXZlcnlUeXBlO2whPW51bGwmJihiLmR0PWwpO2Q9ZC50cmFuc2ZlclNpemU7ZCE9bnVsbCYmKGIudHM9ZCl9KGQ9d2luZG93Lm5hdmlnYXRpb24pJiYoZD1kLmFjdGl2YXRpb24pJiYoZD1kLm5hdmlnYXRpb25UeXBlKSYmKGIuYW50PWQpO2I9YS5tO2lmKCFifHwhYi5wcnMpe2Q9d2luZG93Ll9jc2M9PT0iYWdzYSImJndpbmRvdy5fY3NoaWQ7bD1FKCl8fGQ\/MDpHKCJxc3VidHMiKTtsPjAmJihiPUcoImZidHMiKSxiPjAmJihhLnQuc3RhcnQ9TWF0aC5tYXgobCxiKSkpO3ZhciBmPWEudCx2PWYuc3RhcnQ7Yj17fTthLndzcnQhPT12b2lkIDAmJihiLndzcnQ9YS53c3J0KTtpZih2KWZvcih2YXIgYyBpbiBmKWlmKGMhPT0ic3RhcnQiKXt2YXIgZT1mW2NdO2JbY109Yz09PSJzZ2wiP2U6TWF0aC5tYXgoZS12LDApfWw+MCYmKGIuZ3Nhc3J0PWEudC5zdGFydC1sLGM9RygicXNkIiksYz4wJiZnb29nbGUuYy5lKCJsb2FkIiwicXNkIixTdHJpbmcoYykpLChjPWEuZmJ0cykmJihiLmdzYXNydDI9TWF0aC5tYXgobCxjKS1sKSk7RSgpfHxkfHwhYS5xc3VidHN8fChjPWEuZmJ0cykmJihiLmdzYXNydDM9TWF0aC5tYXgoYS5xc3VidHMsYyktYS5xc3VidHMpO2M9YS5lO2E9Ii9nZW5fMjA0P3M9Iitnb29nbGUuc24rIiZ0PXNnJmF0eXA9Y3NpJmVpPSIrZ29vZ2xlLmtFSSsiJnJ0PSI7ZD0iIjtmb3IoayBpbiBiKWErPSIiK2QraysiLiIrYltrXSxkPSIsIjtmb3IodmFyIGggaW4gYylhKz0KIiYiK2grIj0iK2NbaF07dmFyIGs9IiI7QS5fY3NoaWQmJihrKz0iJmNzaGlkPSIrQS5fY3NoaWQpOyhoPXdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUua09QSXx8bnVsbCkmJihrKz0iJm9waT0iK2gpO2s9YSs9azt0eXBlb2YgbmF2aWdhdG9yLnNlbmRCZWFjb249PT0iZnVuY3Rpb24iP25hdmlnYXRvci5zZW5kQmVhY29uKGssIiIpOmdvb2dsZS5sb2coIiIsIiIsayl9fTt2YXIgSj1mdW5jdGlvbigpe3ZhciBhPWxvY2F0aW9uLmhyZWY7dGhpcy5pPXRoaXMuaj0iIjt2YXIgYj1hLmluZGV4T2YoIiMiKTtiPjAmJih0aGlzLmo9YS5zdWJzdHJpbmcoYiksYT1hLnN1YnN0cmluZygwLGIpKTtiPWEuaW5kZXhPZigiPyIpO2I+MCYmKHRoaXMuaT0iJiIrYS5zdWJzdHJpbmcoYisxKSxhPWEuc3Vic3RyaW5nKDAsYikpO3RoaXMubD1hfSxMPWZ1bmN0aW9uKGEsYixkKXtLKGEsYik7YS5pPWEuaSsiJiIrYisiPSIrZH0sSz1mdW5jdGlvbihhLGIpe2EuaT1hLmkucmVwbGFjZShuZXcgUmVnRXhwKCImIitiKyI9KFteJl0rKSIsImciKSwiIil9O0oucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdGhpcy5sKyh0aGlzLmk\/Ij8iK3RoaXMuaS5zdWJzdHJpbmcoMSk6IiIpK3RoaXMuan07CnZhciBNPWZ1bmN0aW9uKGEpe3RoaXMuaT1hfTtNLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLml9O3ZhciBOPWZ1bmN0aW9uKGEpe3RoaXMuTj1hfTtmdW5jdGlvbiBPKGEpe3JldHVybiBuZXcgTihmdW5jdGlvbihiKXtyZXR1cm4gYi5zdWJzdHIoMCxhLmxlbmd0aCsxKS50b0xvd2VyQ2FzZSgpPT09YSsiOiJ9KX12YXIgUD1bTygiZGF0YSIpLE8oImh0dHAiKSxPKCJodHRwcyIpLE8oIm1haWx0byIpLE8oImZ0cCIpLG5ldyBOKGZ1bmN0aW9uKGEpe3JldHVybi9eW146XSooWy8\/I118JCkvLnRlc3QoYSl9KV0sUT0vXlxzKig\/IWphdmFzY3JpcHQ6KSg\/OltcdysuLV0rOnxbXjovPyNdKig\/OlsvPyNdfCQpKS9pO2Z1bmN0aW9uIFIoKXt2YXIgYT1BW2ddO2lmKGEpe2E9eigoMCxhLmEpKHAsZnVuY3Rpb24oKXt9LCExKSkubmV4dCgpLnZhbHVlO3ZhciBiPVthYSgpXTtyZXR1cm4gYShiKX1TKEVycm9yKCJmIikpfWZ1bmN0aW9uIGFhKCl7dmFyIGE9bG9jYXRpb24uaHJlZixiPWhhc2hlZF9xdWVyeSxkPXt9O2ImJihkLnFoPWIsKGE9KGE9YS5tYXRjaCgvWz8mXXN0YXJ0PShcZCspL2cpKT9hW2EubGVuZ3RoLTFdLm1hdGNoKC9cZCsvKVswXToiIikmJihkLnN0PWEpKTtyZXR1cm4gZH0KZnVuY3Rpb24gVCgpe3ZhciBhO2E6e2lmKHdpbmRvdy5zdCYmKGE9d2luZG93LnN0KGxvY2F0aW9uLmhyZWYpKSlicmVhayBhO2E9cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLnRpbWluZyYmcGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydD9wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0OnZvaWQgMH1pZihhKXRyeXt2YXIgYjsoKGI9d2luZG93KT09bnVsbD8wOmIuc2Vzc2lvblN0b3JhZ2UpJiZ3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShlaWQsU3RyaW5nKGEpKX1jYXRjaChkKXt9fWZ1bmN0aW9uIFUoKXt2YXIgYT1laWQsYj1uZXcgSjtLKGIsInNnX3NzIik7TChiLCJzZWkiLGEpO3JldHVybiBiLnRvU3RyaW5nKCl9ZnVuY3Rpb24gVihhKXt2YXIgYj1laWQsZD1uZXcgSjtMKGQsInNnX3NzIixlbmNvZGVVUklDb21wb25lbnQoYSkpO0woZCwic2VpIixiKTtXKGQudG9TdHJpbmcoKSl9CmZ1bmN0aW9uIGJhKGEpe2lmKHdpbmRvdy5wcnMpe1goInBzcnQiKTtzY3RtJiZIKCk7dmFyIGI9VSgpO3dpbmRvdy5wcnMoYixhKS5jYXRjaChmdW5jdGlvbigpe1YoYSl9KX1lbHNlIFYoYSl9ZnVuY3Rpb24gVyhhKXtYKCJwc3J0Iik7c2N0bSYmSCgpO3dpbmRvdy5wcnM\/d2luZG93LnBycyhhKS5jYXRjaChmdW5jdGlvbigpe1koYSl9KTpZKGEpfQpmdW5jdGlvbiBZKGEpe2lmKHdpbmRvdy5wcil3aW5kb3cucHIoYSk7ZWxzZXthOnt2YXIgYj1iPT09dm9pZCAwP1A6YjtpZihhIGluc3RhbmNlb2YgTSliPWE7ZWxzZXtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoOysrZCl7dmFyIGw9YltkXTtpZihsIGluc3RhbmNlb2YgTiYmbC5OKGEpKXtiPW5ldyBNKGEpO2JyZWFrIGF9fWI9dm9pZCAwfX1hPWxvY2F0aW9uO2lmKGIgaW5zdGFuY2VvZiBNKWlmKGIgaW5zdGFuY2VvZiBNKWI9Yi5pO2Vsc2UgdGhyb3cgRXJyb3IoImUiKTtlbHNlIGI9US50ZXN0KGIpP2I6dm9pZCAwO2IhPT12b2lkIDAmJmEucmVwbGFjZShiKX19ZnVuY3Rpb24gUyhhKXtuYXZpZ2F0b3Iuc2VuZEJlYWNvbigiL2dlbl8yMDQ\/Y2FkPXNnX2JfZSZlPSIrYSwiIil9ZnVuY3Rpb24gWChhKXtzY3RtJiZnb29nbGUudGljaygibG9hZCIsYSl9O25hdmlnYXRvcnx8KEEubmF2aWdhdG9yPXt9KTt0eXBlb2YgbmF2aWdhdG9yLnNlbmRCZWFjb24hPT0iZnVuY3Rpb24iJiYobmF2aWdhdG9yLnNlbmRCZWFjb249ZnVuY3Rpb24oYSl7KG5ldyBJbWFnZSkuc3JjPWF9KTt3aW5kb3cub25lcnJvcj1mdW5jdGlvbihhLGIsZCxsLGYpe25hdmlnYXRvci5zZW5kQmVhY29uKCIvZ2VuXzIwND9lbXNnPSIrKGYgaW5zdGFuY2VvZiBFcnJvcj9mLm1lc3NhZ2U6YSkrIiZzcmNwZz1zZ3MmanNyPTEmanNlbD0zIil9O1goInNzdCIpO3ZhciBaO3dpbmRvdy5zZ3MmJnVzc3Y\/KFgoInNzc3QiKSxaPXdpbmRvdy5zZ3Moc3ApLnRoZW4oZnVuY3Rpb24oYSl7WCgic3NldCIpO3ImJihUKCksYmEoYSkpO3JldHVybiEwfSxmdW5jdGlvbigpe3JldHVybiExfSkpOlo9UHJvbWlzZS5yZXNvbHZlKCExKTtaLnRoZW4oZnVuY3Rpb24oYSl7aWYoIWEmJihYKCJic3N0IiksYT1SKCksWCgiYnNldCIpLGEpKXt2YXIgYj1jYnM7YT1oYXNoZWRfcXVlcnk\/IkIuMS4iK2IrIi4iK2E6YTtiPW5ldyBEYXRlO2Iuc2V0U2Vjb25kcyhiLmdldFNlY29uZHMoKSsoTnVtYmVyKGNlKXx8MzAwKSk7dmFyIGQ9IlNHX1NTPSIrYSxsPWRvY3VtZW50LmNvb2tpZS5sZW5ndGgrZC5sZW5ndGg7ciYmKGw8NDA5MyYmIXNzX2NnaSYmKGRvY3VtZW50LmNvb2tpZT1kKygiOyBleHBpcmVzPSIrYi50b1VUQ1N0cmluZygpKSksVCgpLHNzX2NnaXx8ZG9jdW1lbnQuY29va2llLmluZGV4T2YoIlNHX1NTPSIpPDA\/VihhKTpXKFUoKSkpfX0pLmNhdGNoKGZ1bmN0aW9uKGEpe1MoYSl9KTt9KS5jYWxsKHRoaXMpO30pKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iTlN3UUNQVzVBLWo0Z2xtWk5KdHJSQSI+KGZ1bmN0aW9uKCl7dmFyIGNzc0lkPSd5dmxydWUnO3ZhciBldmVudF9pZD0nQUE2Q2FJcUlOdlRvN19VUDM4cnVjUSc7ZnVuY3Rpb24gc3coKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjc3NJZCkuc2V0QXR0cmlidXRlKCdzdHlsZScsJycpO25hdmlnYXRvci5zZW5kQmVhY29uKGAvZ2VuXzIwND9jYWQ9c2dfdHJibCZlaT0ke2V2ZW50X2lkfWAsJycpO30Kc2V0VGltZW91dChzdywyMDAwKTt9KSgpOzwvc2NyaXB0PiA8ZGl2IGlkPSJ5dmxydWUiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPklmIHlvdSdyZSBoYXZpbmcgdHJvdWJsZSBhY2Nlc3NpbmcgR29vZ2xlIFNlYXJjaCwgcGxlYXNlJm5ic3A7PGEgaHJlZj0iL3NlYXJjaD9xPXdvb2Qrb3V0ZG9vcitwcml2YWN5K3NjcmVlbiZhbXA7bnVtPTEwMCZhbXA7c2NhX2Vzdj1kZjU0OWJjMDhjMjc4MTAxJmFtcDtwd3M9MCZhbXA7aGw9ZW4mYW1wO25lYXI9VW5pdGVkK1N0YXRlcyZhbXA7Z2w9VVMmYW1wO2dscD0xJmFtcDtnYnY9MSZhbXA7ZW1zZz1TR19SRUwmYW1wO3NlaT1BQTZDYUlxSU52VG83X1VQMzhydWNRIj5jbGljayBoZXJlPC9hPiwgb3Igc2VuZCZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3dlYnNlYXJjaCI+ZmVlZGJhY2s8L2E+LjwvZGl2PjwvYm9keT48L2h0bWw+"}