⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.19
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=barefoot+dreams+cozychic+lite+circle+cardigan&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":84207,"body":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iPjxoZWFkPjx0aXRsZT5Hb29nbGUgU2VhcmNoPC90aXRsZT4gPC9oZWFkPjxib2R5Pjxub3NjcmlwdD4gPG1ldGEgY29udGVudD0iMDt1cmw9L2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT05WC1GYUoyTkFkU2ZrZFVQOU5tcWtRbyIgaHR0cC1lcXVpdj0icmVmcmVzaCI+PGRpdiBzdHlsZT0iZGlzcGxheTpibG9jayI+UGxlYXNlIGNsaWNrIDxhIGhyZWY9Ii9odHRwc2VydmljZS9yZXRyeS9lbmFibGVqcz9zZWk9OVgtRmFKMk5BZFNma2RVUDlObXFrUW8iPmhlcmU8L2E+IGlmIHlvdSBhcmUgbm90IHJlZGlyZWN0ZWQgd2l0aGluIGEgZmV3IHNlY29uZHMuPC9kaXY+PC9ub3NjcmlwdD4gPHNjcmlwdCBub25jZT0iOFhGbjIxYVRUbDEtcUpQcGt1SkpTZyI+Ly8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PQooZnVuY3Rpb24oKXt2YXIgUz1mdW5jdGlvbihHLFcsbSxxLHAsQSxGLHosbCxFKXt7bD00Nzt3aGlsZShsIT05Mil7aWYobD09MzgpcmV0dXJuIEU7aWYobD09MTMpbD0obS04fDI5KTxtJiYobSs4XkcpPj1tPzgyOjUyO2Vsc2UgaWYobD09NDcpbD0xMztlbHNlIGlmKGw9PTgyKUU9cSxsPTUyO2Vsc2UgaWYobD09NTIpbD1tLTU+Plc8MSYmbTw8MT49MT84ODozODtlbHNlIGlmKGw9PTg4KXtpZigoej0oRj1xLFEudHJ1c3RlZFR5cGVzKSx6KSYmei5jcmVhdGVQb2xpY3kpe3RyeXtGPXouY3JlYXRlUG9saWN5KEEse2NyZWF0ZUhUTUw6VixjcmVhdGVTY3JpcHQ6VixjcmVhdGVTY3JpcHRVUkw6Vn0pfWNhdGNoKFUpe2lmKFEuY29uc29sZSlRLmNvbnNvbGVbcF0oVS5tZXNzYWdlKX1FPUZ9ZWxzZSBFPUY7bD0zOH19fX0sVj1mdW5jdGlvbihHKXtyZXR1cm4gUy5jYWxsKHRoaXMsOSw0LDMyLEcpfSxRPXRoaXN8fHNlbGY7KDAsZXZhbCkoZnVuY3Rpb24oRyxXKXtyZXR1cm4oVz1TKDksNCwzLG51bGwsImVycm9yIiwia3MiKSkmJkcuZXZhbChXLmNyZWF0ZVNjcmlwdCgiMSIpKT09PTE\/ZnVuY3Rpb24obSl7cmV0dXJuIFcuY3JlYXRlU2NyaXB0KG0pfTpmdW5jdGlvbihtKXtyZXR1cm4iIittfX0oUSkoQXJyYXkoTWF0aC5yYW5kb20oKSo3ODI0fDApLmpvaW4oIlxuIikrWycvLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvZ015d2ljMjkxY21ObGN5STZXeUlpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUlDSmRMQ0p1WVcxbGN5STZXeUpqYkc5emRYSmxSSGx1WVcxcFkwSjFkSFJ2YmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRWlmUT09JywKJyhmdW5jdGlvbigpey8qJywKJycsCicgQ29weXJpZ2h0IEdvb2dsZSBMTEMnLAonIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wJywKJyovJywKJ3ZhciBOPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWLHEsZixVLE0scixUKXtUPTE2O3tyPTM3O3doaWxlKHRydWUpdHJ5e2lmKFQ9PTc5KWJyZWFrO2Vsc2UgaWYoVD09MjIpUU8obnVsbCwyNSxXKSxUPTI7ZWxzZSBpZihUPT00OClUPShGPj4xJjExKT09Mz8yNzoxNztlbHNlIGlmKFQ9PTI3KVU9ZnVuY3Rpb24oKXt9LFUucHJvdG90eXBlPWwucHJvdG90eXBlLFcuSj1sLnByb3RvdHlwZSxXLnByb3RvdHlwZT1uZXcgVSxXLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1XLFcubFk9ZnVuY3Rpb24oeSxYLFkpe2Zvcih2YXIgeD02OTt4IT0yNTspaWYoeD09NjMpYVtCLW1dPWFyZ3VtZW50c1tCXSx4PTg4O2Vsc2UgaWYoeD09ODgpQisrLHg9NzY7ZWxzZSBpZih4PT03Nil4PUI8YXJndW1lbnRzLmxlbmd0aD82MzozMDtlbHNlIGlmKHg9PTY5KXZhciBhPUFycmF5KCh4PTczLGFyZ3VtZW50cykubGVuZ3RoLW0pLEI9bTtlbHNle2lmKHg9PTMwKXJldHVybiBsLnByb3RvdHlwZVtYXS5hcHBseSh5LGEpO3g9PTczJiYoeD03Nil9fSxUPTE3O2Vsc2UgaWYoVD09ODIpVD1HPzQyOjgxO2Vsc2UgaWYoVD09MjgpVD1HIGluIGwuZyYmcmMoNCwxLDE3LFcsbC5nW0ddKT8yMjo0ODtlbHNlIGlmKFQ9PTUpZGVsZXRlIGwuZ1tHXSxsLmNILS0sVD00ODtlbHNlIGlmKFQ9PTEyKXI9MzcsSDAoIn4iLDYsbCxRLGYpLFQ9OTQ7ZWxzZSBpZihUPT05OSlUPVEuaS5sZW5ndGg\/NDc6NDY7ZWxzZSBpZihUPT0xNilUPTQwO2Vsc2UgaWYoVD09OTYpRT1rNSg0MCwzKSxxLnByb3h5PUUsRS5zcmM9eixFLmxpc3RlbmVyPXEsVD05NTtlbHNlIGlmKFQ9PTk3KXouYWRkTGlzdGVuZXIoRSksVD04NjtlbHNlIGlmKFQ9PTU5KVQ9OTk7ZWxzZSBpZihUPT00MClUPShGfDcyKT09Rj83NTo0ODtlbHNlIGlmKFQ9PTg2KURpKyssVD04NztlbHNlIGlmKFQ9PTU1KVQ9eiYmUS5VPzQ1OjMzO2Vsc2V7aWYoVD09ODEpdGhyb3cgRXJyb3IoIkludmFsaWQgZXZlbnQgdHlwZSIpO2lmKFQ9PTMxKSQ1fHwocD1WKSxwPT09dm9pZCAwJiYocD1tKSx6LmFkZEV2ZW50TGlzdGVuZXIoRy50b1N0cmluZygpLEUscCksVD04NjtlbHNlIGlmKFQ9PTk1KVQ9ei5hZGRFdmVudExpc3RlbmVyPzMxOjYwO2Vsc2UgaWYoVD09NDIpVj1xWigyOSxXLHApPyEhcC5jYXB0dXJlOiEhcCwoQT1rNSg0MCwxNix6KSl8fCh6W05aXT1BPW5ldyB2MCh6KSkscT1BLmFkZChHLGwsUSxWLFMpLFQ9MTA7ZWxzZXtpZihUPT01Nyl0aHJvdyBFcnJvcigiYWRkRXZlbnRMaXN0ZW5lciBhbmQgYXR0YWNoRXZlbnQgYXJlIHVuYXZhaWxhYmxlLiIpO2lmKFQ9PTQ1KUE9US5VLEEoZnVuY3Rpb24oKXt1KDMwLEcsVyxRLFcpfSksVD00NjtlbHNlIGlmKFQ9PTExKXI9OTksUz1QMChwLFEsMCw2KSxUPTk0O2Vsc2UgaWYoVD09NDcpUS5VPW0scD1RLmkucG9wKCksVD0xMTtlbHNlIGlmKFQ9PTk0KXI9MzcsVD01NTtlbHNlIGlmKFQ9PTk4KXo9bC5jbGFzc0xpc3QuY29udGFpbnMoRyksVD03NjtlbHNlIGlmKFQ9PTM0KVQ9ei5hZGRMaXN0ZW5lciYmei5yZW1vdmVMaXN0ZW5lcj85Nzo1NztlbHNlIGlmKFQ9PTYwKVQ9ei5hdHRhY2hFdmVudD8xOTozNDtlbHNlIGlmKFQ9PTQ2KU09UyxUPTkyO2Vsc2UgaWYoVD09MTcpVD0oRis3XjI5KTxGJiYoRi05fDEwMCk+PUY\/NDk6MjA7ZWxzZSBpZihUPT0zMylUPTk5O2Vsc2UgaWYoVD09NzUpRz1XLnR5cGUsVD0yODtlbHNlIGlmKFQ9PTIpVD1sLmdbR10ubGVuZ3RoPT1tPzU6NDg7ZWxzZSBpZihUPT04NylUPUYrOT4+Mz09Mj81OTo5MjtlbHNlIGlmKFQ9PTQ5KVQ9bC5jbGFzc0xpc3Q\/OTg6NTE7ZWxzZSBpZihUPT01MSlRPXUoNzIsbSxsKSx6PU1aKDczLDE0LFcsRyxRKT49VyxUPTc2O2Vsc2UgaWYoVD09MjApVD0oRnw0OCk9PUY\/ODI6ODc7ZWxzZXtpZihUPT05MilyZXR1cm4gTTtUPT03Nj8oTT16LFQ9MjApOlQ9PTEwP1Q9cS5wcm94eT84Nzo5NjpUPT0xOSYmKHouYXR0YWNoRXZlbnQoc2YoODAsMjgsIm9uIixHLnRvU3RyaW5nKCkpLEUpLFQ9ODYpfX19fWNhdGNoKHkpe2lmKHI9PTM3KXRocm93IHk7cj09OTkmJihmPXksVD0xMil9fX0seDU9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSl7Zm9yKHA9NjU7cCE9MzspaWYocD09bSl0aGlzW3RoaXMrIiJdPXRoaXMscD00MjtlbHNlIGlmKHA9PTY1KXA9OTM7ZWxzZSBpZihwPT00MilwPWwtMz49MTMmJigobHwyKSYxMik8Mj8zNDo0ODtlbHNlIGlmKHA9PTkwKXthOntmb3IoUSBpbiB6KWlmKEcuY2FsbCh2b2lkIDAseltRXSxRLHopKXtBPVc7YnJlYWsgYX1BPUZ9cD02MX1lbHNlIGlmKHA9PTM0KVM9dHlwZW9mIHosUT1TIT1HP1M6ej9BcnJheS5pc0FycmF5KHopPyJhcnJheSI6UzoibnVsbCIsQT1RPT1GfHxRPT1HJiZ0eXBlb2Ygei5sZW5ndGg9PVcscD00ODtlbHNlIGlmKHA9PTkzKXA9KGwmMTA1KT09bD85MDo2MTtlbHNlIGlmKHA9PTYxKXA9KGwrNSY1KT09MT9tOjQyO2Vsc2UgaWYocD09NDgpcmV0dXJuIEF9LFk1PWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWKXtmb3IoQT01MTtBIT03OTspaWYoQT09NTEpQT0xO2Vsc2UgaWYoQT09NjYpQT1tO2Vsc2UgaWYoQT09OTIpRys9RixXPVc8PEZ8U1tRXSxBPTM2O2Vsc2UgaWYoQT09MSlBPShwPj4xJjYpPDEmJihwK2wmMyk+PTE\/NDc6NztlbHNlIGlmKEE9PTcpQT0ocC0zfDI1KTxwJiYocC0zfDM2KT49cD80ODo4NDtlbHNlIGlmKEE9PTM2KUE9bTtlbHNlIGlmKEE9PTI4KUctPTgsei5wdXNoKFc+PkcmMjU1KSxBPTY2O2Vsc2UgaWYoQT09NDgpUT1HPTAsej1bXSxBPTY1O2Vsc2V7aWYoQT09ODQpcmV0dXJuIEU7QT09MTI\/QT1RPFMubGVuZ3RoPzkyOjQ5OkE9PTQ3PyhWPWZ1bmN0aW9uKCl7fSx6PXZvaWQgMCxHPWlaKFMsZnVuY3Rpb24ocSxmKXtmb3IoZj04MDtmIT01MTspZj09OTg\/KEYmJlJiKEYpLHo9cSxWKCksVj12b2lkIDAsZj01MSk6Zj09ODAmJihmPVY\/OTg6NTEpfSwhIUYpLFc9R1sxXSxRPUdbMF0sRT17dG9wOmZ1bmN0aW9uKHEsZixVLE0scixULHkpe2ZvcihUPTg7VCE9Mjk7KWlmKFQ9PTU4KVQ9Zj8zNTo0NztlbHNle2lmKFQ9PTQ3KXJldHVybiBNPVEoVSkscSYmcShNKSxNO1Q9PTM1P1Q9ej83MjoyOlQ9PTcyPyh5KCksVD0yOSk6VD09Mj8ocj1WLFY9ZnVuY3Rpb24oKXsocigpLFJiKSh5KX0sVD0yOSk6VD09OCYmKHk9ZnVuY3Rpb24oKXt6KGZ1bmN0aW9uKFgpe1JiKGZ1bmN0aW9uKCl7cShYKX0pfSxVKX0sVD01OCl9fSxwZTpmdW5jdGlvbihxKXtXJiZXKHEpfX0sQT03KTpBPT1tP0E9Rz43PzI4OjU0OkE9PTQ5PyhFPXosQT04NCk6QT09NTQ\/KFErKyxBPTEyKTpBPT02NSYmKEE9MTIpfX0sQU49ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFKXt7RT0yNjt3aGlsZShFIT04MilpZihFPT00NylFPSh6LWwmOCk8NyYmKHpeMjcpPj0xOD83Mjo4MTtlbHNlIGlmKEU9PTQ5KUU9MTM7ZWxzZSBpZihFPT03MilTPXdpbmRvdy5idG9hLEU9ODQ7ZWxzZSBpZihFPT0xMylFPVc8Ry5sZW5ndGg\/NzM6NjA7ZWxzZSBpZihFPT04NClFPVM\/MjQ6ODM7ZWxzZSBpZihFPT04MSlFPXo+PjImNz8zNDo0MDtlbHNlIGlmKEU9PTczKVErPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxHLnNsaWNlKFcsVys4MTkyKSksRT04NztlbHNlIGlmKEU9PTYwKUY9UyhRKS5yZXBsYWNlKC9cXCsvZywiLSIpLnJlcGxhY2UoL1xcLy9nLCJfIikucmVwbGFjZSgvPS9nLCIiKSxFPW07ZWxzZSBpZihFPT0yNClRPSIiLFc9MCxFPTQ5O2Vsc2UgaWYoRT09ODcpVys9ODE5MixFPTEzO2Vsc2UgaWYoRT09MjYpRT00NztlbHNle2lmKEU9PTM0KXJldHVybiBBO2lmKEU9PW0pQT1GLEU9ODE7ZWxzZSBpZihFPT00MCl7YTp7c3dpdGNoKHApe2Nhc2UgRzpBPVM\/ImRpc2FibGUiOiJlbmFibGUiO2JyZWFrIGE7Y2FzZSBGOkE9Uz8iaGlnaGxpZ2h0IjoidW5oaWdobGlnaHQiO2JyZWFrIGE7Y2FzZSA0OkE9Uz8iYWN0aXZhdGUiOiJkZWFjdGl2YXRlIjticmVhayBhO2Nhc2UgODpBPVM\/InNlbGVjdCI6InVuc2VsZWN0IjticmVhayBhO2Nhc2UgVzpBPVM\/ImNoZWNrIjoidW5jaGVjayI7YnJlYWsgYTtjYXNlIFE6QT1TPyJmb2N1cyI6ImJsdXIiO2JyZWFrIGE7Y2FzZSA2NDpBPVM\/Im9wZW4iOiJjbG9zZSI7YnJlYWsgYX10aHJvdyBFcnJvcigiSW52YWxpZCBjb21wb25lbnQgc3RhdGUiKTt9RT0zNH1lbHNlIEU9PTgzJiYoRj12b2lkIDAsRT1tKX19fSxMMj1mdW5jdGlvbihtLGwsRixXLEcseixRKXtmb3Ioej05MTt6IT04MDspaWYoej09OSl0aGlzLm49PT0wP1E9WzAsMF06KHRoaXMuby5zb3J0KGZ1bmN0aW9uKFMscCl7cmV0dXJuIFMtcH0pLFE9W3RoaXMubix0aGlzLm9bdGhpcy5vLmxlbmd0aD4+MV1dKSx6PTE0O2Vsc2V7aWYoej09NTQpcmV0dXJuIFE7ej09NzM\/ej0obCsyJjU2KTxsJiZsLTE8PDI+PWw\/OToxNDp6PT0xND96PShsKzUmOCk8NyYmKGx8OCk+PTE2PzQ1OjU0Ono9PW0\/KHRoaXMuQT10aGlzLkEsdGhpcy5mUT10aGlzLmZRLHo9NzMpOno9PTQ1Pyh0eXBlb2YgVy5jbGFzc05hbWU9PUY\/Vy5jbGFzc05hbWU9RzpXLnNldEF0dHJpYnV0ZSYmVy5zZXRBdHRyaWJ1dGUoImNsYXNzIixHKSx6PTU0KTp6PT05MT96PTEyOno9PTEyJiYoej0obHw3KT4+ND83MzptKX19LEg9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFKXt3aGlsZSghKG0rNT4+NCkpe2ZvcihHPUgoMzAsVyksej1sO0Y+bDtGLS0pej16PDw4fGxaKHRydWUsVyw4KTtpZihEKFcsRyx6KSwibSIpYnJlYWt9KG18MSk+PShtLTcmMTB8fChwPSh6fDApLTEtKHpeNyktKHp8LTgpLEE9bWIsVz1bLTU2LC0yOCwtNDEsLTgsNTcsODEsVyw0OCwtNzMsLTk5XSxRPUd1W0YuVl0oRi5jayksUVtGLlZdPWZ1bmN0aW9uKFYpe3A9LTctKHArPTYrKFM9Viw3KnopLDIqfihwJjcpKSstMisofnAmNyl9LFEuY29uY2F0PWZ1bmN0aW9uKFYscSxmKXtyZXR1cm4gcT0oUz0oVj0tMzE1MCpTKyhmPUclMTYrMSxXW3ArbCY3XSpHKmYpLTE2OCpHKkcqUytwLWYqUysoQSgpfDApKmYtIC0xMTc2KkcqUys0MipTKlMrNCpHKkcqZix2b2lkIDApLFdbVl0pLFdbKHArMTMmNykrKC0yKn56Ky0zLSh6fC0zKSsyKih+enwyKSldPXEsV1twKyh6JjIpXT0tMjgscX0sRT1RKSwyMCkmJm0rMT4+NDwyJiYobC5PP0U9VzAobCxsLmgpOihHPUZNKGwsOCx0cnVlKSwxLX5HKyhHJi0xMjkpKzIqKH5HfDEyOCkmJihHPS0xKyh+RyYxMjgpLSh+R3wxMjgpLFc9Rk0obCwyLHRydWUpLEc9KEY9Rzw8MiwtMip+KEYmVykrLTIrKEZeVykpKSxFPUcpKTt3aGlsZSh7fSlpZigobXw0OCk9PW0mJihXPUd1W2wuVl0obC5pWSksV1tsLlZdPWZ1bmN0aW9uKCl7cmV0dXJuIEZ9LFcuY29uY2F0PWZ1bmN0aW9uKFYpe0Y9Vn0sRT1XKSx7fSlicmVhaztyZXR1cm4gRX0scmM9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHApe3twPTM3O3doaWxlKHAhPTU3KWlmKHA9PTM3KXA9Nzg7ZWxzZSBpZihwPT05Nyl6PU1aKDczLDExLDAsVyxHKSwoUT16Pj0wKSYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKEcseixsKSxTPVEscD0xNDtlbHNlIGlmKHA9PTc4KXA9KEZ8OCk9PUY\/NTk6OTU7ZWxzZXtpZihwPT0xNClyZXR1cm4gUztwPT05NT9wPUYtOT4+bT8xNDo5NzpwPT01OSYmKHRoaXMuc3JjPWwsdGhpcy5nPXt9LHRoaXMuY0g9MCxwPTk1KX19fSx6dT1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVil7e0U9NDc7d2hpbGUoRSE9OTIpaWYoRT09OTQpRT0xNTtlbHNlIGlmKEU9PTQ3KUU9MTM7ZWxzZSBpZihFPT01Myl6dSg0LDYsRix0cnVlLG51bGwseixRLFNbQV0scCksRT03ODtlbHNlIGlmKEU9PTM4KUU9KGxeNDYpPj5tPzgyOjkzO2Vsc2UgaWYoRT09NylBPTAsRT05NDtlbHNlIGlmKEU9PTg4KXRoaXMubGlzdGVuZXI9Vyx0aGlzLnByb3h5PW51bGwsdGhpcy5zcmM9eix0aGlzLnR5cGU9USx0aGlzLmNhcHR1cmU9ISFGLHRoaXMuRHM9Ryx0aGlzLmtleT0rK0VmLHRoaXMuQkg9dGhpcy55cD1mYWxzZSxFPTUyO2Vsc2UgaWYoRT09NTIpRT0obC02XjYpPj1sJiYobC0xXjUpPGw\/OTU6Mzg7ZWxzZSBpZihFPT02NilGPVFPKEYsNikseiYmeltWT10\/ei5CLmFkZChTdHJpbmcoUyksRixXLHFaKDI2LEcscCk\/ISFwLmNhcHR1cmU6ISFwLFEpOk4oZmFsc2UsRiw1OCxudWxsLFMseixXLFEscCksRT0zODtlbHNlIGlmKEU9PTk1KUU9QXJyYXkuaXNBcnJheShTKT83OjY2O2Vsc2UgaWYoRT09MTMpRT0obCY3Nyk9PWw\/ODg6NTI7ZWxzZSBpZihFPT05Myl7YTp7Zm9yKFM9VztTPFEubGVuZ3RoOysrUylpZihwPVFbU10sIXAueXAmJnAubGlzdGVuZXI9PUYmJnAuY2FwdHVyZT09ISF6JiZwLkRzPT1HKXtWPVM7YnJlYWsgYX1WPS0xfUU9ODJ9ZWxzZSBpZihFPT03OClBKyssRT0xNTtlbHNle2lmKEU9PTgyKXJldHVybiBWO0U9PTE1JiYoRT1BPFMubGVuZ3RoPzUzOjM4KX19fSx2PWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEpe3twPTI0O3doaWxlKHAhPTcpaWYocD09NjIpcD0oV3wxNik9PVc\/MDoxMjtlbHNlIGlmKHA9PTApRChtLGwsRiksRltTQV09Mjc5NixwPTEyO2Vsc2V7aWYocD09ODEpcmV0dXJuIEE7cD09NzQ\/KFMrKyxwPTU4KTpwPT03MT8obC54XyhmdW5jdGlvbihFKXtHPUV9LG0sRiksQT1HLHA9NjIpOnA9PTEyP3A9KFctOV4xOSk8VyYmVy04PDwxPj1XPzI1OjgxOnA9PTU4P3A9UzxRPzI4OjgxOnA9PTI0P3A9MjA6cD09MjA\/cD1XLTg8MTcmJihXfDQpPj4zPj0xPzcxOjYyOnA9PTI1PyhRPWwubGVuZ3RoLHo9dHlwZW9mIGw9PT0ic3RyaW5nIj9sLnNwbGl0KEYpOmwsUz1tLHA9MjYpOnA9PTI4PyhTIGluIHomJkcuY2FsbCh2b2lkIDAseltTXSxTLGwpLHA9NzQpOnA9PTI2JiYocD01OCl9fX0sTVo9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTKXtmb3IoUz05MTtTIT04OylpZihTPT03MClTPShsXjUwKT49OSYmKGxeMjQpPDI3PzQ1Om07ZWxzZXtpZihTPT05OSlyZXR1cm4gUTtpZihTPT0yNilTPShsJjEyNSk9PWw\/NTI6NzA7ZWxzZSBpZihTPT0yNylTPUY\/MjM6MjI7ZWxzZSBpZihTPT0yMylTPXR5cGVvZiBXIT09ImZ1bmN0aW9uIj80ODo5OTtlbHNle2lmKFM9PTQ4KXRocm93IEVycm9yKCJJbnZhbGlkIGRlY29yYXRvciBmdW5jdGlvbiAiK1cpO2lmKFM9PTUyKVVmLmNhbGwodGhpcyksRnx8ZjJ8fChmMj1uZXcgVHUpLHRoaXMuZXE9bnVsbCx0aGlzLk1hPWZhbHNlLHRoaXMuZ3E9dm9pZCAwLHRoaXMuWj10aGlzLnpEPXRoaXMuT249bnVsbCx0aGlzLkxDPWZhbHNlLHRoaXMuUTE9bnVsbCxTPTcwO2Vsc2UgaWYoUz09NDUpe2E6aWYodHlwZW9mIEc9PT0ic3RyaW5nIilRPXR5cGVvZiBXIT09InN0cmluZyJ8fFcubGVuZ3RoIT0xPy0xOkcuaW5kZXhPZihXLEYpO2Vsc2V7Zm9yKHo9Rjt6PEcubGVuZ3RoO3orKylpZih6IGluIEcmJkdbel09PT1XKXtRPXo7YnJlYWsgYX1RPS0xfVM9bX1lbHNle2lmKFM9PTIyKXRocm93IEVycm9yKCJJbnZhbGlkIGNsYXNzIG5hbWUgIitGKTtTPT05MT9TPTI2OlM9PW0mJihTPShsKzNeMjgpPj1sJiYobC03fDE1KTxsPzI3Ojk5KX19fX0sYz1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVixxLGYpe3txPTEzO3doaWxlKHEhPTkxKWlmKHE9PTEzKXE9MTc7ZWxzZSBpZihxPT0zMClxPShtLTleMTgpPG0mJihtKzImMzApPj1tPzYzOjcyO2Vsc2UgaWYocT09NTQpcT0obTw8MiYyMik+PTE5JiYobS03JjI4KTwyNj81OTozNTtlbHNlIGlmKHE9PTkzKXE9KG18ODgpPT1tPzU3OjU0O2Vsc2UgaWYocT09NTcpe2lmKFY9ei5CLmdbU3RyaW5nKFcpXSl7Zm9yKFE9KFY9Vi5jb25jYXQoKSxBPXRydWUsbCk7UTxWLmxlbmd0aDsrK1EpKEU9VltRXSkmJiFFLnlwJiZFLmNhcHR1cmU9PUYmJihwPUUuRHN8fEUuc3JjLFM9RS5saXN0ZW5lcixFLkJIJiZOKGwsei5CLDcyLEUpLEE9Uy5jYWxsKHAsRykhPT1mYWxzZSYmQSk7Zj1BJiYhRy5kZWZhdWx0UHJldmVudGVkfWVsc2UgZj10cnVlO3E9NTR9ZWxzZSBpZihxPT0xNilsLmI0PWZ1bmN0aW9uKCl7cmV0dXJuIGwuWnM\/bC5aczpsLlpzPW5ldyBsfSxsLlpzPXZvaWQgMCxxPTkzO2Vsc2UgaWYocT09NjMpcT03MjtlbHNle2lmKHE9PTcyKXJldHVybiBmO3E9PTE3P3E9KG0mMTA2KT09bT8xNjo5MzpxPT01OT8oZj0hIShXLndxJkYpJiYhIShXLlAmRikhPUcmJighKHo9Vy5YeCwoenxsKSsofnpeRiktKHp8fkYpKXx8Vy5kaXNwYXRjaEV2ZW50KEFOKDUyLDUsMiwxNiwxLDMsMzIsRyxGKSkpJiYhVy5BLHE9MzUpOnE9PTM1P3E9KG1eNDkpPj4zPT0xPzg4OjMwOnE9PTg4JiYoVy5pLnNwbGljZShsLGwsRikscT0zMCl9fX0scF89ZnVuY3Rpb24obSxsKXtyZXR1cm4gTVQuY2FsbCh0aGlzLG51bGwsbSwxOSxsKX0sZz1mdW5jdGlvbihtLGwsRixXLEcseixRKXtpZihbXSkobSY0NSk9PW0mJihsLk8\/UT1XMChsLGwuaCk6KEY9Rk0obCw4LHRydWUpLDEtfkYrKEYmLTEyOSkrMioofkZ8MTI4KSYmKEY9LTErKH5GJjEyOCktKH5GfDEyOCksVz1GTShsLDIsdHJ1ZSksRj0oRz1GPDwyLC0yKn4oRyZXKSstMisoR15XKSkpLFE9RikpO3JldHVybigobV4yNykmKChtLTdeMTcpPj1tJiYobS00fDM1KTxtJiYobC5PP1E9VzAobCxsLmgpOihGPUZNKGwsOCx0cnVlKSwxLX5GKyhGJi0xMjkpKzIqKH5GfDEyOCkmJihGPS0xKyh+RiYxMjgpLSh+RnwxMjgpLFc9Rk0obCwyLHRydWUpLEY9KEc9Rjw8MiwtMip+KEcmVykrLTIrKEdeVykpKSxRPUYpKSw2KSk8MyYmbS0zPj0tNjImJihXPWxaKHRydWUsRiw4KSxXJjEyOCYmKFc9KEc9LTIqflcrfihXfDEyNyktKH5XXjEyNykrbCoofld8MTI3KSx6PWxaKHRydWUsRiw4KTw8NywtfihHfHopKyhHXnopKyh+R156KSkpLFE9VyksUX0sRzc9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSl7e3o9NTc7d2hpbGUoeiE9NzgpaWYoej09NzEpRihmdW5jdGlvbihTKXtTKFcpfSksUT1bZnVuY3Rpb24oKXtyZXR1cm4gV30sZnVuY3Rpb24oKXt9XSx6PTk0O2Vsc2UgaWYoej09NDkpRz1GLFE9ZnVuY3Rpb24oKXtyZXR1cm4gRzxXLmxlbmd0aD97ZG9uZTpmYWxzZSx2YWx1ZTpXW0crK119Ontkb25lOnRydWV9fSx6PTQ7ZWxzZSBpZih6PT1tKVE9TWF0aC5mbG9vcih0aGlzLm5RKyh0aGlzLlIoKS10aGlzLnNuKSksej02NztlbHNlIGlmKHo9PTUwKXo9bC05JjM\/OTQ6NzE7ZWxzZSBpZih6PT01NCl6PShsJjExKT09bD83OjUwO2Vsc2UgaWYoej09NCl6PShsfDcyKT09bD9tOjY3O2Vsc2UgaWYoej09NDcpej0obHwxNik9PWw\/NDk6NDtlbHNlIGlmKHo9PTU3KXo9NTQ7ZWxzZSBpZih6PT0yMylRPU1hdGguZmxvb3IodGhpcy5SKCkpLHo9NDc7ZWxzZSBpZih6PT05NCl6PShsLTUmNyk9PTE\/MjM6NDc7ZWxzZSBpZih6PT03KWhOLmNhbGwodGhpcyxGLFd8fG1lLmI0KCksRyksej01MDtlbHNlIGlmKHo9PTY3KXJldHVybiBRfX0sb2I9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYscSxmKXtmb3IocT03ODtxIT05MTspaWYocT09OTkpcT1RPzIxOjU2O2Vsc2UgaWYocT09MilxPVY\/NzU6NTY7ZWxzZSBpZihxPT01NilxPSgobXw0KSYxMik8NiYmKG18Myk+PS03Mz80NDoyNztlbHNlIGlmKHE9PTM3KXo9dGhpcy5jb25zdHJ1Y3RvcixxPTU4O2Vsc2UgaWYocT09ODApcT1BcnJheS5pc0FycmF5KFMpPzI0OjYwO2Vsc2UgaWYocT09OTcpYWIuY2FsbCh0aGlzLFcpLHE9OTQ7ZWxzZSBpZihxPT0zMilRLkIucmVtb3ZlKFN0cmluZyhTKSx6LHAsVykscT01NjtlbHNlIGlmKHE9PTg1KXE9NDE7ZWxzZSBpZihxPT03NilxPTk1O2Vsc2UgaWYocT09NTgpcT0zOTtlbHNlIGlmKHE9PTMxKXo9KFM9T2JqZWN0LmdldFByb3RvdHlwZU9mKHoucHJvdG90eXBlKSkmJlMuY29uc3RydWN0b3IscT00MztlbHNlIGlmKHE9PTc4KXE9NzQ7ZWxzZSBpZihxPT0yMylxPShHPXdjW3BdKT83NjozMTtlbHNlIGlmKHE9PTIxKVY9azUoNDAsOCxRKSxxPTI7ZWxzZSBpZihxPT0zNClFKysscT00MTtlbHNlIGlmKHE9PTQ0KXtpZigoej1GLmxlbmd0aCx6KT5sKXtmb3IoRz0oVz1BcnJheSh6KSxsKTtHPHo7RysrKVdbR109RltHXTtmPVd9ZWxzZSBmPVtdO3E9Mjd9ZWxzZSBpZihxPT04Nyl0aGlzLkw9USxxPTE5O2Vsc2UgaWYocT09NzQpcT1tPDwxJjc\/NTY6ODA7ZWxzZSBpZihxPT00MSlxPUU8Uy5sZW5ndGg\/Mzo1NjtlbHNlIGlmKHE9PTQzKXE9Mzk7ZWxzZSBpZihxPT0yNClFPUYscT04NTtlbHNlIGlmKHE9PTc1KShBPVYuRncoUyx6LFcscCkpJiZKKDAsbnVsbCw0MSxBKSxxPTU2O2Vsc2UgaWYocT09OTUpUT1HP3R5cGVvZiBHLmI0PT09ImZ1bmN0aW9uIj9HLmI0KCk6bmV3IEc6bnVsbCxxPTg3O2Vsc2UgaWYocT09NjApcD1xWigyOCxsLEcpPyEhRy5jYXB0dXJlOiEhRyx6PVFPKHosMykscT0zNjtlbHNlIGlmKHE9PTM5KXE9ej82Mjo5NTtlbHNlIGlmKHE9PTM2KXE9USYmUVtWT10\/MzI6OTk7ZWxzZSBpZihxPT05NClxPShRPUYpPzg3OjM3O2Vsc2UgaWYocT09NjIpcD1xWig1LHopLHE9MjM7ZWxzZSBpZihxPT0yNylxPW0tOD4+ND8xOTo5NztlbHNle2lmKHE9PTE5KXJldHVybiBmO3E9PTMmJihvYigyOCxudWxsLDAsVyxHLHosUSxTW0VdKSxxPTM0KX19LFNLPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWLHEsZixVLE0pe2ZvcihVPTQ7VSE9Mzk7KXtpZihVPT03NClyZXR1cm4gTTtpZihVPT0yNylVPUY+PjEmNz8zNjo5O2Vsc2UgaWYoVT09OSlVPVE\/MjU6MzY7ZWxzZSBpZihVPT00KVU9Mjc7ZWxzZSBpZihVPT0zNilVPShGfDI0KT09Rj8xOTo3NDtlbHNlIGlmKFU9PTI1KXthOntmb3IocD0oZj1WcSx6LnNwbGl0KFcpKSxFPUc7RTxwLmxlbmd0aC1sO0UrKyl7aWYoVj1wW0VdLCEoViBpbiBmKSlicmVhayBhO2Y9ZltWXX0oUz1RKChBPWZbcT1wW3AubGVuZ3RoLWxdLHFdLEEpKSxTIT1BJiZTIT1tKSYmcVQoZixxLHtjb25maWd1cmFibGU6dHJ1ZSx3cml0YWJsZTp0cnVlLHZhbHVlOlN9KX1VPTM2fWVsc2UgVT09MTkmJihNPUd1W21dKEd1LnByb3RvdHlwZSx7cHJvdG90eXBlOmwsc3BsaWNlOmwscHJvcGVydHlJc0VudW1lcmFibGU6bCxsZW5ndGg6bCxmbG9vcjpsLGNhbGw6bCxwb3A6bCxwYXJlbnQ6bCxyZXBsYWNlOmwsY29uc29sZTpsLGRvY3VtZW50Omwsc3RhY2s6bH0pLFU9NzQpfX0sSj1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVixxLGYsVSl7e1U9MTE7d2hpbGUoVSE9NzQpaWYoVT09NTgpej1XLnR5cGUsRz1XLnByb3h5LFEucmVtb3ZlRXZlbnRMaXN0ZW5lcj9RLnJlbW92ZUV2ZW50TGlzdGVuZXIoeixHLFcuY2FwdHVyZSk6US5kZXRhY2hFdmVudD9RLmRldGFjaEV2ZW50KHNmKDgwLDIwLCJvbiIseiksRyk6US5hZGRMaXN0ZW5lciYmUS5yZW1vdmVMaXN0ZW5lciYmUS5yZW1vdmVMaXN0ZW5lcihHKSxEaS0tLFM9azUoNDAsMjQsUSksVT00NjtlbHNlIGlmKFU9PTQpZj10eXBlb2YgVy5jbGFzc05hbWU9PW0\/Vy5jbGFzc05hbWU6Vy5nZXRBdHRyaWJ1dGUmJlcuZ2V0QXR0cmlidXRlKGwpfHwiIixVPTI5O2Vsc2UgaWYoVT09NDYpVT1TPzE4OjQ1O2Vsc2UgaWYoVT09MzkpVT0oRnw3Mik9PUY\/Mjg6ODM7ZWxzZSBpZihVPT0xOClOKG0sUyw3NCxXKSxVPTI1O2Vsc2UgaWYoVT09NzkpVT1RJiZRW1ZPXT8zNjo1ODtlbHNlIGlmKFU9PTk0KVU9KEY+PjEmMTUpPT0zPzU2OjI7ZWxzZSBpZihVPT0yNSlVPVMuY0g9PW0\/NDM6Mzk7ZWxzZSBpZihVPT00NSlRTyhsLDI3LFcpLFU9Mzk7ZWxzZSBpZihVPT0xMSlVPTk0O2Vsc2UgaWYoVT09NzEpUT1XLnNyYyxVPTc5O2Vsc2UgaWYoVT09MzYpTihtLFEuQiw3MyxXKSxVPTM5O2Vsc2UgaWYoVT09MSlmPSEhKEc9Vy5Tdix+KEcmbSktIC0xLWwqfm0rbCooR3x+bSkpJiYhIShXLndxJm0pLFU9NDQ7ZWxzZSBpZihVPT01Nil7aWYoKChxPShWPShwPShBPW0uQ1E+KHp8fG0uWHcrKyxsKSYmbS5tUSYmbS5CayYmbS5pNDw9MSYmIW0uTyYmIW0uVSYmKCF6fHxtLlJiLUc+MSkmJmRvY3VtZW50LmhpZGRlbj09MCxtLlh3KT09NCl8fEE\/bS5SKCk6bS5SaixWLW0uUmopLG0uTis9cT4+MTQ+bCxtKS5TJiYobS5TPShRPW0uUyxFPShtLk4rMT4+MikqKHE8PDIpLDMqKFF8bCktKEV8bCkrMip+US0yKihRfH5FKSkpLG0pLlk9bS5OKzE+PjIhPWx8fG0uWSxwfHxBKW0uUmo9VixtLlh3PWw7VT0oQT8obS5DUT5tLlBIJiYobS5QSD1tLkNRKSxWLW0uc248bS5DUS0oVz8yNTU6ej81OjIpP2Y9ZmFsc2U6KG0uUmI9RyxTPWUobSx6PzgwOjQ2KSxEKG0sNDYsbS5qKSxtLmkucHVzaChbSWIsUyx6P0crMTpHLG0ubCxtLktdKSxtLlU9UmIsZj10cnVlKSk6Zj1mYWxzZSwyKX1lbHNlIGlmKFU9PTgzKVU9KEZ8ODApPT1GPzQ6Mjk7ZWxzZSBpZihVPT0yKVU9KEYmNzMpPT1GPzE6NDQ7ZWxzZSBpZihVPT0yOCl6PW0sel49ejw8MTMsej0oRz16Pj4xNywoR3wwKS0oeiZHKSsoeiZ+RykpLHpePXo8PDUsKHo9LX4oeiZXKSsofnomVykrKHp8flcpKXx8KHo9MSksZj1sXnosVT04MztlbHNlIGlmKFU9PTQyKVU9dHlwZW9mIFchPT0ibnVtYmVyIiYmVyYmIVcueXA\/NzE6Mzk7ZWxzZXtpZihVPT0yOSlyZXR1cm4gZjtVPT00ND9VPShGfDQwKT09Rj80MjozOTpVPT00MyYmKFMuc3JjPWwsUVtOWl09bCxVPTM5KX19fSxRTz1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVixxLGYpe2ZvcihmPTE4O2YhPTU3Oyl7aWYoZj09NzkpcmV0dXJuIHE7aWYoZj09OTEpZj04O2Vsc2UgaWYoZj09MClmPShsLTkmMyk+PTEmJmwtNzwxOD85ODo2ODtlbHNlIGlmKGY9PTI0KWY9KGx8MjQpPT1sPzg2OjA7ZWxzZSBpZihmPT00NClBPVNbRV0sZj0xNztlbHNlIGlmKGY9PTIzKUUrKyxmPTg7ZWxzZSBpZihmPT0xOClmPTI0O2Vsc2UgaWYoZj09ODMpVihBKSxmPTIzO2Vsc2UgaWYoZj09OClmPUU8Uy5sZW5ndGg\/NDQ6Nzk7ZWxzZSBpZihmPT0xNylmPSF4NSgxNywxNixHLCJudW1iZXIiLG0sQSl8fHFaKDMwLG51bGwsQSkmJkEubm9kZVR5cGU+Rj84Mzo1MTtlbHNlIGlmKGY9PTg2KUYueXA9dHJ1ZSxGLmxpc3RlbmVyPW0sRi5wcm94eT1tLEYuc3JjPW0sRi5Ecz1tLGY9MDtlbHNlIGlmKGY9PTk4KXR5cGVvZiBtPT09ImZ1bmN0aW9uIj9xPW06KG1bVWpdfHwobVtVal09ZnVuY3Rpb24oVSl7cmV0dXJuIG0uaGFuZGxlRXZlbnQoVSl9KSxxPW1bVWpdKSxmPTY4O2Vsc2UgaWYoZj09NTEpe2E6e2lmKEEmJnR5cGVvZiBBLmxlbmd0aD09Im51bWJlciIpe2lmKHFaKDI3LG51bGwsQSkpe3A9dHlwZW9mIEEuaXRlbT09ImZ1bmN0aW9uInx8dHlwZW9mIEEuaXRlbT09InN0cmluZyI7YnJlYWsgYX1pZih0eXBlb2YgQT09PSJmdW5jdGlvbiIpe3A9dHlwZW9mIEEuaXRlbT09ImZ1bmN0aW9uIjticmVhayBhfX1wPVd9Zj0odihGLHA\/b2IoMyxGLEEpOkEsIiIsMzIsViksMjMpfWVsc2UgZj09Njg\/Zj0obCYxMjIpPT1sPzEyOjc5OmY9PTEyJiYoVj1mdW5jdGlvbihVKXtVJiZRLmFwcGVuZENoaWxkKHR5cGVvZiBVPT09InN0cmluZyI\/ei5jcmVhdGVUZXh0Tm9kZShVKTpVKX0sRT0xLGY9OTEpfX0sSk49ZnVuY3Rpb24obSxsLEYsVyxHKXtmb3IoVz0zMjtXIT02NzspaWYoVz09bSlCMC5jYWxsKHRoaXMpLHRoaXMuQj1uZXcgdjAodGhpcyksdGhpcy5ESz10aGlzLHRoaXMudE89bnVsbCxXPTc7ZWxzZSBpZihXPT03KVc9KEZeNCk+PWwmJihGLTgmNik8Nj85NzoyMztlbHNlIGlmKFc9PTMyKVc9NDU7ZWxzZSBpZihXPT00NSlXPUYtMj4+ND83Om07ZWxzZXtpZihXPT0yMylyZXR1cm4gRztXPT05NyYmKFc9MjMpfX0sdE49ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYpe2ZvcihWPTM1O1YhPTUwOylpZihWPT0yMClwPXt9LG4yPShwW1ddPWZhbHNlLHAuYXV0b2NvbXBsZXRlPSJub25lIixwLmRyb3BlZmZlY3Q9Im5vbmUiLHAuaGFzcG9wdXA9ZmFsc2UscFtGXT0ib2ZmIixwLm11bHRpbGluZT1mYWxzZSxwLm11bHRpc2VsZWN0YWJsZT1mYWxzZSxwLm9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCIscC5yZWFkb25seT1mYWxzZSxwLnJlbGV2YW50PSJhZGRpdGlvbnMgdGV4dCIscC5yZXF1aXJlZD1mYWxzZSxwLnNvcnQ9Im5vbmUiLHAuYnVzeT1mYWxzZSxwLmRpc2FibGVkPWZhbHNlLHAuaGlkZGVuPWZhbHNlLHAuaW52YWxpZD0iZmFsc2UiLHApLFY9NTg7ZWxzZSBpZihWPT0yMylHLnNldEF0dHJpYnV0ZShBLHopLFY9OTM7ZWxzZSBpZihWPT04NClWPW4yPzU4OjIwO2Vsc2UgaWYoVj09NTgpUz1uMixRIGluIFM\/Ry5zZXRBdHRyaWJ1dGUoQSxTW1FdKTpHLnJlbW92ZUF0dHJpYnV0ZShBKSxWPTkzO2Vsc2UgaWYoVj09OTMpVj1sLTQ+PTI1JiZsLTc8NDQ\/Mjc6MTU7ZWxzZSBpZihWPT01MylWPXo9PT0iInx8ej09dm9pZCAwPzg0OjIzO2Vsc2UgaWYoVj09OTEpRT1GJiZGLnBhcmVudE5vZGU\/Ri5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKEYpOm51bGwsVj04MjtlbHNle2lmKFY9PTgyKXJldHVybiBFO1Y9PTM1P1Y9OTQ6Vj09MD8oRi5jbGFzc0xpc3Q\/QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChXLGZ1bmN0aW9uKHEpe3ROKDU0LDI5LCJzdHJpbmciLCIgIiwiY2xhc3MiLDAsRixxKX0pOkwyKDQ3LDMwLCJzdHJpbmciLEYsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKHUoNzMsImNsYXNzIixGKSxmdW5jdGlvbihxKXtyZXR1cm4hKE1aKDczLDEwLDAscSxXKT49MCl9KS5qb2luKCIgIikpLFY9bSk6Vj09Njg\/KEFycmF5LmlzQXJyYXkoeikmJih6PXouam9pbigiICIpKSxBPSJhcmlhLSIrUSxWPTUzKTpWPT1tP1Y9KGwrNyYyOSk8bCYmKGwrMV40KT49bD82ODo5MzpWPT05ND9WPShsPj4yJjEyKTwxJiZsKzM+PTM\/MDptOlY9PTE1P1Y9KGwmMTI0KT09bD85MTo4MjpWPT0yNyYmKFEuY2xhc3NMaXN0P1EuY2xhc3NMaXN0LnJlbW92ZShTKTpOKEcsUSwxNyx6LFMpJiZMMig0NywzMixGLFEsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKHUoNzUsRyxRKSxmdW5jdGlvbihxKXtyZXR1cm4gcSE9U30pLmpvaW4oVykpLFY9MTUpfX0sQWU9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYpe3tWPTk1O3doaWxlKFYhPTU4KWlmKFY9PTI2KVM9dHJ1ZSxWPTMzO2Vsc2UgaWYoVj09NzcpVj1BcnJheS5pc0FycmF5KFEpPzU3Ojc0O2Vsc2UgaWYoVj09MzApUT1uZXcgcF8oRix0aGlzKSx6PWwuRHN8fGwuc3JjLEc9bC5saXN0ZW5lcixsLkJIJiZKKDAsbnVsbCw0MCxsKSxTPUcuY2FsbCh6LFEpLFY9MzM7ZWxzZSBpZihWPT0yNylBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEYsZnVuY3Rpb24ocSxmLFUpe2ZvcihVPTEyO1UhPTc1OylVPT02Mj8obC5jbGFzc0xpc3QuYWRkKHEpLFU9NzUpOlU9PTMzP1U9TigiY2xhc3MiLGwsMTYsMCxxKT83NTo2OTpVPT0xMj9VPWwuY2xhc3NMaXN0PzYyOjMzOlU9PTY5JiYoZj1KKCJzdHJpbmciLCJjbGFzcyIsODAsbCksTDIoNDcsMTYsInN0cmluZyIsbCxmKyhmLmxlbmd0aD4wPyIgIitxOnEpKSxVPTc1KX0pLFY9NTQ7ZWxzZSBpZihWPT02OSlWPSgoV140MykmMTMpPj05JiYoV3w0KT4+NTw1PzE0OjYyO2Vsc2UgaWYoVj09NjApenUoNCw3LFMsRixsLHAseixRLEcpLFY9Njk7ZWxzZSBpZihWPT01NClWPVc8PDEmNz83MDoxNTtlbHNlIGlmKFY9PTk4KUFlKGZhbHNlLG51bGwsdHJ1ZSw1OCxHLHosUVtBXSxTLHApLFY9MTE7ZWxzZXtpZihWPT03MClyZXR1cm4gRTtpZihWPT03OSlWPShXLTVeMzApPFcmJihXKzYmNTkpPj1XPzU1OjU0O2Vsc2UgaWYoVj09MzMpRT1TLFY9NjI7ZWxzZSBpZihWPT00MSlWPUE8US5sZW5ndGg\/OTg6Njk7ZWxzZSBpZihWPT03NClTPVFPKFMsNykscCYmcFtWT10\/cC5CLmFkZChTdHJpbmcoUSksUyxtLHFaKDI1LGwsRyk\/ISFHLmNhcHR1cmU6ISFHLHopOk4obSxTLDU3LG51bGwsUSxwLG0seixHKSxWPTY5O2Vsc2UgaWYoVj09NzMpVj1HJiZHLm9uY2U\/NjA6Nzc7ZWxzZSBpZihWPT0xNSlsLk9uJiZsLk9uLmZvckVhY2goRix2b2lkIDApLFY9NzA7ZWxzZSBpZihWPT04Mil7Zm9yKHogaW4gUz1GLEcuZyl7Zm9yKFE9KHA9Ry5nW3pdLEYpO1E8cC5sZW5ndGg7USsrKSsrUyxRTyhsLDI5LHBbUV0pO2RlbGV0ZSAoRy5jSC0tLEcpLmdbel19Vj03OX1lbHNlIGlmKFY9PTYyKVY9KFctNV42KT49VyYmKFctOF4zKTxXPzgyOjc5O2Vsc2UgaWYoVj09MTEpQSsrLFY9NDE7ZWxzZSBpZihWPT0zKVY9NDE7ZWxzZSBpZihWPT00NilWPShXLTNeMTkpPFcmJihXKzZeMjApPj1XPzczOjY5O2Vsc2UgaWYoVj09MTQpVj1sLnlwPzI2OjMwO2Vsc2UgaWYoVj09NTUpVj1sLmNsYXNzTGlzdD8yNzoxO2Vsc2UgaWYoVj09MSl7Zm9yKHogaW4gRz0oKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodSg3NCwiY2xhc3MiLChRPXt9LGwpKSxmdW5jdGlvbihxKXtRW3FdPXRydWV9KSxBcnJheS5wcm90b3R5cGUpLmZvckVhY2guY2FsbChGLGZ1bmN0aW9uKHEpe1FbcV09dHJ1ZX0pLCIiKSxRKUcrPUcubGVuZ3RoPjA\/IiAiK3o6ejtWPShMMig0NywzMSwic3RyaW5nIixsLEcpLDU0KX1lbHNlIFY9PTk1P1Y9NDY6Vj09NTcmJihBPTAsVj0zKX19fSxrNT1mdW5jdGlvbihtLGwsRixXLEcseixRKXt7ej01Njt3aGlsZSh6IT0yKXtpZih6PT0zNClyZXR1cm4gUTt6PT02NT8oVz1GW05aXSxRPVcgaW5zdGFuY2VvZiB2MD9XOm51bGwsej01NSk6ej09NTU\/ej1sPj4yPj0wJiYobC05JjYpPDY\/NjM6MzQ6ej09NTY\/ej1tOno9PW0\/ej0obCYxMjUpPT1sPzY1OjU1Ono9PTYzJiYoRz1mdW5jdGlvbihTKXtyZXR1cm4gRi5jYWxsKEcuc3JjLEcubGlzdGVuZXIsUyl9LEY9T2YsUT1HLHo9MzQpfX19LGVBPWZ1bmN0aW9uKG0sbCxGLFcsRyx6KXt7ej1tO3doaWxlKHohPTU1KWlmKHo9PWwpdGhpcy5ZPVcsej02MztlbHNlIGlmKHo9PTE0KXo9KEYrOV4xNik8RiYmKEYtOF4yNSk+PUY\/bDo2MztlbHNlIGlmKHo9PW0pej0yMztlbHNlIGlmKHo9PTIzKXo9KEZeMTgpPj4zPj0wJiYoRjw8MiY4KTw4PzMxOjE0O2Vsc2UgaWYoej09MzEpRz10aGlzLm49PT0wPzA6TWF0aC5zcXJ0KHRoaXMudTQvdGhpcy5uKSx6PTE0O2Vsc2UgaWYoej09NjMpcmV0dXJuIEd9fSxRcT1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVil7aWYoKFctKFc8PDEmNnx8KEU9KHo9RltHXTw8MjQsUT1GW34oRyZsKS0gLTYrMyooRyYtMikrMioofkdebCldPDwxNiwyKih6JlEpK34oeiZRKSsoeiZ+USktKHp8flEpKXxGWzIqKEcmMikrKEcmLTMpKyh+RyYyKV08PDh8RlsoR3wwKSszXSksMSkmNSk8NSYmVy01Pj4zPj0xKXN3aXRjaCghKHo9V20oImNhbGwiLEcsImFycmF5Iik9PT0iYXJyYXkiP0c6W0ddLHRoaXMuQykpe2Nhc2UgdHJ1ZTp0cnl7Uz0hdGhpcy5pLmxlbmd0aCxRPVtdLGMoNTcsMCxbakssUSx6XSx0aGlzKSxjKDU3LDAsW0ZWLGwsUV0sdGhpcyksRiYmIVN8fHUoMjksMjU0LG0sdGhpcyxGKX1jYXRjaChxKXtIMCgifiIsMzIsIjoiLHRoaXMscSksbCh0aGlzLkMpfWJyZWFrO2Nhc2UgMCE9IVsoZmFsc2UhPW51bGwpLnRydWVdOmwodGhpcy5DKTticmVha31yZXR1cm4oVy03XjE4KTxXJiYoVys5XjIzKT49VyYmKEU9Vj1mdW5jdGlvbigpe2Zvcih2YXIgcT0zNDtxIT0zNzspaWYocT09NTgpcCYmQSYmcC5yZW1vdmVFdmVudExpc3RlbmVyKEEsVix6NykscT0zNztlbHNlIGlmKHE9PTQ5KXE9Ry5HPzIyOjU4O2Vsc2UgaWYocT09MTIpcT16PT1sPzI2OjI0O2Vsc2UgaWYocT09MylxPXo9PUY\/NDY6MTI7ZWxzZSBpZihxPT0zNClxPUcuWT09Rz80OTozNztlbHNlIGlmKHE9PTQ2KXt2YXIgZj11KDI4LChjKDU2LDAsVSxHKSwyNTQpLGZhbHNlLEcsZmFsc2UpO3E9Njd9ZWxzZXtpZihxPT02NylyZXR1cm4gZjtpZihxPT0yMil2YXIgVT1bRWosUyxRLHZvaWQgMCxwLEEsKHE9Myxhcmd1bWVudHMpXTtlbHNlIGlmKHE9PTI2KXt2YXIgTT0hRy5pLmxlbmd0aDsoYyg2MCwwLFUsRyksTSkmJnUoMjcsMjU0LGZhbHNlLEcsZmFsc2UpLHE9Njd9ZWxzZSBxPT0yNCYmKGY9UDAoVSxHLDAsNikscT02Nyl9fSksRX0sdT1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUpe2ZvcihFPTc0O0UhPTk1OylpZihFPT00OCl7aWYoKHo9KEc9bCx3KS50cnVzdGVkVHlwZXMpJiZ6LmNyZWF0ZVBvbGljeSl7dHJ5e0c9ei5jcmVhdGVQb2xpY3koVyx7Y3JlYXRlSFRNTDpaaSxjcmVhdGVTY3JpcHQ6WmksY3JlYXRlU2NyaXB0VVJMOlppfSl9Y2F0Y2goVil7aWYody5jb25zb2xlKXcuY29uc29sZVtGXShWLm1lc3NhZ2UpfUE9R31lbHNlIEE9RztFPTgyfWVsc2UgaWYoRT09OTQpRT0obXw1Nik9PW0\/NDE6MjI7ZWxzZSBpZihFPT00MilBPUYuY2xhc3NMaXN0P0YuY2xhc3NMaXN0OkooInN0cmluZyIsbCw4MSxGKS5tYXRjaCgvXFxTKy9nKXx8W10sRT00OTtlbHNlIGlmKEU9PTQ5KUU9bSszPDQzJiZtLTI+PTI0PzM1Ojk0O2Vsc2UgaWYoRT09MzUpe2lmKFcuaS5sZW5ndGgpe1cubVE9IShXLm1RJiYiOlRRUjpUUVI6IigpLFcuQms9RywwKTt0cnl7ej1XLlIoKSxXLlBIPTAsVy5zbj16LFcuUmo9eixXLlh3PTAsUz1OKG51bGwsIjoiLDgsdHJ1ZSwyNTQsRyxXKSxRPUY\/MDoxMCxwPVcuUigpLVcuc24sVy5uUSs9cCxXLktRJiZXLktRKHAtVy5GLFcubCxXLkssVy5QSCksVy5LPWZhbHNlLFcubD1mYWxzZSxXLkY9MCxwPFF8fFcuTmEtLTw9MHx8KHA9TWF0aC5mbG9vcihwKSxXLnJxLnB1c2gocDw9bD9wOjI1NCkpfWZpbmFsbHl7Vy5tUT1mYWxzZX1BPVN9RT05NH1lbHNlIGlmKEU9PTI3KUU9bT4+MiYxNT84Mjo0ODtlbHNle2lmKEU9PTY2KXJldHVybiBBO0U9PTQzPyhBPWwsRT02Nik6RT09NzQ\/RT0yNzpFPT00MT9FPTIyOkU9PTIyP0U9KG0mNTgpPT1tPzQzOjY2OkU9PTgyJiYoRT0obS04XjI4KT49bSYmKG0rNCY2Myk8bT80Mjo0OSl9fSxIMD1mdW5jdGlvbihtLGwsRixXLEcseixRKXt7UT0xNjt3aGlsZShRIT03MilpZihRPT0zNCl0aGlzLm8ucHVzaChGKSxRPTQ5O2Vsc2UgaWYoUT09MzgpUT10aGlzLm8ubGVuZ3RoPDUwPzM0OjExO2Vsc2UgaWYoUT09MjcpVy5DPSgoVy5DP1cuQyttOiJFOiIpK0cubWVzc2FnZStGK0cuc3RhY2spLnNsaWNlKDAsMjA0OCksUT05NDtlbHNlIGlmKFE9PTk5KXRoaXMudkg9dy5kb2N1bWVudHx8ZG9jdW1lbnQsUT00MjtlbHNlIGlmKFE9PTQyKVE9KGxeMzQpPj41PDImJihsKzUmMTMpPj0xMj8yNjo0OTtlbHNlIGlmKFE9PTE2KVE9NDM7ZWxzZSBpZihRPT00MylRPShsXjQxKT4+NTwyJiYobDw8MiY3KT49ND85OTo0MjtlbHNlIGlmKFE9PTI2KXRoaXMubisrLFE9Mzg7ZWxzZXtpZihRPT05NClyZXR1cm4gejtRPT0xMT8oVz1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqdGhpcy5uKSxXPDUwJiYodGhpcy5vW1ddPUYpLFE9NDkpOlE9PTQ5JiYoUT0obCs4JjQzKT49bCYmbCs4Pj4yPGw\/Mjc6OTQpfX19LEhtPWZ1bmN0aW9uKG0sbCxGLFcsRyx6KXtGLlRELmxlbmd0aD5sP0xfKFtyTSwzNl0sRix6LG0pOihGLlRELnB1c2goRi5HLnNsaWNlKCkpLEYuR1tHXT12b2lkIDAsWihGLEcsVykpfSxNVD1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVil7Zm9yKFY9OTE7ViE9MzE7KWlmKFY9PTUxKVY9KChGfDIpJjE1KT09Mj80Mjo3OTtlbHNlIGlmKFY9PTY2KVY9NzM7ZWxzZSBpZihWPT02NylmXy5jYWxsKHRoaXMsbD9sLnR5cGU6IiIpLHRoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bSx0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wLHRoaXMua2V5PSIiLHRoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTAsdGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PWZhbHNlLHRoaXMuc3RhdGU9bSx0aGlzLnBvaW50ZXJJZD0wLHRoaXMucG9pbnRlclR5cGU9IiIsdGhpcy50aW1lU3RhbXA9MCx0aGlzLkdEPW0sbCYmdGhpcy5pbml0KGwsVyksVj03NDtlbHNlIGlmKFY9PTcwKXorPWwuY2hhckNvZGVBdChTKSx6Kz16PDwxMCx6Xj16Pj42LFY9NjU7ZWxzZSBpZihWPT03OSlWPShGfDI0KT09Rj85OjM5O2Vsc2UgaWYoVj09MzkpVj1GLTE8PDE+PUYmJihGKzleMTMpPEY\/Njc6NzQ7ZWxzZSBpZihWPT05KXRoaXMubisrLFc9bC10aGlzLkgsdGhpcy5IKz1XL3RoaXMubix0aGlzLnU0Kz1XKihsLXRoaXMuSCksVj0zOTtlbHNlIGlmKFY9PTQyKXo9Uz0wLFY9NjY7ZWxzZXtpZihWPT03NClyZXR1cm4gRTtWPT05MT9WPTM4OlY9PTA\/KHorPXo8PDMsel49ej4+MTEscD16Kyh6PDwxNSk+Pj4wLEE9bmV3IE51bWJlcihwJihRPTE8PFcsMS0oflFeMSkrMiooUXwtMikpKSxBWzBdPShwPj4+VyklRyxFPUEsVj03OSk6Vj09ODk\/KEU9KEE9VDdbbC5zdWJzdHJpbmcoMCwzKSsiXyJdKT9BKGwuc3Vic3RyaW5nKDMpLFcsRyx6LFEsUyxwKTpHNygzMSw1LFcsbCksVj01MSk6Vj09NjU\/KFMrKyxWPTczKTpWPT03Mz9WPVM8bC5sZW5ndGg\/NzA6MDpWPT0zOCYmKFY9KEYmNzkpPT1GPzg5OjUxKX19LHFaPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEpe3twPTY7d2hpbGUocCE9MjgpaWYocD09OTEpcD0obSs4JjcpPj0zJiZtKzI8MTg\/NDQ6MTtlbHNle2lmKHA9PTQ1KXJldHVybiBBO2lmKHA9PTExKXthOntmb3IoUT1bbD09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsRyxsPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csbD09KFM9Vyx0eXBlb2Ygc2VsZikmJnNlbGYsbD09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtTPFEubGVuZ3RoOysrUylpZigoej1RW1NdKSYmeltGXT09TWF0aCl7QT16O2JyZWFrIGF9dGhyb3cgRXJyb3IoIkNhbm5vdCBmaW5kIGdsb2JhbCBvYmplY3QiKTt9cD05MX1lbHNlIHA9PTg0Pyh0aGlzW3RoaXMrIiJdPXRoaXMsQT1Qcm9taXNlLnJlc29sdmUoKSxwPTQ1KTpwPT00ND8oQT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobCxiWikmJmxbYlpdfHwobFtiWl09KytDMikscD0xKTpwPT0yNj8oVz10eXBlb2YgRixBPVc9PSJvYmplY3QiJiZGIT1sfHxXPT0iZnVuY3Rpb24iLHA9ODUpOnA9PTg1P3A9KG1eMzMpPDE1JiYobS03JjcpPj0wPzg0OjQ1OnA9PTY\/cD04ODpwPT04OD9wPW08PDEmMTQ\/OTE6MTE6cD09MSYmKHA9KG0tMl4zMSk8bSYmKG0rOCY0NCk+PW0\/MjY6ODUpfX19LHNmPWZ1bmN0aW9uKG0sbCxGLFcsRyx6KXtmb3Ioej02Njt6IT05NTspaWYoej09MjUpej0obCs5XjQpPj1sJiYobCs4XjEwKTxsPzE2OjQ3O2Vsc2UgaWYoej09NjYpej0zNDtlbHNlIGlmKHo9PW0pej1sKzI+PjQ\/MjU6NDU7ZWxzZSBpZih6PT0zNCl6PShsKzYmNyk9PTI\/MTg6bTtlbHNlIGlmKHo9PTE2KXo9NDc7ZWxzZSBpZih6PT00NSl0aGlzLnR5cGU9Rix0aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9Vyx0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dGhpcy5RcD1mYWxzZSx6PTI1O2Vsc2V7aWYoej09NDcpcmV0dXJuIEc7ej09MTgmJihHPVcgaW4gZGM\/ZGNbV106ZGNbV109RitXLHo9bSl9fSxiPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEpe1E9dGhpczt0cnl7eXEoRixsLEcsVyx0aGlzLG0seil9Y2F0Y2goUyl7SDAoIn4iLDI4LCI6Iix0aGlzLFMpLGwoZnVuY3Rpb24ocCl7cChRLkMpfSl9fSxrUD1mdW5jdGlvbihtLGwpe2Z1bmN0aW9uIEYoKXt0aGlzLm89KHRoaXMubj0wLFtdKX1yZXR1cm4gbD1uZXcgKG09KEYucHJvdG90eXBlLmFqPShGLnByb3RvdHlwZS56YT1mdW5jdGlvbigpe3JldHVybiBMMi5jYWxsKHRoaXMsNDcsMTkpfSxmdW5jdGlvbihXLEcpe3JldHVybiBIMC5jYWxsKHRoaXMsIn4iLDgsVyxHKX0pLG5ldyBGKSxGKSxbZnVuY3Rpb24oVyl7bS5haihXKSxsLmFqKFcpfSxmdW5jdGlvbihXKXtyZXR1cm4gbD1uZXcgKFc9bS56YSgpLmNvbmNhdChsLnphKCkpLEYpLFd9XX0sVzA9ZnVuY3Rpb24obSxsLEYpe3JldHVybiBGPWwuY3JlYXRlKCkuc2hpZnQoKSxtLk8uY3JlYXRlKCkubGVuZ3RofHxtLmguY3JlYXRlKCkubGVuZ3RofHwobS5oPXZvaWQgMCxtLk89dm9pZCAwKSxGfSwkUD1mdW5jdGlvbihtLGwsRixXKXtEZyhkKG4obCwoRj1IKDI5LChXPWcoMzcsbCksbCkpLFcpKSxtKSxsLEYpfSxPPWZ1bmN0aW9uKG0sbCxGKXtpZihGPW0uR1tsXSxGPT09dm9pZCAwKXRocm93W3JNLDMwLGxdO2lmKEYudmFsdWUpcmV0dXJuIEYuY3JlYXRlKCk7cmV0dXJuIEYuY3JlYXRlKGwqNCpsKy0yOCpsKzc1KSxGLnByb3RvdHlwZX0sWFY9ZnVuY3Rpb24obSxsLEYsVyxHKXtyZXR1cm4gQWUuY2FsbCh0aGlzLGZhbHNlLG0sbCwzLEYsVyxHKX0sZD1mdW5jdGlvbihtLGwsRixXLEcpe0Y9W107e0c9LTQtMip+KGx8MSktKGxeMSk7d2hpbGUoRz49MClGWy1+KGwmMSkrfihsfDEpKzIqKGwmLTIpLShHfDApXT0oVz1tPj5HKjgsLTIqfihXJjI1NSkrflcrMiooVyYtMjU2KSsofld8MjU1KSksRy0tfXJldHVybiBGfSxaaT1mdW5jdGlvbihtKXtyZXR1cm4gdS5jYWxsKHRoaXMsOCxtKX0sVHU9ZnVuY3Rpb24oKXtyZXR1cm4gSDAuY2FsbCh0aGlzLCJ+IiwxMSl9LHVHPWZ1bmN0aW9uKG0sbCl7e3ZhciBGPTczO3doaWxlKEYhPTQxKWlmKEY9PTg2KUY9ejx2bS5sZW5ndGg\/NzI6MzM7ZWxzZSBpZihGPT00MilGPVE8YXJndW1lbnRzLmxlbmd0aD8yMTo0MTtlbHNlIGlmKEY9PTcyKXt2YXIgVz12bVt6XTtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRyxXKSYmKG1bV109R1tXXSksRj04MX1lbHNlIGlmKEY9PTk4KUY9NDI7ZWxzZSBpZihGPT0zMylRKyssRj00MjtlbHNlIGlmKEY9PTgxKXorKyxGPTg2O2Vsc2UgaWYoRj09MjEpe3ZhciBHPWFyZ3VtZW50c1tRXTtmb3IoVyBpbiBHKW1bV109R1tXXTt2YXIgej0oRj02NywwKX1lbHNlIGlmKEY9PTczKXZhciBRPShGPTk4LDEpO2Vsc2UgRj09NjcmJihGPTg2KX19LE5UPWZ1bmN0aW9uKG0sbCxGLFcpe3RyeXtXPW1bKChsfDApKzIpJTNdLG1bbF09KG1bbF18MCktKG1bKChsfDApKzEpJTNdfDApLShXfDApXihsPT0xP1c8PEY6Vz4+PkYpfWNhdGNoKEcpe3Rocm93IEc7fX0sRD1mdW5jdGlvbihtLGwsRil7c3dpdGNoKCEobD09NDZ8fGw9PTgwKSl7Y2FzZSAhW3RydWUudHJ1ZV09PU51bWJlcigpOmlmKG0ucWEmJmwhPTM4MClyZXR1cm47bD09NTExfHxsPT0xOHx8bD09MjQ1fHxsPT00N3x8bD09MjJ8fGw9PTQ3M3x8bD09Mzk0fHxsPT0zOTd8fGw9PTM2OHx8bD09MTE2P20uR1tsXXx8KG0uR1tsXT1IKDQzLDI3LG0sRixsLDk0KSk6bS5HW2xdPUgoMTEsMjcsbSxGLGwsMTUzKTticmVhaztjYXNlIGZhbHNlOm0uR1tsXT9tLkdbbF0uY29uY2F0KEYpOm0uR1tsXT1IKDUxLG0sRik7YnJlYWt9bD09MzgwJiYobS5TPUZNKG0sMzIsZmFsc2UpLG0uRD12b2lkIDApfSx0PWZ1bmN0aW9uKG0sbCxGKXtpZihsPT00Nnx8bD09ODApbS5HW2xdP20uR1tsXS5jb25jYXQoRik6bS5HW2xdPUgoNTAsbSxGKTtlbHNle2lmKG0ucWEmJmwhPTM4MClyZXR1cm47bD09NTExfHxsPT0xOHx8bD09MjQ1fHxsPT00N3x8bD09MjJ8fGw9PTQ3M3x8bD09Mzk0fHxsPT0zOTd8fGw9PTM2OHx8bD09MTE2P20uR1tsXXx8KG0uR1tsXT1IKDQ0LDI3LG0sRixsLDk0KSk6bS5HW2xdPUgoMzksMjcsbSxGLGwsMTUzKX1sPT0zODAmJihtLlM9Rk0obSwzMixmYWxzZSksbS5EPXZvaWQgMCl9LGlHPWZ1bmN0aW9uKG0sbCxGKXtmb3IoRj05MTtGIT0zOylpZihGPT05MSlsPVtdLEY9MzA7ZWxzZSBpZihGPT0zMClGPTQ0O2Vsc2V7aWYoRj09NzkpcmV0dXJuIGw7Rj09ODU\/Rj00NDpGPT0yPyhsLnB1c2goTWF0aC5yYW5kb20oKSoyNTV8MCksRj04NSk6Rj09NDQmJihGPW0tLT8yOjc5KX19LHlxPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEpe2ZvcihBPShHLmNrPVNLKEcuVix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29uY2F0KCl9fSwoRy5Iaz1QbSxHLlYxPUdbRy51WT1jbSxGVl0sMjUpKSxHLmlZPUd1W0cuVl0oRy5jayx7dmFsdWU6e3ZhbHVlOnt9fX0pLHA9MCxbXSk7cDwzMzU7cCsrKUFbcF09U3RyaW5nLmZyb21DaGFyQ29kZShwKTsoRy5pPVtdLEcpLmRPPSgoKEcuQz12b2lkIDAsRykubkM9KEcuRj0wLDApLEcucnE9W10sRy5qPTAsRykuQms9KEcucWE9ZmFsc2UsZmFsc2UpLEcuSWo9ZmFsc2UsRy5VPW51bGwsRy5SYj04MDAxLGZ1bmN0aW9uKEUpe3JldHVybiBlQS5jYWxsKHRoaXMsMTIsODcsMTAsRSl9KTt3aGlsZShOYU4hPT1OYU4paWYoIShHLlk9RyxudWxsKSlicmVhaztpZihHLkVuPSgoRy53Tz0oRy5Xaz0oKChHLmk0PTAsRy5HPVtdLEcuS1E9VyxHLmJZPShTPXdpbmRvdy5wZXJmb3JtYW5jZXx8e30sKEcuTz12b2lkIDAsRykuUmo9MCxHLks9IShHLmg9dm9pZCAwLDEpLEcuQ1E9MCxHLk49KChHLlREPVtdLEcuc249MCxHKS5OYT0yNSwxKSwoRy5uUT0wLEcpLmw9ZmFsc2UsRy5HYT12b2lkIDAsRy5QSD0wLFtdKSwoRy5KTz1bXSxHKS5ISD0oRy5TPXZvaWQgMCxHLlh3PXZvaWQgMCxHLkQ9dm9pZCAwLFtdKSxHKS5tUT1mYWxzZSxHKS5JYj1GLFtdKSxTLnRpbWVPcmlnaW58fChTLnRpbWluZ3x8e30pLm5hdmlnYXRpb25TdGFydHx8MCksUSYmUS5sZW5ndGg9PTIpJiYoRy5Xaz1RWzBdLEcuYlk9UVsxXSksdm9pZCAwKSxtKXRyeXtHLkVuPUpTT04ucGFyc2UobSl9Y2F0Y2goRSl7Ry5Fbj17fX1pZih2KEcsMjc4LGZ1bmN0aW9uKEUsVixxLGYsVSl7e1U9ODQ7d2hpbGUoVSE9MzQpVT09OTM\/KGY9SCgyNixFKSxxPWcoMzYsRSksRChFLHEsZnVuY3Rpb24oTSl7cmV0dXJuIGV2YWwoTSl9KHNqKGUoRS5ZLGYpKSkpLFU9MzQpOlU9PTg0JiYoVT1KKEUsMCw3LGZhbHNlLFYsdHJ1ZSk\/MzQ6OTMpfX0sKHYoRyw4NSwoKHYoRywxLCh0KEcsNDYsKHYoRywzMDQsKHYoRywodihHLDM5LGZ1bmN0aW9uKEUsVixxLGYsVSxNLHIsVCl7Zm9yKFQ9OTE7VCE9NzM7KVQ9PTMwP1Q9ci0tPzg4Ojg1OlQ9PTg4PyhmPSgoZnwwKSsoZygxNiwyLEUpfDApKSVVLFYucHVzaChNW2ZdKSxUPTEyKTpUPT05NT9UPTMwOlQ9PTEyP1Q9MzA6VD09ODU\/KFooRSxxLFYpLFQ9NzMpOlQ9PTkxJiYocT1nKDQ2LEUpLHI9ZygxMCwyLEUpLFY9W10sTT1uKEUsNDg0KSxVPU0ubGVuZ3RoLGY9MCxUPTk1KX0sNTEpLDE0MSksZnVuY3Rpb24oRSxWLHEsZixVLE0scixULHksWCl7Zm9yKFg9NzY7WCE9Njk7KVg9PTE4Pyh0KEUsVixxW1RdKSxYPTY5KTpYPT0yMD9YPXk8TS5sZW5ndGg\/Mzg6MTg6WD09Mzc\/KHkrKyxYPTIwKTpYPT0xNz9YPTIwOlg9PTM4PyhUKz1TdHJpbmcuZnJvbUNoYXJDb2RlKChyPU1beV0sLSh+cl4xMjEpKyh+ciYxMjEpKyhyfC0xMjIpKSksWD0zNyk6WD09NzYmJihVPUgoMjEsRSksZj1nKDEyLEUpLFY9ZygxMixFKSxNPW4oRSxmKSxxPW4oRSxVKSxUPSIiLHk9MCxYPTE3KX0sNTApLGZ1bmN0aW9uKEUsVixxLGYsVSxNLHIsVCx5KXt7eT01MDt3aGlsZSh5IT0zOCl5PT04OT95PVU8Vi5sZW5ndGg\/MzA6MjM6eT09NTA\/KHE9Zyg1LEUpLE09ZygzOSxFKSxmPUgoMjAsRSksVD1PKEUsTSksVj1PKEUscSksVT0wLHI9IiIseT0yMCk6eT09MjA\/eT04OTp5PT0zMD8ocis9U3RyaW5nLmZyb21DaGFyQ29kZShWW1VdXjEyMSkseT0zNik6eT09MjM\/KHQoRSxmLHIgaW4gVHwwKSx5PTM4KTp5PT0zNiYmKFUrKyx5PTg5KX19KSw1MyksMCkpLFooRyw4MCwwKSxmdW5jdGlvbihFLFYscSxmLFUsTSxyLFQseSxYLFkseCxhLEIsUix1WixrLHAyKXt7az01Mzt3aGlsZShrIT00NilrPT0xMT8oYT1bXSxmPVUsaz02Mik6az09MTQ\/KFYrKyxrPTY3KTprPT04Mz8oeSsrLGs9NDMpOms9PTI5PyhCW01dJiYocltNXT1IKDIyLEUpKSxrPTc3KTprPT0yOD8oYS5wdXNoKG4oRSxIKDI5LEUpKSksaz02Myk6az09NzU\/KE09MCxrPTQpOms9PTQ\/az0zNTprPT0zNT9rPU08WD8yOToxMTprPT03OD9rPTQzOms9PTUzPyhwMj1mdW5jdGlvbihJLGgpe2Zvcig7cTxJOylUfD1sWih0cnVlLEUsOCk8PHEscSs9ODtyZXR1cm4gVD4+PShoPVQmKHEtPUksKDE8PEkpLTEpLEkpLGh9LFI9Zyg1MyxFKSxxPVQ9MCxVPShwMigzKXwwKSsxLFg9cDIoNSksVj0wLEI9W10seD0wLGs9NDkpOms9PTQ5P2s9Njc6az09MjA\/KHVaPSgoeHwwKS0xKS50b1N0cmluZygyKS5sZW5ndGgscj1bXSx5PTAsaz03OCk6az09Mzk\/az1mLS0\/Mjg6MzQ6az09NjM\/az0zOTprPT00Mz9rPXk8WD8yNDo3NTprPT0yND8oQlt5XXx8KHJbeV09cDIodVopKSxrPTgzKTprPT02Mj9rPTM5Oms9PTY3P2s9VjxYPzQ1OjIwOms9PTQ1PyhZPXAyKDEpLEIucHVzaChZKSx4Kz1ZPzA6MSxrPTE0KTprPT0zND8odihFLFIsZnVuY3Rpb24oSSxoLHlPLGMwLFhNLFApe2ZvcihQPTk7UCE9NzY7KVA9PTU\/KGMwLnB1c2goWE0pLFA9NDEpOlA9PTI5P1A9WE0+PXlPLmxlbmd0aD8xMToyMTpQPT0xMT8oeU8ucHVzaChnKDM2LEkpKSxQPTQpOlA9PTUzPyhYTT1yW2hdLFA9NjEpOlA9PTcxP1A9MzA6UD09NjE\/UD1CW2hdPzU6MzI6UD09MzA\/UD1oPFg\/NTM6MTQ6UD09MjE\/KFhNPXlPW1hNXSxQPTUpOlA9PTQ\/UD0yOTpQPT00MT8oaCsrLFA9MzApOlA9PTk\/KGg9MCx5Tz1bXSxjMD1bXSxQPTcxKTpQPT0zMj9QPTI5OlA9PTE0JiYoSS5PPUgoNTIsSSxhLnNsaWNlKCkpLEkuaD1IKDQ4LEksYzApLFA9NzYpfSw1MSksaz00Nik6az09NzcmJihNKyssaz0zNSl9fSksNTYpLHYpKEcsNDg2LGZ1bmN0aW9uKEUsVixxKXtWPShxPUgoMjAsRSksbikoRS5ZLHEpLFZbMF0ucmVtb3ZlRXZlbnRMaXN0ZW5lcihWWzFdLFZbMl0sejcpfSw1MiksZnVuY3Rpb24oRSxWLHEsZixVKXtaKEUsKFU9V20oImNhbGwiLChWPU8oRSwocT1IKChmPWcoMTIsRSksMjEpLEUpLGYpKSxWKSwiYXJyYXkiKSxxKSxVKX0pLDUwKSw0OCkpLCJQIil0KEcsMjQ1LFtdKTtpZigodigodihHLDY4LChaKEcsNTExLCh2KEcsKHYoRywyNjAsZnVuY3Rpb24oRSxWLHEsZixVKXt7VT02MDt3aGlsZShVIT02MSlVPT02OT8oZj1nKDM2LEUpLHFbZl09RS5HW2ZdLFU9OSk6VT09Nzc\/VT01NzpVPT01Nz9VPVY+MD82OTo5MTpVPT05PyhWLS0sVT01Nyk6VT09NjA\/KHE9RS5URC5wb3AoKSxVPTYpOlU9PTMwPyhWPWxaKHRydWUsRSw4KSxVPTc3KTpVPT05MT8ocVsyMl09RS5HWzIyXSxxWzExNl09RS5HWzExNl0sRS5HPXEsVT02MSk6VT09Nj9VPXE\/MzA6OTM6VT09OTMmJihaKEUsNDYsRS5qKSxVPTYxKX19LCh2KEcsNDE5LGZ1bmN0aW9uKEUpeyRQKDQsRSl9LChEKEcsMTE2LCh2KEcsMTg1LGZ1bmN0aW9uKEUpe0goMywwLDQsRSl9LCh2KEcsMzgyLChaKChHLkVtPShHLnJPPSh2KEcsMjY2LCh2KEcsMTk3LCh2KEcsMjU2LCh2KEcsKHYoRywodihHLChEKEcsMzk3LCh0KEcsKHQoRywodihHLCh0KEcsKFooKHYoRywyNjIsKHQoRywzMDUsKHYoRywyMjQsZnVuY3Rpb24oRSxWLHEsZixVKXt0KChWPWUoRSwoZj0oVT1IKChxPWcoNDcsRSksMjApLEUpLE8oRSxVKSkscSkpLEUpLFUsZitWKX0sNDkpLHt9KSksZnVuY3Rpb24oRSxWLHEsZixVLE0pe3E9TygoVj1PKEUsKGY9KE09ZygxMywoVT1nKDUyLEUpLEUpKSxIKDI1LEUpKSxVKSksRSksTSk7d2hpbGUoIVsiIl09PTAhPVtdKWlmKHQoRSxmLFZbcV0pLDE2KWJyZWFrfSksNTUpLEcpLDM2OCxpRyg0KSksNDYwKSxbXSksMTQyKSxmdW5jdGlvbihFLFYscSl7dChFLChxPWcoNDcsKFY9SCgyNSxFKSxFKSkscSksIiIrZShFLFYpKX0sNDkpLDIxOSksMCksNDcpLGlHKDQpKSxbMCwwLDBdKSksNTApLGZ1bmN0aW9uKEUsVixxLGYsVSxNLHIsVCx5LFgsWSx4LGEsQixSKXt7Uj0xNTt3aGlsZShSIT04MylpZihSPT01MylxKGEuc2xpY2UoWSwtMip+KFl8QikrMiooWSZ+QiktKFleQikrMioofll8QikpLHkpLFI9OTM7ZWxzZSBpZihSPT05MilyPWcoNTQsRSksWD1IKDI1LEUpLHg9ZygzNyxFKSxVPUgoMjksRSkscT1uKEUsWCksQj1PKEUseCksYT1uKEUscikseT1PKEUsVSksUj05ODtlbHNlIGlmKFI9PTYwKXtmb3IoZiBpbiBNPVtdLGEpTS5wdXNoKGYpO1I9KGE9TSw0NSl9ZWxzZSBSPT0xNT9SPUooRSwwLDYsdHJ1ZSxWLHRydWUpPzgzOjkyOlI9PTkzPyhZKz1CLFI9NzEpOlI9PTc5P1I9NzE6Uj09NzE\/Uj1ZPFQ\/NTM6ODM6Uj09NTQ\/KEI9Qj4wP0I6MSxZPTAsVD1hLmxlbmd0aCxSPTc5KTpSPT00NT9SPUUuWT09RT81NDo4MzpSPT05OCYmKFI9V20oImNhbGwiLGEsImFycmF5Iik9PSJvYmplY3QiPzYwOjQ1KX19LDUxKSwzNjUpLGZ1bmN0aW9uKEUsVixxLGYpe3QoRSwocT1nKDUzLChWPWcoMTIsKGY9Zyg1MyxFKSxFKSksRSkpLHEpLG4oRSxmKXx8ZShFLFYpKX0sNTYpLDI0MyksZnVuY3Rpb24oRSxWLHEsZixVLE0pe2ZvcihNPTgwO00hPTcxOylNPT0zOD8ocT1SSig1NCwwLEUsMiksVT1xLnNtLGY9cS5ZVCxNPTkpOk09PTM0PyhEKEUscS5DQyxmLmFwcGx5KFUscS5JKSksRS5Saj1FLlIoKSxNPTcxKTpNPT04MD9NPUooRSwwLDM5LGZhbHNlLFYsdHJ1ZSk\/NzE6Mzg6TT09OSYmKE09RS5ZPT1FfHxmPT1FLmRPJiZVPT1FPzM0OjcxKX0sNTQpLGZ1bmN0aW9uKEUpe1lQKEUsMyl9KSw1MyksZnVuY3Rpb24oRSxWLHEsZil7RChFLChmPWcoKFY9bFoodHJ1ZSwocT1nKDU0LEUpLEUpLDgpLDQ3KSxFKSxmKSxuKEUscSk+Pj5WKX0pLDU2KSxmdW5jdGlvbigpe30pLDU1KSwwKSwwKSxHKSwyMyw2OSksZnVuY3Rpb24oRSxWLHEsZixVLE0scixUKXtmb3IoVD04O1QhPTkyOylUPT0xND8oVT0oKFV8MCkrKGcoMTcsMixFKXwwKSklZixWKz1BW01bVV1dLFQ9ODIpOlQ9PTU4PyhEKEUscSxWKSxUPTkyKTpUPT04PyhxPWcoNDYsRSkscj1nKDMsMixFKSxWPSIiLE09ZShFLDQ4NCksZj1NLmxlbmd0aCxVPTAsVD05NCk6VD09OTQ\/VD03NDpUPT04Mj9UPTc0OlQ9PTc0JiYoVD1yLS0\/MTQ6NTgpfSksNTApLDQ4KSksWzIwNDhdKSksNTQpKSw1NCkpLDI0KSxmdW5jdGlvbihFLFYscSxmLFUsTSxyLFQseSxYLFkpe2ZvcihZPTc2O1khPTI7KVk9PTE0P1k9WCE9PTA\/MTE6MjpZPT0xMT8oTT1RcSh0cnVlLDEsMiw1LEUsMSxULHEsWCxWKSxYLmFkZEV2ZW50TGlzdGVuZXIoVixNLHo3KSxuKEUsNDYwKS5wdXNoKGZ1bmN0aW9uKCl7WC5yZW1vdmVFdmVudExpc3RlbmVyKFYsTSx6Nyl9KSx0KEUsMjE5LFtYLFYsTV0pLFk9Mik6WT09NzYmJihVPWcoMTMsRSkscj1IKDI2LEUpLGY9SCgyNSxFKSx5PUgoMjYsRSkscT1uKEUsZiksVj1lKEUsciksWD1PKEUuWSxVKSxUPWUoRSx5KSxZPTE0KX0sNDgpLFsxNTQsMCwwXSkpLGZ1bmN0aW9uKEUpe1lQKEUsNCl9KSw1NSksRyksMzIxLGZ1bmN0aW9uKEUsVixxLGYsVSxNLHIsVCl7e1Q9NTA7d2hpbGUoVCE9OTIpVD09NTA\/KHE9SCgzMCxFKSxyPWcoMzksRSksTT1IKDIxLEUpLFQ9MjIpOlQ9PTUzP1Q9Zj09Mj81MTo5MjpUPT01OT8oRS5EPXZvaWQgMCxUPTUzKTpUPT0yMj9UPUUuWT09RT8xMzo5MjpUPT05Nj9UPXE9PTM4MD81OTo5MjpUPT01MT8oRS5TPUZNKEUsMzIsZmFsc2UpLEUuRD12b2lkIDAsVD05Mik6VD09MTMmJihmPU8oRSxyKSxWPW4oRSxxKSxVPW4oRSxNKSxWW2ZdPVUsVD05Nil9fSw1MCksMCk9PSFbXSlaKEcsMTA3LDApO3UoMzEsKGMoNjIsKGMoNTYsMCwoYyg1OSwwLChHLlRhPSh2KEcsMzQ4LCh2KEcsKHYoRywodihHLDI4NSxmdW5jdGlvbihFLFYscSxmLFUpe1Y9bihFLChVPShxPWcoMzcsRSksZj1IKDIyLEUpLG4oRSxxKSE9MCksZikpLFUmJkQoRSw0NixWKX0sKHYoRywxNDcsZnVuY3Rpb24oRSxWLHEsZixVLE0pe2Y9bihFLChWPShxPWcoNSwoVT1nKDEzLChNPWcoNSxFKSxFKSksRSkpLG4oRSxVKSksTSkpO3doaWxlKFtdIT0oTmFOPT09TmFOIT1udWxsKSlpZih0KEUscSxmIGluIFZ8MCksISFbXSlicmVha30sKChuZXcgeFAoKEQoRywoKFooRywodChHLDE4LChEKEcsKEQoRyw0NzMsKHYoRywodihHLDQ2NCxmdW5jdGlvbihFLFYpe0htKDIwNDgsMTA0LChWPWUoRSxnKDUsRSkpLEUuWSksViw0NiwwKX0sKHYoRywxNzIsZnVuY3Rpb24oRSxWLHEsZixVLE0pe3tNPTI3O3doaWxlKE0hPTYpTT09NjQ\/KFooRSxmLHEpLE09Nik6TT09Mjc\/KGY9SCgyMixFKSxWPWcoMTEsMixFKSxVPTAscT1bXSxNPTk4KTpNPT00MD9NPVU8Vj84OTo2NDpNPT0xOT8oVSsrLE09NDApOk09PTg5PyhxLnB1c2gobFoodHJ1ZSxFLDgpKSxNPTE5KTpNPT05OCYmKE09NDApfX0sNTMpLDUyKSksMzU1KSxmdW5jdGlvbihFLFYscSxmLFUsTSxyLFQpe0QoRSwoVD0ocT1PKEUsKFU9KGY9ZygzNiwocj0oVj1IKDIxLEUpLEgpKDI5LEUpLEUpKSxIKDIwLEUpKSxNPU8oRSxmKSxyKSksTykoRSxVKSxWKSxRcSh0cnVlLDEsMiwzLEUsVCxNLHEpKX0sNDkpLFtdKSksRChHLDM5NCxbXSksMjIpLFtdKSxpRykoNCkpLDQ2OSksdyksdikoRywzMzIsZnVuY3Rpb24oRSxWLHEsZixVLE0scixULHksWCl7e1g9ODg7d2hpbGUoWCE9NDcpWD09Mz8oVT1SSig1NCwwLEUuWSwyKSxUPVUuQ0Mscj1VLkkseT1VLnNtLE09ci5sZW5ndGgsZj1VLllULHE9TT09MD9uZXcgeVtmXTpNPT0xP25ldyB5W2ZdKHJbMF0pOk09PTI\/bmV3IHlbZl0oclswXSxyWzFdKTpNPT0zP25ldyB5W2ZdKHJbMF0sclsxXSxyWzJdKTpNPT00P25ldyB5W2ZdKHJbMF0sclsxXSxyWzJdLHJbM10pOjIoKSx0KEUsVCxxKSxYPTQ3KTpYPT04OCYmKFg9SihFLDAsMzgsZmFsc2UsVix0cnVlKT80NzozKX19LDQ5KSw0MzQpLEcpLCJTdWJtaXQiKSkpLmRpc3Bvc2UoKSw1MikpLDUxKSksMTkpLGZ1bmN0aW9uKEUsVixxLGYsVSxNKXtaKChVPWUoRSwoVj1lKChxPShmPUgoKE09SCgzMCxFKSwyMiksRSksSCgyNixFKSksRSksZiksTSkpPT1WLEUpLHEsK1UpfSw1MiksNDU0KSxmdW5jdGlvbihFLFYpe0QoRSwoVj1nKDEzLEUpLFYpLFtdKX0sNTMpLGZ1bmN0aW9uKEUpeyRQKDEsRSl9KSw0OCksMCksW1NBXSksRyksW0JtLHpdKSxHKSwwKSxbSmUsbF0sRyksMjU0KSx0cnVlLEcsdHJ1ZSl9LHFUPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24obSxsLEYsVyl7e1c9NTt3aGlsZShXIT04OCl7aWYoVz09NzgpcmV0dXJuIG1bbF09Ri52YWx1ZSxtO2lmKFc9PTQ4KXJldHVybiBtO1c9PTUmJihXPW09PUFycmF5LnByb3RvdHlwZXx8bT09T2JqZWN0LnByb3RvdHlwZT80ODo3OCl9fX0sbj1mdW5jdGlvbihtLGwsRil7aWYoKEY9bS5HW2xdLEYpPT09dm9pZCAwKXRocm93W3JNLDMwLGxdO3N3aXRjaCghRi52YWx1ZSl7Y2FzZSAwPT09LTA6LU51bWJlcigpPT09MDticmVhaztjYXNlIGZhbHNlOnJldHVybiBGLmNyZWF0ZSgpO2JyZWFrfXJldHVybihGLmNyZWF0ZShsKjQqbCstMjgqbCs3NSksRikucHJvdG90eXBlfSxLLGU9ZnVuY3Rpb24obSxsLEYpe0Y9bS5HW2xdO2Zvcih0cnVlK3RydWU7Rj09PXZvaWQgMDt1bmRlZmluZWQpe3Rocm93W3JNLDMwLGxdO2lmKFtdKWJyZWFrfWlmKEYudmFsdWUpcmV0dXJuIEYuY3JlYXRlKCk7cmV0dXJuKEYuY3JlYXRlKGwqNCpsKy0yOCpsKzc1KSxGKS5wcm90b3R5cGV9LFo9ZnVuY3Rpb24obSxsLEYpe2lmKGw9PTQ2fHxsPT04MCltLkdbbF0\/bS5HW2xdLmNvbmNhdChGKTptLkdbbF09SCg0OSxtLEYpO2Vsc2V7aWYobS5xYSYmbCE9MzgwKXJldHVybjtsPT01MTF8fGw9PTE4fHxsPT0yNDV8fGw9PTQ3fHxsPT0yMnx8bD09NDczfHxsPT0zOTR8fGw9PTM5N3x8bD09MzY4fHxsPT0xMTY\/bS5HW2xdfHwobS5HW2xdPUgoNDAsMjcsbSxGLGwsOTQpKTptLkdbbF09SCgxMiwyNyxtLEYsbCwxNTMpfWw9PTM4MCYmKG0uUz1GTShtLDMyLGZhbHNlKSxtLkQ9dm9pZCAwKX0sSUo9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHApe2lmKG0uWT09bSlmb3IoUT1lKG0sRiksRj09MTh8fEY9PTM2OHx8Rj09NDc\/KHo9ZnVuY3Rpb24oQSxFLFYscSxmLFUsTSxyKXtmb3Iocj00NCxNPTI4OzspdHJ5e2lmKHI9PTg5KWJyZWFrO2Vsc2UgaWYocj09MTcpUS5wdXNoKFEuaE9bLX5xKyh+cV43KSsofnEmNyldXkEpLHI9ODk7ZWxzZSBpZihyPT01MSlNPTU5LFEuaE89S18oMyxRcSh0cnVlLDEsUSw4LEUpLFYsUXEodHJ1ZSwxLFEsNDAsMiooRXw0KS1+KEUmNCkrfihFfDQpKSwxNikscj0xNztlbHNle2lmKHI9PTApdGhyb3cgTT0yOCxVO3I9PTQyPyhFPShmPDwzKS00LFY9WzAsMCxwWzFdLHBbMl1dLFEuTFE9ZixyPTUxKTpyPT01Mz9yPVEuTFEhPWY\/NDI6MTc6cj09NDQmJihxPVEubGVuZ3RoLGY9KHF8MCktND4+MyxyPTUzKX19Y2F0Y2goVCl7aWYoTT09MjgpdGhyb3cgVDtNPT01OSYmKFU9VCxyPTApfX0scD1lKG0sMzk3KSk6ej1mdW5jdGlvbihBKXtRLnB1c2goQSl9LFcmJnooVyYyNTUpLFM9MCxHPWwubGVuZ3RoO1M8RztTKyspeihsW1NdKX0sTF89ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYscSl7aWYoIWwucWEmJihRPXZvaWQgMCxtJiZtWzBdPT09ck0mJihGPW1bMV0sUT1tWzJdLG09dm9pZCAwKSxBPWUobCwyMiksQS5sZW5ndGg9PTAmJihTPU8obCw4MCk+PjMsQS5wdXNoKEYsUz4+OCYyNTUsUyYyNTUpLFEhPXZvaWQgMCYmQS5wdXNoKC0yNTUtMip+KFF8MjU1KSsyKih+UV4yNTUpKyh+USYyNTUpKSkscT0iIixtJiYobS5tZXNzYWdlJiYocSs9bS5tZXNzYWdlKSxtLnN0YWNrJiYocSs9IjoiK20uc3RhY2spKSxwPU8obCwxMTYpLHBbMF0+Mykpe3o9KHE9ZE0oKHBbcT1xLnNsaWNlKDAsKHBbMF18MCktMyksMF0tPShWPXEubGVuZ3RoLDYrKFYmLTQpLSh+ViYzKSkscSksVyksbC5ZKSxsLlk9bDt0cnl7bC5Jaj8oRT0oRT1uKGwsNDczKSkmJkVbRS5sZW5ndGgtMV18fDk1LChHPU8obCwzOTQpKSYmR1tHLmxlbmd0aC0xXT09RXx8SUoobCxbLX4oRXwyNTUpLShFJi0yNTYpKyhFfC0yNTYpXSwzOTQpKTpEZyhbOTVdLGwsNDczKSxEZyhkKHEubGVuZ3RoLDIpLmNvbmNhdChxKSxsLDE4LDUxKX1maW5hbGx5e2wuWT16fX19LHYwPWZ1bmN0aW9uKG0pe3JldHVybiByYy5jYWxsKHRoaXMsNCxtLDgpfSxVZj1mdW5jdGlvbigpe3JldHVybiBKTi5jYWxsKHRoaXMsODYsMjUsMyl9LGlaPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyl7cmV0dXJuIE1ULmNhbGwodGhpcyxudWxsLG0sNyxsLEYsVyxHLHosUSxTKX0sT2Y9ZnVuY3Rpb24obSxsLEYsVyxHLHope3JldHVybiBBZS5jYWxsKHRoaXMsZmFsc2UsbSxsLDcsRixXLEcseil9LFJKPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEpe0c9SCgyMCwoQT0oKFE9ZyhtLChwPUZbbl9dfHx7fSxGKSkscC5DQz1nKDM5LEYpLHApLkk9W10sRi5ZPT1GPyh6PWxaKHRydWUsRiw4KSx+KHomMSktfih6fDEpLVcqKH56JjEpKToxKSxGKSk7e1M9bDt3aGlsZShTPEEpcC5JLnB1c2goZygzNyxGKSksUysrfXtwLllUPWUoRixRKTt3aGlsZShBLS0pcC5JW0FdPW4oRixwLklbQV0pfXJldHVybiBwLnNtPU8oRixHKSxwfSxmXz1mdW5jdGlvbihtLGwpe3JldHVybiBzZi5jYWxsKHRoaXMsODAsNSxtLGwpfSxoZT1mdW5jdGlvbihtKXtyZXR1cm4gdE4uY2FsbCh0aGlzLDU0LDE2LG0pfSxoTj1mdW5jdGlvbihtLGwsRixXLEcseixRLFMpe3JldHVybiBvYi5jYWxsKHRoaXMsOSxtLGwsRixXLEcseixRLFMpfSxtZT1mdW5jdGlvbigpe2lmKGZhbHNlIT1udWxsKXJldHVybiBjLmNhbGwodGhpcywzKX0sR049ZnVuY3Rpb24obSxsLEYsVyxHKXt3aGlsZShtLmxlbmd0aD09Myl7e1c9MDt3aGlsZShXPDMpbFtXXSs9bVtXXSxXKyt9Rz0wO3tGPVsxMyw4LDEzLDEyLDE2LDUsMywxMCwxNV07d2hpbGUoRzw5KWxbM10obCxHJTMsRltHXSksRysrfWlmKCFbIiJdPT0wKWJyZWFrfX0sQjA9ZnVuY3Rpb24oKXtyZXR1cm4gTDIuY2FsbCh0aGlzLDQ3LDYpfSxZUD1mdW5jdGlvbihtLGwsRixXLEcseixRKXtJSigoKChHPU8oKEY9Zyg1MiwoUT1nKCh6PS1+KGwmMykrKGwmLTQpKyh+KFc9bCY0LGwpfDMpLDUyKSxtKSxtKSksbSksUSksVykmJihHPWRNKCIiK0csMjA0OCkpLHopJiZEZyhkKEcubGVuZ3RoLDIpLG0sRiksbSksRyxGKX0sbU49ZnVuY3Rpb24obSxsKXtyZXR1cm4gdE4uY2FsbCh0aGlzLDU0LDMsbSxsKX0sYUo9ZnVuY3Rpb24obSxsLEYsVyxHKXtyZXR1cm4genUuY2FsbCh0aGlzLDQsNSxHLGwsbSxGLFcpfSx4UD1mdW5jdGlvbihtLGwsRil7cmV0dXJuIEc3LmNhbGwodGhpcywzMSwzLG0sbCxGKX0sZUs9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTKXtpZighVy5DKXtXLmk0Kys7dHJ5e1E9dm9pZCAwLEc9MDt7ej1XLmo7d2hpbGUoLS1GKXRyeXtpZigoUz12b2lkIDAsVykuTylRPVcwKFcsVy5PKTtlbHNle2lmKEc9ZShXLGwpLEc+PXopYnJlYWs7UT1uKFcsKFM9Zyg0NiwodChXLDgwLEcpLFcpKSxTKSl9USYmUVt0ZV0mMjA0OD9RKFcsRik6TF8oW3JNLDIxLFNdLFcsMCwyMDQ4KSxKKFcsMCw3MCxtLEYsbSl9Y2F0Y2gocCl7ZShXLDIzKT9MXyhwLFcsMjIsMjA0OCk6RChXLDIzLHApfX1pZighRil7Zm9yKHVuZGVmaW5lZDtXLnFXO1tdPT10cnVlKXtXLmk0LS0sZUsoZmFsc2UsNDYsMzEzMDI2NDExNDExLFcpO3JldHVybjtpZihbXSE9dHJ1ZSlicmVha31MXyhbck0sMzNdLFcsMCwyMDQ4KX19Y2F0Y2gocCl7dHJ5e3doaWxlKCFbIiJdPT0wKWlmKExfKHAsVywyMiwyMDQ4KSwxKWJyZWFrfWNhdGNoKEEpe0gwKCJ+IiwzNCwiOiIsVyxBKX19Vy5pNC0tfX0sbFo9ZnVuY3Rpb24obSxsLEYpe3JldHVybiBsLk8\/VzAobCxsLmgpOkZNKGwsRixtKX0sWmc9ZnVuY3Rpb24obSxsLEYsVyxHLHope3JldHVybiBuKCh0KGwsKGVLKGZhbHNlLEcsKCh6PU8obCxHKSxsLkpPKSYmejxsLmo\/KHQobCxHLGwuaiksSG0oMjA0OCwxMDQsbCxXLEcsbSkpOloobCxHLFcpLEYpLGwpLEcpLHopLGwpLDMwNSl9LFdtPWZ1bmN0aW9uKG0sbCxGLFcsRyl7aWYoKEc9dHlwZW9mIGwsRyk9PSJvYmplY3QiKWlmKGwpe3N3aXRjaCghKGwgaW5zdGFuY2VvZiBBcnJheSkpe2Nhc2UgMD09KFtdPT10cnVlKTpOYU49PT1OYU47YnJlYWs7Y2FzZSBmYWxzZTpyZXR1cm4gRjticmVha313aGlsZShsIGluc3RhbmNlb2YgT2JqZWN0KXtyZXR1cm4gRztpZihbXSlicmVha31pZigoVz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobCksVyk9PSJbb2JqZWN0IFdpbmRvd10iKXJldHVybiJvYmplY3QiO3N3aXRjaCghKFc9PSJbb2JqZWN0IEFycmF5XSJ8fHR5cGVvZiBsLmxlbmd0aD09Im51bWJlciImJnR5cGVvZiBsLnNwbGljZSE9InVuZGVmaW5lZCImJnR5cGVvZiBsLnByb3BlcnR5SXNFbnVtZXJhYmxlIT0idW5kZWZpbmVkIiYmIWwucHJvcGVydHlJc0VudW1lcmFibGUoInNwbGljZSIpKSl7Y2FzZSAhZmFsc2U9PSEiIjohW10hPTA7YnJlYWs7Y2FzZSBOdW1iZXIodHJ1ZS50cnVlKT09PU5hTj09bnVsbDpyZXR1cm4gRjticmVha31pZihXPT0iW29iamVjdCBGdW5jdGlvbl0ifHx0eXBlb2YgbC5jYWxsIT0idW5kZWZpbmVkIiYmdHlwZW9mIGwucHJvcGVydHlJc0VudW1lcmFibGUhPSJ1bmRlZmluZWQiJiYhbC5wcm9wZXJ0eUlzRW51bWVyYWJsZShtKSlyZXR1cm4iZnVuY3Rpb24ifWVsc2UgcmV0dXJuIm51bGwiO2Vsc2UgZm9yKHRydWU7Rz09ImZ1bmN0aW9uIiYmdHlwZW9mIGwuY2FsbD09InVuZGVmaW5lZCI7dHJ1ZSl7cmV0dXJuIm9iamVjdCI7aWYoMD09KCEiIiE9IWZhbHNlKSlicmVha31yZXR1cm4gR30sYkc9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSl7KGwucHVzaCgoVz0oRj1tWzBdPDwyNHxtWzFdPDwxNixRPW1bMl08PDgsMiooUXwwKSt+KEYmUSktKH5GJlEpLSh+RnxRKSksUz1tWzNdLC0xLX5XKyh+VyZTKSkpLGwucHVzaChtWzRdPDwyNHxtWzVdPDwxNnxtWzZdPDw4fG1bN10pLGwpLnB1c2goKHA9KEc9bVs4XTw8MjQsej1tWzldPDwxNiwoRyZ6KSsoRyZ+eikrKH5HJnopKSxBPW1bMTBdPDw4LC0xLX5BKyhwJn5BKSl8bVsxMV0pfSxLXz1mdW5jdGlvbihtLGwsRixXLEcseixRLFMpe2Zvcih6PShRPUZbMl18MCxTPUZbbV18MCwwKTt6PEc7eisrKVM9Uz4+Pjh8Uzw8MjQsVz1XPj4+OHxXPDwyNCxXKz1sfDAsbD1sPDxtfGw+Pj4yOSxXXj1RKzMyNjAsUys9UXwwLGxePVcsUT1RPDxtfFE+Pj4yOSxTXj16KzMyNjAsUV49UztyZXR1cm5bbD4+PjI0JjI1NSxsPj4+RyYyNTUsbD4+PjgmMjU1LGw+Pj4wJjI1NSxXPj4+MjQmMjU1LFc+Pj5HJjI1NSxXPj4+OCYyNTUsVz4+PjAmMjU1XX0sRk09ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYscSxmLFUsTSxyKXtpZigoVj1lKG0sNDYpLFYpPj1tLmopdGhyb3dbck0sMzFdO2ZvcihNPShxPShHPWwsRT1WLG0uVjEubGVuZ3RoKSwwKTtHPjA7KXo9RT4+MyxyPUUlOCxXPW0uSk9bel0sZj04LShyfDApLFE9ZjxHP2Y6RyxGJiYoQT1tLFM9RSxBLkQhPVM+PjYmJihBLkQ9Uz4+NixwPU8oQSwzODApLEEuR2E9S18oMyxBLlMsWzAsMCxwWzFdLHBbMl1dLEEuRCwxNikpLFdePW0uR2FbeiZxXSksTXw9KFc+PjgtKHJ8MCktKFF8MCkmKDE8PFEpLTEpPDwoR3wwKS0oUXwwKSxHLT1RLEUrPVE7cmV0dXJuIFoobSwoVT1NLDQ2KSwoVnwwKSsobHwwKSksVX0sQ189ZnVuY3Rpb24oKXtyZXR1cm4gdS5jYWxsKHRoaXMsNTcpfSxEZz1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCl7c3dpdGNoKCEobC5ZPT1sKSl7Y2FzZSAhW3VuZGVmaW5lZF09PTA6MDticmVhaztjYXNlICEoZmFsc2U9PW51bGwpIT0hIiI9PW51bGw6Zm9yKHA9TyhsLEYpLEY9PTE4fHxGPT0zNjh8fEY9PTQ3Pyh6PWZ1bmN0aW9uKEEsRSxWLHEsZixVLE0scil7Zm9yKE09KHI9NzcsNzMpOzspdHJ5e2lmKHI9PTQ0KWJyZWFrO2Vsc2UgaWYocj09MTIpcj1wLkxRIT1xPzcxOjYwO2Vsc2UgaWYocj09NjApcC5wdXNoKHAuaE9bLX5WKyh+Vl43KSsoflYmNyldXkEpLHI9NDQ7ZWxzZSBpZihyPT05NSlNPTk2LHAuaE89S18oMyxRcSh0cnVlLDEscCwxMixFKSxmLFFxKHRydWUsMSxwLDE2LDIqKEV8NCktfihFJjQpK34oRXw0KSksMTYpLHI9NjA7ZWxzZSBpZihyPT03NylWPXAubGVuZ3RoLHE9KFZ8MCktND4+MyxyPTEyO2Vsc2UgaWYocj09NzEpZj1bMCwwLEdbMV0sR1syXV0scC5MUT1xLEU9KHE8PDMpLTQscj05NTtlbHNlIGlmKHI9PTU3KXRocm93IE09NzMsVTt9Y2F0Y2goVCl7aWYoTT09NzMpdGhyb3cgVDtNPT05NiYmKFU9VCxyPTU3KX19LEc9ZShsLDM5NykpOno9ZnVuY3Rpb24oQSl7cC5wdXNoKEEpfSxXJiZ6KFcmMjU1KSxTPTAsUT1tLmxlbmd0aDtTPFE7UysrKXoobVtTXSk7YnJlYWt9fSxsYT1mdW5jdGlvbigpe3JldHVybiBKTi5jYWxsKHRoaXMsODYsMjUsMjQpfSxQMD1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVil7aWYocD1tW0ZdLHA9PWpLKWwuSz10cnVlLGwuTmE9MjUsbC5UKG0pO2Vsc2Ugc3dpdGNoKCEocD09RlYpKXtjYXNlICFbXT09IW51bGw9PTA6c3dpdGNoKCEocD09SWIpKXtjYXNlIDA9PT0tMDpzd2l0Y2goIShwPT1CbSkpe2Nhc2UgdHJ1ZTppZihwPT1KZSl7dHJ5e3tFPUY7d2hpbGUoRTxsLkhILmxlbmd0aCl7dHJ5e1M9bC5ISFtFXSxTW0ZdW1NbMV1dKFNbMl0pfWNhdGNoKHEpe31FKyt9fX1jYXRjaChxKXt9KDAsbVsxXSkoZnVuY3Rpb24ocSxmKXtsLnhfKHEsdHJ1ZSxmKX0sZnVuY3Rpb24ocSl7KGMoNTgsKHE9IWwuaS5sZW5ndGgsRiksW3RlXSxsKSxxKSYmdSgzMywyNTQsZmFsc2UsbCx0cnVlKX0sKGwuSEg9W10sQT1sLlIoKSxmdW5jdGlvbihxKXtyZXR1cm4gbC5vaihxKX0pLGZ1bmN0aW9uKHEsZixVKXtyZXR1cm4gbC5PbShxLGYsVSl9KSxsLkYrPWwuUigpLUF9ZWxzZXtmb3IoMDtwPT1FajtOYU4pe3JldHVybiBHPW1bMl0sdChsLDIyNixtW1ddKSx0KGwsMzA1LEcpLGwuVChtKTtpZih0cnVlKWJyZWFrfXA9PXRlPyhsLlQobSksbC5KTz1bXSxsLnJxPVtdLGwuRz1udWxsKTpwPT1TQSYmdy5kb2N1bWVudC5yZWFkeVN0YXRlPT09ImxvYWRpbmciJiYobC5VPWZ1bmN0aW9uKHEsZil7ZnVuY3Rpb24gVShNKXt7TT01ODt3aGlsZShNIT00OSlNPT03Nz8oZj10cnVlLHcuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsVSx6Nyksdy5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixVLHo3KSxxKCksTT00OSk6TT09NTgmJihNPWY\/NDk6NzcpfX13LmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLFUsKGY9ZmFsc2UsejcpKSx3LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLFUsejcpfSl9YnJlYWs7Y2FzZSBmYWxzZTpsLmw9dHJ1ZSxsLlQobSk7YnJlYWt9YnJlYWs7Y2FzZSBOYU49PT1OYU46bVszXSYmKGwubD10cnVlKSxtWzRdJiYobC5LPXRydWUpLGwuVChtKTticmVha31icmVhaztjYXNlICEhbnVsbDp3aGlsZSh0cnVlKWlmKDA9PShRPW1bMV0sZmFsc2UpKWJyZWFrO3RyeXtWPWwuQ3x8bC5UKG0pfWNhdGNoKHEpe0gwKCJ+IiwzMCwiOiIsbCxxKSxWPWwuQ30oUSgoej1sLlIoKSxWKSksbCkuRis9bC5SKCktejticmVha319LG9KPWZ1bmN0aW9uKCl7cmV0dXJuIHNmLmNhbGwodGhpcyw4MCwxOCl9LGRNPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWLHEpe2ZvcihGPShxPShHPW0ucmVwbGFjZSgvXFxyXFxuL2csIlxcbiIpLDApLFtdKSxTPTA7UzxHLmxlbmd0aDtTKyspRT1HLmNoYXJDb2RlQXQoUyksRTwxMjg\/RltxKytdPUU6KEU8bD9GW3ErK109KHo9RT4+NiwzODQrfih6JjE5MiktKH56JjE5MiktKH56fDE5MikpOigoRSY2NDUxMik9PTU1Mjk2JiZTKzE8Ry5sZW5ndGgmJihHLmNoYXJDb2RlQXQoUysxKSY2NDUxMik9PTU2MzIwPyhFPShXPShFJjEwMjMpPDwxMCwxMzEwNzQrKDY1NTM2XlcpKzIqKC02NTUzN3xXKSkrKHA9Ry5jaGFyQ29kZUF0KCsrUyksMTAyMysofnBeMTAyMyktKH5wfDEwMjMpKSxGW3ErK109RT4+MTh8MjQwLEZbcSsrXT0oQT0oVj1FPj4xMiwoVnwwKSt+KFYmNjMpLSAtNjQtKFZeNjMpKSwxMjgtfihBJjEyOCkrLTEyOSsoQV4xMjgpKSk6RltxKytdPUU+PjEyfDIyNCxGW3ErK109RT4+NiY2M3wxMjgpLEZbcSsrXT0oUT1FJjYzLC1+KFF8MTI4KSsoflEmMTI4KSsoUXwtMTI5KSkpO3JldHVybiBGfSxhYj1mdW5jdGlvbihtKXtyZXR1cm4gTVouY2FsbCh0aGlzLDczLDQwLG0pfSxPaj1mdW5jdGlvbihtLGwpe2Z1bmN0aW9uIEYoKXt0aGlzLnU0PXRoaXMuSD10aGlzLm49MH1yZXR1cm4gbD0obT0oRi5wcm90b3R5cGUubDQ9KEYucHJvdG90eXBlLkpqPWZ1bmN0aW9uKCl7cmV0dXJuIGVBLmNhbGwodGhpcywxMiw4Nyw1KX0sZnVuY3Rpb24oVyxHKXtyZXR1cm4gTVQuY2FsbCh0aGlzLG51bGwsVywyNCxHKX0pLG5ldyBGKSxuZXcgRiksW2Z1bmN0aW9uKFcpe20ubDQoVyksbC5sNChXKX0sZnVuY3Rpb24oVyl7cmV0dXJuIFc9W20uSmooKSxsLkpqKCksbS5ILGwuSF0sbD1uZXcgRixXfV19LHdNPWZ1bmN0aW9uKG0sbCxGLFcsRyx6KXtyZXR1cm4gWTUuY2FsbCh0aGlzLDc0LDQsbCxHLFcseixGLG0sMyl9LFZxPXFaKDgsIm9iamVjdCIsIk1hdGgiLDAsdGhpcyk7d2hpbGUodHJ1ZSlpZihTSyhudWxsLDEsMTYsIi4iLDAsIlN5bWJvbCIsZnVuY3Rpb24obSxsLEYsVyxHLHope2ZvcihHPTM7RyE9Njc7KXtpZihHPT0xMSlyZXR1cm4gbTtpZihHPT01MylyZXR1cm4gVy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ldn0sbD0ianNjb21wX3N5bWJvbF8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApKyJfIixGPTAsejtHPT0zPyhXPWZ1bmN0aW9uKFEsUyl7cVQodGhpcywiZGVzY3JpcHRpb24iLCh0aGlzLmV2PVEse2NvbmZpZ3VyYWJsZTp0cnVlLHdyaXRhYmxlOnRydWUsdmFsdWU6U30pKX0sej1mdW5jdGlvbihRLFMpe2ZvcihTPTQzO1MhPTgxOylpZihTPT00MylTPXRoaXMgaW5zdGFuY2VvZiB6PzM1OjUxO2Vsc2V7aWYoUz09MzUpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sIGlzIG5vdCBhIGNvbnN0cnVjdG9yIik7aWYoUz09NTEpcmV0dXJuIG5ldyBXKGwrKFF8fCIiKSsiXyIrRisrLFEpfX0sRz00KTpHPT00JiYoRz1tPzExOjUzKX19KSx0cnVlKWJyZWFrO3ZhciB3PXRoaXN8fHNlbGYsYlo9ImNsb3N1cmVfdWlkXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCksQzI9MCxmMiwkNT1mdW5jdGlvbihtLGwsRixXLEcseil7Zm9yKHo9KEc9MzksNzgpOzspdHJ5e2lmKEc9PTkzKWJyZWFrO2Vsc2V7aWYoRz09NjUpcmV0dXJuIGZhbHNlO2lmKEc9PTQ0KW09ZmFsc2UsbD1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXttPXRydWV9fSksRz0yMjtlbHNlIGlmKEc9PTIyKXo9NjksRj1mdW5jdGlvbigpe30sdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixGLGwpLHcucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsRixsKSxHPTc2O2Vsc2UgaWYoRz09MzkpRz13LmFkZEV2ZW50TGlzdGVuZXImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eT80NDo2NTtlbHNle2lmKEc9PTc2KXJldHVybiB6PTc4LG07Rz09MjQmJih6PTc4LEc9NzYpfX19Y2F0Y2goUSl7aWYoej09NzgpdGhyb3cgUTt6PT02OSYmKFc9USxHPTI0KX19KCksVk89ImNsb3N1cmVfbGlzdGVuYWJsZV8iKygoKCgoZl8ucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj0oKChmXy5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dHJ1ZX0sKEIwLnByb3RvdHlwZS5BPWZhbHNlLEIwKS5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbihtKXt7bT04ODt3aGlsZShtIT0zMyltPT01Nj8odGhpcy5BPXRydWUsdGhpcy52KCksbT0zMyk6bT09ODgmJihtPXRoaXMuQT8zMzo1Nil9fSxCMCkucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfSxCMCkucHJvdG90eXBlLnY9ZnVuY3Rpb24obSl7Zm9yKG09NDY7bSE9NTc7KW09PTg\/KHRoaXMuZlEuc2hpZnQoKSgpLG09OTYpOm09PTM\/bT03MjptPT00Nj9tPXRoaXMuZlE\/Mzo1NzptPT05Nj9tPTcyOm09PTcyJiYobT10aGlzLmZRLmxlbmd0aD84OjU3KX0sZnVuY3Rpb24oKXt0aGlzLlFwPXRydWV9KSxOKDIsZl8sMzkscF8pLHBfLnByb3RvdHlwZSkuaW5pdD1mdW5jdGlvbihtLGwsRixXLEcseil7Zm9yKHo9ODQ7eiE9NTc7KXo9PTI3P3o9Rz09Im1vdXNlb3ZlciI\/OTM6NDY6ej09ODQ\/KEc9dGhpcy50eXBlPW0udHlwZSxGPW0uY2hhbmdlZFRvdWNoZXMmJm0uY2hhbmdlZFRvdWNoZXMubGVuZ3RoP20uY2hhbmdlZFRvdWNoZXNbMF06bnVsbCx0aGlzLnRhcmdldD1tLnRhcmdldHx8bS5zcmNFbGVtZW50LHRoaXMuY3VycmVudFRhcmdldD1sLFc9bS5yZWxhdGVkVGFyZ2V0LHo9ODcpOno9PTc1Pyh0aGlzLmJ1dHRvbj1tLmJ1dHRvbix0aGlzLmtleUNvZGU9bS5rZXlDb2RlfHwwLHRoaXMua2V5PW0ua2V5fHwiIix0aGlzLmNoYXJDb2RlPW0uY2hhckNvZGV8fChHPT0ia2V5cHJlc3MiP20ua2V5Q29kZTowKSx0aGlzLmN0cmxLZXk9bS5jdHJsS2V5LHRoaXMuYWx0S2V5PW0uYWx0S2V5LHRoaXMuc2hpZnRLZXk9bS5zaGlmdEtleSx0aGlzLm1ldGFLZXk9bS5tZXRhS2V5LHRoaXMucG9pbnRlcklkPW0ucG9pbnRlcklkfHwwLHRoaXMucG9pbnRlclR5cGU9bS5wb2ludGVyVHlwZSx0aGlzLnN0YXRlPW0uc3RhdGUsdGhpcy50aW1lU3RhbXA9bS50aW1lU3RhbXAsdGhpcy5HRD1tLG0uZGVmYXVsdFByZXZlbnRlZCYmcF8uSi5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpLHo9NTcpOno9PTIyPyh0aGlzLm9mZnNldFg9bS5vZmZzZXRYLHRoaXMub2Zmc2V0WT1tLm9mZnNldFksdGhpcy5jbGllbnRYPW0uY2xpZW50WCE9PXZvaWQgMD9tLmNsaWVudFg6bS5wYWdlWCx0aGlzLmNsaWVudFk9bS5jbGllbnRZIT09dm9pZCAwP20uY2xpZW50WTptLnBhZ2VZLHRoaXMuc2NyZWVuWD1tLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPW0uc2NyZWVuWXx8MCx6PTc1KTp6PT00Nj96PUc9PSJtb3VzZW91dCI\/OTY6OTc6ej09OTE\/ej1GPzE2OjIyOno9PTkzPyhXPW0uZnJvbUVsZW1lbnQsej05Nyk6ej09OTc\/KHRoaXMucmVsYXRlZFRhcmdldD1XLHo9OTEpOno9PTE2Pyh0aGlzLmNsaWVudFg9Ri5jbGllbnRYIT09dm9pZCAwP0YuY2xpZW50WDpGLnBhZ2VYLHRoaXMuY2xpZW50WT1GLmNsaWVudFkhPT12b2lkIDA\/Ri5jbGllbnRZOkYucGFnZVksdGhpcy5zY3JlZW5YPUYuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9Ri5zY3JlZW5ZfHwwLHo9NzUpOno9PTg3P3o9Vz85NzoyNzp6PT05NiYmKFc9bS50b0VsZW1lbnQsej05Nyl9LHBfKS5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7KHBfLkouc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyksdGhpcy5HRC5zdG9wUHJvcGFnYXRpb24pP3RoaXMuR0Quc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5HRC5jYW5jZWxCdWJibGU9dHJ1ZX0scF8ucHJvdG90eXBlKS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbihtKXt3aGlsZShbXSlpZihwXy5KLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksW10pYnJlYWs7KG09dGhpcy5HRCxtKS5wcmV2ZW50RGVmYXVsdD9tLnByZXZlbnREZWZhdWx0KCk6bS5yZXR1cm5WYWx1ZT1mYWxzZX0sTWF0aC5yYW5kb20oKSoxRTYpfDApLHZtPSJjb25zdHJ1Y3RvciBoYXNPd25Qcm9wZXJ0eSBpc1Byb3RvdHlwZU9mIHByb3BlcnR5SXNFbnVtZXJhYmxlIHRvTG9jYWxlU3RyaW5nIHRvU3RyaW5nIHZhbHVlT2YiLnNwbGl0KCIgIiksRWY9MCxOWj0iY2xvc3VyZV9sbV8iKygoKHYwLnByb3RvdHlwZS5Gdz1mdW5jdGlvbihtLGwsRixXLEcseil7cmV0dXJuKChHPS0oej10aGlzLmdbbS50b1N0cmluZygpXSwxKSx6KSYmKEc9enUoNCwzNCxsLDAsRixXLHopKSxHKT4tMT96W0ddOm51bGx9LHYwLnByb3RvdHlwZS5yZW1vdmU9KHYwLnByb3RvdHlwZS5oYXNMaXN0ZW5lcj1mdW5jdGlvbihtLGwsRixXLEcpe3JldHVybiB4NSgxNywoRz0oRj1tIT09KFc9bCE9PXZvaWQgMCx2b2lkIDApKT9tLnRvU3RyaW5nKCk6IiIsOCksZmFsc2UsdHJ1ZSxmdW5jdGlvbih6LFEsUyl7Zm9yKFM9OTM7UyE9NDE7KXtpZihTPT0yMSlyZXR1cm4gdHJ1ZTtpZihTPT04MilyZXR1cm4gZmFsc2U7Uz09ODg\/KCsrUSxTPTUzKTpTPT01Mz9TPVE8ei5sZW5ndGg\/NDg6ODI6Uz09OTM\/KFE9MCxTPTI0KTpTPT00OD9TPUYmJnpbUV0udHlwZSE9R3x8VyYmeltRXS5jYXB0dXJlIT1sPzg4OjIxOlM9PTI0JiYoUz01Myl9fSx0aGlzLmcpfSxmdW5jdGlvbihtLGwsRixXLEcseixRLFMpe2ZvcihTPTY2O1MhPTMwOyl7aWYoUz09OTUpcmV0dXJuIGZhbHNlO2lmKFM9PTEyKVM9eiBpbiB0aGlzLmc\/MzY6OTU7ZWxzZSBpZihTPT03MylkZWxldGUgdGhpcy5nW3pdLHRoaXMuY0gtLSxTPTIzO2Vsc2UgaWYoUz09MzYpRz10aGlzLmdbel0sUT16dSg0LDMzLGwsMCxXLEYsRyksUz0xMTtlbHNle2lmKFM9PTIzKXJldHVybiB0cnVlO2lmKFM9PTI2KVM9Ry5sZW5ndGg9PTA\/NzM6MjM7ZWxzZSBpZihTPT0xMSlTPVE+LTE\/NzA6NTQ7ZWxzZSBpZihTPT02Nil6PW0udG9TdHJpbmcoKSxTPTEyO2Vsc2V7aWYoUz09NTQpcmV0dXJuIGZhbHNlO1M9PTcwJiYoUU8obnVsbCwyOCxHW1FdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoRyxRLDEpLFM9MjYpfX19fSksdjAucHJvdG90eXBlKS5hZGQ9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSl7e0E9Njk7d2hpbGUoQSE9NTEpaWYoQT09MzQpej1TW1FdLEE9MjtlbHNlIGlmKEE9PTgwKXouQkg9ZmFsc2UsQT00NTtlbHNlIGlmKEE9PTg3KVE9enUoNCwzMixsLDAsRyxXLFMpLEE9MjA7ZWxzZSBpZihBPT02OSlwPW0udG9TdHJpbmcoKSxTPXRoaXMuZ1twXSxBPTUyO2Vsc2UgaWYoQT09MilBPUY\/NDU6ODA7ZWxzZSBpZihBPT0yNCl6PW5ldyBhSihHLGwsdGhpcy5zcmMscCwhIVcpLHouQkg9RixTLnB1c2goeiksQT00NTtlbHNlIGlmKEE9PTIwKUE9UT4tMT8zNDoyNDtlbHNle2lmKEE9PTQ1KXJldHVybiB6O0E9PTUyP0E9Uz84Nzo0NjpBPT00NiYmKFM9dGhpcy5nW3BdPVtdLHRoaXMuY0grKyxBPTg3KX19fSxNYXRoKS5yYW5kb20oKSoxRTZ8MCksZGM9e30sRGk9MCxVaj0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApOygoSz0oKE4oMixCMCw2LFVmKSxVZi5wcm90b3R5cGUpW1ZPXT10cnVlLFVmKS5wcm90b3R5cGUsSy5rXz1mdW5jdGlvbihtKXt0aGlzLnRPPW19LEspLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24obSxsLEYsVyl7aWYoMD09PS0wIT0hW10pQWUoZmFsc2UsbnVsbCx0cnVlLDU5LEYsVyxtLGwsdGhpcyl9LEsucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihtLGwsRixXKXtvYigyNCxudWxsLDAsVyxGLGwsdGhpcyxtKX0sSy5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWKXt7Vj03Njt3aGlsZShWIT02MilpZihWPT0xMylWPSFXLlFwJiZwPj0wPzU2OjQ3O2Vsc2UgaWYoVj09NzMpVj16PzUwOjQ3O2Vsc2UgaWYoVj09NTMpVj0hVy5RcCYmcDx6Lmxlbmd0aD82Njo1NztlbHNlIGlmKFY9PTg3KVM9Vy5jdXJyZW50VGFyZ2V0PUcsbD1jKDg5LDAsdHJ1ZSxRLFcsUykmJmwsVy5RcHx8KGw9Yyg5MSwwLGZhbHNlLFEsVyxTKSYmbCksVj0xNjtlbHNlIGlmKFY9PTYzKVY9RT80OjY5O2Vsc2UgaWYoVj09NylWPVcgaW5zdGFuY2VvZiBmXz84Mjo0NTtlbHNlIGlmKFY9PTQ1KUE9VyxXPW5ldyBmXyhRLEcpLHVHKFcsQSksVj0zODtlbHNlIGlmKFY9PTcxKVY9dHlwZW9mIFc9PT0ic3RyaW5nIj81NDo3O2Vsc2UgaWYoVj09NzYpRT10aGlzLnRPLFY9NjM7ZWxzZSBpZihWPT0zNilwLS0sVj0xMztlbHNlIGlmKFY9PTExKVY9RT81ODo2OTtlbHNlIGlmKFY9PTQpRj1bXSxWPTE3O2Vsc2V7aWYoVj09NTcpcmV0dXJuIGw7Vj09NTI\/KHA9MCxWPTQxKTpWPT03Mj8oRT1FLnRPLFY9MTEpOlY9PTY0PyhwKyssVj01Myk6Vj09NDE\/Vj01MzpWPT01OD8oRi5wdXNoKEUpLFY9NzIpOlY9PTUwPyhwPXoubGVuZ3RoLTEsVj0zNSk6Vj09NTQ\/KFc9bmV3IGZfKFcsRyksVj0zOCk6Vj09Njk\/KFc9bSxHPXRoaXMuREssUT1XLnR5cGV8fFcsej1GLFY9NzEpOlY9PTE2P1Y9ej81Mjo1NzpWPT04Mj8oVy50YXJnZXQ9Vy50YXJnZXR8fEcsVj0zOCk6Vj09Mzg\/KGw9dHJ1ZSxWPTczKTpWPT0xNz9WPTExOlY9PTQ3P1Y9Vy5RcD8xNjo4NzpWPT01Nj8oUz1XLmN1cnJlbnRUYXJnZXQ9eltwXSxsPWMoOTAsMCx0cnVlLFEsVyxTKSYmbCxWPTM2KTpWPT0zNT9WPTEzOlY9PTY2JiYoUz1XLmN1cnJlbnRUYXJnZXQ9eltwXSxsPWMoODgsMCxmYWxzZSxRLFcsUykmJmwsVj02NCl9fX0sSy52PWZ1bmN0aW9uKCl7VWYuSi52LmNhbGwodGhpcyksdGhpcy5CJiZBZShmYWxzZSxudWxsLDAsMTQsdGhpcy5CKSx0aGlzLnRPPW51bGx9LEsuRnc9ZnVuY3Rpb24obSxsLEYsVyl7cmV0dXJuIHRoaXMuQi5GdyhTdHJpbmcobSksbCxGLFcpfSxLKS5oYXNMaXN0ZW5lcj1mdW5jdGlvbihtLGwpe3JldHVybiB0aGlzLkIuaGFzTGlzdGVuZXIobSE9PXZvaWQgMD9TdHJpbmcobSk6dm9pZCAwLGwpfTt2YXIgbjI7KEs9KE4oMiwoKGMoKCgoKCgoKCgiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpLmNvbmNhdChbIkJVVFRPTiIsIklOUFVUIl0pLEs9VHUucHJvdG90eXBlLEspLnU9ZnVuY3Rpb24obSxsKXtyZXR1cm4gbD10aGlzLnZILHR5cGVvZiBtPT09InN0cmluZyI\/bC5nZXRFbGVtZW50QnlJZChtKTptfSxLKS5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbihtLGwpe3JldHVybihsfHx0aGlzLnZIKS5nZXRFbGVtZW50c0J5VGFnTmFtZShTdHJpbmcobSkpfSxLKS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKG0sbCxGKXtyZXR1cm4obD1TdHJpbmcoKEY9dGhpcy52SCxtKSksRikuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24veGh0bWwreG1sIiYmKGw9bC50b0xvd2VyQ2FzZSgpKSxGLmNyZWF0ZUVsZW1lbnQobCl9LEspLmNyZWF0ZVRleHROb2RlPWZ1bmN0aW9uKG0pe3JldHVybiB0aGlzLnZILmNyZWF0ZVRleHROb2RlKFN0cmluZyhtKSl9LEsuYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24obSxsKXttLmFwcGVuZENoaWxkKGwpfSxLKS5hcHBlbmQ9ZnVuY3Rpb24obSxsKXtRTygib2JqZWN0IiwzMiwwLGZhbHNlLCJhcnJheSIsbS5ub2RlVHlwZT09OT9tOm0ub3duZXJEb2N1bWVudHx8bS5kb2N1bWVudCxtLGFyZ3VtZW50cyl9LEsuY2FuSGF2ZUNoaWxkcmVuPWZ1bmN0aW9uKG0sbCl7Zm9yKGw9Mzg7bCE9MjA7KWlmKGw9PTM4KWw9bS5ub2RlVHlwZSE9MT83ODo5OTtlbHNle2lmKGw9PTc4KXJldHVybiBmYWxzZTtpZihsPT05OSl7c3dpdGNoKG0udGFnTmFtZSl7Y2FzZSAiQVBQTEVUIjpjYXNlICJBUkVBIjpjYXNlICJCQVNFIjpjYXNlICJCUiI6Y2FzZSAiQ09MIjpjYXNlICJDT01NQU5EIjpjYXNlICJFTUJFRCI6Y2FzZSAiRlJBTUUiOmNhc2UgIkhSIjpjYXNlICJJTUciOmNhc2UgIklOUFVUIjpjYXNlICJJRlJBTUUiOmNhc2UgIklTSU5ERVgiOmNhc2UgIktFWUdFTiI6Y2FzZSAiTElOSyI6Y2FzZSAiTk9GUkFNRVMiOmNhc2UgIk5PU0NSSVBUIjpjYXNlICJNRVRBIjpjYXNlICJPQkpFQ1QiOmNhc2UgIlBBUkFNIjpjYXNlICJTQ1JJUFQiOmNhc2UgIlNPVVJDRSI6Y2FzZSAiU1RZTEUiOmNhc2UgIlRSQUNLIjpjYXNlICJXQlIiOnJldHVybiBmYWxzZX1yZXR1cm4gdHJ1ZX19fSxLKS5yZW1vdmVOb2RlPWhlLEspLmNvbnRhaW5zPWZ1bmN0aW9uKG0sbCxGLFcpe2ZvcihXPTY3O1chPTQzOyl7aWYoVz09OTEpcmV0dXJuIG09PWx8fG0uY29udGFpbnMobCk7aWYoVz09NzEpVz10eXBlb2YgbS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiE9InVuZGVmaW5lZCI\/NjQ6MztlbHNlIGlmKFc9PTg5KVc9ODU7ZWxzZSBpZihXPT04NSlXPWwmJm0hPWw\/MzA6MTk7ZWxzZSBpZihXPT0zMClsPWwucGFyZW50Tm9kZSxXPTg5O2Vsc2V7aWYoVz09NjQpcmV0dXJuIG09PWx8fCEhKEY9bS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihsKSwxNysoRl4xNiktMioofkYmMTYpKyh+RnwxNikpO2lmKFc9PTI0KVc9bS5jb250YWlucyYmbC5ub2RlVHlwZT09MT85MTo3MTtlbHNle2lmKFc9PTYxKXJldHVybiBmYWxzZTtpZihXPT0zKVc9ODU7ZWxzZXtpZihXPT0xOSlyZXR1cm4gbD09bTtXPT02NyYmKFc9bSYmbD8yNDo2MSl9fX19fSwzNCksQ18pLENfLnByb3RvdHlwZS5tRz0wLENfKS5wcm90b3R5cGUudGo9IiIsVWYpLDYsYWIpLGFiKS5wcm90b3R5cGUsSykuZkM9Q18uYjQoKTt3aGlsZShudWxsIT1mYWxzZSlpZihLLnU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5afSx7fSlicmVhaztpZighZmFsc2U9PSEiIiE9W10pSy5nZXRQYXJlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy56RH07Sy5ZXz0oSy52PShLLnJlbW92ZUNoaWxkPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWLHEpe2ZvcihxPTY2O3EhPTMyOylpZihxPT03NSlTPXRoaXMuZXEscD0oUyE9PW51bGwmJkUgaW4gUz9TW0VdOnZvaWQgMCl8fG51bGwscT0xMTtlbHNlIGlmKHE9PTE4KUU9USxxPTEwO2Vsc2UgaWYocT09NzcpVz1tLHE9NDY7ZWxzZSBpZihxPT00NClxPUUmJm0\/Njk6Mzk7ZWxzZSBpZihxPT02NSlBPW0sRj1tLmZDLFY9Ri50aisiOiIrKEYubUcrKykudG9TdHJpbmcoMzYpLEc9QS5RMT1WLHE9MTY7ZWxzZSBpZihxPT02OSl6PXRoaXMuZXEsRSBpbiB6JiZkZWxldGUgeltFXSxyYyg0LDEsMTgsbSx0aGlzLk9uKSxxPTEzO2Vsc2V7aWYocT09NjcpdGhyb3cgRXJyb3IoIlVuYWJsZSB0byBzZXQgcGFyZW50IGNvbXBvbmVudCIpO2lmKHE9PTQ2KXE9Vz09bnVsbD82Nzo0MTtlbHNlIGlmKHE9PTExKW09cCxxPTQ0O2Vsc2UgaWYocT09MTApcT10aGlzLmVxJiZFPzc1OjUyO2Vsc2UgaWYocT09NjYpcT1tPzIxOjM5O2Vsc2UgaWYocT09NTkpcT0oRz1tLlExKT8xNjo2NTtlbHNle2lmKHE9PTYyKXJldHVybiBtO2lmKHE9PTE2KVE9RyxxPTE4O2Vsc2UgaWYocT09ODYpbS5ZXygpLG0uWiYmaGUobS5aKSxxPTc3O2Vsc2UgaWYocT09MjEpcT10eXBlb2YgbT09PSJzdHJpbmciPzI3OjU5O2Vsc2V7aWYocT09MTUpdGhyb3cgRXJyb3IoIkNoaWxkIGlzIG5vdCBpbiBwYXJlbnQgY29tcG9uZW50Iik7cT09Mjc\/KFE9bSxxPTE4KTpxPT01Mj8ocD1udWxsLHE9MTEpOnE9PTM5P3E9bT82MjoxNTpxPT00MT8oVy56RD1udWxsLGFiLkoua18uY2FsbChXLG51bGwpLHE9MzkpOnE9PTEzJiYocT1sPzg2Ojc3KX19fX0sZnVuY3Rpb24obSl7Zm9yKG09NDk7bSE9Njk7KW09PTU5P209dGhpcy5ncT83ODoxNTptPT00OT8odGhpcy5NYSYmdGhpcy5ZXygpLG09NTkpOm09PTE1PyhBZShmYWxzZSx0aGlzLGZ1bmN0aW9uKGwpe2wuZGlzcG9zZSgpfSw4KSwhdGhpcy5MQyYmdGhpcy5aJiZoZSh0aGlzLlopLHRoaXMuWj10aGlzLmVxPXRoaXMuekQ9dGhpcy5Pbj1udWxsLGFiLkoudi5jYWxsKHRoaXMpLG09NjkpOm09PTc4JiYodGhpcy5ncS5kaXNwb3NlKCksZGVsZXRlIHRoaXMuZ3EsbT0xNSl9KSxLLmtfPWZ1bmN0aW9uKG0sbCl7e2w9NzI7d2hpbGUobCE9MTgpaWYobD09NzIpbD10aGlzLnpEJiZ0aGlzLnpEIT1tPzM4OjUzO2Vsc2UgaWYobD09NTMpYWIuSi5rXy5jYWxsKHRoaXMsbSksbD0xODtlbHNlIGlmKGw9PTM4KXRocm93IEVycm9yKCJNZXRob2Qgbm90IHN1cHBvcnRlZCIpO319LGZ1bmN0aW9uKCl7dGhpcy5NYT0hKChBZShmYWxzZSx0aGlzLGZ1bmN0aW9uKG0pe20uTWEmJm0uWV8oKX0sMTIpLHRoaXMuZ3EpJiZBZShmYWxzZSxudWxsLDAsMTMsdGhpcy5ncSksMSl9KTt2YXIgV0ksajM9KGMoMzIsb0opLHtidXR0b246InByZXNzZWQiLGNoZWNrYm94OiJjaGVja2VkIixtZW51aXRlbToic2VsZWN0ZWQiLG1lbnVpdGVtY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtcmFkaW86ImNoZWNrZWQiLHJhZGlvOiJjaGVja2VkIix0YWI6InNlbGVjdGVkIix0cmVlaXRlbToic2VsZWN0ZWQifSksd2M9KChOKDIsb0osKCgoKChLPW9KLnByb3RvdHlwZSxLKS5qcT1mdW5jdGlvbihtKXtyZXR1cm4gbS51KCl9LEspLlZwPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyl7KFM9KChHPW0uZ2V0QXR0cmlidXRlKChXSXx8KFdJPXsxOiJkaXNhYmxlZCIsODoic2VsZWN0ZWQiLDE2OiJjaGVja2VkIiw2NDoiZXhwYW5kZWQifSksVz1XSVtsXSwicm9sZSIpKXx8bnVsbCk\/KFE9ajNbR118fFcsej1XPT0iY2hlY2tlZCJ8fFc9PSJzZWxlY3RlZCI\/UTpXKTp6PVcseikpJiZ0Tig1NCwyNiwibGl2ZSIsImF0b21pYyIsbSxGLFMpfSxLLlg9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSl7e1E9MTk7d2hpbGUoUSE9MzApUT09Mjk\/KEc9dGhpcy5nTygpLEcucmVwbGFjZSgvXFx4YTB8XFxzL2csIiAiKSx0aGlzLkFPPXsxOkcrIi1kaXNhYmxlZCIsMjpHKyItaG92ZXIiLDQ6RysiLWFjdGl2ZSIsODpHKyItc2VsZWN0ZWQiLDE2OkcrIi1jaGVja2VkIiwzMjpHKyItZm9jdXNlZCIsNjQ6RysiLW9wZW4ifSxRPTYyKTpRPT0xOT8oej1tLnUoKSxRPTEyKTpRPT00OD9RPXRoaXMuQU8\/NjI6Mjk6UT09NjI\/KChXPXRoaXMuQU9bbF0pJiZ0aGlzLldIKG0sVyxGKSx0aGlzLlZwKHosbCxGKSxRPTMwKTpRPT0xMiYmKFE9ej80ODozMCl9fSxLLmdPPWZ1bmN0aW9uKCl7cmV0dXJuImdvb2ctY29udHJvbCJ9LEspLldIPWZ1bmN0aW9uKG0sbCxGLFcpeyhXPW0udT9tLnUoKTptKSYmKEY\/WFY6bU4pKFcsW2xdKX0sSykucFE9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHApe1M9NjU7e1E9Njk7d2hpbGUoIWZhbHNlPT0hIiIpdHJ5e2lmKFM9PTU0KWJyZWFrO2Vsc2UgUz09NDM\/KEY9eixTPTgpOlM9PTg0PyhGLnRhYkluZGV4PS0xLEYucmVtb3ZlQXR0cmlidXRlKCJ0YWJJbmRleCIpLFM9NTQpOlM9PTk2P1M9IWwmJm0uUCYzMj8zMDozOTpTPT00Nj8oUT02OSxTPTY2KTpTPT01OD8oUT02OSxTPTQ2KTpTPT0zMD8oUT01MCx6LmJsdXIoKSxTPTQ2KTpTPT0zNT8oVz16LnRhYkluZGV4LEc9dHlwZW9mIFc9PT0ibnVtYmVyIiYmVz49MCYmVzwzMjc2OCxTPTM4KTpTPT02Nj9TPW0uUCYzMj83NTozOTpTPT03NT8oSig0LDIsOSxtKSYmbS5zZXRBY3RpdmUoZmFsc2UpLEooMzIsMiw4LG0pJiZjKDIxLDAsMzIsbSxmYWxzZSkmJm0uWCgzMixmYWxzZSksUz0zOSk6Uz09MjA\/KEYudGFiSW5kZXg9MCxTPTU0KTpTPT02NT9TPW0ud3EmMzImJih6PW0uanEoKSk\/OTY6NTQ6Uz09OD9TPWw\/MjA6ODQ6Uz09Mzg\/Uz1HIT1sPzQzOjU0OlM9PTM5JiYoUz0oRz16Lmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKSk\/MzU6MzgpfWNhdGNoKEEpe2lmKFE9PTY5KXRocm93IEE7UT09NTAmJihwPUEsUz01OCl9fX0sNzApLGxhKSxjKDQwLGxhKSxsYSkucHJvdG90eXBlLmdPPWZ1bmN0aW9uKCl7cmV0dXJuImdvb2ctYnV0dG9uIn0sbGEucHJvdG90eXBlLlZwPWZ1bmN0aW9uKG0sbCxGKXtzd2l0Y2gobCl7Y2FzZSA4OmNhc2UgMTY6dE4oNTQsMjUsImxpdmUiLCJhdG9taWMiLG0sRiwicHJlc3NlZCIpO2JyZWFrO2RlZmF1bHQ6Y2FzZSA2NDpjYXNlIDE6bGEuSi5WcC5jYWxsKHRoaXMsbSxsLEYpfX0se30pO2lmKHRydWUpTigyLGFiLDcxLGhOKTtpZigoKCgoKCgoKCgoKEs9aE4ucHJvdG90eXBlLEspLlN2PTI1NSxLKS5oaj10cnVlLEspLlA9MCxLKS53cT0zOSxLLnY9ZnVuY3Rpb24obSl7Zm9yKG09OTI7bSE9NzE7KW09PTE2PyhkZWxldGUgdGhpcy5MLHRoaXMuVz1udWxsLG09NzEpOm09PTkyPyhoTi5KLnYuY2FsbCh0aGlzKSxtPTY1KTptPT02NT9tPXRoaXMuU3E\/NDg6MTY6bT09NDgmJih0aGlzLlNxLmRpc3Bvc2UoKSxkZWxldGUgdGhpcy5TcSxtPTE2KX0sSy5XPW51bGwsSykuWV89ZnVuY3Rpb24oKXsoKGhOLkouWV8uY2FsbCh0aGlzKSx0aGlzKS5TcSYmdGhpcy5TcS5kZXRhY2goKSx0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLmlzRW5hYmxlZCgpKSYmdGhpcy5MLnBRKHRoaXMsZmFsc2UpfSxLKS5YeD0wLEsuanE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5MLmpxKHRoaXMpfSxLKS5XSD1mdW5jdGlvbihtLGwsRil7e0Y9OTI7d2hpbGUoRiE9NTgpRj09MzI\/Rj1tJiZ0aGlzLlcmJnJjKDQsMSwxNixtLHRoaXMuVyk\/ODY6NTg6Rj09OTI\/Rj1sPzI2OjMyOkY9PTQzPyh0aGlzLlc9bnVsbCxGPTU2KTpGPT0yNj9GPW0\/NTQ6NTg6Rj09NTQ\/KHRoaXMuVz9NWig3MywxNSwwLG0sdGhpcy5XKT49MHx8dGhpcy5XLnB1c2gobSk6dGhpcy5XPVttXSx0aGlzLkwuV0godGhpcyxtLHRydWUpLEY9NTgpOkY9PTg2P0Y9dGhpcy5XLmxlbmd0aD09MD80Mzo1NjpGPT01NiYmKHRoaXMuTC5XSCh0aGlzLG0sZmFsc2UpLEY9NTgpfX0sSykuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGp9LEspLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiEodGhpcy5QJjEpfSxLLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuISEodGhpcy5QJjQpfSxLKS5zZXRBY3RpdmU9ZnVuY3Rpb24obSl7YygxMywwLDQsdGhpcyxtKSYmdGhpcy5YKDQsbSl9LEsuZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5QfSxLLlg9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSl7Zm9yKFE9MDtRIT0xMjspUT09Mz8odGhpcy5pc1Zpc2libGUoKSYmdGhpcy5MLnBRKHRoaXMsRyksdGhpcy5YKDEsIUcsdHJ1ZSksUT0xMik6UT09MD9RPUZ8fG0hPTE\/MTg6OTI6UT09MTg\/UT10aGlzLndxJm0mJmwhPSEhKHRoaXMuUCZtKT85NToxMjpRPT0yNj8odGhpcy5zZXRBY3RpdmUoZmFsc2UpLGMoMjMsMCwyLHRoaXMsZmFsc2UpJiZ0aGlzLlgoMixmYWxzZSksUT0zKTpRPT05Mj8oRz0hbCx6PXRoaXMuZ2V0UGFyZW50KCksUT0zOCk6UT09Mzg\/UT16JiZ0eXBlb2Ygei5pc0VuYWJsZWQ9PSJmdW5jdGlvbiImJiF6LmlzRW5hYmxlZCgpfHwhYygxNSwwLDEsdGhpcywhRyk\/MTI6NjQ6UT09OTU\/KHRoaXMuTC5YKHRoaXMsbSxsKSx0aGlzLlA9bD8oVz10aGlzLlAsKG18MCkrfm0tfihXfG0pKTp0aGlzLlAmfm0sUT0xMik6UT09NjQmJihRPUc\/MzoyNil9LHR5cGVvZiBoTikhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBjbGFzcyAiK2hOKTtzd2l0Y2goISh0eXBlb2Ygb0ohPT0iZnVuY3Rpb24iKSl7Y2FzZSAhKE51bWJlcigpIT0hW10pIT0hIiIhPW51bGw6dW5kZWZpbmVkO2JyZWFrO2Nhc2UgTnVtYmVyKCkhPSFbXTp0aHJvdyBFcnJvcigiSW52YWxpZCByZW5kZXJlciBjbGFzcyAiK29KKTticmVha312YXIgRlM9cVooMyxoTik7YygxMCwoTigyLGxhLDM4LChNWig3Myw2LCh3Y1tGU109b0osImdvb2ctY29udHJvbCIpLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBoTihudWxsKX0pLG1lKSksbWUpKSxtZS5wcm90b3R5cGUucFE9ZnVuY3Rpb24oKXt9O3doaWxlKDExKWlmKG1lLnByb3RvdHlwZS5YPWZ1bmN0aW9uKG0sbCxGLFcsRyl7Zm9yKEc9NztHIT0xMDspRz09Nz8obWUuSi5YLmNhbGwodGhpcyxtLGwsRiksVz1tLnUoKSxHPTM3KTpHPT04ND8oVy5kaXNhYmxlZD1GLEc9MTApOkc9PTM3JiYoRz1XJiZsPT0xPzg0OjEwKX0sdHJ1ZSE9W10pYnJlYWs7TVooNzMsMywiZ29vZy1idXR0b24iLCgoTigyLGhOLDM4LChtZS5wcm90b3R5cGUuVnA9ZnVuY3Rpb24oKXt9LHhQKSkseFApLnByb3RvdHlwZS52PWZ1bmN0aW9uKCl7ZGVsZXRlICh4UC5KLnYuY2FsbCh0aGlzKSxkZWxldGUgdGhpcy5OVyx0aGlzKS5LQ30sZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHhQKG51bGwpfSkpO3ZhciBUNyxSYj13LnJlcXVlc3RJZGxlQ2FsbGJhY2s\/ZnVuY3Rpb24obSl7cmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbigpe20oKX0se3RpbWVvdXQ6NH0pfTp3LnNldEltbWVkaWF0ZT9mdW5jdGlvbihtKXtzZXRJbW1lZGlhdGUobSl9OmZ1bmN0aW9uKG0pe3NldFRpbWVvdXQobSwwKX0sejc9e3Bhc3NpdmU6dHJ1ZSxjYXB0dXJlOnRydWV9LG5fPVN0cmluZy5mcm9tQ2hhckNvZGUoMTA1LDExMCwxMTYsMTAxLDEwMyw2NywxMDQsMTAxLDk5LDEwNyw2NiwxMjEsMTEyLDk3LDExNSwxMTUpLEplPVtdLEZWPShiLnByb3RvdHlwZS5Vbj0idG9TdHJpbmciLFtdKSxTQT1bXSxCbT1bXSxyTT17fSxFaj1bXSx0ZT1bXSxqSz0oYi5wcm90b3R5cGUub2I9dm9pZCAwLFtdKSxJYj0oYi5wcm90b3R5cGUucVc9ZmFsc2UsYi5wcm90b3R5cGUueFQ9dm9pZCAwLFtdKSxtYj0oKChiRyxpRyxmdW5jdGlvbigpe30pKE5UKSxHTixrUCxmdW5jdGlvbigpe30pKE9qKSx2b2lkIDApLEd1PSgoKChLPWIucHJvdG90eXBlLEsucEM9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTKXtyZXR1cm4gTVQuY2FsbCh0aGlzLG51bGwsbSwxNixsLEYsVyxHLHosUSxTKX0sSykua1Q9MCxLLlpLPWZ1bmN0aW9uKCl7cmV0dXJuIEc3LmNhbGwodGhpcywzMSw3Mil9LEspLnhfPWZ1bmN0aW9uKG0sbCxGLFcsRyx6KXtyZXR1cm4gUXEuY2FsbCh0aGlzLHRydWUsbSxsLDEzLEYsVyxHLHopfSxLKS5qdj1mdW5jdGlvbihtLGwsRixXLEcpe3JldHVybiBKLmNhbGwodGhpcyxsLG0sNzQsRixXLEcpfSxLLlI9KHdpbmRvdy5wZXJmb3JtYW5jZXx8e30pLm5vdz9mdW5jdGlvbigpe3JldHVybiB0aGlzLndPK3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4rbmV3IERhdGV9LHJNLmNvbnN0cnVjdG9yKTsoSy5VbT0oSy52az1mdW5jdGlvbigpe3JldHVybiBHNy5jYWxsKHRoaXMsMzEsNil9LGIucHJvdG90eXBlLlY9ImNyZWF0ZSIsZnVuY3Rpb24obSxsLEYsVyxHLHope3JldHVybiBZNS5jYWxsKHRoaXMsNzQsNCxsLEcsVyx6LEYsbSwyNyl9KSxLPWIucHJvdG90eXBlLEspLlQ9ZnVuY3Rpb24obSxsKXtyZXR1cm4gbT0obWI9KGw9e30sZnVuY3Rpb24oKXtyZXR1cm4gbT09bD83NToxMjB9KSx7fSksZnVuY3Rpb24oRixXLEcseixRLFMscCxBLEUsVixxLGYsVSxNLHIsVCx5LFgsWSx4LGEsQixSLHVaLGsscDIsSSxoLHlPLGMwLFhNLFAsSzIsakEsZ00sTCxDLEVWKXt3aGlsZSh0cnVlKWlmKEw9NjUsIksiKWJyZWFrO2ZvcihYTT0oQz0oakE9dW5kZWZpbmVkLDE2KSxmYWxzZSk7Oyl0cnl7aWYoTD09NDYpYnJlYWs7ZWxzZSBpZihMPT0xMSlTPUkuY2hhckNvZGVBdChXKSxMPTg3O2Vsc2UgaWYoTD09NDUpSzI9WmcoMCx0aGlzLDgwMDEsRlsxXSw0NiksakE9NDIsTD05NTtlbHNlIGlmKEw9PTczKVpnKDAsdGhpcyxGWzJdLEZbMV0sNDYpLEw9OTU7ZWxzZSBpZihMPT00OClXKyssTD05NztlbHNlIGlmKEw9PTgyKUw9Vi5sZW5ndGg+ND80NDo3O2Vsc2UgaWYoTD09OTcpTD1XPEkubGVuZ3RoPzExOjIwO2Vsc2UgaWYoTD09NTUpVC5sZW5ndGg9MCxMPTk1O2Vsc2UgaWYoTD09MzgpQz04LExfKFAsdGhpcywxNywyMDQ4KSxqQT00NixMPTk1O2Vsc2UgaWYoTD09NzYpakEhPT11bmRlZmluZWQ\/KEw9akEsakE9dW5kZWZpbmVkKTpMPTQ2O2Vsc2UgaWYoTD09NDEpRlsxXS5wdXNoKE8odGhpcyw0NykubGVuZ3RoLG4odGhpcywzOTQpLmxlbmd0aCxuKHRoaXMsNDczKS5sZW5ndGgsTyh0aGlzLDE4KS5sZW5ndGgsZSh0aGlzLDI0NSkubGVuZ3RoLG4odGhpcywzNjgpLmxlbmd0aCxuKHRoaXMsNTExKS5sZW5ndGgsbih0aGlzLDExNilbMF0pLEQodGhpcywzMDUsRlsyXSksdGhpcy5HWzM4OV0mJlpnKDAsdGhpcyw4MDAxLG4odGhpcywzODkpLDQ2KSxMPTk1O2Vsc2UgaWYoTD09NilFPSIiLGY9MCxMPTM0O2Vsc2UgaWYoTD09NylDPTgsdGhpcy5ZPXAyLEw9ODtlbHNlIGlmKEw9PTIpTD1HPT10ZT8yNTo5NTtlbHNlIGlmKEw9PTM0KUw9ODg7ZWxzZSBpZihMPT05NilDPTgzLFI9Tyh0aGlzLDIyKSxSLmxlbmd0aD4wJiZJSih0aGlzLGQoUi5sZW5ndGgsMikuY29uY2F0KFIpLDUxMSw0OCksRGcoZCh0aGlzLk4rMT4+MSwxKSx0aGlzLDUxMSw4NyksRGcoZCh0aGlzW0ZWXS5sZW5ndGgsMSksdGhpcyw1MTEpLGg9dGhpcy5Jaj9uKHRoaXMsMzk0KTpPKHRoaXMsNDczKSxoLmxlbmd0aD4wJiZJSih0aGlzLGQoaC5sZW5ndGgsMikuY29uY2F0KGgpLDQ3LDY0KSxYPW4odGhpcyw0NyksWC5sZW5ndGg+NCYmRGcoZChYLmxlbmd0aCwyKS5jb25jYXQoWCksdGhpcyw1MTEsNjUpLGE9MCxhKz1PKHRoaXMsMTA3KSYyMDQ3LFY9ZSh0aGlzLDE4KSxhLT0oTyh0aGlzLDUxMSkubGVuZ3RofDApKzUsVi5sZW5ndGg+NCYmKGEtPShWLmxlbmd0aHwwKSszKSxhPjAmJklKKHRoaXMsZChhLDIpLmNvbmNhdChpRyhhKSksNTExLDUzKSxMPTgyO2Vsc2UgaWYoTD09MjYpVj1WLnNsaWNlKDAsMUU2KSxJSih0aGlzLFtdLDUxMSwxOTcpLERnKFtdLHRoaXMsNTExLDM2KSxMPTcwO2Vsc2UgaWYoTD09MTkpaz14LnZhbHVlLEw9MTM7ZWxzZSBpZihMPT03MSlMPUc9PUVqPzQ1OjI7ZWxzZSBpZihMPT02NylDPTgsTD0zMDtlbHNlIGlmKEw9PTkyKUw9ODY7ZWxzZSBpZihMPT0yMilBPUZbMl0sdVo9ZCgocT1lKHRoaXMsNTExKS5sZW5ndGgsLTIqfnErKHFeMikrMioofnF8MikpLDIpLHAyPXRoaXMuWSx0aGlzLlk9dGhpcyxMPTk2O2Vsc2UgaWYoTD09NzkpTD1HPT1qSz80MTowO2Vsc2UgaWYoTD09MTUpQz01NCxJPWF0b2IoeSksVz0wLE09W10scj0wLEw9ODA7ZWxzZSBpZihMPT04NSlFPSIqIitFLEw9OTE7ZWxzZXtpZihMPT00MilyZXR1cm4gSzI7aWYoTD09MzUpTVtyKytdPVMsTD00ODtlbHNlIGlmKEw9PTApTD1HPT1GVj8yMjo3NTtlbHNle2lmKEw9PTkwKXJldHVybiBLMjtpZihMPT02OSlDPTgsRz1GWzBdLEw9NzI7ZWxzZSBpZihMPT02NClMPUU\/ODU6NjtlbHNlIGlmKEw9PTEyKUM9OCxlSyhmYWxzZSw0Niw4MDAxLHRoaXMpLEw9OTU7ZWxzZSBpZihMPT05NSlDPTE2LG09YzAsTD03NjtlbHNlIGlmKEw9PTMwKXg9Qi5uZXh0KCksTD04NjtlbHNlIGlmKEw9PTU3KUM9OCxRPWlHKDIpLmNvbmNhdChPKHRoaXMsNTExKSksUVsxXT0oWT1RWzBdLC0oWXwwKSsoWXw2MCkrKFkmLTYxKSksUVszXT1RWzFdXnVaWzBdLFFbNF09UVsxXV51WlsxXSxFPXRoaXMuUGsoUSksTD02NDtlbHNlIGlmKEw9PTcyKUw9Rz09Qm0\/NzQ6Nzk7ZWxzZSBpZihMPT04KUw9akEhPT11bmRlZmluZWQ\/OTU6NTc7ZWxzZSBpZihMPT05MSl5Tz1FLGUodGhpcyw0NykubGVuZ3RoPUEuc2hpZnQoKSxPKHRoaXMsMzk0KS5sZW5ndGg9QS5zaGlmdCgpLG4odGhpcyw0NzMpLmxlbmd0aD1BLnNoaWZ0KCksTyh0aGlzLDE4KS5sZW5ndGg9QS5zaGlmdCgpLG4odGhpcywyNDUpLmxlbmd0aD1BLnNoaWZ0KCksTyh0aGlzLDM2OCkubGVuZ3RoPUEuc2hpZnQoKSxuKHRoaXMsNTExKS5sZW5ndGg9QS5zaGlmdCgpLG4odGhpcywxMTYpWzBdPUEuc2hpZnQoKSxLMj15TyxqQT05MCxMPTk1O2Vsc2UgaWYoTD09MjUpe2lmKHo9KFQ9bih0aGlzLDQ2MCksdHlwZW9mIFN5bWJvbCE9InVuZGVmaW5lZCIpJiZTeW1ib2wuaXRlcmF0b3ImJlRbU3ltYm9sLml0ZXJhdG9yXSlwPXouY2FsbChUKTtlbHNlIGlmKHR5cGVvZiBULmxlbmd0aD09Im51bWJlciIpcD17bmV4dDpHNygzMSwxNiwwLFQpfTtlbHNlIHRocm93IEVycm9yKFN0cmluZyhUKSsiIGlzIG5vdCBhbiBpdGVyYWJsZSBvciBBcnJheUxpa2UiKTtMPSh4PShCPXAsQi5uZXh0KCkpLDkyKX1lbHNlIGlmKEw9PTY1KWMwPW0sbT1sLEw9Njk7ZWxzZSBpZihMPT05NClNW3IrK109UyYyNTUsUz4+PTgsTD0zNTtlbHNlIGlmKEw9PTg4KUw9ZjxRLmxlbmd0aD8xNDo5MTtlbHNlIGlmKEw9PTE0KVU9UVtmXVt0aGlzLlVuXSgxNiksVS5sZW5ndGg9PTEmJihVPSIwIitVKSxFKz1VLEw9NjY7ZWxzZSBpZihMPT00NClMPVYubGVuZ3RoPjFFNj8yNjo3MDtlbHNlIGlmKEw9PTg3KUw9Uz4yNTU\/OTQ6MzU7ZWxzZSBpZihMPT04MClMPTk3O2Vsc2UgaWYoTD09ODYpTD14LmRvbmU\/NTU6MTk7ZWxzZSBpZihMPT0yMCl0aGlzLkpPPU0sdGhpcy5qPXRoaXMuSk8ubGVuZ3RoPDwzLFoodGhpcywzODAsWzAsMCwwXSksTD0xMjtlbHNlIGlmKEw9PTc0KXk9RlsxXSxMPTE1O2Vsc2UgaWYoTD09NjYpZisrLEw9ODg7ZWxzZSBpZihMPT0xMylDPTU4LGsoKSxMPTMwO2Vsc2UgaWYoTD09NzUpTD1HPT1JYj83Mzo3MTtlbHNlIGlmKEw9PTcwKURnKGQoVi5sZW5ndGgsMikuY29uY2F0KFYpLHRoaXMsNTExLDE2NiksTD03O2Vsc2UgaWYoTD09NTApdGhyb3cgZ007fX19Y2F0Y2gobEcpe2lmKEM9PShnTT1sRywxNikpdGhyb3cgbEc7Qz09NTg\/KEVWPWxHLEw9NjcpOkM9PTg\/KGpBPTUwLEw9OTUpOkM9PTgzPyhqQT01MCxMPTcpOkM9PTU0JiYoUD1sRyxMPTM4KX19fSgpLEsuUGs9ZnVuY3Rpb24obSxsLEYsVyxHKXtyZXR1cm4gQU4uY2FsbCh0aGlzLDUyLDUsRixXLG0sNSxsLEcpfSxLLk9tPWZ1bmN0aW9uKCl7cmV0dXJuIHFaLmNhbGwodGhpcywzNCl9LEsub2o9ZnVuY3Rpb24oKXtyZXR1cm4geDUuY2FsbCh0aGlzLDE3LDYpfTt2YXIgY207Sy5GeD0wO3doaWxlKHt9KWlmKChLLmFiPTAsMCE9KCFbXT09KDA9PSFbIiJdKSk9PW51bGwpPT0hW10pYnJlYWs7dmFyIFBtPShiLnByb3RvdHlwZVtKZV09WzAsMCwxLDEsMCwxLDFdLC8uLyksek49Qm0ucG9wLmJpbmQoYi5wcm90b3R5cGVbaktdKTtjbT1TSyhiLnByb3RvdHlwZS5WLChQbVtiLnByb3RvdHlwZS5Vbl09ek4se2dldDp6Tn0pLDI0KTt3aGlsZShmYWxzZT09IVtdKWlmKGIucHJvdG90eXBlLk1XPXZvaWQgMCx0cnVlKWJyZWFrO3ZhciBzaj1mdW5jdGlvbihtLGwpe3JldHVybihsPXUoMyxudWxsLCJlcnJvciIsImtzIikpJiZtLmV2YWwobC5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEYpe3JldHVybiBsLmNyZWF0ZVNjcmlwdChGKX06ZnVuY3Rpb24oRil7cmV0dXJuIiIrRn19KHcpOygoVDc9dy5rbml0c2FpbHx8KHcua25pdHNhaWw9e30pLFQ3Lm0pPjQwfHwoVDcubT00MSxUNy5rcz13TSxUNy5hPWlaKSxUNykuQ2VVXz1mdW5jdGlvbihtLGwsRixXLEcseixRLFMpe3JldHVybltmdW5jdGlvbihwKXtyZXR1cm4gdihmYWxzZSxTLHAsOCl9LChTPW5ldyBiKG0sbCxRLEcsVyx6KSxmdW5jdGlvbihwKXtTLm9qKHApfSldfTt9KS5jYWxsKHRoaXMpOyddLmpvaW4oJ1xuJykpKTt9KS5jYWxsKHRoaXMpOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IjhYRm4yMWFUVGwxLXFKUHBrdUpKU2ciPihmdW5jdGlvbigpe3ZhciByPScxJzt2YXIgY2U9MzA7dmFyIHNjdG09ZmFsc2U7dmFyIHA9J0NlVTRvTjIvVzVIK0t0UnYzTHVxNEw0MXlaTCsrL2I5R1ltRmo5SWJVYUxKN253cjJzWTNLbXdiQURHbURZQUR1RFozeEVpRk5OSVdXRHh2WGNTOTR5MkZON2J4Z2ZvekZuNzdVWUk2bU0xTWlQYWRxanhDczFhakxaTElmWnZxZHEzQUkvQmt5R1BqSFVyVHluaGNYNi9SdWMzTk5YdHl6NVMycC9IcisxMU1wY2tvODhZQzgrV29tWmJkMmRraUc0YmpzQ0RFcExoN3liK0ViVzkzMTBuNmQ3ME1MbUl3byt3YUF0M3lDdmIxQUZKK3RwaDRMZzc1YlJuL1VZWU5hUnlZb1EwMi9BZm0vOEFsWUp3WUxBNHE2NGRmQXBnSzJKU0tvZUNVTTBJMHh3bjZpZ0JHbXFEWnRBSHpUNmpPb0hHeEdidGJYRHZWMVJJeXJHSVN0M3dNVVBtVnZYOGdPYm9lUU5EZWdTSWhuUExMOXVxd1VSWFhwdW1zQnIvdStQYldnNGluSTNZd0JMWFM2UGFxRm9kdFBlVTVBRXJrUDdTMXF1S24rVTFJSVRza2xYSFFRWGx6RjJYaThuWWltYUVRd2phQ1BZb0RTWXB6M296UFNFZG1OUWUzZUcwc3BNOHpxRDlwN3E3OHJpM0MwMERISW8rRWJTTzB1SGdRRExEV21UTkJ4ekdwOU5DZTFJZk1sTDJPamM3cFJYRW1CM3hWL2ZCVlBIZkpjRjBtTkpCMkoyVU85WkduU3VISVRFYjRHeEZQM0w4bjR5L3oyRE51S2c5T09KVWwxTEx2eEIyNkdpNjB0bzB5TnNaL2h5K0I1ckdWNUtGc2VzNDNxSjhnQVVESlRvU2VnMDVMUDltR2JhTWxTQ3ZnREtrZU9ET2tnTllXOFoxdG01dytQdnNxdExLWDRrMWFEV0QyaWNBS0dudWdiU0dKNjhrZVI5QUZSK0NHYWk4QjV1RUphdmt4Tlp1eHRZdXRHUnNjZ056UjZPNzl6Y1h2aE9sSUVvQ3o0czNUbjQzZnpvQThTODRpR2RmWlNRQjJjdEh0b2djRWk1Wm1OSHRqZG1EWDhwZm54YWxVVnNEV2ZMdlI0TFNaOTZFbjRnRnBWdkFDVEZGQitkbTJXbkRySU1kOGJIemdPSHZNWmtLbUtpc3Bla1Q2eHJLT3E4a2IydTJHZkcybXduS001RjVXMm5EZkU4MzlRWklEQTVnVHpXbzJaZHhLdHFaL0lhemczbDlzcGdDQVl1bkR5eFByMTlhZHUzUy83eGNSSXk2aG5GL2szeGpwQkxreEllY3QvQS9ISVJ4a3YyQnZmWTBzTDhaYzRqRmt4NVRLdDdQZGVucXVRT3czUGthTU5kZ0pxZUY1d3YvbDhRMTJJWEd0TktVRUZ2cERRMCtZdWdtWjA4L0c4WjhOTk5rR2swUzlhSGhTNEg1cCt1VlRNaFUrS3UvSGQ0T0FqNFRQME1UOU9aQ3oxNlJZejV6dXNIRUlsb2xSRWlKeEJhdFlaUzFYVndKYStseXAwU1psRXFoQnZPL3hudW11bmhpeU8rOElQUFhGMWlkQjBRNUp1aGh5Uk83ZFdNRlRMZnZrZU1Wa3pmSklwRWhvRElNL0MrY0pKN0kzOWhkbGxMK2tUR1lpeHllNER0RkZHSExJL0VqSFNBQU12b2RBZUxrTEZtRXR5UUZQY3hxOUdHalVWR284SXhDZXpxaGtoQW5DeEQrUVZ0UVdMcWg4citoYkpGUTBaRERmdGVCZzRMOGtqMTQvbE1HanhqRG00R3BUdlNZUENPY0JPR1F1V1orZnJicDNTY3dGVlFGWUNPcmhSM0RseE1PWnBOTmpyUTl6b3ZkLzFoZVRad3NLQkZIWnQxakZZYkZZUUxEc2pFWjZzVk1lbTI3VHl3UkxNbFFObWk1SDAyMXBtTjlhdWVTWnpXN0xIZk84UndWRkpwUmNpY2RLd0ptRXlxWFU5L1dmdm5GYm5TREphZHNQZGY1cGtQR0RMUWVCTTlYaHZMTlk4QlFVNjFzSEY5MzB0VCtPakRoaHFYWE9kVXlYcit4SHJyL3hzbGViMldLUnN3Y3paejhhQUtqQU5PQ3VMcStWSDNMMmNBK2dKSHJQaHJpZXF4azAyU2hibUpwcEY2VHFjNWppb3BiMmZwVHhURXl2S0ZKMUV1K1NQaU1ueDZVVUhmbFVrbFJyQmtPNHUzcnJHY0VNMnVCazNRL3Zoa3VVQXNTUjBQbk1LbVk0L3o2QWQ1aWE3NzFWYzhvS2U1MVRsU1FCUWFMRUZGcUZ5VDNxOVJTV0M5NkRIbVp6RVFjQXR5cXA0c2J2UnlLNi9QclBFckpxWGJSWm5qd204RzlwN3hTdDA4U3hzTHpJNyt6WWp5UXdCRWVyQk95VVZIUUpWTjg0V0xnQ0VtU0d4Wkh6bG1mS2ZKRHBYdmNmR1FTUjVSU1FiSTBFM1VQSlduR0Qvc0lGT0J3UTF0dzA3TklpVUpTSXA4ZE0xaXA1V3d3UEdBVWRFZXpmakRKR0Y0TVc0Zk5aMXlYa3YzUmdRbHNvZnpldEZKaGpwaHVkQkhhK3N1NlVRNjNmYVZqQVBndGtUeXNIaFkzYlNMd2piNHZPNlNRTVlKb1d4dlRHckN5VFQ0UW12ck04OGRWSCt0bVF0bEtIdjFlUUF6WDF1V3NnVU5qcXd2MEZkV0R4Q2poT2hDSS9WSjJ0YkRrWW84eXhJOVJVRk9JUXlPczAwVnBFUDVxTHpBNlkrVWJGeVAwMGJhUk1RN3EyRlpTV0hvQXplSnRrMmkxZWY4eUZLbVM1Qjk5ZHRFRU5UaUFtMTVDQVFyajAwQU1lYjFoY1djWUZUNkNEMXhsT1NyRHFmRVkxa1lWeDdVR284ekl3TEpBdVg4bHQvTkluZzZsUkN0M2cvTTdaUjhUTmZTOVZ4ejI3RFF5eDNxU1dxVjVhT1NGVkpaS1Q0cloyQnlZcjFtQldmNktObkxEcEtrdkZOSlBCU1UzMnl2d09pWCs5dDA4YVp3OGJHMHNYaHJlWFRUcG9SOFJ2cXI4ZDdFOWRuK29IVWN3MzVQOGtKUnF5N2VBUjZrUjc2UW11ZFpxbXdLUWJhY1N2d29iaVJGZDE0anE3K3VBMUFMb1dQTndZS3hicndYWWtwT1I3M2w1OWc3YU4xUVdkUEhYeUEwRVphRTlSaVJwK0xObWNZM29MV3VYcEc3LzdGb0hWTzZLZlpEaWdJakwxTmJTZHpwZ3NHV0dWMUUwMEswbTAvVVhEclN6ZFZCeHlMZzlTeGRtYTlEWU41MEZzMU93Vm5EOXcwdVl5MGM4Ly8yOUM2QlVZWGlDY1g3UHV0bE5zSkt4Qy9tNkdqVUg0UkxFM0NjQXdmWUtoNC83VVQ1cmREblpHZ25ObkhzWnZTTkhjZUV1dHhIb3lXb1A0MkZEd2p1RnkvY0U0UklCWnRXMmpiNFJyK0hpZkRRbTJTWVdDR1BIZWpoYzhubU1qbzdBUjVQQVBXUTEzMGRNakwwUjh2MHd2SHpDQ1dtbTBQNHZiNlU2MzFMdGVuaG8rYmozQmRIc00wQlZXUzhBbmZUREx2dElia3ZaZGtEdW44RW16b1g4WktOeW9RMi9rZDFaTUd1SGhncDA5MzNEejdqUVVicHBqcWxzZEhuRm9uMXhMdlFSL0trMFY0K1NNbGRJemlKWmo0RmVUNHA2WUM1Q01NS1Z2aWRkdFA2cGV1clNUNzZHbkNrY0p1eS9WSi9nWWU5dHd3c2V3Zk4xTTNSSW9WMzF3QlNDdmtrb3UwcVZtSUJUYTlMeGNTc2t0S21WbWthWWhTSDlUYzBDMFRaSFJCRUp4ZDE4Zi9kZUpaTUhoUnpSL1I3WU5RR0FIdUFqdlV5V3M0T3RRWGNjQTRkS3JXclFYbzdUbi94Z2NKMktPVTlnVm4xN2VhRnFnT3IyNU9qSTU5NmhEd2tCMml6ZENEY29nM1h2MDdVdDlXdFIvb0pCdWJ6V0F3eXkxa1J6d2Q4Z0xHNkdHMzFkMEsvaXA0OWJoOE8reXUyVGpnM1k3OEtZNWVOT2t2ekRFTkZWU3NtbXZzT2s0eEh2WFZDek1VY0hBMjFCdWRvMXI2MUI0amNJenE4VVFhZVk4TFRYTEdXaFlmT3Q2bTBWcEJEYWp2Z3E1UCtGb1lZMWhnYjdVZTJSQllmSGRyazlPcVhkN2N3MU1wMlhSN3d1ZGdMSE9rcHRlQW8zczlDTEcyMDVya1JMMVFYNFBxUzJSS1VvZDVPSjVsOVBYM2xlTGlYeU9raThVNFBRRjFicmFCSGJOMk1xR3BqeldGeHFNb3N2dVA1Q3ZjNlRLMHowZUlaUzZHYnZMR3FyL2R6SEVxZXdIcUFjaG16NWJzMXhxb2R0ZUw0dlZCMHRHc0hrSWRSVDRXTnJIdnZ0d3l0Zm12ak5leEVOVlJWN3daRnVuNEMrYnEzdHN2ZnRoTzNTWkZLamY1N1ByaFE4RGFvZVI4SjVJRVNNQm43T3JRWjdnZXNwcUs3NTdzR3pjWXUxZW1WcjNPUG0zd283dWY2YTdrejFSYjIvSEU5dlZVVWFFNWZ6YXBhR2k1WVRKRXRRNjM5MnNpbTFqVEFydjkrRFVVS3NWYUFGRzQvZjNvU1hJaDlQK0p2WENUTG1yODFlcDhHRWxudmN6eGRJMFlIbEwrd1FqdVRQelEvTlJZOWZKbnZsZUp6d0xLNDNDbVl5SmpVNkJ0QWMrWTNxdUJteVhlcC9GUVBDWHVVWU8walRqZUp0MUJlQUNrSzI2ZVF2K3FWTENiQXFqakxLRDk2dlRDNFd6bHJucm5PVDZhOHFsYXY1NXEzSE5WMTdCZFNuc0RuZGdibmhwOW5IVlMxbTBtMUM5SVZXN2trNjdCUW1wN091UkUrNVQyeEpvbjZkK1g3aHFOVGpmZU4reEdXZ0pnb3J4a21yUjcvYWcxVHBBY3FKVDhtWjJaVGpPdnZCNG9rcUJpakkvWXIwSGFQN1ZIZEtnV3RmL3BJSlo2Y04xU1JaVkFHM3lVbEdQa2wrOVNVMk4rNlR0ZmVQTUdUemtnMHIxNk1rZy8rbmpTL2NQYUdJYkVsTVE0MXdnaENSYW0xWno3aFFacThkaEhHc3NDWW96YldDMlVBR0tLeWEzTkZZbHpLS1pnN1UvTmlMcnpBYzBVcVQzdFBSZ3ZqSnhFRFRhNHBkbVFsMWVJbzBjY1hLY3AvNEhjSkt4Nkl1U2VPY2Z2blB0VCtVRzBGVDFSZXlqcENkRVdWSkkzUHhhNC9ndEpRbDdPQk1NZlloVjJBcktTSGQrazk5azVkQzhYQkxmaEFOWFlYWFlKdmt6R1BwenpQOG9iajZQOTc0Zjk3SFNnbW5jalRyKzcxa1l4TlNET1ZmTWdsM3dVemhzWUN0cHE0QzZYdVIvTGFaKytDbmxQUm9YRW05emRtY3N3dXBtc2R4aTU3NGZSM3d2S21mbE10QjRrZG9vVmo2QzhieEQ3Uit1elQzbnJZZzRJZVE3ZC80aERvNHJIdDBnYjJYbXdJTy9rSzh0WjFmNk1TSGNwb0thNDB2YkoyK0NVZjJYdjJPMFc1ZlUzK0lNODdISFd0djIySGJKeWxIZ1ZjUS9NeHU0VU9RSlJacngvczE5RmFGMVlwU3NnU24yci9vejZaNWVJR1pCZkJvaG5HRHZPL3VvRjdEL2xEV0NTUlZMMWd1M2VWanM5Z2hLY1c4VkVGeitOOUU2b2pVamZTZ2M0aEk3TnJTVDl4anVQY2htUXI2bE4zUk43VjEyOWdwUzAwU1l4S1M0WjdESTQ4OFU3THRNSnNiUUlqS2t1WE5KcGpVNVZpMjZMeDl6YVA0cjhpdVAzOTMydkgzZzRvbEQyMWp0S0U5MVpQcEF4Ky85Yjg0NHBjZW8rL1QrV2pCYmdZa1VJbWYvMDdKazI5Z2N4Y2RrYjlVTEtISHZ0eHlrU3ZmdUx6cWREMzFVR2ZKakZFSTEvallmOTIxTy95anM4SnJvakhWQW4vUWYvNHpRdjZPZkpZVGRuYzVMdTRXclhjeHFHREVFYUtiVDVKR3JzREQxYjZNZHF0ZzNXNWUyMGdpVWdLYXpqWmdZb0RpRy9hbHgyVzl6QWpxZmhqV1hESnRPdXdEK0tKdWdLM3V3YVBYMGZidnhZZjlKK1VOenRsTHlxZ2VuQThRakJWZVFBbkFCWVJrb1dTZ3RBRXRaQ2RZd2FvL3JrNXlvRGlGV0g4QmhsSWdTSWNXZDRFZEIvNFlJaUNhYlVkTmRDbnB1dnNCN21zcUpYODZhdWs3clhnWGdmbnBMYlF3eldVYVhRdmFaeXZLU01PVWtxUXFPSGczaDBCemVhWVhQUnAxN2FNVFV5bG8yZVZTY000ZnYxdk1rVXM4RHh6TzYrMU5tZ1F4cm5aUjN3TmFrWk5TTldoa1IrSVhpRWoyQW1JTlBCL1NDeWdNTmpjY1A5WGZabE5tbzJETStxeHRnK1BEL1F5SHQ2VWw2d3RPRFJGb0Nkdm9oY2FKYU1iRHpXc2RVdkR6MGVma08yaHIwTUQwTFJFZEpVdFZzNUFFY3hmbEdFRk8zcndOTzBPVW95NDNtdHJzclpDMzFpaVUvTFQvSmtSdi9oYUZJK0s5dm8wcDB4SlV4T3luOEllbkN4VXdTYzVVQmFBU1V0Q3BXUzFWTW81Qm0zak9oOVFVRVA3SGk3cmQ0MTNTcGlwYUFHMDJDeGszRnZWYkpQblpoclNhUngyaGhVU0twWkNXSGkzbmxaVFhKWUNVU1hrZHJEaDRyaVFMYm1oTjJYWCszcW1EbFJaWHRoTmlpVkl3Z0tpNzFPNTcvVTFQclpDczlDOXhtUXpKbXVwYnVQblY2ZWdPV3ZqRnQ5d2ZpRW5iTnZ0alV6L2JVOHoxZnVpeEdiY0czc1hWRmcwcDBBM3dGSGd1SHhNSWtCVnVPcmFHcDdwTUlHK1gyZ2dtbUZ1OE4zaDlqa1RVM0trN0lLTUdXMlFIOFpIZUp4d1VTNlpRcjNXN0pEOUFwMmNLckp0VlZmbHZwZGR0YS9QZWR6cjQ3aS9NeEh2UU9EV1ZsRU4wZXBUS05QT3hvUU5RY1ExeFFiWTJrSnNLa3Qrbi85ekVEb1RyR0Y0VDlMaFpjL1dDR0s5WE0wMmFuaEtBRVdJbUIvTU1aQkwvQ0g0b2ZyUWpDVE9wNktNclMyUGxmK1FpbHBOWmlGcWFqYk91V3U2NGFva2U3QkNuWWJ2WkxXSkhDRURSWjV4dzJ5U3AwVTZ0MWVwUmxGcFZKUWQ0Y3FrL1crenBSdFhobmRIanY5cmF6ZUk4cnZqTGxvc3VzakRRaHkyT1lIN1pNUWJxSlBnTHhJOFNvZ3crSmdQYU10LytHY3ozVzdSSTlDSmFXenFpQTZoc0M4OU93SkgyT29Sa0tTWWdSUGxOdjBHZXF4dGcvZUpvQUt1RnliUm9NTThlWnoxbk0rWlBNOEtyS3JYK2RRMWVHZ3JNdjBmTlVVSzdwSHRpZFBlSzVlZ2RjM1NEaWcydVdEQzZBQ05GcGVKMzZ6VVZwYWtnK3I5SHpKWW5HYURZUUNmTlEzZHc1cStCV09tMGtIOGtZUngyaWVGTWRTa3hJSFdETzFIenFBWmk5UjdlMGZ6bEpHYnF4Y1JZdlYyN3MvVlFpU001N2IxcXowYjJHclYyWnJzVUpJblZvWmwrS3AxSkxFUkFNRTNwZDRNSmxZdXZscUkwOURvZEk1WFV0TTBsNDF5QjZMd2lISE5LTjJjZUlsdUtPaGxDVG9sOFZQdXVEUmtQVXVydGJ3TjB0R3dlSG5ocVc2VGJLODBjOEw4L1lwNnc1SDZ4K1FaenNFbVp1RFZPU0R3amRTWm9TamtNTTlKL21WMjVhcGJwcVZmZ0ZlNHlvZXdZRTNLM1lQVGtYcVlqWEZ0UFRSZXIrN25Ta3YyKzUrUWdrU3Q0bjErQnBKUUZnczdheSt6SXZ4dGIyVkNRMUdHK1ZabkppQlhnQW1jMHE5a0paZUdsSjdWU3BxNHAva3J1M2hURUliOVM1Z1ZDZVhNajViZmt4ZFUyeVJ1L3FNeXEwb3VsMHY2OTFMZStLNUJSMFJjay9nS09uT1pqQlN1WFczeUdsUGlNcCt2b284Uyt0V29Sb0ZUVEVYZDd1am82R2ZsaHdCN0puVjN0NjRMcStIRUM3MmoreEN5aTFuRkt1VzFkSkhHbklRM2t3Q0JtQzVqRDNHUUF6YUN5ODRFaWNxeGRsRlkrQVNTbTVSNGpnQWxaYmpqZGduYVBDWGtKVnFUelNFMkpyZHBzY3lnSXlIUkpnNWhvaE5McXpYWGtVdXIvbGpPNWp0OGhMVHBxcHRzU2RUQWpKMFlRbTNnSzdCS3pGd1p1aE9tZ2hPOWc1bnRMRkVFYU5JemZUV05BeEhTVEtoQmF2UFhvZnZLNllHT2ZoNFVuZzZEKzZ2aVNzbnpKTEJvRVBMNW1wVUlsQjViRldpZ3VVeEZFa3FUdFEyWGQyL1J4U1BPU09iekZHcGF4bGhlRVJOYVVHUHZ3ZGVKVWlyRHhRUnVuejNSZ0lEY0xYVnl4T0UxcWtqa2c4OFptRHluTENvK0QxVEQxc3lJV1ZJWExmK1cwSHhlWXBwR0FZU3FnOWZJYVlXZjkzSTc2THFUcHZZeWVSNS8wVGJ5a3ZRNUtwU1hmVVozWklXMm1IYzY3eC9YMlZCUWdUMnFDUjFWTDE1YnZ0T0RxTVBuOUJwK0Z0SjI0eWVjbzFWNm5vV0U4aGR0VWhZN3hKNm83b1VuckRFTnJLVkM0L2ZFMGwvMXBGaklwUHozSVRFUXpjY05aSWh3czhEWnczVTZGdnZjMHNLR0x6RmxTSnRzemM2SGhSZmpxZHBLTEx2SEM5bjU2N3NnandWc1RBMzdDZDNMeVllUlpwblZhbWxtUHoxeGJJdnlGd0RqL2o0enlNMGpMTVlOS25xbHJqVEpCeW01N29yWDBwSVFrWCt6MkpXbUlicUwyT04zTzZwQk5WblRSVWNQbTBGQXU3TFFERHZQME9tSkZZVjhzQmNmSW1ZSmE3RVgzSkZWaUIwS0hxaktGdGtoaVlVVGZzc0dUVXgxT2pkZVBlbzZVRzJJZzlmdUVBRE1TK1JLeE9RZFR6aFlUMXRQNzYyRGluaUd1WFFBcHhac01sTjJDL1B0bHE4ZTNYVzdZSUhFLzlBVVU3Mkp1QldpVTErNThUT21VQVNwdGZYT1FCYm8xVlVJZmtUWitqK0tzTzJvS0gwWW1QNmRxYjlUQ3BFV2YrY0pXS1ErdjJqVUY4ZWZCQW01UmxnNUcrUWoxQ0ZZejhud0pkRUxnbEE1YXU3RXNwYjhFOHNSNGlRbEVkR3lTTk1sTFB0TGsxMDVuRy9RNnhKeVZNdjFPRFNZUTBaKzFBTStwR0hZdHdoTml6bkVIRDhTeHc5L0kwTWV1UEN2b3lROE1QV1BpSzFEYzdQM0Vla1VEZmdma2pYQ3Vwd09QNG9iaEZnM3h3ME1xN0RXaTJaRnB4UWpJZkxYV3VDeUY4aXA0YnFkMFl5RGJLZ09wV1lGcnB3ZmhMbmNZRmFVck5OdUFCblhaZDJzRVZlcGliRFdtUUxsV0tMVUYxd0NVL0l0VTNLSFJZZmtjRUVidzhsYjFxL0VrTWFnUFhHVTdHbzhOWkdKWDdBZHJVdXVjZTRIeEw0SWx3S0Y0UkJ1T21iSTdJL3dHcGlJdXdSRlFvaVJ1d3NKcGR4eVBPN0J2NG41azFWYkxmNFREeUJJeGtXT255REhiSjJUd1hnUE45ZzhrSXNXUHNadkZBVnh6SnhycmduTnovbDJsYzJpR05jK1hzaU50WTJUT1FJL2hBYldldTVva2VndFQ2VVArWDVhQmxIanZHYmdXdWszQTI1UEpIUHRwM2ZFRHlHanBHc01PczVvekVTMFIxZXRmKzMzVWRjQWZMbHh3djR0WGtieTFIamRqUzVsSE1tSWg0Zkt3SmVDZmIyMExyUVpobGxiMXNLZ0dzUE5PbldXSmc2ZG5uOHNGdXd1MzZRQzNGTUROOGVzTUJ0OWhWQ1pid0tuSmZuTk9iVkFOU3JnMHVQdGlGRmlTUjNsNzUvY0dQTE1ab2tjUGJMZnBSekh4dmpYbDh0QmYrV1pVVDc3djVCb2lZOUZOdnhDSW9SOXlFVE5wNm1iMVZxSUJVbTlvMFpjT3lkNmprR0tLbmxyT0NXbjFxMUFFSEYrVFJ6dElta1NBZFd5UGpXUEh1K3VBSldvLzJybEdWVUs2dmd5R0dsa0xSV2ExSGVrL0Nyekkwb3R3WVdnQkxlTjZHWlQyb29JVnlQcEs1N2FkUjd5WlF6aEJGQllFdzE0Y1RBNE8xVDdLakI0YTVEMjNDMVNNU3FIY0JiWlUrR3licHdKSzZlaHltY2F1NVJBNlYxS1l6YmozbkRyRVhkTkZLQWNYVEVRY3NKTFEvYUdmczBaTjFYdytzbEs2K1A1ZHUvWDdoeFJHMTVJNEo0bHIyTmpJZlllcGtYQmNlNWI5NSttNVBrZUJYZXZXbE1SZlE4WUI4WjVQbEo5QlBKQ1hnTXM0WjFLQ2JJZkpiQXM4RHBKd3VvcEoxOVNnMzJBVS9RdHgzekhUN1RhZWgreXRaRHJycnBjbE5WdDZQUGRDN09PK1FqM0s5VUhTdVdWYldjb296Y1VEb0RIZzV5dmw2M2N1KzBtV3BRZWRibnRDWkk2L29BRjlDc2NTWFBoaVBLL1c2NVlKWDUzR1lMbjQ3MmRGUk1JYVhqYndHdldpN3V6YU5GRHY0ZFQ2ZERIbHFzdk1UUDY2V3lPOXhqNEEvNlFGM1VyR0ZFU3E0d0FIWEZleDdtODUzNHZGTE4wR3hsb3ZwTUZnVUpZemJEQVcxSHVuWTJtbGQyOHE1YWM2Q0t1bHRvbFFKbThGQ2U2VGNWVUc3Qm1TdFl5dXFSbi9KSE5Vdk5vL041ZjBXWko5ZXRMRFdIS25rSmpiZDJaaE5zcHFkRC9TUklLVmN0TlRqWHJqek96UXBoS0x6VnRmR25NeHNIWVRiVkFDZGhWeVJBS3V5WlhmVmFtemUzMU1RNVk1NTRnUDhrVDFvR212NnZVWC9FdmRaTGFwZVJsUWM4bGpsRzRIWm9JaUhGMVRNbmNjdXpFVkRzVUpDNDh0R0JpYmtVcFY4UjMrSmIyYWg4aFpUQ0dWWkhRamZMWjRFM09LZ3hDOEw2cUlJZDZaKzRGUnJkQTRTZDliMzU0Tk05T0M0UWxMblNRcnZVWUg2TGRyeE9HOXB6OHVuSUpXV0xSYTltbVNhSnVNb1RWaUVaSEVodmpkUXFGM2lobW9Kb1BMMnk1RGdNaWJodlYzdEtZOFRCVGtWL2Y1M3JLSFcrTWs0UkZxelplOTROUlZXUUxKTE1jNVUvQzEyb01Ia2ZYZlVyZ1NRY21DTld2SFovaFo3RkFrVXc1bkVoRzVxNEJhZXBha2c0Ri85aVI0SlhLZkJiYWVuYnpISUNxbkNNT05lZ3phVXNQQ2ViN0NkSUhLZUwxWlRqV3J4aXBmWStPcGZDL1A2Sktqc1gzeHVTOC9uaFh4cUxLYU84Y1JhT3hBTHNOS0RXa1dPTFhndHpqOFNTRDFhUXlBTi9PQ3RQNXR4V3NTT0V4Vjg4NDBiQkVjNkg0VUdGZ3dxWDNDd2F3MHUzYWdOemk1bDU2am0rem5FdUwvUDE3VmdxVUJyTWFoSWpXdEVmR1Q5d0lja2k5Tm9PSlh5VFRvejgrOEg0K0QycTZRYURNUWFjUzIra283aUJFYjFLcGQxaEIxYVRJMTBneVNFdUhoYVY4SmdlcUR1dkZvamRGMEtod0wwMVk4ZG95Qmh0RmJyUFVsRDJoREZyZkhJYXVvc1NNQ05oYTFTK1pYS3FPOUdHL284TlMyZ1U1RXdoc1dGOE5SbGd0aFRYNE02WHpnNEFmU1pFdHFiYnNqU0hMdng2U0tBMDVHUlBjU1RKajBSclJOR0kzWkJTMmNVWVlWTTV2NEplSmwyVkQyQ3VER2tNRWc2V0ovNFZnZlBwYVNPbjg2dWpkbG1HNS8vRlNGVjY5ZmFxSkh5bjQ4T3NCbm02eWdSc295MDlnWFNwRSsrUXJOZ0hxOGU4WjJZUUJNcjVlL1Z4VENpSjQyaDByNjJkZFJuY3VrK0lsMGN3V2hnaHBISU0zczNoRGUrS0FUMTROS2hQelBwTnlKU1o4OUk2Z1BJWDZDY2F1L3NxWEpjRStQbWF0YzErR2pTQmZ3WDgwd2VnbWkraU1xK2pXSTlsVUtST0lYK3l6aTZQVjRLYmZhclVIc2RVdVBIdTVlRHlJaUs2MjVhZEVGai8zV0k2WjRJTDJUR1FHNXpmTWw3SHIxYit0MnJRRENzTmtUUk9SbDRIUXQ0d1V3dmZMQUpwWlRMOStlVGdrNkF5TUY4VTRYOGxrY2daTk1GUzZzNTdZOU41RmVJM3RrVzN0dk9DSE5Qc0hNc1RWaERDMkgrOHpDMjNiblJ2Q0xZVFBpeXJvMzZucXpoNTcveFdiM0ZmV0h4c09VSTNMYnQ3NW53VEg4bUJkcU1YWElQZjhYZFVOVTJXeDJXS0dlQlNsMDhRWGg3ZDB2Uy9QTDJnZ1JxckN3Uzk0ZjVCQVB4eDNZQmwvdG9sNyt0ZWF0UEpwd2t5NEQ4b2EzMUl5TFdrbThqYnFwbnRCNm9QRlkvOGJ0aGY0S1RUYkpZZGlpc3kxTDJqMU9EOURodlg2UjU3cHVVVEI3VDVieGtLOUdqQnNKZVl2RzVEb1pYL1lLbE1HeTBsN0RLNWZ1WlI4Q243L1hwN295d2EvQ3dMWm1SdGR6UnJVR205NjhkcjJjckJUY1A3YTJ4MnN5eHRyNkNLd1NpYjdkR0lWWU5BSEwzVlo4Qm9sRjM0WXhtSjdjdXpxN2tKR1lXY2VXd2VNTUo0ak9UQ3NSV3YzbmJrRzcyUUdNUG45T3NadExKUmFDWm05bS9hVUI1anE3Qi9yZ0QwWXp5dGRxSzZ2SFBnQTd6cG9naEIrTGovNnlIam0rdW9Ra0g0Z3ZFZzRzSzJGR0wzVlFDS01rcnVuYnZDUVFJQmdXbmZ5SVRwZjRCaGZKREo2Tmp5czJ4MzAvSkdFaW1TdFp0ajJEUDJCZ0pJbnpHamh3eGlOc3NCWjJOS0Y3azVoaEgrMzk0aDN2K3M4bjVQOHpReTREeGg3S2s5TkdVRHNYRDdLcGtWK2lSSXJGZVZSSU9CQ0lITzNhdVMrZEZGOERKR1FZdi9KeDMxckpZS2xXQTlMKzVnYitFQU5rS1FrYlJNaFM2ZEVmM3pzc05MbCttZlNsbzdseERSQS91UlFHN2tSODgySFV1RUpkOUh6SEVZTzBaSm1mMkorN2dXZk9UanNMQVZpUkQ3dXljVE5xWi9TZ0tUd25EK3hHTEh6R0hiR3NGVUJVK0p5TWZzYUdrWDE2U2pzb3liYXl4UUIySS9yRHlkWGVIRkhyQ1VXNHl4ZGRId3ZJc1ZuUXpDQW9rQWlONTJBMnpFZjluZU95Y2hSNEFPZnl4bnZCbmRKVFl4ODVnOVpIdzQxS0I5WDRzRHN6MU5kVWV6UlF3RTRneUw0d2pqWmxKT001K0pkck1WNTMxUlM5d3VJL1pTRDJ3Nzd6WTNMK3NVSlI0OU44WjNVU0NEbmNTdFN0MzlyWDhVeWlocEdLVUtNajZHd00yVXlaK2tSdEZNTlJ1MmhkQmVIV3haN2tTVjJqMDhJLzZTa3NjbFBUWTRiRXM3R3d2bTBOS1ZIV2UyR2NFa05sVjZuZDY4NVFTY3c3bGZWZFZhdGsramN2RDVUMGtacC9ucU9yK1NQZTlLR25FL0ZqWjRsbVNveUNCYzE3cGFWcmc2MFphcGc0K2pGT1hPTEhOVXVORUxrK29RY0RVczVzbDJoTzh6YldDQlBZU25GZWk3elF5VE9ZRFhNWGtib2JTdGg0UjViSUhmSk1qMXgveFNKUE1BTXBvcjhMZ2RnWUxuMVlmaU02OHlRTnJETis4cXhYbEdGMEZGS3BNSm5iUlBKUnNYN0c1NExTamJFZjF4ejhCcC9BZ1BsZGs0TnNPZ2lRZlFTWWJxUnpQaXVFNFRkbGltUXBaK3BBakRhTXZlcVgrUnZCcFFlR1o2Q0lTV2lwckhxWmxUcDZ3N0REWVpBUjlrN0VzTGhmN2xyUFRjYzNPcFRCbnFTcnE2S3NnOHRQUGxKQUMxOG5iV2xOSUZoOGxjRWh3U3RXZVlOOFZqc0ZWaTZEdGZzV0QyalE5VkgxQVRQb1F4aWszNEU2OE9PdkFKODB6cEhuOWtIYkxETzlMd3A0QmlXWkpXbW40UksxSlBuaksrdS8xQytUSXMyL2pQN1lndzBSMHgzMVZ4U2xvVHNRSWZGRWlLbFVYdysyV2tOY2hIVmxxWWQ2dHR3MGhaOEJ0bER5MEhuWWtKTUVGOE9hTkdFRGlTb2YyWlRKNmV5M0hGVHpSbEFmb3Vrd2lMTWxoRlBhNE9MR2JRRmxjUktFQS9oN25MU1hOTlpQcUdXcDR4enlBSEZmUUdjTjJPV3dwcmNUcmY3cUU5bXNiUVFaemRvNXY3YUhaam44OENLcCtIR2xRbFZ4eUh6UzlLN241TGxMS1F6b2dUdEx6THUrNVNiRXFKU29IUit5SDBwUGZaUGJFV2FURWJEdHNrUzB0WlhOZTB4eXEzZ3o3R28zYk8zTmgvM3lhaFJGWERQWE40ZDI0b2FWamdZM2N3Zkt0bGxVd3QrRTB0eCtRaFpOaHI3a20wNW9TQUg4TlpRL05scjhPenRQVzkzOUNhUG1NczUrRGRzZEFrUkV2N0NtV0hRNC9HS0tqczZZWm1iZVcvT0p0dHYvWjhKcFk1cTJUdkFxYUJESThBdjFaeWlEYkEyODhHV01aYnNnTVRGZkhMRzBmeGpNaW9CWGJsRUVYQ3d5UWJ5aEpTeWZId2laa2FSSTNuZmVwZHNsLzEvWW1BTVdlNTJtZDZuRzVoNjFhNkl0WXZkeG55SEgvOTNoM2hSLy92cWU2NXU3N1BaT2s5ckh2YWpMZWIyK2w4N09XUWZvb2Rzb2hWdWx3VlEzMVAzU2liZzhwOU5aSmpKN3E5Mm8ramlqSHhRTFA1eU5LQVdkRWE2Mmo3N3JDdDZQN1JaMmlrY2xXVER3aC9wWHhVRVpiVzRiRnlqc3hzZjVOcTEyRDBGNDRKTEc3eDQ3OUlibCtuWnBNUmNJYnVMbHhVTzlKbE9hRjhMcW0zSjkwY2ZoTTlFRVVOc1NSSCsxV3hNZmhZb1c2OXhSWlBodG9EVTRkdUYwN0dFUEwrYllwY0R3OFFwcjFVenFpemxEQlJ6SERML3lrc3ZKNG55UVFyOXMzZzBOem5vWGxUaFBsTit4ZTNQYnNKVEFZRjRRdmlCdWNNblhOV0xIWlk1U0JQQTljaHlDNGRpOUk5YkYxZXFDTmpMUzFMYW44RmVoNU1iYWQzYzgvcHRkU3dxaHNzdnBlakVtKzl3RjZ0UzNwaThmRFVJZTNjVkdmTksyZFRIdTUwWVBJeVA5VjRXNExZOWlEaXpMdXJpUE9HTnVBUDlhNmtRTUxhMmovZDBTMjQ4VEF4S1hYYjhzQWZNalVvbFl6THZyTlg1YnpYY1o2ZnhKQUk2RG1sUlArZDhoMUdodU9vMEFSdjgvcHFTQnJJenVPcFdUakYrYmFnUjhqZU44Q0lLcEE2WFNIekhHeWNOVkQ0ZWY4Vm9ReWNiekIzSTNVWEhkVDN4S3Bwb1lBM3RYbEpWNElsYjcvd1RFZmozT2JGMXA0UWxFRXBoSmZzS3ZPOEZjVjUyeVM2MXNVYm9idUZMd2xHWUxEeVp0YWd5TnI0N3JzNTdFakpiNHhlYXg5NFhoTHVlOWYxOFE0MmI0alRJR3hJdVh5aU1aQnR3cmdlcEgrbXVvQk53Qk5hdUtJcEd4ZnFQTkdYWUcvWEhuL2R0WFVNVGxUZW1VVjVMT01NaDlaSk1NWUoxaHo1UVZHbHhDOW1ra2NwMndsOGdtME1wbm05YVhTb2hkQkZnaUpwb2JraXk3TW90dVhNU2M4bWE4aTVuRW5CYk4vNllXTXdkWUtldHpmalBmQURxelZkV1dyRUM4QWtrVTZMMmw1bkJ0NzBNckxKV1NjVWd1Z3FJOWE3dlQ0Q2thdnplUWxpSFMxUmJqWDBRUUpzTjM4R0RtUzlVeW92aDl2Y0F3aUwzSU1zbG5EV3RzMjhERDAwQzdwak9EdGNFM0t0d1BOV1Q1L1FTVXFZM2Nid25SUGNIK0RxTHFLc05tZjRhWVVsT3hIY1lNLzRTU09zN1ZOWktmWlJWeHNpaE02YUZ5SElaenlrZjcrOVdLa2VBZmVrRmo0NzlIZk5ySWpXWEc1SHNLbUJ3cGVYd0M2WmVwTFBaOXpJaVBDUFpwdDhpdlZKc0RLYmk0dkg0Tjd3dG9HTEtuSUFVZWZkaXpCYU1oNHRrOXRCcDNRNHArd1FwcERqdWMyKzd5N0doTUJ6a2Q3WEdHUmVMRHFham8zc1ZYZHN5d0lPd20vdWZEcTNsL1g4UlJwNW04S2U2U3lINC9VeG1Ua2V3VkUzY09YcXQ1Wld2bXl1SUZ6Z2NpMVBwZVdidGRPUWEvT3huVkJNaldMaGpQM2NDbHE4ekRZN1k5VEx4b0o3VHpiR3NvOFpubHJ2VW1SaWJXeTd6UzlCOWhyVVZVTnA2dStmY0grSzNsdENkR2k0MFVYL2FOODBvQ3lFS3V0eE1IaCtxWnBFMGN5ajluLy9RalVaZWpRZ2tCWkFJL09hMGNraXMxbENzWnF1QnBZMS9pbzMySUx2OGhjWndvWW1MUkEzTXdWQTExYjgvRS9Mb0VyQ3I2WXBaOGpBNENpMmFhd3JKRG14L1B4MWlsUTczVDFTMHlWT2xmS2MxS3BqaVhVZ0Y1dWZaY2UvcklzNHRDSEJVbWI3Zk11V3g3R0l0SFdSaFpaci9uSTFsbFk3NmprdGx6eXpUM09EelNEbjNDUGhsL0RNNWYwVU1tblJNQzJoMjJYOTFhRXJwU0pudGQwV2tJaVlianFRYnBldnhTclpuUlBsV3MrUWRrQUhaM2lkdlg0T25BTUZNc1BTZlFpazdyd3FZQWdvazJFSnRHS2lWMUVOT2VkbGZCNzdaMFkyOG14WjZ3N1B4ZzNLOFAvZ3dBWHBTenZuWG9KL0Z4QU1zWkxxVXVGWVIvU1pibU9nY2VJb01HWjRGUXJjRkJSeHYrQmE5M2pGTkRkbElTem1EYmcwYkdtMjJOM0tQM3AyVUszSVRDMUpYMlhXcGUzaGt1QmY2bEM5ckcweitKM29kenBIV3RGaTEydTQvWGtvQ2sxUXplZjR6R3p4SzYwaG1xbGNSTWVXQ2JtTzd2ZWJycmo2OVlManBIK2FyVExZWVdQY01TVk9wRWErMGpKZ1UycktHYnhOV3MzRE5YVHVMUW1ycjQ1c01jRUg5cStBR3pYZjMxaGM2cGRtTUM0UTJDcFRCdGQ3QWQ3UmVkWG9oeS9mbUtaM1FZOXRSbXorRkFzK0dYTGtwWFZvWHRuZ2tlWWN0bE9VY0FHdm9SWnlqY3hEZmJVcTljZnAxdUJETXVEOG0yNmEyMG5yMWdRem5VL0V2YlVaejM3NHBZWU1YQXdweGRsbE95MExJMk1tOGsxWlJyNkFINkpXZVNXZm9KeS9VRTFMTGI1S2ZnWTEvZjFVMXA4dGlQeDlpTWZZQmhMc2h2aXp3WVVBcHNNU1pSKzZoTXRXNmRZbGJkbloycGNqTkpjQlpZM0dsb0I3WERUS0tVb3dsVE9ZNVF6RnlCYUY2T09EWkpXY3ptcWZMeWFGaW45TXhtcS9lYmZTM3dYend1T1N5d2FQcG9rdFRySi96ZGJGREpzZjFpZnFhSXgzK1BZZjBSeG9YcGVFTXFWck1tSU8zMzA1anRhVDVweWhvYjVUZUxzRnhCbWIreU1iV1Y4ajl1WnJrcjBPclVmOGZsOUFidnVRb1Z1dHRLK3hwMDNuNDVuNytNUGEveWp4VWtiYmJxa2wvSUFsYUZFWkhSSy9MdXgrQ2pIZ1hRbU8xRFdQbjJYR1dGTjRKYXhIMFExajBxVzBUMXcwVGZ1NkJUeG5qNWZpd2VXeStQTU5uNVlYSW9rUE12SHRHT2NscUxVd2NKcWgzdWRXMkNydjJ4RnpQTXIwUE4yc0U1cXBjc29ISHNIZjhZbkNyYS84aUNoUEp6b1NYN253YTZVL0tYUHloVkNRc2NFOFpZUWhva3A1aFhNMFFhRjVUZEt0STBNV3JQOUJ1N3NRekpkRVFweFdhT2ZKSmdxODJ0UEhoM1RFbDVzMDNhaHpCUCtDSWhGZ1gvMStVU3F4emhWaHRTQUhHVW1hbXRySEhYYmYzYytick5sTzRBSlhvcDA0Vk9hb3VoQzNSSlZ1bHozQi9KZGVLa3BaWlg0MGVzZklGbjZhRDZjcnRsUHRJSGhqRkltcVUvSGdRblZYYm91Y1UwRDY0MVJwcURFSXBBdERmZXRjakVLeExCd0Nma1JvMGhtWFNwUzRDQjhFN2JyWFR5YjhkcjVjcW13U1J1Z1IxWm1SbmpIbkl3RXRKVExUUFZBNHlkQnhDMG9DOHhSUkl1ZmJXOWIyM0FrZEdOK1ZldmRCbXgyRG5IY0I5MGhFVURoN2lrdzRtbEdjdXR0bFhTMHF1UjhZS3lyN2EwRnhWYnA0aGhpSW00Qm9lOFZsZUFFWFN2YXJ0WXNjbGVEYkZCSDlXOE93djFKckVIRjJyWGh1NEhaOUpnWko0bFczVXNUeENsby91ZStXbVlmRVRIZWZDSWRoQjE0YlNpK2ZibVhqL1dOMzdpdllXM2ZqVTEyV0JqVGhSWHlnVVhKdWtmQmIweFEzc1g1NnlHdlc4NEl0Y3JwUU5OVWo3QXJSc0x4Q1FyZll6cDhzQmZaR1dDOWZIWFpLcng4emNzNW8yZlVVWTc5VlI0MWFsZ0dUUTZHRGRVK0dEYWxQaDFVNTJUejVIN0NwR2FHcDl2TTBmNVBDRzI4TDQrOHg0T0VXUDc3aC85MFZDR2xsaUJ6TFI1a0QwRVhBdW9xYXBOYWhFRHFCc1c1YjMvdjl3SytGRE9oNEZkcG9qT2J3d0EzQUliSmJYS3RwRTZyMW1MbUNieUl6aWRiTGVJOFB2TU1HdUxYcHhUMHpCZVh2U2I2T2haU0M1dVVxTVZ4ZGRWZWl0b2w0SHovKzFWQmtMQk9TN1A5Y25INFIyVTlhalR5eVJUNmNVay91QW5Eb1Bma3RuM2NZWENnc0d6TVV0SUNja1pjY2dieG1tckh2QzlKb3drelhpMVVXbDFkL2NUd2JyUFN3WW9ENFA0ek5hY3FCaDY5VHRTd3FGZVA3ZEtRcktiamZlcktUNGxBMUVSSnJGUGtaenlpOThBdWREQlpaRTZpZ29DcHVMUFV2K2djanJSY2N3MktMd0hlUnZtK05kN29MUUNENllQZUFOYi8xaEZhTzhaUENCa1JaQytEU2VHZ1kwSCsxTzZnSXl0UDBMMXZZaVdPa0lRUUxtc3FFZCszTUltZGNmZ21uQnB4RUVrU21zRXJDRmI4cUhVNjRQTVNHZGYwTjJUOWdJNW54NVM2c1VsRXI4MFRjaWFwQ1dla3Bua1VDOFBZZWpQOWhRRUNsZTB6dDZPU1lZcTc2RiswYmFuU0NxVUxBRnZOY0xtVDRVSXlOa2w5T21uQWlmVkFqa0U5eTYrenF6MXVBWldRK2NBREZLTnpCNjdRQVJVVTNJTUhUSG11V3BMVkxYMnpUeVp1ZEdaSzNRV2preFFvVTlQdCtEZUxDQlNNUmtkVzUycmxqS0Z6dUgwRVp2NnFDVlVKZWR0YncwWE9DSUJmMDg1Wk9MR3gxNG82UExMbmVjdW9NcytWRG9kR2NvSkdnZEV4Um1nb2xRXHgzZCc7dmFyIGc9J2tuaXRzYWlsJzt2YXIgZWlkPSc5WC1GYUoyTkFkU2ZrZFVQOU5tcWtRbyc7dmFyIHNzX2NnaT1mYWxzZTt2YXIgc3A9Jyc7dmFyIGhhc2hlZF9xdWVyeT0nJzt2YXIgY2JzPScnO3ZhciB1c3N2PScnOyhmdW5jdGlvbigpe3ZhciBxPWZ1bmN0aW9uKGEpe3ZhciBiPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGI8YS5sZW5ndGg\/e2RvbmU6ITEsdmFsdWU6YVtiKytdfTp7ZG9uZTohMH19fSx1PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGQpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWQudmFsdWU7cmV0dXJuIGF9LHc9ZnVuY3Rpb24oYSl7YT1bIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzLGEsIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdywib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYsIm9iamVjdCI9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbF07Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBkPWFbYl07aWYoZCYmZC5NYXRoPT1NYXRoKXJldHVybiBkfXRocm93IEVycm9yKCJhIik7fSx4PXcodGhpcykseT1mdW5jdGlvbihhLGIpe2lmKGIpYTp7dmFyIGQ9eDthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGw9MDtsPGEubGVuZ3RoLTE7bCsrKXt2YXIgZj1hW2xdO2lmKCEoZiBpbiBkKSlicmVhayBhO2Q9ZFtmXX1hPWFbYS5sZW5ndGgtMV07bD1kW2FdO2I9YihsKTtiIT1sJiZiIT1udWxsJiZ1KGQsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX19LHo9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIFN5bWJvbCE9InVuZGVmaW5lZCImJlN5bWJvbC5pdGVyYXRvciYmYVtTeW1ib2wuaXRlcmF0b3JdO2lmKGIpcmV0dXJuIGIuY2FsbChhKTtpZih0eXBlb2YgYS5sZW5ndGg9PSJudW1iZXIiKXJldHVybntuZXh0OnEoYSl9O3Rocm93IEVycm9yKCJiYCIrU3RyaW5nKGEpKTt9O3koIlByb21pc2UiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXt0aGlzLmk9bnVsbH1mdW5jdGlvbiBkKGMpe3JldHVybiBjIGluc3RhbmNlb2YgZj9jOm5ldyBmKGZ1bmN0aW9uKGUpe2UoYyl9KX1pZihhKXJldHVybiBhO2IucHJvdG90eXBlLmo9ZnVuY3Rpb24oYyl7aWYodGhpcy5pPT1udWxsKXt0aGlzLmk9W107dmFyIGU9dGhpczt0aGlzLmwoZnVuY3Rpb24oKXtlLnYoKX0pfXRoaXMuaS5wdXNoKGMpfTt2YXIgbD14LnNldFRpbWVvdXQ7Yi5wcm90b3R5cGUubD1mdW5jdGlvbihjKXtsKGMsMCl9O2IucHJvdG90eXBlLnY9ZnVuY3Rpb24oKXtmb3IoO3RoaXMuaSYmdGhpcy5pLmxlbmd0aDspe3ZhciBjPXRoaXMuaTt0aGlzLmk9W107Zm9yKHZhciBlPTA7ZTxjLmxlbmd0aDsrK2Upe3ZhciBoPWNbZV07Y1tlXT1udWxsO3RyeXtoKCl9Y2F0Y2goayl7dGhpcy5BKGspfX19dGhpcy5pPW51bGx9O2IucHJvdG90eXBlLkE9ZnVuY3Rpb24oYyl7dGhpcy5sKGZ1bmN0aW9uKCl7dGhyb3cgYzt9KX07dmFyIGY9ZnVuY3Rpb24oYyl7dGhpcy5qPTA7dGhpcy5sPXZvaWQgMDt0aGlzLmk9W107dGhpcy5EPSExO3ZhciBlPXRoaXMuQSgpO3RyeXtjKGUucmVzb2x2ZSxlLnJlamVjdCl9Y2F0Y2goaCl7ZS5yZWplY3QoaCl9fTtmLnByb3RvdHlwZS5BPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYyhrKXtyZXR1cm4gZnVuY3Rpb24obSl7aHx8KGg9ITAsay5jYWxsKGUsbSkpfX12YXIgZT10aGlzLGg9ITE7cmV0dXJue3Jlc29sdmU6Yyh0aGlzLkopLHJlamVjdDpjKHRoaXMudil9fTtmLnByb3RvdHlwZS5KPWZ1bmN0aW9uKGMpe2lmKGM9PT10aGlzKXRoaXMudihuZXcgVHlwZUVycm9yKCJBIFByb21pc2UgY2Fubm90IHJlc29sdmUgdG8gaXRzZWxmIikpO2Vsc2UgaWYoYyBpbnN0YW5jZW9mIGYpdGhpcy5MKGMpO2Vsc2V7YTpzd2l0Y2godHlwZW9mIGMpe2Nhc2UgIm9iamVjdCI6dmFyIGU9YyE9bnVsbDticmVhayBhO2Nhc2UgImZ1bmN0aW9uIjplPSEwO2JyZWFrIGE7ZGVmYXVsdDplPSExfWU\/dGhpcy5JKGMpOnRoaXMuQyhjKX19O2YucHJvdG90eXBlLkk9ZnVuY3Rpb24oYyl7dmFyIGU9dm9pZCAwO3RyeXtlPWMudGhlbn1jYXRjaChoKXt0aGlzLnYoaCk7cmV0dXJufXR5cGVvZiBlPT0iZnVuY3Rpb24iP3RoaXMuTShlLGMpOnRoaXMuQyhjKX07Zi5wcm90b3R5cGUudj1mdW5jdGlvbihjKXt0aGlzLkYoMixjKX07Zi5wcm90b3R5cGUuQz1mdW5jdGlvbihjKXt0aGlzLkYoMSxjKX07Zi5wcm90b3R5cGUuRj1mdW5jdGlvbihjLGUpe2lmKHRoaXMuaiE9MCl0aHJvdyBFcnJvcigiY2AiK2MrImAiK2UrImAiK3RoaXMuaik7dGhpcy5qPWM7dGhpcy5sPWU7dGhpcy5qPT09MiYmdGhpcy5LKCk7dGhpcy5HKCl9O2YucHJvdG90eXBlLks9ZnVuY3Rpb24oKXt2YXIgYz10aGlzO2woZnVuY3Rpb24oKXtpZihjLkgoKSl7dmFyIGU9eC5jb25zb2xlO3R5cGVvZiBlIT09InVuZGVmaW5lZCImJmUuZXJyb3IoYy5sKX19LDEpfTtmLnByb3RvdHlwZS5IPWZ1bmN0aW9uKCl7aWYodGhpcy5EKXJldHVybiExO3ZhciBjPXguQ3VzdG9tRXZlbnQsZT14LkV2ZW50LGg9eC5kaXNwYXRjaEV2ZW50O2lmKHR5cGVvZiBoPT09InVuZGVmaW5lZCIpcmV0dXJuITA7dHlwZW9mIGM9PT0iZnVuY3Rpb24iP2M9bmV3IGMoInVuaGFuZGxlZHJlamVjdGlvbiIse2NhbmNlbGFibGU6ITB9KTp0eXBlb2YgZT09PSJmdW5jdGlvbiI\/Yz1uZXcgZSgidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOihjPXguZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50IiksYy5pbml0Q3VzdG9tRXZlbnQoInVuaGFuZGxlZHJlamVjdGlvbiIsITEsITAsYykpO2MucHJvbWlzZT10aGlzO2MucmVhc29uPXRoaXMubDtyZXR1cm4gaChjKX07Zi5wcm90b3R5cGUuRz1mdW5jdGlvbigpe2lmKHRoaXMuaSE9bnVsbCl7Zm9yKHZhciBjPTA7Yzx0aGlzLmkubGVuZ3RoOysrYyl2LmoodGhpcy5pW2NdKTt0aGlzLmk9bnVsbH19O3ZhciB2PW5ldyBiO2YucHJvdG90eXBlLkw9ZnVuY3Rpb24oYyl7dmFyIGU9dGhpcy5BKCk7Yy5CKGUucmVzb2x2ZSxlLnJlamVjdCl9O2YucHJvdG90eXBlLk09ZnVuY3Rpb24oYyxlKXt2YXIgaD10aGlzLkEoKTt0cnl7Yy5jYWxsKGUsaC5yZXNvbHZlLGgucmVqZWN0KX1jYXRjaChrKXtoLnJlamVjdChrKX19O2YucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYyxlKXtmdW5jdGlvbiBoKG4sdCl7cmV0dXJuIHR5cGVvZiBuPT0iZnVuY3Rpb24iP2Z1bmN0aW9uKEIpe3RyeXtrKG4oQikpfWNhdGNoKEMpe20oQyl9fTp0fXZhciBrLG0sRD1uZXcgZihmdW5jdGlvbihuLHQpe2s9bjttPXR9KTt0aGlzLkIoaChjLGspLGgoZSxtKSk7cmV0dXJuIER9O2YucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGMpfTtmLnByb3RvdHlwZS5CPWZ1bmN0aW9uKGMsZSl7ZnVuY3Rpb24gaCgpe3N3aXRjaChrLmope2Nhc2UgMTpjKGsubCk7YnJlYWs7Y2FzZSAyOmUoay5sKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJkYCIray5qKTt9fXZhciBrPQp0aGlzO3RoaXMuaT09bnVsbD92LmooaCk6dGhpcy5pLnB1c2goaCk7dGhpcy5EPSEwfTtmLnJlc29sdmU9ZDtmLnJlamVjdD1mdW5jdGlvbihjKXtyZXR1cm4gbmV3IGYoZnVuY3Rpb24oZSxoKXtoKGMpfSl9O2YucmFjZT1mdW5jdGlvbihjKXtyZXR1cm4gbmV3IGYoZnVuY3Rpb24oZSxoKXtmb3IodmFyIGs9eihjKSxtPWsubmV4dCgpOyFtLmRvbmU7bT1rLm5leHQoKSlkKG0udmFsdWUpLkIoZSxoKX0pfTtmLmFsbD1mdW5jdGlvbihjKXt2YXIgZT16KGMpLGg9ZS5uZXh0KCk7cmV0dXJuIGguZG9uZT9kKFtdKTpuZXcgZihmdW5jdGlvbihrLG0pe2Z1bmN0aW9uIEQoQil7cmV0dXJuIGZ1bmN0aW9uKEMpe25bQl09Qzt0LS07dD09MCYmayhuKX19dmFyIG49W10sdD0wO2RvIG4ucHVzaCh2b2lkIDApLHQrKyxkKGgudmFsdWUpLkIoRChuLmxlbmd0aC0xKSxtKSxoPWUubmV4dCgpO3doaWxlKCFoLmRvbmUpfSl9O3JldHVybiBmfSk7CnZhciBBPXRoaXN8fHNlbGY7ZnVuY3Rpb24gRSgpe3JldHVybiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uJiZ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlfTt2YXIgRj13aW5kb3cubG9jYXRpb247ZnVuY3Rpb24gRyhhKXtyZXR1cm4oYT1GLnNlYXJjaC5tYXRjaChuZXcgUmVnRXhwKCJbPyZdIithKyI9KFxcZCspIikpKT9OdW1iZXIoYVsxXSk6LTF9ZnVuY3Rpb24gSCgpe3ZhciBhPWdvb2dsZS50aW1lcnMubG9hZDtnb29nbGUuYy5ndHM\/Z29vZ2xlLmMuZ3RzKGZ1bmN0aW9uKCl7SShhKX0pOkkoYSl9CmZ1bmN0aW9uIEkoYSl7dmFyIGI9YS5lLGQ9Z29vZ2xlLnN0dnNjO2QmJihiLnNzcj0xKTtpZihkP2QuaXNCRjpFKCk9PT0yKWIuYmI9MTtFKCk9PT0xJiYoYi5yPTEpO2E6e2lmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUmJihkPXdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIiksZC5sZW5ndGghPT0wKSl7ZD1kWzBdO2JyZWFrIGF9ZD12b2lkIDB9aWYoZCl7dmFyIGw9ZC50eXBlO2wmJihiLm50PWwpO2w9ZC5kZWxpdmVyeVR5cGU7bCE9bnVsbCYmKGIuZHQ9bCk7ZD1kLnRyYW5zZmVyU2l6ZTtkIT1udWxsJiYoYi50cz1kKX0oZD13aW5kb3cubmF2aWdhdGlvbikmJihkPWQuYWN0aXZhdGlvbikmJihkPWQubmF2aWdhdGlvblR5cGUpJiYoYi5hbnQ9ZCk7Yj1hLm07aWYoIWJ8fCFiLnBycyl7ZD13aW5kb3cuX2NzYz09PSJhZ3NhIiYmd2luZG93Ll9jc2hpZDtsPUUoKXx8ZD8wOkcoInFzdWJ0cyIpO2w+MCYmKGI9RygiZmJ0cyIpLGI+MCYmKGEudC5zdGFydD1NYXRoLm1heChsLGIpKSk7dmFyIGY9YS50LHY9Zi5zdGFydDtiPXt9O2Eud3NydCE9PXZvaWQgMCYmKGIud3NydD1hLndzcnQpO2lmKHYpZm9yKHZhciBjIGluIGYpaWYoYyE9PSJzdGFydCIpe3ZhciBlPWZbY107YltjXT1jPT09InNnbCI\/ZTpNYXRoLm1heChlLXYsMCl9bD4wJiYoYi5nc2FzcnQ9YS50LnN0YXJ0LWwsYz1HKCJxc2QiKSxjPjAmJmdvb2dsZS5jLmUoImxvYWQiLCJxc2QiLFN0cmluZyhjKSksKGM9YS5mYnRzKSYmKGIuZ3Nhc3J0Mj1NYXRoLm1heChsLGMpLWwpKTtFKCl8fGR8fCFhLnFzdWJ0c3x8KGM9YS5mYnRzKSYmKGIuZ3Nhc3J0Mz1NYXRoLm1heChhLnFzdWJ0cyxjKS1hLnFzdWJ0cyk7Yz1hLmU7YT0iL2dlbl8yMDQ\/cz0iK2dvb2dsZS5zbisiJnQ9c2cmYXR5cD1jc2kmZWk9Iitnb29nbGUua0VJKyImcnQ9IjtkPSIiO2ZvcihrIGluIGIpYSs9IiIrZCtrKyIuIitiW2tdLGQ9IiwiO2Zvcih2YXIgaCBpbiBjKWErPQoiJiIraCsiPSIrY1toXTt2YXIgaz0iIjtBLl9jc2hpZCYmKGsrPSImY3NoaWQ9IitBLl9jc2hpZCk7KGg9d2luZG93Lmdvb2dsZSYmd2luZG93Lmdvb2dsZS5rT1BJfHxudWxsKSYmKGsrPSImb3BpPSIraCk7az1hKz1rO3R5cGVvZiBuYXZpZ2F0b3Iuc2VuZEJlYWNvbj09PSJmdW5jdGlvbiI\/bmF2aWdhdG9yLnNlbmRCZWFjb24oaywiIik6Z29vZ2xlLmxvZygiIiwiIixrKX19O3ZhciBKPWZ1bmN0aW9uKCl7dmFyIGE9bG9jYXRpb24uaHJlZjt0aGlzLmk9dGhpcy5qPSIiO3ZhciBiPWEuaW5kZXhPZigiIyIpO2I+MCYmKHRoaXMuaj1hLnN1YnN0cmluZyhiKSxhPWEuc3Vic3RyaW5nKDAsYikpO2I9YS5pbmRleE9mKCI\/Iik7Yj4wJiYodGhpcy5pPSImIithLnN1YnN0cmluZyhiKzEpLGE9YS5zdWJzdHJpbmcoMCxiKSk7dGhpcy5sPWF9LEw9ZnVuY3Rpb24oYSxiLGQpe0soYSxiKTthLmk9YS5pKyImIitiKyI9IitkfSxLPWZ1bmN0aW9uKGEsYil7YS5pPWEuaS5yZXBsYWNlKG5ldyBSZWdFeHAoIiYiK2IrIj0oW14mXSspIiwiZyIpLCIiKX07Si5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIit0aGlzLmwrKHRoaXMuaT8iPyIrdGhpcy5pLnN1YnN0cmluZygxKToiIikrdGhpcy5qfTsKdmFyIE09ZnVuY3Rpb24oYSl7dGhpcy5pPWF9O00ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaX07dmFyIE49ZnVuY3Rpb24oYSl7dGhpcy5OPWF9O2Z1bmN0aW9uIE8oYSl7cmV0dXJuIG5ldyBOKGZ1bmN0aW9uKGIpe3JldHVybiBiLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6In0pfXZhciBQPVtPKCJkYXRhIiksTygiaHR0cCIpLE8oImh0dHBzIiksTygibWFpbHRvIiksTygiZnRwIiksbmV3IE4oZnVuY3Rpb24oYSl7cmV0dXJuL15bXjpdKihbLz8jXXwkKS8udGVzdChhKX0pXSxRPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8\/I10qKD86Wy8\/I118JCkpL2k7ZnVuY3Rpb24gUigpe3ZhciBhPUFbZ107aWYoYSl7YT16KCgwLGEuYSkocCxmdW5jdGlvbigpe30sITEpKS5uZXh0KCkudmFsdWU7dmFyIGI9W2FhKCldO3JldHVybiBhKGIpfVMoRXJyb3IoImYiKSl9ZnVuY3Rpb24gYWEoKXt2YXIgYT1sb2NhdGlvbi5ocmVmLGI9aGFzaGVkX3F1ZXJ5LGQ9e307YiYmKGQucWg9YiwoYT0oYT1hLm1hdGNoKC9bPyZdc3RhcnQ9KFxkKykvZykpP2FbYS5sZW5ndGgtMV0ubWF0Y2goL1xkKy8pWzBdOiIiKSYmKGQuc3Q9YSkpO3JldHVybiBkfQpmdW5jdGlvbiBUKCl7dmFyIGE7YTp7aWYod2luZG93LnN0JiYoYT13aW5kb3cuc3QobG9jYXRpb24uaHJlZikpKWJyZWFrIGE7YT1wZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UudGltaW5nJiZwZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0P3BlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQ6dm9pZCAwfWlmKGEpdHJ5e3ZhciBiOygoYj13aW5kb3cpPT1udWxsPzA6Yi5zZXNzaW9uU3RvcmFnZSkmJndpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGVpZCxTdHJpbmcoYSkpfWNhdGNoKGQpe319ZnVuY3Rpb24gVSgpe3ZhciBhPWVpZCxiPW5ldyBKO0soYiwic2dfc3MiKTtMKGIsInNlaSIsYSk7cmV0dXJuIGIudG9TdHJpbmcoKX1mdW5jdGlvbiBWKGEpe3ZhciBiPWVpZCxkPW5ldyBKO0woZCwic2dfc3MiLGVuY29kZVVSSUNvbXBvbmVudChhKSk7TChkLCJzZWkiLGIpO1coZC50b1N0cmluZygpKX0KZnVuY3Rpb24gYmEoYSl7aWYod2luZG93LnBycyl7WCgicHNydCIpO3NjdG0mJkgoKTt2YXIgYj1VKCk7d2luZG93LnBycyhiLGEpLmNhdGNoKGZ1bmN0aW9uKCl7VihhKX0pfWVsc2UgVihhKX1mdW5jdGlvbiBXKGEpe1goInBzcnQiKTtzY3RtJiZIKCk7d2luZG93LnBycz93aW5kb3cucHJzKGEpLmNhdGNoKGZ1bmN0aW9uKCl7WShhKX0pOlkoYSl9CmZ1bmN0aW9uIFkoYSl7aWYod2luZG93LnByKXdpbmRvdy5wcihhKTtlbHNle2E6e3ZhciBiPWI9PT12b2lkIDA\/UDpiO2lmKGEgaW5zdGFuY2VvZiBNKWI9YTtlbHNle2Zvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7KytkKXt2YXIgbD1iW2RdO2lmKGwgaW5zdGFuY2VvZiBOJiZsLk4oYSkpe2I9bmV3IE0oYSk7YnJlYWsgYX19Yj12b2lkIDB9fWE9bG9jYXRpb247aWYoYiBpbnN0YW5jZW9mIE0paWYoYiBpbnN0YW5jZW9mIE0pYj1iLmk7ZWxzZSB0aHJvdyBFcnJvcigiZSIpO2Vsc2UgYj1RLnRlc3QoYik\/Yjp2b2lkIDA7YiE9PXZvaWQgMCYmYS5yZXBsYWNlKGIpfX1mdW5jdGlvbiBTKGEpe25hdmlnYXRvci5zZW5kQmVhY29uKCIvZ2VuXzIwND9jYWQ9c2dfYl9lJmU9IithLCIiKX1mdW5jdGlvbiBYKGEpe3NjdG0mJmdvb2dsZS50aWNrKCJsb2FkIixhKX07bmF2aWdhdG9yfHwoQS5uYXZpZ2F0b3I9e30pO3R5cGVvZiBuYXZpZ2F0b3Iuc2VuZEJlYWNvbiE9PSJmdW5jdGlvbiImJihuYXZpZ2F0b3Iuc2VuZEJlYWNvbj1mdW5jdGlvbihhKXsobmV3IEltYWdlKS5zcmM9YX0pO3dpbmRvdy5vbmVycm9yPWZ1bmN0aW9uKGEsYixkLGwsZil7bmF2aWdhdG9yLnNlbmRCZWFjb24oIi9nZW5fMjA0P2Vtc2c9IisoZiBpbnN0YW5jZW9mIEVycm9yP2YubWVzc2FnZTphKSsiJnNyY3BnPXNncyZqc3I9MSZqc2VsPTMiKX07WCgic3N0Iik7dmFyIFo7d2luZG93LnNncyYmdXNzdj8oWCgic3NzdCIpLFo9d2luZG93LnNncyhzcCkudGhlbihmdW5jdGlvbihhKXtYKCJzc2V0Iik7ciYmKFQoKSxiYShhKSk7cmV0dXJuITB9LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSk6Wj1Qcm9taXNlLnJlc29sdmUoITEpO1oudGhlbihmdW5jdGlvbihhKXtpZighYSYmKFgoImJzc3QiKSxhPVIoKSxYKCJic2V0IiksYSkpe3ZhciBiPWNiczthPWhhc2hlZF9xdWVyeT8iQi4xLiIrYisiLiIrYTphO2I9bmV3IERhdGU7Yi5zZXRTZWNvbmRzKGIuZ2V0U2Vjb25kcygpKyhOdW1iZXIoY2UpfHwzMDApKTt2YXIgZD0iU0dfU1M9IithLGw9ZG9jdW1lbnQuY29va2llLmxlbmd0aCtkLmxlbmd0aDtyJiYobDw0MDkzJiYhc3NfY2dpJiYoZG9jdW1lbnQuY29va2llPWQrKCI7IGV4cGlyZXM9IitiLnRvVVRDU3RyaW5nKCkpKSxUKCksc3NfY2dpfHxkb2N1bWVudC5jb29raWUuaW5kZXhPZigiU0dfU1M9Iik8MD9WKGEpOlcoVSgpKSl9fSkuY2F0Y2goZnVuY3Rpb24oYSl7UyhhKX0pO30pLmNhbGwodGhpcyk7fSkoKTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSI4WEZuMjFhVFRsMS1xSlBwa3VKSlNnIj4oZnVuY3Rpb24oKXt2YXIgY3NzSWQ9J3l2bHJ1ZSc7dmFyIGV2ZW50X2lkPSc5WC1GYUoyTkFkU2ZrZFVQOU5tcWtRbyc7ZnVuY3Rpb24gc3coKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjc3NJZCkuc2V0QXR0cmlidXRlKCdzdHlsZScsJycpO25hdmlnYXRvci5zZW5kQmVhY29uKGAvZ2VuXzIwND9jYWQ9c2dfdHJibCZlaT0ke2V2ZW50X2lkfWAsJycpO30Kc2V0VGltZW91dChzdywyMDAwKTt9KSgpOzwvc2NyaXB0PiA8ZGl2IGlkPSJ5dmxydWUiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPklmIHlvdSdyZSBoYXZpbmcgdHJvdWJsZSBhY2Nlc3NpbmcgR29vZ2xlIFNlYXJjaCwgcGxlYXNlJm5ic3A7PGEgaHJlZj0iL3NlYXJjaD9xPWJhcmVmb290K2RyZWFtcytjb3p5Y2hpYytsaXRlK2NpcmNsZStjYXJkaWdhbiZhbXA7bnVtPTEwMCZhbXA7c2NhX2Vzdj0zOTVlY2QzNjQ1N2I4M2I5JmFtcDtwd3M9MCZhbXA7aGw9ZW4mYW1wO25lYXI9VW5pdGVkK1N0YXRlcyZhbXA7Z2w9VVMmYW1wO2dscD0xJmFtcDtnYnY9MSZhbXA7ZW1zZz1TR19SRUwmYW1wO3NlaT05WC1GYUoyTkFkU2ZrZFVQOU5tcWtRbyI+Y2xpY2sgaGVyZTwvYT4sIG9yIHNlbmQmbmJzcDs8YSBocmVmPSJodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS93ZWJzZWFyY2giPmZlZWRiYWNrPC9hPi48L2Rpdj48L2JvZHk+PC9odG1sPg=="}