جاري تشغيل مدير المكتب الذكي...
KCgpPT57Cid1c2Ugc3RyaWN0JzsKaWYod2luZG93LkxBV0FJX0FJKXJldHVybjsKY29uc3QgYXBwPXdpbmRvdy5MQVdBSV9BUFA7aWYoIWFwcClyZXR1cm47CmNvbnN0IEFJX0NIQVRfQVBJPSdodHRwczovL2Zsb3cub3JkcmF0Lm5ldC93ZWJob29rL2xhd3llci1haS1jaGF0JzsKY29uc3QgJD1pZD0+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLGVzYz1hcHAuZXNjYXBlSHRtbCxkYXRlVGV4dD1hcHAuZGF0ZVRleHQsdG9kYXk9YXBwLnRvZGF5LG1vbmV5PWFwcC5tb25leSxzZWFyY2hUZXh0PWFwcC5zZWFyY2hUZXh0LGNhc2VUaXRsZT1hcHAuY2FzZVRpdGxlLGNsaWVudE5hbWU9YXBwLmNsaWVudE5hbWUsdXNlck5hbWU9YXBwLnVzZXJOYW1lOwpsZXQgc3RhdGU9YXBwLmdldFN0YXRlKCksbWVzc2FnZXM9W10sYnVzeT1mYWxzZTsKZnVuY3Rpb24gdXNlck5hbWVUZXh0KCl7cmV0dXJuIFN0cmluZyhzdGF0ZS5zZXR0aW5ncz8ubGF3eWVyTmFtZXx8YXBwLmdldFVzZXJOYW1lPy4oKXx8JycpLnRyaW0oKXx8J9ij2LPYqtin2LDZiid9CmZ1bmN0aW9uIGh1bWFuQnJpZWYoKXtjb25zdCBzdD1hcHAuZ2V0U3RhdHMoKSxwPVtdO2lmKHN0LnRvZGF5Q2FzZXMubGVuZ3RoKXAucHVzaChgJHtzdC50b2RheUNhc2VzLmxlbmd0aH0g2KzZhNiz2Kkg2KfZhNmK2YjZhWApO2lmKHN0LnRvbW9ycm93Q2FzZXMubGVuZ3RoKXAucHVzaChgJHtzdC50b21vcnJvd0Nhc2VzLmxlbmd0aH0g2KzZhNiz2Kkg2KjYp9qG2LEg2KrYrdiq2KfYrCDYqtis2YfZitiyYCk7aWYoc3QubGF0ZS5sZW5ndGgpcC5wdXNoKGAke3N0LmxhdGUubGVuZ3RofSDZhdmE2YEg2YXYqtij2K7YsWApO2lmKHN0LmNyaXRpY2FsTWlzc2luZy5sZW5ndGgpcC5wdXNoKGAke3N0LmNyaXRpY2FsTWlzc2luZy5sZW5ndGh9INmG2YLYtSDYrdix2KxgKTtyZXR1cm4gYNmH2YTYpyAke3VzZXJOYW1lVGV4dCgpfdiMINij2YbYpyDYsdin2KzYudiqINmI2LbYuSDYp9mE2YXZg9iq2Kgg2KjYudivINii2K7YsSDZhdiy2KfZhdmG2KkuXG5cbtin2YTYrtmE2KfYtdipOiAke3AubGVuZ3RoP3Auam9pbign2IwgJyk6J9mF2Kcg2LnZhtiv2YMg2KrZhtio2YrZh9in2Kog2K3Ysdis2Kkg2K3Ys9ioINin2YTYqNmK2KfZhtin2Kog2KfZhNit2KfZhNmK2KknfS5cblxu2KfZgtiq2LHYp9it2Yog2YbYqNiv2KMg2KjYp9mE2KPZgtix2Kgg2YTZhNmF2K3Zg9mF2KnYjCDYqNi52K/Zh9inINin2YTZhdmE2YHYp9iqINin2YTZhdiq2KPYrtix2KnYjCDYq9mFINmG2YjYsti5INin2YTZhtmI2KfZgti1INi52YTZiSDYp9mE2YHYsdmK2YIuYH0KZnVuY3Rpb24gZW5zdXJlV2VsY29tZSgpe2lmKCFtZXNzYWdlcy5sZW5ndGgpbWVzc2FnZXMucHVzaCh7cm9sZTonYXNzaXN0YW50Jyx0ZXh0Omh1bWFuQnJpZWYoKSxtZXRhOifZhdiv2YrYsSDYp9mE2YXZg9iq2Kgg2KfZhNiw2YPZiiDCtyDYp9mE2KLZhid9KX0KZnVuY3Rpb24gdGV4dEh0bWwodil7cmV0dXJuIGVzYyhTdHJpbmcodnx8JycpKS5yZXBsYWNlKC9cbi9nLCc8YnI+Jyl9CmZ1bmN0aW9uIG1lc3NhZ2VUZW1wbGF0ZShtKXtjb25zdCBhc3Npc3RhbnQ9bS5yb2xlIT09J3VzZXInO3JldHVybiBgPGRpdiBjbGFzcz0iYWktbWVzc2FnZSAke2Fzc2lzdGFudD8nYXNzaXN0YW50JzondXNlcid9Ij48ZGl2IGNsYXNzPSJhaS1tZXNzYWdlLWF2YXRhciI+PGljb25pZnktaWNvbiBpY29uPSIke2Fzc2lzdGFudD8nbGluZS1tZDpnaXRodWItbG9vcCc6J2xpbmUtbWQ6YWNjb3VudCd9Ij48L2ljb25pZnktaWNvbj48L2Rpdj48ZGl2IGNsYXNzPSJhaS1tZXNzYWdlLWNvbnRlbnQiPjxkaXYgY2xhc3M9ImFpLW1lc3NhZ2UtYnViYmxlIj4ke3RleHRIdG1sKG0udGV4dCl9PC9kaXY+PHNtYWxsIGNsYXNzPSJhaS1tZXNzYWdlLW1ldGEiPiR7ZXNjKG0ubWV0YXx8KGFzc2lzdGFudD8nTGF3eWVyIEFJJzon2KPZhtiqJykpfTwvc21hbGw+PC9kaXY+PC9kaXY+YH0KZnVuY3Rpb24gcmVuZGVyQ29udmVyc2F0aW9uKCl7Y29uc3QgY2hhdD0kKCdhaUNoYXQnKTtpZighY2hhdClyZXR1cm47Y2hhdC5pbm5lckhUTUw9YDxkaXYgY2xhc3M9ImFpLWNoYXQtZGF5Ij48c3Bhbj4ke2RhdGVUZXh0KHRvZGF5KCkpfTwvc3Bhbj48L2Rpdj4ke21lc3NhZ2VzLm1hcChtZXNzYWdlVGVtcGxhdGUpLmpvaW4oJycpfTxkaXYgY2xhc3M9ImFpLXR5cGluZyAke2J1c3k/J3Nob3cnOicnfSI+PGRpdiBjbGFzcz0iYWktdHlwaW5nLWJ1YmJsZSI+PGk+PC9pPjxpPjwvaT48aT48L2k+PC9kaXY+PHNtYWxsPtmC2KfYudivINij2LHYp9is2Lkg2YXZhNmB2KfYqiDYp9mE2YXZg9iq2KguLi48L3NtYWxsPjwvZGl2PmA7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT5jaGF0LnNjcm9sbFRvcD1jaGF0LnNjcm9sbEhlaWdodCl9CmZ1bmN0aW9uIGFwcGVuZChyb2xlLHRleHQsbWV0YT0nJyl7bWVzc2FnZXMucHVzaCh7cm9sZSx0ZXh0OlN0cmluZyh0ZXh0fHwnJyksbWV0YX0pO2lmKG1lc3NhZ2VzLmxlbmd0aD4yNCltZXNzYWdlcz1tZXNzYWdlcy5zbGljZSgtMjQpO3JlbmRlckNvbnZlcnNhdGlvbigpfQpmdW5jdGlvbiBwcmlvcml0eShzdCl7Y29uc3QgbD1bYNiq2YXYp9mFICR7dXNlck5hbWVUZXh0KCl92Iwg2YfYsNinINiq2LHYqtmK2Kgg2KfZhNi52YXZhCDYp9mE2YTZiiDYo9mG2LXYrSDZgdmK2Ycg2KfZhNmK2YjZhTpgXTtsZXQgbj0xO3N0LnRvZGF5Q2FzZXMuc2xpY2UoMCw1KS5mb3JFYWNoKGM9PmwucHVzaChgJHtuKyt9KSDYrNmE2LPYqSDYp9mE2YrZiNmFOiAke2Nhc2VUaXRsZShjKX0g4oCUICR7Y2xpZW50TmFtZShjLmNsaWVudElkKX0g2LbYryAke2Mub3Bwb25lbnR8fCctJ30g4oCUICR7Yy5jb3VydHx8Jy0nfSDigJQg2KfZhNmF2LfZhNmI2KggJHtjLm5leHRBY3Rpb258fCfZhdix2KfYrNi52Kkg2KfZhNmF2YTZgSd9LmApKTtzdC50b21vcnJvd0Nhc2VzLnNsaWNlKDAsNCkuZm9yRWFjaChjPT5sLnB1c2goYCR7bisrfSkg2KrYrNmH2YrYsiDYrNmE2LPYqSDYqNin2obYsTogJHtjYXNlVGl0bGUoYyl9IOKAlCDYsdin2KzYuSDYp9mE2YXYsdmB2YLYp9iqINmI2KfZhNmF2LDZg9ix2Kkg2YjYp9mE2KXYrNix2KfYoSDYp9mE2YXYt9mE2YjYqC5gKSk7c3QubGF0ZS5zbGljZSgwLDQpLmZvckVhY2goYz0+bC5wdXNoKGAke24rK30pINmF2YTZgSDZhdiq2KPYrtixOiAke2Nhc2VUaXRsZShjKX0g4oCUICR7Y2xpZW50TmFtZShjLmNsaWVudElkKX0g4oCUINmD2KfZhiDYp9mE2YXYt9mE2YjYqCAke2MubmV4dEFjdGlvbnx8J9mF2KrYp9io2LnYqSd9INio2KrYp9ix2YrYriAke2RhdGVUZXh0KGMubmV4dERhdGUpfS5gKSk7aWYoc3QuY3JpdGljYWxNaXNzaW5nLmxlbmd0aClsLnB1c2goYCR7bisrfSkg2YjYstmR2LkgJHtzdC5jcml0aWNhbE1pc3NpbmcubGVuZ3RofSDZhtmC2LUg2K3YsdisINi52YTZiSDYp9mE2YXYs9ik2YjZhNmK2YYg2YLYqNmEINmG2YfYp9mK2Kkg2KfZhNiv2YjYp9mFLmApO2lmKG49PT0xKWwucHVzaCgn2YXYp9mD2Ygg2KPYudmF2KfZhCDYrdix2KzYqSDZhdiz2KzZhNipINit2KfZhNmK2YvYpy4nKTtsLnB1c2goJ1xu2KrZiNis2YrZhyDYpdiv2KfYsdmKOiDZhNinINiq2K7ZhNmI2YYg2KPZiiDZhdmE2YEg2KjYr9mI2YYg2YXYs9ik2YjZhCDZiNiq2KfYsdmK2K4g2YLYp9iv2YUg2YjYp9i22K0uJyk7cmV0dXJuIGwuam9pbignXG4nKX0KZnVuY3Rpb24gdGVhbSgpe2NvbnN0IHRhc2tzPXN0YXRlLnRhc2tzLmZpbHRlcih0PT4hdC5kZWxldGVkJiYhdC5kb25lKS5zb3J0KChhLGIpPT5TdHJpbmcoYS5kYXRlfHwnOTk5OS0xMi0zMScpLmxvY2FsZUNvbXBhcmUoU3RyaW5nKGIuZGF0ZXx8Jzk5OTktMTItMzEnKSkpLGc9bmV3IE1hcCgpLGw9WyfZh9iw2Kcg2KrZiNiy2YrYuSDYp9mE2LnZhdmEINin2YTZhdmC2KrYsditINmE2YTZgdix2YrZgiDYrdiz2Kgg2KfZhNiz2KzZhNin2Kog2KfZhNit2KfZhNmK2Kk6J107dGFza3MuZm9yRWFjaCh0PT57Y29uc3Qgaz10LmFzc2lnbmVkVG98fCd1bmFzc2lnbmVkJyxuYW1lPXVzZXJOYW1lKHQuYXNzaWduZWRUbyl8fHQudG98fCfYutmK2LEg2YXYs9mG2K8nO2lmKCFnLmhhcyhrKSlnLnNldChrLHtuYW1lLGl0ZW1zOltdfSk7Zy5nZXQoaykuaXRlbXMucHVzaCh0KX0pO2lmKCFnLnNpemUpbC5wdXNoKCfZhdin2YPZiCDZhdmH2KfZhSDZhdmB2KrZiNit2Kkg2YXYs9is2YTYqS4nKTtbLi4uZy52YWx1ZXMoKV0uc2xpY2UoMCw4KS5mb3JFYWNoKHg9PntsLnB1c2goYFxuJHt4Lm5hbWV9OmApO3guaXRlbXMuc2xpY2UoMCw0KS5mb3JFYWNoKHQ9Pntjb25zdCBjPXN0YXRlLmNhc2VzLmZpbmQodj0+di5pZD09PXQuY2FzZUlkKTtsLnB1c2goYOKAoiAke3QudGl0bGV9IOKAlCAke2RhdGVUZXh0KHQuZGF0ZSl9JHtjP2Ag4oCUICR7Y2FzZVRpdGxlKGMpfWA6Jyd9LmApfSl9KTtjb25zdCB1bm93bmVkPXN0YXRlLmNhc2VzLmZpbHRlcihjPT4hYy5kZWxldGVkJiYhYy5hcmNoaXZlZCYmIWMub3duZXImJiFbJ9mF2YbYrNiy2KknLCfZhdi62YTZgtipJ10uaW5jbHVkZXMoYy5zdGF0dXMpKTtpZih1bm93bmVkLmxlbmd0aClsLnB1c2goYFxu2KrZhtio2YrZhzogJHt1bm93bmVkLmxlbmd0aH0g2YXZhNmBINio2K/ZiNmGINmF2LPYpNmI2YQuYCk7cmV0dXJuIGwuam9pbignXG4nKX0KZnVuY3Rpb24gaGVhcmluZ3Mocm93cyxsYWJlbCl7Y29uc3QgbD1bYCR7bGFiZWx9OmBdO2lmKCFyb3dzLmxlbmd0aClyZXR1cm4gYCR7bGFiZWx9OiDZhdin2YPZiCDYrNmE2LPYp9iqINmF2LPYrNmE2Kkg2K3Ys9ioINin2YTYqNmK2KfZhtin2Kog2KfZhNit2KfZhNmK2KkuYDtyb3dzLnNsaWNlKDAsOCkuZm9yRWFjaCgoYyxpKT0+bC5wdXNoKGAke2krMX0pICR7Y2FzZVRpdGxlKGMpfSDigJQgJHtjbGllbnROYW1lKGMuY2xpZW50SWQpfSDYttivICR7Yy5vcHBvbmVudHx8Jy0nfSDigJQgJHtjLmNvdXJ0fHwnLSd9IOKAlCAke2MubmV4dEFjdGlvbnx8J9is2YTYs9ipJ30uYCkpO2wucHVzaCgnXG7Ysdin2KzYudmI2Kcg2KfZhNmF2LDZg9ix2Kkg2YjYp9mE2LfZhNio2KfYqiDZiNin2YTZhdix2YHZgtin2Kog2YjYp9mE2YjZg9in2YTYqSDZiNin2YTYr9in2KbYsdipINmC2KjZhCDYp9mE2K7YsdmI2KwuJyk7cmV0dXJuIGwuam9pbignXG4nKX0KZnVuY3Rpb24gbWlzc2luZyhzdCl7Y29uc3QgZz1uZXcgTWFwKCk7c3QubWlzc2luZy5mb3JFYWNoKHg9PntpZighZy5oYXMoeC5jYXNlLmlkKSlnLnNldCh4LmNhc2UuaWQse2Nhc2U6eC5jYXNlLGl0ZW1zOltdfSk7Zy5nZXQoeC5jYXNlLmlkKS5pdGVtcy5wdXNoKHguaXRlbSl9KTtjb25zdCByb3dzPVsuLi5nLnZhbHVlcygpXTtpZighcm93cy5sZW5ndGgpcmV0dXJuICfZhdmF2KrYp9iy2Iwg2YXYp9mD2Ygg2YbZiNin2YLYtSDZhdiz2KzZhNipINit2KfZhNmK2YvYpy4nO2NvbnN0IGw9WyfYsdin2KzYudiqINmG2YjYp9mC2LUg2KfZhNmF2YTZgdin2Ko6J107cm93cy5zbGljZSgwLDEwKS5mb3JFYWNoKCh4LGkpPT5sLnB1c2goYCR7aSsxfSkgJHtjYXNlVGl0bGUoeC5jYXNlKX0g4oCUICR7Y2xpZW50TmFtZSh4LmNhc2UuY2xpZW50SWQpfTogJHt4Lml0ZW1zLnNsaWNlKDAsNSkuam9pbign2IwgJyl9LmApKTtyZXR1cm4gbC5qb2luKCdcbicpfQpmdW5jdGlvbiBsYXRlKHN0KXtpZighc3QubGF0ZS5sZW5ndGgpcmV0dXJuICfZhdin2YPZiCDZhdmE2YHYp9iqINmF2KrYo9iu2LHYqSDYrdiz2Kgg2KfZhNiq2YjYp9ix2YrYriDYp9mE2K3Yp9mE2YrYqS4nO2NvbnN0IGw9WyfZh9iw2Ycg2KfZhNmF2YTZgdin2Kog2KrYrdiq2KfYrCDYqtiv2K7ZhCDZhdio2KfYtNixOiddO3N0LmxhdGUuc2xpY2UoMCwxMCkuZm9yRWFjaCgoYyxpKT0+bC5wdXNoKGAke2krMX0pICR7Y2FzZVRpdGxlKGMpfSDigJQgJHtjbGllbnROYW1lKGMuY2xpZW50SWQpfSDYttivICR7Yy5vcHBvbmVudHx8Jy0nfSDigJQg2YXYqtij2K7YsSDZhdmGICR7ZGF0ZVRleHQoYy5uZXh0RGF0ZSl9IOKAlCDYp9mE2YXYt9mE2YjYqCAke2MubmV4dEFjdGlvbnx8J9iq2K3Yr9mK2Ksg2KfZhNil2KzYsdin2KEnfS5gKSk7cmV0dXJuIGwuam9pbignXG4nKX0KZnVuY3Rpb24gZmluYW5jZShzdCl7Y29uc3Qgcj1NYXRoLm1heChzdC5iaWxsZWQtc3QucGFpZCwwKSxsPVtg2KfZhNmI2LbYuSDYp9mE2YXYp9mE2Yo6YCxg4oCiINin2YTZhdi32YTZiNioOiAke21vbmV5KHN0LmJpbGxlZCl9INivLtmDLmAsYOKAoiDYp9mE2YXZgtio2YjYtjogJHttb25leShzdC5wYWlkKX0g2K8u2YMuYCxg4oCiINin2YTZhdiq2KjZgtmKOiAke21vbmV5KHIpfSDYry7Zgy5gLGDigKIg2KfZhNmF2LXYsdmI2YHYp9iqINmI2KfZhNix2YjYp9iq2Kg6ICR7bW9uZXkoc3QuZXhwZW5zZXMpfSDYry7Zgy5gXTtyZXR1cm4gbC5qb2luKCdcbicpfQpmdW5jdGlvbiB0YXNrcygpe2NvbnN0IHJvd3M9c3RhdGUudGFza3MuZmlsdGVyKHQ9PiF0LmRlbGV0ZWQmJiF0LmRvbmUpLnNvcnQoKGEsYik9PlN0cmluZyhhLmRhdGV8fCc5OTk5LTEyLTMxJykubG9jYWxlQ29tcGFyZShTdHJpbmcoYi5kYXRlfHwnOTk5OS0xMi0zMScpKSk7aWYoIXJvd3MubGVuZ3RoKXJldHVybiAn2YXYp9mD2Ygg2YXZh9in2YUg2YXZgdiq2YjYrdipINmF2LPYrNmE2Kkg2K3Yp9mE2YrZi9inLic7Y29uc3QgbD1bYNi52YbYr9mD2YUgJHtyb3dzLmxlbmd0aH0g2YXZh9mF2Kkg2YXZgdiq2YjYrdipOmBdO3Jvd3Muc2xpY2UoMCwxMikuZm9yRWFjaCgodCxpKT0+e2NvbnN0IGM9c3RhdGUuY2FzZXMuZmluZCh4PT54LmlkPT09dC5jYXNlSWQpO2wucHVzaChgJHtpKzF9KSAke3QudGl0bGV9IOKAlCAke3VzZXJOYW1lKHQuYXNzaWduZWRUbyl8fHQudG98fCfYutmK2LEg2YXYs9mG2K8nfSDigJQgJHtkYXRlVGV4dCh0LmRhdGUpfSR7Yz9gIOKAlCAke2Nhc2VUaXRsZShjKX1gOicnfS5gKX0pO3JldHVybiBsLmpvaW4oJ1xuJyl9CmZ1bmN0aW9uIGNvbXBhY3RPZmZpY2VDb250ZXh0KCl7CnN0YXRlPWFwcC5nZXRTdGF0ZSgpO2NvbnN0IHN0PWFwcC5nZXRTdGF0cygpLGFjdGl2ZUNhc2VzPXN0YXRlLmNhc2VzLmZpbHRlcihjPT4hYy5kZWxldGVkJiYhYy5hcmNoaXZlZCkuc2xpY2UoMCwxODApLGFjdGl2ZUNhc2VJZHM9bmV3IFNldChhY3RpdmVDYXNlcy5tYXAoYz0+Yy5pZCkpLGNsaWVudElkcz1uZXcgU2V0KGFjdGl2ZUNhc2VzLm1hcChjPT5jLmNsaWVudElkKS5maWx0ZXIoQm9vbGVhbikpOwpjb25zdCBkb2NzQnlDYXNlPXt9O3N0YXRlLmRvY3MuZmlsdGVyKGQ9PiFkLmRlbGV0ZWQmJmFjdGl2ZUNhc2VJZHMuaGFzKGQuY2FzZUlkKSkuZm9yRWFjaChkPT5kb2NzQnlDYXNlW2QuY2FzZUlkXT0oZG9jc0J5Q2FzZVtkLmNhc2VJZF18fDApKzEpOwpyZXR1cm57Z2VuZXJhdGVkX2F0Om5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxvZmZpY2U6e25hbWU6c3RhdGUuc2V0dGluZ3M/Lm9mZmljZXx8JycsbGF3eWVyX25hbWU6c3RhdGUuc2V0dGluZ3M/Lmxhd3llck5hbWV8fCcnLGN1cnJlbmN5OnN0YXRlLnNldHRpbmdzPy5jdXJyZW5jeXx8J0tXRCd9LHN1bW1hcnk6e2FjdGl2ZV9jYXNlczpzdC5hY3RpdmUsanVkZ2VkX2Nhc2VzOnN0Lmp1ZGdlZCx0b2RheV9zZXNzaW9uczpzdC50b2RheUNhc2VzLmxlbmd0aCx0b21vcnJvd19zZXNzaW9uczpzdC50b21vcnJvd0Nhc2VzLmxlbmd0aCxuZWFyX3Nlc3Npb25zOnN0Lm5lYXIubGVuZ3RoLGxhdGVfY2FzZXM6c3QubGF0ZS5sZW5ndGgsY3JpdGljYWxfbWlzc2luZzpzdC5jcml0aWNhbE1pc3NpbmcubGVuZ3RoLGJpbGxlZDpzdC5iaWxsZWQscGFpZDpzdC5wYWlkLGV4cGVuc2VzOnN0LmV4cGVuc2VzfSx1c2VyczpzdGF0ZS51c2Vycy5maWx0ZXIodT0+IXUuZGVsZXRlZCYmdS5hY3RpdmUhPT1mYWxzZSkuc2xpY2UoMCwxMDApLm1hcCh1PT4oe2lkOnUuaWQsbmFtZTp1Lm5hbWUscm9sZTp1LnJvbGUsZGVwYXJ0bWVudDp1LmRlcGFydG1lbnR9KSksY2xpZW50czpzdGF0ZS5jbGllbnRzLmZpbHRlcihjPT4hYy5kZWxldGVkJiZjbGllbnRJZHMuaGFzKGMuaWQpKS5zbGljZSgwLDIyMCkubWFwKGM9Pih7aWQ6Yy5pZCxuYW1lOmMubmFtZSx0eXBlOmMudHlwZX0pKSxjYXNlczphY3RpdmVDYXNlcy5tYXAoYz0+KHtpZDpjLmlkLGF1dG9fbm86Yy5hdXRvTm8sY2FzZV9ubzpjLmNhc2VObyxjbGllbnRfaWQ6Yy5jbGllbnRJZCxvcHBvbmVudDpjLm9wcG9uZW50LHR5cGU6Yy50eXBlLGNvdXJ0OmMuY291cnQsY2lyY3VpdDpjLmNpcmN1aXRObyxzdGF0dXM6Yy5zdGF0dXMsbGl0aWdhdGlvbl9zdGF0dXM6Yy5saXRpZ2F0aW9uU3RhdHVzLG93bmVyOmMub3duZXIsY3VycmVudF9kYXRlOmMuY3VycmVudERhdGUsY3VycmVudF9hY3Rpb246Yy5jdXJyZW50QWN0aW9uLG5leHRfZGF0ZTpjLm5leHREYXRlLG5leHRfYWN0aW9uOmMubmV4dEFjdGlvbixqdWRnbWVudF9kYXRlOmMuanVkZ21lbnREYXRlLGp1ZGdtZW50X3RleHQ6Yy5qdWRnbWVudFRleHQsbm90ZXM6Yy5ub3RlcyxhdHRhY2htZW50c19jb3VudDpkb2NzQnlDYXNlW2MuaWRdfHwwfSkpLHRhc2tzOnN0YXRlLnRhc2tzLmZpbHRlcih0PT4hdC5kZWxldGVkKS5zbGljZSgwLDE4MCkubWFwKHQ9Pih7aWQ6dC5pZCx0aXRsZTp0LnRpdGxlLGRhdGU6dC5kYXRlLGFzc2lnbmVkX3RvOnQuYXNzaWduZWRUbyxwcmlvcml0eTp0LnByaW9yaXR5LGNhc2VfaWQ6dC5jYXNlSWQsbm90ZTp0Lm5vdGUsZG9uZTohIXQuZG9uZX0pKSxhY2NvdW50czpzdGF0ZS5hY2NvdW50cy5maWx0ZXIoYT0+IWEuZGVsZXRlZCkuc2xpY2UoMCwxNjApLm1hcChhPT4oe2tpbmQ6YS5raW5kLGFtb3VudDpOdW1iZXIoYS5hbW91bnR8fDApLGRhdGU6YS5kYXRlLHN0YXR1czphLnN0YXR1cyxjYXNlX2lkOmEuY2FzZUlkLHJlZmVyZW5jZTphLnJlZmVyZW5jZU5vfHxhLmNvbnRyYWN0Tm98fCcnfSkpfQp9CmFzeW5jIGZ1bmN0aW9uIGNoYXRBcGkocXVlc3Rpb24pewpjb25zdCB0b2tlbj1TdHJpbmcobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhd3llcl9haV90b2tlbicpfHwnJykudHJpbSgpLG9mZmljZUlkPVN0cmluZyhsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGF3eWVyX2FpX29mZmljZV9pZCcpfHwnJykudHJpbSgpLHVzZXJJZD1TdHJpbmcobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhd3llcl9haV91c2VyX2lkJyl8fCcnKS50cmltKCk7CmlmKCF0b2tlbnx8IW9mZmljZUlkKXRocm93IG5ldyBFcnJvcign2KzZhNiz2Kkg2KfZhNiv2K7ZiNmEINi62YrYsSDZhdiq2YjZgdix2KknKTsKY29uc3QgcmVzcG9uc2U9YXdhaXQgZmV0Y2goQUlfQ0hBVF9BUEkse21ldGhvZDonUE9TVCcsaGVhZGVyczp7J0NvbnRlbnQtVHlwZSc6J2FwcGxpY2F0aW9uL2pzb24nLCdBdXRob3JpemF0aW9uJzpgQmVhcmVyICR7dG9rZW59YH0sYm9keTpKU09OLnN0cmluZ2lmeSh7dG9rZW4sb2ZmaWNlX2lkOm9mZmljZUlkLHVzZXJfaWQ6dXNlcklkLHF1ZXN0aW9uLGNvbnZlcnNhdGlvbjptZXNzYWdlcy5zbGljZSgtMTIpLm1hcChtPT4oe3JvbGU6bS5yb2xlLHRleHQ6bS50ZXh0fSkpLGNvbnRleHQ6Y29tcGFjdE9mZmljZUNvbnRleHQoKX0pfSk7CmNvbnN0IHJhdz1hd2FpdCByZXNwb25zZS50ZXh0KCk7bGV0IGRhdGE9e307dHJ5e2RhdGE9cmF3P0pTT04ucGFyc2UocmF3KTp7fX1jYXRjaChfKXtkYXRhPXtlcnJvcjpyYXd8fCfYp9iz2KrYrNin2KjYqSDYutmK2LEg2LXYp9mE2K3YqSd9fWlmKEFycmF5LmlzQXJyYXkoZGF0YSkpZGF0YT1kYXRhWzBdfHx7fTtpZighcmVzcG9uc2Uub2t8fGRhdGEub2s9PT1mYWxzZSl0aHJvdyBuZXcgRXJyb3IoZGF0YS5lcnJvcnx8ZGF0YS5tZXNzYWdlfHxg2KrYudiw2LEg2KrYtNi62YrZhCDYp9mE2YXYs9in2LnYryAoJHtyZXNwb25zZS5zdGF0dXN9KWApO3JldHVybiBkYXRhCn0KZnVuY3Rpb24gcHJlcGFyZURyYXdlckludGVyYWN0aW9uKCl7CmNvbnN0IGNoYXQ9JCgnYWlDaGF0JyksaW5wdXQ9JCgnYWlRdWVzdGlvbicpO2lmKGNoYXQmJiFjaGF0LmRhdGFzZXQuc2Nyb2xsUmVhZHkpe2NoYXQuZGF0YXNldC5zY3JvbGxSZWFkeT0nMSc7Y2hhdC5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsZT0+ZS5zdG9wUHJvcGFnYXRpb24oKSx7cGFzc2l2ZTp0cnVlfSk7Y2hhdC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLGU9PmUuc3RvcFByb3BhZ2F0aW9uKCkse3Bhc3NpdmU6dHJ1ZX0pfQppZihpbnB1dCYmIWlucHV0LmRhdGFzZXQucmVzaXplUmVhZHkpe2lucHV0LmRhdGFzZXQucmVzaXplUmVhZHk9JzEnO2NvbnN0IHJlc2l6ZT0oKT0+e2lucHV0LnN0eWxlLmhlaWdodD0nYXV0byc7aW5wdXQuc3R5bGUuaGVpZ2h0PU1hdGgubWluKE1hdGgubWF4KGlucHV0LnNjcm9sbEhlaWdodCw0MiksMTEwKSsncHgnfTtpbnB1dC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcscmVzaXplKTtyZXNpemUoKX0KfQpmdW5jdGlvbiBmYWxsYmFjayhxKXtjb25zdCBwPXNlYXJjaFRleHQocSksc3Q9YXBwLmdldFN0YXRzKCk7aWYocC5pbmNsdWRlcygn2KfZiNmE2YjZitin2KonKXx8cC5pbmNsdWRlcygn2LHYqtioJyl8fHAuaW5jbHVkZXMoJ9in2KjYr9ijJyl8fHAuaW5jbHVkZXMoJ9mF2YTYrti1INin2YTZitmI2YUnKSlyZXR1cm4gcHJpb3JpdHkoc3QpO2lmKHAuaW5jbHVkZXMoJ9mB2LHZitmCJyl8fHAuaW5jbHVkZXMoJ9mI2LLYuScpfHxwLmluY2x1ZGVzKCfYqti52YTZitmF2KfYqicpfHxwLmluY2x1ZGVzKCfZhdmI2LjZgScpKXJldHVybiB0ZWFtKCk7aWYoKHAuaW5jbHVkZXMoJ9is2YTYsycpfHxwLmluY2x1ZGVzKCfZhdit2YPZhScpKSYmcC5pbmNsdWRlcygn2KjYp9qG2LEnKSlyZXR1cm4gaGVhcmluZ3Moc3QudG9tb3Jyb3dDYXNlcywn2KrYrNmH2YrYsiDYrNmE2LPYp9iqINio2KfahtixJyk7aWYoKHAuaW5jbHVkZXMoJ9is2YTYsycpfHxwLmluY2x1ZGVzKCfZhdit2YPZhScpKSYmcC5pbmNsdWRlcygn2KfZhNmK2YjZhScpKXJldHVybiBoZWFyaW5ncyhzdC50b2RheUNhc2VzLCfYrNmE2LPYp9iqINin2YTZitmI2YUnKTtpZihwLmluY2x1ZGVzKCfYrNmE2LMnKXx8cC5pbmNsdWRlcygn2YXZiNi52K8nKSlyZXR1cm4gaGVhcmluZ3Moc3QubmVhciwn2KfZhNis2YTYs9in2Kog2YjYp9mE2YXZiNin2LnZitivINiu2YTYp9mEIDE0INmK2YjZhScpO2lmKHAuaW5jbHVkZXMoJ9mG2YLYtScpfHxwLmluY2x1ZGVzKCfYp9iz2KrZg9mF2KfZhCcpKXJldHVybiBtaXNzaW5nKHN0KTtpZihwLmluY2x1ZGVzKCfZhdiq2KPYrtixJyl8fHAuaW5jbHVkZXMoJ9iq2KfYrtmK2LEnKSlyZXR1cm4gbGF0ZShzdCk7aWYocC5pbmNsdWRlcygn2KrYrdi12YrZhCcpfHxwLmluY2x1ZGVzKCfZhdin2YTZiicpfHxwLmluY2x1ZGVzKCfZhdio2YTYuicpfHxwLmluY2x1ZGVzKCfZgdin2KrZiNixJyl8fHAuaW5jbHVkZXMoJ9mC2KjYticpKXJldHVybiBmaW5hbmNlKHN0KTtpZihwLmluY2x1ZGVzKCfZhdmH2YUnKXx8cC5pbmNsdWRlcygn2YXYs9ik2YjZhCcpKXJldHVybiB0YXNrcygpO3JldHVybiBwcmlvcml0eShzdCl9CmZ1bmN0aW9uIGluc3RydWN0aW9ucygpe3JldHVybiBg2KPZhtiqINmF2K/ZitixINmF2YPYqtioINmF2K3Yp9mF2KfYqSDZiNmF2K3Yp9mF2Y0g2K7YqNmK2LEg2K/Yp9iu2YQg2KjYsdmG2KfZhdisIExhd3llciBBSS4g2KfYudiq2YXYryDYrdi12LHZitmL2Kcg2LnZhNmJINio2YrYp9mG2KfYqiDYp9mE2YXZg9iq2Kgg2KfZhNmF2LHYs9mE2Kkg2YjZhNinINiq2K7Yqtix2Lkg2KPZiiDZgti22YrYqSDYo9mIINmF2YjYudivINij2Ygg2YXYqNmE2LouINin2KjYr9ijINio2K7ZhNin2LXYqSDZiNin2LbYrdipINir2YUg2KfZhNij2YjZhNmI2YrYp9iqINir2YUg2KrYudmE2YrZhdin2Kog2LnZhdmE2YrYqS4g2YTYpyDYqtiv2ZHYuSDYqtmG2YHZitiwINij2Ygg2K3Zgdi4INij2Yog2KXYrNix2KfYoSDZhdinINmE2YUg2KrZhtmB2LDZhyDYo9iv2KfYqSDZgdi52YTZitipLmB9CmZ1bmN0aW9uIHJlbmRlclNoZWxsKCl7c3RhdGU9YXBwLmdldFN0YXRlKCk7Y29uc3Qgc3Q9YXBwLmdldFN0YXRzKCkscmVtYWluaW5nPU1hdGgubWF4KHN0LmJpbGxlZC1zdC5wYWlkLDApO2Vuc3VyZVdlbGNvbWUoKTtjb25zdCByb290PSQoJ2FpRHJhd2VyQ29udGVudCcpO2lmKCFyb290KXJldHVybjtyb290LmlubmVySFRNTD1gPGRpdiBjbGFzcz0iZHJhd2VyLWhlYWQiPjxkaXYgY2xhc3M9ImRyYXdlci1oZWFkLW1haW4iPjxkaXYgY2xhc3M9ImFpLXBlcnNvbmEiPjxpY29uaWZ5LWljb24gaWNvbj0ibGluZS1tZDpnaXRodWItbG9vcCI+PC9pY29uaWZ5LWljb24+PC9kaXY+PGRpdiBjbGFzcz0iZHJhd2VyLWhlYWQtY29weSI+PHNwYW4gY2xhc3M9ImRyYXdlci1raWNrZXIiPtmF2KrYtdmEINio2KjZitin2YbYp9iqINin2YTZhdmD2KrYqDwvc3Bhbj48aDI+2YXYr9mK2LEg2KfZhNmF2YPYqtioINin2YTYsNmD2Yo8L2gyPjxwPtmI2YrYp9mDINmB2Yog2KrYsdiq2YrYqCDYp9mE2YLYttin2YrYpyDZiNiq2YjYrNmK2Ycg2KfZhNmB2LHZitmCINmI2KfYqtiu2KfYsCDYp9mE2K7Yt9mI2Kkg2KfZhNiq2KfZhNmK2KkuPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImRyYXdlci1oZWFkLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9ImRyYXdlci1oZWFkLWFjdGlvbiIgZGF0YS1haS1hY3Rpb249ImNsZWFyIiBhcmlhLWxhYmVsPSLZhdit2KfYr9ir2Kkg2KzYr9mK2K/YqSI+PGljb25pZnktaWNvbiBpY29uPSJsaW5lLW1kOmJhY2t1cC1yZXN0b3JlIj48L2ljb25pZnktaWNvbj48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJkcmF3ZXItY2xvc2UiIGRhdGEtYWktYWN0aW9uPSJjbG9zZSIgYXJpYS1sYWJlbD0i2KXYutmE2KfZgiI+PGljb25pZnktaWNvbiBpY29uPSJsaW5lLW1kOmNsb3NlIj48L2ljb25pZnktaWNvbj48L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJkcmF3ZXItYm9keSI+PGRpdiBjbGFzcz0iYWktYnJpZWYiPjxkaXYgY2xhc3M9ImFpLWh1bWFuLWdyZWV0aW5nIj48c3Bhbj48aWNvbmlmeS1pY29uIGljb249ImxpbmUtbWQ6Z2l0aHViLWxvb3AiPjwvaWNvbmlmeS1pY29uPjwvc3Bhbj48ZGl2PjxiPtmH2YTYpyAke2VzYyh1c2VyTmFtZVRleHQoKSl92Iwg2K7ZhNmR2YbYpyDZhtmF2LPZgyDYtNi62YQg2KfZhNmF2YPYqtioINmI2K3Yr9ipINmI2K3Yr9ipLjwvYj48c21hbGw+2KfZhNiq2K3ZhNmK2YQg2YXYqNmG2Yog2LnZhNmJINio2YrYp9mG2KfYqiDYp9mE2KjYsdmG2KfZhdisINin2YTYrdin2YTZitipLjwvc21hbGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iYWktb2ZmaWNlLXB1bHNlIj48ZGl2IGNsYXNzPSJhaS1wdWxzZS1jYXJkIHRvZGF5Ij48c3Ryb25nPiR7c3QudG9kYXlDYXNlcy5sZW5ndGh9PC9zdHJvbmc+PHNtYWxsPtis2YTYs9in2Kog2KfZhNmK2YjZhTwvc21hbGw+PC9kaXY+PGRpdiBjbGFzcz0iYWktcHVsc2UtY2FyZCB0b21vcnJvdyI+PHN0cm9uZz4ke3N0LnRvbW9ycm93Q2FzZXMubGVuZ3RofTwvc3Ryb25nPjxzbWFsbD7YrNmE2LPYp9iqINio2KfahtixPC9zbWFsbD48L2Rpdj48ZGl2IGNsYXNzPSJhaS1wdWxzZS1jYXJkIHVyZ2VudCI+PHN0cm9uZz4ke3N0LmxhdGUubGVuZ3RofTwvc3Ryb25nPjxzbWFsbD7ZhdmE2YHYp9iqINmF2KrYo9iu2LHYqTwvc21hbGw+PC9kaXY+PGRpdiBjbGFzcz0iYWktcHVsc2UtY2FyZCBtb25leSI+PHN0cm9uZz4ke21vbmV5KHJlbWFpbmluZyl9PC9zdHJvbmc+PHNtYWxsPtmF2KrYqNmC2Yog2K8u2YM8L3NtYWxsPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImFpLXN1Z2dlc3Rpb24td3JhcCI+PGRpdiBjbGFzcz0iYWktc3VnZ2VzdGlvbi10aXRsZSI+PGI+2LTZhtmIINiq2KjZiiDYo9ix2KfYrNi5INmE2YPYnzwvYj48c21hbGw+2KfYtti62Lcg2LnZhNmJINin2YTYp9mC2KrYsdin2K08L3NtYWxsPjwvZGl2PjxkaXYgY2xhc3M9ImFpLWNoaXBzIj48YnV0dG9uIGRhdGEtYWktYWN0aW9uPSJmaWxsIiBkYXRhLXF1ZXN0aW9uPSLYsdiq2Kgg2YTZiiDYo9mI2YTZiNmK2KfYqiDYp9mE2YrZiNmFIj7Yo9mI2YTZiNmK2KfYqiDYp9mE2YrZiNmFPC9idXR0b24+PGJ1dHRvbiBkYXRhLWFpLWFjdGlvbj0iZmlsbCIgZGF0YS1xdWVzdGlvbj0i2KzZh9iyINiq2LnZhNmK2YXYp9iqINin2YTZgdix2YrZgiDZiNmI2LLYuSDYp9mE2YXZh9in2YUiPtiq2LnZhNmK2YXYp9iqINin2YTZgdix2YrZgjwvYnV0dG9uPjxidXR0b24gZGF0YS1haS1hY3Rpb249ImZpbGwiIGRhdGEtcXVlc3Rpb249Itis2YfYstmG2Yog2YTYrNmE2LPYp9iqINin2YTZitmI2YUiPtis2YTYs9in2Kog2KfZhNmK2YjZhTwvYnV0dG9uPjxidXR0b24gZGF0YS1haS1hY3Rpb249ImZpbGwiIGRhdGEtcXVlc3Rpb249Iti02YbZiCDYp9mE2YXYt9mE2YjYqCDZhNiq2KzZh9mK2LIg2KzZhNiz2KfYqiDYqNin2obYsdifIj7Yqtis2YfZitiyINio2KfahtixPC9idXR0b24+PGJ1dHRvbiBkYXRhLWFpLWFjdGlvbj0iZmlsbCIgZGF0YS1xdWVzdGlvbj0i2LHYp9is2Lkg2KfZhNmC2LbYp9mK2Kcg2KfZhNmF2KrYo9iu2LHYqSI+2KfZhNmF2KrYo9iu2LHYp9iqPC9idXR0b24+PGJ1dHRvbiBkYXRhLWFpLWFjdGlvbj0iZmlsbCIgZGF0YS1xdWVzdGlvbj0i2LHYp9is2Lkg2KfZhNmG2YjYp9mC2LUg2KfZhNit2LHYrNipIj7Yp9mE2YbZiNin2YLYtTwvYnV0dG9uPjxidXR0b24gZGF0YS1haS1hY3Rpb249ImZpbGwiIGRhdGEtcXVlc3Rpb249Itix2KfYrNi5INin2YTYqtit2LXZitmEINmI2KfZhNmF2KjYp9mE2Log2KfZhNmF2KrYqNmC2YrYqSI+2KfZhNiq2K3YtdmK2YQ8L2J1dHRvbj48YnV0dG9uIGRhdGEtYWktYWN0aW9uPSJmaWxsIiBkYXRhLXF1ZXN0aW9uPSLZhdmG2Ygg2LnZhNmK2Ycg2YXZh9in2YUg2YXZgdiq2YjYrdip2J8iPtmF2YfYp9mFINin2YTYt9in2YLZhTwvYnV0dG9uPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImFpLWNoYXQiIGlkPSJhaUNoYXQiPjwvZGl2PjxkaXYgY2xhc3M9ImFpLWNvbXBvc2VyIj48ZGl2IGNsYXNzPSJhaS1jb21wb3Nlci1ib3giPjx0ZXh0YXJlYSBpZD0iYWlRdWVzdGlvbiIgcm93cz0iMSIgcGxhY2Vob2xkZXI9ItmF2KvYp9mEOiDYtNmG2Ygg2KPZh9mFIDMg2YXZhNmB2KfYqiDZhNin2LLZhSDYo9iq2K/YrtmEINmB2YrZh9inINin2YTZitmI2YXYnyI+PC90ZXh0YXJlYT48YnV0dG9uIGNsYXNzPSJhaS1zZW5kIiBkYXRhLWFpLWFjdGlvbj0iYXNrIiAke2J1c3k/J2Rpc2FibGVkJzonJ30+PGljb25pZnktaWNvbiBpY29uPSJsaW5lLW1kOnRlbGVncmFtIj48L2ljb25pZnktaWNvbj48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJhaS1jb21wb3Nlci1oaW50Ij48c3Bhbj48aWNvbmlmeS1pY29uIGljb249ImxpbmUtbWQ6c2hpZWxkLWNoZWNrIj48L2ljb25pZnktaWNvbj7Ziti52KrZhdivINi52YTZiSDYqNmK2KfZhtin2Kog2KfZhNmF2YPYqtioINin2YTYrdin2YTZitipPC9zcGFuPjxzcGFuPkVudGVyINmE2YTYpdix2LPYp9mEPC9zcGFuPjwvZGl2PjwvZGl2PjwvZGl2PmA7cmVuZGVyQ29udmVyc2F0aW9uKCk7cHJlcGFyZURyYXdlckludGVyYWN0aW9uKCk7YXBwLmFwcGx5VG9vbHRpcHM/Lihyb290KTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pntjb25zdCBxPSQoJ2FpUXVlc3Rpb24nKTtxPy5mb2N1cygpO3ByZXBhcmVEcmF3ZXJJbnRlcmFjdGlvbigpfSl9CmFzeW5jIGZ1bmN0aW9uIGFzaygpe2lmKGJ1c3kpcmV0dXJuO2NvbnN0IGlucHV0PSQoJ2FpUXVlc3Rpb24nKSxxPVN0cmluZyhpbnB1dD8udmFsdWV8fCcnKS50cmltKCk7aWYoIXEpe2FwcC5zaG93VG9hc3QoJ9in2YPYqtioINiz2KTYp9mE2YMnLCfZgtmEINmE2Yog2LTZhtmIINiq2KjZiiDYo9ix2KfYrNi5INij2Ygg2KPYsdiq2Kgg2YTZgycsJ2luZm8nKTtyZXR1cm59YXBwZW5kKCd1c2VyJyxxLCfYo9mG2Kogwrcg2KfZhNii2YYnKTtpbnB1dC52YWx1ZT0nJztidXN5PXRydWU7cmVuZGVyQ29udmVyc2F0aW9uKCk7bGV0IGFuc3dlcj0nJyxzb3VyY2U9J9iq2K3ZhNmK2YQg2YXYqNin2LTYsSDZhdmGINio2YrYp9mG2KfYqiDYp9mE2YXZg9iq2KgnO3RyeXtzdGF0ZT1hcHAuZ2V0U3RhdGUoKTtjb25zdCByZXN1bHQ9YXdhaXQgY2hhdEFwaShxKTthbnN3ZXI9cmVzdWx0Py5hbnN3ZXJ8fHJlc3VsdD8ubWVzc2FnZXx8cmVzdWx0Py5kYXRhPy5hbnN3ZXJ8fCcnO2lmKCFTdHJpbmcoYW5zd2VyKS50cmltKCkpdGhyb3cgbmV3IEVycm9yKCdlbXB0eScpO3NvdXJjZT0nTGF3eWVyIEFJIMK3IE9wZW5BSSd9Y2F0Y2goXyl7YW5zd2VyPWZhbGxiYWNrKHEpfWJ1c3k9ZmFsc2U7YXBwZW5kKCdhc3Npc3RhbnQnLGFuc3dlcixzb3VyY2UpO3ByZXBhcmVEcmF3ZXJJbnRlcmFjdGlvbigpOyQoJ2FpUXVlc3Rpb24nKT8uZm9jdXMoKX0KY29uc3Qgcm9vdD0kKCdhaURyYXdlckNvbnRlbnQnKTtyb290Py5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZT0+e2NvbnN0IGVsPWUudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWFpLWFjdGlvbl0nKTtpZighZWwpcmV0dXJuO2NvbnN0IGE9ZWwuZGF0YXNldC5haUFjdGlvbjtpZihhPT09J2Nsb3NlJylhcHAuY2xvc2VBSSgpO2Vsc2UgaWYoYT09PSdjbGVhcicpe21lc3NhZ2VzPVtdO2J1c3k9ZmFsc2U7cmVuZGVyU2hlbGwoKTthcHAuc2hvd1RvYXN0KCfZhdit2KfYr9ir2Kkg2KzYr9mK2K/YqScsJ9iq2YUg2KjYr9ihINmF2K3Yp9iv2KvYqSDYrNiv2YrYr9ipLicsJ2luZm8nKX1lbHNlIGlmKGE9PT0nZmlsbCcpe2NvbnN0IGk9JCgnYWlRdWVzdGlvbicpO2lmKGkpaS52YWx1ZT1lbC5kYXRhc2V0LnF1ZXN0aW9ufHwnJzthc2soKX1lbHNlIGlmKGE9PT0nYXNrJylhc2soKX0pOwpyb290Py5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJyxlPT57aWYoZS50YXJnZXQ/LmlkPT09J2FpUXVlc3Rpb24nJiZlLmtleT09PSdFbnRlcicmJiFlLnNoaWZ0S2V5KXtlLnByZXZlbnREZWZhdWx0KCk7YXNrKCl9fSk7CndpbmRvdy5MQVdBSV9BST17b3Blbigpe3N0YXRlPWFwcC5nZXRTdGF0ZSgpO3JlbmRlclNoZWxsKCl9LHJlZnJlc2goKXtzdGF0ZT1hcHAuZ2V0U3RhdGUoKTtpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWlEcmF3ZXInKT8uY2xhc3NMaXN0LmNvbnRhaW5zKCdvcGVuJykpcmVuZGVyU2hlbGwoKX0sb25DbG9zZSgpe319Owp9KSgpOw==